What's new

Xbox 360 Big Forza modding thread (TUT's+DL's)

  • Thread starter D3FEKT
  • Start date
  • Views 119,123
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
Hey fellow sinners, been a while since i've made any useful topics, so here is a nice one for
the forza modding community :wink:


OK lets get started.

Things you will need:
SQLite database browser - download
xbdm.xex (to transfer the mods unless running iso on forza 4)
Any hex editor
notepad
Quick BMS + forza zip script


My mod releases:
http://www.se7ensins.com/forums/thr...oject-underground-iso-jtag-mods.711188/unread
http://www.se7ensins.com/forums/threads/release-forza-horizon-project-underground.859211/

My basic tutorial thread:
http://www.se7ensins.com/forums/threads/tut-forza-4-modding-the-basics-jtag-flashed.674677/

Other peoples mods:
http://www.se7ensins.com/forums/threads/forza-horizon-exclu-neons-mods-iso-team-drs.891144/ - Team drs
http://www.se7ensins.com/forums/threads/forza-horizon-mods.803066/ - grizzrh
http://www.se7ensins.com/forums/threads/forza-motorsport-4-mod-release.795594/ - J jimmynine120
http://www.se7ensins.com/forums/threads/release-forza-4-iso-mods.691419/ - booternet

-Tutorials-

Gamedb.slt editing-

[How to modify engine power]
First, open up SQLite dbrowser then when in the program, open up your gamedb. When that is done,
click on "browse data" tab. There will be a drop down box with various different tables. Now, go
ahead and click the down arrow, and scroll till it says "data_engine" It will look like this.

Now click the magnify glass icon. It will have 2 drop boxes and one typing box. Set the first drop
box to be "mediaName", and the second box to be "contains" like bellow. As for what you type, put
in the name of the car you want to modify. For example, I will use skyline.

Then once up to this step, click on the one you need to edit. It will look like such.

Once you got that, you can get the engineID (this tut can be used to get the carID also. Go to
the tab "data_car" instead)
Now back to the tab drop down. Click it, and scroll up till there is tables called
"list_upgradeengine*****". Choose any you want to edit. In my case, the pistons. When in a table,
scroll down or use the search function again to find your engineID. When located, there will be
a bunch of columns. Usually the last one is the one we want to edit "torqueScale". When you found
it, you now double click the box like bellow, and edit the number to whatever power you want.


[Engine redline RPM]
Using from what you learnt on the tutorial above, get your engineID from the car you desire, then
go to the table "List_upgradeEngineCamshaft". Locate your EngineId. Once done that, it will have a
tab called "redlineRPM" and "TorqueCurveMaxRPM". Now where it says "ID" it will have your engine number + 00* meaning the part number. 003 meaning the highest upgrade. Choose one of them and double click on the "redlineRPM". Change the number to what you want. Then for torquecurve, add about 700 or w/e you wish onto the redlineRPM number and save it. Bellow my skyline will redline at 12k RPM with torquecurve at 13k.


[Wider tires]
Open up your gamedb, then head over to the table drop box. Using the tutorial above, grab your carbodyID from "Data_car". When you have that, head over to the drop box, and find "List_upgradecarbodytirewidth*****". Choose which ever end you are wanting to edit. For example i'll use rear. Find your CarbodyID then after that, count 5 columns (reartirewidth or fronttirewidth) across. As i stated before, the ID will have extra numbers meaning upgrade level. Choose which upgrade part you want to edit, then double click the tirewidth, then go ahead and change the number to what ever you wish.


[Tire grip]
Open your gamedb, head over to the table "List_TireCompound". There will be 9 records for each of all the tires. Choose which tire you want to modify. In my case, the drag tires. After the column "DisplayName", the next 4 columns will be what you edit. Change all 4 columns to be what ever grip level you want. example bellow.

Hit save and you're done.

[Purchasable Unicorns]
Open your gamedb, then go to the table "data_car". Go across till you find the column "IsUnicorn". If the value is 0, the car is purchasable. If the value is 1, the car is hidden. scroll till you find a record saying "1" and change it to 0. When you find all, every unicorn will be purchasable at the car shop.


[Wheel spacers]
Go open the gamedb, head to the table "data_carbody". Find what car you want to modify, then the 2nd, and 3rd column across is what you'll be editing (modelfronttrackouter, modelreartrackouter) Edit the number to be like .5 more than the default number. Hit save and go test. Keep repeating until it looks good.


