v19 bugs and crashes

Status
Not open for further replies.
I downloaded SVN today, and started new game. So far I liked it. One minor issue, goats don't add resources when you add them to cities. I don't if they should, but they don't. Second, I saw date palms with sea lions on the same tile. I'm not sure if that how it suppose to work. And last, I'm getting CTD when someone is declaring war on me. Save file is uploaded.
 
Yeah, that works better in my game now also, thx.;)

I'll try to rework it again when I come back to preserve the performance (the old version was adding about 5 seconds per turn for me) and the semantics of the OR. For now I guess we just lose the turn time though.
 
Unfortunately it seems like the problem has already happened in the savegame. It has a huge negative number for a vector size for the Apos Palace vote selections. This likely means memory corruption (as this size is written directly from the size method of a STL vector).
The reason could be anything. Do you have any savegames in the previous turn?

This explanatiion doesn't (fully) make sense. A memory corruption cannot be passed on by a save. Something bad ABOUT the save could result in it, but the serialized (save) format is what is used to recreate STL structures and so on at runtime - it cannot create corrupt ones - the overflow MUST happen in that run and therefore as part of the load...
 
This explanatiion doesn't (fully) make sense. A memory corruption cannot be passed on by a save. Something bad ABOUT the save could result in it, but the serialized (save) format is what is used to recreate STL structures and so on at runtime - it cannot create corrupt ones - the overflow MUST happen in that run and therefore as part of the load...
Well, I assumed in this case that the memory corruption caused a corruption of a vector size which is written directly into the savegame and causes the problems when it is reread.
The problem happens in this function:
ReadStreamableFFreeListTrashArray(m_voteSelections, pStream);
when it calls this:
void VoteSelectionData::read(FDataStreamBase* pStream)

In there this line results in a large negative number for iSize:
WRAPPER_READ_DECORATED(wrapper, "VoteSelectionData",&iSize,"aVoteOption.size");

Actually, now that I think some more about it, it could also just not be in the save game so the uninitialized value is used which explains why sometimes you get 0 selections, sometimes several and sometimes it crashes (too many empty selections I guess).

The question is why it has not been written then. The write function does not look like it can only write parts so maybe the problem is in ReadStreamableFFreeListTrashArray vs. WriteStreamableFFreeListTrashArray.
 
Well, I assumed in this case that the memory corruption caused a corruption of a vector size which is written directly into the savegame and causes the problems when it is reread.
The problem happens in this function:
ReadStreamableFFreeListTrashArray(m_voteSelections, pStream);
when it calls this:
void VoteSelectionData::read(FDataStreamBase* pStream)

In there this line results in a large negative number for iSize:
WRAPPER_READ_DECORATED(wrapper, "VoteSelectionData",&iSize,"aVoteOption.size");

Actually, now that I think some more about it, it could also just not be in the save game so the uninitialized value is used which explains why sometimes you get 0 selections, sometimes several and sometimes it crashes (too many empty selections I guess).

The question is why it has not been written then. The write function does not look like it can only write parts so maybe the problem is in ReadStreamableFFreeListTrashArray vs. WriteStreamableFFreeListTrashArray.

Wrapper reads will leave the initialized values in variables if it is not present in the save stream, so provided iSize is initialized to 0 before that call, OR the save unconditionally saves it so it's always there (I don't have access to the code as I write this) then it shlould be ok. One or both of those conditions is necessary
 
Wrapper reads will leave the initialized values in variables if it is not present in the save stream, so provided iSize is initialized to 0 before that call, OR the save unconditionally saves it so it's always there (I don't have access to the code as I write this) then it shlould be ok. One or both of those conditions is necessary
I use the web version of the SVN when I am not at home (like right now):
https://caveman2cosmos.svn.sourceforge.net/svnroot/caveman2cosmos/trunk/Sources/CvStructs.cpp

