...diese Funktionen sind im SDK definiert. Im Ordner CvGameCoreDLL findest du die einzelnen Bibliotheksdateien...in denen alle Funktionen definbiert sind.
Also du musst leider auch ins SDK und ne ne CivGameCore DLL compilieren..
In der CvUnit.cpp und CvUnit.h musst du deine neue Funktion foundwater (oder wie du sie auch immer nennen möchtest) einbinden ...sowie in der CyUnit.cpp....als auch in der CyUnit.p...
In der CIV4UnitSchema musst du dann noch dein neues Element
<ElementType name="bFoundWater" content="textOnly"/> hinzufügen damit du es auch in der UnitInfo nutzen kannst...
CvUnit.cpp
Code:
Water Cities
if (pPlot->isWater())
{
if (!isFoundWater())
{
return false;
}
}
else
{
if (!isFound())
{
return false;
}
}
CvUnit.h
Funktion suchen ->
Code:
DllExport bool isHasPromotionModifiers() const;
dann
Code:
bool isFoundWater() const;
Das ist dein neuer foundwater tag den du im UnitSchema so hinzufügen musst...
Code:
<ElementType name="bFoundWater" content="textOnly"/>
damit du ihn in der Unitinfo auch nutzen kannst.
In der CyUnit.cpp
Water Cities
bool CyUnit::isFoundWater()
{
return m_pUnit ? m_pUnit->isFoundWater() : false;
Und in CyUnit.h
Code:
public:
bool isFoundWater();
bool isHiddenNationality();
int getNumInvisibleTypes();
int /*InvisibleTypes*/ getInvisibleType(int i);
Ans Ende der Ersten Funktoin, also noch vor sich die Funktion mit }; schließt...
Irgendwas vergessen?!?!
Naja gut...und dann halt ne neue DLL compilieren...
Wenn das getan ist, kannste deinen neuen Tag verwenden.
Deepwater hat ein sehr schönes Tutorial zum compilieren von DLL's geschrieben...