Jump to content

[WIP|III] GTA III Save File Editor


thehambone

Recommended Posts

03W9gZa.png

Download
GTAGarage
MediaFire


What is it?
This tool allows you to edit save files created by Grand Theft Auto III. It is a work-in-progress, so it is not complete yet and more features are planned for future releases.
It currently supports PC (Windows and Mac OS X), Android, and iOS save files.

What can be edited?
General
  • General save info (save name and timestamp)
  • Game time
  • Weather
Player
  • Health, armor, money
  • Infinite sprint and other player perks can be enabled/disabled
  • Weapons and ammo
  • Wanted level
Stored Vehicles
  • Color
  • Special properties
  • Radio station
  • Car bomb
Gangs
  • Gang weapons and vehicles
  • Hostility towards Claude can be enabled/disabled
More features are planned for future releases!

Other Features
Game Bug and Glitch Fixes
  • Purple Nines Glitch can be fixed
  • Permanent effects of the "peds riot" and "peds attack player" cheats can be reversed
Supported Saves
Saves created by the following versions of the game can be edited:
  • Android
  • iOS
  • Mac OS X
  • Windows
Support for PS2 and Xbox saves is planned

System Requirements
Operating System
  • Windows XP or newer
  • Mac OS X 10.7.3 (Lion) or newer
Java SE Runtime Environment 7 or newer (http://www.java.com/en/download/)

Screenshots
These are outdated.

FqVqOGs.png
Dci8SOE.png
jdnIuHk.png
MyrwGBE.png


Change Log

Version 0.2
Released on February 7, 2016

Editor Improvements

  • Added support for iOS and Android saves
  • Data handling algorithms rewritten; editor handles data much more conservatively, more efficiently, and safer
  • Added support for unsigned input
  • Better input validation
  • Added Mac OS X support; it's not perfect but it runs well
  • File can now be re-loaded by pressing F5
  • Added a "Recent Files" list
  • Added option: "Enable debug logging"
  • Added command-line option: --log-to-file
  • Added command-line option: --log-level=<FATAL|ERROR|WARN|INFO|DEBUG>
  • Added command-line option: --help
  • Better logging and crashdump output
  • Icon changed
  • Other minor visual changes and improvements
  • Overall stability improved
General
  • Weather interpolation is now adjusted via a slider
  • GXT strings can be used for the save name (mobile only)
Player
  • Fixed a bug where raising the maximum wanted level would have no effect in-game
  • Wanted level can now be disabled entirely
Garages
  • Car colors are easier to see and select
Version 0.1
Released on April 13, 2015
  • Initial release


Credits
Program written by thehambone.
All logos and images used in this program (however bad they may be), except for the "Grand Theft Auto III" logo, designed by thehambone.

Special thanks to AlSar, OrionSR, Seemann, Silent, and spaceeinstein for helping with research and documentation.


Please post any questions, comments, suggestions, or bug reports in this topic. Your input is very much appreciated!


Copyright © 2015-2016 thehambone.
Happy Editing! :)

Edited by thehambone

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

It's never too late for a GTA III save editor. Great work. Might try it out for fun sometime.

  • Like 2
Link to comment
Share on other sites

spaceeinstein

It's great to see the tool in action. Looks very good so far. One thing I'd like to see is disallowing boats to be assigned to gangs or be spawned in garages. They crash the game when the game tries to load them.

Link to comment
Share on other sites

It's great to see the tool in action. Looks very good so far. One thing I'd like to see is disallowing boats to be assigned to gangs or be spawned in garages. They crash the game when the game tries to load them.

Thanks! Yeah I had that idea in mind, but I thought I wouldn't impose too many restrictions and let users experiment. I may decide to follow your advice in a future update, though.

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

spaceeinstein

You can include a warning to the user when boats are selected. That way the user can have the option to choose them and be informed about the crash.

Edited by spaceeinstein
Link to comment
Share on other sites

