Thunderbrd
C2C War Dog
Now this is interesting because I did note this and struggled against it trying to figure out what the heck could possibly be causing this. As I look at it it's still fine from what I can see and I brought it up elsewhere here (can't recall where atm) to see if I could get some assistance on the issue. You said 'think uninitialized memory' but how could this possibly have been hitting something uninitialized? By uninitialized, I presume we're talking about the GC.getNumUnitCombatInfos() value but once loaded, how could that be in any way uninitialized?@TB (mainly):
I was getting an assertion failure about out of range unitCombat indexes. It turns out to be this piece of code you modified in rev 5600:
Code:for (int iI = 0; iI < GC.getNumUnitCombatInfos(); iI++); { iMultiplier += getUnitCombatProductionModifier((UnitCombatTypes)iI) / 4; }
The compiler REALLY should warn about this sort of thing (but it's technically valid C++ and the compiler isn't picky enough to warn). Anyway, I'll edit this post with exactly what was wrong in 24 hours - until then it's left as an exercise for the reader (though I'll fix it in my SVN push later today).
Edit - PS - I suspect this explains the hang and also why some people get it and some don't (think uninitialized memory)
Can you let me know what I did wrong with the river defense changes? And I'm curious to know what was causing the specialist disappearances.Just pushed to SVN (5658):
- Fixed CTD associated with river crossing defense changes
- Fixed concurrency issue that could lead to CTD
- Optimized assessment of buildable improvements
...and additionally in second update (rev 5659):
- Fixed potential CTD
- Fixed specialists in captured cities disappearing on recalc
All in all, great work Koshling! We've missed you!
