Homefront: The Revolution

Homefront: The Revolution

Zbyt mało ocen
Modding Homefront's TimeSplitters 2
Autorzy: Yossarian the Assyrian i 1 innych współtwórców
You can hex-edit and mod Homefront's TimeSplitters 2 just like the console versions! It's mostly the same, aside from some format differences. This guide will show you how to modify weapons, levels, and more!
   
Przyznaj nagrodę
Ulubione
Ulubione
Usuń z ulubionych
Getting Started
You will need HxD to mod TimeSplitters 2. Download it here: https://mh-nexus.de/en/hxd/

In HxD, open the file Homefront2_Release.exe in Steam\steamapps\common\Homefront_The_Revolution\Bin64. This will be the main file to edit. Create a backup copy just in case something goes wrong editing this version.

I'd strongly recommend having TS2 Redux installed while modding. It fixes up numerous aspects of the game and turns Homefront 2 into a dedicated TimeSplitters 2 launcher. You can download it here here: https://github.com/HFTSRedux/TS2Redux



For those new to hex-editing, I'll give a brief summary here. Data related to the game is determined by values between 0 and F, where A through F are equal to 10, 11, 12, 13, 14, and 15. Numbers in hex will not always line up with their normal decimals (example: 50 in hex is 80 in decimal). Entries are made up of 8 values and can affect anything from names to gun fire rates. Offsets are where you can find specific entries.

In HxD, you can press CTRL + G to find a specific offset. You can also search for entries using CTRL + F.

(Pictured: the start of Homefront2_release.exe in HxD.)

This can appear intimidating at first, but it gets easier once you know what to look for and what to modify. I will cover that in the next sections. It helps to start small (change a gun name or some stats) and then work your way up to bigger projects!
Homefront's TS2 vs GameCube's TS2
The version difference between GC and HFTR is big endian vs little endian. Most values can be translated from the GC document that way. It's a format difference - basically the the important data goes first in little endian, and that important data goes last in big endian.

For example: 00000004 in big endian would read as 04000000 in little endian.

I would recommend using this converter to figure out the difference - https://www.save-editor.com/tools/wse_hex.html.
It can translate the values between versions most of the time. I used it when working on my mods for Homefront's TS2.



The second major thing is that addresses are stored in 8 bytes vs 4. This means that some values might not translate perfectly from the GC version to the Homefront version.

For the most part, this document will cover all aspects of modding TimeSplitters 2. It was made for GameCube, but running most of its values through the converter will let them work in the Homefront port: https://docs.google.com/spreadsheets/d/1X-NYo2dSVdE0IsOQMcq4T06lyNTDcy8-_-HRtJ_1M5M/edit#gid=1288100431