Very nice. I've been wanting to make the gangs non-hostile for a long time so I could roam the map easily without dying. This looks like an easy way, thanks.

Link to comment
Share on other sites

Blackbird88

Very nice. I've been wanting to make the gangs non-hostile for a long time so I could roam the map easily without dying. This looks like an easy way, thanks.

Holy sh*t that's possible! Finally! Saint's Mark is completely f*cked after you betray Mafia. Good job thehambone!

Link to comment
Share on other sites

It looks like it has potential to become cross-game... maybe at some point? ;)

 

At least expanding on VC shouldn't be too hard.

  • Like 3
Link to comment
Share on other sites

Good job! Btw you should also add the possibility to set how much hidden packages the player has.

Edited by jemoeder51
Link to comment
Share on other sites

And maybe even listing which ones the user has, so you can find that 100th one quickly, hah!

 

How about support for iOS?

Link to comment
Share on other sites

Thanks for the feedback, everyone!

 

 

It looks like it has potential to become cross-game... maybe at some point? ;)

 

At least expanding on VC shouldn't be too hard.

Silent, I have that idea in mind as a long-term development goal. I designed this tool so I could easily expand it in the future. I want to make a few tweaks to my API here and there first, but after that, adapting this tool to work with VC, SA, or any other GTA game shouldn't be too difficult. :^:

 

 

 

Good job! Btw you should also add the possibility to set how much hidden packages the player has.

And maybe even listing which ones the user has, so you can find that 100th one quickly, hah!

Good idea! I plan on including various interactive maps as development on this tool continues, so I can certainly implement that!

 

 

How about support for iOS?

Yes, iOS, Android, and even PS2 and XBox support are all planned in the long run. Android is my top priority as of now, because 1) I don't have an iPhone, and 2) from my understanding, it's easier to get saves off of an Android device than an iOS device. I'm hoping that iOS saves will vary very little (if at all) from Android saves. If that's the case, support for iOS will come very soon after Android. Edited by thehambone

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

Amazing. My dream is come true after a long time. :D

Nice work. :^:

Edited by inadequate
Link to comment
Share on other sites

  • 3 weeks later...
Lethal Vaccine

If you ever get this Save Editor for the GTA III iOS/Android Version, I might try it out! :^:;)

 

After buying Chinatown Wars for iOS and now San Andreas for iOS, I probably in time will buy III and VC for iOS.

 

Glad people are working on the classic GTA's. The Mobile Versions are a lot of fun to just mess around on...

 

CTW and SA iOS Saves are compatible with Android, btw. However, from what I hear, VC is not and I am not sure about GTA III, either.

 

My friend can easily give me his Android SA Save and I can put it on my Phone easily, and vice versa. He helps with some Special Vehicles cuz Mobile is a bit more difficult than my good ol' PS2 Version which I obtained 46 Special Vehicles on. Now I am doing it on Mobile, but only going for the Special Vehicles I currently do NOT have in my PS2 Version.

Edited by Militia
Link to comment
Share on other sites

thehambone

You've got an iOS device, right? I might be contacting you for iOS saves when I get to that phase of development. I only have an Android device.

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

Lethal Vaccine

Yes, I got an iPhone 6. However, I only own CTW and SA currently. I may in the future get III and VC.

 

What sucks is I couldn't decide to get the "GTA Trilogy" Bundle which was III, VC, and SA Mobile all for $11.99. Instead, I ONLY got SA, for $6.99. If I got the Bundle, I would of got one of the Games basically free. If you buy all 3 separately, it is $17.97. I would of saved 6 dollars, which is GREATER than the price of III or VC alone. :miranda::miranda::facedesk::facedesk:

 

Oh well, it's still not expensive to buy them separately. So if I really want to get III and VC, I can and will.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
Lethal Vaccine

@thehambone,

 

Here is my BC PS3 GTA III Game Save you wanted a while back. I finally got around to uploading it. I also uploaded my VC Save, as well.

