- Joined
- May 5, 2005
- Messages
- 10,106
Civinator is also aware of Wheeled Units moving where they are not suppose to go when they are with Normal Units that can move to a tile. This can be a simple stack of two units, one wheeled and one normal.
Yes

Civinator is also aware of Wheeled Units moving where they are not suppose to go when they are with Normal Units that can move to a tile. This can be a simple stack of two units, one wheeled and one normal.
is exactly what I needed, a save I can load to get the crash. Because then I can run the game in a debugger, let it crash, and the debugger will point right to the problem area.
iVar20 = leaders[(this->Body).CivID].CapitalID;
if ((((cities.Cities == NULL) || (iVar20 < 0)) || (cities.LastIndex < iVar20)) ||
(cities.Cities[iVar20].City == NULL)) {
capital = NULL;
}
else {
capital = (City *)(cities.Cities[iVar20].City[-1].field_3A4 + 0x5a);
}
pTVar10 = Map::get_tile(&bic_data.Map,
(bic_data.Map.Width >> 1) * (uint)(ushort)(capital->Body).Y +
(uint)((ushort)(capital->Body).X >> 1) & 0xffff);
This save file didn't load for me. Is it supposed to be compatible with the current version of RARR?Here is another save file about the houseboat bug in the RARR thread:
https://forums.civfanatics.com/threads/rise-and-rule-revisited-epic-mod.549166/page-25#post-14686269
I've read that the bug crashes the game immediately once the AI's last city is captured but I never saw that either in my tests or in the save Civinator linked me to. I suspect that the houseboat bug actually refers to two different but similar bugs. Both affect AIs with only a settler remaining on a transport but one crashes the game when the AI's last city is captured, and was patched back in vanilla, and the other was introduced in Conquests, causes crashes on the AI's turn, and is only triggered under some strange circumstances that I haven't been able to nail down.I think the issue is with city capture. Each time you capture a city, it does a civ eliminated check. For some reason it doesn't see that when a settler is still alive. I only see it with CCM, so I think it is tied to using custom settlers. Civnator could explain the custom settlers better.
The AI shouldn't be looking at icon numbers to ID units, and I haven't noticed it doing that, not that I've done a thorough investigation.Does the AI not realize what units it has when they're loaded into ships? Or is it based off the AI using the units icon number to determine what is a settler and what isn't?
The houseboat bug is history
The AI shouldn't be looking at icon numbers to ID units, and I haven't noticed it doing that, not that I've done a thorough investigation.
They'll load up HN units into armies as well, and this creates other issues and crashes.
I have never seen an army built and use by AI, do you know how to force it to do so?
As far as I can tell, the simplest way to get the AI to load Armies (and fight with them), is to mod the Army-unit: reduce the transport-capacity to only 1 unit, but give it a substantial HP-bonus (say, +8 HP) as partial compensation.I have never seen an army built and use by AI, do you know how to force it to do so?
Since the AI never alters existing improvements to anything more optimal, wanton AI-pillaging may not be such a bad thing in the long run.When the AI is conquering territory, even through it is likely to soon be their territory, they destroy the improvement and will then have to rebuild, or more likely have a city with unimproved terrain.
The houseboat bug is history.
Some more details about the fix: I overwrote the Map::get_tile function call with a call to a custom function that takes a pointer to a city object and, if it's not null, returns the tile the city is on like the original code, otherwise it returns a pointer to a special "null tile" object that already exists in the base game. This works because the capital city object is only used to get its tile and the tile object is only used (after the code I quoted) to get its continent ID, so this code replacement is possible without side effects.
This save file didn't load for me. Is it supposed to be compatible with the current version of RARR?
I've read that the bug crashes the game immediately once the AI's last city is captured but I never saw that either in my tests or in the save Civinator linked me to. I suspect that the houseboat bug actually refers to two different but similar bugs. Both affect AIs with only a settler remaining on a transport but one crashes the game when the AI's last city is captured, and was patched back in vanilla, and the other was introduced in Conquests, causes crashes on the AI's turn, and is only triggered under some strange circumstances that I haven't been able to nail down.
In all the cases I have seen the houseboat bug in C3C, it was not an immediate crash to desktop, but a freeze after the human player has finished his/her turn.
It would be possible, my mod doesn't affect save games at all so you can switch freely between the modded and unmodded executables. I've never heard of memory corruption from unlimited units, and I digging around in the EXE I haven't seen any reason that would happen. As for removing the city limit, I know where & why that corrupts memory so if I ever implement that (and I intend to look into it eventually) I'll make sure to do it properly.That is awesome. I am wondering, since you made it so your fixes are loaded through its own exe, would it be possible to run your exe for a few turns every time the houseboat bug appears and then revert back to normally loading up the game? Or would this cause too many issues? I was playing around with this idea should your changes ever not be able to be toggled (not a fan of the unlimited cities and units fixes since others have reported the game has memory corruption errors with too many cities and units).
Added to the list. Making the AI less eager to hunt down every HN unit on the map would probably be difficult. Improving the AI's usage of MGLs and armies is something I was thinking of looking into before putting out the next version.Speak of unit AI, a request I'd like to add should you ever get around to it would be to the way the AI handles units with the hidden nationality ability.
Interesting, so the icons are used in the upgrade logic at least. I had quick look through the unit upgrade code and found a reference to a field Antal called "IconID_2", so that checks out.
I don't think so, looking through the code for that function it looks like the unit will just fortify in place if it's not on the same continent as the capital. That should be the case with my fix since the null tile shouldn't be on the same continent as any real tile. I would have to observe the AI's behavior to be sure, however, because there might be some code elsewhere that causes the unit to do something different (but I doubt it). It occurs to me that the critical variable to trigger the houseboat bug might be whether or not the settler on a boat has any available location to settle. In my tests it always did, but in the one save I loaded that bugged out there was nothing close by, and it makes sense that if the AI can't find a place to settle it sends its settler back to its capital. Then the bug would just be that the code to do that doesn't first check if the AI actually has a capital. That still doesn't explain why it only applies to settlers on a boat, though.Does this mean, that the 'houseboat' with the settler on board is continuing its journey in the next turn ?
Alright, I'll install the old version and test that save file too.I tried to start that save and it is not compatible with the current version of RARR (1.7). To have a look at Izengrimm´s save file, the last version of RARR (1.6) must be installed.