(Pictured: part of the document's list of Damage IDs in TS2.)

One BIG improvement over the GC version is that most weapons, voices, and characters will load no matter what level you are in. This means you can have laser-wielding cowboys in the Wild West or zombie clowns in Notre Dame! It really opens up opportunities to make the game crazier!

Modding Weapons
Weapons are broken down into the same pattern in Homefront as they are in the GC version. The initial two values determine overall details like the gun's model (this can crash the game if changed for certain guns), ammo type, and crosshair. Beyond that, it is broken up into primary fire and secondary fire, which can be made to be totally different. Dual-wielded weapons do not have their own stats.


(Pictured: part of the Silenced Pistol's stats.)

WEAPON STAT OFFSETS (Underlined weapons are only used by AI):
1. Silenced Pistol - 02509CA0
2. Silenced Luger - 02509EE0
3. Luger Pistol - 0250A120
4. Garrett Revolver - 0250A360
5. Tactical 12-Gauge - 0250A5A0
6. Minigun - 0250A7E0
7. Sniper Rifle - 0250AA20
8. Vintage Rifle - 0250AC60
9. Flamethrower - 0250AEA0
10. Fire Extinguisher - 0250B0E0
11. Soviet S47 - 0250B320
12. Electrotool - 0250B560
13. Scifi Handgun - 0250B7A0
14. Rocket Launcher - 0250B9E0
15. Homing Launcher - 0250BC20
16. Lasergun - 0250BE60
17. Plasma Autorifle - 0250C0A0
18. Grenade Launcher - 0250C2E0
19. Unknown (Thrown Grenade?) -
20. Proximity Mine - 0250C760
21. Remote Mine - 0250C9A0
22. Timed Mine - 0250CBE0
23. TNT - 0250CE20
24. Tommy Gun - 0250D060
25. SBP90 Machinegun - 0250D2A0
26. Shotgun - 0250D4E0
27. Brick - 0250D720
28. Gun Turret - 0250D960
29. UFO Green Laser - 0250DBA0
30. Barrel Bot Green Laser - 0250DDE0
31. Siberian Chopper - 0250E020
32. Robot Railbot - 0250E260
33. Sewer Zombie Spit - 0250E4A0
34. Cropolite Beams - 0250E6E0
35. Digital Camera - 0250E910
36. Temporal Uplink - 0250EB60
37. Crossbow - 0250EDA0
38. Gunpowder - 0250EFE0
39. Autogun Weapon - 0250F220
40. Robot Factory Security Laser - 0250F460
41. Mox Weapon - 0250F6A0
42. Spacestation Turret -
43. Reaper Splitter Lightning - 0250FB20
44. Drone Splitter Breath - 0250FD60
45. Planet X Pink Turret - 0250FFA0
46. Default Gun/Desert Eagle - 025101E0

You can adjust a lot of the weapon's stats, like its placement on the screen or fire rate. Some guns share a Damage ID, which affects the damage dealt by Story players, Story enemies, and anyone in Arcade Mode. Explosives have their own built-in damage values and do not have a Damage ID.

Fire rates are faster when their values are lower. However, most other entries improve as their values increase.

As an example of modding: the Silenced Pistol has a clip size of 8. To make it have 15 rounds, you would change that value to F.

Some guns do not drop ammo when their users are killed. For the Mox Weapon, changing its flag of 11 to 1 will make it drop like most other guns.

(Pictured: a modded Luger Pistol with a custom name, a 10 round clip, and other alterations.)


WEAPON SOUND LIST:
F0000000 - UFO green laser (might not work)
F2000000 - Planet X pink turret
85010000 - Time Portal explosion
86010000 - Explosion sound
87010000 - Shotgun
88010000 - Suppressed gunshot?
89010000 - Minigun
8A010000 - Plasma Autorifle (primary fire)
8B010000 - Digital Camera
8C010000 - TS1 Blunderbuss
8D010000 - Soviet S47 (primary fire)
8E010000 - Soviet S47 (alternate fire)
8F010000 - Grenade Launcher (primary fire)
90010000 - Grenade Launcher (alternate fire)
91010000 - Vintage Rifle
92010000 - Sniper Rifle
93010000 - Luger Pistol
94010000 - Garrett Revolver (primary fire)
95010000 - Garrett Revolver (alternate fire)
96010000 - TS1 Mauser Pistol
97010000 - Tommy Gun
98010000 - TS1 Raygun
99010000 - TS1 Raygun Carbine
9A010000 - TS1 Scifi Autorifle
9B010000 - Barrel Bot green laser
9C010000 - TS1 Scifi Sniper Rifle
9D010000 - Silenced Pistol/Luger
9E010000 - Futuristic gun shot
9F010000 - Electrotool (held)
A0010000 - Electrotool (first used)
A1010000 - Charge-up attack?
A2010000 - SBP90 Machinegun
A3010000 - TS1 Minigun
A4010000 - Rocket Launcher?
A5010000 - Flamethrower (first used)
A6010000 - Flamethrower (held)
A7010000 - Fire Extinguisher (first used)
A8010000 - Fire Extinguisher (held)
A9010000 - Tactical 12-Gauge
AA010000 - Rocket Launcher/Homing Launcher
AB010000 - Lasergun
AC010000 - Mox Weapon (primary fire)
AD010000 - Crumbling sound
AE010000 - Crossbow
AF010000 - Gunpowder (first used)
B0010000 - Gunpowder (held)
B1010000 - TS1 TNT ignition
B2010000 - Some sort of drill?
B3010000 - Tactical 12-Gauge reload sound
B4010000 - Charging Lasergun attack (keeps looping)
B5010000 - Plasma Autorifle overheat
B6010000 - Bullet impact sound 1
B7010000 - Bullet impact sound 2
B8010000 - Bullet impact sound 3
D6010000 - Reload sound
D7010000 - Throwing Bricks/Mines
D8010000 - Nothing
F0010000 - Reaper Splitter lightning
F3010000 - Plasma Autorifle (alternate fire)
1A020000 - Gun Turret (primary fire)
1B020000 - Gun Turret (alternate fire)

Weapon sounds are divided into the sound made when you press the trigger and when you hold the trigger. For guns like the Flamethrower, these have different sounds. You can still do this with normal weapons if you want.


WEAPON AND AMMO NAMES OFFSETS - 021C1038 (first entry), 021C13D8 (last entry)


(Pictured: some names for guns and ammo types.)

Don't write past the name of the original weapon! This can risk overwriting important data. If you don't have enough space for your custom weapon name, you can swap out its name string for another item's. This can be done for characters, weapons, and other items.

(Pictured: a bunch of modded guns in the pause menu.)


GUN IDS - 02510420 (unlock and ranking info), 02510C48 (name string and appearance info)


(Pictured: the first section of Gun IDs.)

The Gun IDs are split into 2 parts. The first determines whether a gun is unlocked by default, how you can unlock it, and which weapons show up in which hands. The second determines which name string belongs to the gun, what it looks like when dropped, and how big it is in the menu.

Some guns are not unlocked in Arcade Mode by default. These are the Silenced Luger, Silenced Luger (x2), Temporal Uplink, Gunpowder, Digital Camera, Mox Weapon, Default Gun/Desert Eagle, and Default Gun/Desert Eagle (x2). You can re-enable them in the first part of Gun IDs. The Brick is also locked until you complete Bricking It or mod it to be unlocked by default.


AMMO OFFSETS - 02507C20 (Pistol Ammo/first entry), 02509480 (Plasma Grenades/last entry)

This section decides how much of an ammo type you can carry, how it is displayed on the HUD, and what name string it has. The first entry for ammo, the total amount you can carry, is the same as it is in the GC document. However, the entry after that is slightly different.


DAMAGE VALUES - 0257B620 (Pistols & assorted guns/first entry), 0257BC08 (Crossbow/last entry)

All the values for each damage ID are stored in this section. Guns deal different damages based on whether story players, story enemies, and arcade players/enemies use them. They can also deal more or less damage over distance (this is what the first value decides). Shotguns deal less damage by default, and as a result have a lower first value than 0000803F.
Modding Levels
OBJECTIVES AND BRIEFING OFFSETS - 021C3D50 (start), 021C6D57 (end)
LEVEL TITLES AND DATES - 021C1F58 (start), 021C201B (end)


(Pictured: the briefing for Return to Planet X.)

These are simple to edit. Just replace the words in the objectives and briefing on the right side of HxD. Don't go over the word limit! You can leave some empty spaces at the end if necessary, but you should never try to add more words to a briefing or objective. In the example below, I modded the briefing for Notre Dame.



SKYBOXES FOR LEVELS - 0251ABF0 (start)


(Pictured: the skybox for Streets.)

This changes what the sky looks like in a level. I would just change the image file (the very first entry) to get the results you need. In the screenshot below, I gave Chicago the skybox for Circus.



LEVEL SPAWN OFFSETS:
1. Siberia - 0252C650 (first entry), 0252ECD0 (last entry)
2. Chicago - 0256ACF0 (first entry), 0256C8D8 (last entry)
3. Notre Dame - 0253DAB0 (first entry), 0253FC60 (last entry)
4. Return to Planet X - 02543F60 (first entry), 02545DF8 (last entry)
5. NeoTokyo - 025381C0 (first entry), 025399D0 (last entry)
6. Wild West - 02572570 (first entry), 02573908 (last entry)
7. Atom Smasher - 0251F2E0 (first entry), 02521070 (last entry)
8. Aztec Ruins - 0254C6E0 (first entry), 0254E100 (last entry)
9. Robot Factory - 02552140 (first entry), 025549D0 (last entry)
10. Space Station - 0255EC70 (first entry), 0255F770 (last entry)
11. Streets Challenge - 025635A0 (first entry), 025642A0 (last entry)


(Pictured: spawn data for Siberia.)

You can change a TON about a level by modding its spawns. You can swap what enemies are in the level, change what weapon they carry, how much ammo they drop, and whether they tie into certain objectives. To make them unarmed, set their weapon entries to -1 (or FFFFFFFF). You can also make them drop no ammo by setting that to -2 (or FEFFFFFF). The GC document is very useful for keeping track of what characters and weapons are in each level, along with the order in which enemy data appears.




LEVEL MUSIC OFFSETS:
1. Siberia - 02596488
2. Chicago - 0259631C
3. Notre Dame - 02596454
4. Return to Planet X - 02596558
5. NeoTokyo - 025964F0
6. Wild West - 025963EC
7. Atom Smasher - 025963B8
8. Aztec Ruins - 025966C4
9. Robot Factory - 0259658C
10. Space Station - 02596524


(Pictured: the music choices for Atom Smasher's intro and main level.)

Any song in TimeSplitters 2 can replace music in a Story level. You can also replace cutscene music, but this also contains dialogue for it, so I would advise against doing that. Every song from TS1, TS2, and MapMaker can be used here. Their specific values are listed below with their original file names.

SONG LIST (FOR MUSIC OFFSETS):
01000000 - Tomb [SEEMS TO CRASH THE GAME]
02000000 - Chinese
03000000 - Cyberden
04000000 - Mansion
05000000 - Village
06000000 - Chemical Plant
07000000 - TS1 Planet X
08000000 - Docks
09000000 - Spaceways
0A000000 - Warzone
0B000000 - Site
0C000000 - Castle
0D000000 - Compound
0E000000 - Siberia Boss
0F000000 - Spaceship
10000000 - TS1 Streets
11000000 - Mall
12000000 - Bank
13000000 - TS1 Horror Tileset
14000000 - TS1 Industrial Tileset
15000000 - Rocket Launch Site (?)
16000000 - Pause FX
17000000 - Tokyo (?)
18000000 - TS2 Gothic Tileset
19000000 - Main Menu
1A000000 - Aztec Ruins
1B000000 - Aztec part 2
1C000000 - Aztec Temple
1D000000 - Ice Station
1E000000 - NeoTokyo
1F000000 - Wild West
20000000 - Space Station
21000000 - Space Station part 2
22000000 - Notre Dame
23000000 - Notre Dame part 2
24000000 - Notre Dame boss
25000000 - TS2 Streets
26000000 - Chicago
27000000 - Nightclub
28000000 - Training Ground
29000000 - Atom Smasher
2A000000 - Mexican Mission
2B000000 - Robot Factory
2C000000 - Robot Factory part 2
2D000000 - Robot Factory boss
2E000000 - Hospital
2F000000 - Ufopia
30000000 - Game Over Fail
31000000 - Scrapyard
32000000 - Return to Planet X FX3
33000000 - Return to Planet X part 2
34000000 - Siberia FX
35000000 - Siberia Boss
36000000 - Siberia B
37000000 - Credits
38000000 - Cutscene Siberia
39000000 - Cutscene Chicago
3A000000 - Cutscene Wild West
3B000000 - Cutscene Robot Factory
3C000000 - Circus
3D000000 - Training Ground
3E000000 - Game Over Win
3F000000 - Goteki Remix
40000000 - Intro
41000000 - (?)
42000000 - Cutscene Atom Smasher
43000000 - Story Menu
44000000 - Cutscene Notre Dame
45000000 - Cutscene NeoTokyo
46000000 - Cutscene Aztec Ruins
47000000 - Cutscene Return to Planet X
48000000 - Cutscene Crystal Obtained
49000000 - Cutscene Death Full
4A000000 - Cutscene Ending
4B000000 - Cutscene Intro
4C000000 - Aztec Challenge
4D000000 - Jungle Ambience
4E000000 - Anaconda
4F000000 - Retro Racer
50000000 - Astrolander
51000000 - Chicago Challenge
52000000 - stream traffic
53000000 - mickey
54000000 - speech 1
55000000 - speech 2
56000000 - speech 3
57000000 - speech 4
58000000 - engage bridge
59000000 - bridge
5A000000 - robot alarm
5B000000 - siberia alarm
5C000000 - phone
5D000000 - phone
5E000000 - phone
5F000000 - marco
60000000 - marco
The rest are sound/voice clips.
Modding Characters
CHARACTER STATS OFFSETS - 024E57B0 (The Colonel/first entry), 024E88C0 (Robofish/last normal entry)


(Pictured: the Colonel's character stats.)

You can change a lot about a character, like its model, voice, Story Mode stats, Arcade stats, and more! You can also have different stats for Easy, Normal, and Hard difficulty. If you want a character in Story Mode to appear differently (like have robots appear in Chicago), replacing their model is the best way to do it. This won't affect their appearance in the Arcade menu, though.

Some characters have two models, one used when up close and one used at a distance. The long distance one is less detailed and blockier. Characters without this model have FFFFFFFF listed as their second model.

Bosses still work when their model is changed, but their health bar might not show up. Special enemies like zombies and robots also keep their unique behaviors when their model is changed, like losing limbs or being weak against the Electrotool. Hats like the Henchman's yellow baseball cap will carry over to changed models, though they may float or clip into the character depending on their height.

A few characters crash the game when loaded, like the Railspider Robot. Others do not work well in Arcade - the Portal Daemon is too huge for most levels, and the Barrel Robot stands still in a glitched state in any mode.


CHARACTER NAMES - 021D1108 (Robofish/start), 021D1B4B (The Colonel/end)


(Pictured: character names.)

You can edit character names just like weapon names. Write your new name within the existing boundaries on the right side of HxD. If you want more space, replace a character's name string with another one. You could swap the names of The Cropolite and Monkey, for example.


CHARACTER IDS - 024ED950 (Sgt Cortez/start), 024EF0F0 (Consultant/end)


(Pictured: Capt Pain's character ID and other info.)

This section is separate from character stats. It determines which characters can be chosen in Arcade's Menu, meaning that you can fully replace characters by swapping their ID for someone else's. This will not affect how they look or act in Story Mode. 151 character slots are available, and all are unlocked by default.

(Pictured: X-Ray Skel, a character hidden by default. He has been made accessible by replacing Gargoyle's character ID with his own ID.


GALLERY BEGINNING OFFSET - 021C80D8 (Robofish/start)
GALLERY ENDING OFFSET - 021CD49F (The Colonel/end)


(Pictured: Robofish's gallery entry.)

The gallery is only accessible with TS2 Redux installed. Otherwise, you can ignore this section.

You should handle the character gallery entries the same way you would handle objectives and briefings. Don't write beyond the space provided. An example of a modded gallery entry is included below.

Modding Arcade League and Challenges
These can be very complex to edit, so I would proceed with caution. Also, for some reason, Honorary League starts with its Team Series B matches instead of the Maximus matches.


CHALLENGE MODE CHARACTER SETTINGS - 024FE628
AMATEUR LEAGUE CHARACTER SETTINGS - 024FFD00
HONORARY LEAGUE CHARACTER SETTINGS - 02501A90
ELITE LEAGUE CHARACTER SETTINGS - 02502FF0


(Pictured: the character data for the Adios Amigos! Arcade match.)

You can change who you play as in a Challenge or Arcade League match, who the other characters are, and how much health everyone has. Generally speaking, the match will list your character's ID and total health, and then it will list the char IDs and health for all of its bots. Combined with changes to the name and briefing, you can totally revamp how these matches work!


CHALLENGES MAPS/MODES - 24FC040
AMATEUR LEAGUE MAPS/MODES - 24FFE20
HONORARY LEAGUE MAPS/MODES - 2501BA0
ELITE LEAGUE MAPS/MODES - 2503100


(Pictured: settings for the Babes in the Woods Arcade League match.)

These values determine which map the match/challenge will be on, what Arcade difficulty will be used, which weapons are included, which mode will be played, and so on. The order in which each match is listed is identical to the order on the GC modding document.


CHALLENGES SCORING RULES - 24FBF80
AMATEUR LEAGUE SCORING RULES - 24FFD90
HONORARY LEAGUE SCORING RULES - 2501AF0
ELITE LEAGUE SCORING RULES - 2503070


(Pictured: scoring details for the Bricking It challenge.)

These sections allow you to set the total scores needed to complete challenges/arcade matches, how the score is calculated, what the trophy requirements are, and more. The order in which each match is listed is identical to the order on the GC modding document.
Unlocking/Modding Other Content
These sections can be more complex to adjust. Handle them with care!


DAM AND WILD WEST ARCADE UNLOCKS - 025061A0 (start), 0250624F (end)


(Pictured: how the original data for the 2 hidden levels looks.)

Dam and Wild West can be unlocked in Arcade Mode if the right values are changed.


(Pictured: What should be changed to unlock them both.)




DEATHMATCH GAME MODE SETTINGS - 025058FF (start)
THIEF GAME MODE SETTINGS - 025059FB (start), 02505A3F (end)


(Pictured: the settings for Thief mode.)

You can adjust settings like score method and teamplay options in TS2's various modes. Not every mode handles teamplay well, though. You might have to experiment with the options you have.


STORY HEALTH VALUES - 0257B5F0
STORY ARMOR VALUES - 0257B608


(Pictured: the values for both health and armor in Story Mode).

The settings for your health and armor totals in Story Mode. Values are in order of Easy, Normal, and Hard difficulties. Setting them ridiculously high will make you die in one hit.
PAK File Modding
Modding .PAK files allows you to bend the game even further. These files contain models, sounds, textures, and other important data for the game. There's a greater risk of crashing when .PAK modding, but it expands the potential to change the game even further.

For example, you can make guns appear as cutscene-exclusive weapons, or you could change projectiles like the Brick into a time crystal or a briefcase! This would also allow you to use the leftover TS1 guns in the files, like the Blunderbuss and Raygun Carbine.


(Pictured: the leftover Raygun Carbine replacing a modded Default Gun.)

Their file names and locations might be vague or not relate to their actual appearance - as an example, the SBP90 Machinegun's models are labeled as "Uzi." A model viewer like Noesis[richwhitehouse.com] can be used to sort through the game files and view models. You will need to install specific plugins for Noesis to view .xbr models, though.

TS2 PAKS are used by the TS2 engine. These are specific to TimeSplitters 2 (and maybe other Free Radical games?).

They can be extracted using QuickBMS (http://aluigi.altervista.org/papers/quickbms.zip) using the ts2_pak_extract BMS script (copy the code from this post and save it as a BMS text file to use with QuickBMS: https://forum.xentax.com/viewtopic.php?t=9994#p82003)


(Pictured: the extracted TS2 pak called "lsao_cached.")

I have more experience doing this on GameCube than in the Homefront port, so I turned to my friend devildwarf for advice on doing this. He had this to say...


"Well there are ways around modding PAK's on TS2, the easiest way is to make a zip file with the file you want and then rename the file in the EXE."

"So say, for example, I wanted to replace Sgt. Cortez with the Portal Daemon (huge Notre Dame boss). I would first get the 'chr59.xbr' from the CHR.PAK then make a ZIP file with it in the folder
'ts2/ob/chrs.' Then I would rename it to 'chr107.ddk' (choose whatever extension you want as long as its not XBR) and zip it up so inside the zip looks like ts2/ob/chrs/chr107.ddk."

"Once this is done, hex-edit your homefront/timesplitters .EXE to the same name (so search for 'chr107.xbr' and rename it to 'chr107.ddk') so it looks like this..."



"Now place the zip file into the gamehf2 folder and name it anything you want, as long as its alphabetically after lsao_cached.pak. The zip can be STORE or DEFLATE only. With this example, you will now have the giant Cropolite from Notre Dame instead of Cortez."



"This allows you to mod the game without replacing actual game files. Just hex-edit your game's EXE to look for the file in this zip and place it in the 'gamehf2' folder."


You can also replace sounds in PAK mods, though they have to be the right Hz for the game to play them. Most of TS2's sounds are in 22000 Hz, though a handful (like the Sniper Rifle) have 44000 Hz sound files. Just name the new sound file identically to the sound you want to replace, and then place it in a similar file path to TS2 within your zip (ts2/sfx/"your sound file's name").
Creating and Sharing Patches
One option for creating patches is Delta Patcher, a program that allows you to create and install patches for PC and console games. It works on Homefront: The Revolution as well as it does on the GameCube and PS2 versions of TimeSplitters 2!

Download Delta Patcher here: https://www.romhacking.net/utilities/704/

Jpatch (Jojodiff) is another good modding program to use. This is the same program used by the TS2 Redux team to create optimized patch files.
http://jojodiff.sourceforge.net/

From my experiences, the best places to share patches/mods would be Dropbox, ModDB, or GitHub. NexusMods is also decent, but it requires registration to download mods from.
Closing Notes
Hex-editing can be complex, so modding TimeSplitters 2 can be tricky at times. Please let me know if you encounter any issues using this guide, or if you have any suggestions for it! I'm always open to feedback.

If hex-editing still seems daunting, I have a tutorial series covering how to hex-edit TS2 on GameCube. There are some differences due to the console it is on, but the general principles of hex-editing still apply here!


I hope this guide was informative. Anything not covered on this guide is probably detailed to some degree in the GameCube modding document.

Thanks for reading! Join the TimeSplitters Online Discord to talk more about the Homefront port and chat with other TS fans! https://discord.gg/SauttVZ5Jx
Komentarzy: 2
Yossarian the Assyrian  [autor] 30 listopada 2022 o 14:24 
I'm happy to help! :slimehappy:
ESOTERiC 30 listopada 2022 o 13:55 
thanks for your work