Edited by smasher248: Added download thanks to cpt_johnson1 drive.google.com
This is purely for educational purposes, as you can't get geo.
How It Works
It grabs all the entities, structs, and nodes in a map by script and spits them out into a .MAP that can be read by Radiant.
This does not decompile geo, nor generate script_brushmodels.
How To Use It
You'll need to be running +set developer 2, +set developer_script 1, and +set logfile 1 (or 2)
You can either just run the mod because IWD is included, or build MapEntityDump mod IWD manually.
Run any SP or Zombies map.
After a few seconds you'll see in console all the entities in the map being printed out.
NOTE: You'll be sitting at a black screen, this is intended. It stops the game from running any game mode sripts.
NOTE: Ignore any Script Runtime Errors about FX, I'll try to address this in the future.
Once it's done, go into the <root>/mods/MapEntityDump folder and look in console.log
Search for "iwmap4" as this is where the dump starts at.
Select everything down until the end where you see the success message "Map entities saved ( see console.log for info ) "
Copy and paste this into a .MAP
You may want to do some cleanup.
Search for "dvar set cl_network_warning 0"
Replace with empty strings.
Now open the .MAP in Radiant.
What Is Modified
_createmenu.gsc
_debug.gsc
I just renamed calls of NewDebugHudElem() to NewHudElem() since the former isn't available in the public game.
If you run the game with the developer dvars and encounter looping Script Runtime Errors in this script, it's likely because of NewDebugHudElem() calls.
_load.gsc
Call the dump script on every map.
_dump.gsc
Script that will grab everything and dump it into a .MAP format.
_utility.gsc
Changed file prints to write to the logfile.
Misc
This was written and tested in Call of Duty: World at War, but may work in other Call of Duty titles if you take the _dump.gsc
Triggers == 64x64x64 Brushes.
Script_Brusmodels == 32x32x32 Brushes. Default to Brown Case texture unless it's part of a specified system.
Triggers + Script_Brushmodels are temp and not reflective of actual size as you can't get that information from script side.
Log
v1.2 (6/6/2014 3:24:07 PM): Dump Script_Brushmodels
v1.1 (6/6/2014 1:42:25 AM): Dump Action Nodes + Vehicle Nodes + Structs + Texture Triggers Appropriately
v1.0 (6/5/2014 7:55:21 PM): Dump Entities + Nodes + Triggers