1.9 Beta Feedback

@Deliverator - Check out my save. This is a repeatable crash using the runtime DLL. However, running a Debug DLL, it is non-fatal but gives me failed asserts at CvGameInterface line 2666 (I remember seeing this before so I don't think this is the cause), CvPlot line 4485 (water related so probably the best bet) and CvUnitAI line 14397 (another obvious candidate). Since there is a failed assert prior to the main title screen (Imperial religion already defined but it does not cause a crash) I assume one of the asserts is catching a condition which causes the program to crash. I thought I would let you know since I will be busy for the next few days.

P.S. 1.9 rocks!:goodjob:View attachment QuickSave.CivBeyondSwordSave
 
Also a minor note, Alia-of-the-Knife seems to have a busted trait, it just shows TXT_KEY_TRAIT_ABOMINATION ... I also can't find an abomination in the civilopedia under traits (or anything that resembles it)

I catch that missing tag too, it's in my last release, with stub text.
 
Using patch 3, I can reproduce this. By trial and error, I have narrowed down the cause, but I don't have a smoking gun. If you look around plot 37,38 in WB, you can see two scout thopters loaded with settlers, one from Corrino and one from Tleilax. Both are attempting to found a new city at 37,38. If you delete either one of these thopters, the crash is avoided. Otherwise it seems that one of them founds the city OK, and then the other one gets so disappointed at missing the opportunity, it makes the game crash.

Thanks! Managed to fix this in the world builder, only to have it popup again several turns down the road, which was fixable by deleting the offending settler again. This time it was a settler that wanted to settle on a spot I put up a city several turns ago.

How do you delete only 1 unit from a stack in the world builder anyway?
 
You can, but it isn't very obvious. Suppose you wanted to *add* a particular unit type, then you would click the button for that unit type in the box with all the unit buttons. If you right click on a stack to delete a unit, it will delete the type whose unit button is checked. So, click the settler unit button; then right click on the stack; and a settler will be deleted.

You probably know you can see the composition of a stack by selecting "edit unit" mode and then clicking the stack; this allows you to edit promotions, but it gives you a dropdown which shows the units in the stack.
 
Ah yes, I did find the edit unit mode but the method you describe to delete only a settler wasn't that obvious.

Also, I've had a few times now that when I build a worker as Fremen that they don't automatically get the sandworker promotion, but I can promote them to it as soon as they are built.
 
@ deliverator and/or jester fool, the same problem has been encountered twice, which means it needs a debugger solution. I "suspect" that BBAI and all-terrain units are having a bad interaction. In grunthex's save, if you ctrl-click the plot, you will see that the settlers show as "**stranded**". I think this triggers a BBAI planner to find a way to rescue them by sending a naval vessel. But probably the DW notion of all-terrain vehicles is not covered here, and the planner unexpectedly fails to find any naval units.

Good work on the analysis. In fact, Jester's savegame also features **STRANDED** settlers this seems like a hypothesis worth exploring.

When using a debug DLL, in all 3 cases the crash does not occur but there are a number of suspicious looking failed asserts as Jester Fool has noted:

File: CvUnitAI.cpp
Line: 17949
Expression: pWaterArea != NULL
Message: Ship out of water?

File: CvPlot.cpp
Line: 4485
Expression: !isWater()
Message:

File: CvUnitAI.cpp
Line: 7893
Expression: pWaterArea != NULL
Message:

File: CvUnitAI.cpp
Line: 8047
Expression: pWaterArea != NULL
Message:

... etc.

I have seen some of these before without there being a fatal crash, but they do indicate that the AI code is not entirely comfortable with regard to all terrain transport.

The CvPlot one indicates that CvPlot::secondWaterArea is being called on a plot that is ocean when it shouldn't be which is one thing to look at.

To test the stranded thing I guess it is a question of putting breakpoints on all the code that has anything to do with it and seeing if anything can be spotted.
 
The Pilgrimage site building seems very cheap; the Palmery building seems very expensive.
Also unclear why the pilgrimage site boosts desert production yields?
 
@Deliverator
You're getting neither a crash nor a "Run-Time Check Failure #3: The variable 'iPathTurns' is being used without being defined" warning for CvUnitAI::AI_pickupStranded with your debug dll?
There is a bug that has been around for ages, introduced by Better AI, which I found today:
http://forums.civfanatics.com/showthread.php?p=9561030#post9561030

I just thought this might be it, could be completely wrong though.
 
Genetic manipulation tech seems like it should be required for the Kwizatz Haderach. Can we add is as a secondary requirement for the 3rd and 4th Kwizatz projects?

Reducing rocket artillery strength from 8 to 7 and howizter strength from 10 to 9 is probably a good place to start for adjusting siege units. Otherwise the Howitzer is as good as missile launchers.

Similarly, reducing hornet strengths by ~15% is probably a good place to start for reducing their power.

I think it makes more sense for Military Complex to require mobile armor than to require Guild Satellites.

Mobile armor should probably also require Desert industry tech (and/or ablative shields tech). And the Light scorpion should maybe be strength 14 (down from 15).

All the Thinking Machine stuff is clustered. How about we add Research labs as an And requirement for the Computerized research lab?
Also, the research lab is pretty underpowered. How about we make it a bit more expensive, and have it provide a free scientist specialist?
 
To test the stranded thing I guess it is a question of putting breakpoints on all the code that has anything to do with it and seeing if anything can be spotted.

There are a fair number of asserts which have always fired with messages about ships and water, without causing a crash. First I would try simply bringing up one of the save games in the debug dll, ignoring all the asserts. You should get the crash and the debugger should tell you the traceback. This happens for me on XP, so it isn't a vista thing. Probably you already thought of that.

If it is related to an attempted stranded rescue, you could edit CvUnitAI::AI_pickupStranded and put "return false" as the first line. If this causes the savegame to go through without crashing, then we are on the right track.
 
davidlallen said:
First I would try simply bringing up one of the save games in the debug dll, ignoring all the asserts. You should get the crash and the debugger should tell you the traceback.

The problem is the crash doesn't happen with the debug dll when I ignore all the asserts on my new Windows 7 machine. The next few turn completes without a crash in all 3 cases.

Fuyu said:
You're getting neither a crash nor a "Run-Time Check Failure #3: The variable 'iPathTurns' is being used without being defined" warning for CvUnitAI::AI_pickupStranded with your debug dll?

Haven't seen that specific error but I can try the fix and see if it helps.
 
If it is related to an attempted stranded rescue, you could edit CvUnitAI::AI_pickupStranded and put "return false" as the first line. If this causes the savegame to go through without crashing, then we are on the right track.

Good call.

I edited CvUnitAI::AI_pickupStranded and put "return false" as the first line. This causes the savegame to go through without crashing, so... we are on the right track (it seems).

Edit: Good news. I merged in the latest version of CvUnitAI::AI_pickupStranded from BBAI 1.01 and that seems to have fixed the crash for all 3 saves (Overspark's, Grunthex's and Jester Fool's savegames). In the first case from Overspark, where Corrino beat the Tleilaxu to the polar city site, the AI picks up the stranded units and puts them down on another of the polar "islands" to the north building its new city there instead which is good to see. This does kind of boost the argument for a cautious merge of the Better BTS AI code into Dune Wars. BBAI 0.82 was merged as part of Dune Wars 1.7 and I'm fairly sure we haven't updated since then. We don't have THAT much custom AI code and we'd clearly benefit from nice bug fixes like this one so I think I'll put merging BBAI 1.01 down on the list.
 
I have added Ahriman's strategy text from post 78, into calvitix's file from post 49. Then I ran a script to hunt for units, buildings or techs which didn't have a strategy tag. This found a half dozen or so and I added new stub entries. Please find the latest file attached.

In addition, I checked for stub tech strategy text, and fixed a bug in the script which was causing it to miss stub building strategy text. I created a spreadsheet with the 30 missing building entries (sorry! I thought we were done), and the 50 missing tech entries. Please find this sheet attached also.

Here is brief strategy text for the missing entries. Nothing exciting, but some simple descriptions.

Please also note, I edited a few things into post 130.

*edit*
Also, intention was for nitrates to have base health bonus removed, only with nursery. Otherwise its too important as a resource I think.
Mechanized trait should arguably increase factory build speed.

*edit2*
Non-fremen workers are sometimes able to get the sandworker promotion. Intended?
 

Attachments

  • still-missing.rar
    10.3 KB · Views: 180
Here is Patch 4 for 1.9 Beta I. It's just a zip file patch to be unzipped over 1.9 Beta I.

Includes everything from Patches 1, 2 and 3 plus...

* New Unit Art for Crysknife Fighter and Imperial Diplomat.

* Fixed: stranded units AI crash bug - fix taken from BBAI 1.01 - thanks to everyone who posted savegames and helped.

* Fixed: Truthsayer was build-able by civs other than Bene Gesserit.

* Fixed: Missing game text TXT_KEY_MISC_ENEMY_FLED

* Fixed: Sandworker Promotion for Worker double movement on desert was not being auto-added to all workers on discovery of Stillsuits. This not working had a significant bearing on gameplay. Also added help text for this promo.

* Fixed: Sandrider promotion movement benefit now properly shown in pedia, etc.

* Monastery - now 80 hammers up from 65.

* Water Cache - amount of water stored down to 30% from 50%.

* Pilgrimage Site - no longer gives +1 hammers from desert tiles, cost increased to 170 from 80.

* Palmery - cost decreased to 170 from 300.

* Softened the leaderhead different religion dislike.

* +1 base health removed from Nitrates (the bonus gives +1 health only with Nursery)

* Merged latest French Translation files from calvitix

* Abomination now listed under Traits in the pedia. (Not sure how to set an icon yet.)

Download Link
 
So what extactly was wrong? I didn't notice any changes there in 1.01

Well, before today Dune Wars had the BBAI 0.82 version of AI_pickupStranded. Quite a few lines had been added between then and 1.01...
 
Idea: At the moment culture can only extend to tiles that are potentially workable by a city. If we take this restriction off, then cultural borders will extend out across the desert as shown so that more spice can be harvested. What do you think?

Spoiler :
 

Attachments

  • Civ4ScreenShot0004.JPG
    Civ4ScreenShot0004.JPG
    208.3 KB · Views: 258
Top Bottom