HW2R: Ships not carrying over between missions

I apologize if this is not the appropriate place for this issue, but in short, I decided to give Homeworld 2 Remastered a run (first having downloaded a slew of new updates) and it was at Mission 3’s start that I realized the ships I had amassed in the mission prior didn’t all carry over. I loaded up an earlier save of mission 2 just to check, and before the mission ended I had 7 squads of interceptors (35 total using the new counter), 7 squads of bombers (35), and the 2 elite bomber squads you get from the fifth transport docking safely (so 16 squads in total, but the population count had it listed as 72 ships total in the fighter category).

Fast-forward to the next level and I only have 57 fighter class ships in my possession. It looked like 2 interceptor squadrons and 1 bomber squadron had been lost in the level transition. To clarify, no combat was occurring for nearly 15-30 minutes at the end of the second mission, as transport 3 and 5 were stuck in limbo fighting for the rights to dock first - no fighters could have been lost during this period without any aggressive forces about.

I thought at first this might have been related to me cheating the system by having more fighters than the game would allow before the mission change. I loaded up my earlier save, retired two squadrons of bombers to make room for the new elite bombers and ended the level with 7 interceptor squadrons, 5 bomber squadrons, 2 elite bomber squadrons (70 total, the max the game would allow). I waited for the mission to end, and come the next level I find I have even LESS fighter class ships (now at 47 instead of the 57 from before).

I’ve played the new remastered homeworld 2 almost a year ago, and this was not an issue at the time. I suspect one of the new updates might be the culprit. Wondering if someone else had encountered this issue and knew how to fix it? Or at least a way to roll back updates so that I’m not constantly being shortchanged forces each new level?

Hmm, did you start a campaign from scratch, or continue form a save file pre-patch?

Also, can you check your persist file for mission 3, or post it here, to see if the correct amount of units are listed?

Thanks for the reply. For the first question, I started from Mission 1. The mission select had all the missions available (from the last time I played), so I’m not certain if that would cause an issue. For all intents and purposes, it should have been a fresh run, starting from the very beginning. I could not see any previous saves to load from, and I suppose they might be incompatible with the new updates (though they are listed in my file system outside of the game).

The persist file has 5 Interceptors listed (25), 4 Bombers (20), and 2 Elite Bombers. Factoring in that the Elite ships are counted as 1 each instead of 5 for some reason, this tally comes out 47, the number I had when I started mission 3 last. In that regard, it seems consistent, but this does not match the number of units I left mission 2 with (70~72 depending on how I was playing it).

What I understand to be the relevant persist data follows from the persist3.lua file:

Squadrons = {
    {
      tactic = 2,
      type = "Hgn_MotherShip",
      subsystems = {
        {
          index = 0,
          name = "HGN_MS_PRODUCTION_FIGHTER",
        },
        {
          index = 0,
          name = "HGN_MS_PRODUCTION_CORVETTE",
        },
        {
          index = 0,
          name = "HGN_MS_MODULE_RESEARCH",
        },
        {
          index = 0,
          name = "HGN_MS_INNATE_ENGINE",
        },
        {
          index = 0,
          name = "HGN_MS_INNATE_RESOURCE",
        },
      },
      stance = 2,
      shiphold = {
        {
          index = 0,
          type = "Hgn_Interceptor",
          stance = 0,
          hotkey = 67108905,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_Interceptor",
          stance = 0,
          hotkey = 67108905,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_AttackBomber",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_AttackBomberElite",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 14,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_AttackBomberElite",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 15,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_ResourceCollector",
          stance = 2,
          hotkey = 1024,
          teamColourHandle = 0,
          size = 0,
          tactic = 1,
        },
        {
          index = 0,
          type = "Hgn_AttackBomber",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_Interceptor",
          stance = 0,
          hotkey = 67108905,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_Interceptor",
          stance = 0,
          hotkey = 67108905,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_Interceptor",
          stance = 0,
          hotkey = 67108905,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_AttackBomber",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_AttackBomber",
          stance = 0,
          hotkey = 67108913,
          teamColourHandle = 0,
          size = 0,
          tactic = 0,
        },
        {
          index = 0,
          type = "Hgn_ResourceCollector",
          stance = 2,
          hotkey = 1024,
          teamColourHandle = 0,
          size = 0,
          tactic = 1,
        },
        {
          index = 0,
          type = "Hgn_ResourceCollector",
          stance = 2,
          hotkey = 1024,
          teamColourHandle = 0,
          size = 0,
          tactic = 1,
        },
        {
          index = 0,
          type = "Hgn_ResourceCollector",
          stance = 2,
          hotkey = 1024,
          teamColourHandle = 0,
          size = 0,
          tactic = 1,
        },
        {
          index = 0,
          type = "Hgn_AssaultCorvetteElite",
          stance = 0,
          hotkey = 0,
          teamColourHandle = 16,
          size = 0,
          tactic = 1,
        },
        {
          index = 0,
          type = "Hgn_AssaultCorvetteElite",
          stance = 0,
          hotkey = 0,
          teamColourHandle = 17,
          size = 0,
          tactic = 1,
        },
      },
      name = "Hgn_MotherShip",
      teamColourHandle = 0,
      hotkey = 0,
    },
  },