Link to comment
Share on other sites

thehambone

Hello and thank your very much for you work! It's never too late for such a useful tool.

 

I have one question partially concerning this topic. I think you can help me, because you're a person

who knows a lot about 3rd era GTA savefiles and their structure. But let's move closer to the point.

 

I prefer playing GTA at 60 FPS framerate. It can be achieved by turning frame limiter off while

using global V-Sync setting in video card driver control panel or using CLEO frame limiter script.

But the method doesn't matter here. Thing that matters is an effect of such gameplay.

 

When you reach roughly 2239 minutes of playing time (sligtly more than 37 hours) in GTA III and

about 84 hours in GTA: VC regardless of framerate a bug occurs. This bug takes effect only at 60 FPS.

The problem lies in breakdown of unique stunt jumps' camera. When you jump off the ramp, as usual,

the cinematic mode enables. But when you touch the ground back, cinematic camera remains enabled!

Moreover, game's clock freezes. Of course, it makes following gameplay absolutely impossible.

 

I figured out that this is directly linked only to the time spent in-game. The bug appears on every version

of III and VC and on every savefile made to abovementioned amounts of time respectively. I suppose this

happens because of some game timers mailfunction. So I looked for GTA III's save editor and found your work.

 

I tried to change values of "Global Timer" (GT onwards) and "Weather Timer" (WT onwards) respectively

to amount equivalent to 2000 minutes. I've got the following results:

— changing both GT and WT to equal numbers -> cinematic camera totally disappears

— changing GT only -> the same, no more cinematic view at all

— changing WT only -> no effect, cinematic camera is broken and doesn't switch off

 

So my question is: is it possible to fix that lousy bug using this save editor, any other tools,

maybe HEX editing? Any means of any difficulty will be okay. I prepare ultimate game start saves

(aka master-saves) and collect URV's (aka special vehicles) so I really need huge amount of gameplay

and it's absolutely impossible for me to fit full game completion in 37 hours.

 

Looking forward to any answers.

Yours, AlSar.

Link to comment
Share on other sites

Lethal Vaccine

Yes, it's possible. I can't give you details, but this stuff is 100% possible. I know others, even on PS2, and not PC, who had Traffic Glitches and problems in their SA Save File. They were able to hex edit the stuff to fix it by editing the Global Timers and what not. If it can be done on something more challenging as a PS2 Version, PC Version should be a walk in the park to get it fixed. It's not in my league, so I can't help you. But OrionSR and maybe even thehambone himself can help, but all this Modding stuff is out of my league and never tried doing any of it...

Edited by Militia
Link to comment
Share on other sites

Militia

Thanks for giving more hope =) I know about traffic and taxi glitches in SA, there are fixes for that in good savefile editors.

You know, I don't use modding myself, but this can be considered fixing, adaptation or something like that.

The purpose is not to bring new features, but to restore normal gameplay features to original game.

Edited by AlSar
  • Like 1
Link to comment
Share on other sites

We may want to spin this problem off to it's own topic. I doubt this tool is currently up to the task. After we have completed our research perhaps thehambone will want to integrate a fix into this tool but in the meantime the investigation and testing process is liable to clutter this conversation unnecessarily.

 

Your strategy of resetting the game clock by tweaking the variables in the save file is very similar to the Traffic Bug fix in San Andreas. This is a very complicated repair, something I have never attempted manually with a hex editor. In SA there are many hundreds of values that need to be adjusted for everything to work properly again. From memory:

  • Global and Weather timer
  • Wake up timers for active threads
  • Activity timers for pickups, car generators, and police trigger zones.
  • Similar timers in III or VC that I'm unfamiliar with
  • Global variables associated with game time

