Jump to content

RA Savegame Parser


Iran

Recommended Posts

Simple OPEN-SOURCE demo program written in C# .Net 2.0 which parses all the savegame.* files in the folder the program was launched from, displaying the following info:

 

-Number

-Name

-ScenarioNumber

-Side (or Skirmish if skirmish savegame)

-Date (file modify date)

-Version

-Whether it's a multiplayer savegame or not

 

It only support 3.03 and 3.03p savegames.  I'm not sure whether the "is multiplayer" info is always correct, it currently works by checking if ScenarioNumber == 0. I haven't tested parsing network savegames (SAVEGAME.NET).

 

If someone could give me savegames for other game versions that would be great. Also if someone could get me a network savegame (SAVEGAME.NET) file.

 

Download: https://dl.dropboxusercontent.com/u/21865790/Red%20Alert%20Savegame%20Parser.zip

 

Code can be found at: https://github.com/Iran/RASaveGameParser

Link to comment
Share on other sites

That's the "side" info, it saves the HouseType of the player in a byte. I hacked in the skirmish game support by setting this variable to 0xDD (it would be 0x0C or Multi1 anyhow for skirmish, but also for other multiplayer type saves).

Link to comment
Share on other sites

That's the "side" info, it saves the HouseType of the player in a byte. I hacked in the skirmish game support by setting this variable to 0xDD (it would be 0x0C or Multi1 anyhow for skirmish, but also for other multiplayer type saves).

Ah. Just wondering, since C&C1 has preliminary "house" and "mission number" byte in the file header that are only used for checking which CD it needs (mission number > 20 is Covert Ops). These are saved in the header so the savegame loading can ask the right CD before actually loading the savegame. I could probably use this to make the savegame list display sides like RA (and the Covert Ops list) does, actually.

 

I actually had to fix the saving of that House in the header, since it was supposed to save the campaign ID there, and not the house ID. Typical WW laziness, and another thing that they fucked up in the Funpark code; if it had stored the campaign ID there, there would be no need for any special Funpark code there; it's just campaign #2. The real player side and map number (and sub numbers) are stored way further, near the end of the file.

Link to comment
Share on other sites

Hm. Does that mean there are no "campaign IDs" in RA? I know in Dune II (and in C&C1 before my fix) you can switch between campaigns by making a mission of one House actually use a different house as player. If you then save that mission and load it again, the campaign ID in memory would be overwritten by the player's House ID, making you go on to the next mission in the campaign of the House you actually played as, in that mission.

Link to comment
Share on other sites

Oh I see. To my knowledge there are none. The ant missions logic works by checking the file name of the current map and checking for the some characters off that. There are no campaign IDs in the header, there could be one in the rest of the savegame which compressed/encrypted part of the savegame.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...