Ni3ls
15th December 2015, 12:56
Made finally a git repo out of it: https://github.com/kungfooman/manymaps
It's quite complex, a php script which is calling also zip, luajit and python, which are calling Windows tools with wine (lol).
ATM the project folder is hard coded, make a folder named "project_ns_maps_2" in the repo. Just drop all your .iwd's there and call the script. When everything is setup correctly, you gotta see something like:
714
When everything goes correct, it is generating a directory named /Library (in the project dir aka "project_ns_maps_2").
Well, some example says more than 1000 words:
.
./Library
./Library/empty
./Library/empty/maps
./Library/empty/maps/mp
./Library/empty/maps/mp/mp_activity.csv
./Library/empty/maps/mp/mp_activity.d3dbsp
./Library/empty/maps/mp/mp_atim_v1.csv
./Library/empty/maps/mp/mp_atim_v1.d3dbsp
./Library/empty/maps/mp/mp_colours.csv
./Library/empty/maps/mp/mp_colours.d3dbsp
./Library/empty/maps/mp/mp_combo_v1.csv
./Library/empty/maps/mp/mp_combo_v1.d3dbsp
./Library/empty/maps/mp/mp_dawe_blue_v1.csv
./Library/empty/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/empty/maps/mp/mp_epicfail.csv
./Library/empty/maps/mp/mp_epicfail.d3dbsp
./Library/empty/maps/mp/mp_extreme.csv
./Library/empty/maps/mp/mp_extreme.d3dbsp
./Library/empty/maps/mp/mp_first_v2.csv
./Library/empty/maps/mp/mp_first_v2.d3dbsp
./Library/empty/maps/mp/mp_highspeed.csv
./Library/empty/maps/mp/mp_highspeed.d3dbsp
./Library/empty/maps/mp/mp_its_all_blue_v2.csv
./Library/empty/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/empty/maps/mp/mp_karamel.csv
./Library/empty/maps/mp/mp_karamel.d3dbsp
./Library/empty/maps/mp/mp_mofo.csv
./Library/empty/maps/mp/mp_mofo.d3dbsp
./Library/empty/maps/mp/mp_noko_v2.csv
./Library/empty/maps/mp/mp_noko_v2.d3dbsp
./Library/empty/maps/mp/mp_pacman_world.csv
./Library/empty/maps/mp/mp_pacman_world.d3dbsp
./Library/empty/maps/mp/mp_playground.csv
./Library/empty/maps/mp/mp_playground.d3dbsp
./Library/empty/maps/mp/mp_rush.csv
./Library/empty/maps/mp/mp_rush.d3dbsp
./Library/empty/maps/mp/mp_super_v1.csv
./Library/empty/maps/mp/mp_super_v1.d3dbsp
./Library/empty/maps/mp/mp_yoshi_dawe_v2.csv
./Library/empty/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/empty/materials
./Library/empty/materials/loadscreen_mp_activity
./Library/empty/materials/loadscreen_mp_atim_v1
./Library/empty/materials/loadscreen_mp_colours
./Library/empty/materials/loadscreen_mp_combo_v1
./Library/empty/materials/loadscreen_mp_dawe_blue_v1
./Library/empty/materials/loadscreen_mp_epicfail
./Library/empty/materials/loadscreen_mp_extreme
./Library/empty/materials/loadscreen_mp_first_v2
./Library/empty/materials/loadscreen_mp_highspeed
./Library/empty/materials/loadscreen_mp_its_all_blue_v2
./Library/empty/materials/loadscreen_mp_karamel
./Library/empty/materials/loadscreen_mp_mofo
./Library/empty/materials/loadscreen_mp_noko_v2
./Library/empty/materials/loadscreen_mp_pacman_world
./Library/empty/materials/loadscreen_mp_playground
./Library/empty/materials/loadscreen_mp_rush
./Library/empty/materials/loadscreen_mp_super_v1
./Library/empty/materials/loadscreen_mp_yoshi_dawe_v2
./Library/empty/mp
./Library/empty/mp/mp_activity.arena
./Library/empty/mp/mp_atim_v1.arena
./Library/empty/mp/mp_colours.arena
./Library/empty/mp/mp_combo_v1.arena
./Library/empty/mp/mp_dawe_blue_v1.arena
./Library/empty/mp/mp_epicfail.arena
./Library/empty/mp/mp_extreme.arena
./Library/empty/mp/mp_first_v2.arena
./Library/empty/mp/mp_highspeed.arena
./Library/empty/mp/mp_its_all_blue_v2.arena
./Library/empty/mp/mp_karamel.arena
./Library/empty/mp/mp_mofo.arena
./Library/empty/mp/mp_noko_v2.arena
./Library/empty/mp/mp_pacman_world.arena
./Library/empty/mp/mp_playground.arena
./Library/empty/mp/mp_rush.arena
./Library/empty/mp/mp_super_v1.arena
./Library/empty/mp/mp_yoshi_dawe_v2.arena
./Library/empty.iwd
./Library/mp_activity
./Library/mp_activity/maps
./Library/mp_activity/maps/mp
./Library/mp_activity/maps/mp/mp_activity.csv
./Library/mp_activity/maps/mp/mp_activity.d3dbsp
./Library/mp_activity/materials
./Library/mp_activity/materials/loadscreen_mp_activity
./Library/mp_activity/mp
./Library/mp_activity/mp/mp_activity.arena
./Library/mp_activity.iwd
./Library/mp_atim_v1
./Library/mp_atim_v1/maps
./Library/mp_atim_v1/maps/mp
./Library/mp_atim_v1/maps/mp/mp_atim_v1.csv
./Library/mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./Library/mp_atim_v1/materials
./Library/mp_atim_v1/materials/loadscreen_mp_atim_v1
./Library/mp_atim_v1/mp
./Library/mp_atim_v1/mp/mp_atim_v1.arena
./Library/mp_atim_v1.iwd
./Library/mp_colours
./Library/mp_colours/maps
./Library/mp_colours/maps/mp
./Library/mp_colours/maps/mp/mp_colours.csv
./Library/mp_colours/maps/mp/mp_colours.d3dbsp
./Library/mp_colours/materials
./Library/mp_colours/materials/loadscreen_mp_colours
./Library/mp_colours/mp
./Library/mp_colours/mp/mp_colours.arena
./Library/mp_colours.iwd
./Library/mp_combo_v1
./Library/mp_combo_v1/maps
./Library/mp_combo_v1/maps/mp
./Library/mp_combo_v1/maps/mp/mp_combo_v1.csv
./Library/mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./Library/mp_combo_v1/materials
./Library/mp_combo_v1/materials/loadscreen_mp_combo_v1
./Library/mp_combo_v1/mp
./Library/mp_combo_v1/mp/mp_combo_v1.arena
./Library/mp_combo_v1.iwd
./Library/mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/maps
./Library/mp_dawe_blue_v1/maps/mp
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.csv
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/mp_dawe_blue_v1/materials
./Library/mp_dawe_blue_v1/materials/loadscreen_mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/mp
./Library/mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./Library/mp_dawe_blue_v1.iwd
./Library/mp_epicfail
./Library/mp_epicfail/maps
./Library/mp_epicfail/maps/mp
./Library/mp_epicfail/maps/mp/mp_epicfail.csv
./Library/mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./Library/mp_epicfail/materials
./Library/mp_epicfail/materials/loadscreen_mp_epicfail
./Library/mp_epicfail/mp
./Library/mp_epicfail/mp/mp_epicfail.arena
./Library/mp_epicfail.iwd
./Library/mp_extreme
./Library/mp_extreme/maps
./Library/mp_extreme/maps/mp
./Library/mp_extreme/maps/mp/mp_extreme.csv
./Library/mp_extreme/maps/mp/mp_extreme.d3dbsp
./Library/mp_extreme/materials
./Library/mp_extreme/materials/loadscreen_mp_extreme
./Library/mp_extreme/mp
./Library/mp_extreme/mp/mp_extreme.arena
./Library/mp_extreme.iwd
./Library/mp_first_v2
./Library/mp_first_v2/maps
./Library/mp_first_v2/maps/mp
./Library/mp_first_v2/maps/mp/mp_first_v2.csv
./Library/mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./Library/mp_first_v2/materials
./Library/mp_first_v2/materials/loadscreen_mp_first_v2
./Library/mp_first_v2/mp
./Library/mp_first_v2/mp/mp_first_v2.arena
./Library/mp_first_v2.iwd
./Library/mp_highspeed
./Library/mp_highspeed/maps
./Library/mp_highspeed/maps/mp
./Library/mp_highspeed/maps/mp/mp_highspeed.csv
./Library/mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./Library/mp_highspeed/materials
./Library/mp_highspeed/materials/loadscreen_mp_highspeed
./Library/mp_highspeed/mp
./Library/mp_highspeed/mp/mp_highspeed.arena
./Library/mp_highspeed.iwd
./Library/mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/maps
./Library/mp_its_all_blue_v2/maps/mp
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.csv
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/mp_its_all_blue_v2/materials
./Library/mp_its_all_blue_v2/materials/loadscreen_mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/mp
./Library/mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./Library/mp_its_all_blue_v2.iwd
./Library/mp_karamel
./Library/mp_karamel/maps
./Library/mp_karamel/maps/mp
./Library/mp_karamel/maps/mp/mp_karamel.csv
./Library/mp_karamel/maps/mp/mp_karamel.d3dbsp
./Library/mp_karamel/materials
./Library/mp_karamel/materials/loadscreen_mp_karamel
./Library/mp_karamel/mp
./Library/mp_karamel/mp/mp_karamel.arena
./Library/mp_karamel.iwd
./Library/mp_mofo
./Library/mp_mofo/maps
./Library/mp_mofo/maps/mp
./Library/mp_mofo/maps/mp/mp_mofo.csv
./Library/mp_mofo/maps/mp/mp_mofo.d3dbsp
./Library/mp_mofo/materials
./Library/mp_mofo/materials/loadscreen_mp_mofo
./Library/mp_mofo/mp
./Library/mp_mofo/mp/mp_mofo.arena
./Library/mp_mofo.iwd
./Library/mp_noko_v2
./Library/mp_noko_v2/maps
./Library/mp_noko_v2/maps/mp
./Library/mp_noko_v2/maps/mp/mp_noko_v2.csv
./Library/mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./Library/mp_noko_v2/materials
./Library/mp_noko_v2/materials/loadscreen_mp_noko_v2
./Library/mp_noko_v2/mp
./Library/mp_noko_v2/mp/mp_noko_v2.arena
./Library/mp_noko_v2.iwd
./Library/mp_pacman_world
./Library/mp_pacman_world/maps
./Library/mp_pacman_world/maps/mp
./Library/mp_pacman_world/maps/mp/mp_pacman_world.csv
./Library/mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./Library/mp_pacman_world/materials
./Library/mp_pacman_world/materials/loadscreen_mp_pacman_world
./Library/mp_pacman_world/mp
./Library/mp_pacman_world/mp/mp_pacman_world.arena
./Library/mp_pacman_world.iwd
./Library/mp_playground
./Library/mp_playground/maps
./Library/mp_playground/maps/mp
./Library/mp_playground/maps/mp/mp_playground.csv
./Library/mp_playground/maps/mp/mp_playground.d3dbsp
./Library/mp_playground/materials
./Library/mp_playground/materials/loadscreen_mp_playground
./Library/mp_playground/mp
./Library/mp_playground/mp/mp_playground.arena
./Library/mp_playground.iwd
./Library/mp_rush
./Library/mp_rush/maps
./Library/mp_rush/maps/mp
./Library/mp_rush/maps/mp/mp_rush.csv
./Library/mp_rush/maps/mp/mp_rush.d3dbsp
./Library/mp_rush/materials
./Library/mp_rush/materials/loadscreen_mp_rush
./Library/mp_rush/mp
./Library/mp_rush/mp/mp_rush.arena
./Library/mp_rush.iwd
./Library/mp_super_v1
./Library/mp_super_v1/maps
./Library/mp_super_v1/maps/mp
./Library/mp_super_v1/maps/mp/mp_super_v1.csv
./Library/mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./Library/mp_super_v1/materials
./Library/mp_super_v1/materials/loadscreen_mp_super_v1
./Library/mp_super_v1/mp
./Library/mp_super_v1/mp/mp_super_v1.arena
./Library/mp_super_v1.iwd
./Library/mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/maps
./Library/mp_yoshi_dawe_v2/maps/mp
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.csv
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/mp_yoshi_dawe_v2/materials
./Library/mp_yoshi_dawe_v2/materials/loadscreen_mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/mp
./Library/mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./Library/mp_yoshi_dawe_v2.iwd
./missing
./missing/images
./missing/images/mp_activity.iwi
./missing/images/mp_atim_v1.iwi
./missing/images/mp_colours.iwi
./missing/images/mp_combo_v1.iwi
./missing/images/mp_dawe_blue_v1.iwi
./missing/images/mp_epicfail.iwi
./missing/images/mp_extreme.iwi
./missing/images/mp_first_v2.iwi
./missing/images/mp_highspeed.iwi
./missing/images/mp_its_all_blue_v2.iwi
./missing/images/mp_karamel.iwi
./missing/images/mp_mofo.iwi
./missing/images/mp_noko_v2.iwi
./missing/images/mp_pacman_world.iwi
./missing/images/mp_playground.iwi
./missing/images/mp_rush.iwi
./missing/images/mp_super_v1.iwi
./missing/images/mp_yoshi_dawe_v2.iwi
./missing/materials
./missing/materials/loadscreen_mp_activity
./missing/materials/loadscreen_mp_atim_v1
./missing/materials/loadscreen_mp_colours
./missing/materials/loadscreen_mp_combo_v1
./missing/materials/loadscreen_mp_dawe_blue_v1
./missing/materials/loadscreen_mp_epicfail
./missing/materials/loadscreen_mp_extreme
./missing/materials/loadscreen_mp_first_v2
./missing/materials/loadscreen_mp_highspeed
./missing/materials/loadscreen_mp_its_all_blue_v2
./missing/materials/loadscreen_mp_karamel
./missing/materials/loadscreen_mp_mofo
./missing/materials/loadscreen_mp_noko_v2
./missing/materials/loadscreen_mp_pacman_world
./missing/materials/loadscreen_mp_playground
./missing/materials/loadscreen_mp_rush
./missing/materials/loadscreen_mp_super_v1
./missing/materials/loadscreen_mp_yoshi_dawe_v2
./missing/mp
./mp_activity
./mp_activity/maps
./mp_activity/maps/mp
./mp_activity/maps/mp/mp_activity.d3dbsp
./mp_activity/maps/mp/mp_sure.csv
./mp_activity/maps/mp/mp_sure.gsc
./mp_activity/mp
./mp_activity/mp/mp_activity.arena
./mp_activity.iwd
./mp_atim_v1
./mp_atim_v1/maps
./mp_atim_v1/maps/mp
./mp_atim_v1/maps/mp/_dawe_hud.gsc
./mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./mp_atim_v1/maps/mp/mp_atim_v1.gsc
./mp_atim_v1/mp
./mp_atim_v1/mp/mp_atim_v1.arena
./mp_atim_v1.iwd
./mp_colours
./mp_colours/images
./mp_colours/images/$identitynormalmap.iwi
./mp_colours/images/beed.iwi
./mp_colours/images/lel.iwi
./mp_colours/images/loadscreen_mp_colours.iwi
./mp_colours/images/pillow.iwi
./mp_colours/images/top.iwi
./mp_colours/maps
./mp_colours/maps/mp
./mp_colours/maps/mp/mp_colours.d3dbsp
./mp_colours/maps/mp/mp_colours.gsc
./mp_colours/maps/mp/teleport.gsc
./mp_colours/materials
./mp_colours/materials/beed
./mp_colours/materials/lel
./mp_colours/materials/loadscreen_mp_colours
./mp_colours/materials/pillow
./mp_colours/materials/top
./mp_colours/mp
./mp_colours/mp/mp_colours.arena
./mp_colours.iwd
./mp_combo_v1
./mp_combo_v1/maps
./mp_combo_v1/maps/mp
./mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./mp_combo_v1/maps/mp/mp_combo_v1.gsc
./mp_combo_v1/mp
./mp_combo_v1/mp/mp_combo_v1.arena
./mp_combo_v1.iwd
./mp_dawe_blue_v1
./mp_dawe_blue_v1/maps
./mp_dawe_blue_v1/maps/mp
./mp_dawe_blue_v1/maps/mp/_dawe_hud.gsc
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.gsc
./mp_dawe_blue_v1/mp
./mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./mp_dawe_blue_v1.iwd
./mp_epicfail
./mp_epicfail/maps
./mp_epicfail/maps/mp
./mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./mp_epicfail/maps/mp/mp_epicfail.gsc
./mp_epicfail/maps/mp/teleport.gsc
./mp_epicfail/mp
./mp_epicfail/mp/mp_epicfail.arena
./mp_epicfail/sound
./mp_epicfail/sound/bullseye.mp3
./mp_epicfail/sound/burnz.mp3
./mp_epicfail/sound/gch.wav
./mp_epicfail/soundaliases
./mp_epicfail/soundaliases/sound_bitch.csv
./mp_epicfail/soundaliases/sound_glitch.csv
./mp_epicfail/soundaliases/sound_switch.csv
./mp_epicfail.iwd
./mp_extreme
./mp_extreme/images
./mp_extreme/images/ash.iwi
./mp_extreme/images/nemesis-cobra.iwi
./mp_extreme/maps
./mp_extreme/maps/mp
./mp_extreme/maps/mp/elevator.gsc
./mp_extreme/maps/mp/mp_extreme.d3dbsp
./mp_extreme/maps/mp/mp_extreme.gsc
./mp_extreme/maps/mp/teleport.gsc
./mp_extreme/materials
./mp_extreme/materials/ash
./mp_extreme/materials/nemesis-cobra
./mp_extreme/mp
./mp_extreme/mp/mp_extreme.arena
./mp_extreme.iwd
./mp_first_v2
./mp_first_v2/maps
./mp_first_v2/maps/mp
./mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./mp_first_v2/maps/mp/mp_first_v2.gsc
./mp_first_v2/mp
./mp_first_v2/mp/mp_first_v2.arena
./mp_first_v2.iwd
./mp_highspeed
./mp_highspeed/maps
./mp_highspeed/maps/mp
./mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./mp_highspeed/maps/mp/mp_highspeed.gsc
./mp_highspeed/maps/mp/mp_highspeed_shop.gsc
./mp_highspeed/mp
./mp_highspeed/mp/mp_highspeed.arena
./mp_highspeed/sound
./mp_highspeed/sound/ambient
./mp_highspeed/sound/ambient/amb_yoshi_kong_v2_ext.mp3
./mp_highspeed/soundaliases
./mp_highspeed/soundaliases/mp_highspeed.csv
./mp_highspeed.iwd
./mp_its_all_blue_v2
./mp_its_all_blue_v2/images
./mp_its_all_blue_v2/images/ash.iwi
./mp_its_all_blue_v2/images/beed.iwi
./mp_its_all_blue_v2/images/obsidian.iwi
./mp_its_all_blue_v2/maps
./mp_its_all_blue_v2/maps/mp
./mp_its_all_blue_v2/maps/mp/elevator2.gsc
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.gsc
./mp_its_all_blue_v2/maps/mp/teleport.gsc
./mp_its_all_blue_v2/materials
./mp_its_all_blue_v2/materials/ash
./mp_its_all_blue_v2/materials/beed
./mp_its_all_blue_v2/materials/obsidian
./mp_its_all_blue_v2/mp
./mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./mp_its_all_blue_v2.iwd
./mp_karamel
./mp_karamel/maps
./mp_karamel/maps/mp
./mp_karamel/maps/mp/mp_karamel.d3dbsp
./mp_karamel/maps/mp/mp_karamel.gsc
./mp_karamel/mp
./mp_karamel/mp/mp_karamel.arena
./mp_karamel.iwd
./mp_mofo
./mp_mofo/images
./mp_mofo/images/nemesis-cobra.iwi
./mp_mofo/maps
./mp_mofo/maps/mp
./mp_mofo/maps/mp/mp_mofo.d3dbsp
./mp_mofo/maps/mp/mp_mofo.gsc
./mp_mofo/materials
./mp_mofo/materials/nemesis-cobra
./mp_mofo/mp
./mp_mofo/mp/mp_mofo.arena
./mp_mofo.iwd
./mp_noko_v2
./mp_noko_v2/images
./mp_noko_v2/images/arab_regular_helmet_hands_sp_col.iwi
./mp_noko_v2/images/arab_regular_lod_sp_col.iwi
./mp_noko_v2/images/arab_regular_sadiq_sp_col.iwi
./mp_noko_v2/images/sense.iwi
./mp_noko_v2/maps
./mp_noko_v2/maps/mp
./mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./mp_noko_v2/maps/mp/mp_noko_v2.gsc
./mp_noko_v2/maps/mp/playerhud_v3.gsc
./mp_noko_v2/maps/mp/randomizer.gsc
./mp_noko_v2/materials
./mp_noko_v2/materials/arab_regular_helmet_hands_sp_col
./mp_noko_v2/materials/arab_regular_lod_sp_col
./mp_noko_v2/materials/arab_regular_sadiq_sp_col
./mp_noko_v2/materials/sense
./mp_noko_v2/mp
./mp_noko_v2/mp/mp_noko_v2.arena
./mp_noko_v2/xmodel
./mp_noko_v2/xmodel/sense_arab
./mp_noko_v2/xmodelparts
./mp_noko_v2/xmodelparts/sknhds_zombie_arab3
./mp_noko_v2/xmodelsurfs
./mp_noko_v2/xmodelsurfs/sknhds_zombie_arab3
./mp_noko_v2.iwd
./mp_pacman_world
./mp_pacman_world/maps
./mp_pacman_world/maps/mp
./mp_pacman_world/maps/mp/mp_packman_world.csv
./mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./mp_pacman_world/maps/mp/mp_pacman_world.gsc
./mp_pacman_world/maps/mp/mp_secret.gsc
./mp_pacman_world/mp
./mp_pacman_world/mp/mp_pacman_world.arena
./mp_pacman_world.iwd
./mp_playground
./mp_playground/maps
./mp_playground/maps/mp
./mp_playground/maps/mp/mp_playground.d3dbsp
./mp_playground/maps/mp/mp_playground.gsc
./mp_playground/mp
./mp_playground/mp/mp_playground.arena
./mp_playground.iwd
./mp_rush
./mp_rush/maps
./mp_rush/maps/mp
./mp_rush/maps/mp/mp_rush.d3dbsp
./mp_rush/maps/mp/mp_rush.gsc
./mp_rush/maps/mp/mp_secret.gsc
./mp_rush/mp
./mp_rush/mp/mp_rush.arena
./mp_rush.iwd
./mp_super_v1
./mp_super_v1/maps
./mp_super_v1/maps/mp
./mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./mp_super_v1/maps/mp/mp_super_v1.gsc
./mp_super_v1/mp
./mp_super_v1/mp/mp_super_v1.arena
./mp_super_v1.iwd
./mp_yoshi_dawe_v2
./mp_yoshi_dawe_v2/maps
./mp_yoshi_dawe_v2/maps/mp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.gsc
./mp_yoshi_dawe_v2/mp
./mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./mp_yoshi_dawe_v2.iwd
./tree.txt
190 directories, 329 files
In $project/missing I put all the files, which are implied but weren't actually in the .iwd-file. Then I search them in other .iwd's or make them myself (e.g. loadscreens) and the next run of manymaps.php will copy all the missed files into /Library (so the generated .iwd's from /Library are "ready to ship").
The nice thing about this is, that everything happens in the Browser, so it's easy to spot warnings etc. PHP is pretty easy also, so it should be possible to extend it for custom needs.
Don't give up when you don't understand it in some hours... :D
So this seems a perfect solution. However, I dont understand anything. Can somebody please provide me some extra info how to run etc?
It's quite complex, a php script which is calling also zip, luajit and python, which are calling Windows tools with wine (lol).
ATM the project folder is hard coded, make a folder named "project_ns_maps_2" in the repo. Just drop all your .iwd's there and call the script. When everything is setup correctly, you gotta see something like:
714
When everything goes correct, it is generating a directory named /Library (in the project dir aka "project_ns_maps_2").
Well, some example says more than 1000 words:
.
./Library
./Library/empty
./Library/empty/maps
./Library/empty/maps/mp
./Library/empty/maps/mp/mp_activity.csv
./Library/empty/maps/mp/mp_activity.d3dbsp
./Library/empty/maps/mp/mp_atim_v1.csv
./Library/empty/maps/mp/mp_atim_v1.d3dbsp
./Library/empty/maps/mp/mp_colours.csv
./Library/empty/maps/mp/mp_colours.d3dbsp
./Library/empty/maps/mp/mp_combo_v1.csv
./Library/empty/maps/mp/mp_combo_v1.d3dbsp
./Library/empty/maps/mp/mp_dawe_blue_v1.csv
./Library/empty/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/empty/maps/mp/mp_epicfail.csv
./Library/empty/maps/mp/mp_epicfail.d3dbsp
./Library/empty/maps/mp/mp_extreme.csv
./Library/empty/maps/mp/mp_extreme.d3dbsp
./Library/empty/maps/mp/mp_first_v2.csv
./Library/empty/maps/mp/mp_first_v2.d3dbsp
./Library/empty/maps/mp/mp_highspeed.csv
./Library/empty/maps/mp/mp_highspeed.d3dbsp
./Library/empty/maps/mp/mp_its_all_blue_v2.csv
./Library/empty/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/empty/maps/mp/mp_karamel.csv
./Library/empty/maps/mp/mp_karamel.d3dbsp
./Library/empty/maps/mp/mp_mofo.csv
./Library/empty/maps/mp/mp_mofo.d3dbsp
./Library/empty/maps/mp/mp_noko_v2.csv
./Library/empty/maps/mp/mp_noko_v2.d3dbsp
./Library/empty/maps/mp/mp_pacman_world.csv
./Library/empty/maps/mp/mp_pacman_world.d3dbsp
./Library/empty/maps/mp/mp_playground.csv
./Library/empty/maps/mp/mp_playground.d3dbsp
./Library/empty/maps/mp/mp_rush.csv
./Library/empty/maps/mp/mp_rush.d3dbsp
./Library/empty/maps/mp/mp_super_v1.csv
./Library/empty/maps/mp/mp_super_v1.d3dbsp
./Library/empty/maps/mp/mp_yoshi_dawe_v2.csv
./Library/empty/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/empty/materials
./Library/empty/materials/loadscreen_mp_activity
./Library/empty/materials/loadscreen_mp_atim_v1
./Library/empty/materials/loadscreen_mp_colours
./Library/empty/materials/loadscreen_mp_combo_v1
./Library/empty/materials/loadscreen_mp_dawe_blue_v1
./Library/empty/materials/loadscreen_mp_epicfail
./Library/empty/materials/loadscreen_mp_extreme
./Library/empty/materials/loadscreen_mp_first_v2
./Library/empty/materials/loadscreen_mp_highspeed
./Library/empty/materials/loadscreen_mp_its_all_blue_v2
./Library/empty/materials/loadscreen_mp_karamel
./Library/empty/materials/loadscreen_mp_mofo
./Library/empty/materials/loadscreen_mp_noko_v2
./Library/empty/materials/loadscreen_mp_pacman_world
./Library/empty/materials/loadscreen_mp_playground
./Library/empty/materials/loadscreen_mp_rush
./Library/empty/materials/loadscreen_mp_super_v1
./Library/empty/materials/loadscreen_mp_yoshi_dawe_v2
./Library/empty/mp
./Library/empty/mp/mp_activity.arena
./Library/empty/mp/mp_atim_v1.arena
./Library/empty/mp/mp_colours.arena
./Library/empty/mp/mp_combo_v1.arena
./Library/empty/mp/mp_dawe_blue_v1.arena
./Library/empty/mp/mp_epicfail.arena
./Library/empty/mp/mp_extreme.arena
./Library/empty/mp/mp_first_v2.arena
./Library/empty/mp/mp_highspeed.arena
./Library/empty/mp/mp_its_all_blue_v2.arena
./Library/empty/mp/mp_karamel.arena
./Library/empty/mp/mp_mofo.arena
./Library/empty/mp/mp_noko_v2.arena
./Library/empty/mp/mp_pacman_world.arena
./Library/empty/mp/mp_playground.arena
./Library/empty/mp/mp_rush.arena
./Library/empty/mp/mp_super_v1.arena
./Library/empty/mp/mp_yoshi_dawe_v2.arena
./Library/empty.iwd
./Library/mp_activity
./Library/mp_activity/maps
./Library/mp_activity/maps/mp
./Library/mp_activity/maps/mp/mp_activity.csv
./Library/mp_activity/maps/mp/mp_activity.d3dbsp
./Library/mp_activity/materials
./Library/mp_activity/materials/loadscreen_mp_activity
./Library/mp_activity/mp
./Library/mp_activity/mp/mp_activity.arena
./Library/mp_activity.iwd
./Library/mp_atim_v1
./Library/mp_atim_v1/maps
./Library/mp_atim_v1/maps/mp
./Library/mp_atim_v1/maps/mp/mp_atim_v1.csv
./Library/mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./Library/mp_atim_v1/materials
./Library/mp_atim_v1/materials/loadscreen_mp_atim_v1
./Library/mp_atim_v1/mp
./Library/mp_atim_v1/mp/mp_atim_v1.arena
./Library/mp_atim_v1.iwd
./Library/mp_colours
./Library/mp_colours/maps
./Library/mp_colours/maps/mp
./Library/mp_colours/maps/mp/mp_colours.csv
./Library/mp_colours/maps/mp/mp_colours.d3dbsp
./Library/mp_colours/materials
./Library/mp_colours/materials/loadscreen_mp_colours
./Library/mp_colours/mp
./Library/mp_colours/mp/mp_colours.arena
./Library/mp_colours.iwd
./Library/mp_combo_v1
./Library/mp_combo_v1/maps
./Library/mp_combo_v1/maps/mp
./Library/mp_combo_v1/maps/mp/mp_combo_v1.csv
./Library/mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./Library/mp_combo_v1/materials
./Library/mp_combo_v1/materials/loadscreen_mp_combo_v1
./Library/mp_combo_v1/mp
./Library/mp_combo_v1/mp/mp_combo_v1.arena
./Library/mp_combo_v1.iwd
./Library/mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/maps
./Library/mp_dawe_blue_v1/maps/mp
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.csv
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/mp_dawe_blue_v1/materials
./Library/mp_dawe_blue_v1/materials/loadscreen_mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/mp
./Library/mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./Library/mp_dawe_blue_v1.iwd
./Library/mp_epicfail
./Library/mp_epicfail/maps
./Library/mp_epicfail/maps/mp
./Library/mp_epicfail/maps/mp/mp_epicfail.csv
./Library/mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./Library/mp_epicfail/materials
./Library/mp_epicfail/materials/loadscreen_mp_epicfail
./Library/mp_epicfail/mp
./Library/mp_epicfail/mp/mp_epicfail.arena
./Library/mp_epicfail.iwd
./Library/mp_extreme
./Library/mp_extreme/maps
./Library/mp_extreme/maps/mp
./Library/mp_extreme/maps/mp/mp_extreme.csv
./Library/mp_extreme/maps/mp/mp_extreme.d3dbsp
./Library/mp_extreme/materials
./Library/mp_extreme/materials/loadscreen_mp_extreme
./Library/mp_extreme/mp
./Library/mp_extreme/mp/mp_extreme.arena
./Library/mp_extreme.iwd
./Library/mp_first_v2
./Library/mp_first_v2/maps
./Library/mp_first_v2/maps/mp
./Library/mp_first_v2/maps/mp/mp_first_v2.csv
./Library/mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./Library/mp_first_v2/materials
./Library/mp_first_v2/materials/loadscreen_mp_first_v2
./Library/mp_first_v2/mp
./Library/mp_first_v2/mp/mp_first_v2.arena
./Library/mp_first_v2.iwd
./Library/mp_highspeed
./Library/mp_highspeed/maps
./Library/mp_highspeed/maps/mp
./Library/mp_highspeed/maps/mp/mp_highspeed.csv
./Library/mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./Library/mp_highspeed/materials
./Library/mp_highspeed/materials/loadscreen_mp_highspeed
./Library/mp_highspeed/mp
./Library/mp_highspeed/mp/mp_highspeed.arena
./Library/mp_highspeed.iwd
./Library/mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/maps
./Library/mp_its_all_blue_v2/maps/mp
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.csv
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/mp_its_all_blue_v2/materials
./Library/mp_its_all_blue_v2/materials/loadscreen_mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/mp
./Library/mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./Library/mp_its_all_blue_v2.iwd
./Library/mp_karamel
./Library/mp_karamel/maps
./Library/mp_karamel/maps/mp
./Library/mp_karamel/maps/mp/mp_karamel.csv
./Library/mp_karamel/maps/mp/mp_karamel.d3dbsp
./Library/mp_karamel/materials
./Library/mp_karamel/materials/loadscreen_mp_karamel
./Library/mp_karamel/mp
./Library/mp_karamel/mp/mp_karamel.arena
./Library/mp_karamel.iwd
./Library/mp_mofo
./Library/mp_mofo/maps
./Library/mp_mofo/maps/mp
./Library/mp_mofo/maps/mp/mp_mofo.csv
./Library/mp_mofo/maps/mp/mp_mofo.d3dbsp
./Library/mp_mofo/materials
./Library/mp_mofo/materials/loadscreen_mp_mofo
./Library/mp_mofo/mp
./Library/mp_mofo/mp/mp_mofo.arena
./Library/mp_mofo.iwd
./Library/mp_noko_v2
./Library/mp_noko_v2/maps
./Library/mp_noko_v2/maps/mp
./Library/mp_noko_v2/maps/mp/mp_noko_v2.csv
./Library/mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./Library/mp_noko_v2/materials
./Library/mp_noko_v2/materials/loadscreen_mp_noko_v2
./Library/mp_noko_v2/mp
./Library/mp_noko_v2/mp/mp_noko_v2.arena
./Library/mp_noko_v2.iwd
./Library/mp_pacman_world
./Library/mp_pacman_world/maps
./Library/mp_pacman_world/maps/mp
./Library/mp_pacman_world/maps/mp/mp_pacman_world.csv
./Library/mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./Library/mp_pacman_world/materials
./Library/mp_pacman_world/materials/loadscreen_mp_pacman_world
./Library/mp_pacman_world/mp
./Library/mp_pacman_world/mp/mp_pacman_world.arena
./Library/mp_pacman_world.iwd
./Library/mp_playground
./Library/mp_playground/maps
./Library/mp_playground/maps/mp
./Library/mp_playground/maps/mp/mp_playground.csv
./Library/mp_playground/maps/mp/mp_playground.d3dbsp
./Library/mp_playground/materials
./Library/mp_playground/materials/loadscreen_mp_playground
./Library/mp_playground/mp
./Library/mp_playground/mp/mp_playground.arena
./Library/mp_playground.iwd
./Library/mp_rush
./Library/mp_rush/maps
./Library/mp_rush/maps/mp
./Library/mp_rush/maps/mp/mp_rush.csv
./Library/mp_rush/maps/mp/mp_rush.d3dbsp
./Library/mp_rush/materials
./Library/mp_rush/materials/loadscreen_mp_rush
./Library/mp_rush/mp
./Library/mp_rush/mp/mp_rush.arena
./Library/mp_rush.iwd
./Library/mp_super_v1
./Library/mp_super_v1/maps
./Library/mp_super_v1/maps/mp
./Library/mp_super_v1/maps/mp/mp_super_v1.csv
./Library/mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./Library/mp_super_v1/materials
./Library/mp_super_v1/materials/loadscreen_mp_super_v1
./Library/mp_super_v1/mp
./Library/mp_super_v1/mp/mp_super_v1.arena
./Library/mp_super_v1.iwd
./Library/mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/maps
./Library/mp_yoshi_dawe_v2/maps/mp
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.csv
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/mp_yoshi_dawe_v2/materials
./Library/mp_yoshi_dawe_v2/materials/loadscreen_mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/mp
./Library/mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./Library/mp_yoshi_dawe_v2.iwd
./missing
./missing/images
./missing/images/mp_activity.iwi
./missing/images/mp_atim_v1.iwi
./missing/images/mp_colours.iwi
./missing/images/mp_combo_v1.iwi
./missing/images/mp_dawe_blue_v1.iwi
./missing/images/mp_epicfail.iwi
./missing/images/mp_extreme.iwi
./missing/images/mp_first_v2.iwi
./missing/images/mp_highspeed.iwi
./missing/images/mp_its_all_blue_v2.iwi
./missing/images/mp_karamel.iwi
./missing/images/mp_mofo.iwi
./missing/images/mp_noko_v2.iwi
./missing/images/mp_pacman_world.iwi
./missing/images/mp_playground.iwi
./missing/images/mp_rush.iwi
./missing/images/mp_super_v1.iwi
./missing/images/mp_yoshi_dawe_v2.iwi
./missing/materials
./missing/materials/loadscreen_mp_activity
./missing/materials/loadscreen_mp_atim_v1
./missing/materials/loadscreen_mp_colours
./missing/materials/loadscreen_mp_combo_v1
./missing/materials/loadscreen_mp_dawe_blue_v1
./missing/materials/loadscreen_mp_epicfail
./missing/materials/loadscreen_mp_extreme
./missing/materials/loadscreen_mp_first_v2
./missing/materials/loadscreen_mp_highspeed
./missing/materials/loadscreen_mp_its_all_blue_v2
./missing/materials/loadscreen_mp_karamel
./missing/materials/loadscreen_mp_mofo
./missing/materials/loadscreen_mp_noko_v2
./missing/materials/loadscreen_mp_pacman_world
./missing/materials/loadscreen_mp_playground
./missing/materials/loadscreen_mp_rush
./missing/materials/loadscreen_mp_super_v1
./missing/materials/loadscreen_mp_yoshi_dawe_v2
./missing/mp
./mp_activity
./mp_activity/maps
./mp_activity/maps/mp
./mp_activity/maps/mp/mp_activity.d3dbsp
./mp_activity/maps/mp/mp_sure.csv
./mp_activity/maps/mp/mp_sure.gsc
./mp_activity/mp
./mp_activity/mp/mp_activity.arena
./mp_activity.iwd
./mp_atim_v1
./mp_atim_v1/maps
./mp_atim_v1/maps/mp
./mp_atim_v1/maps/mp/_dawe_hud.gsc
./mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./mp_atim_v1/maps/mp/mp_atim_v1.gsc
./mp_atim_v1/mp
./mp_atim_v1/mp/mp_atim_v1.arena
./mp_atim_v1.iwd
./mp_colours
./mp_colours/images
./mp_colours/images/$identitynormalmap.iwi
./mp_colours/images/beed.iwi
./mp_colours/images/lel.iwi
./mp_colours/images/loadscreen_mp_colours.iwi
./mp_colours/images/pillow.iwi
./mp_colours/images/top.iwi
./mp_colours/maps
./mp_colours/maps/mp
./mp_colours/maps/mp/mp_colours.d3dbsp
./mp_colours/maps/mp/mp_colours.gsc
./mp_colours/maps/mp/teleport.gsc
./mp_colours/materials
./mp_colours/materials/beed
./mp_colours/materials/lel
./mp_colours/materials/loadscreen_mp_colours
./mp_colours/materials/pillow
./mp_colours/materials/top
./mp_colours/mp
./mp_colours/mp/mp_colours.arena
./mp_colours.iwd
./mp_combo_v1
./mp_combo_v1/maps
./mp_combo_v1/maps/mp
./mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./mp_combo_v1/maps/mp/mp_combo_v1.gsc
./mp_combo_v1/mp
./mp_combo_v1/mp/mp_combo_v1.arena
./mp_combo_v1.iwd
./mp_dawe_blue_v1
./mp_dawe_blue_v1/maps
./mp_dawe_blue_v1/maps/mp
./mp_dawe_blue_v1/maps/mp/_dawe_hud.gsc
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.gsc
./mp_dawe_blue_v1/mp
./mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./mp_dawe_blue_v1.iwd
./mp_epicfail
./mp_epicfail/maps
./mp_epicfail/maps/mp
./mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./mp_epicfail/maps/mp/mp_epicfail.gsc
./mp_epicfail/maps/mp/teleport.gsc
./mp_epicfail/mp
./mp_epicfail/mp/mp_epicfail.arena
./mp_epicfail/sound
./mp_epicfail/sound/bullseye.mp3
./mp_epicfail/sound/burnz.mp3
./mp_epicfail/sound/gch.wav
./mp_epicfail/soundaliases
./mp_epicfail/soundaliases/sound_bitch.csv
./mp_epicfail/soundaliases/sound_glitch.csv
./mp_epicfail/soundaliases/sound_switch.csv
./mp_epicfail.iwd
./mp_extreme
./mp_extreme/images
./mp_extreme/images/ash.iwi
./mp_extreme/images/nemesis-cobra.iwi
./mp_extreme/maps
./mp_extreme/maps/mp
./mp_extreme/maps/mp/elevator.gsc
./mp_extreme/maps/mp/mp_extreme.d3dbsp
./mp_extreme/maps/mp/mp_extreme.gsc
./mp_extreme/maps/mp/teleport.gsc
./mp_extreme/materials
./mp_extreme/materials/ash
./mp_extreme/materials/nemesis-cobra
./mp_extreme/mp
./mp_extreme/mp/mp_extreme.arena
./mp_extreme.iwd
./mp_first_v2
./mp_first_v2/maps
./mp_first_v2/maps/mp
./mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./mp_first_v2/maps/mp/mp_first_v2.gsc
./mp_first_v2/mp
./mp_first_v2/mp/mp_first_v2.arena
./mp_first_v2.iwd
./mp_highspeed
./mp_highspeed/maps
./mp_highspeed/maps/mp
./mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./mp_highspeed/maps/mp/mp_highspeed.gsc
./mp_highspeed/maps/mp/mp_highspeed_shop.gsc
./mp_highspeed/mp
./mp_highspeed/mp/mp_highspeed.arena
./mp_highspeed/sound
./mp_highspeed/sound/ambient
./mp_highspeed/sound/ambient/amb_yoshi_kong_v2_ext.mp3
./mp_highspeed/soundaliases
./mp_highspeed/soundaliases/mp_highspeed.csv
./mp_highspeed.iwd
./mp_its_all_blue_v2
./mp_its_all_blue_v2/images
./mp_its_all_blue_v2/images/ash.iwi
./mp_its_all_blue_v2/images/beed.iwi
./mp_its_all_blue_v2/images/obsidian.iwi
./mp_its_all_blue_v2/maps
./mp_its_all_blue_v2/maps/mp
./mp_its_all_blue_v2/maps/mp/elevator2.gsc
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.gsc
./mp_its_all_blue_v2/maps/mp/teleport.gsc
./mp_its_all_blue_v2/materials
./mp_its_all_blue_v2/materials/ash
./mp_its_all_blue_v2/materials/beed
./mp_its_all_blue_v2/materials/obsidian
./mp_its_all_blue_v2/mp
./mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./mp_its_all_blue_v2.iwd
./mp_karamel
./mp_karamel/maps
./mp_karamel/maps/mp
./mp_karamel/maps/mp/mp_karamel.d3dbsp
./mp_karamel/maps/mp/mp_karamel.gsc
./mp_karamel/mp
./mp_karamel/mp/mp_karamel.arena
./mp_karamel.iwd
./mp_mofo
./mp_mofo/images
./mp_mofo/images/nemesis-cobra.iwi
./mp_mofo/maps
./mp_mofo/maps/mp
./mp_mofo/maps/mp/mp_mofo.d3dbsp
./mp_mofo/maps/mp/mp_mofo.gsc
./mp_mofo/materials
./mp_mofo/materials/nemesis-cobra
./mp_mofo/mp
./mp_mofo/mp/mp_mofo.arena
./mp_mofo.iwd
./mp_noko_v2
./mp_noko_v2/images
./mp_noko_v2/images/arab_regular_helmet_hands_sp_col.iwi
./mp_noko_v2/images/arab_regular_lod_sp_col.iwi
./mp_noko_v2/images/arab_regular_sadiq_sp_col.iwi
./mp_noko_v2/images/sense.iwi
./mp_noko_v2/maps
./mp_noko_v2/maps/mp
./mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./mp_noko_v2/maps/mp/mp_noko_v2.gsc
./mp_noko_v2/maps/mp/playerhud_v3.gsc
./mp_noko_v2/maps/mp/randomizer.gsc
./mp_noko_v2/materials
./mp_noko_v2/materials/arab_regular_helmet_hands_sp_col
./mp_noko_v2/materials/arab_regular_lod_sp_col
./mp_noko_v2/materials/arab_regular_sadiq_sp_col
./mp_noko_v2/materials/sense
./mp_noko_v2/mp
./mp_noko_v2/mp/mp_noko_v2.arena
./mp_noko_v2/xmodel
./mp_noko_v2/xmodel/sense_arab
./mp_noko_v2/xmodelparts
./mp_noko_v2/xmodelparts/sknhds_zombie_arab3
./mp_noko_v2/xmodelsurfs
./mp_noko_v2/xmodelsurfs/sknhds_zombie_arab3
./mp_noko_v2.iwd
./mp_pacman_world
./mp_pacman_world/maps
./mp_pacman_world/maps/mp
./mp_pacman_world/maps/mp/mp_packman_world.csv
./mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./mp_pacman_world/maps/mp/mp_pacman_world.gsc
./mp_pacman_world/maps/mp/mp_secret.gsc
./mp_pacman_world/mp
./mp_pacman_world/mp/mp_pacman_world.arena
./mp_pacman_world.iwd
./mp_playground
./mp_playground/maps
./mp_playground/maps/mp
./mp_playground/maps/mp/mp_playground.d3dbsp
./mp_playground/maps/mp/mp_playground.gsc
./mp_playground/mp
./mp_playground/mp/mp_playground.arena
./mp_playground.iwd
./mp_rush
./mp_rush/maps
./mp_rush/maps/mp
./mp_rush/maps/mp/mp_rush.d3dbsp
./mp_rush/maps/mp/mp_rush.gsc
./mp_rush/maps/mp/mp_secret.gsc
./mp_rush/mp
./mp_rush/mp/mp_rush.arena
./mp_rush.iwd
./mp_super_v1
./mp_super_v1/maps
./mp_super_v1/maps/mp
./mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./mp_super_v1/maps/mp/mp_super_v1.gsc
./mp_super_v1/mp
./mp_super_v1/mp/mp_super_v1.arena
./mp_super_v1.iwd
./mp_yoshi_dawe_v2
./mp_yoshi_dawe_v2/maps
./mp_yoshi_dawe_v2/maps/mp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.gsc
./mp_yoshi_dawe_v2/mp
./mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./mp_yoshi_dawe_v2.iwd
./tree.txt
190 directories, 329 files
In $project/missing I put all the files, which are implied but weren't actually in the .iwd-file. Then I search them in other .iwd's or make them myself (e.g. loadscreens) and the next run of manymaps.php will copy all the missed files into /Library (so the generated .iwd's from /Library are "ready to ship").
The nice thing about this is, that everything happens in the Browser, so it's easy to spot warnings etc. PHP is pretty easy also, so it should be possible to extend it for custom needs.
Don't give up when you don't understand it in some hours... :D
So this seems a perfect solution. However, I dont understand anything. Can somebody please provide me some extra info how to run etc?