1.9 Beta Feedback

davidlallen

Deity
Joined
Apr 28, 2008
Messages
4,743
Location
California
I jammed Ahriman's strategy text into the DuneWarsText.xml file from patch 2. I also checked the existing units and buildings to find ones with a missing or stub strategy. Good news: there are only around 25 units missing strategies, and no buildings are missing a strategy.

@ Ahriman, could you fill in the missing strategies in the attached sheet?

@ deliverator, attached is the new text file. I am a little confused by the new files like DuneWars_Building_CIV4GameText.xml. These files are not referenced anywhere in the mod. That is, all the strings defined in these files end in _DESC but there are no places where strings like something_DESC are ever used. So these files just take up space. Are they supposed to contain something useful?

For my next trick, I will try to find all the stub text in the mod. Filling in the unit and building strategies is a great step because it shows up in Sid's Tips, but while we have momentum, getting rid of more stub text will be nice too.
 

Attachments

  • missing-strat.zip
    4.8 KB · Views: 68
  • DuneWarsText.zip
    141.3 KB · Views: 113

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
@ deliverator, attached is the new text file. I am a little confused by the new files like DuneWars_Building_CIV4GameText.xml. These files are not referenced anywhere in the mod. That is, all the strings defined in these files end in _DESC but there are no places where strings like something_DESC are ever used. So these files just take up space. Are they supposed to contain something useful?

These were created by calvitix as part of his French translation. It sounds like they are redundant now and can be removed.
 

Jester Fool

Emperor
Joined
Apr 2, 2010
Messages
1,181
Location
Katy, TX
@ Deliverator :
Spoiler :
void CvPlayerAI::AI_reset(bool bConstructor)
{
int iI;

AI_uninit();

m_iPeaceWeight = 0; <-- game crashes here (line 249)
m_iEspionageWeight = 0;
m_iAttackOddsChange = 0;
m_iCivicTimer = 0;
m_iReligionTimer = 0;
m_iExtraGoldTarget = 0;
Spoiler :
void CvPlayerAI::read(FDataStreamBase* pStream)
{
CvPlayer::read(pStream); // read base class data first

uint uiFlag=0;
pStream->Read(&uiFlag); // flags for expansion

pStream->Read(&m_iPeaceWeight);<--read from the XML?
pStream->Read(&m_iEspionageWeight);
pStream->Read(&m_iAttackOddsChange);
pStream->Read(&m_iCivicTimer);
pStream->Read(&m_iReligionTimer);
pStream->Read(&m_iExtraGoldTarget);

pStream->Read(&m_iStrategyHash);
pStream->Read(&m_iStrategyHashCacheTurn);
Looking at Civ4LeaderHeadInfos.xml, "iPeaceWeight" is not there. "iEspionageWeight" is. I don't know if this matters.
 

davidlallen

Deity
Joined
Apr 28, 2008
Messages
4,743
Location
California
For my next trick, I will try to find all the stub text in the mod. Filling in the unit and building strategies is a great step because it shows up in Sid's Tips, but while we have momentum, getting rid of more stub text will be nice too.

I suppose I could have predicted the results of this trick. None of the 100 buildings, 25 civics, 60 techs or 90 units have pedia entries. Most of the 60 techs have no quotes. 7 bonuses and two projects are missing pedia text. If somebody is interested in writing building, civic, tech or unit pedias, and having a list would help, let me know. Otherwise just open a text editor, type the name of the building/civic/tech, and the text. We can jam it in.

The missing bonuses are crystal, date palm, kindjal, ore, polar ice, sardaukar cooperation and sisterhood covenant. The two projects are Breeding and House Atomics.

(EDIT: while I was typing, Ahriman was volunteering. Please find attached a zipfile of the missing entries. Import into excel and type away!)
 

Attachments

  • stub.zip
    2.6 KB · Views: 97

Jester Fool

Emperor
Joined
Apr 2, 2010
Messages
1,181
Location
Katy, TX
Actually, it seems that AI_uninit() is the function that is failing. Call stack:
Spoiler :
> CvGameCoreDLL.dll!CvPlayerAI::AI_reset(bool bConstructor=false) Line 249 C++
CvGameCoreDLL.dll!CvPlayer::reset(PlayerTypes eID=1, bool bConstructorCall=false) Line 1177 C++
CvGameCoreDLL.dll!CvPlayer::init(PlayerTypes eID=1) Line 192 C++
 

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
Thanks JF, at least that narrows it down a bit. I guess it is something around changes to CvPlayerAI.cpp or CvPlayer.cpp.

First suspect might be the two new arrays m_afProximityDiploValue and m_aiProximityDiploLastAdjust. I noticed that this block is repeated twice in CvPlayerAI::CvPlayerAI() which is at the very least untidy and unnecessary.

Code:
/*************************************************************************************************/
/**	New Tag Defs	(PlayerInfos)			09/01/08								Xienwolf	**/
/**																								**/
/**										Allocate Memory											**/
/*************************************************************************************************/
	m_afProximityDiploValue = new float[MAX_PLAYERS];
	m_aiProximityDiploLastAdjust = new int[MAX_PLAYERS];
/*************************************************************************************************/
/**	New Tag Defs							END													**/
/*************************************************************************************************/

You try simply removing or stubbing out all references to these two new arrays to see if that helps. When I have more time I'll create a list of all changes between 1.8.0.2 and 1.9 Beta I around CvPlayer and CvPlayerAI.
 

db0

Bane of Misoids
Joined
Aug 31, 2010
Messages
92
Location
Somewhere far beyond...
I suppose I could have predicted the results of this trick. None of the 100 buildings, 25 civics, 60 techs or 90 units have pedia entries. Most of the 60 techs have no quotes. 7 bonuses and two projects are missing pedia text. If somebody is interested in writing building, civic, tech or unit pedias, and having a list would help, let me know. Otherwise just open a text editor, type the name of the building/civic/tech, and the text. We can jam it in.

The missing bonuses are crystal, date palm, kindjal, ore, polar ice, sardaukar cooperation and sisterhood covenant. The two projects are Breeding and House Atomics.

(EDIT: while I was typing, Ahriman was volunteering. Please find attached a zipfile of the missing entries. Import into excel and type away!)

If you're going to crowdsource this, wouldn't it help to do it in a wiki? This way you avoid duplicate effort (i.e. multiple people downloading the excel and working on the same stuff at the same time)
 

calvitix

C2C translation Team
Joined
Mar 23, 2010
Messages
199
Location
France
These were created by calvitix as part of his French translation. It sounds like they are redundant now and can be removed.

No all the tags are included in the DunewarText.xml.

I updated it, merged with the new strategy texts from Ahriman. I also added a lot of tags : terrain, civilisation names, traits, civics, short desc, ...

With that revision all the Dunewars_* are useless and can be deleted.
 

Attachments

  • Dune Wars beta 1-9-B-1-2 - French translation - v0.29.7z
    175.3 KB · Views: 58

davidlallen

Deity
Joined
Apr 28, 2008
Messages
4,743
Location
California
If you're going to crowdsource this, wouldn't it help to do it in a wiki? This way you avoid duplicate effort (i.e. multiple people downloading the excel and working on the same stuff at the same time)

A wiki is an excellent idea for a large crowd, say more than two. If there are two people, a few posts/private messages keep things in sync. We have a thread Post-1.8 patches which hasn't gotten used much in the last few months because only one person was actively developing code.

Please pick out an area you want to work on, post so we know, and go for it! Any kind of Excel or text file is fine, we can jam it into the code with a one-time script.
 

db0

Bane of Misoids
Joined
Aug 31, 2010
Messages
92
Location
Somewhere far beyond...
A wiki is an excellent idea for a large crowd, say more than two. If there are two people, a few posts/private messages keep things in sync. We have a thread Post-1.8 patches which hasn't gotten used much in the last few months because only one person was actively developing code.

Ah, I see, haha, given the quality of the mod, I had assumed that you had a whole team working on it :)

Please pick out an area you want to work on, post so we know, and go for it! Any kind of Excel or text file is fine, we can jam it into the code with a one-time script.

Cool. Given that my Dune lore is a bit rusty, I think I'll start initially with some random event brainstorming :)
 

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
Ah, I see, haha, given the quality of the mod, I had assumed that you had a whole team working on it :)

