Guide Modding Tools

SwissArmyKnife

Alamo Radioman
Staff member
Joined
Jan 8, 2018
The following tools are used for State of Decay modding:
They are also all packed together in a neat ZIP file found here.

All file links are shared via Google Drive, which provides on-download antivirus scanning.

*For RC339 usage, please refer to Phacops' Custom Vehicles guide found here: https://forums.undeadlabs.com/threads/modding-guide-custom-vehicles.43691/ (link broken) https://www.draakdorei.com/forums/threads/modding-vehicles-phacops-edition.990/

VoiD's SODTools / Nexus Mods Mirror
 
Last edited:

Mystyk

Skilled Survivor
Staff member
Joined
Jan 9, 2018
Location
Australia
Since reinstalling I couldn't remember the settings for QuickBMS so now I use VoiD's SoDTools for extracting. Still works :)
 

YojimBeau

Alamo Leader
Staff member
Joined
Jan 9, 2018
Here it is:

# ZIP files (alternative way) 0.1
# get end of directory and parses central directory
# script for QuickBMS http://quickbms.aluigi.org

goto -0x16
idstring "PK\x05\x06"
get disk_num short
get disk_start short
get central_entries short
get central_entries short
get central_size long
get central_offset long
get comm_len short
getdstring comment comm_len

for i = 0 < central_entries
goto central_offset
idstring "PK\x01\x02"
get ver_made short
get ver_need short
get flag short
get method short
get modtime short
get moddate short
get crc long
get comp_size long
get uncomp_size long
get name_len short
get extra_len short
get comm_len short
get disknum short
get int_attr short
get ext_attr long
get rel_offset long
getdstring name name_len
getdstring extra extra_len
getdstring comment comm_len
savepos central_offset

goto rel_offset
idstring "PK\x03\x04"
get ver short
get flag short
get method short
get modtime short
get moddate short
get crc long
get comp_size long
get uncomp_size long
get name_len short
get extra_len short
getdstring name name_len
getdstring extra extra_len
savepos offset

if method == 0
Log name offset uncomp_size
else
if method == 8
ComType zlib
elif method == 1
ComType unshrink
elif method == 6
ComType explode
elif method == 9
ComType deflate64
elif method == 12
ComType bzip2
elif method == 14
ComType lzmaefs
elif method == 13
ComType XMemDecompress
elif method == 21
ComType XMemDecompress
elif method == 64
ComType darksector
elif method == 98
ComType ppmd
elif method == 99
print "this script doesn't support AES encryption"
cleanexit
else
print "unsupported compression method %method%"
cleanexit
endif
CLog name offset comp_size uncomp_size
endif
next i
 

SwissArmyKnife

Alamo Radioman
Staff member
Joined
Jan 8, 2018
Since reinstalling I couldn't remember the settings for QuickBMS so now I use VoiD's SoDTools for extracting. Still works :)
Alongside Beau's script, there is an ExtractClassic and ExtractYOSE BAT file in the QuickBMS link. The BAT files copy the gamedata.pak, breakdownc.pak, beltwayc.pak file and extract to the desktop under PAK Extraction (similar to SoDET). Edit the C:\ references if you have Steam installed elsewhere, same if you want it extracted elsewhere.
 

VoiD

Missing Survivor
Joined
Jan 25, 2018
Holy poop, I didn't think SoD was still popular. Downloading it again, and I'll be soon poking around in the files again. Any more news on phacops method of map edits?
 

Phacops

Missing Survivor
Joined
Feb 1, 2018
Holy poop, I didn't think SoD was still popular. Downloading it again, and I'll be soon poking around in the files again. Any more news on phacops method of map edits?

Oi, what of it? ;)
 

WillieSea

Alamo Rookie
Joined
Jan 11, 2018
Location
O'Fallon Missouri
I edited the maps by 'adding' lines of code to the relevant base location codes. In that way, I get lights and burning barrels at any base I setup. But if I abandon the base, the lights go away too.
 

Phacops

Missing Survivor
Joined
Feb 1, 2018
I assume the request was for actually modifying the map rather than injecting data objects into the post allocations?

If so: https://forums.undeadlabs.com/threads/fortitude-mod-bases-blood-barricades-savini-snyder-only.39949/page-7#post-843769

Not so much editing the map as replacing it with my own. Able to build new homes with any new terrain, architecture, vehicles, etc.

However, I couldn't edit the Zombie Spawns, so I had to build around them or let them drop to their positions, haha. You'll see from the screenshots that it was usable though ;)


Hopefully SoD 2 doesn't pre-bake all that work, which would allow some sassy sesquipeds to go tweaking all the architecture and vehicles anew. I'm glad they took up the business of armor on vehicles, at least.
 

QMJS

Zed Hunter
Joined
Jan 9, 2018
Location
Eastern USA
Some other things that may be useful:

WinMerge, used to compare files. http://winmerge.org/

Any of these are good, with syntax highlighting that makes it far easier to work with the xml files.
Programmer's Notepad http://www.pnotepad.org/
Notepad ++ https://notepad-plus-plus.org/

You can also load an xml file directly in a browser, and it will highlight/report missing or bad syntax.
 

Mystyk

Skilled Survivor
Staff member
Joined
Jan 9, 2018
Location
Australia
Here it is:

# ZIP files (alternative way) 0.1
# get end of directory and parses central directory
# script for QuickBMS http://quickbms.aluigi.org

goto -0x16
idstring "PK\x05\x06"
get disk_num short
get disk_start short
get central_entries short
get central_entries short
get central_size long
get central_offset long
get comm_len short
getdstring comment comm_len

for i = 0 < central_entries
goto central_offset
idstring "PK\x01\x02"
get ver_made short
get ver_need short
get flag short
get method short
get modtime short
get moddate short
get crc long
get comp_size long
get uncomp_size long
get name_len short
get extra_len short
get comm_len short
get disknum short
get int_attr short
get ext_attr long
get rel_offset long
getdstring name name_len
getdstring extra extra_len
getdstring comment comm_len
savepos central_offset

goto rel_offset
idstring "PK\x03\x04"
get ver short
get flag short
get method short
get modtime short
get moddate short
get crc long
get comp_size long
get uncomp_size long
get name_len short
get extra_len short
getdstring name name_len
getdstring extra extra_len
savepos offset

if method == 0
Log name offset uncomp_size
else
if method == 8
ComType zlib
elif method == 1
ComType unshrink
elif method == 6
ComType explode
elif method == 9
ComType deflate64
elif method == 12
ComType bzip2
elif method == 14
ComType lzmaefs
elif method == 13
ComType XMemDecompress
elif method == 21
ComType XMemDecompress
elif method == 64
ComType darksector
elif method == 98
ComType ppmd
elif method == 99
print "this script doesn't support AES encryption"
cleanexit
else
print "unsupported compression method %method%"
cleanexit
endif
CLog name offset comp_size uncomp_size
endif
next i
Hmm. I thought it was only a couple of lines.
I'll keep it, anyway, as a 2nd option. SoDTools is fine for now šŸ˜Š
 

VoiD

Missing Survivor
Joined
Jan 25, 2018
Thanks phacops and QMJS, I'll have a look :D and mystyk, SoDtools needs some more work. I've gotta push an update soon lmao
 

carlou019

Missing Survivor
Joined
Dec 27, 2018
Is there a way to mod the map in sod 1? You know after you fully looted a building the icons wont change into X
 
Top