I suppose if it came down to it, I could just modify the persist file to carry over the correct number of ships that way. Probably not ideal in the long run, but as I don’t see any issues on the subject, I have to acknowledge the possibility I am the only one this is happening to.

Checking in the .ship files, I found the elite bombers do indeed count as one fighter, as opposed to the five. This probably should be changed, as it does not make any sense.

Can you count up each squad (again) at the end of the previous mission, but this time try to dock and undock them to see if something odd happens? I’ve had but a few instances where one or two of my ships squads were still listed in the supply count but were no where to be found.

Also, can you, if not done already, save right before the end of the previous level and end it, then verify the persist file is indeed being updated?

There shouldn’t be an issue if you have a fighter value of 72 instead of 70. Each squad usually counts as five fighters, so if you built 14 from scratch, you’d be capped out. However, those elite squads can be transferred over, thus pushing you over the limit. Even if you had one less squad with a fighter supply value of 67, you can still build one more squad. You can also use this two build an extra scout squad, I suppose. Anyway, the value shouldn’t cause error unless there is some coding to remove squads that go over the limit… which I haven’t seen or experienced.

The next step would be to delete or remove the persist3 file and see what is generated again AFTER restarting the previous mission. I’ll do some digging and see if there is something else at play here… but this is indeed unique.

Run the game as administrator if you find it isn’t updating the persist3 file.

The persist file is definitely updating, and I didn’t see any issue with the ship count after docking/undocking. It had a total count of 47 when I entered the third mission last, and it updated to 57 again after hitting 72 total at the end of M2. So it is consistent, despite how odd it is.

Went ahead and edited the persist file manually for the 3rd mission, and it seems to have taken. I have the exact number of fighters/bombers/elite bombers that I should when starting the third mission (72).

Doesn’t seem to be happening on mission 4 from what I can tell, but I ended with 67 instead of >=70, so I’ll have to give it a go without losing any ships to see if hitting the max cap (or going over) is somehow affecting it. I can’t do any more today due to the time here, but I’ll reply back if I see it happening tomorrow or else just shrug it off as a mission 2 oddity.

Ran through Mission 3 again without losing any ships (ending with 72 fighter class ships total). These carried over in full to Mission 4.

Went back to Mission 2 and tried once more after deleting the persist file. Ended the mission with 72 fighter class ships as before. Started mission 3 with 57 (5 interceptor squadrons, 6 bombers) as before. Checking the newly generated persist file for Mission 3 matches the 57 total.

It’s almost as if it’s some sort of scaling that’s been implemented to ensure only a certain number of ships start mission 3. It’s bizarre. It doesn’t seem to have any effect on Mission 3->4; as far as I can tell, all of my ships are accounted for (including corvettes and the 4 capture frigates). I don’t have any real explanation for it, but it looks like I should be able to safely carry on with the game at the very least. Just required manual editing of the persist file for mission 3 to get through with all my ships intact. I don’t know if one of the recent updates is the culprit, but as distressing as it was originally, I’m relieved to know there are ways around it.

1 Like

It’s simple. The 2 fighter and one bomber squadrons are not carrying over like in original Homeworld.

So you need to retire exactly this squadrons and build new ones up to 72 with elites.

Please check the dates on posts before hitting reply - this thread is 3 years old, and the OP has not been on the forums in all that time. Thanks!