[Remove body parts #1]
(Note, this method only leaves the parts gone on the modified game. If you want to use it for online, read the tutorial bellow this one) Open the gamedb, head to the drop box, and choose what part you want to remove. Example "List_Upgradecarbodyhood". Choose which car you want to edit, and find the column "PartsStringID". Set it to like 1337 and hit save. Now that specific part will be gone.

[Remove body parts #2]
This way works online. Open your gamedb, and head to data_car. Get your desired carID. For example, the s13 = id 439. Now head to the body part you want to remove (List_upgradeCarbody****). Now create a new row and put it as shown.

It doesn't exactly have to be that, but you get the message. As long as the partsID is a random
number, it will disappear the part. Apply the new upgrade and it will work also online.

[All manufacturer rims purchasable]
Open you db, head over to the table "List_wheels". Choose what rim you want to edit, then put a display name, the true part manufacturer ID (you can find it from finding the stock
"List_upgradeengine***" parts), then the price to 1 (if 0, it wont show up), IsStock to = 0, Type = street. It will look like this.

Repeat for all car rims and every one will be purchasable minus dlc.
If you're lazy, then
[Backfire Levels]
Go to the table, "BackfireLevels". The last column "backfirelevel, set all to 3. Now your car will spit flames stock.

[Rim size]
Go to the table "List_upgradeRimSize****". The 5th column across, change the number to what ever you disire for what rim upgrade.

[Free parts]
Go to any table that is to do with a upgrade part, then on the desired record, go across till you find "price". Change it to w/e you please.

[Engine swaps]
First things first, find the "engineID" of the engine you want to use as a conversion (Data_Engine). For example, I will use the RB26. Now find the ID of the car you want to add the engine into (data_car). Once you got the IDs, go to the table "List_upgradecarengine". To the right of the screen, there will be a button called "New Record". Click it.

It will create a new engine slot. Now For ordinal, add in the CarID, for level add in 3, then put in your engineID.

Now the next box (IsStock) put 0. The next box, you can put any number but if you're realistic, find the true manufacturerID number and put it in. For the next boxes, just copy the numbers from the engines above like so.

If you want to go more overboard with engine swaps, you can create your own engine, though it would take forever to type up on how to, so I won't include how to do so.

[lower / slam your car]
Find your carID, then head over to the table "List_SpringDamperPhysics". Locate your carID (Ordinal). There will be lots of rows per car. for example ***000, ***001,***002, ***100, ***101. 00 being the front, 10 being the rear. Go across to the column "MinRideHeight" after you chose which part you're going to edit.

[Remove event class restriction]
Go to the table "events". Go to column "target class". Set it to 10 on every line then save. Now go to the table "eventRestrictions". Set the bucketID and value to 0 on all and save. Now x class is max on every event.

[Win CR scalar]
Go to the table "Tracks". Then head across to "WinningScalar". Set all lines to e.g. 1000 like so.


[Fast affinity level up]
Open the gamedb and the first table Affinityleveldef. Set the xp to low numbers like 1,2,3,4,5,6,7. Mess with the bonus credits if you want to also.


[Fast driver level up]
Go to table "playerleveldef". Set the xp to low numbers.

[Drivetrain swaps]
Go to Data_car. Grab the car id of the car you want to mod and the car to grab the drivtrain from
and head over to List_upgradeDrivetrain. Go to the ID of the car you want the drivetrain from and copy its drivetrainID and remember the powertrainID. Find the ID of the car you want and replace with the new numbers.
example of mini w/ veyron power/drivetrain.

with stock drivetrain


XEX editing / poking-
[Forza 2,3 and horizon gamedb check bypass]
First grab your default.xex. Then decrypt / decompress with xextool. After that, open in any hex editor
and search "gamedb". the last result change it to i.e. potato.slt from gamedb.slt. save, encrypt and
go have fun modding :wink:

[Forza 4 poking - no TU]
Hud Transparency 82000D30 float. Default value= 0.0039215689
Backfire time (can give a nos effect) 82000EFC float. Default value= 1000.0
gravity 820CF794 float.Default value= 9.8066502

[Horizon poking]
I had a pile of floats named, but lost the file that i saved them on.

[DLL]
CraigChrist8239 's dll code / offsets <3
http://www.se7ensins.com/forums/threads/forza-motorsports-patch-offsets.810219/

XML's / INI's-
camber - PhysicsSettings.ini,
CarTuning\TuneCamberMin -20
CarTuning\TuneCamberMax 20

Lound turbo/SC - AudioEngineConfig.xml,
maxSupercharger="10"
maxTurbo="10"
gameSuperCharger="5.5"
gameTurbo="5.5"

Neon - trackSettings.xml,
<ShadowColor r="0.000000" g="0.000000" b="0.000000" a="1.000000"/>. Set the rgb to your please.

Car sell price max money - gametunablesettings.ini,
CarValueScales\RewardCarsValue 999999999
CarValueScales\SellValueScale 999999999

Remove backfire timer - BackfireTimerConfig.xml,
SilenceWeighting="0"


Here is some pre-modded ones:
forza 4 smoke - forza horizon smoke - backfire timer - rain + neon - http://pastebin.com/WR1K0YNW



Forza textures-
Forza uses a extension called "XDS" for it's textures. From what i know, the first 52 bytes are the
header/dimensions etc, every 4 bytes is a pixel, 4th byte being alpha enable / disable.
The games also runs tga files fine thus allowing custom textures.

Extract zips-
Locate the zip you want to extract and place it in a folder. Download quickbms (http://aluigi.altervista.org/quickbms.htm).
Place quickbms in the same folder as the zip. Copy the zip code bellow. Save it as a text document. Run quickbms. It will ask you to choose the script so select it, locate the zip to extract, then choose the extraction directory.
Quick bms zip script- (to allow extraction of method 21 zips)
Code:
set ZIP_PASSWORD string ""  # put the password here (only ZipCrypto supported at the moment)
 
set ZIP_SIGN short 0x0403
goto 2
get ZIP_SIGN short
goto 0
get zip_filesize asize
for offset = 0 < zip_filesize
    #idstring "PK\x03\x04"
    get PK_sign short       # so it works also with modified ZIP files!
    get sign short
    if sign == ZIP_SIGN     # Local file header
        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
 
        # zip64
        if extra_len >= 20
            getvarchr extra_id extra 0 short
            if extra_id == 0x0001
            if comp_size == -1
                getvarchr uncomp_size 4 longlong
                getvarchr comp_size 12 longlong
            endif
            endif
        endif
 
        # possible lame tricks used by games
        if comp_size < 0
        if comp_size u> zip_filesize
            math comp_size ~= comp_size
            math uncomp_size ~= uncomp_size
        endif
        endif
        if name_len < 0
            math name_len ~= name_len
        endif
        if extra_len < 0
            math extra_len ~= extra_len
        endif
 
        if flag & 1
            if ZIP_PASSWORD == ""
                print "the file is encrypted, you must set ZIP_PASSWORD in the script"
                #cleanexit
            endif
            encryption zipcrypto ZIP_PASSWORD 1
        endif
        if method == 0
            Log name offset uncomp_size
        else
            if method == 8
                ComType deflate
            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 == 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
        if flag & 1
            encryption "" ""
        endif
 
        math offset += comp_size
        goto offset
 
    elif sign == 0x0806     # Archive extra data record
        get extra_len       long
        getdstring extra    extra_len
 
    elif sign == 0x0201     # Central directory structure
        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
 
    elif sign == 0x0505     # Digital Signature
        get sign_len        long
        getdstring sign     sign_len
 
    elif sign == 0x0606     # Zip64 end of central directory record
        get dir_record      longlong
        get ver_made        short
        get ver_need        short
        get num_disk        long
        get num_disk2       long
        get tot_entries     longlong
        get tot_entries2    longlong
        get central_size    longlong
        get central_offset  longlong
        print "Error: zip64 extensible data sector not implemented, contact me"
        cleanexit
 
    elif sign == 0x0706     # Zip64 end of central directory locator
        get start_central   long
        get end_central     longlong
        get disks           long
 
    elif sign == 0x0605     # End of central directory record
        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
 
    elif sign == 0x0807     # Data Descriptor
        get crc             long
        get comp_size       long
        get uncomp_size     long
 
    elif sign == 0x3030     # disk spanning
        # nothing?
 
    else
        print "\nError: unknown ZIP signature %sign% at offset %offset%\n       if the other files have been extracted correctly it's all ok"
        cleanexit
    endif
    savepos offset
next
rezip with quickbms-
To rezip, use same method as above but use a shortcut to the program with this command line. Z:\quickbms.exe -r -w
Note: make sure the files you're rezipping are no byte bigger nor smaller otherwise it will mess the zip up.

Gamesave modding-
I generally don't care for gamesave modding but thats all most people can do so here is a video (not mine) for a way to mod forza 4 saves for free.


There is also a good service for modding saves.
http://www.se7ensins.com/forums/threads/forza-horizon-and-forza-4-modded-gamesave-service.899895/

[Videos of mods in action]


This thread most likely (like all forza posts) will be only noticed / used by a few people, but still worth typing it all up in the end :wink:


Shoutout to
Chr0m3 x MoDz
CraigChrist8239
TXR Frosty

<3
 
Last edited:
J

jimmynine120

Enthusiast
Messages
690
Reaction score
73
Great tutorial, hopefully will end some of the PM's... Thanks for the tag!
 
J

jimmynine120

Enthusiast
Messages
690
Reaction score
73
Too much pm's..

Too bad it looks like no one will even notice this thread lol.
You never know, post it on some YouTube videos of the mods. Maybe I'll do that too, on my old videos.
 
F

FederalGOKU

Enthusiast
Messages
112
Reaction score
46
Thanks man this will make me get more into the Forza modding hopefully....question though can i do same thing u do with gamedb.slt file to all the other files?? cus i try to edit on forza 2 and i get disc read error when game starts..
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
Thanks man this will make me get more into the Forza modding hopefully....question though can i do same thing u do with gamedb.slt file to all the other files?? cus i try to edit on forza 2 and i get disc read error when game starts..
I put a tutorial above to bypass the check on any forza.

grab your default.xex. Then decrypt / decompress with xextool. After that, open in any hex editor
and search "gamedb". the last result change it to i.e. potato.slt from gamedb.slt. save, encrypt and
go have fun modding
 
F

fat pat 666

Lucifixture
Messages
10,605
Reaction score
4,451
i love your mods. and thanks for the tut
 
F

FederalGOKU

Enthusiast
Messages
112
Reaction score
46
I put a tutorial above to bypass the check on any forza.
not what i meant lol i meant like to bypass files like gametunablesettings.ini and stuff lol but i already figured out that u can lol by giving it a try....thanks anyways :smile:
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
not what i meant lol i meant like to bypass files like gametunablesettings.ini and stuff lol but i already figured out that u can lol by giving it a try....thanks anyways :smile:
oh misread what ya wrote lol.
 
R

r3l4x

Newbie
Messages
8
Reaction score
0
hi great tut but the engine swap doesent work for me. i dont have the List_upgradecarengine value in my db, only as List_upgradeengine that also as engine values but does nothing in the game. ive added and deleted values from List_upgradeengine and they dont change anything, added engines dont appear and deleted engines dont desapear. so any clue on what is going on? is my game diferent or im i messing it up somehow?

im running iso mod on xk3y
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
hi great tut but the engine swap doesent work for me. i dont have the List_upgradecarengine value in my db, only as List_upgradeengine that also as engine values but does nothing in the game. ive added and deleted values from List_upgradeengine and they dont change anything, added engines dont appear and deleted engines dont desapear. so any clue on what is going on? is my game diferent or im i messing it up somehow?

im running iso mod on xk3y

It actually is List_upgradeengine not list_upgradecarengine. Little error of mine.
 
R

r3l4x

Newbie
Messages
8
Reaction score
0
thanks for your reply but ive already tryed to add new values for cars that dont have engine conversion and its not soing up in the game. if i delete or replace a car that as a conversion in the game that works but adding new doesnt. for exemple if i replace or delete rhe reault 5 gt turbo conversion engine it works but if i add a engine to a fiat punto sport evo it wont show any conversion in game
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
take a screenshot of what you've done and i'll see if you have done something wrong.
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
Looks fine.. Try giving it a price of like 1 or something. With rims it requires atleast 1 or more cr to make it show up and maybe it is acting the same way for engines though i doubt it is that because i always put 0 and works fine...
 
R

r3l4x

Newbie
Messages
8
Reaction score
0
well its acting like the rims as with the price it shows up. maybe thats because its iso mod or TU or something, when my jtag arrives im gonna try my game there to see if its game that needs the price or if its because on iso mod


thx alot :smile:
 
R

r3l4x

Newbie
Messages
8
Reaction score
0
hi again. afer making a few swap mods i went to play with my frinds on privete match but the is a problem when the tracks loads they xbox crashes and i stay alone in the track. do you know what makes they xbox crash? they use unmoded game
 
D

D3FEKT

Bewbs
Messages
3,415
Reaction score
1,954
hi again. afer making a few swap mods i went to play with my frinds on privete match but the is a problem when the tracks loads they xbox crashes and i stay alone in the track. do you know what makes they xbox crash? they use unmoded game

Because you're using a car with an engine that it isn't suppose to have. Their game tries loading your car, engine doesn't exist for that car and it crashes.
 
S

SnYpZz

Enthusiast
Messages
314
Reaction score
26
Can I use these on my retail without iso just using my jtag/rgh
 
Top Bottom