Update inventory arrays to be vectors. Add class for inventory. Change some structs that use inventories to classes to provide constructors, destructors, etc. Note that with this update all file operations should still be compatible with previous files.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@973 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
SpaceViking
2007-06-15 03:05:04 +00:00
parent ac41de3515
commit 2cd3521e3f
5 changed files with 25 additions and 11 deletions
+3 -1
View File
@@ -59,8 +59,10 @@ BUILDING * GenerateBuilding( INT16 sDesiredSpot )
return( NULL );
}
// WDS - Clean up inventory handling
// set up fake soldier for location testing
memset( &FakeSoldier, 0, sizeof( SOLDIERTYPE ) );
// memset( &FakeSoldier, 0, SIZEOF_SOLDIERTYPE );
FakeSoldier.initialize();
FakeSoldier.sGridNo = sDesiredSpot;
FakeSoldier.bLevel = 1;
FakeSoldier.bTeam = 1;
+3 -1
View File
@@ -256,9 +256,11 @@ UINT16 FindGridNoFromSweetSpotCloseToExitGrid( SOLDIERTYPE *pSoldier, INT16 sSwe
gubNPCAPBudget = 0;
gubNPCDistLimit = ubRadius;
// WDS - Clean up inventory handling
//create dummy soldier, and use the pathing to determine which nearby slots are
//reachable.
memset( &soldier, 0, sizeof( SOLDIERTYPE ) );
// memset( &soldier, 0, SIZEOF_SOLDIERTYPE );
soldier.initialize();
soldier.bLevel = 0;
soldier.bTeam = 1;
soldier.sGridNo = pSoldier->sGridNo;
+9 -3
View File
@@ -123,7 +123,9 @@ void ValidateEdgepoints()
UINT16 usValidEdgepoints;
SOLDIERTYPE Soldier;
memset( &Soldier, 0, sizeof( SOLDIERTYPE ) );
// WDS - Clean up inventory handling
// memset( &Soldier, 0, SIZEOF_SOLDIERTYPE );
Soldier.initialize();
Soldier.bTeam = 1;
//north
@@ -435,7 +437,9 @@ void ClassifyEdgepoints()
SOLDIERTYPE Soldier;
INT16 sGridNo = -1;
memset( &Soldier, 0, sizeof( SOLDIERTYPE ) );
// WDS - Clean up inventory handling
// memset( &Soldier, 0, SIZEOF_SOLDIERTYPE );
Soldier.initialize();
Soldier.bTeam = 1;
//north
@@ -1636,7 +1640,9 @@ UINT8 CalcMapEdgepointClassInsertionCode( INT16 sGridNo )
INT16 sClosestSpot2 = NOWHERE, sClosestDist2 = 0x7FFF;
BOOLEAN fPrimaryValid = FALSE, fSecondaryValid = FALSE;
memset( &Soldier, 0, sizeof( SOLDIERTYPE ) );
// WDS - Clean up inventory handling
// memset( &Soldier, 0, SIZEOF_SOLDIERTYPE );
Soldier.initialize();
Soldier.bTeam = 1;
Soldier.sGridNo = sGridNo;
+5 -2
View File
@@ -1695,8 +1695,9 @@ BOOLEAN SaveWorld( const STR8 puiFilename )
// Write tileset ID
FileWrite( hfile, &giCurrentTilesetID, sizeof( INT32 ), &uiBytesWritten );
// WDS - Clean up inventory handling
// Write SOLDIER CONTROL SIZE
uiSoldierSize = sizeof( SOLDIERTYPE );
uiSoldierSize = SIZEOF_SOLDIERTYPE_POD; //SIZEOF_SOLDIERTYPE;
FileWrite( hfile, &uiSoldierSize, sizeof( INT32 ), &uiBytesWritten );
@@ -2477,7 +2478,9 @@ BOOLEAN EvaluateWorld( STR8 pSector, UINT8 ubLevel )
}
if( basic.fDetailedPlacement )
{ //skip static priority placement
LOADDATA( &priority, pBuffer, sizeof( SOLDIERCREATE_STRUCT ) );
// WDS - Clean up inventory handling
LOADDATA( &priority, pBuffer, SIZEOF_SOLDIERCREATE_STRUCT_POD); //SIZEOF_SOLDIERCREATE_STRUCT );
priority.CopyOldDataToNew();
if( priority.ubProfile != NO_PROFILE )
pTeam->ubProfile++;
else
+5 -4
View File
@@ -104,9 +104,10 @@
#define ANY_SMOKE_EFFECT ( MAPELEMENT_EXT_CREATUREGAS | MAPELEMENT_EXT_SMOKE | MAPELEMENT_EXT_TEARGAS | MAPELEMENT_EXT_MUSTARDGAS | MAPELEMENT_EXT_BURNABLEGAS )
typedef struct TAG_level_node
// WDS - Clean up inventory handling
struct LEVELNODE
{
struct TAG_level_node *pNext;
struct LEVELNODE *pNext;
UINT32 uiFlags; // flags struct
UINT8 ubSumLights; // LIGHTING INFO
@@ -114,7 +115,7 @@ typedef struct TAG_level_node
union
{
struct TAG_level_node *pPrevNode; // FOR LAND, GOING BACKWARDS POINTER
struct LEVELNODE *pPrevNode; // FOR LAND, GOING BACKWARDS POINTER
STRUCTURE *pStructureData; // STRUCTURE DATA
INT32 iPhysicsObjectID; // ID FOR PHYSICS ITEM
INT32 uiAPCost; // FOR AP DISPLAY
@@ -173,7 +174,7 @@ typedef struct TAG_level_node
UINT8 ubNaturalShadeLevel; // LIGHTING INFO
UINT8 ubFakeShadeLevel; // LIGHTING INFO
} LEVELNODE;
}; // LEVELNODE;
#define LAND_START_INDEX 1