Iran Posted October 15, 2013 Share Posted October 15, 2013 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 More sharing options...
Allen262 Posted October 15, 2013 Share Posted October 15, 2013 Neet. Link to comment Share on other sites More sharing options...
Nyerguds Posted October 16, 2013 Share Posted October 16, 2013 Hmm. No "Player Side"? Link to comment Share on other sites More sharing options...
Iran Posted October 16, 2013 Author Share Posted October 16, 2013 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 More sharing options...
Nyerguds Posted October 17, 2013 Share Posted October 17, 2013 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 More sharing options...
Iran Posted October 17, 2013 Author Share Posted October 17, 2013 Yeah RA95 parses the savegame info and checks the HouseType byte to prepend the side text to the savegame name. Link to comment Share on other sites More sharing options...
Nyerguds Posted October 18, 2013 Share Posted October 18, 2013 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 More sharing options...
Iran Posted October 18, 2013 Author Share Posted October 18, 2013 Well there's scenario number and HouseType, there might also be ScenarioName encrypted/compressed. I haven't really tested it. Link to comment Share on other sites More sharing options...
Nyerguds Posted October 22, 2013 Share Posted October 22, 2013 No, no, campaign IDs are like, GDI campaign, Nod campaign, Dinosaur campaign. They determine the [G/B/J] in the SC[X]##EA filename. Link to comment Share on other sites More sharing options...
Iran Posted October 22, 2013 Author Share Posted October 22, 2013 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 More sharing options...
Nyerguds Posted October 23, 2013 Share Posted October 23, 2013 Wow, strange. So it saves the actual mission filename in the savegame rather than the map number and side ints? Link to comment Share on other sites More sharing options...
Iran Posted October 26, 2013 Author Share Posted October 26, 2013 Yes, internally it's a global variable called "ScenarioName". But it stores it in the compressed/encrypted part of the savegame file and not the header. Link to comment Share on other sites More sharing options...
Nyerguds Posted October 29, 2013 Share Posted October 29, 2013 I see. So it actually parses the campaign side info and such from that string again then? Link to comment Share on other sites More sharing options...
Iran Posted October 29, 2013 Author Share Posted October 29, 2013 For the campaign logic yes. There's a special check for the ant missions too, which is done by checking the filename of the mission. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now