The global variables are the trickiest to track down. I suspect that this is where the problem is for the unique jump cameras in III and VC since these functions are part of the script (the USJs are integrated in SA, and aren't effected by timers). Any repairs to global variables may be inappropriate for saves created with modified scripts.

 

I suggest starting by resetting the global and weather timers to a very low value, and then manually adjusting the wakeup timers for threads to get the save back to somewhat normal functioning. In SA, everything that is controlled by the scripts, including the MAIN thread, will be stuck in a WAIT loop (I think wait 250 sets the wake timer of that thread to the global timer plus 250 milliseconds).

 

Look for problems with pickups, cargens, and police triggers; use pickups and cargens, activate the police triggers, cause peds to drop stuff, then look for what happens if you don't reset their variables. This is intended as a learning process, but also verification that what I know from SA applies to III and VC.

 

Read through the USJ section of the scripts and see if you can find how it uses the game clock; look first for global variables that record the game time, but... I am not very familiar with the scripts of III and VC. I'm not really sure what to look for. The idea is to see if your strategy will work on a handful of jumps before worrying about the bugs introduced by your fix.

 

GTASnP has recently upgraded to handle glitch repairs for SA, including the traffic fix. If we can document the process properly there's a reasonably good chance we can talk him into adding a repair on his list of services.

Edited by OrionSR
  • Like 3
Link to comment
Share on other sites

thehambone

thehambone

Hello and thank your very much for you work! It's never too late for such a useful tool.

 

I have one question partially concerning this topic. I think you can help me, because you're a person

who knows a lot about 3rd era GTA savefiles and their structure. But let's move closer to the point.

 

I prefer playing GTA at 60 FPS framerate. It can be achieved by turning frame limiter off while

using global V-Sync setting in video card driver control panel or using CLEO frame limiter script.

But the method doesn't matter here. Thing that matters is an effect of such gameplay.

 

When you reach roughly 2239 minutes of playing time (sligtly more than 37 hours) in GTA III and

about 84 hours in GTA: VC regardless of framerate a bug occurs. This bug takes effect only at 60 FPS.

The problem lies in breakdown of unique stunt jumps' camera. When you jump off the ramp, as usual,

the cinematic mode enables. But when you touch the ground back, cinematic camera remains enabled!

Moreover, game's clock freezes. Of course, it makes following gameplay absolutely impossible.

 

I figured out that this is directly linked only to the time spent in-game. The bug appears on every version

of III and VC and on every savefile made to abovementioned amounts of time respectively. I suppose this

happens because of some game timers mailfunction. So I looked for GTA III's save editor and found your work.

 

I tried to change values of "Global Timer" (GT onwards) and "Weather Timer" (WT onwards) respectively

to amount equivalent to 2000 minutes. I've got the following results:

changing both GT and WT to equal numbers -> cinematic camera totally disappears

changing GT only -> the same, no more cinematic view at all

changing WT only -> no effect, cinematic camera is broken and doesn't switch off

 

So my question is: is it possible to fix that lousy bug using this save editor, any other tools,

maybe HEX editing? Any means of any difficulty will be okay. I prepare ultimate game start saves

(aka master-saves) and collect URV's (aka special vehicles) so I really need huge amount of gameplay

and it's absolutely impossible for me to fit full game completion in 37 hours.

 

Looking forward to any answers.

Yours, AlSar.

I've always heard of issues occurring if you're running your game above 30fps with these older GTAs. This is quite an interesting bug. The fact that the game is running at twice the normal number of frames probably causes the timers to climb super high much earlier than they would under normal conditions.

I would follow the steps that OrionSR suggested, that is, tweaking timer values. I can assist you with this task if you'd like.

  • Like 2

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

A quick review of the USJ script did not turn up any variables that rely on in-game timers. I suspect that editing the GT, WT, and thread wake up timers, will provide a good test save to see if this fix might help.

 

I am puzzled that the game is struggling. I don't see anything in the script that would suggest a problem. I'm wondering if expanding the radius of the jumps might allow the game to discover that the player is within the correct coordinates. Modified scripts is not a good solution but might provide a few clues to where the problem lies. As long as you are experimenting with a modified main, consider adding text messages to each stage of the jump as a strategy for isolating the problem. (Added: This would probably need to be a new save test as any changes to active threads usually results in an immediate crash.)

 

Another strategy that might be a less destructive solution is to modify your cleo frame limiter script to detect when a unique jump is in progress and limit the frame rate to 30 FPS until the jump is complete. A quick search through the III scripts shows that the game speed is always 1.0 unless a USJ is in progress, then it is set to 0.25. You might be able to tease a jump in progress global variable out of the control variables used in the USJ thread but nothing obvious jumped out at me. In VC the gamespeed is always 1.0 except it is set to 0.3 during USJs and some parts of the Stunt Boat Challenge - I can't remember the details of this mission.

 

My thought is, limit the frame rate when the game speed is less than 0.33 and use the same script for both games. This strategy is based on a crude understanding of early patches for problems with dancing and lowrider challenges in the PC version of SA. If game speed is not well documented in memory then it should be easy to isolate by seeding a unique float into the time scale value in the save file.

 

From the GTA III Save Wiki

0x006C 	float 	time scale (opcode 051D) 

I strongly suspect that the opcode listed above should be 015D: set_gamespeed 0.25, but this should probably be verified before making the correction. However, there is no opcode listed for 051D so I'm pretty confident that this is a typographical error.

 

I'm not sure what to suggest for the V-sync strategy.

 

 

________________________ Added Notes ________________________

 

Keep an eye on the globals shown below in III. Other uses of 00BF are always to $65 and $66. These two should always be read just before use. What you need to watch for are occasions where these values are recorded elsewhere. A quick search did not find anything obvious. Edit: I don't think this is an issue. IIRC, it was 01BD that is directly tied to the global timer and is the most concern for resetting the clock.

00BF: $2451 = current_time_hours, $2452 = current_time_minutes

It looks like the police trigger zones are not integrated into the engine on III or VC. Are they disabled on a save with the global and weather timers reset but the threads left asleep? Police Trigger: Usually, police shooting out of nowhere in response to the player entering a certain area with a wanted level. It's always the same number of cars in the same spot, which is different from the random spawns that escalate to Swat, FIB, and Army.

 

Are there other issues associated with very large global timer values in III or VC? Perhaps a timer reset strategy would have other uses. Seeding larger GT and WT values doesn't usually have the adverse effects on wake timers and timestamps that a lower value does. Seeding a unique value into the GT of a save and re-saving might make it easier to identify unknown timers. Search for the upper word in the global timer dword as the lower bits will vary.

 

Resetting the global and weather timers to a low value is a useful strategy for disabling all threads. I have used this strategy to isolate save problems to data file compatibility (you can basically load damn near any screwed up save), and then reset the wake timers one at a time to find a problem thread. You can kill active missions saved by little brothers using a save anywhere mod and then undo the timers to have a working save (maybe delete some blips or mission objects). If missing objects are causing a crash you can at least go to the area and look for the object.

 

I don't know why the repair tools tweak the local timers of active threads. My best guess is that pdescobar thought there might be problems and included this tweak in his early repair tool and everyone else followed suit without checking if it really matters. I know pdescobar to have had an over-engineer philosophy. But if you are doing manual edits you might be able to get away with skipping the local timers.

 

I'm going to be really busy with work for the new few weeks and I probably won't be able to contribute anything of substance. Good luck. I'm piling on the notes somewhat out of context while I've got the time.

 

010 Editor - It's not really all that expensive. If you are really into save editing it is an extremely powerful tool you should consider. I've barely started to learn how to use the extensive feature set. The primary reason I got the 010 Editor was to take advantage of the gta save templates produced by Seemann. These templates can break down the structure of the saves and display the information in a much more useful form. Look for links at the end of each save wiki.

 

$CURRENT_TIME_IN_MS = This value may be used to prevent the player from being interrupted by phone calls too quickly after a mission has ended. If it isn't reset the calls will be disabled but this can easily be fixed by triggering any mission. I may be wrong on the specific variable. I'm too tired to follow through but I know this value is hidden in SA and suspect it is included in VC and III. You should probably look for other instances of 01BD associated with global variables. Added: In SA there may be problems with eating fast food if the timers are reset within 3 hours (iirc) after eating.

Edited by OrionSR
  • Like 3
Link to comment
Share on other sites

OrionSR

thehambone

 

Thank you very much for your attention. Sorry for answering so late, but this massive amount of unknown

technical information in foreign language makes notable difficulties for me to understand. I've had to read it,

manually translate into Russian and read again over and over.

 

As OrionSR suggested, we'd better fork this discussion to a new topic. It would serve as a place

to find and solve savefile bugs in GTA III and VC, respectively, like OrionSR's famous topic about SA.

I already plan to describe several known bugs there.

 

thehambone, your help in studiing these issues will be highly appreciated, because I don't have necessary

amount of knowledge at all. So you'll be a welcome guest in my new topic.

 

I'll create it soon and give a link here, as I'll formulate and prepare my post.

 

 

UPDATE

The topic is created, everybody are welcome HERE.

Edited by AlSar
  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...
radiosilents

There's a blip on my minimap that won't go away, even when I'm not in a mission. It's right over the import/export yard at the Portland docks. Could this save editor somehow let me cancel/remove that blip?

 

EDIT - just saw the new thread and have commented there. sorry for the bump.

Edited by radiosilents
Link to comment
Share on other sites

  • 2 weeks later...
DragonpokeZ

Trying to make the Rhino a gang car for any gang crashes the game upon entering the gang's area... Actually, many other vehicles do this as well, but for some reason making the Triads drive Dodos works perfectly

Link to comment
Share on other sites

Trying to make the Rhino a gang car for any gang crashes the game upon entering the gang's area... Actually, many other vehicles do this as well, but for some reason making the Triads drive Dodos works perfectly

Yeah, unfortunately some vehicles will crash the game when assigned to gangs. That's caused by the game engine. I suppose I can have the editor alert the user if they choose a vehicle that will cause problems.

 

On another note, progress is being made on the next update! I've decided to completely rewrite the I/O functions and rework how data is handled within the program. Not only do these changes optimize operations on the back end, but they will allow for more powerful editing by the user in the future. When I finish with the I/O stuff (which I'm almost done with), I will focus on enabling the editor to edit iOS and Android saves, which shouldn't be very hard with the improved I/O, not to mention the progress made on mobile save documentation in the documentation topic. With that being said, expect this to be more of an improvement update than a feature update. The following update will most likely be a feature update.

Edited by thehambone
  • Like 2

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

inadequate

Hey, you are considering add support for Vice City savegames in a future version? Or release a separate tool for VC like this one?

I think this tool is very very useful and complete, have a lot of options even fixes, all in one :pp. I like this a lot, seriously. :^:

Link to comment
Share on other sites

thehambone

Hey, you are considering add support for Vice City savegames in a future version? Or release a separate tool for VC like this one?

I think this tool is very very useful and complete, have a lot of options even fixes, all in one :pp. I like this a lot, seriously. :^:

Thank you! :) I've actually been considering adding support for other GTA games, though this may not happen for a while. The internal changes that I'm preparing for the next update will allow me to do that though. :^: Right now I'm mainly focused on making as solid GTA III editor. When I've reached a point where I feel that the GTA III portion is complete, I'll most likely expand to other GTA games.

  • Like 2

San Andreas Countryside
Meet the GTA 3 players who've spent a decade playing pass-the-pad to 100% the game - GamesRadar

GTA:LCS Save Editor - Supports Android, iOS, PS2, and PSP saves!

GTA3 Save Editor  - Big update in the works!

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.