When I debug it, iSize has a large negative number after this line:
WRAPPER_READ_DECORATED(wrapper, "VoteSelectionData",&iSize,"aVoteOption.size");
 
I downloaded SVN today, and started new game. So far I liked it. One minor issue, goats don't add resources when you add them to cities. I don't if they should, but they don't. Second, I saw date palms with sea lions on the same tile. I'm not sure if that how it suppose to work. And last, I'm getting CTD when someone is declaring war on me. Save file is uploaded.

The Ibex being subdued is new this release. It can build the goat myth building and the Ibex Compound which allowed a special unit. Unfortunately the graphics for that unit were causing CTDs so was removed and I have not gotten back to it to find out why. There is no goat herd building. The herd buildings are the ones that provide resources. An oversight that I shall fix.

Date Palms and Sea Lions on the same tile is possible because the first is a feature and the second is a resource. The Date Palms, Coconuts and Prickly Pear features will be changed into resources so that this does not happen. However it will probably break save games so we will need to be careful when we introduce it. For now you will juts have to make another decision, date farm or sea lion camp.?
 
Have a few things to address here:

1. EDIT: It was Bribery.

2. Modern Frigate upgrade path one is str 32 but i already have an str of 68?

3. Multiple Production is WOW 49 at one time?

4. Planes bombardment: Some of them are not working, for sure the ships ones doesn't?

5. TXT on the Capturing of a Wonder?
 
I've just downloaded v19. Unfortunately, when i try to load my save from v18 (saved with maximum comatibility, of course) the game crashes to desktop.
 
Have a few things to address here:
1. I have no idea what has happened here in screenie 1, it is called China territory but it was mine, now its his, BUT my units and stuff are still in the city??
have attached a before turn( and an after turn Max Comp.

I have had a similar thing happen in past games. Apparently they were either bribed or had the city switch loyalty. I have no idea how you get cities to do this. But I sure would like to convert enemy cities in the same way.

Anyone know how to do this?

3. Multiple Production is WOW 49 at one time?

Perhaps the storyteller should have a national limit.
 
I have had a similar thing happen in past games. Apparently they were either bribed or had the city switch loyalty. I have no idea how you get cities to do this. But I sure would like to convert enemy cities in the same way.

Anyone know how to do this?

I think with Advanced Espionage, a spy can bribe a city to join your country. Its really expensive and has a low chance of occurring.
 
I've just downloaded v19. Unfortunately, when i try to load my save from v18 (saved with maximum comatibility, of course) the game crashes to desktop.

Make sure you clear the cache. BtS knows to do this between different mods but not different versions of the same mod.

Have a few things to address here:

3. Multiple Production is WOW 49 at one time?

5. TXT on the Capturing of a Wonder?

3. What do you expect when you remove the medieval and renaissance versions of an ancient unit!

5. I thought I fixed that. It is one of The_J's simpler mods that reports on the capture or destruction of wonders. It looks like I may have missed the game text file. :blush:
 
I think with Advanced Espionage, a spy can bribe a city to join your country. Its really expensive and has a low chance of occurring.

HUH:hmm: that never even occurred to me, but sounds like a good answer:confused:
 
HUH:hmm: that never even occurred to me, but sounds like a good answer:confused:

here's the pedia screen for advanced espionage second last point is about bribing cities.
Spoiler :
 
Would the really large (screen filling) blood splatter when you hit a Barbarian Gorilla be classified as a bug?
 
silly question but do you have currency? did not check savegame.
 
Dang after a bribery i have to wait over 109 turns to get the city back? on Epic? 3 pic.

Maybe your enemy has built a castle upkeep (I'm not sure about the name; it's a building that increases citi's anarchy after a conquest); I had once something like 60turns of anarchy, but you can solve with a story teller or a treasure:)

talking about bugs, there are some graphical minor bugs; pumpkins and melons are shown as pink squares
 
Status
Not open for further replies.
Top Bottom