Well, a collection of people have indeed contributed to making Dune Wars what it is now - it's simply that at the moment I'm the only one with the time and inclination to be actually actively developing stuff. However, support and feedback from the other team members and new volunteers is always appreciated. :)
 

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
I've made a small SDK patch to see if we can get this working in Vista/Windows 7. The changed source (3 files) and a new DLL is included. Can someone please install this over 1.9 Beta I Patch 2 and see if it helps?

In this patch I have removed all the Promixity Diplo stuff from CvPlayerAI.cpp that were made between 1.8.0.2 and 1.9 Beta I. This is not being used yet by any features anyway.

@Jester Fool: If this SDK fix doesn't work can you check that the mod breaks at the same point please?

At the least this should help with the process of elimination.

Download Link
 

Overspark

Chieftain
Joined
Aug 27, 2010
Messages
14
Doesn't fix anything for me unfortunately. This is still on Windows 7, tried both as normal user and as administrator to be sure.
 

Jester Fool

Emperor
Joined
Apr 2, 2010
Messages
1,181
Location
Katy, TX
The break still occurs at the same spot.
Code:
m_aiBonusValue = 12
m_aiUnitClassWeights = 1699872782
m_aiUnitCombatWeights = 16
m_aiUnitClassWeights *seems* wrong somehow. The weird thing is that CvPlayerAI::AI_uninit() is called 50 times without problem before the main title screen is shown, but fails when called upon game start (initialization phase).
 

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
The break still occurs at the same spot.
Code:
m_aiBonusValue = 12
m_aiUnitClassWeights = 1699872782
m_aiUnitCombatWeights = 16
m_aiUnitClassWeights *seems* wrong somehow. The weird thing is that CvPlayerAI::AI_uninit() is called 50 times without problem before the main title screen is shown, but fails when called upon game start (initialization phase).

Mmmmm. This doesn't make much sense right now. Perhaps we need to verify the validity of the XML again just to eliminate that possibility - there have been lots of changes and additions and it is quite likely there is the odd error.

I don't really have time to do much more until Thursday unfortunately.

Edit: Is there a way we can figure out which Player is causing the crash? Perhaps there is an issue with a particular civilization.
 

Deliverator

Graphical Hackificator
Joined
Feb 12, 2008
Messages
4,806
Location
London, UK
Another thing to test: Does 1.9 Beta I XML work with the 1.8.0.2 DLL?
 

Ahriman

Tyrant
Joined
Jun 8, 2008
Messages
13,266
Location
Washington, DC
I've made a small SDK patch to see if we can get this working in Vista/Windows 7. The changed source (3 files) and a new DLL is included. Can someone please install this over 1.9 Beta I Patch 2 and see if it helps?
Confirmed: still doesn't work.
 

Jester Fool

Emperor
Joined
Apr 2, 2010
Messages
1,181
Location
Katy, TX
Yes, the 1.8x dll works with 1.9. It does throw python exceptions but that is expected. I'll see if I can determine if a specific civ is causing the CTD during initialization.
 
Top Bottom