1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SR2 modding for dummies

Discussion in 'Guides and Tutorials' started by SuperNull, Jun 29, 2012.

  1. Allright, since this part of the forum is shockingly empty, I'll post how I learned to mod SR2;

    1. Read and follow this chat transcript

    Read this carefully and follow the instructions. It should make it clear to you how to manipulate *.vpp_pc and craft your own, modified game patch file using the tools provided by http://blog.gib.me
    Code:
    Chat transcript IdolNinja teaching curly haired boy how to mod Saints Row 2
     
    Curly haired boy: So, what programs do i need?
    IdolNinja: gibbed's modding tools
    IdolNinja: first you need to understand how it works
    IdolNinja: generally
    curly haired boy: ok
    IdolNinja: alrighty
    IdolNinja: an overview of the basics of how it works
    IdolNinja: you extract the contents of a couple of files in your sr2 directory
    IdolNinja: into a seperate folder
    IdolNinja: each file is a text file that is editable
    IdolNinja: you copy one of the files to a "modified" directory
    IdolNinja: and make your changes to it
    IdolNinja: you then use a tool which will compile the changes into a patch.vpp_pc file
    IdolNinja: replace that file in your directory and run the game
    IdolNinja: and that's it
    IdolNinja: simple huh?
    curly haired boy: simple doesn't mean easy :P
    IdolNinja: haha right
    IdolNinja: it will be though trust me
    curly haired boy: :D
    IdolNinja: first thing you'll need to do is create a folder to use
    IdolNinja: i call mine sr2mod
    IdolNinja: at the root of one of my data drives
    IdolNinja: call yours the same so we're talking the same language
    curly haired boy: will do
    IdolNinja: let me know when you're accomplished this
    IdolNinja: herculean task
    curly haired boy: sr2mod
    curly haired boy: XD
    curly haired boy: me/ alt+tabs
    IdolNinja: problems?
    curly haired boy: nope
    curly haired boy: just picking a drive to put it on :P
    IdolNinja: I am timing you
    IdolNinja: be quick
    curly haired boy: XD
    IdolNinja: you'll be graded on performance after you finish the level
    curly haired boy: lol
    curly haired boy: done
    IdolNinja: in your new sr2mod folder create some subfolders
    IdolNinja: extracted
    IdolNinja: modified
    IdolNinja: original
    IdolNinja: SR2WIP
    curly haired boy: ok
    IdolNinja: http://blog.gib.me/wp-content/uploads/2009/02/binaries-svn-rev10.zip
    IdolNinja: donwload the tools from gibbed, and extract them to the root of your sr2 mod folder
    IdolNinja: http://img5.imageshack.us/img5/4333/gibbed.jpg
    IdolNinja: should look something like that
    IdolNinja: there's some extra junk in there I put in for testing some stuff
    IdolNinja: don't worry about it
    IdolNinja: yet
    curly haired boy: ok
    curly haired boy: done
    IdolNinja: go to your sr2 installed game directory and copy your ORIGINAL common.vpp_pc and patch.vpp_pc files to the new ..\sr2mod\original folder
    IdolNinja: make sure they are not the modded ones we've been testing, but your original ones installed with the game
    curly haired boy: i renamed those .old
    curly haired boy: gotcha
    IdolNinja: after they are copied to ..\sr2mod\original, make sure to rename them back to their original names (remove the .old extension)
    curly haired boy: right
    IdolNinja: run Gibbed.SaintsRow2.ExtractPackage
    curly haired boy: what will that do?
    IdolNinja: It's going to extract the contents of the original .vpp_pc files
    IdolNinja: so that we can edit them
    curly haired boy: ahh
    IdolNinja: oh one thing before you continue
    curly haired boy: yes?
    IdolNinja: just leave that window up with the extractor
    curly haired boy: ok
    IdolNinja: create two subfolders in ..\sr2mod\extracted
    IdolNinja: name one folder: common
    IdolNinja: the other name: patch
    IdolNinja: E:\sr2mod\extracted\common
    IdolNinja: E:\sr2mod\extracted\patch
    IdolNinja: those are mine
    IdolNinja: as you can probably guess, we are going run the tool twice. Once to extract common.vpp_pc to the ..\sr2mod\extracted\common folder
    IdolNinja: and then a second time to extract patch.vpp_pc to the ..\sr2mod\extracted\patch folder
    IdolNinja: so go to your extraction tool that should still be up (if not, run it again)
    IdolNinja: Click the Extraction button
    IdolNinja: browse to your ..\sr2mod\original\ folder and choose common.vpp_pc
    IdolNinja: then extract it to your new ..\sr2mod\extracted\common folder
    IdolNinja: run it again and do the same again for patch
    IdolNinja: with patch_vpp.pc
    IdolNinja: and extract it to the ..\sr2mod\extracted\patch folder
    IdolNinja: make sense so far?
    curly haired boy: so far
    curly haired boy: i'm a little behind in steps
    curly haired boy: but catching up
    IdolNinja: I'll wait
    IdolNinja: tapping my foot
    curly haired boy: so i double click the extractpackage
    IdolNinja: yes
    curly haired boy: and a window comes up
    IdolNinja: and click the extract button
    curly haired boy: ok
    IdolNinja: and browse to sr2mod/original/common.vpp_pc
    IdolNinja: and select it
    curly haired boy: ahhh
    curly haired boy: it's working
    IdolNinja: so far so good
    IdolNinja: http://img43.imageshack.us/img43/9223/gibbed2.jpg
    IdolNinja: and it looks something like that when it's finished
    curly haired boy: do the same with the other ?
    curly haired boy: the patch?
    IdolNinja: exactly
    IdolNinja: extract the original patch file to ..\sr2mod\extracted\patch
    IdolNinja: all these files control how the world of sr2 works
    IdolNinja: let me know when it's extracted
    curly haired boy: done and done
    IdolNinja: right on
    IdolNinja: now... the extracted folder
    IdolNinja: and its subfolders (..\sr2mod\extracted\comman and ..\sr2mod\extracted\patch
    IdolNinja: NEVER MODIFY THESE FILES
    IdolNinja: these are the original ones
    IdolNinja: and we always want them clean
    curly haired boy: ok
    IdolNinja: ok, got to..\sr2mod
    IdolNinja: the root where the tools are
    IdolNinja: create a new text file and call it build.bat
    IdolNinja: windows will honk at you about changing the txt extension, but ignore that
    curly haired boy: didn't for me
    IdolNinja: then you probably have file extensions turned off in your view
    IdolNinja: and the actual file name you created is build.bat.txt
    curly haired boy: that's what it is, yeah
    IdolNinja: change that in your view menu so you can see all the extensions
    IdolNinja: and let me know when the file name has been corrected
    curly haired boy: done
    IdolNinja: right click on build.bat and select Edit
    IdolNinja: should open it up in notepad
    IdolNinja: and it should be empty
    curly haired boy: it does
    curly haired boy: yep
    IdolNinja: Gibbed.SaintsRow2.BuildPackage.exe "patch.vpp_pc" "modified" "extracted\patch"
    IdolNinja: paste that command in the batch file and then save and close
    curly haired boy: done
    IdolNinja: here's where it gets interesting
    IdolNinja: ..\sr2mod\modified is the folder we will copy various .xtbl files to edit them
    IdolNinja: don't run this yet, but
    IdolNinja: when you run your new build.bat batch file, what it does is compiles a new patch.vpp_pc and uses any new modified files in your sr2mod\modified directory, along with all the original ones
    IdolNinja: so
    IdolNinja: let's say you copy a file from one of the extracted folders
    curly haired boy: yeah
    IdolNinja: one of the orignal .xtbl files
    IdolNinja: and put the copy in ..\sr2\modified
    IdolNinja: then change a line in the copied .xtbl file and save it. then run the build.bat
    curly haired boy: yeah
    IdolNinja: it will recompile the patch with the new version of that file
    curly haired boy: the bat should compile it
    IdolNinja: and all the old files too
    IdolNinja: from the extracted folder
    IdolNinja: yes, that .bat (batch file) will compile it
    IdolNinja: build.bat
    IdolNinja: So, let's make a simple change and compile a new patch
    curly haired boy: ok
    IdolNinja: look for weapons.xtbl in the ..\sr2mod\extracted\common folder
    IdolNinja: and copy it (don't move it) to your ..\sr2mod\modified folder
    IdolNinja: btw .xtbl files are xml table files
    IdolNinja: they are plain text
    IdolNinja: let me know when it's copied
    curly haired boy: should i have folders in modified?
    IdolNinja: no
    IdolNinja: it should be empty
    IdolNinja: except for the copied weapons.xtbl file
    curly haired boy: copied
    IdolNinja: double click and open it
    IdolNinja: it will probably ask you to choose an application
    curly haired boy: windows doesn't know what to do
    curly haired boy: right
    IdolNinja: browse you're programs and choose notepad
    IdolNinja: and tell it to always use notepad to open .xtbl files
    curly haired boy: done and done!
    IdolNinja: you should see a bunch of gobbledygook
    IdolNinja: <root>
    <Table>
    <Weapon>
    <Name>heli_fighter_01</Name>
    <Weapon_Class>vehicle</Weapon_Class>
    <Trigger_Type>burst</Trigger_Type>
    <Magazine_Size>100</Magazine_Size>
    <Range_Max>225</Range_Max>
    <Sound_Radius>150</Sound_Radius>
    <Damage_Max>
    curly haired boy: i see VARIABLES
    IdolNinja: right
    curly haired boy: :D
    IdolNinja: or the technical term
    IdolNinja: gobbledygook
    curly haired boy: XD
    IdolNinja: have you ever done anything in html?
    IdolNinja: or xml?
    curly haired boy: some in html
    IdolNinja: ah ok
    curly haired boy: nothing in xml
    IdolNinja: so you know that something like <start> bunch of crap </start>
    IdolNinja: signifies a section
    IdolNinja: like forum posting
    curly haired boy: yeah
    IdolNinja: with tags
    curly haired boy: yep
    IdolNinja: let's find a weapon to modify
    curly haired boy: how bout the first one
    curly haired boy: i believe that's the heli cannon
    IdolNinja: that's a complcated one
    IdolNinja: let's start with something easy
    IdolNinja: <Name>glock</Name>
    IdolNinja: search for that
    IdolNinja: should be the first line of the weapon definition
    IdolNinja: for the glock
    curly haired boy: done
    IdolNinja: I'll bet you can already see some fun stuff to change
    IdolNinja: let's make a few basic changes
    curly haired boy: yeaaah :D
    IdolNinja: just for fun
    IdolNinja: Magazine_Size to 15
    IdolNinja: since it's 12 now
    curly haired boy: 1200
    curly haired boy: :D
    IdolNinja: careful
    IdolNinja: the ammo pool is declared in a different file (ammo.xtbl)
    curly haired boy: but don't i have infinite ammo?
    IdolNinja: and if the clip is bigger than the pool it will cause problems
    curly haired boy: oh
    IdolNinja: it's weird that way
    IdolNinja: and we can look at the ammo file later
    curly haired boy: 55 it is
    IdolNinja: cool
    IdolNinja: <Ragdoll_Force_Shoot>150</Ragdoll_Force_Shoot>
    IdolNinja: that's a fun one
    curly haired boy: 45 kojillion
    IdolNinja: that's how I made the orbital launcher
    IdolNinja: 9000 blows someone across the street
    IdolNinja: 50000 is the one I put on the launcher
    curly haired boy: hahahah :D
    IdolNinja: so change that to something around there
    IdolNinja: just for testing
    curly haired boy: 20000
    IdolNinja: sure
    IdolNinja: see the Meleeattacks section?
    curly haired boy: i do
    IdolNinja: what i did for the pimpslap was just copypaste the pimp slap definitions (from later in the file) into that section
    IdolNinja: and replaced the ones that are there
    IdolNinja: so your melee smacks people sky high with the gun
    IdolNinja: want to try it?
    curly haired boy: hmm
    curly haired boy: no, i think i'll just adjust the RANGE :D
    IdolNinja: haha ok
    IdolNinja: <Muzzle_Effect>muzz_handgun_nl</Muzzle_Effect>
    IdolNinja: that's how I changed the muzzle flashes
    curly haired boy: ahh
    curly haired boy: pretty straightforward, this. :)
    IdolNinja: minimize this for a second and I want you to open another file
    curly haired boy: ok
    IdolNinja: in \extracted\common
    IdolNinja: open effects.xtbl
    IdolNinja: DO NOT CHANGE THIS FILE
    IdolNinja: this is our reference
    IdolNinja: for the different effects we can use for the muzzle
    curly haired boy: ahh
    IdolNinja: search it for blood
    curly haired boy: so i could just put minigun_barrel in there
    IdolNinja: to be clear, you change NOTHING in effects.xtbl
    IdolNinja: you just lookup what the names are of stuff you can change in weapons.xtbl
    IdolNinja: just to be clear
    curly haired boy: yeah, i mean i could copy minigun_barrel
    IdolNinja: here's the thing though
    IdolNinja: well the minigun is weird
    IdolNinja: most of the muzzle flashes you see with it are actual tracer stuff
    IdolNinja: we'll talk about that in the advanced course
    curly haired boy: ah
    curly haired boy: XD
    IdolNinja: for now, let's choose a simple one
    IdolNinja: search for blood
    IdolNinja: we'll make the muzzle flash bleed all over
    IdolNinja: just for kicks
    curly haired boy: blood_headshot
    curly haired boy: copy that?
    IdolNinja: let's try it
    IdolNinja: it will be within the <name> brackets
    curly haired boy: the name part, or the filename?
    curly haired boy: ah, ok
    IdolNinja: <Name>blood_headshot</Name>
    IdolNinja: we are going to use blood_headshot
    curly haired boy: done and done!
    IdolNinja: and copy it to the muzzle flash variable in weapons.xtbl
    curly haired boy: yup
    IdolNinja: <Muzzle_Effect>blood_headshot</Muzzle_Effect>
    IdolNinja: should look like that now
    curly haired boy: yep
    IdolNinja: the next interesting section is <Flags>
    IdolNinja: right now, the only flag is dual weildable
    IdolNinja: do you see it?
    IdolNinja: <Flags>
    <Flag>dual wieldable</Flag>
    </Flags>
    IdolNinja: in the glock defintion
    IdolNinja: in weapons.xtbl
    curly haired boy: i do
    curly haired boy: it's just below the spread multis
    IdolNinja: we can add extra flags to it
    curly haired boy: oooooo :D
    IdolNinja: what I want you to do is search on something in the file (it's near the bottom)
    IdolNinja: Search for
    IdolNinja: <Description>Flags for this weapon.</Description>
    curly haired boy: sweet
    IdolNinja: they are all pretty self explanatory
    IdolNinja: let's pick one to use with our new improved glock
    IdolNinja: lethal melee might be fun
    IdolNinja: I've never tried that one
    curly haired boy: ok
    IdolNinja: so copy the line and search again from the top for glock to get back to our weapon definition
    curly haired boy: done and done
    curly haired boy: added it to flags
    IdolNinja: and paste it into the flags section
    IdolNinja: <Flags>
    <Flag>dual wieldable</Flag>
    <Flag>lethal melee</Flag>
    </Flags>
    IdolNinja: should look like that
    curly haired boy: yep
    IdolNinja: let's knock Refire_delay donwn to 50
    IdolNinja: so it shoots fast
    curly haired boy: yay
    IdolNinja: and now comes the fun part
    IdolNinja: <Audio>
    curly haired boy: :D
    IdolNinja: just like effects.xtbl is our graphic effects refernce, we will be using a sound reference file to find the names of sound effects we can use
    IdolNinja: to look up stuff we can try
    IdolNinja: once again, in the extracted\common folder, it's called foley.xtbl
    IdolNinja: so open it up
    IdolNinja: DO NOT CHANGE IT
    IdolNinja: we're just going to look stuff up
    IdolNinja: like we did with effects.xtbl
    curly haired boy: kk
    IdolNinja: <root>
    <Table>
    <Foley>
    <Name>SFX_EXP_FLASHBANG</Name>
    <AudioBanks>Other InMemory</AudioBanks>
    <_Editor>
    IdolNinja: that's the first entry
    curly haired boy: yep
    IdolNinja: once again, between the <Name> tags is what we want
    IdolNinja: that defines the sound that's heard
    IdolNinja: so SFX_EXP_FLASHBANG is probably the sound fx for the flashbang explosion
    IdolNinja: that weeee and muffled sound thing
    curly haired boy: cool
    curly haired boy: :D
    curly haired boy: let's try that
    IdolNinja: actually I have a better idea
    IdolNinja: but first
    IdolNinja: SFX_DTH_
    IdolNinja: see those definitions?
    IdolNinja: the 2nd one is one
    IdolNinja: SFX_DTH_DRUGSTILL
    curly haired boy: ok
    IdolNinja: took me a bit figure out what those were
    IdolNinja: DTH is death
    IdolNinja: it's the destruction of the ojbect
    IdolNinja: the sound it makes
    curly haired boy: ahh
    IdolNinja: SFX_DTH_FENCE
    curly haired boy: XD
    IdolNinja: would be the fence destroyed
    IdolNinja: there's one called something gasp
    IdolNinja: I think it's a crowd gasping
    curly haired boy: i'll try that one :D
    IdolNinja: I think it would be a funny sound to use
    IdolNinja: going to find it yourself and change?
    curly haired boy: already done
    curly haired boy: already edited
    IdolNinja: haha!
    IdolNinja: I knew you could do it
    IdolNinja: you could find some other ones for alt attack
    IdolNinja: or reload
    curly haired boy: etc.
    IdolNinja: some won't work FYI
    curly haired boy: i want to test now! :D
    IdolNinja: haha ok
    IdolNinja: let's go back to weapons.xtbl then
    IdolNinja: it all looks pretty good for me
    IdolNinja: oh, want to make it a rapid fire gun?
    IdolNinja: automatic?
    curly haired boy: sure
    IdolNinja: near the top of the glock definition is a tag called Trigger_Type
    IdolNinja: change single to rapid
    curly haired boy: sweet
    IdolNinja: I found that by looking at the kobra definition and saw that
    IdolNinja: there's also continuous
    IdolNinja: which is I believe used for the minigun
    IdolNinja: anyways,
    IdolNinja: save the file
    curly haired boy: yep
    IdolNinja: run build.bat
    IdolNinja: it should create a new patch_vpp.pc file in the sr2mod folder
    curly haired boy: how do i do that
    IdolNinja: double click it
    curly haired boy: it opens it
    IdolNinja: then you didn't change the name
    IdolNinja: of the file
    IdolNinja: it should be build.bat
    curly haired boy: oh, i gotta REMOVE the .txt from the name?
    IdolNinja: should be build.bat and not build.bat.txt
    IdolNinja: RIGHT
    IdolNinja: so it's a batch file
    IdolNinja: and runs the command contained in it
    IdolNinja: it should only take a second to run
    IdolNinja: did it work?
    IdolNinja: did it produce a new pathc.vpp_pc file?
    curly haired boy: i accidentally clicked it twice
    curly haired boy: XD
    IdolNinja: haha
    curly haired boy: the first time worked
    IdolNinja: you're just excited
    curly haired boy: the second time threw an error and stopped working
    curly haired boy: but i think it went through
    IdolNinja: probably because the newly created patch.vpp_pc already existed when you tried to run it the second time
    curly haired boy: i see it
    curly haired boy: now what
    IdolNinja: move the file to your sr2 folder where your game is
    IdolNinja: just like you would if it was from me
    IdolNinja: NOTE
    IdolNinja: the 2nd file in my rar
    IdolNinja: the preanim one
    IdolNinja: is ONLY for dual wielding
    IdolNinja: you'll probably never create one with the gibbed tools
    curly haired boy: ah, ok
    IdolNinja: it will only create the patch.vpp_pc file
    curly haired boy: um
    curly haired boy: will this break the stuff you've already given me?
    IdolNinja: it may
    IdolNinja: just don't save
    curly haired boy: gotta try it ;o
    curly haired boy: k
    IdolNinja: and load an earlier save
    IdolNinja: since you may have stuff associated with my patch
    curly haired boy: ok
    curly haired boy: gonna try
    IdolNinja: *fingers crossed
    IdolNinja: your blood gasp gun is ready to test
    IdolNinja: oh sorry, AUTO blood gasp gun
    curly haired boy: uh
    curly haired boy: which pistol is the glock XD
    IdolNinja: uh oh
    IdolNinja: haha
    IdolNinja: nr4 I think
    curly haired boy: kk
    IdolNinja: in pistols
    curly haired boy: ok
    curly haired boy: everything works
    IdolNinja: houston, do we have fountains of blood?
    IdolNinja: and gasp noises?
    curly haired boy: the added melee range PULLS PEDESTRIANS TOWARDS ME SO i kick them in the balls :D
    IdolNinja: hahahaha
    curly haired boy: and yes, gasps of blood :D
    IdolNinja: that's AWESOME
    IdolNinja: that must be a horror show XD
    curly haired boy: i gotta go increase that range :D
    IdolNinja: now.. there will be other additional files that you copy in to ..\sr2\modified
    IdolNinja: for other things
    IdolNinja: eventually
    curly haired boy: :D
    IdolNinja: http://img21.imageshack.us/img21/4403/gibbed3.jpg
    IdolNinja: that's my current modified directory
    curly haired boy: ahahaha
    curly haired boy: awesome
    IdolNinja: so those might be good ones to look through
    IdolNinja: see if you can figure out what they do
    IdolNinja: play around, create new patches
    IdolNinja: crash the game
    IdolNinja: fix and uncrash
    IdolNinja: make something cool :D
    IdolNinja: LESSSON 1 COMPLETE
    IdolNinja: STUDENT: curly haired boy passes with an A+
    IdolNinja: your homework:
    IdolNinja: http://community.saintsrow.com/viewforum.php?f=37
    IdolNinja: that's how I learned everything
    IdolNinja: you will also see some posts from me
    curly haired boy: awesome :D
    curly haired boy: thanks so much!
    IdolNinja: including code for my weapons.xtbl entries for the two new guns
    IdolNinja: like all I did for that light on the lazarus was use DT_spotlight01 for the muzzle flash
    IdolNinja: which is the spotlight effect from the police chopper and prison guard towers
    IdolNinja: and as you hold the trigger down it keeps spawning more and more of them making the beam brighter and wider
    curly haired boy: :D
    curly haired boy: i think i'll call my new gun the bloody roar
    curly haired boy: because that's what it is. :D
    IdolNinja: hahah
    curly haired boy: OH SHIT
    curly haired boy: OH SHIIIIIT
    IdolNinja: you should find some scream foley soundfx for it
    curly haired boy: XD
    curly haired boy: the cops
    curly haired boy: THEY HAVE IT TOO
    curly haired boy: they completely BLEW ME AWAY
    IdolNinja: hahaha
    IdolNinja: that's for lesson 2
    IdolNinja: creating a new gun so that the cops don't have it
    curly haired boy: HAHAHA
    IdolNinja: I bet you have some wild crazy things in mind :D
    IdolNinja: told you it wasn't hard
    IdolNinja: browse through ammo.xtbl
    IdolNinja: if you want
    curly haired boy: right
    IdolNinja: that controls ammo pools
    IdolNinja: you should have enough to start causing some trouble though :D
    curly haired boy: well, sleep well, knowing your knowledge is in good hands
    IdolNinja: take some pics of your blood gun for the forum ;D
    curly haired boy: will do
    IdolNinja: I'm sure that would be pretty interesting to see
    curly haired boy: i changed rapid fire to continous
    IdolNinja: I will eagerly await them for tomorrow when I get up
    curly haired boy: unfortunately, melee range didn't work :S
    curly haired boy: ah well
    IdolNinja: yeah, some things are weird
    IdolNinja: you have to play with it
    IdolNinja: I usually make 1 or 2 changes at a time and test
    IdolNinja: scopes are weird btw
    IdolNinja: you need to add a couple zoom tags in your weapon def
    IdolNinja: the lazarus has those in the source I sent
    IdolNinja: if you want to see them
    curly haired boy: thanks
    IdolNinja: you can compare it side by side to the original taser
    IdolNinja: and see all the changes
    curly haired boy: which is a good guide for making my own weapon
    curly haired boy: :3
    IdolNinja: http://community.saintsrow.com/viewtopic.php?f=37&t=27619
    IdolNinja: that's the tutorial I followed for making new guns
    IdolNinja: it's a bit hard to follow because the author tries to base it off line numbers using a different txt editor. Once you understand the basics though it's easy
    IdolNinja: also, you don't need to do the cheat .xtbl mods he mentions. you can just add it to the store to buy. see later in his post
    IdolNinja: we'll create a new weapon tomorrow
    IdolNinja: together
    IdolNinja: so you can avoid breaking stuff like I did
    IdolNinja: the first one I tried ended up screwing up all the names and making my bare hands a cellphone so I couldn't melee D:
    IdolNinja: but definitely check out that forum and read up
    IdolNinja: 'night!
    2. Get a good textfile search tool

    As you should know from the chat transcript, the stuff you probably want to mod is in plain-text files inside common.vpp_pc and patch.vpp_pc. There are a LOT of texfiles packed in those archives though. You will need a tool to search for specific stuff in the unpacked chaos. Personally I use Wingrep.

    3. Mod example A: Foreign Power sells the Bear

    --- Finding the vehicle ingame name ---
    Searching for "Bear" will yield lots of results. The one you are looking for is inside sp_apc01_veh.xtbl. The files features the lines <Display_Name>Bear</Display_Name> and "<Name>sp_apc01</Name>.
    Bingo.

    --- Adding the vehicle to the the Foreign Power list ---
    The stuff that FP sells is defined in car_dealerships.xtbl and every car is an "element" like this one for the Phoenix:
    Code:
    <Element>
        <Vehicle>car_2dr_muscle04</Vehicle>
        <Variant>Standard</Variant>
        <Cost>20000</Cost>
    </Element>
    The car_dealerships.xtbl has more info per element like color data, but by experimenting and looking though other mods (Gentelmen!) I learned it can safly be left out.

    Copying the car_dealerships.xtbl to the modified directory (remember the chat transcript instructions), adding your own element featuring the sp_apc01 vehicle and repacking the patch.vpp_pc file will yield you your first mod!

    4. Mod example B: Tornado spawn point

    --- .cts file orientation ---
    Parking is defined in .cts files. The one that contains all the parking spots is parking_spots.cts. Now you don't have to cram your own info into that big file, you can define your own parking spots in another .cts file, as long as the game knows it should look in there.

    There is a master .cts file, sr2_city.cts, that states what other .cts files need to be looked in to. Copy sr2_city.cts to your modified directory and add the line, Include: "my_mod.cts" , where all the other includes are.
    Now create an empty my_mod.cts file in your modified directory and make sure it has all the hashtag header lines (like #Navpoints, #Framerates, #End, etc) you find in other .cts files but has no data bewen them.

    Now look at the parking_spots.cts file for reference. You will see that the police station Tornado spawn is defined in 2 places. Under #Navpoints and under #Parking.

    Code:
    ...
    #Navpoints
    ...
    $Navpoint:  "parking_spots_$parking_SR_attack_heli"
    $Type:  "ground"
    $Pos:  <-681.697266 14.408448 400.047302>
    $Orient:  [I]
    ...
    #Parking
    ...
    $Parking:      "parking_spots_$parking_SR_attack_heli"
    $Dimensions:  11.00 6.71
    $Spawn Chance:  10
    +Force vehicle:  "heli_fighter_01"
    ...
    --- Saints Row 2 Powertools ---
    Now you should know what to add in my_mod.cts to add more parking spots. The problem is that you don't know WHERE to add the parking spot. You need a way to know what x/y/z coordinates to use for $Pos.
    http://saintsrowpowertools.com/ has the solution. Follow the instructions carefully and you should see your in-game coordinates when playing when you toggle scroll-lock.
    For most uses you can round the numbers up to one decimal

    --- Wrapping up ---
    Lets say you have established you want your Tornado to spawn at 2418.5 -2.8 885.0 then your my_mod.cts should look like this:
    Code:
    // -------
    #Includes
    // -------
    // -------
    #Activities
    // -------
    // -------
    #Framerates
    // -------
    // -------
    #Groups
    // -------
    // -------
    #Navpoints
    // -------
     
    // My Tornado Navpoint
    $Navpoint:"  my_little_tornado_parking_spot"
    $Type:  "ground"
    $Pos:  <2418.5 -2.8 885.0>
    $Orient:  [I]
     
    // -------
    #Paths
    // -------
    // -------
    #Items
    // -------
    // -------
    #Triggers
    // -------
    // -------
    #Vehicles
    // -------
    // -------
    #Respawns
    // -------
    // -------
    #Humans
    // -------
    // -------
    #Spawn NPC Regions
    // -------
    // -------
    #Action Nodes
    // -------
    // -------
    #Parking
    // -------
     
    // My Tornado parking define
    $Parking:    "my_little_tornado_parking_spot"
    $Dimensions:  11.00 6.71
    $Spawn Chance:  100
    +Force vehicle:  "heli_fighter_01"
     
    // -------
    #Chunk Streaming Test Cases
    // -------
    // -------
    #Ambients
    // -------
    // ----------
    #DSP Regions
    // ----------
    // -------------
    #Audio Cluders
    // -------------
    // -------
    #Nodes
    // -------
    // -------
    #Searchlights
    // -------
    // -------
    #Movers
    // -------
    // -------
    #Interiors
    // -------
     
    #End
    5. Mod example C: Customisable Kaneda

    I'm not gonna spell this one out but show you how to get the info yourself instead.

    Now both GotR and my Easycruiser mod have this feature and you should have no trouble finding the file relevant to this bike while poking around in them. The problem is that this time you need to REMOVE something. Looking at the modded file will give you no info on this matter.

    To quickly find what was removed you should do an automated comparison with the unmodded file. Good text editors, like Notepad++, have features to compare 2 similar text files. Use this and you will quickly find what is making the Kaneda uncustomisable in the original game.

    6. Mod example D: Extra crib garage

    Crib garages have entries in 3 files:
    - garage_sr2_city.cts (under #Navpoints and #Triggers)
    - garage_sr2_city.xtbl
    - cribs.xtbl.

    Good luck and have fun!
    Fan of Saints likes this.
  2. [V] IdolNinja

    [V] IdolNinja Volition Staff

    Kind of funny to see that my chat transcript is still floating around when I tried to show my buddy curly how to mod.
  3. Well, that chat transcript has useful info I didn't find anywhere else ;)
    And oh yeah, I noticed you can hit the limit with parking spots. The cap is probably 1024 and the game uses about 1000 of them.
  4. Is the modding tool needed to patch the version on GameFly, as well?
  5. A very handy guide, strangely when I do step one, save the weapons.xtbl and run build.bat etc, extract the patch.vpp_pc to the game folder, it crashes on 40% when on load :eek: I think i'll have to try that again.
  6. [V] IdolNinja

    [V] IdolNinja Volition Staff

    That usually indicates either a malformed table file (incorrect/too many opening or closing tags,) or an incorrect reference to an entry in another table (usually because of a typo.)
  7. Ah yes you were right, i just realized my mistake was a typo. Thanks for your help :)
  8. Are there any tutorials on texture modding in SR2 still around? All the modding threads on the official forums are long gone, since the whole SR2 section was completely rebuilt.
  9. [V] IdolNinja

    [V] IdolNinja Volition Staff

  10. Okay that first one really helped thanks. I do have one question that wasn't covered there, what if I want to change the size of the texture? The _desc file seems to have lines that define the size of the texture, but I tried changing the texture size and changing those lines in the _desc file but now the clothing item is just invisible in-game, which is I assume what happens if it can't load some texture or something properly. Is there something else that needs to doing to make the different texture size work or is that just not doable?