mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Import changes from the local SVN working copy
This commit is contained in:
@@ -168,7 +168,7 @@ void AddNewItemToSelectedMercsInventory( BOOLEAN fCreate );
|
||||
void RenderMercInventoryPanel();
|
||||
void SetDroppableCheckboxesBasedOnMercsInventory();
|
||||
|
||||
extern BOOLEAN InternalAddSoldierToSector( UINT8 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
extern BOOLEAN InternalAddSoldierToSector( UINT16 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
|
||||
//array which keeps track of which item is in which slot. This is dependant on the selected merc, so
|
||||
//these temp values must be updated when different mercs are selected, and reset when a merc detailed
|
||||
@@ -565,7 +565,7 @@ void AddMercToWorld( INT32 iMapIndex )
|
||||
|
||||
if( IsLocationSittable( iMapIndex, gfRoofPlacement ) )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT16 sSectorX, sSectorY;
|
||||
SOLDIERINITNODE *pNode;
|
||||
|
||||
@@ -3789,7 +3789,7 @@ void PasteMercPlacement( INT32 iMapIndex )
|
||||
|
||||
if( IsLocationSittable( iMapIndex, gfRoofPlacement ) )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT16 sSectorX, sSectorY;
|
||||
SOLDIERINITNODE *pNode;
|
||||
|
||||
|
||||
+2
-1
@@ -22,6 +22,7 @@ extern CHAR16 zRevisionNumber[16];
|
||||
// Keeps track of the saved game version. Increment the saved game version whenever
|
||||
// you will invalidate the saved game file
|
||||
|
||||
#define INCREASED_TEAMSIZES 184 // Asdow: SOLDIERTYPE ubID changed from UINT8 -> UINT16
|
||||
#define REBELCOMMAND 183
|
||||
#define DRAGSTRUCTURE 182 // Flugente: we can drag structures behind us
|
||||
#define DISABILITYFLAGMASK 181 // Flugente: disabilities get a flagmask
|
||||
@@ -103,7 +104,7 @@ extern CHAR16 zRevisionNumber[16];
|
||||
#define AP100_SAVEGAME_DATATYPE_CHANGE 105 // Before this, we didn't have the 100AP structure changes
|
||||
#define NIV_SAVEGAME_DATATYPE_CHANGE 102 // Before this, we used the old structure system
|
||||
|
||||
#define SAVE_GAME_VERSION REBELCOMMAND
|
||||
#define SAVE_GAME_VERSION INCREASED_TEAMSIZES
|
||||
|
||||
//#define RUSSIANGOLD
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -3700,11 +3700,11 @@ void OutOfStockMessageBoxCallBack( UINT8 bExitValue )
|
||||
UINT8 CheckPlayersInventoryForGunMatchingGivenAmmoID( INT16 sItemID )
|
||||
{
|
||||
UINT8 ubItemCount=0;
|
||||
UINT8 ubMercCount;
|
||||
UINT16 ubMercCount;
|
||||
UINT8 ubPocketCount;
|
||||
|
||||
UINT8 ubFirstID = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
UINT8 ubLastID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
|
||||
UINT16 ubFirstID = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
UINT16 ubLastID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
|
||||
|
||||
//loop through all the mercs on the team
|
||||
for( ubMercCount = ubFirstID; ubMercCount <= ubLastID; ++ubMercCount )
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ class SOLDIERTYPE;
|
||||
typedef struct
|
||||
{
|
||||
BOOLEAN fActive;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT8 ubMercID;
|
||||
INT32 iPayOutPrice;
|
||||
} LIFE_INSURANCE_PAYOUT;
|
||||
|
||||
@@ -170,7 +170,7 @@ void InsuranceContractUserTextFieldCallBack( UINT8 ubID, BOOLEAN fEntering );
|
||||
INT8 CountInsurableMercs();
|
||||
void DisableInsuranceContractNextPreviousbuttons();
|
||||
void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate);
|
||||
void HandleAcceptButton( UINT8 ubSoldierID, UINT8 ubFormID );
|
||||
void HandleAcceptButton( UINT16 ubSoldierID, UINT8 ubFormID );
|
||||
FLOAT DiffFromNormRatio( INT16 sThisValue, INT16 sNormalValue );
|
||||
void InsContractNoMercsPopupCallBack( UINT8 bExitValue );
|
||||
void BuildInsuranceArray();
|
||||
@@ -752,7 +752,7 @@ void BtnInsuranceAcceptClearForm1ButtonCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if (btn->uiFlags & BUTTON_CLICKED_ON)
|
||||
{
|
||||
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
|
||||
UINT8 ubSoldierID = (UINT8) GetSoldierIDFromMercID( gubMercIDForMercInForm1 );
|
||||
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm1 );
|
||||
|
||||
btn->uiFlags &= (~BUTTON_CLICKED_ON );
|
||||
|
||||
@@ -796,7 +796,7 @@ void BtnInsuranceAcceptClearForm2ButtonCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if (btn->uiFlags & BUTTON_CLICKED_ON)
|
||||
{
|
||||
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
|
||||
UINT8 ubSoldierID = (UINT8) GetSoldierIDFromMercID( gubMercIDForMercInForm2 );
|
||||
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm2 );
|
||||
|
||||
btn->uiFlags &= (~BUTTON_CLICKED_ON );
|
||||
|
||||
@@ -841,7 +841,7 @@ void BtnInsuranceAcceptClearForm3ButtonCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if (btn->uiFlags & BUTTON_CLICKED_ON)
|
||||
{
|
||||
UINT8 ubButton = (UINT8) MSYS_GetBtnUserData( btn, 0 );
|
||||
UINT8 ubSoldierID = (UINT8) GetSoldierIDFromMercID( gubMercIDForMercInForm3 );
|
||||
INT16 ubSoldierID = GetSoldierIDFromMercID( gubMercIDForMercInForm3 );
|
||||
|
||||
btn->uiFlags &= (~BUTTON_CLICKED_ON );
|
||||
|
||||
@@ -943,10 +943,10 @@ void SelectInsuranceContractRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason
|
||||
|
||||
INT8 CountInsurableMercs()
|
||||
{
|
||||
INT16 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT16 bLastTeamID;
|
||||
INT8 bCount=0;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bLastTeamID;
|
||||
INT8 bCount=0;
|
||||
|
||||
// Set locator to first merc
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -1071,7 +1071,7 @@ void CreateDestroyInsuranceContractFormButtons( BOOLEAN fCreate)
|
||||
|
||||
|
||||
|
||||
void HandleAcceptButton( UINT8 ubSoldierID, UINT8 ubFormID )
|
||||
void HandleAcceptButton( UINT16 ubSoldierID, UINT8 ubFormID )
|
||||
{
|
||||
//passed in either 1,2,3 should be 0,1,2
|
||||
ubFormID--;
|
||||
@@ -1459,7 +1459,7 @@ void EndInsuranceInvestigation( UINT8 ubPayoutID )
|
||||
|
||||
|
||||
//void InsuranceContractPayLifeInsuranceForDeadMerc( LIFE_INSURANCE_PAYOUT *pPayoutStruct )
|
||||
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT8 ubPayoutID )
|
||||
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT16 ubPayoutID )
|
||||
{
|
||||
//if the mercs id number is the same what is in the soldier array
|
||||
if( LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID == Menptr[ LaptopSaveInfo.pLifeInsurancePayouts[ ubPayoutID ].ubSoldierID ].ubID )
|
||||
|
||||
@@ -18,7 +18,7 @@ void DailyUpdateOfInsuredMercs();
|
||||
//void InsuranceContractPayLifeInsuranceForDeadMerc( LIFE_INSURANCE_PAYOUT *pPayoutStruct );
|
||||
|
||||
BOOLEAN AddLifeInsurancePayout( SOLDIERTYPE *pSoldier );
|
||||
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT8 ubPayoutID );
|
||||
void InsuranceContractPayLifeInsuranceForDeadMerc( UINT16 ubPayoutID );
|
||||
void StartInsuranceInvestigation( UINT8 ubPayoutID );
|
||||
void EndInsuranceInvestigation( UINT8 ubPayoutID );
|
||||
|
||||
|
||||
+42
-43
@@ -387,13 +387,13 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubProfileID;
|
||||
UINT16 ubProfileID;
|
||||
|
||||
} send_dismiss_struct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 usSoldierID;
|
||||
UINT16 usSoldierID;
|
||||
FLOAT dNewXPos;
|
||||
FLOAT dNewYPos;
|
||||
|
||||
@@ -401,7 +401,7 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 usSoldierID;
|
||||
UINT16 usSoldierID;
|
||||
INT16 usNewDirection;
|
||||
|
||||
} gui_dir;
|
||||
@@ -430,12 +430,12 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT8 bTeam;
|
||||
UINT8 gubOutOfTurnPersons;
|
||||
UINT8 gubOutOfTurnOrder[MAXMERCS];
|
||||
UINT16 gubOutOfTurnPersons;
|
||||
UINT16 gubOutOfTurnOrder[MAXMERCS];
|
||||
BOOLEAN fMarkInterruptOccurred;
|
||||
UINT8 Interrupted;
|
||||
UINT16 Interrupted;
|
||||
} INT_STRUCT;
|
||||
|
||||
typedef struct
|
||||
@@ -475,7 +475,7 @@ typedef struct
|
||||
float dForceY;
|
||||
float dForceZ;
|
||||
UINT32 sTargetGridNo;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
UINT8 ubActionCode;
|
||||
UINT32 uiActionData;
|
||||
UINT16 usItem;
|
||||
@@ -491,7 +491,7 @@ typedef struct
|
||||
float dZ;
|
||||
INT32 sGridNo;
|
||||
bool bWasDud;
|
||||
UINT8 ubOwnerID;
|
||||
UINT16 ubOwnerID;
|
||||
INT32 RealObjectID; // the local ID on the initiating client
|
||||
UINT32 uiPreRandomIndex; // send out our current pre-random index
|
||||
} grenade_result;
|
||||
@@ -499,7 +499,7 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
UINT32 sGridNo;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
UINT16 usItem;
|
||||
UINT8 ubItemStatus;
|
||||
UINT32 uiWorldIndex; // the local World Index of this bomb on its creators client
|
||||
@@ -511,7 +511,7 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
UINT32 uiWorldItemIndex;
|
||||
UINT8 ubMPTeamIndex;
|
||||
UINT32 uiPreRandomIndex; // send out our current pre-random index
|
||||
@@ -521,7 +521,7 @@ typedef struct
|
||||
{
|
||||
UINT32 uiWorldItemIndex;
|
||||
UINT8 ubMPTeamIndex;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
UINT32 sGridNo;
|
||||
UINT32 uiPreRandomIndex; // send out our current pre-random index
|
||||
} disarm_struct;
|
||||
@@ -531,7 +531,7 @@ typedef struct
|
||||
INT32 sGridNo;
|
||||
UINT8 ubRadius;
|
||||
UINT16 usItem;
|
||||
UINT8 ubOwner;
|
||||
UINT16 ubOwner;
|
||||
BOOLEAN fSubsequent;
|
||||
INT8 bLevel;
|
||||
INT32 iSmokeEffectID;
|
||||
@@ -541,13 +541,13 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubDamageFunc; // 1 - gas damage , 2 - explosive damage
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT16 usExplosiveClassID;
|
||||
INT16 sSubsequent;
|
||||
BOOL fRecompileMovementCosts;
|
||||
INT16 sWoundAmt;
|
||||
INT16 sBreathAmt;
|
||||
UINT8 ubAttackerID;
|
||||
UINT16 ubAttackerID;
|
||||
UINT16 usItem;
|
||||
INT32 sBombGridNo;
|
||||
UINT32 uiDist;
|
||||
@@ -571,7 +571,7 @@ int client_progress[4];
|
||||
int TEAM;
|
||||
|
||||
UINT8 netbTeam;
|
||||
UINT8 ubID_prefix;
|
||||
UINT16 ubID_prefix;
|
||||
|
||||
bool is_connected=false;
|
||||
bool is_connecting=false;
|
||||
@@ -990,7 +990,7 @@ void recieveHIT(RPCParameters *rpcParameters)
|
||||
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ SWeaponHit->usSoldierID ];
|
||||
UINT16 usSoldierID;
|
||||
UINT8 ubAttackerID;
|
||||
UINT16 ubAttackerID;
|
||||
|
||||
if((SWeaponHit->usSoldierID >= ubID_prefix) && (SWeaponHit->usSoldierID < (ubID_prefix+6))) // within our netbTeam range...
|
||||
usSoldierID = (SWeaponHit->usSoldierID - ubID_prefix);
|
||||
@@ -1017,7 +1017,7 @@ void recieveHIT(RPCParameters *rpcParameters)
|
||||
}
|
||||
|
||||
|
||||
void send_dismiss(UINT8 ubCurrentSoldierID)
|
||||
void send_dismiss(UINT16 ubCurrentSoldierID)
|
||||
{
|
||||
send_dismiss_struct sDismissMerc;
|
||||
|
||||
@@ -1089,8 +1089,7 @@ void recieveHIRE(RPCParameters *rpcParameters)
|
||||
send_hire_struct* sHireMerc = (send_hire_struct*)rpcParameters->input;
|
||||
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 iNewIndex;
|
||||
UINT8 ubCount=0;
|
||||
UINT16 iNewIndex;
|
||||
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
BOOLEAN fReturn = FALSE;
|
||||
@@ -1283,7 +1282,7 @@ UINT8 numenemyLAN( UINT8 ubSectorX, UINT8 ubSectorY )
|
||||
return ubNumEnemies;
|
||||
}
|
||||
|
||||
void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID )
|
||||
void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT16 * pubID )
|
||||
{
|
||||
AI_STRUCT send_inv;
|
||||
send_inv.standard_data = *pCreateStruct;
|
||||
@@ -1298,7 +1297,7 @@ void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID )
|
||||
|
||||
void recieveAI (RPCParameters *rpcParameters)
|
||||
{
|
||||
UINT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
AI_STRUCT* send_inv = (AI_STRUCT*)rpcParameters->input;
|
||||
|
||||
@@ -1921,7 +1920,7 @@ void send_interrupt (SOLDIERTYPE *pSoldier)
|
||||
|
||||
INT.ubID = pSoldier->ubID;
|
||||
INT.bTeam = pSoldier->bTeam;
|
||||
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT16) * MAXMERCS);
|
||||
INT.gubOutOfTurnPersons = gubOutOfTurnPersons;
|
||||
|
||||
INT.Interrupted=gusSelectedSoldier+ubID_prefix;
|
||||
@@ -1977,7 +1976,7 @@ void send_interrupt (SOLDIERTYPE *pSoldier)
|
||||
INT->gubOutOfTurnOrder[i]=INT->gubOutOfTurnOrder[i]-ubID_prefix;
|
||||
}
|
||||
}
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT16) * MAXMERCS);
|
||||
gubOutOfTurnPersons = INT->gubOutOfTurnPersons;
|
||||
|
||||
if(INT->bTeam==netbTeam)//for us
|
||||
@@ -2025,7 +2024,7 @@ void send_interrupt (SOLDIERTYPE *pSoldier)
|
||||
INT->gubOutOfTurnOrder[i]=INT->gubOutOfTurnOrder[i]-ubID_prefix;
|
||||
}
|
||||
}
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT16) * MAXMERCS);
|
||||
gubOutOfTurnPersons = INT->gubOutOfTurnPersons;
|
||||
|
||||
AddTopMessage( PLAYER_INTERRUPT_MESSAGE, TeamTurnString[ INT->bTeam ] );
|
||||
@@ -2141,7 +2140,7 @@ void end_interrupt ( BOOLEAN fMarkInterruptOccurred )
|
||||
INT_STRUCT INT;
|
||||
INT.ubID = pSoldier->ubID;
|
||||
INT.bTeam = pSoldier->bTeam;
|
||||
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||
memcpy(INT.gubOutOfTurnOrder, gubOutOfTurnOrder, sizeof(UINT16) * MAXMERCS);
|
||||
INT.gubOutOfTurnPersons = gubOutOfTurnPersons;
|
||||
INT.fMarkInterruptOccurred=fMarkInterruptOccurred;
|
||||
if(is_server)Sawarded=false;
|
||||
@@ -2182,7 +2181,7 @@ void resume_turn(RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT8) * MAXMERCS);
|
||||
memcpy(gubOutOfTurnOrder,INT->gubOutOfTurnOrder, sizeof(UINT16) * MAXMERCS);
|
||||
gubOutOfTurnPersons = INT->gubOutOfTurnPersons;
|
||||
EndInterrupt( INT->fMarkInterruptOccurred );
|
||||
}
|
||||
@@ -2928,7 +2927,7 @@ void recieveMAPCHANGE( RPCParameters *rpcParameters )
|
||||
}
|
||||
|
||||
// 20091002 - OJW - Explosives
|
||||
void send_grenade (OBJECTTYPE *pGameObj, float dLifeLength, float xPos, float yPos, float zPos, float xForce, float yForce, float zForce, UINT32 sTargetGridNo, UINT8 ubOwner, UINT8 ubActionCode, UINT32 uiActionData, INT32 iRealObjectID , bool bIsThrownGrenade)
|
||||
void send_grenade (OBJECTTYPE *pGameObj, float dLifeLength, float xPos, float yPos, float zPos, float xForce, float yForce, float zForce, UINT32 sTargetGridNo, UINT16 ubOwner, UINT8 ubActionCode, UINT32 uiActionData, INT32 iRealObjectID, bool bIsThrownGrenade)
|
||||
{
|
||||
ubOwner = MPEncodeSoldierID(ubOwner); // translate our soldier to the "network" version
|
||||
|
||||
@@ -2993,7 +2992,7 @@ void recieveGRENADE (RPCParameters *rpcParameters)
|
||||
CreateItem( gren->usItem, 99, newObj );
|
||||
OBJECTTYPE::CopyToOrCreateAt(&pThrower->pTempObject, newObj);
|
||||
// this will create a grenade and launch it
|
||||
INT32 i = CreatePhysicalObject( pThrower->pTempObject , gren->dLifeSpan , gren->dX , gren->dY , gren->dZ , gren->dForceX , gren->dForceY , gren->dForceZ , pThrower->ubID , gren->ubActionCode , gren->uiActionData, false);
|
||||
INT32 i = CreatePhysicalObject( pThrower->pTempObject, gren->dLifeSpan, gren->dX, gren->dY, gren->dZ, gren->dForceX, gren->dForceY, gren->dForceZ, pThrower->ubID, gren->ubActionCode, gren->uiActionData, false);
|
||||
// save extra state info so we can check and feed it result later
|
||||
ObjectSlots[ i ].mpRealObjectID = gren->RealObjectID;
|
||||
ObjectSlots[ i ].mpTeam = pThrower->bTeam;
|
||||
@@ -3136,7 +3135,7 @@ void recieveGRENADERESULT (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_plant_explosive (UINT8 ubID,UINT16 usItem,UINT8 ubItemStatus,UINT16 usFlags, UINT32 sGridNo,UINT8 ubLevel, UINT32 uiWorldItemIndex)
|
||||
void send_plant_explosive (UINT16 ubID,UINT16 usItem,UINT8 ubItemStatus,UINT16 usFlags, UINT32 sGridNo,UINT8 ubLevel, UINT32 uiWorldItemIndex)
|
||||
{
|
||||
explosive_obj exp;
|
||||
|
||||
@@ -3184,7 +3183,7 @@ void recievePLANTEXPLOSIVE (RPCParameters *rpcParameters)
|
||||
OBJECTTYPE* newObj = new OBJECTTYPE();
|
||||
CreateItem( exp->usItem, exp->ubItemStatus, newObj );
|
||||
INT32 iNewItemIndex;
|
||||
OBJECTTYPE* pObj = AddItemToPoolAndGetIndex( exp->sGridNo, newObj, VISIBLE, exp->ubLevel, exp->usFlags,0, exp->ubID ,&iNewItemIndex);
|
||||
OBJECTTYPE* pObj = AddItemToPoolAndGetIndex( exp->sGridNo, newObj, VISIBLE, exp->ubLevel, exp->usFlags,0, exp->ubID,&iNewItemIndex);
|
||||
// need to save Item Type metadata agaist the world item
|
||||
(*pObj)[0]->data.misc.ubBombOwner = exp->ubID + 2; // this is a hack the designers put into the game, storing the side as well (which isnt relevant in MP, but still have to do it)
|
||||
(*pObj)[0]->data.misc.usBombItem = exp->usItem;
|
||||
@@ -3237,7 +3236,7 @@ void recievePLANTEXPLOSIVE (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_detonate_explosive (UINT32 uiWorldIndex, UINT8 ubID)
|
||||
void send_detonate_explosive (UINT32 uiWorldIndex, UINT16 ubID)
|
||||
{
|
||||
ubID = MPEncodeSoldierID(ubID);
|
||||
|
||||
@@ -3351,7 +3350,7 @@ void recieveDETONATEEXPLOSIVE (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_disarm_explosive(UINT32 sGridNo, UINT32 uiWorldItem, UINT8 ubID)
|
||||
void send_disarm_explosive(UINT32 sGridNo, UINT32 uiWorldItem, UINT16 ubID)
|
||||
{
|
||||
ubID = MPEncodeSoldierID(ubID);
|
||||
|
||||
@@ -3474,7 +3473,7 @@ void recieveDISARMEXPLOSIVE (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_spreadeffect ( INT32 sGridNo, UINT8 ubRadius, UINT16 usItem, UINT8 ubOwner, BOOLEAN fSubsequent, INT8 bLevel, INT32 iSmokeEffectID )
|
||||
void send_spreadeffect ( INT32 sGridNo, UINT8 ubRadius, UINT16 usItem, UINT16 ubOwner, BOOLEAN fSubsequent, INT8 bLevel, INT32 iSmokeEffectID )
|
||||
{
|
||||
spreadeffect_struct sef;
|
||||
|
||||
@@ -3527,7 +3526,7 @@ void recieveSPREADEFFECT (RPCParameters *rpcParameters)
|
||||
if ( gSmokeEffectData[ uiCount ].fAllocated == TRUE && gSmokeEffectData[ uiCount ].iMPTeamIndex == pSoldier->bTeam && gSmokeEffectData[ uiCount ].iMPSmokeEffectID == sef->iSmokeEffectID)
|
||||
{
|
||||
bFound = true;
|
||||
SpreadEffect( sef->sGridNo , sef->ubRadius , sef->usItem , sef->ubOwner , sef->fSubsequent , sef->bLevel , uiCount , TRUE);
|
||||
SpreadEffect( sef->sGridNo, sef->ubRadius, sef->usItem, sef->ubOwner, sef->fSubsequent, sef->bLevel, uiCount, TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3544,7 +3543,7 @@ void recieveSPREADEFFECT (RPCParameters *rpcParameters)
|
||||
}
|
||||
else
|
||||
{
|
||||
SpreadEffect( sef->sGridNo , sef->ubRadius , sef->usItem , sef->ubOwner , sef->fSubsequent , sef->bLevel , sef->iSmokeEffectID , TRUE);
|
||||
SpreadEffect( sef->sGridNo, sef->ubRadius, sef->usItem, sef->ubOwner, sef->fSubsequent, sef->bLevel, sef->iSmokeEffectID, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3559,7 +3558,7 @@ void recieveSPREADEFFECT (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_newsmokeeffect(INT32 sGridNo, UINT16 usItem, INT8 bLevel, UINT8 ubOwner, INT32 iSmokeEffectID)
|
||||
void send_newsmokeeffect(INT32 sGridNo, UINT16 usItem, INT8 bLevel, UINT16 ubOwner, INT32 iSmokeEffectID)
|
||||
{
|
||||
// i'm reusing this struct, the parameters are essentially the same
|
||||
spreadeffect_struct sef;
|
||||
@@ -3602,7 +3601,7 @@ void recieveNEWSMOKEEFFECT (RPCParameters *rpcParameters)
|
||||
guiPreRandomIndex = sef->uiPreRandomIndex;
|
||||
|
||||
// start new smoke effect
|
||||
INT32 iNewSmokeIndex = NewSmokeEffect( sef->sGridNo , sef->usItem , sef->bLevel , sef->ubOwner , TRUE );
|
||||
INT32 iNewSmokeIndex = NewSmokeEffect( sef->sGridNo, sef->usItem, sef->bLevel, sef->ubOwner, TRUE );
|
||||
|
||||
// attach remote id to local smoke effect
|
||||
gSmokeEffectData[iNewSmokeIndex].iMPTeamIndex = pSoldier->bTeam;
|
||||
@@ -3620,7 +3619,7 @@ void recieveNEWSMOKEEFFECT (RPCParameters *rpcParameters)
|
||||
}
|
||||
}
|
||||
|
||||
void send_gasdamage( SOLDIERTYPE * pSoldier, UINT16 usExplosiveClassID, INT16 sSubsequent, BOOLEAN fRecompileMovementCosts, INT16 sWoundAmt, INT16 sBreathAmt, UINT8 ubOwner )
|
||||
void send_gasdamage( SOLDIERTYPE * pSoldier, UINT16 usExplosiveClassID, INT16 sSubsequent, BOOLEAN fRecompileMovementCosts, INT16 sWoundAmt, INT16 sBreathAmt, UINT16 ubOwner )
|
||||
{
|
||||
explosiondamage_struct exp;
|
||||
exp.ubDamageFunc = 1;
|
||||
@@ -3642,7 +3641,7 @@ void send_gasdamage( SOLDIERTYPE * pSoldier, UINT16 usExplosiveClassID, INT16 sS
|
||||
client->RPC("sendEXPLOSIONDAMAGE",(const char*)&exp, (int)sizeof(explosiondamage_struct)*8, HIGH_PRIORITY, RELIABLE, 0, UNASSIGNED_SYSTEM_ADDRESS, true, 0, UNASSIGNED_NETWORK_ID,0);
|
||||
}
|
||||
|
||||
void send_explosivedamage( UINT8 ubPerson, UINT8 ubOwner, INT32 sBombGridNo, INT16 sWoundAmt, INT16 sBreathAmt, UINT32 uiDist, UINT16 usItem, INT16 sSubsequent )
|
||||
void send_explosivedamage( UINT16 ubPerson, UINT16 ubOwner, INT32 sBombGridNo, INT16 sWoundAmt, INT16 sBreathAmt, UINT32 uiDist, UINT16 usItem, INT16 sSubsequent )
|
||||
{
|
||||
explosiondamage_struct exp;
|
||||
exp.ubDamageFunc = 2;
|
||||
@@ -3699,7 +3698,7 @@ void recieveEXPLOSIONDAMAGE (RPCParameters *rpcParameters)
|
||||
}
|
||||
else if (exp->ubDamageFunc == 2)
|
||||
{
|
||||
DamageSoldierFromBlast( exp->ubSoldierID , exp->ubAttackerID , exp->sBombGridNo , exp->sWoundAmt , exp->sBreathAmt , exp->uiDist , exp->usItem , exp->sSubsequent , TRUE);
|
||||
DamageSoldierFromBlast( exp->ubSoldierID, exp->ubAttackerID, exp->sBombGridNo, exp->sWoundAmt, exp->sBreathAmt, exp->uiDist, exp->usItem, exp->sSubsequent, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4206,7 +4205,7 @@ BOOLEAN check_status (void)// any 'enemies' and clients left to fight ??
|
||||
void UpdateSoldierToNetwork ( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
//this send stats to other clients at intervals
|
||||
UINT8 id = pSoldier->ubID;
|
||||
UINT16 id = pSoldier->ubID;
|
||||
UINT32 time = GetJA2Clock();
|
||||
|
||||
if(id < 20 || (is_server && id <120))
|
||||
@@ -4519,7 +4518,7 @@ void recieveDISCONNECT(RPCParameters* rpcParameters)
|
||||
// kill the dead clients mercs out of the game
|
||||
|
||||
UINT8 iNetbTeam = (cl_num)+5;
|
||||
UINT8 iubID_prefix = gTacticalStatus.Team[ iNetbTeam ].bFirstID;//over here now
|
||||
UINT16 iubID_prefix = gTacticalStatus.Team[ iNetbTeam ].bFirstID;//over here now
|
||||
|
||||
// kill any alive soldiers for the disconnected team
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
+15
-15
@@ -36,7 +36,7 @@ extern UINT8 cGameType;
|
||||
extern bool allowlaptop;
|
||||
|
||||
extern UINT8 netbTeam;
|
||||
extern UINT8 ubID_prefix;
|
||||
extern UINT16 ubID_prefix;
|
||||
extern FLOAT cDamageMultiplier;
|
||||
|
||||
//OJW - 20081218
|
||||
@@ -97,33 +97,33 @@ void send_fire( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo );
|
||||
void send_hit( EV_S_WEAPONHIT *SWeaponHit );
|
||||
void send_bullet( BULLET * pBullet, UINT16 usHandItem);
|
||||
void send_hire( UINT8 iNewIndex, UINT8 ubCurrentSoldier, INT16 iTotalContractLength, BOOLEAN fCopyProfileItemsOver);
|
||||
void send_dismiss( UINT8 ubCurrentSoldier);
|
||||
void send_dismiss( UINT16 ubCurrentSoldierID);
|
||||
|
||||
void send_gui_pos(SOLDIERTYPE *pSoldier, FLOAT dNewXPos, FLOAT dNewYPos);
|
||||
void send_gui_dir(SOLDIERTYPE *pSoldier, UINT16 usNewDirection);
|
||||
|
||||
void send_EndTurn( UINT8 ubNextTeam );
|
||||
|
||||
void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID );
|
||||
void send_AI( SOLDIERCREATE_STRUCT *pCreateStruct, UINT16 * pubID );
|
||||
|
||||
void send_stop (EV_S_STOP_MERC *SStopMerc);
|
||||
|
||||
void send_interrupt(SOLDIERTYPE *pSoldier);
|
||||
|
||||
// OJW - 20091002 - explosives
|
||||
void send_grenade (OBJECTTYPE *pGameObj, float dLifeLength, float xPos, float yPos, float zPos, float xForce, float yForce, float zForce, UINT32 sTargetGridNo, UINT8 ubOwner, UINT8 ubActionCode, UINT32 uiActionData, INT32 iRealObjectID , bool bIsThrownGrenade);
|
||||
void send_grenade (OBJECTTYPE *pGameObj, float dLifeLength, float xPos, float yPos, float zPos, float xForce, float yForce, float zForce, UINT32 sTargetGridNo, UINT16 ubOwner, UINT8 ubActionCode, UINT32 uiActionData, INT32 iRealObjectID, bool bIsThrownGrenade);
|
||||
void send_grenade_result (float xPos, float yPos, float zPos, INT32 sGridNo, UINT8 ubOwnerID, INT32 iRealObjectID, bool bIsDud);
|
||||
void send_plant_explosive (UINT8 ubID,UINT16 usItem,UINT8 ubItemStatus,UINT16 usFlags, UINT32 sGridNo,UINT8 ubLevel, UINT32 uiWorldIndex);
|
||||
void send_detonate_explosive (UINT32 uiWorldIndex, UINT8 ubID);
|
||||
void send_spreadeffect ( INT32 sGridNo, UINT8 ubRadius, UINT16 usItem, UINT8 ubOwner, BOOLEAN fSubsequent, INT8 bLevel, INT32 iSmokeEffectID );
|
||||
void send_newsmokeeffect(INT32 sGridNo, UINT16 usItem, INT8 bLevel, UINT8 ubOwner, INT32 iSmokeEffectID);
|
||||
void send_gasdamage( SOLDIERTYPE * pSoldier, UINT16 usExplosiveClassID , INT16 sSubsequent, BOOLEAN fRecompileMovementCosts, INT16 sWoundAmt, INT16 sBreathAmt, UINT8 ubOwner );
|
||||
void send_explosivedamage( UINT8 ubPerson, UINT8 ubOwner, INT32 sBombGridNo, INT16 sWoundAmt, INT16 sBreathAmt, UINT32 uiDist, UINT16 usItem, INT16 sSubsequent );
|
||||
void send_disarm_explosive(UINT32 sGridNo, UINT32 uiWorldIndex, UINT8 ubID);
|
||||
void send_plant_explosive (UINT16 ubID,UINT16 usItem,UINT8 ubItemStatus,UINT16 usFlags, UINT32 sGridNo,UINT8 ubLevel, UINT32 uiWorldIndex);
|
||||
void send_detonate_explosive (UINT32 uiWorldIndex, UINT16 ubID);
|
||||
void send_spreadeffect ( INT32 sGridNo, UINT8 ubRadius, UINT16 usItem, UINT16 ubOwner, BOOLEAN fSubsequent, INT8 bLevel, INT32 iSmokeEffectID );
|
||||
void send_newsmokeeffect(INT32 sGridNo, UINT16 usItem, INT8 bLevel, UINT16 ubOwner, INT32 iSmokeEffectID);
|
||||
void send_gasdamage( SOLDIERTYPE * pSoldier, UINT16 usExplosiveClassID, INT16 sSubsequent, BOOLEAN fRecompileMovementCosts, INT16 sWoundAmt, INT16 sBreathAmt, UINT16 ubOwner );
|
||||
void send_explosivedamage( UINT16 ubPerson, UINT16 ubOwner, INT32 sBombGridNo, INT16 sWoundAmt, INT16 sBreathAmt, UINT32 uiDist, UINT16 usItem, INT16 sSubsequent );
|
||||
void send_disarm_explosive(UINT32 sGridNo, UINT32 uiWorldIndex, UINT16 ubID);
|
||||
|
||||
void OpenChatMsgBox(void);
|
||||
|
||||
INT8 FireBullet( UINT8 ubFirer, BULLET * pBullet, BOOLEAN fFake );
|
||||
INT8 FireBullet( UINT16 ubFirer, BULLET * pBullet, BOOLEAN fFake );
|
||||
|
||||
void reapplySETTINGS();
|
||||
|
||||
@@ -211,7 +211,7 @@ extern BOOLEAN fClientReceivedAllFiles;
|
||||
// sick of confusing myself :)
|
||||
|
||||
// this one should be called before passing an ID off the client
|
||||
inline UINT8 MPEncodeSoldierID( UINT8 ubID )
|
||||
inline UINT16 MPEncodeSoldierID( UINT16 ubID )
|
||||
{
|
||||
if ( ubID < 20 )
|
||||
return ubID + ubID_prefix; // soldier is ours
|
||||
@@ -220,7 +220,7 @@ inline UINT8 MPEncodeSoldierID( UINT8 ubID )
|
||||
}
|
||||
|
||||
// this one can be called anywhere, even if the ID was not "encoded"
|
||||
inline UINT8 MPDecodeSoldierID( UINT8 ubID )
|
||||
inline UINT16 MPDecodeSoldierID( UINT16 ubID )
|
||||
{
|
||||
if ( ubID >= ubID_prefix && ubID < (ubID_prefix + 7) )
|
||||
return ubID - ubID_prefix; // soldier is ours
|
||||
@@ -233,7 +233,7 @@ inline bool IsOurSoldier (SOLDIERTYPE* pSoldier)
|
||||
return pSoldier->bTeam == netbTeam || pSoldier->bTeam == 0;
|
||||
}
|
||||
|
||||
inline bool IsOurSoldier (UINT8 ubID)
|
||||
inline bool IsOurSoldier (UINT16 ubID)
|
||||
{
|
||||
return (ubID >= ubID_prefix && ubID < (ubID_prefix + 7)) || ubID < 20;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ void startCombat(UINT8 ubStartingTeam);
|
||||
void intAI (SOLDIERTYPE *pSoldier );
|
||||
void teamwiped (void);
|
||||
BOOLEAN check_status (void);
|
||||
extern UINT8 NumEnemyInSector( );
|
||||
extern INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
extern UINT16 NumEnemyInSector( );
|
||||
extern UINT16 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
void send_heal (SOLDIERTYPE *pSoldier );
|
||||
void requestAIint(SOLDIERTYPE *pSoldier );
|
||||
+63
-212
@@ -322,7 +322,7 @@ typedef struct
|
||||
|
||||
INT16 sCurInterfacePanel;
|
||||
|
||||
UINT8 ubSMCurrentMercID;
|
||||
UINT16 ubSMCurrentMercID;
|
||||
|
||||
BOOLEAN fFirstTimeInMapScreen;
|
||||
|
||||
@@ -559,8 +559,8 @@ BOOLEAN SetMercsInsertionGridNo( );
|
||||
BOOLEAN LoadOppListInfoFromSavedGame( HWFILE hFile );
|
||||
BOOLEAN SaveOppListInfoToSavedGame( HWFILE hFile );
|
||||
|
||||
BOOLEAN LoadMercPathToSoldierStruct( HWFILE hFilem, UINT8 ubID );
|
||||
BOOLEAN SaveMercPathFromSoldierStruct( HWFILE hFilem, UINT8 ubID );
|
||||
BOOLEAN LoadMercPathToSoldierStruct( HWFILE hFilem, UINT16 ubID );
|
||||
BOOLEAN SaveMercPathFromSoldierStruct( HWFILE hFilem, UINT16 ubID );
|
||||
|
||||
BOOLEAN LoadGeneralInfo( HWFILE hFile );
|
||||
BOOLEAN SaveGeneralInfo( HWFILE hFile );
|
||||
@@ -1082,7 +1082,7 @@ BOOLEAN ITEM_CURSOR_SAVE_INFO::Load(HWFILE hFile)
|
||||
if ( guiCurrentSaveGameVersion >= NIV_SAVEGAME_DATATYPE_CHANGE )
|
||||
{
|
||||
//3 bytes of info, screw being neat
|
||||
if ( !FileRead( hFile, this, 3, &uiNumBytesRead ) )
|
||||
if ( !FileRead( hFile, this, SIZEOF_ITEM_CURSOR_SAVE_INFO_POD, &uiNumBytesRead ) )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1111,7 +1111,7 @@ BOOLEAN ITEM_CURSOR_SAVE_INFO::Save(HWFILE hFile)
|
||||
{
|
||||
UINT32 uiNumBytesWritten;
|
||||
//3 bytes of info, screw being neat
|
||||
if ( !FileWrite( hFile, this, 3, &uiNumBytesWritten ) )
|
||||
if ( !FileWrite( hFile, this, SIZEOF_ITEM_CURSOR_SAVE_INFO_POD, &uiNumBytesWritten ) )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1859,8 +1859,20 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
//the soldier type info has changed at version 102
|
||||
//CHRISL: To accomodate future changes to this structure, we'll load each value field by field
|
||||
numBytesRead = 0;
|
||||
FileRead( hFile, this, (offsetof(SOLDIERTYPE, ubBodyType)+sizeof(ubBodyType)), &uiNumBytesRead );
|
||||
numBytesRead += uiNumBytesRead;
|
||||
if (guiCurrentSaveGameVersion >= INCREASED_TEAMSIZES)
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubID, sizeof(ubID), sizeof(UINT16), numBytesRead);
|
||||
}
|
||||
else
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubID, sizeof(ubID), sizeof(UINT8), numBytesRead);
|
||||
// Read and discard bReserved1 so numBytesRead matches the struct size later
|
||||
UINT8 bReserved1 = 0;
|
||||
numBytesRead = ReadFieldByField(hFile, &bReserved1, sizeof(bReserved1), sizeof(UINT8), numBytesRead);
|
||||
}
|
||||
numBytesRead = ReadFieldByField(hFile, &this->name, sizeof(name), sizeof(CHAR16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubBodyType, sizeof(ubBodyType), sizeof(UINT8), numBytesRead);
|
||||
|
||||
if(guiCurrentSaveGameVersion >= AP100_SAVEGAME_DATATYPE_CHANGE)
|
||||
{ //CHRISL: It was changed at version 104 to allow for 16bit action points for the 100AP system
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bActionPoints, sizeof(bActionPoints), sizeof(INT16), numBytesRead);
|
||||
@@ -1888,7 +1900,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubWaitActionToDo, sizeof(ubWaitActionToDo), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubInsertionDirection, sizeof(ubInsertionDirection), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bGunType, sizeof(bGunType), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubOppNum, sizeof(ubOppNum), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubOppNum, sizeof(ubOppNum), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bLastRenderVisibleValue, sizeof(bLastRenderVisibleValue), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAttackingHand, sizeof(ubAttackingHand), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sWeightCarriedAtTurnStart, sizeof(sWeightCarriedAtTurnStart), sizeof(INT16), numBytesRead);
|
||||
@@ -1932,8 +1944,8 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usAnimState, sizeof(usAnimState), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->uiAIDelay, sizeof(uiAIDelay), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sReloadDelay, sizeof(sReloadDelay), sizeof(INT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAttackerID, sizeof(ubAttackerID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubPreviousAttackerID, sizeof(ubPreviousAttackerID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAttackerID, sizeof(ubAttackerID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubPreviousAttackerID, sizeof(ubPreviousAttackerID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sInsertionGridNo, sizeof(sInsertionGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->AnimCache, sizeof(AnimCache), 1, numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bSide, sizeof(bSide), sizeof(UINT8), numBytesRead);
|
||||
@@ -2013,7 +2025,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->pCurrentShade, sizeof(pCurrentShade), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubFadeLevel, sizeof(ubFadeLevel), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubServiceCount, sizeof(ubServiceCount), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubServicePartner, sizeof(ubServicePartner), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubServicePartner, sizeof(ubServicePartner), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->pThrowParams, sizeof(pThrowParams), 4, numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bReverse, sizeof(bReverse), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->pLevelNode, sizeof(pLevelNode), 4, numBytesRead);
|
||||
@@ -2111,7 +2123,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->iTotalLengthOfInsuranceContract, sizeof(iTotalLengthOfInsuranceContract), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubSoldierClass, sizeof(ubSoldierClass), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAPsLostToSuppression, sizeof(ubAPsLostToSuppression), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubSuppressorID, sizeof(ubSuppressorID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubSuppressorID, sizeof(ubSuppressorID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubDesiredSquadAssignment, sizeof(ubDesiredSquadAssignment), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubNumTraversalsAllowedToMerge, sizeof(ubNumTraversalsAllowedToMerge), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usPendingAnimation2, sizeof(usPendingAnimation2), sizeof(UINT16), numBytesRead);
|
||||
@@ -2123,7 +2135,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bBlockedByAnotherMercDirection, sizeof(bBlockedByAnotherMercDirection), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usAttackingWeapon, sizeof(usAttackingWeapon), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bWeaponMode, sizeof(bWeaponMode), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubTargetID, sizeof(ubTargetID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubTargetID, sizeof(ubTargetID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bAIScheduleProgress, sizeof(bAIScheduleProgress), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sOffWorldGridNo, sizeof(sOffWorldGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->pAniTile, sizeof(pAniTile), 1, numBytesRead);
|
||||
@@ -2144,8 +2156,8 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bOldBattleSnd, sizeof(bOldBattleSnd), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->iBurstSoundID, sizeof(iBurstSoundID), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bSlotItemTakenFrom, sizeof(bSlotItemTakenFrom), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAutoBandagingMedic, sizeof(ubAutoBandagingMedic), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubRobotRemoteHolderID, sizeof(ubRobotRemoteHolderID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubAutoBandagingMedic, sizeof(ubAutoBandagingMedic), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubRobotRemoteHolderID, sizeof(ubRobotRemoteHolderID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->uiTimeOfLastContractUpdate, sizeof(uiTimeOfLastContractUpdate), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bTypeOfLastContract, sizeof(bTypeOfLastContract), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bTurnsCollapsed, sizeof(bTurnsCollapsed), sizeof(INT8), numBytesRead);
|
||||
@@ -2164,7 +2176,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bRegenBoostersUsedToday, sizeof(bRegenBoostersUsedToday), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bNumPelletsHitBy, sizeof(bNumPelletsHitBy), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sSkillCheckGridNo, sizeof(sSkillCheckGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubLastEnemyCycledID, sizeof(ubLastEnemyCycledID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubLastEnemyCycledID, sizeof(ubLastEnemyCycledID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubPrevSectorID, sizeof(ubPrevSectorID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubNumTilesMovesSinceLastForget, sizeof(ubNumTilesMovesSinceLastForget), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bTurningIncrement, sizeof(bTurningIncrement), sizeof(INT8), numBytesRead);
|
||||
@@ -2172,7 +2184,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usValueGoneUp, sizeof(usValueGoneUp), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubNumLocateCycles, sizeof(ubNumLocateCycles), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubDelayedMovementFlags, sizeof(ubDelayedMovementFlags), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubCTGTTargetID, sizeof(ubCTGTTargetID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubCTGTTargetID, sizeof(ubCTGTTargetID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->uiMercChecksum, sizeof(uiMercChecksum), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bCurrentCivQuote, sizeof(bCurrentCivQuote), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bCurrentCivQuoteDelta, sizeof(bCurrentCivQuoteDelta), sizeof(INT8), numBytesRead);
|
||||
@@ -2203,7 +2215,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubLastDamageReason, sizeof(ubLastDamageReason), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sLastTwoLocations, sizeof(sLastTwoLocations), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->uiTimeSinceLastBleedGrunt, sizeof(uiTimeSinceLastBleedGrunt), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubNextToPreviousAttackerID, sizeof(ubNextToPreviousAttackerID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubNextToPreviousAttackerID, sizeof(ubNextToPreviousAttackerID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bDoAutofire, sizeof(bDoAutofire), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->numFlanks, sizeof(numFlanks), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->lastFlankSpot, sizeof(lastFlankSpot), sizeof(INT32), numBytesRead);
|
||||
@@ -2230,9 +2242,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bScopeMode, sizeof(bScopeMode), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubMilitiaAssists, sizeof(ubMilitiaAssists), sizeof(UINT8), numBytesRead );
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sNonNPCTraderID, sizeof(sNonNPCTraderID), sizeof(INT8), numBytesRead );
|
||||
//numBytesRead = ReadFieldByField(hFile, &this->bUnusedINT8_3, sizeof(bUnusedINT8_3), sizeof(INT8), numBytesRead );
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usDragPersonID, sizeof(usDragPersonID), sizeof(UINT8), numBytesRead );
|
||||
//numBytesRead = ReadFieldByField(hFile, &this->bUnusedINT16_4, sizeof(bUnusedINT16_4), sizeof(INT16), numBytesRead );
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usDragPersonID, sizeof(usDragPersonID), sizeof(UINT16), numBytesRead );
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sDragCorpseID, sizeof(sDragCorpseID), sizeof(INT16), numBytesRead );
|
||||
|
||||
if ( guiCurrentSaveGameVersion < DRAGPERSONS )
|
||||
@@ -2351,10 +2361,10 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
|
||||
if ( guiCurrentSaveGameVersion >= DISEASE_SYSTEM )
|
||||
{
|
||||
numBytesRead = ReadFieldByField( hFile, &this->sDiseasePoints, sizeof(sDiseasePoints), sizeof(INT32), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->sDiseasePoints, sizeof(sDiseasePoints), sizeof(INT16), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->sDiseaseFlag, sizeof(sDiseaseFlag), sizeof(UINT8), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->ubFiller, sizeof( ubFiller ), sizeof( UINT8 ), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->ubHoursRemainingOnMiniEvent, sizeof( ubHoursRemainingOnMiniEvent), sizeof( UINT8 ), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->ubHoursRemainingOnMiniEvent, sizeof( ubHoursRemainingOnMiniEvent), sizeof( UINT16 ), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->usGLDelayMode, sizeof( usGLDelayMode ), sizeof( UINT8 ), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->usBarrelMode, sizeof( usBarrelMode ), sizeof( UINT8 ), numBytesRead );
|
||||
numBytesRead = ReadFieldByField( hFile, &this->usBarrelCounter, sizeof( usBarrelCounter ), sizeof( UINT8 ), numBytesRead );
|
||||
@@ -2486,140 +2496,6 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
buffer++;
|
||||
}
|
||||
|
||||
/*if ( guiCurrentSaveGameVersion >= FOOD_CHANGES )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bFoodLevel, sizeof(bFoodLevel), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bDrinkLevel, sizeof(bDrinkLevel), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usStarveDamageHealth, sizeof(usStarveDamageHealth), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usStarveDamageStrength, sizeof(usStarveDamageStrength), sizeof(UINT8), numBytesRead);
|
||||
|
||||
if ( guiCurrentSaveGameVersion >= MULTITURN_ACTIONS )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bOverTurnAPS, sizeof(bOverTurnAPS), sizeof(INT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->sMTActionGridNo, sizeof(sMTActionGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usMultiTurnAction, sizeof(usMultiTurnAction), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bAIIndex, sizeof(bAIIndex), sizeof(UINT16), numBytesRead);
|
||||
|
||||
if ( guiCurrentSaveGameVersion >= SOLDIER_PROFILES )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usSoldierProfile, sizeof(usSoldierProfile), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usItemMoveSectorID, sizeof(usItemMoveSectorID), sizeof(UINT8), numBytesRead);
|
||||
|
||||
if ( guiCurrentSaveGameVersion >= SOLDIER_PROFILES )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usSkillCounter, sizeof(usSkillCounter), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usSkillCooldown, sizeof(usSkillCooldown), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->usAISkillUse, sizeof(usAISkillUse), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubFiller, sizeof(ubFiller), sizeof(UINT8), numBytesRead);
|
||||
}
|
||||
else
|
||||
{
|
||||
for(UINT8 i = 0; i < SOLDIER_COUNTER_MAX; ++i)
|
||||
this->usSkillCounter[i] = 0;
|
||||
|
||||
for(UINT8 i = 0; i < SOLDIER_COOLDOWN_MAX; ++i)
|
||||
this->usSkillCooldown[i] = 0;
|
||||
|
||||
this->usAISkillUse = 0;
|
||||
|
||||
// as we added new variables, fillersize was reduced, here we account for that. We have to also read the existing fillers that now do not exist anymore
|
||||
const UINT8 tmp = sizeof(usSkillCounter) + sizeof(usSkillCooldown) + sizeof(usAISkillUse);
|
||||
UINT8 blarg[tmp];
|
||||
numBytesRead = ReadFieldByField(hFile, &blarg, tmp, sizeof(UINT8), numBytesRead);
|
||||
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubFiller, sizeof(ubFiller), sizeof(UINT8), numBytesRead);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this->usSoldierProfile = 0;
|
||||
this->usItemMoveSectorID = 0;
|
||||
|
||||
// as we added new variables, fillersize was reduced, here we account for that. We have to also read the existing fillers that now do not exist anymore
|
||||
const UINT8 tmp = sizeof(usSoldierProfile) + sizeof(usItemMoveSectorID);
|
||||
UINT8 blarg[tmp];
|
||||
numBytesRead = ReadFieldByField(hFile, &blarg, tmp, sizeof(UINT8), numBytesRead);
|
||||
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubFiller, sizeof(ubFiller), sizeof(UINT8), numBytesRead);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this->bOverTurnAPS = 0;
|
||||
this->sMTActionGridNo = NOWHERE;
|
||||
this->usMultiTurnAction = 0;
|
||||
this->bAIIndex = 0;
|
||||
this->usSoldierProfile = 0;
|
||||
this->usItemMoveSectorID = 0;
|
||||
|
||||
// as we added new variables, fillersize was reduced, here we account for that. We have to also read the existing fillers that now do not exist anymore
|
||||
// +1 for padding
|
||||
const UINT8 tmp = sizeof(bOverTurnAPS) + sizeof(this->sMTActionGridNo) + sizeof(usMultiTurnAction) + sizeof(bAIIndex) + 1 + sizeof(usSoldierProfile) + sizeof(usItemMoveSectorID);
|
||||
UINT8 blarg[tmp];
|
||||
numBytesRead = ReadFieldByField(hFile, &blarg, tmp, sizeof(UINT8), numBytesRead);
|
||||
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubFiller, sizeof(ubFiller), sizeof(UINT8), numBytesRead);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//CHRISL: We have to make sure we add a buffer to account for the lack of ubInterruptCounter and that buffer needs to be a full DWORD in size
|
||||
for(int i = 0; i < sizeof(bFoodLevel); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(bDrinkLevel); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(usStarveDamageHealth); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(usStarveDamageStrength); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(bOverTurnAPS); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(sMTActionGridNo); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(usMultiTurnAction); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(bAIIndex); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(usSoldierProfile); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(usItemMoveSectorID); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
|
||||
for(int i = 0; i < sizeof(ubFiller); ++i)
|
||||
buffer++;
|
||||
while((buffer%4) > 0)
|
||||
buffer++;
|
||||
}*/
|
||||
|
||||
#ifdef JA2UB
|
||||
numBytesRead = ReadFieldByField(hFile, &this->fIgnoreGetupFromCollapseCheck, sizeof(fIgnoreGetupFromCollapseCheck), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->GetupFromJA25StartCounter, sizeof(GetupFromJA25StartCounter), sizeof(TIMECOUNTER), numBytesRead);
|
||||
@@ -2627,38 +2503,9 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->ubPercentDamageInflictedByTeam, sizeof(ubPercentDamageInflictedByTeam), sizeof(UINT8), numBytesRead);
|
||||
#endif
|
||||
numBytesRead += buffer;
|
||||
if(numBytesRead != SIZEOF_SOLDIERTYPE_POD)
|
||||
const UINT32 PODsize = SIZEOF_SOLDIERTYPE_POD;
|
||||
if(numBytesRead != PODsize)
|
||||
return(FALSE);
|
||||
/* //CHRISL: It was further changed at version 104 to allow for 16bit action points for the 100AP system
|
||||
//first, load the POD
|
||||
if ( guiCurrentSaveGameVersion >= AP100_SAVEGAME_DATATYPE_CHANGE )
|
||||
{
|
||||
if ( !FileRead( hFile, this, SIZEOF_SOLDIERTYPE_POD, &uiNumBytesRead ) )
|
||||
{
|
||||
return(FALSE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
numBytesRead = 0;
|
||||
FileRead( hFile, this, (offsetof(SOLDIERTYPE, ubBodyType)+sizeof(ubBodyType)), &uiNumBytesRead );
|
||||
numBytesRead += uiNumBytesRead;
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bActionPoints, 1, 1, numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bInitialActionPoints, 1, 1, numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bOldLife, sizeof(bOldLife), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bVisible, sizeof(bVisible), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bActive, sizeof(bActive), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->bTeam, sizeof(bTeam), sizeof(INT8), numBytesRead);
|
||||
//CHRISL: in the old structure, there are 3 padding bytes at this point in the file. We need to account for
|
||||
// them before continuing. We also want to include them in our numBytesRead since they cover the changes
|
||||
// caused by increasing two elements by 1byte each. This includes shifting one byte of padding
|
||||
FileRead( hFile, padding, 3, &uiNumBytesRead );
|
||||
numBytesRead += uiNumBytesRead;
|
||||
FileRead( hFile, &this->pTempObject, (SIZEOF_SOLDIERTYPE_POD-numBytesRead), &uiNumBytesRead );
|
||||
numBytesRead += uiNumBytesRead;
|
||||
if(numBytesRead != SIZEOF_SOLDIERTYPE_POD)
|
||||
return(FALSE);
|
||||
}*/
|
||||
|
||||
//load the OO inventory
|
||||
if ( !this->inv.Load(hFile) )
|
||||
@@ -2696,7 +2543,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.sNoiseGridno, sizeof(aiData.sNoiseGridno), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubNoiseVolume, sizeof(aiData.ubNoiseVolume), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bLastAttackHit, sizeof(aiData.bLastAttackHit), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubXRayedBy, sizeof(aiData.ubXRayedBy), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubXRayedBy, sizeof(aiData.ubXRayedBy), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.dHeightAdjustment, sizeof(aiData.dHeightAdjustment), sizeof(FLOAT), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bMorale, sizeof(aiData.bMorale), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bTeamMoraleMod, sizeof(aiData.bTeamMoraleMod), sizeof(INT8), numBytesRead);
|
||||
@@ -2719,7 +2566,7 @@ BOOLEAN SOLDIERTYPE::Load(HWFILE hFile)
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bMoved, sizeof(aiData.bMoved), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bHunting, sizeof(aiData.bHunting), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubLastCall, sizeof(aiData.ubLastCall), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubCaller, sizeof(aiData.ubCaller), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.ubCaller, sizeof(aiData.ubCaller), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.sCallerGridNo, sizeof(aiData.sCallerGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bCallPriority, sizeof(aiData.bCallPriority), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &this->aiData.bCallActedUpon, sizeof(aiData.bCallActedUpon), sizeof(INT8), numBytesRead);
|
||||
@@ -2951,9 +2798,14 @@ BOOLEAN WORLDITEM::Load(INT8** hBuffer, float dMajorMapVersion, UINT8 ubMinorMap
|
||||
LOADDATA(&oldWorldItem, *hBuffer, _OLD_SIZEOF_WORLDITEM_POD);
|
||||
*this = oldWorldItem;
|
||||
}
|
||||
else if (dMajorMapVersion < 8.0)
|
||||
{
|
||||
LOADDATA(this, *hBuffer, _SIZEOF_WORLDITEM_INT8_ID_POD);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOADDATA(this, *hBuffer, SIZEOF_WORLDITEM_POD);
|
||||
|
||||
}
|
||||
// Load the OO OBJECTTYPE
|
||||
this->object.Load(hBuffer, dMajorMapVersion, ubMinorMapVersion);
|
||||
}
|
||||
@@ -6675,7 +6527,7 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
|
||||
if( gTacticalStatus.ubAttackBusyCount > 1 )
|
||||
{
|
||||
//Lock the ui
|
||||
SetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
SetUIBusy( gusSelectedSoldier );
|
||||
}
|
||||
// OJW - 20090403 - Fix Tactical Interface is still locked after quick-load
|
||||
else
|
||||
@@ -6920,7 +6772,7 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
|
||||
|
||||
// player team character fixes
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
for (INT8 bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++)
|
||||
for (UINT16 bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++)
|
||||
{
|
||||
pTeamSoldier=MercPtrs[bLoop];
|
||||
|
||||
@@ -7130,7 +6982,7 @@ BOOLEAN LoadSoldierStructure( HWFILE hFile )
|
||||
{
|
||||
UINT16 cnt;
|
||||
UINT32 uiNumBytesRead=0;
|
||||
UINT8 ubId;
|
||||
UINT16 ubId;
|
||||
UINT8 ubOne = 1;
|
||||
UINT8 ubActive = 1;
|
||||
UINT32 uiPercentage;
|
||||
@@ -7868,8 +7720,8 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fPanicFlags, sizeof(gTacticalStatus.fPanicFlags), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.sPanicTriggerGridNoUnused, sizeof(gTacticalStatus.sPanicTriggerGridNoUnused), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.sHandGrid, sizeof(gTacticalStatus.sHandGrid), sizeof(INT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubSpottersCalledForBy, sizeof(gTacticalStatus.ubSpottersCalledForBy), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubTheChosenOne, sizeof(gTacticalStatus.ubTheChosenOne), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubSpottersCalledForBy, sizeof(gTacticalStatus.ubSpottersCalledForBy), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubTheChosenOne, sizeof(gTacticalStatus.ubTheChosenOne), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.uiTimeOfLastInput, sizeof(gTacticalStatus.uiTimeOfLastInput), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.uiTimeSinceDemoOn, sizeof(gTacticalStatus.uiTimeSinceDemoOn), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.uiCountdownToRestart, sizeof(gTacticalStatus.uiCountdownToRestart), sizeof(UINT32), numBytesRead);
|
||||
@@ -7888,13 +7740,13 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.bRealtimeSpeed, sizeof(gTacticalStatus.bRealtimeSpeed), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyIntention, sizeof(gTacticalStatus.ubEnemyIntention), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyIntendedRetreatDirection, sizeof(gTacticalStatus.ubEnemyIntendedRetreatDirection), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemySightingOnTheirTurnEnemyID, sizeof(gTacticalStatus.ubEnemySightingOnTheirTurnEnemyID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemySightingOnTheirTurnPlayerID, sizeof(gTacticalStatus.ubEnemySightingOnTheirTurnPlayerID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemySightingOnTheirTurnEnemyID, sizeof(gTacticalStatus.ubEnemySightingOnTheirTurnEnemyID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemySightingOnTheirTurnPlayerID, sizeof(gTacticalStatus.ubEnemySightingOnTheirTurnPlayerID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fEnemySightingOnTheirTurn, sizeof(gTacticalStatus.fEnemySightingOnTheirTurn), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fAutoBandageMode, sizeof(gTacticalStatus.fAutoBandageMode), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubAttackBusyCount, sizeof(gTacticalStatus.ubAttackBusyCount), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.bNumEnemiesFoughtInBattleUnused, sizeof(gTacticalStatus.bNumEnemiesFoughtInBattleUnused), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEngagedInConvFromActionMercID, sizeof(gTacticalStatus.ubEngagedInConvFromActionMercID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEngagedInConvFromActionMercID, sizeof(gTacticalStatus.ubEngagedInConvFromActionMercID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.usTactialTurnLimitCounter, sizeof(gTacticalStatus.usTactialTurnLimitCounter), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fInTopMessage, sizeof(gTacticalStatus.fInTopMessage), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubTopMessageType, sizeof(gTacticalStatus.ubTopMessageType), sizeof(UINT8), numBytesRead);
|
||||
@@ -7912,7 +7764,7 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fSaidCreatureFlavourQuote, sizeof(gTacticalStatus.fSaidCreatureFlavourQuote), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fHaveSeenCreature, sizeof(gTacticalStatus.fHaveSeenCreature), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fKilledEnemyOnAttack, sizeof(gTacticalStatus.fKilledEnemyOnAttack), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyKilledOnAttack, sizeof(gTacticalStatus.ubEnemyKilledOnAttack), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyKilledOnAttack, sizeof(gTacticalStatus.ubEnemyKilledOnAttack), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.bEnemyKilledOnAttackLevel, sizeof(gTacticalStatus.bEnemyKilledOnAttackLevel), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyKilledOnAttackLocation, sizeof(gTacticalStatus.ubEnemyKilledOnAttackLocation), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fItemsSeenOnAttack, sizeof(gTacticalStatus.fItemsSeenOnAttack), sizeof(BOOLEAN), numBytesRead);
|
||||
@@ -7926,7 +7778,7 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fCantGetThrough, sizeof(gTacticalStatus.fCantGetThrough), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.sCantGetThroughGridNo, sizeof(gTacticalStatus.sCantGetThroughGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.sCantGetThroughSoldierGridNo, sizeof(gTacticalStatus.sCantGetThroughSoldierGridNo), sizeof(INT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubCantGetThroughID, sizeof(gTacticalStatus.ubCantGetThroughID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubCantGetThroughID, sizeof(gTacticalStatus.ubCantGetThroughID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fDidGameJustStart, sizeof(gTacticalStatus.fDidGameJustStart), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fStatChangeCheatOn, sizeof(gTacticalStatus.fStatChangeCheatOn), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubLastRequesterTargetID, sizeof(gTacticalStatus.ubLastRequesterTargetID), sizeof(UINT8), numBytesRead);
|
||||
@@ -7940,7 +7792,6 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fHasAGameBeenStarted, sizeof(gTacticalStatus.fHasAGameBeenStarted), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.bConsNumTurnsWeHaventSeenButEnemyDoes, sizeof(gTacticalStatus.bConsNumTurnsWeHaventSeenButEnemyDoes), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.fSomeoneHit, sizeof(gTacticalStatus.fSomeoneHit), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubPaddingSmall, sizeof(gTacticalStatus.ubPaddingSmall), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.uiTimeSinceLastOpplistDecay, sizeof(gTacticalStatus.uiTimeSinceLastOpplistDecay), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.bMercArrivingQuoteBeingUsed, sizeof(gTacticalStatus.bMercArrivingQuoteBeingUsed), sizeof(INT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubEnemyKilledOnAttackKiller, sizeof(gTacticalStatus.ubEnemyKilledOnAttackKiller), sizeof(UINT8), numBytesRead);
|
||||
@@ -7958,7 +7809,7 @@ BOOLEAN LoadTacticalStatusFromSavedGame( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.uiCreatureTenseQuoteLastUpdate, sizeof(gTacticalStatus.uiCreatureTenseQuoteLastUpdate), sizeof(UINT32), numBytesRead);
|
||||
if ( guiCurrentSaveGameVersion >= BUGFIX_NPC_DATA_FOR_BIG_MAPS )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubLastRequesterSurgeryTargetID, sizeof(gTacticalStatus.ubLastRequesterSurgeryTargetID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubLastRequesterSurgeryTargetID, sizeof(gTacticalStatus.ubLastRequesterSurgeryTargetID), sizeof(UINT16), numBytesRead);
|
||||
if ( guiCurrentSaveGameVersion >= IMPROVED_INTERRUPT_SYSTEM )
|
||||
{
|
||||
numBytesRead = ReadFieldByField(hFile, &gTacticalStatus.ubInterruptPending, sizeof(gTacticalStatus.ubInterruptPending), sizeof(UINT8), numBytesRead);
|
||||
@@ -8404,7 +8255,7 @@ void CreateSavedGameFileNameFromNumber( UINT8 ubSaveGameID, STR pzNewFileName )
|
||||
|
||||
|
||||
|
||||
BOOLEAN SaveMercPathFromSoldierStruct( HWFILE hFile, UINT8 ubID )
|
||||
BOOLEAN SaveMercPathFromSoldierStruct( HWFILE hFile, UINT16 ubID )
|
||||
{
|
||||
UINT32 uiNumOfNodes=0;
|
||||
PathStPtr pTempPath = Menptr[ ubID ].pMercPath;
|
||||
@@ -8445,7 +8296,7 @@ BOOLEAN SaveMercPathFromSoldierStruct( HWFILE hFile, UINT8 ubID )
|
||||
|
||||
|
||||
|
||||
BOOLEAN LoadMercPathToSoldierStruct( HWFILE hFile, UINT8 ubID )
|
||||
BOOLEAN LoadMercPathToSoldierStruct( HWFILE hFile, UINT16 ubID )
|
||||
{
|
||||
UINT32 uiNumOfNodes=0;
|
||||
PathStPtr pTempPath = NULL;
|
||||
@@ -8728,7 +8579,7 @@ BOOLEAN SaveGeneralInfo( HWFILE hFile )
|
||||
if( gpSMCurrentMerc )
|
||||
sGeneralInfo.ubSMCurrentMercID = gpSMCurrentMerc->ubID;
|
||||
else
|
||||
sGeneralInfo.ubSMCurrentMercID = 255;
|
||||
sGeneralInfo.ubSMCurrentMercID = NOBODY;
|
||||
|
||||
//Save the fact that it is the first time in mapscreen
|
||||
sGeneralInfo.fFirstTimeInMapScreen = fFirstTimeInMapScreen;
|
||||
@@ -8992,7 +8843,7 @@ BOOLEAN LoadGeneralInfo( HWFILE hFile )
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.uiSeedNumber, sizeof(sGeneralInfo.uiSeedNumber), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.uiBaseJA2Clock, sizeof(sGeneralInfo.uiBaseJA2Clock), sizeof(UINT32), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.sCurInterfacePanel, sizeof(sGeneralInfo.sCurInterfacePanel), sizeof(INT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.ubSMCurrentMercID, sizeof(sGeneralInfo.ubSMCurrentMercID), sizeof(UINT8), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.ubSMCurrentMercID, sizeof(sGeneralInfo.ubSMCurrentMercID), sizeof(UINT16), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fFirstTimeInMapScreen, sizeof(sGeneralInfo.fFirstTimeInMapScreen), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fDisableDueToBattleRoster, sizeof(sGeneralInfo.fDisableDueToBattleRoster), sizeof(BOOLEAN), numBytesRead);
|
||||
numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fDisableMapInterfaceDueToBattle, sizeof(sGeneralInfo.fDisableMapInterfaceDueToBattle), sizeof(BOOLEAN), numBytesRead);
|
||||
@@ -9268,7 +9119,7 @@ BOOLEAN LoadGeneralInfo( HWFILE hFile )
|
||||
|
||||
|
||||
// Restore the selected merc
|
||||
if( sGeneralInfo.ubSMCurrentMercID == 255 )
|
||||
if( sGeneralInfo.ubSMCurrentMercID == NOBODY)
|
||||
gpSMCurrentMerc = NULL;
|
||||
else
|
||||
gpSMCurrentMerc = &Menptr[ sGeneralInfo.ubSMCurrentMercID ];
|
||||
@@ -9729,10 +9580,10 @@ void GetBestPossibleSectorXYZValues( INT16 *psSectorX, INT16 *psSectorY, INT8 *p
|
||||
}
|
||||
else
|
||||
{
|
||||
INT16 sSoldierCnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT16 bLastTeamID;
|
||||
BOOLEAN fFoundAMerc=FALSE;
|
||||
UINT16 sSoldierCnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bLastTeamID;
|
||||
BOOLEAN fFoundAMerc=FALSE;
|
||||
|
||||
// Set locator to first merc
|
||||
sSoldierCnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
|
||||
+2
-3
@@ -57,7 +57,7 @@ typedef struct
|
||||
INT16 sSectorX;
|
||||
INT16 sSectorY;
|
||||
INT8 bSectorZ;
|
||||
UINT8 ubNumOfMercsOnPlayersTeam;
|
||||
UINT16 ubNumOfMercsOnPlayersTeam;
|
||||
INT32 iCurrentBalance;
|
||||
|
||||
UINT32 uiCurrentScreen;
|
||||
@@ -72,11 +72,10 @@ typedef struct
|
||||
|
||||
UINT32 uiRandom;
|
||||
|
||||
UINT8 ubFiller[500]; // WANNE: Decrease this filler by 1, for each new UINT8 variable!
|
||||
UINT8 ubFiller[494]; // WANNE: Decrease this filler by 1, for each new UINT8 variable!
|
||||
|
||||
} SAVED_GAME_HEADER;
|
||||
|
||||
|
||||
extern UINT32 guiScreenToGotoAfterLoadingSavedGame;
|
||||
extern UINT32 guiCurrentSaveGameVersion;
|
||||
|
||||
|
||||
@@ -653,7 +653,7 @@ void RenderMovingGroupsAndMercs()
|
||||
void RenderInfoInSector()
|
||||
{
|
||||
UINT8 ubSectorX, ubSectorY;
|
||||
UINT8 ubMercs=0, ubActive=0, ubUnconcious=0, ubCollapsed=0;
|
||||
UINT16 ubMercs=0, ubActive=0, ubUnconcious=0, ubCollapsed=0;
|
||||
INT32 i, xp, yp;
|
||||
|
||||
if( gfViewEnemies && !gbViewLevel )
|
||||
|
||||
@@ -1225,7 +1225,7 @@ BOOLEAN IsAnythingAroundForSoldierToClean( SOLDIERTYPE * pSoldier )
|
||||
}
|
||||
|
||||
// now the other merc's stuff
|
||||
for(UINT8 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
for(UINT16 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
{
|
||||
// Ignore self, mercs in other sectors, etc.
|
||||
if (CanCharacterRepairAnotherSoldiersStuff(pSoldier, MercPtrs[teamIndex]))
|
||||
@@ -1289,7 +1289,6 @@ BOOLEAN DoesCharacterHaveAnyItemsToRepair( SOLDIERTYPE *pSoldier, INT8 bHighestP
|
||||
{
|
||||
INT8 bPocket;
|
||||
UINT8 ubItemsInPocket, ubObjectInPocketCounter;
|
||||
INT8 bLoop;
|
||||
OBJECTTYPE * pObj;
|
||||
UINT8 ubPassType;
|
||||
|
||||
@@ -1340,7 +1339,7 @@ BOOLEAN DoesCharacterHaveAnyItemsToRepair( SOLDIERTYPE *pSoldier, INT8 bHighestP
|
||||
if ( bHighestPass != - 1 )
|
||||
{
|
||||
// now look for items to repair on other mercs
|
||||
for( bLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; bLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++bLoop )
|
||||
for( UINT16 bLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; bLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++bLoop )
|
||||
{
|
||||
SOLDIERTYPE* pOtherSoldier = MercPtrs[ bLoop ];
|
||||
|
||||
@@ -2052,7 +2051,7 @@ INT8 CountMilitiaTrainersInSoldiersSector( SOLDIERTYPE * pSoldier, UINT8 ubMilit
|
||||
|
||||
AssertNotNIL(pSoldier);
|
||||
|
||||
for ( UINT8 bLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; bLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++bLoop )
|
||||
for ( UINT16 bLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; bLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ++bLoop )
|
||||
{
|
||||
SOLDIERTYPE* pOtherSoldier = MercPtrs[ bLoop ];
|
||||
if ( pSoldier != pOtherSoldier && pOtherSoldier->bActive && pOtherSoldier->stats.bLife >= OKLIFE && pOtherSoldier->sSectorX == pSoldier->sSectorX && pOtherSoldier->sSectorY == pSoldier->sSectorY && pSoldier->bSectorZ == pOtherSoldier->bSectorZ )
|
||||
@@ -5477,7 +5476,7 @@ void HandleRepairBySoldier( SOLDIERTYPE *pSoldier )
|
||||
// first our own stuff
|
||||
CollectCleanableItems(pSoldier, pSoldier, itemsToClean);
|
||||
// then other mercs' stuff
|
||||
for(UINT8 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
for(UINT16 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
{
|
||||
// Ignore self, mercs in other sectors, etc.
|
||||
if (CanCharacterRepairAnotherSoldiersStuff(pSoldier, MercPtrs[teamIndex]))
|
||||
@@ -5522,7 +5521,7 @@ void HandleRepairBySoldier( SOLDIERTYPE *pSoldier )
|
||||
|
||||
// silversurfer: Looks strange? It's not. This function now needs the guy that does the repairs and the one that owns the stuff.
|
||||
CollectRepairableItems(pSoldier, pSoldier, itemsToFix);
|
||||
for(UINT8 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
for(UINT16 teamIndex = gTacticalStatus.Team[gbPlayerNum].bFirstID; teamIndex <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++teamIndex)
|
||||
{
|
||||
// Ignore self, mercs in other sectors, etc.
|
||||
if (CanCharacterRepairAnotherSoldiersStuff(pSoldier, MercPtrs[teamIndex]))
|
||||
@@ -9501,7 +9500,7 @@ void HandleHealingByNaturalCauses( SOLDIERTYPE *pSoldier )
|
||||
if ( gGameOptions.fNewTraitSystem )
|
||||
{
|
||||
SOLDIERTYPE * pMedic = NULL;
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
UINT16 bRegenerationBonus = 0;
|
||||
|
||||
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
@@ -13814,7 +13813,7 @@ void AssignmentMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
SOLDIERTYPE * pMedic = NULL;
|
||||
SOLDIERTYPE * pBestMedic = NULL;
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT8 bSlot;
|
||||
|
||||
// Find the best doctor
|
||||
@@ -14096,7 +14095,7 @@ void AssignmentMenuBtnCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
SOLDIERTYPE * pMedic = NULL;
|
||||
SOLDIERTYPE * pBestMedic = NULL;
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT8 bSlot;
|
||||
|
||||
// Find the best doctor
|
||||
@@ -19505,7 +19504,7 @@ void ResumeOldAssignment( SOLDIERTYPE *pSoldier )
|
||||
void RepairItemsOnOthers( SOLDIERTYPE *pSoldier, UINT8 *pubRepairPtsLeft )
|
||||
{
|
||||
UINT8 ubPassType;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE * pOtherSoldier;
|
||||
SOLDIERTYPE * pBestOtherSoldier;
|
||||
INT8 bPriority, bBestPriority = -1;
|
||||
|
||||
@@ -2853,7 +2853,7 @@ void RetreatButtonCallback( GUI_BUTTON *btn, INT32 reason )
|
||||
if( gpAR->pRobotCell )
|
||||
{
|
||||
//if robot is retreating, set the retreat time to be the same as the robot's controller.
|
||||
UINT8 ubRobotControllerID;
|
||||
UINT16 ubRobotControllerID;
|
||||
|
||||
ubRobotControllerID = gpAR->pRobotCell->pSoldier->ubRobotRemoteHolderID;
|
||||
|
||||
@@ -3027,7 +3027,7 @@ void MercCellMouseClickCallback( MOUSE_REGION *reg, INT32 reason )
|
||||
|
||||
if( gpAR->pRobotCell )
|
||||
{ //if controller is retreating, make the robot retreat too.
|
||||
UINT8 ubRobotControllerID;
|
||||
UINT16 ubRobotControllerID;
|
||||
|
||||
ubRobotControllerID = gpAR->pRobotCell->pSoldier->ubRobotRemoteHolderID;
|
||||
|
||||
@@ -3751,7 +3751,7 @@ UINT8 GetUnusedMercProfileID()
|
||||
BOOLEAN fUnique = FALSE;
|
||||
while( !fUnique )
|
||||
{
|
||||
ubRandom = (UINT8)PreRandom( 40 );
|
||||
ubRandom = (UINT8)PreRandom(CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS);
|
||||
for( i = 0; i < 19; i++ )
|
||||
{
|
||||
fUnique = TRUE;
|
||||
@@ -3769,7 +3769,7 @@ void CreateTempPlayerMerc()
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
static INT32 iSoldierCount=0;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
//Init the merc create structure with basic information
|
||||
MercCreateStruct.bTeam = SOLDIER_CREATE_AUTO_TEAM;
|
||||
|
||||
@@ -240,7 +240,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
//If a merc gets hired and they dont show up immediately, the merc gets added to the queue and shows up
|
||||
// uiTimeTillMercArrives minutes later
|
||||
case EVENT_DELAYED_HIRING_OF_MERC:
|
||||
MercArrivesCallback( (UINT8) pEvent->uiParam );
|
||||
MercArrivesCallback( (UINT16) pEvent->uiParam );
|
||||
break;
|
||||
//handles the life insurance contract for a merc from AIM.
|
||||
case EVENT_HANDLE_INSURED_MERCS:
|
||||
@@ -248,7 +248,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
|
||||
break;
|
||||
//handles when a merc is killed an there is a life insurance payout
|
||||
case EVENT_PAY_LIFE_INSURANCE_FOR_DEAD_MERC:
|
||||
InsuranceContractPayLifeInsuranceForDeadMerc( (UINT8) pEvent->uiParam );
|
||||
InsuranceContractPayLifeInsuranceForDeadMerc( (UINT16) pEvent->uiParam );
|
||||
break;
|
||||
//gets called every day at midnight.
|
||||
case EVENT_MERC_DAILY_UPDATE:
|
||||
|
||||
+58
-68
@@ -908,7 +908,7 @@ UINT16 PROFILLUA_sSectorX;
|
||||
UINT16 PROFILLUA_sSectorY;
|
||||
UINT8 PROFILLUA_bSectorZ;
|
||||
UINT8 PROFILLUA_Level;
|
||||
UINT8 PROFILLUA_ubID;
|
||||
UINT16 PROFILLUA_ubID;
|
||||
UINT32 PROFILLUA_sGridNo;
|
||||
UINT8 PROFILLUA_ubDirectiono;
|
||||
UINT8 PROFILLUA_bTeam;
|
||||
@@ -918,7 +918,7 @@ UINT16 PROFILLUA2_sSectorX;
|
||||
UINT16 PROFILLUA2_sSectorY;
|
||||
UINT8 PROFILLUA2_bSectorZ;
|
||||
UINT32 PROFILLUA2_sGridNo;
|
||||
UINT8 PROFILLUA2_ubID;
|
||||
UINT16 PROFILLUA2_ubID;
|
||||
|
||||
LUA_GLOBAL gLuaGlobal[1000];
|
||||
|
||||
@@ -2354,7 +2354,7 @@ static int l_WhoIsThere2 (lua_State *L)
|
||||
{
|
||||
UINT32 sGridNo = lua_tointeger(L,1);
|
||||
INT8 bLevel = lua_tointeger(L,2);
|
||||
UINT8 Val = WhoIsThere2( sGridNo, bLevel );
|
||||
UINT16 Val = WhoIsThere2( sGridNo, bLevel );
|
||||
|
||||
lua_pushinteger(L, Val);
|
||||
}
|
||||
@@ -2698,8 +2698,9 @@ void LuaHandleSectorLiberation( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, B
|
||||
LuaFunction( _LS.L, "HandleSectorLiberation" ).Param<int>( sSectorX ).Param<int>( sSectorY ).Param<int>( bSectorZ ).Param<bool>( fFirstTime ).Call( 4 );
|
||||
}
|
||||
|
||||
void LuaHandleInteractiveActionResult( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ,
|
||||
INT32 sGridNo, UINT8 bLevel, UINT8 ubId,
|
||||
void LuaHandleInteractiveActionResult( INT16 sSectorX, INT16 sSectorY,
|
||||
INT8 bSectorZ,
|
||||
INT32 sGridNo, UINT8 bLevel, UINT16 ubId,
|
||||
UINT16 usActionType, INT32 sLuaactionid, INT32 difficulty, UINT16 skill )
|
||||
{
|
||||
const char* filename = "scripts\\Overhead.lua";
|
||||
@@ -2918,7 +2919,7 @@ BOOLEAN LuaIDScripts(UINT8 Init, UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 u
|
||||
|
||||
SOLDIERTYPE * FindSoldierByProfileID_( UINT8 ubProfileID )
|
||||
{
|
||||
UINT8 ubLoop, ubLoopLimit;
|
||||
UINT16 ubLoop, ubLoopLimit;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
ubLoopLimit = MAX_NUM_SOLDIERS;
|
||||
@@ -2935,7 +2936,7 @@ SOLDIERTYPE * FindSoldierByProfileID_( UINT8 ubProfileID )
|
||||
|
||||
SOLDIERTYPE * FindSoldierByProfileID2( UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly )
|
||||
{
|
||||
UINT8 cnt2, ubLoopLimit;
|
||||
UINT16 cnt2, ubLoopLimit;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
ubLoopLimit = gTacticalStatus.Team[CIV_TEAM].bLastID;
|
||||
@@ -4730,7 +4731,7 @@ static int l_NumMercsNear(lua_State *L)
|
||||
{
|
||||
UINT8 ubProfileID = lua_tointeger(L,1);
|
||||
UINT8 ubMaxDist = lua_tointeger(L,2);
|
||||
UINT8 ID2 = NumMercsNear( ubProfileID, ubMaxDist );
|
||||
UINT16 ID2 = NumMercsNear( ubProfileID, ubMaxDist );
|
||||
lua_pushinteger(L, ID2);
|
||||
|
||||
}
|
||||
@@ -5799,7 +5800,7 @@ static int l_SetOffPanicBombs (lua_State *L)
|
||||
{
|
||||
if ( lua_gettop(L) >= 2 )
|
||||
{
|
||||
UINT8 ubID = lua_tointeger(L,1);
|
||||
UINT16 ubID = lua_tointeger(L,1);
|
||||
INT8 bPanicTrigger = lua_tointeger(L,2);
|
||||
SetOffPanicBombs( ubID, bPanicTrigger );
|
||||
}
|
||||
@@ -5852,7 +5853,7 @@ static int l_MakeNoise(lua_State *L)
|
||||
|
||||
if ( lua_gettop(L) >= 6 )
|
||||
{
|
||||
UINT8 ubNoiseMaker = lua_tointeger(L,1);
|
||||
UINT16 ubNoiseMaker = lua_tointeger(L,1);
|
||||
INT32 sGridNo = lua_tointeger(L,2);
|
||||
INT8 bLevel = lua_tointeger(L,3);
|
||||
UINT8 ubTerrType = lua_tointeger(L,4);
|
||||
@@ -5995,7 +5996,7 @@ return 0;
|
||||
|
||||
static int l_ActionInProgress(lua_State *L)
|
||||
{
|
||||
UINT8 cnt2;
|
||||
UINT16 cnt2;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if (lua_gettop(L) >= 2)
|
||||
@@ -6357,7 +6358,7 @@ static int l_ActivateSwitchInGridNo(lua_State *L)
|
||||
{
|
||||
if (lua_gettop(L) >= 2)
|
||||
{
|
||||
UINT8 ubID = lua_tointeger(L, 1);
|
||||
UINT16 ubID = lua_tointeger(L, 1);
|
||||
INT32 sGridNo = lua_tointeger(L, 2);
|
||||
|
||||
if (!TileIsOutOfBounds(sGridNo) && ubID < TOTAL_SOLDIERS)
|
||||
@@ -7128,7 +7129,7 @@ static int l_ACTION_ITEM_SEX (lua_State *L)
|
||||
|
||||
if ( ! (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
OBJECTTYPE DoorCloser;
|
||||
INT16 sTeleportSpot;
|
||||
INT16 sDoorSpot;
|
||||
@@ -7579,7 +7580,7 @@ static int l_EVENT_InitNewSoldierAnim (lua_State *L)
|
||||
{
|
||||
if ( lua_gettop(L) >= 3 )
|
||||
{
|
||||
UINT8 ubTargetNPC = lua_tointeger(L,1);
|
||||
UINT16 ubTargetNPC = lua_tointeger(L,1);
|
||||
//if (i == 2 ) BodyType = lua_tointeger(L,i);
|
||||
UINT32 ANIM = lua_tointeger(L,2);
|
||||
INT32 cnt = lua_tointeger(L,3);
|
||||
@@ -7636,13 +7637,13 @@ static int l_SetEnterCombatMode (lua_State *L)
|
||||
if ( lua_gettop(L) >= 2 )
|
||||
{
|
||||
UINT16 group = lua_tointeger(L,1);
|
||||
UINT8 ubID = lua_tointeger(L,2);
|
||||
UINT16 ubID = lua_tointeger(L,2);
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
return 0;
|
||||
|
||||
SOLDIERTYPE* pGoon = NULL;
|
||||
for ( UINT8 ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
for ( UINT16 ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
{
|
||||
pGoon = MercPtrs[ ubLoop ];
|
||||
if ( pGoon->ubCivilianGroup == group && pGoon->bActive && pGoon->bInSector && pGoon->stats.bLife >= OKLIFE && pGoon->aiData.bOppList[ ubID ] == SEEN_CURRENTLY )
|
||||
@@ -7675,7 +7676,7 @@ static int l_MakeMercPtrsHostile (lua_State *L)
|
||||
{
|
||||
if ( lua_gettop(L) >= 1 )
|
||||
{
|
||||
UINT8 ubID = lua_tointeger(L,1);
|
||||
UINT16 ubID = lua_tointeger(L,1);
|
||||
|
||||
MakeCivHostile(MercPtrs[ ubID ]);
|
||||
}
|
||||
@@ -7734,7 +7735,7 @@ static int l_EVENT_SoldierGotHit (lua_State *L)
|
||||
DeleteTalkingMenu();
|
||||
if ( pTarget2->stats.bLife >= 0 )
|
||||
{
|
||||
pTarget2->EVENT_SoldierGotHit( 1, 100, 10, pTarget2->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
pTarget2->EVENT_SoldierGotHit( 1, 100, 10, pTarget2->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8067,7 +8068,7 @@ static int l_ChangeMercPtrsTeam (lua_State *L)
|
||||
{
|
||||
if ( lua_gettop(L) >= 2 )
|
||||
{
|
||||
UINT8 UID = lua_tointeger(L,1);
|
||||
UINT16 UID = lua_tointeger(L,1);
|
||||
INT8 Side = lua_tointeger(L,2);
|
||||
|
||||
if ( MercPtrs[UID] && MercPtrs[ UID ]->bInSector && MercPtrs[ UID ]->bActive )
|
||||
@@ -8878,46 +8879,33 @@ static int l_GetDirection (lua_State *L)
|
||||
|
||||
static int l_ubID (lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
UINT8 ubTargetNPC = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
UINT32 ubID = 0;
|
||||
|
||||
for (i= 1; i<=n; i++ )
|
||||
if (lua_gettop(L) >= 1)
|
||||
{
|
||||
if (i == 1 )
|
||||
ubTargetNPC = lua_tointeger(L,i);
|
||||
UINT8 ubTargetNPC = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
ubTargetNPC = lua_tointeger(L, 1);
|
||||
pSoldier = FindSoldierByProfileID(ubTargetNPC, FALSE);
|
||||
if (pSoldier)
|
||||
lua_pushinteger(L, pSoldier->ubID);
|
||||
else
|
||||
lua_pushinteger(L, -1);
|
||||
}
|
||||
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE);
|
||||
if ( pSoldier )
|
||||
ubID = pSoldier->ubID;
|
||||
else
|
||||
ubID = -1;
|
||||
|
||||
lua_pushinteger(L, ubID);
|
||||
|
||||
return 1;
|
||||
}
|
||||
//------------
|
||||
static int l_GetFirstID (lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i;
|
||||
UINT8 team = 0;
|
||||
UINT32 id;
|
||||
|
||||
for (i= 1; i<=n; i++ )
|
||||
if (lua_gettop(L) >= 1)
|
||||
{
|
||||
if (i == 1 ) team = lua_tointeger(L,i);
|
||||
UINT8 team = 0;
|
||||
UINT32 id;
|
||||
|
||||
team = lua_tointeger(L, 1);
|
||||
id = gTacticalStatus.Team[team].bFirstID;
|
||||
|
||||
lua_pushinteger(L, id);
|
||||
}
|
||||
|
||||
id = gTacticalStatus.Team[ team ].bFirstID;
|
||||
|
||||
lua_pushinteger(L, id);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -9190,7 +9178,7 @@ static int l_WearGasMaskIfAvailable(lua_State *L)
|
||||
{
|
||||
if ( lua_gettop( L ) >= 1 )
|
||||
{
|
||||
UINT8 ubID = lua_tointeger( L, 1 );
|
||||
UINT16 ubID = lua_tointeger( L, 1 );
|
||||
|
||||
if ( MercPtrs[ubID] && MercPtrs[ubID]->bInSector && MercPtrs[ubID]->bActive )
|
||||
{
|
||||
@@ -9205,7 +9193,7 @@ static int l_SetNewSituationMercPtsr(lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
@@ -9573,7 +9561,7 @@ static int l_SetOffBombsInGridNo (lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
INT32 sGridNo = 0;
|
||||
BOOLEAN fAllBombs = FALSE;
|
||||
INT8 bLevel = 0;
|
||||
@@ -9613,7 +9601,7 @@ static int l_AnimMercPtsrSoldierGotHit (lua_State *L)
|
||||
{
|
||||
if ( MercPtrs[ ubID ]->stats.bLife >= 0 )
|
||||
{
|
||||
MercPtrs[ ubID ]->EVENT_SoldierGotHit( 1, 100, 10, MercPtrs[ ubID ]->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
MercPtrs[ ubID ]->EVENT_SoldierGotHit( 1, 100, 10, MercPtrs[ ubID ]->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9738,7 +9726,8 @@ static int l_FindSoldierByProfileID (lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
UINT8 ubTargetNPC = 0,ubLoop = 0,ubLoopLimit = 0;
|
||||
UINT8 ubTargetNPC = 0;
|
||||
UINT16 ubLoop = 0, ubLoopLimit = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 id = -1;
|
||||
|
||||
@@ -9767,7 +9756,8 @@ static int l_FindSoldierByProfileIDBool (lua_State *L)
|
||||
{
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
UINT8 ubTargetNPC = 0,ubLoop = 0,ubLoopLimit = 0;
|
||||
UINT8 ubTargetNPC = 0;
|
||||
UINT16 ubLoop = 0, ubLoopLimit = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 id = -1;
|
||||
BOOLEAN ProfBool = FALSE;
|
||||
@@ -11445,7 +11435,7 @@ static int l_SetMoneyInSoldierProfile(lua_State *L)
|
||||
|
||||
static int l_AddToShouldBecomeHostileOrSayQuoteList(lua_State *L)
|
||||
{
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
UINT8 n = lua_gettop(L);
|
||||
int i = 0;
|
||||
|
||||
@@ -12381,7 +12371,7 @@ return 0;
|
||||
static int l_SetMercPtsrSectorZ(lua_State *L)
|
||||
{
|
||||
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 SectorZ;
|
||||
@@ -12413,7 +12403,7 @@ static int l_SetMercPtsrSectorZ(lua_State *L)
|
||||
|
||||
static int l_SetMercPtsrSectorX(lua_State *L)
|
||||
{
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT16 SectorX;
|
||||
@@ -12446,7 +12436,7 @@ static int l_SetMercPtsrSectorX(lua_State *L)
|
||||
static int l_SetMercPtsrSectorY(lua_State *L)
|
||||
{
|
||||
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT16 SectorY;
|
||||
@@ -12479,7 +12469,7 @@ static int l_SetMercPtsrSectorY(lua_State *L)
|
||||
static int l_SetMercPtsrubGroupID(lua_State *L)
|
||||
{
|
||||
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 GroupID;
|
||||
@@ -12512,7 +12502,7 @@ static int l_SetMercPtsrubGroupID(lua_State *L)
|
||||
static int l_CheckMercPtsrSectorY(lua_State *L)
|
||||
{
|
||||
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT16 SectorY;
|
||||
@@ -12550,7 +12540,7 @@ static int l_CheckMercPtsrSectorY(lua_State *L)
|
||||
static int l_CheckMercPtsrSectorX(lua_State *L)
|
||||
{
|
||||
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT16 SectorX;
|
||||
@@ -12588,7 +12578,7 @@ static int l_CheckMercPtsrSectorX(lua_State *L)
|
||||
|
||||
static int l_CheckMercPtsrSectorZ(lua_State *L)
|
||||
{
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT16 SectorZ;
|
||||
@@ -12626,7 +12616,7 @@ static int l_CheckMercPtsrSectorZ(lua_State *L)
|
||||
|
||||
static int l_CheckMercPtsrubGroupID(lua_State *L)
|
||||
{
|
||||
UINT8 ubID = 0;
|
||||
UINT16 ubID = 0;
|
||||
BOOLEAN Bool = FALSE;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 GroupID;
|
||||
@@ -13269,7 +13259,7 @@ static int l_DoInteractiveActionDefaultResult( lua_State *L )
|
||||
if ( lua_gettop( L ) >= 3 )
|
||||
{
|
||||
INT32 sGridNo = lua_tointeger( L, 1 );
|
||||
UINT8 ubID = lua_tointeger( L, 2 );
|
||||
UINT16 ubID = lua_tointeger( L, 2 );
|
||||
BOOLEAN success = lua_tointeger( L, 3 );
|
||||
|
||||
DoInteractiveActionDefaultResult( sGridNo, ubID, success );
|
||||
@@ -13282,7 +13272,7 @@ static int l_GiveExp( lua_State *L )
|
||||
{
|
||||
if ( lua_gettop( L ) >= 3 )
|
||||
{
|
||||
UINT8 ubID = lua_tointeger( L, 1 );
|
||||
UINT16 ubID = lua_tointeger( L, 1 );
|
||||
UINT8 ubStat = lua_tointeger( L, 2 );
|
||||
UINT16 usNumChances = lua_tointeger( L, 3 );
|
||||
|
||||
@@ -13375,7 +13365,7 @@ static int l_SoldierSpendMoney( lua_State *L )
|
||||
{
|
||||
if ( lua_gettop( L ) >= 2 )
|
||||
{
|
||||
UINT8 usId = lua_tointeger( L, 1 );
|
||||
UINT16 usId = lua_tointeger( L, 1 );
|
||||
UINT32 amount = lua_tointeger( L, 2 );
|
||||
|
||||
lua_pushinteger( L, SpendMoney( MercPtrs[usId], amount ) );
|
||||
|
||||
@@ -33,7 +33,7 @@ extern UINT16 PROFILLUA_sSectorX;
|
||||
extern UINT16 PROFILLUA_sSectorY;
|
||||
extern UINT8 PROFILLUA_bSectorZ;
|
||||
extern UINT8 PROFILLUA_Level;
|
||||
extern UINT8 PROFILLUA_ubID;
|
||||
extern UINT16 PROFILLUA_ubID;
|
||||
extern UINT32 PROFILLUA_sGridNo;
|
||||
extern UINT8 PROFILLUA_ubDirectiono;
|
||||
extern UINT8 PROFILLUA_bTeam;
|
||||
@@ -42,7 +42,7 @@ extern UINT8 PROFILLUA2_ubProfile;
|
||||
extern UINT16 PROFILLUA2_sSectorX;
|
||||
extern UINT16 PROFILLUA2_sSectorY;
|
||||
extern UINT8 PROFILLUA2_bSectorZ;
|
||||
extern UINT8 PROFILLUA2_ubID;
|
||||
extern UINT16 PROFILLUA2_ubID;
|
||||
extern UINT32 PROFILLUA2_sGridNo;
|
||||
|
||||
extern BOOLEAN LetHandleLoyaltyChangeForNPCAction(UINT8 ubNPCProfileId , UINT8 Init);
|
||||
@@ -60,8 +60,9 @@ extern BOOLEAN LuaHandleQuestCodeOnSector( INT16 sSectorX, INT16 sSectorY, INT8
|
||||
//extern BOOLEAN LuaHandleQuestCodeOnSectorEntry( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, UINT8 Init);
|
||||
|
||||
void LuaHandleSectorLiberation( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, BOOLEAN fFirstTime );
|
||||
void LuaHandleInteractiveActionResult( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ,
|
||||
INT32 sGridNo, UINT8 bLevel, UINT8 ubId,
|
||||
void LuaHandleInteractiveActionResult( INT16 sSectorX, INT16 sSectorY,
|
||||
INT8 bSectorZ,
|
||||
INT32 sGridNo, UINT8 bLevel, UINT16 ubId,
|
||||
UINT16 usActionType, INT32 sLuaactionid, INT32 difficulty, UINT16 skill );
|
||||
void LuaRecruitRPCAdditionalHandling( UINT8 usProfile );
|
||||
void LuaHandleSectorTacticalEntry( INT16 sSectorX, INT16 sSectorY, INT8 bSectorZ, BOOLEAN fHasEverBeenPlayerControlled );
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
#define HELICOPTER_RETURN_REASON_DAMAGE 2
|
||||
|
||||
extern FACETYPE *gpCurrentTalkingFace;
|
||||
extern UINT8 gubCurrentTalkingID;
|
||||
extern UINT16 gubCurrentTalkingID;
|
||||
|
||||
// current temp path for dest char
|
||||
extern PathStPtr pTempHelicopterPath;
|
||||
|
||||
@@ -205,7 +205,7 @@ INT32 iCurrentInventoryPoolPage = 0;
|
||||
INT32 iLastInventoryPoolPage = 0;
|
||||
|
||||
INT32 sObjectSourceGridNo = -1;//shadooow: I don't see much of a sense in this, we have gpItemPointerSoldier and we can use gpItemPointerSoldier->sGridNo to do this, this is actually unused
|
||||
INT8 sObjectSourseSoldierID = -1;
|
||||
INT16 sObjectSourseSoldierID = -1;
|
||||
|
||||
// number of unseen items in sector
|
||||
UINT32 uiNumberOfUnSeenItems = 0;
|
||||
|
||||
@@ -478,10 +478,10 @@ UINT32 guiMAPCURSORS;
|
||||
UINT32 guiMapPathingArrows;
|
||||
|
||||
// assignment selection character
|
||||
INT8 bSelectedAssignChar=-1;
|
||||
INT16 bSelectedAssignChar=-1;
|
||||
|
||||
// current contract char
|
||||
INT8 bSelectedContractChar = -1;
|
||||
INT16 bSelectedContractChar = -1;
|
||||
|
||||
|
||||
// has the temp path for character or helicopter been already drawn?
|
||||
@@ -604,11 +604,11 @@ BOOLEAN SaveHiddenTownToSaveGameFile( HWFILE hFile );
|
||||
// Flugente: added getter/setter so that we can easily check when a new char is set
|
||||
// we also set a marker determining when we should update the squads data, so that we only check that when required
|
||||
// destination plotting character
|
||||
INT8 bSelectedDestChar = -1;
|
||||
INT16 bSelectedDestChar = -1;
|
||||
bool gSquadEncumbranceCheckNecessary = true;
|
||||
|
||||
INT8 GetSelectedDestChar() { return bSelectedDestChar; }
|
||||
void SetSelectedDestChar( INT8 aVal )
|
||||
INT16 GetSelectedDestChar() { return bSelectedDestChar; }
|
||||
void SetSelectedDestChar( INT16 aVal )
|
||||
{
|
||||
bSelectedDestChar = aVal;
|
||||
gSquadEncumbranceCheckNecessary = true;
|
||||
|
||||
@@ -372,19 +372,19 @@ extern BOOLEAN fDrawTempHeliPath;
|
||||
extern BOOLEAN fDrawTempMilitiaPath;
|
||||
|
||||
// selected destination char
|
||||
INT8 GetSelectedDestChar();
|
||||
void SetSelectedDestChar( INT8 aVal );
|
||||
INT16 GetSelectedDestChar();
|
||||
void SetSelectedDestChar( INT16 aVal );
|
||||
|
||||
extern bool gSquadEncumbranceCheckNecessary;
|
||||
|
||||
// current assignment character
|
||||
extern INT8 bSelectedAssignChar;
|
||||
extern INT16 bSelectedAssignChar;
|
||||
|
||||
// the info character
|
||||
extern INT8 bSelectedInfoChar;
|
||||
extern INT16 bSelectedInfoChar;
|
||||
|
||||
// the contract char
|
||||
extern INT8 bSelectedContractChar;
|
||||
extern INT16 bSelectedContractChar;
|
||||
|
||||
// map arrows graphical index value
|
||||
extern UINT32 guiMAPCURSORS;
|
||||
|
||||
@@ -70,8 +70,8 @@ extern UILayout_CharPanelIconRegion UI_CHAR_Icon;
|
||||
extern UILayout_CharList UI_CHARLIST;
|
||||
|
||||
// marke strogg more mercs
|
||||
extern UINT8 FIRSTmercTOdisplay = 0 ;
|
||||
extern UINT8 maxNumberOfMercVisibleInStrategyList = 0; // WANNE: Max merc displayed in the list depends on the resolution
|
||||
extern UINT16 FIRSTmercTOdisplay = 0 ;
|
||||
extern UINT16 maxNumberOfMercVisibleInStrategyList = 0; // WANNE: Max merc displayed in the list depends on the resolution
|
||||
|
||||
// inventory pool position on screen
|
||||
#define MAP_INVEN_POOL_X 300
|
||||
@@ -227,7 +227,7 @@ extern UINT32 guiSAVEBUFFER;
|
||||
|
||||
extern BOOLEAN fShowInventoryFlag;
|
||||
extern FACETYPE *gpCurrentTalkingFace;
|
||||
extern UINT8 gubCurrentTalkingID;
|
||||
extern UINT16 gubCurrentTalkingID;
|
||||
extern BOOLEAN fMapScreenBottomDirty;
|
||||
extern MOUSE_REGION gMPanelRegion;
|
||||
|
||||
@@ -1355,7 +1355,7 @@ void HandleDisplayOfSelectedMercArrows( void )
|
||||
{
|
||||
INT16 sYPosition = 0;
|
||||
HVOBJECT hHandle;
|
||||
UINT8 ubCount = 0;
|
||||
UINT16 ubCount = 0;
|
||||
|
||||
UINT16 selectedCharArrowX = UI_CHARLIST.Region.x + 1;
|
||||
|
||||
@@ -2119,8 +2119,8 @@ void FindAndSetThisContractSoldier( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
if( gCharactersList[ iCounter].usSolID == pSoldier->ubID )
|
||||
{
|
||||
ChangeSelectedInfoChar( ( INT8 )iCounter, TRUE );
|
||||
bSelectedContractChar = ( INT8 )iCounter;
|
||||
ChangeSelectedInfoChar( ( INT16 )iCounter, TRUE );
|
||||
bSelectedContractChar = ( INT16 )iCounter;
|
||||
fShowContractMenu = TRUE;
|
||||
|
||||
// create
|
||||
@@ -2373,9 +2373,9 @@ void RandomMercInGroupSaysQuote( GROUP *pGroup, UINT16 usQuoteNum )
|
||||
{
|
||||
PLAYERGROUP *pPlayer;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubMercsInGroup[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubMercsInGroup[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
|
||||
|
||||
// if traversing tactically, don't do this, unless time compression was required for some reason (don't go to sector)
|
||||
@@ -2406,7 +2406,7 @@ void RandomMercInGroupSaysQuote( GROUP *pGroup, UINT16 usQuoteNum )
|
||||
// At least say quote....
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
pSoldier = MercPtrs[ ubMercsInGroup[ ubChosenMerc ] ];
|
||||
|
||||
TacticalCharacterDialogue( pSoldier, usQuoteNum );
|
||||
@@ -2454,7 +2454,7 @@ BOOLEAN ValidSelectableCharForNextOrPrev( INT32 iNewCharSlot )
|
||||
if ( fShowInventoryFlag || fHoldingItem )
|
||||
{
|
||||
// the new guy must have accessible inventory
|
||||
if ( !MapCharacterHasAccessibleInventory( ( INT8 ) iNewCharSlot ) )
|
||||
if ( !MapCharacterHasAccessibleInventory( ( INT16 ) iNewCharSlot ) )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
@@ -3761,60 +3761,67 @@ void CreatePopUpBoxForMovementBox( void )
|
||||
|
||||
// create the pop up box and mouse regions for movement list
|
||||
|
||||
// create basic box
|
||||
CreatePopUpBox(&ghMoveBox, AssignmentDimensions, MovePosition, (POPUP_BOX_FLAG_CLIP_TEXT|POPUP_BOX_FLAG_RESIZE ));
|
||||
// create basic box
|
||||
CreatePopUpBox(&ghMoveBox, AssignmentDimensions, MovePosition, ( POPUP_BOX_FLAG_CLIP_TEXT|POPUP_BOX_FLAG_RESIZE ));
|
||||
|
||||
// which buffer will box render to
|
||||
SetBoxBuffer(ghMoveBox, FRAME_BUFFER);
|
||||
// which buffer will box render to
|
||||
SetBoxBuffer(ghMoveBox, FRAME_BUFFER);
|
||||
|
||||
// border type?
|
||||
SetBorderType(ghMoveBox,guiPOPUPBORDERS);
|
||||
// border type?
|
||||
SetBorderType(ghMoveBox,guiPOPUPBORDERS);
|
||||
|
||||
// background texture
|
||||
SetBackGroundSurface(ghMoveBox, guiPOPUPTEX);
|
||||
// background texture
|
||||
SetBackGroundSurface(ghMoveBox, guiPOPUPTEX);
|
||||
|
||||
// margin sizes
|
||||
SetMargins( ghMoveBox, 6, 6, 4, 4 );
|
||||
// margin sizes
|
||||
SetMargins( ghMoveBox, 6, 6, 4, 4 );
|
||||
|
||||
// space between lines
|
||||
SetLineSpace(ghMoveBox, 2);
|
||||
// space between lines
|
||||
SetLineSpace(ghMoveBox, 2);
|
||||
|
||||
// set current box to this one
|
||||
SetCurrentBox( ghMoveBox );
|
||||
// set current box to this one
|
||||
SetCurrentBox( ghMoveBox );
|
||||
|
||||
// add strings
|
||||
AddStringsToMoveBox( );
|
||||
// add strings
|
||||
AddStringsToMoveBox( );
|
||||
|
||||
|
||||
// set font type
|
||||
SetBoxFont(ghMoveBox, MAP_SCREEN_FONT);
|
||||
// set font type
|
||||
SetBoxFont(ghMoveBox, MAP_SCREEN_FONT);
|
||||
|
||||
// set highlight color
|
||||
SetBoxHighLight(ghMoveBox, FONT_WHITE);
|
||||
// set highlight color
|
||||
SetBoxHighLight(ghMoveBox, FONT_WHITE);
|
||||
|
||||
// unhighlighted color
|
||||
SetBoxForeground(ghMoveBox, FONT_LTGREEN);
|
||||
// unhighlighted color
|
||||
SetBoxForeground(ghMoveBox, FONT_LTGREEN);
|
||||
|
||||
// make the header line WHITE
|
||||
SetBoxLineForeground( ghMoveBox, 0, FONT_WHITE );
|
||||
// make the header line WHITE
|
||||
SetBoxLineForeground( ghMoveBox, 0, FONT_WHITE );
|
||||
|
||||
// make the done and cancel lines YELLOW
|
||||
SetBoxLineForeground( ghMoveBox, GetNumberOfLinesOfTextInBox( ghMoveBox ) - 1, FONT_YELLOW );
|
||||
// make the done and cancel lines YELLOW
|
||||
SetBoxLineForeground( ghMoveBox, GetNumberOfLinesOfTextInBox( ghMoveBox ) - 1, FONT_YELLOW );
|
||||
|
||||
if ( IsAnythingSelectedForMoving() )
|
||||
{
|
||||
SetBoxLineForeground( ghMoveBox, GetNumberOfLinesOfTextInBox( ghMoveBox ) - 2, FONT_YELLOW );
|
||||
}
|
||||
|
||||
// background color
|
||||
SetBoxBackground(ghMoveBox, FONT_BLACK);
|
||||
// background color
|
||||
SetBoxBackground(ghMoveBox, FONT_BLACK);
|
||||
|
||||
// shaded color..for darkened text
|
||||
SetBoxShade( ghMoveBox, FONT_BLACK );
|
||||
// shaded color..for darkened text
|
||||
SetBoxShade( ghMoveBox, FONT_BLACK );
|
||||
|
||||
SetBoxSecondColumnForeground(ghMoveBox, FONT_LTGREEN);
|
||||
SetBoxSecondColumnBackground(ghMoveBox, FONT_BLACK);
|
||||
SetBoxSecondColumnHighLight(ghMoveBox, FONT_WHITE);
|
||||
SetBoxSecondColumnShade(ghMoveBox, FONT_BLACK);
|
||||
SetBoxSecondColumnFont(ghMoveBox, MAP_SCREEN_FONT);
|
||||
SetBoxSecondColumnMinimumOffset(ghMoveBox, 1);
|
||||
SetBoxSecondColumnOffsetAdjustment(ghMoveBox, -50);
|
||||
|
||||
// resize box to text
|
||||
ResizeBoxToText( ghMoveBox );
|
||||
// resize box to text
|
||||
ResizeBoxToText( ghMoveBox );
|
||||
|
||||
GetBoxPosition( ghMoveBox, &Position);
|
||||
GetBoxSize( ghMoveBox, &Dimensions );
|
||||
@@ -3841,7 +3848,9 @@ void AddStringsToMoveBox( void )
|
||||
CHAR16 sString[ 128 ], sStringB[ 128 ];
|
||||
UINT32 hStringHandle;
|
||||
BOOLEAN fFirstOne = TRUE;
|
||||
|
||||
const INT32 firstColumnMaxEntries = 4 * gGameOptions.ubSquadSize;
|
||||
INT32 entries = 0;
|
||||
bool isFirstColumnFull = false;
|
||||
|
||||
// set the current box
|
||||
SetCurrentBox( ghMoveBox );
|
||||
@@ -3854,16 +3863,19 @@ void AddStringsToMoveBox( void )
|
||||
GetShortSectorString( sSelMapX, sSelMapY, sStringB );
|
||||
swprintf( sString, L"%s %s", pMovementMenuStrings[ 0 ], sStringB );
|
||||
AddMonoString(&hStringHandle, sString );
|
||||
AddSecondColumnMonoString(&hStringHandle, L"");
|
||||
|
||||
|
||||
// blank line
|
||||
AddMonoString(&hStringHandle, L"" );
|
||||
AddSecondColumnMonoString(&hStringHandle, L"");
|
||||
|
||||
// add Select all line
|
||||
if (giNumberOfSquadsInSectorMoving > 1)
|
||||
{
|
||||
swprintf(sString, L"%s", pMovementMenuStrings[4]);
|
||||
AddMonoString(&hStringHandle, sString);
|
||||
AddSecondColumnMonoString(&hStringHandle, L"");
|
||||
}
|
||||
|
||||
|
||||
@@ -3885,7 +3897,15 @@ void AddStringsToMoveBox( void )
|
||||
else
|
||||
swprintf( sString, L"%s", pSquadMenuStrings[iSquadMovingList[ iCount ] ] );
|
||||
}
|
||||
AddMonoString(&hStringHandle, sString );
|
||||
if (!isFirstColumnFull)
|
||||
{
|
||||
AddMonoString(&hStringHandle, sString);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddMonoStringToSecondColumn(&hStringHandle, sString );
|
||||
}
|
||||
entries += 1;
|
||||
|
||||
// now add all the grunts in it
|
||||
for( iCountB = 0; iCountB < giNumberOfSoldiersInSectorMoving; iCountB++ )
|
||||
@@ -3901,9 +3921,23 @@ void AddStringsToMoveBox( void )
|
||||
{
|
||||
swprintf( sString, L" %s", pSoldierMovingList[ iCountB ]->name );
|
||||
}
|
||||
AddMonoString(&hStringHandle, sString );
|
||||
|
||||
if (!isFirstColumnFull)
|
||||
{
|
||||
AddMonoString(&hStringHandle, sString);
|
||||
}
|
||||
else
|
||||
{
|
||||
AddMonoStringToSecondColumn(&hStringHandle, sString);
|
||||
}
|
||||
entries += 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (entries > firstColumnMaxEntries)
|
||||
{
|
||||
isFirstColumnFull = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4202,7 +4236,7 @@ void ClearMouseRegionsForMoveBox( void )
|
||||
INT32 iCounter = 0;
|
||||
|
||||
// run through list of mouse regions
|
||||
for( iCounter = 0; iCounter < ( INT32 )GetNumberOfLinesOfTextInBox( ghMoveBox ); iCounter++ )
|
||||
for( iCounter = 0; iCounter < ( INT32 )(GetNumberOfLinesOfTextInBox( ghMoveBox ) + GetNumberOfSecondaryLinesOfTextInBox(ghMoveBox)); iCounter++)
|
||||
{
|
||||
// remove this region
|
||||
MSYS_RemoveRegion( &gMoveMenuRegion[ iCounter ] );
|
||||
@@ -4647,11 +4681,11 @@ void HandleSettingTheSelectedListOfMercs( void )
|
||||
// yes, then set them as the destination plotting character for movement arrow purposes
|
||||
fFirstOne = FALSE;
|
||||
|
||||
SetSelectedDestChar(( INT8 )iCounter );
|
||||
SetSelectedDestChar(( INT16 )iCounter );
|
||||
// make DEST column glow
|
||||
giDestHighLine = iCounter;
|
||||
|
||||
ChangeSelectedInfoChar( ( INT8 ) iCounter, TRUE );
|
||||
ChangeSelectedInfoChar( ( INT16 ) iCounter, TRUE );
|
||||
}
|
||||
|
||||
// add this guy to the selected list of grunts
|
||||
@@ -6185,7 +6219,7 @@ BOOLEAN CanCharacterMoveInStrategic( SOLDIERTYPE *pSoldier, INT8 *pbErrorNumber
|
||||
( !pSoldier->flags.fBetweenSectors ) && gMercProfiles[ ELDIN ].bMercStatus != MERC_IS_DEAD )
|
||||
{
|
||||
//DBrot: More Rooms
|
||||
UINT8 /*ubRoom,*/ cnt;
|
||||
UINT16 /*ubRoom,*/ cnt;
|
||||
UINT16 usRoom;
|
||||
SOLDIERTYPE * pSoldier2;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ typedef struct FASTHELPREGION {
|
||||
// Flugente: externalised squad names
|
||||
extern std::vector<std::wstring> gSquadNameVector;
|
||||
|
||||
extern UINT8 FIRSTmercTOdisplay ;
|
||||
extern UINT8 maxNumberOfMercVisibleInStrategyList;
|
||||
extern UINT16 FIRSTmercTOdisplay ;
|
||||
extern UINT16 maxNumberOfMercVisibleInStrategyList;
|
||||
|
||||
// String Lengths Defines
|
||||
#define MAX_NAME_LENGTH 10
|
||||
|
||||
@@ -286,7 +286,7 @@ void EndCurrentContractRenewal( )
|
||||
}
|
||||
}
|
||||
|
||||
void HandleMercIsWillingToRenew( UINT8 ubID )
|
||||
void HandleMercIsWillingToRenew( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubID ];
|
||||
|
||||
@@ -306,7 +306,7 @@ void HandleMercIsWillingToRenew( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
void HandleMercIsNotWillingToRenew( UINT8 ubID )
|
||||
void HandleMercIsNotWillingToRenew( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubID ];
|
||||
|
||||
@@ -746,9 +746,9 @@ BOOLEAN WillMercRenew( SOLDIERTYPE *pSoldier, BOOLEAN fSayQuote )
|
||||
|
||||
void HandleBuddiesReactionToFiringMerc(SOLDIERTYPE *pFiredSoldier, INT8 bMoraleEvent )
|
||||
{
|
||||
INT8 bMercID;
|
||||
INT8 bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 bMercID;
|
||||
UINT16 bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -1456,9 +1456,9 @@ void FindOutIfAnyMercAboutToLeaveIsGonnaRenew( void )
|
||||
SOLDIERTYPE *pSoldier = NULL, *pSoldierWhoWillQuit = NULL;
|
||||
INT32 iCounter= 0, iNumberOnTeam = 0;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
UINT8 ubPotentialMercs[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubPotentialMercs[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
|
||||
gfFirstMercSayQuote = FALSE;
|
||||
|
||||
@@ -1538,7 +1538,7 @@ void FindOutIfAnyMercAboutToLeaveIsGonnaRenew( void )
|
||||
// OK, pick one....
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
SpecialCharacterDialogueEvent( DIALOGUE_SPECIAL_EVENT_LOCK_INTERFACE,1 ,MAP_SCREEN ,0 ,0 ,0 );
|
||||
HandleImportantMercQuote( MercPtrs[ ubPotentialMercs[ ubChosenMerc ] ], QUOTE_CONTRACTS_OVER );
|
||||
|
||||
@@ -68,8 +68,8 @@ void FindOutIfAnyMercAboutToLeaveIsGonnaRenew( void );
|
||||
void BeginContractRenewalSequence( );
|
||||
void HandleContractRenewalSequence( );
|
||||
void EndCurrentContractRenewal( );
|
||||
void HandleMercIsWillingToRenew( UINT8 ubID );
|
||||
void HandleMercIsNotWillingToRenew( UINT8 ubID );
|
||||
void HandleMercIsWillingToRenew( UINT16 ubID );
|
||||
void HandleMercIsNotWillingToRenew( UINT16 ubID );
|
||||
|
||||
BOOLEAN ContractIsExpiring( SOLDIERTYPE *pSoldier );
|
||||
UINT32 GetHourWhenContractDone( SOLDIERTYPE *pSoldier );
|
||||
|
||||
@@ -1728,7 +1728,7 @@ void RetreatMercsCallback( GUI_BUTTON *btn, INT32 reason )
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// SANDRO - merc records - times retreated counter
|
||||
for( UINT8 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
||||
for( UINT16 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
||||
{
|
||||
if ( MercPtrs[i]->bActive && MercPtrs[i]->stats.bLife >= OKLIFE )
|
||||
{
|
||||
|
||||
@@ -600,7 +600,7 @@ UINT8 NumFreeSlots( UINT8 ubTeam )
|
||||
return ubNumFreeSlots;
|
||||
}
|
||||
|
||||
|
||||
#pragma optimize("",off)
|
||||
//Called when entering a sector so the campaign AI can automatically insert the
|
||||
//correct number of troops of each type based on the current number in the sector
|
||||
//in global focus (gWorldSectorX/Y)
|
||||
@@ -1152,7 +1152,7 @@ BOOLEAN PrepareEnemyForUndergroundBattle()
|
||||
Assert( FALSE );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#pragma optimize("",on)
|
||||
//The queen AI layer must process the event by subtracting forces, etc.
|
||||
void ProcessQueenCmdImplicationsOfDeath( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
|
||||
@@ -2997,9 +2997,9 @@ void DestroyQuestDebugTextInputBoxes()
|
||||
|
||||
void AddNPCToGridNo( INT32 iGridNo )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sSectorX, sSectorY;
|
||||
UINT8 ubID;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sSectorX, sSectorY;
|
||||
UINT16 ubID;
|
||||
|
||||
GetCurrentWorldSector( &sSectorX, &sSectorY );
|
||||
MercCreateStruct.bTeam = CIV_TEAM;
|
||||
@@ -3670,10 +3670,7 @@ void IncrementActiveDropDownBox( INT16 sIncrementValue )
|
||||
|
||||
INT16 IsMercInTheSector( UINT16 usMercID )
|
||||
{
|
||||
if( usMercID == -1 )
|
||||
return( FALSE );
|
||||
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
for ( cnt=0; cnt < TOTAL_SOLDIERS; cnt++ )
|
||||
{
|
||||
//if the merc is active
|
||||
|
||||
+10
-10
@@ -186,7 +186,7 @@ BOOLEAN CheckNPCWithin( UINT8 ubFirstNPC, UINT8 ubSecondNPC, UINT8 ubMaxDistance
|
||||
return( PythSpacesAway( pFirstNPC->sGridNo, pSecondNPC->sGridNo ) <= ubMaxDistance );
|
||||
}
|
||||
|
||||
BOOLEAN CheckGuyVisible( UINT8 ubNPC, UINT8 ubGuy )
|
||||
BOOLEAN CheckGuyVisible( UINT16 ubNPC, UINT16 ubGuy )
|
||||
{
|
||||
// NB ONLY WORKS IF ON DIFFERENT TEAMS
|
||||
SOLDIERTYPE * pNPC, * pGuy;
|
||||
@@ -304,12 +304,12 @@ UINT32 NumWoundedMercsNearby( UINT8 ubProfileID )
|
||||
return( bNumber );
|
||||
}
|
||||
|
||||
INT8 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist )
|
||||
UINT16 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist )
|
||||
{
|
||||
INT8 bNumber = 0;
|
||||
UINT32 uiLoop;
|
||||
SOLDIERTYPE * pNPC;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 bNumber = 0;
|
||||
UINT32 uiLoop;
|
||||
SOLDIERTYPE *pNPC;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 sGridNo;
|
||||
|
||||
pNPC = FindSoldierByProfileID( ubProfileID, FALSE );
|
||||
@@ -399,7 +399,7 @@ BOOLEAN PCInSameRoom( UINT8 ubProfileID )
|
||||
//DBrot: More Rooms
|
||||
//UINT8 ubRoom;
|
||||
UINT16 usRoom;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
pNPC = FindSoldierByProfileID( ubProfileID, FALSE );
|
||||
@@ -541,8 +541,8 @@ BOOLEAN FemalePresent( UINT8 ubProfileID )
|
||||
|
||||
BOOLEAN CheckPlayerHasHead( void )
|
||||
{
|
||||
INT8 bLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
for ( bLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; bLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; bLoop++ )
|
||||
{
|
||||
@@ -1725,7 +1725,7 @@ void GiveQuestRewardPoint( INT16 sQuestSectorX, INT16 sQuestsSectorY, INT8 bExpR
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTBLUE, MSG_TESTVERSION, L"QUEST COMPLETED - Adding to merc records and awarding experiences (%d).", (bExpReward * gGameExternalOptions.usAwardSpecialExpForQuests) );
|
||||
|
||||
for ( UINT8 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
||||
for ( UINT16 i = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; i <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; i++ )
|
||||
{
|
||||
if( MercPtrs[ i ]->bActive && MercPtrs[ i ]->stats.bLife >= CONSCIOUSNESS && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) && MercPtrs[ i ]->ubProfile != NO_PROFILE &&
|
||||
MercPtrs[ i ]->sSectorX == sQuestSectorX && MercPtrs[ i ]->sSectorY == sQuestsSectorY && !MercPtrs[ i ]->flags.fBetweenSectors && MercPtrs[ i ]->bTeam == gbPlayerNum &&
|
||||
|
||||
+2
-2
@@ -728,12 +728,12 @@ extern BOOLEAN CheckNPCWounded( UINT8 ubProfileID, BOOLEAN fByPlayerOnly );
|
||||
extern BOOLEAN CheckNPCInOkayHealth( UINT8 ubProfileID );
|
||||
extern BOOLEAN CheckNPCBleeding( UINT8 ubProfileID );
|
||||
extern BOOLEAN CheckNPCWithin( UINT8 ubFirstNPC, UINT8 ubSecondNPC, UINT8 ubMaxDistance );
|
||||
extern BOOLEAN CheckGuyVisible( UINT8 ubNPC, UINT8 ubGuy );
|
||||
extern BOOLEAN CheckGuyVisible( UINT16 ubNPC, UINT16 ubGuy );
|
||||
extern BOOLEAN CheckNPCAt( UINT8 ubNPC, INT32 sGridNo );
|
||||
extern BOOLEAN CheckNPCIsEnemy( UINT8 ubProfileID );
|
||||
extern BOOLEAN CheckIfMercIsNearNPC( SOLDIERTYPE *pMerc, UINT8 ubProfileId );
|
||||
extern UINT32 NumWoundedMercsNearby( UINT8 ubProfileID );
|
||||
extern INT8 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist );
|
||||
extern UINT16 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist );
|
||||
extern BOOLEAN CheckNPCIsEPC( UINT8 ubProfileID );
|
||||
//DBrot: More Rooms
|
||||
//extern BOOLEAN NPCInRoom( UINT8 ubProfileID, UINT8 ubRoomID );
|
||||
|
||||
@@ -657,7 +657,7 @@ BOOLEAN SortSchedule( SCHEDULENODE *pSchedule )
|
||||
|
||||
BOOLEAN BumpAnyExistingMerc( INT32 sGridNo )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier; // NB this is the person already in the location,
|
||||
INT32 sNewGridNo;
|
||||
UINT8 ubDir;
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
UINT32 usData2[MAX_SCHEDULE_ACTIONS]; // Secondary information, not used by most actions
|
||||
UINT8 ubAction[MAX_SCHEDULE_ACTIONS];
|
||||
UINT8 ubScheduleID;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT16 usFlags;
|
||||
public:
|
||||
SCHEDULENODE& operator=(const _OLD_SCHEDULENODE& src);
|
||||
|
||||
@@ -55,7 +55,7 @@ UINT32 guiPabloExtraDaysBribed = 0;
|
||||
|
||||
UINT8 gubCambriaMedicalObjects;
|
||||
|
||||
extern INT8 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist );
|
||||
extern UINT16 NumMercsNear( UINT8 ubProfileID, UINT8 ubMaxDist );
|
||||
|
||||
extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ void StrategicHandlePlayerTeamMercDeath( SOLDIERTYPE *pSoldier )
|
||||
void MercDailyUpdate()
|
||||
{
|
||||
INT32 cnt;
|
||||
INT8 bLastTeamID;
|
||||
UINT16 bLastTeamID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
//SOLDIERTYPE *pQuitList[ 21 ];
|
||||
MERCPROFILESTRUCT *pProfile;
|
||||
@@ -725,7 +725,7 @@ void HandleMercsAboutToLeave( SOLDIERTYPE *pMercList )
|
||||
|
||||
// ATE: This function deals with MERC MERC and NPC's leaving because of not getting paid...
|
||||
// NOT AIM renewals....
|
||||
void MercsContractIsFinished( UINT8 ubID )
|
||||
void MercsContractIsFinished( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -779,7 +779,7 @@ void MercsContractIsFinished( UINT8 ubID )
|
||||
}
|
||||
|
||||
// ATE: Called for RPCs who should now complain about no pay...
|
||||
void RPCWhineAboutNoPay( UINT8 ubID )
|
||||
void RPCWhineAboutNoPay( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -908,17 +908,14 @@ void MercComplainAboutEquipment( UINT8 ubProfile )
|
||||
|
||||
void UpdateBuddyAndHatedCounters( void )
|
||||
{
|
||||
INT8 bMercID;
|
||||
INT32 iLoop;
|
||||
INT8 bOtherID;
|
||||
INT8 bLastTeamID;
|
||||
UINT8 ubOtherProfileID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
SOLDIERTYPE *pOtherSoldier;
|
||||
MERCPROFILESTRUCT *pProfile;
|
||||
BOOLEAN fSameGroupOnly;
|
||||
|
||||
BOOLEAN fUpdatedTimeTillNextHatedComplaint = FALSE;
|
||||
UINT16 bMercID, bOtherID, bLastTeamID;
|
||||
INT32 iLoop;
|
||||
UINT8 ubOtherProfileID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
SOLDIERTYPE *pOtherSoldier;
|
||||
MERCPROFILESTRUCT *pProfile;
|
||||
BOOLEAN fSameGroupOnly;
|
||||
BOOLEAN fUpdatedTimeTillNextHatedComplaint = FALSE;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
@@ -1259,7 +1256,7 @@ void UpdateBuddyAndHatedCounters( void )
|
||||
|
||||
void HourlyCamouflageUpdate( void )
|
||||
{
|
||||
INT8 bMercID, bLastTeamID;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
BOOLEAN camoWoreOff = FALSE;
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
|
||||
@@ -6,8 +6,8 @@ class SOLDIERTYPE;
|
||||
|
||||
void StrategicHandlePlayerTeamMercDeath( SOLDIERTYPE *pSoldier );
|
||||
void MercDailyUpdate();
|
||||
void MercsContractIsFinished( UINT8 ubID );
|
||||
void RPCWhineAboutNoPay( UINT8 ubID );
|
||||
void MercsContractIsFinished( UINT16 ubID );
|
||||
void RPCWhineAboutNoPay( UINT16 ubID );
|
||||
void MercComplainAboutEquipment( UINT8 ubProfileID );
|
||||
BOOLEAN SoldierHasWorseEquipmentThanUsedTo( SOLDIERTYPE *pSoldier );
|
||||
void UpdateBuddyAndHatedCounters( void );
|
||||
|
||||
@@ -136,7 +136,7 @@ UINT8 gubMonsterMineInfestation[]={
|
||||
// the static NPC dialogue faces
|
||||
//extern UINT32 uiExternalStaticNPCFaces[];
|
||||
extern FACETYPE *gpCurrentTalkingFace;
|
||||
extern UINT8 gubCurrentTalkingID;
|
||||
extern UINT16 gubCurrentTalkingID;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4366,7 +4366,7 @@ BOOLEAN LoadPlayerGroupList( HWFILE hFile, GROUP **pGroup )
|
||||
|
||||
//Should never happen
|
||||
Assert( sTempID != -1 );
|
||||
pTemp->ubID = (UINT8) sTempID;
|
||||
pTemp->ubID = (UINT16) sTempID;
|
||||
|
||||
pTemp->pSoldier = &Menptr[ pTemp->ubID ];
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ typedef struct WAYPOINT
|
||||
typedef struct PLAYERGROUP
|
||||
{
|
||||
UINT8 ubProfileID; //SAVE THIS VALUE ONLY. The others are temp (for quick access)
|
||||
UINT8 ubID; //index in the Menptr array
|
||||
UINT16 ubID; //index in the Menptr array
|
||||
SOLDIERTYPE *pSoldier; //direct access to the soldier pointer
|
||||
UINT8 bFlags; //flags referring to individual player soldiers
|
||||
struct PLAYERGROUP *next; //next player in list
|
||||
|
||||
@@ -2133,9 +2133,9 @@ BOOLEAN DidFirstBattleTakePlaceInThisTown( INT8 bTownId )
|
||||
|
||||
UINT32 PlayerStrength( void )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT32 uiStrength, uiTotal = 0;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT32 uiStrength, uiTotal = 0;
|
||||
|
||||
for ( ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++ )
|
||||
{
|
||||
@@ -2155,9 +2155,9 @@ UINT32 PlayerStrength( void )
|
||||
|
||||
UINT32 EnemyStrength( void )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT32 uiStrength, uiTotal = 0;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT32 uiStrength, uiTotal = 0;
|
||||
|
||||
for ( ubLoop = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
{
|
||||
|
||||
@@ -175,67 +175,67 @@
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditorD|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MapEditor|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WithDebugInfo|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
||||
+38
-34
@@ -502,7 +502,7 @@ BOOLEAN gfMapPanelWasRedrawn = FALSE;
|
||||
UINT8 gubMAP_HandInvDispText[ NUM_INV_SLOTS ];
|
||||
|
||||
// currently selected character's list index
|
||||
INT8 bSelectedInfoChar = -1;
|
||||
INT16 bSelectedInfoChar = -1;
|
||||
|
||||
// map sort button images
|
||||
INT32 giMapSortButtonImage[ MAX_SORT_METHODS ] = { -1, -1, -1, -1, -1, -1 };
|
||||
@@ -926,7 +926,6 @@ INT32 GetIndexForthis( SOLDIERTYPE *pSoldier );
|
||||
|
||||
void CheckForAndRenderNewMailOverlay();
|
||||
|
||||
BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber );
|
||||
void CheckForInventoryModeCancellation();
|
||||
|
||||
void ChangeMapScreenMaskCursor( UINT16 usCursor );
|
||||
@@ -1905,16 +1904,14 @@ BOOLEAN InitializeInvPanelCoordsRobot()
|
||||
}
|
||||
|
||||
// the tries to select a mapscreen character by his soldier ID
|
||||
BOOLEAN SetInfoChar( UINT8 ubID )
|
||||
BOOLEAN SetInfoChar( UINT16 ubID )
|
||||
{
|
||||
INT8 bCounter;
|
||||
|
||||
for ( bCounter = 0; bCounter < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; bCounter++)
|
||||
for (INT16 bCounter = 0; bCounter < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; bCounter++)
|
||||
{
|
||||
// skip invalid characters
|
||||
if ( gCharactersList[ bCounter ].fValid == TRUE )
|
||||
{
|
||||
if ( gCharactersList[ bCounter ].usSolID == (UINT16)ubID )
|
||||
if ( gCharactersList[ bCounter ].usSolID == ubID )
|
||||
{
|
||||
ChangeSelectedInfoChar( bCounter, TRUE );
|
||||
return( TRUE );
|
||||
@@ -3985,7 +3982,7 @@ void AddCharacter( SOLDIERTYPE *pCharacter )
|
||||
}
|
||||
|
||||
// copy over soldier id value
|
||||
gCharactersList[usCount].usSolID = ( UINT16 )pCharacter->ubID;
|
||||
gCharactersList[usCount].usSolID = pCharacter->ubID;
|
||||
|
||||
// valid character
|
||||
gCharactersList[usCount].fValid = TRUE;
|
||||
@@ -5338,9 +5335,19 @@ UINT32 MapScreenHandle(void)
|
||||
CreateMouseRegionForPauseOfClock( INTERFACE_CLOCK_X, INTERFACE_CLOCK_Y );
|
||||
|
||||
// WANNE: The number of merc we can display in the list, depends on the resolution
|
||||
if (iResolution >= _640x480 && iResolution < _800x600)
|
||||
if (isWidescreenUI())
|
||||
{
|
||||
maxNumberOfMercVisibleInStrategyList = 22;
|
||||
if (giMAXIMUM_NUMBER_OF_PLAYER_SLOTS <= 57)
|
||||
maxNumberOfMercVisibleInStrategyList = giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
else
|
||||
maxNumberOfMercVisibleInStrategyList = 57;
|
||||
}
|
||||
else if (iResolution >= _1024x768)
|
||||
{
|
||||
if (giMAXIMUM_NUMBER_OF_PLAYER_SLOTS <= 51)
|
||||
maxNumberOfMercVisibleInStrategyList = giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
else
|
||||
maxNumberOfMercVisibleInStrategyList = 51;
|
||||
}
|
||||
else if (iResolution < _1024x768)
|
||||
{
|
||||
@@ -5348,10 +5355,7 @@ UINT32 MapScreenHandle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (giMAXIMUM_NUMBER_OF_PLAYER_SLOTS <= 51)
|
||||
maxNumberOfMercVisibleInStrategyList = giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
else
|
||||
maxNumberOfMercVisibleInStrategyList = 51;
|
||||
maxNumberOfMercVisibleInStrategyList = 22;
|
||||
}
|
||||
|
||||
// create mouse regions
|
||||
@@ -7629,9 +7633,9 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent )
|
||||
{
|
||||
if( gCharactersList[ giHighLine ].fValid == TRUE )
|
||||
{
|
||||
bSelectedAssignChar = ( INT8 )giHighLine;
|
||||
bSelectedAssignChar = ( INT16 )giHighLine;
|
||||
RebuildAssignmentsBox( );
|
||||
ChangeSelectedInfoChar( ( INT8 ) giHighLine, FALSE );
|
||||
ChangeSelectedInfoChar( ( INT16 ) giHighLine, FALSE );
|
||||
fShowAssignmentMenu = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -7639,7 +7643,7 @@ void GetMapKeyboardInput( UINT32 *puiNewEvent )
|
||||
{
|
||||
if( gCharactersList[ bSelectedInfoChar ].fValid == TRUE )
|
||||
{
|
||||
bSelectedAssignChar = ( INT8 )bSelectedInfoChar;
|
||||
bSelectedAssignChar = bSelectedInfoChar;
|
||||
RebuildAssignmentsBox( );
|
||||
fShowAssignmentMenu = TRUE;
|
||||
}
|
||||
@@ -11482,7 +11486,7 @@ void TeamListAssignmentRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
return;
|
||||
}
|
||||
|
||||
bSelectedAssignChar = ( INT8 ) iValue + FIRSTmercTOdisplay;
|
||||
bSelectedAssignChar = ( INT16 ) iValue + FIRSTmercTOdisplay;
|
||||
RebuildAssignmentsBox( );
|
||||
|
||||
// reset dest character
|
||||
@@ -11740,7 +11744,7 @@ void TeamListDestinationRegionBtnCallBack(MOUSE_REGION *pRegion, INT32 iReason )
|
||||
|
||||
|
||||
// select this character as the one plotting strategic movement
|
||||
SetSelectedDestChar( (INT8)iValue + FIRSTmercTOdisplay );
|
||||
SetSelectedDestChar( (INT16)iValue + FIRSTmercTOdisplay );
|
||||
|
||||
// remember the current paths for all selected characters so we can restore them if need be
|
||||
RememberPreviousPathForAllSelectedChars();
|
||||
@@ -12793,7 +12797,7 @@ void ReBuildCharactersList( void )
|
||||
|
||||
void HandleChangeOfInfoChar( void )
|
||||
{
|
||||
static INT8 bOldInfoChar = -1;
|
||||
static INT16 bOldInfoChar = -1;
|
||||
|
||||
if( bSelectedInfoChar != bOldInfoChar )
|
||||
{
|
||||
@@ -12849,7 +12853,7 @@ void TestMessageSystem( void )
|
||||
void EnableDisableTeamListRegionsAndHelpText( void )
|
||||
{
|
||||
// check if valid character here, if so, then do nothing..other wise set help text timer to a gazillion
|
||||
INT8 bCharNum;
|
||||
INT16 bCharNum;
|
||||
|
||||
|
||||
for( bCharNum = 0; bCharNum < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; bCharNum++ )
|
||||
@@ -13004,10 +13008,10 @@ void UpdatePausedStatesDueToTimeCompression( void )
|
||||
BOOLEAN ContinueDialogue(SOLDIERTYPE *pSoldier, BOOLEAN fDone )
|
||||
{
|
||||
// continue this grunts dialogue, restore when done
|
||||
static INT8 bOldSelectedInfoChar = -1;
|
||||
static INT16 bOldSelectedInfoChar = -1;
|
||||
static BOOLEAN fTalkingingGuy = FALSE;
|
||||
|
||||
INT8 bCounter = 0;
|
||||
UINT16 bCounter = 0;
|
||||
|
||||
|
||||
|
||||
@@ -13665,9 +13669,9 @@ void UpdateStatusOfMapSortButtons( void )
|
||||
|
||||
|
||||
|
||||
INT8 GetLastValidCharacterInTeamPanelList( void )
|
||||
INT16 GetLastValidCharacterInTeamPanelList( void )
|
||||
{
|
||||
INT8 iCounter = 0, iValue = 0;
|
||||
INT16 iCounter = 0, iValue = 0;
|
||||
|
||||
// run through the list and find the last valid guy in the list
|
||||
for( iCounter = 0; iCounter < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; iCounter++ )
|
||||
@@ -14543,7 +14547,7 @@ void SortListOfMercsInTeamPanel( BOOLEAN fRetainSelectedMercs, BOOLEAN fReverse
|
||||
INT32 iCounter = 0, iCounterA = 0;
|
||||
INT16 sEndSectorA, sEndSectorB;
|
||||
INT32 iExpiryTime, iExpiryTimeA;
|
||||
UINT8 uiID, uiIDA;
|
||||
UINT16 uiID, uiIDA;
|
||||
SOLDIERTYPE *pSelectedSoldier[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
SOLDIERTYPE *pCurrentSoldier = NULL;
|
||||
SOLDIERTYPE *pPreviousSelectedInfoChar = NULL;
|
||||
@@ -15093,7 +15097,7 @@ BOOLEAN CanToggleSelectedCharInventory( void )
|
||||
|
||||
|
||||
|
||||
BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber )
|
||||
BOOLEAN MapCharacterHasAccessibleInventory( INT16 bCharNumber )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = NULL;
|
||||
|
||||
@@ -15606,7 +15610,7 @@ INT32 GetContractExpiryTime( SOLDIERTYPE *pSoldier )
|
||||
|
||||
|
||||
|
||||
void ChangeSelectedInfoChar( INT8 bCharNumber, BOOLEAN fResetSelectedList )
|
||||
void ChangeSelectedInfoChar( INT16 bCharNumber, BOOLEAN fResetSelectedList )
|
||||
{
|
||||
Assert( ( bCharNumber >= -1 ) && ( bCharNumber < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS ) );
|
||||
|
||||
@@ -16177,10 +16181,10 @@ void RandomAwakeSelectedMercConfirmsStrategicMove( void )
|
||||
SOLDIERTYPE *pSoldier = NULL;
|
||||
INT32 iCounter;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
UINT8 ubSelectedMercID[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT8 ubSelectedMercIndex[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubSelectedMercID[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT16 ubSelectedMercIndex[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
|
||||
|
||||
for( iCounter = 0; iCounter < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; iCounter++ )
|
||||
@@ -16193,7 +16197,7 @@ void RandomAwakeSelectedMercConfirmsStrategicMove( void )
|
||||
!AM_A_ROBOT( pSoldier ) && !AM_AN_EPC( pSoldier ) && !pSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubSelectedMercID[ ubNumMercs ] = pSoldier->ubID;
|
||||
ubSelectedMercIndex[ ubNumMercs ] = (UINT8)iCounter;
|
||||
ubSelectedMercIndex[ ubNumMercs ] = (UINT16)iCounter;
|
||||
|
||||
ubNumMercs++;
|
||||
}
|
||||
@@ -16202,7 +16206,7 @@ void RandomAwakeSelectedMercConfirmsStrategicMove( void )
|
||||
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
// select that merc so that when he speaks we're showing his portrait and not someone else
|
||||
ChangeSelectedInfoChar( ubSelectedMercIndex[ ubChosenMerc ], FALSE );
|
||||
|
||||
@@ -135,7 +135,7 @@ extern BOOLEAN gfInChangeArrivalSectorMode;
|
||||
extern BOOLEAN gfSkyriderEmptyHelpGiven;
|
||||
|
||||
|
||||
BOOLEAN SetInfoChar(UINT8 ubSolId);
|
||||
BOOLEAN SetInfoChar(UINT16 ubID);
|
||||
void EndMapScreen( BOOLEAN fDuringFade );
|
||||
void ReBuildCharactersList( void );
|
||||
|
||||
@@ -152,7 +152,7 @@ BOOLEAN CanExtendContractForCharSlot( INT8 bCharNumber );
|
||||
|
||||
void TellPlayerWhyHeCantCompressTime( void );
|
||||
|
||||
void ChangeSelectedInfoChar( INT8 bCharNumber, BOOLEAN fResetSelectedList );
|
||||
void ChangeSelectedInfoChar( INT16 bCharNumber, BOOLEAN fResetSelectedList );
|
||||
|
||||
void MAPEndItemPointer();
|
||||
|
||||
@@ -169,7 +169,7 @@ void ExplainWhySkyriderCantFly( void );
|
||||
BOOLEAN CanChangeSleepStatusForCharSlot( INT8 bCharNumber );
|
||||
BOOLEAN CanChangeSleepStatusForSoldier( SOLDIERTYPE *pSoldier );
|
||||
|
||||
BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber );
|
||||
BOOLEAN MapCharacterHasAccessibleInventory( INT16 bCharNumber );
|
||||
|
||||
// CHRISL: New functions to handle initialization of inventory coordinates
|
||||
BOOLEAN InitializeInvPanelCoordsOld( );
|
||||
|
||||
@@ -2058,7 +2058,7 @@ void GetCurrentWorldSector( INT16 *psMapX, INT16 *psMapY )
|
||||
}
|
||||
|
||||
//not in overhead.h!
|
||||
extern UINT8 NumEnemyInSector( );
|
||||
extern UINT16 NumEnemyInSector( );
|
||||
|
||||
void HandleRPCDescriptionOfSector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ )
|
||||
{
|
||||
@@ -2777,7 +2777,7 @@ void HandleQuestCodeOnSectorEntry( INT16 sNewSectorX, INT16 sNewSectorY, INT8 bN
|
||||
//UINT8 ubRandomMiner[RANDOM_HEAD_MINERS] = { 106, 156, 157, 158 };
|
||||
//UINT8 ubMiner, ubMinersPlaced, ubMine;
|
||||
UINT8 ubThisMine;
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
// are we in a mine sector, on the surface?
|
||||
@@ -4063,7 +4063,7 @@ void JumpIntoAdjacentSector( UINT8 ubTacticalDirection, UINT8 ubJumpCode, INT32
|
||||
|
||||
// Set initial selected
|
||||
// ATE: moved this towards top...
|
||||
gubPreferredInitialSelectedGuy = (UINT8)gusSelectedSoldier;
|
||||
gubPreferredInitialSelectedGuy = gusSelectedSoldier;
|
||||
|
||||
if ( ubJumpCode == JUMP_ALL_LOAD_NEW || ubJumpCode == JUMP_ALL_NO_LOAD )
|
||||
{
|
||||
|
||||
@@ -310,9 +310,9 @@ BOOLEAN BeginAirRaid( )
|
||||
|
||||
INT32 PickLocationNearAnyMercInSector( )
|
||||
{
|
||||
UINT8 ubMercsInSector[ 20 ] = { 0 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubMercsInSector[ 20 ] = { 0 };
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt=0;
|
||||
|
||||
@@ -330,7 +330,7 @@ INT32 PickLocationNearAnyMercInSector( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: looping %d",cnt));
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -339,7 +339,7 @@ INT32 PickLocationNearAnyMercInSector( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: number of guys %d",ubNumMercs));
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: chosen guy = %d",ubChosenMerc));
|
||||
return( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ]->sGridNo );
|
||||
@@ -1007,7 +1007,7 @@ void DoBombing( )
|
||||
}
|
||||
|
||||
// Drop bombs...
|
||||
InternalIgniteExplosion( NOBODY, CenterX( sBombGridNo ), CenterY( sBombGridNo ), 0, sBombGridNo, usItem, fLocate , (UINT8)IsRoofPresentAtGridNo( sBombGridNo ) );
|
||||
InternalIgniteExplosion( NOBODY, CenterX( sBombGridNo ), CenterY( sBombGridNo ), 0, sBombGridNo, usItem, fLocate, (UINT8)IsRoofPresentAtGridNo( sBombGridNo ) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -917,7 +917,7 @@ BOOLEAN DeInitAnimationSystem( )
|
||||
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
||||
STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
||||
{
|
||||
INT8 bStructDataType;
|
||||
|
||||
@@ -946,13 +946,13 @@ STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT8 usSoldierID, UINT16
|
||||
}
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState )
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState )
|
||||
{
|
||||
return( InternalGetAnimationStructureRef( usSoldierID, usSurfaceIndex, usAnimState, FALSE ) );
|
||||
}
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT8 usSoldierID )
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT16 usSoldierID )
|
||||
{
|
||||
return( gAnimStructureDatabase[ MercPtrs[ usSoldierID ]->ubBodyType ][ DEFAULT_STRUCT ].pStructureFileRef );
|
||||
}
|
||||
|
||||
@@ -696,8 +696,8 @@ void ClearAnimationSurfacesUsageHistory( UINT16 usSoldierID );
|
||||
void DeleteAnimationProfiles( );
|
||||
BOOLEAN LoadAnimationProfiles( );
|
||||
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState );
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT8 usSoldierID );
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState );
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT16 usSoldierID );
|
||||
|
||||
// Profile data
|
||||
extern ANIM_PROF *gpAnimProfiles;
|
||||
|
||||
@@ -1818,7 +1818,7 @@ void RemoveRandomItemFromArmsDealerInventory( UINT8 ubArmsDealer, UINT16 usItemI
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT8 aMercID )
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT16 aMercID )
|
||||
{
|
||||
//Get Dealer ID from from merc Id
|
||||
INT8 bArmsDealer = GetArmsDealerIDFromMercID( usProfileID );
|
||||
|
||||
@@ -366,7 +366,7 @@ UINT32 GetTimeToFixItemBeingRepaired( UINT8 ubArmsDealer, UINT16 usItemIndex, UI
|
||||
BOOLEAN CanDealerTransactItem( UINT8 ubArmsDealer, UINT16 usItemIndex, BOOLEAN fPurchaseFromPlayer );
|
||||
BOOLEAN CanDealerRepairItem( UINT8 ubArmsDealer, UINT16 usItemIndex );
|
||||
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT8 aMercID );
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT16 aMercID );
|
||||
|
||||
void MakeObjectOutOfDealerItems( DEALER_SPECIAL_ITEM *pSpclItemInfo, OBJECTTYPE *pObject );
|
||||
void CreateObjectForDealer( int usItem, int status, int numObjects, OBJECTTYPE *pObject );
|
||||
|
||||
@@ -89,7 +89,7 @@ BOOLEAN RemoveFacesForAutoBandage( void );
|
||||
|
||||
extern BOOLEAN CanCharacterAutoBandageTeammate( SOLDIERTYPE *pSoldier );
|
||||
extern BOOLEAN CanCharacterBeAutoBandagedByTeammate( SOLDIERTYPE *pSoldier );
|
||||
extern UINT8 NumEnemyInSector( );
|
||||
extern UINT16 NumEnemyInSector( );
|
||||
|
||||
void BeginAutoBandage( )
|
||||
{
|
||||
@@ -316,7 +316,7 @@ BOOLEAN CreateAutoBandageString( void )
|
||||
{
|
||||
INT32 cnt;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
UINT8 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||
UINT16 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||
UINT32 uiDoctorNameStringLength = 1; // for end-of-string character
|
||||
STR16 sTemp;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
@@ -399,7 +399,7 @@ void SetAutoBandageComplete( void )
|
||||
void AutoBandage( BOOLEAN fStart )
|
||||
{
|
||||
SGPRect aRect;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
|
||||
+5
-5
@@ -28,7 +28,7 @@
|
||||
#endif
|
||||
|
||||
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
|
||||
UINT8 gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||
UINT16 gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||
BOOLEAN gfBoxerFought[ NUM_BOXERS ] = { FALSE, FALSE, FALSE };
|
||||
BOOLEAN gfLastBoxingMatchWonByPlayer = FALSE;
|
||||
UINT8 gubBoxingMatchesWon = 0;
|
||||
@@ -331,7 +331,7 @@ void CountPeopleInBoxingRingAndDoActions( void )
|
||||
BOOLEAN CheckOnBoxers( void )
|
||||
{
|
||||
UINT32 uiLoop;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// repick boxer IDs every time
|
||||
if ( gubBoxerID[0] == NOBODY )
|
||||
@@ -482,9 +482,9 @@ BOOLEAN AnotherFightPossible( void )
|
||||
// a player has at least OKLIFE + 5 life
|
||||
|
||||
// and at least one fight HAS occurred
|
||||
UINT8 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubAvailable;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubAvailable;
|
||||
|
||||
ubAvailable = BoxersAvailable();
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ enum DisqualificationReasons
|
||||
} ;
|
||||
|
||||
extern INT32 gsBoxerGridNo[ NUM_BOXERS ];
|
||||
extern UINT8 gubBoxerID[ NUM_BOXERS ];
|
||||
extern UINT16 gubBoxerID[ NUM_BOXERS ];
|
||||
extern BOOLEAN gfBoxerFought[ NUM_BOXERS ];
|
||||
extern INT8 gbBoxingState;
|
||||
extern BOOLEAN gfLastBoxingMatchWonByPlayer;
|
||||
|
||||
+3
-3
@@ -30,8 +30,8 @@ typedef struct
|
||||
LEVELNODE* pNodes[BULLET_TRACER_MAX_LENGTH];
|
||||
//afp-end
|
||||
INT32 iBullet;
|
||||
UINT8 ubFirerID;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubFirerID;
|
||||
UINT16 ubTargetID;
|
||||
INT8 bStartCubesAboveLevelZ;
|
||||
INT8 bEndCubesAboveLevelZ;
|
||||
INT32 sGridNo;
|
||||
@@ -83,7 +83,7 @@ typedef struct
|
||||
|
||||
extern UINT32 guiNumBullets;
|
||||
|
||||
INT32 CreateBullet( UINT8 ubFirer, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem );
|
||||
INT32 CreateBullet( UINT16 ubFirerID, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem );
|
||||
void RemoveBullet( INT32 iBullet );
|
||||
void StopBullet( INT32 iBullet );
|
||||
void UpdateBullets( );
|
||||
|
||||
@@ -1837,7 +1837,7 @@ void TestDumpStatChanges(void)
|
||||
void AwardExperienceBonusToActiveSquad( UINT8 ubExpBonusType )
|
||||
{
|
||||
UINT16 usXPs = 0;
|
||||
UINT8 ubGuynum;
|
||||
UINT16 ubGuynum;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
|
||||
|
||||
@@ -1127,7 +1127,7 @@ BOOLEAN LoadCivQuotesFromLoadGameFile( HWFILE hFile )
|
||||
return( TRUE );
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
|
||||
#pragma optimize("", off)
|
||||
// anv: start enemy taunt with probabilty depending on taunt settings
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 uiTargetID )
|
||||
{
|
||||
@@ -1342,6 +1342,7 @@ void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 ui
|
||||
|
||||
StartEnemyTaunt( pCiv, iTauntType, pTarget );
|
||||
}
|
||||
#pragma optimize("", on)
|
||||
|
||||
// SANDRO - soldier taunts
|
||||
void StartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget )
|
||||
|
||||
@@ -176,7 +176,7 @@ UINT8 gubNumStopTimeQuotes = 2;
|
||||
#define INITIAL_Q_SIZE 10
|
||||
HQUEUE ghDialogueQ = NULL;
|
||||
FACETYPE *gpCurrentTalkingFace = NULL;
|
||||
UINT8 gubCurrentTalkingID = NO_PROFILE;
|
||||
UINT16 gubCurrentTalkingID = NO_PROFILE;
|
||||
INT8 gbUIHandlerID;
|
||||
|
||||
INT32 giNPCReferenceCount = 0;
|
||||
@@ -763,7 +763,7 @@ void HandleDialogue( )
|
||||
{
|
||||
SOLDIERTYPE * pMike;
|
||||
INT32 sPlayerGridNo;
|
||||
UINT8 ubPlayerID;
|
||||
UINT16 ubPlayerID;
|
||||
|
||||
pMike = FindSoldierByProfileID( MIKE, FALSE );
|
||||
if ( pMike )
|
||||
@@ -949,11 +949,11 @@ void HandleDialogue( )
|
||||
}
|
||||
else if ( QItem->uiSpecialEventFlag & DIALOGUE_SPECIAL_EVENT_CONTRACT_WANTS_TO_RENEW )
|
||||
{
|
||||
HandleMercIsWillingToRenew( (UINT8)QItem->uiSpecialEventData );
|
||||
HandleMercIsWillingToRenew( (UINT16)QItem->uiSpecialEventData );
|
||||
}
|
||||
else if ( QItem->uiSpecialEventFlag & DIALOGUE_SPECIAL_EVENT_CONTRACT_NOGO_TO_RENEW )
|
||||
{
|
||||
HandleMercIsNotWillingToRenew( (UINT8)QItem->uiSpecialEventData );
|
||||
HandleMercIsNotWillingToRenew( (UINT16)QItem->uiSpecialEventData );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2061,7 +2061,7 @@ BOOLEAN SpecialCharacterDialogueEventWithExtraParam( UINT32 uiSpecialEventFlag,
|
||||
}
|
||||
|
||||
extern INT8 gbSelectedArmsDealerID;
|
||||
extern UINT8 gusIDOfCivTrader;
|
||||
extern UINT16 gusIDOfCivTrader;
|
||||
|
||||
BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier )
|
||||
{
|
||||
@@ -3176,8 +3176,8 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
SOLDIERTYPE *pSoldier = FindSoldierByProfileID( gTacticalStatus.ubLastQuoteProfileNUm, FALSE );
|
||||
if ( pSoldier )
|
||||
{
|
||||
UINT8 ubSeenEnemies[ MAX_NUM_SOLDIERS ];
|
||||
UINT8 ubSeenEnemiesCnt = 0;
|
||||
UINT16 ubSeenEnemies[ MAX_NUM_SOLDIERS ];
|
||||
UINT16 ubSeenEnemiesCnt = 0;
|
||||
switch( gTacticalStatus.ubLastQuoteSaid )
|
||||
{
|
||||
case QUOTE_CLOSE_CALL:
|
||||
@@ -3188,7 +3188,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
break;
|
||||
default:
|
||||
// select random enemy, who we see, who sees us and isn't deaf
|
||||
for(UINT8 cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID ; cnt++ )
|
||||
for(UINT16 cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID ; cnt++ )
|
||||
{
|
||||
if( MercPtrs[cnt] != NULL && MercPtrs[cnt]->aiData.bOppList[pSoldier->ubID] == SEEN_CURRENTLY
|
||||
&& MercPtrs[pSoldier->ubID]->aiData.bOppList[cnt] == SEEN_CURRENTLY && !( MercPtrs[cnt]->bDeafenedCounter > 0 ) )
|
||||
@@ -3359,9 +3359,9 @@ void RenderSubtitleBoxOverlay( VIDEO_OVERLAY *pBlitter )
|
||||
void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -3395,7 +3395,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
#endif
|
||||
}
|
||||
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3403,7 +3403,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
// If we are air raid, AND red exists somewhere...
|
||||
if ( usQuoteNum == QUOTE_AIR_RAID )
|
||||
@@ -3412,7 +3412,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
{
|
||||
if ( ubMercsInSector[ cnt ] == 11 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)cnt;
|
||||
ubChosenMerc = (UINT16)cnt;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3447,7 +3447,7 @@ void SayQuoteFromAnyBodyInThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSect
|
||||
// Add guy if he's a candidate...
|
||||
if( pTeamSoldier->sSectorX == sSectorX && pTeamSoldier->sSectorY == sSectorY && pTeamSoldier->bSectorZ == bSectorZ && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
++ubNumMercs;
|
||||
}
|
||||
}
|
||||
@@ -3481,9 +3481,9 @@ void SayQuoteFromAnyBodyInThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSect
|
||||
void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuoteNum )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0 );
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0 );
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -3503,7 +3503,7 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3511,7 +3511,7 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
if (usQuoteNum == 66)
|
||||
{
|
||||
@@ -3526,9 +3526,9 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuoteNum, INT8 bSex )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
|
||||
@@ -3553,7 +3553,7 @@ void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQ
|
||||
continue;
|
||||
}
|
||||
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
++ubNumMercs;
|
||||
}
|
||||
}
|
||||
@@ -3561,7 +3561,7 @@ void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQ
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
TacticalCharacterDialogue( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ], usQuoteNum );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1105,7 +1105,7 @@ void SetfDynamicOpinionSpeechInProgress( BOOLEAN aVal )
|
||||
}
|
||||
|
||||
|
||||
void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue )
|
||||
void AddOpinionEvent( UINT16 usProfileA, UINT16 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue )
|
||||
{
|
||||
if ( usProfileA == NO_PROFILE || usProfileB == NO_PROFILE )
|
||||
return;
|
||||
@@ -1669,10 +1669,9 @@ void RolloverDynamicOpinions( UINT8 usProfileA )
|
||||
// check wether other people are friends with someone else we hate. All persons must be in Arulco
|
||||
void CheckForFriendsofHated( SOLDIERTYPE* pSoldier )
|
||||
{
|
||||
INT8 bMercID, bOtherID, bThirdID;
|
||||
UINT16 bMercID, bOtherID, bThirdID, bLastTeamID;
|
||||
INT8 bOpinion = -1;
|
||||
INT8 bSecondOpinion = -1;
|
||||
INT8 bLastTeamID;
|
||||
SOLDIERTYPE* pOtherSoldier;
|
||||
SOLDIERTYPE* pThirdSoldier;
|
||||
|
||||
|
||||
@@ -452,7 +452,7 @@ BOOLEAN LoadDynamicDialogue( HWFILE hwFile );
|
||||
|
||||
|
||||
// modify usProfileA's opinion of usProfileB because of usEvent
|
||||
void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue = TRUE );
|
||||
void AddOpinionEvent( UINT16 usProfileA, UINT16 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue = TRUE );
|
||||
|
||||
// get usProfileA's opinion of usProfileB on one of the last 4 days
|
||||
INT8 GetDynamicOpinionDay( UINT8 usProfileA, UINT8 usProfileB, UINT8 usDay );
|
||||
|
||||
@@ -182,7 +182,7 @@ void HandleDeidrannaDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLev
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT8 ubKillerSoldierID = NOBODY;
|
||||
UINT16 ubKillerSoldierID = NOBODY;
|
||||
|
||||
// Start victory music here...
|
||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||
@@ -673,7 +673,7 @@ void BeginHandleQueenBitchDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT
|
||||
{
|
||||
// gTacticalStatus.ubAttackBusyCount++;
|
||||
DebugAttackBusy( "Killing off a queen ally.\n");
|
||||
pTeamSoldier->EVENT_SoldierGotHit( 0, 10000, 0, pTeamSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, pTeamSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
pTeamSoldier->EVENT_SoldierGotHit( 0, 10000, 0, pTeamSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, pTeamSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -685,7 +685,7 @@ void HandleQueenBitchDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLe
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT8 ubKillerSoldierID = NOBODY;
|
||||
UINT16 ubKillerSoldierID = NOBODY;
|
||||
|
||||
// Start victory music here...
|
||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||
|
||||
+8
-10
@@ -50,8 +50,6 @@
|
||||
#endif
|
||||
|
||||
// Defines
|
||||
#define NUM_FACE_SLOTS 50
|
||||
|
||||
#define END_FACE_OVERLAY_DELAY 2000
|
||||
|
||||
|
||||
@@ -135,7 +133,7 @@ INT32 InitSoldierFace( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags )
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT16 ubSoldierID, UINT32 uiInitFlags )
|
||||
{
|
||||
UINT32 uiBlinkFrequency;
|
||||
UINT32 uiExpressionFrequency;
|
||||
@@ -162,7 +160,7 @@ INT32 InitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags )
|
||||
}
|
||||
|
||||
|
||||
INT32 InternalInitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags, INT32 iFaceFileID, UINT32 uiBlinkFrequency, UINT32 uiExpressionFrequency )
|
||||
INT32 InternalInitFace( UINT8 usMercProfileID, UINT16 ubSoldierID, UINT32 uiInitFlags, INT32 iFaceFileID, UINT32 uiBlinkFrequency, UINT32 uiExpressionFrequency )
|
||||
{
|
||||
FACETYPE *pFace;
|
||||
VOBJECT_DESC VObjectDesc;
|
||||
@@ -557,7 +555,7 @@ void DeleteFace( INT32 iFaceIndex )
|
||||
|
||||
}
|
||||
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT8 ubSoldierID , UINT16 usFaceX, UINT16 usFaceY )
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT16 ubSoldierID, UINT16 usFaceX, UINT16 usFaceY )
|
||||
{
|
||||
if( ubSoldierID == NOBODY )
|
||||
{
|
||||
@@ -761,7 +759,7 @@ void InternalSetAutoFaceActive( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer,
|
||||
}
|
||||
|
||||
|
||||
void SetAutoFaceInActiveFromSoldier( UINT8 ubSoldierID )
|
||||
void SetAutoFaceInActiveFromSoldier( UINT16 ubSoldierID )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKV( ubSoldierID != NOBODY );
|
||||
@@ -1349,7 +1347,7 @@ void SetFaceShade( SOLDIERTYPE *pSoldier, FACETYPE *pFace, BOOLEAN fExternBlit )
|
||||
}
|
||||
}
|
||||
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT8 ubSoldierID )
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT16 ubSoldierID )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKF( ubSoldierID != NOBODY );
|
||||
@@ -2107,10 +2105,10 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
|
||||
// Flugente: are we supplying ammo to someone else?
|
||||
if (gGameExternalOptions.ubExternalFeeding > 0)
|
||||
{
|
||||
UINT8 ubID1 = 0;
|
||||
UINT16 ubID1 = 0;
|
||||
UINT16 ubGunSlot1 = 0;
|
||||
UINT16 ubFaceSlot1 = 0;
|
||||
UINT8 ubID2 = 0;
|
||||
UINT16 ubID2 = 0;
|
||||
UINT16 ubGunSlot2 = 0;
|
||||
UINT16 ubFaceSlot2 = 0;
|
||||
if (MercPtrs[pFace->ubSoldierID]->IsFeedingExternal(&ubID1, &ubGunSlot1, &ubFaceSlot1, &ubID2, &ubGunSlot2, &ubFaceSlot2))
|
||||
@@ -2640,7 +2638,7 @@ BOOLEAN RenderAutoFace( INT32 iFaceIndex )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT8 ubSoldierID, INT16 sX, INT16 sY )
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT16 ubSoldierID, INT16 sX, INT16 sY )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKF( ubSoldierID != NOBODY );
|
||||
|
||||
+7
-7
@@ -105,7 +105,7 @@ BOOLEAN DoesSoldierRefuseToEat( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObj )
|
||||
if ( UsingFoodSystem() )
|
||||
{
|
||||
// static variables to remember the last food someone was forced to eat
|
||||
static UINT8 lasteater = 0;
|
||||
static UINT16 lasteater = 0;
|
||||
static UINT16 lastitem = 0;
|
||||
|
||||
UINT32 foodtype = Item[pObj->usItem].foodtype;
|
||||
@@ -765,8 +765,8 @@ void EatFromInventory( SOLDIERTYPE *pSoldier, BOOLEAN fcanteensonly )
|
||||
|
||||
void HourlyFoodUpdate( void )
|
||||
{
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
@@ -831,8 +831,8 @@ void SectorFillCanteens( void )
|
||||
addtemperature = FOOD_WATER_POISONOUS_TEMPERATURE;
|
||||
|
||||
// first step: fill all canteens in inventories
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
@@ -905,8 +905,8 @@ void SectorFillCanteens( void )
|
||||
INT32 drumsize = Food[Item[pWaterDrum->usItem].foodtype].bDrinkPoints;
|
||||
|
||||
// first step: fill all canteens in inventories
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
@@ -443,10 +443,8 @@ void ProcessImplicationsOfPCMessingWithDoor( SOLDIERTYPE * pSoldier )
|
||||
// if player is hacking at a door in the brothel and a kingpin guy can see him
|
||||
if ( (InARoom( pSoldier->sGridNo, &usRoom ) && IN_BROTHEL( usRoom )) || (gWorldSectorX == 5 && gWorldSectorY == MAP_ROW_D && gbWorldSectorZ == 0 && (pSoldier->sGridNo == gModSettings.iBrothelDoor1 || pSoldier->sGridNo == gModSettings.iBrothelDoor2 || pSoldier->sGridNo == gModSettings.iBrothelDoor3 ) ) )//11010,11177,11176
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
|
||||
// see if a kingpin goon can see us
|
||||
for ( ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
for (UINT16 ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
{
|
||||
pGoon = MercPtrs[ ubLoop ];
|
||||
if ( pGoon->ubCivilianGroup == KINGPIN_CIV_GROUP && pGoon->bActive && pGoon->bInSector && pGoon->stats.bLife >= OKLIFE && pGoon->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY )
|
||||
|
||||
+25
-25
@@ -1023,7 +1023,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
|
||||
if ( Item[usHandItem].toolkit )
|
||||
{
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
BOOLEAN fVehicle = FALSE;
|
||||
INT32 sVehicleGridNo=-1;
|
||||
|
||||
@@ -1096,7 +1096,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
|
||||
if ( Item[usHandItem].gascan )
|
||||
{
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
INT32 sVehicleGridNo=-1;
|
||||
|
||||
// For repair, check if we are over a vehicle, then get gridnot to edge of that vehicle!
|
||||
@@ -1390,7 +1390,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
}
|
||||
}
|
||||
|
||||
UINT8 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
UINT16 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
|
||||
// Flugente: apply misc items to other soldiers
|
||||
// sevenfm: check that target soldier is visible
|
||||
@@ -2133,7 +2133,7 @@ void SoldierHandleDropItem( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
}
|
||||
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
|
||||
OBJECTTYPE::DeleteMe( &pSoldier->pTempObject );
|
||||
@@ -2376,7 +2376,7 @@ void HandleAutoPlaceFail( SOLDIERTYPE *pSoldier, INT32 iItemIndex, INT32 sGridNo
|
||||
else
|
||||
{
|
||||
// Add back to world...
|
||||
AddItemToPool( sGridNo, &(gWorldItems[ iItemIndex ].object ), 1 , pSoldier->pathing.bLevel, 0, -1 );
|
||||
AddItemToPool( sGridNo, &(gWorldItems[ iItemIndex ].object ), 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// If we are a merc, say DAMN quote....
|
||||
if ( pSoldier->bTeam == gbPlayerNum )
|
||||
@@ -2944,17 +2944,17 @@ void RemoveItemGraphicFromWorld( INVTYPE *pItem, INT32 sGridNo, UINT8 ubLevel, L
|
||||
}
|
||||
|
||||
// INVENTORY POOL STUFF
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID )
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID)
|
||||
{
|
||||
return InternalAddItemToPool( &sGridNo, pObject, bVisible, ubLevel, usFlags, bRenderZHeightAboveLevel, soldierID, NULL );
|
||||
}
|
||||
|
||||
OBJECTTYPE * AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex )
|
||||
OBJECTTYPE * AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex )
|
||||
{
|
||||
return( InternalAddItemToPool( &sGridNo, pObject, bVisible, ubLevel, usFlags, bRenderZHeightAboveLevel, soldierID, piItemIndex ) );
|
||||
}
|
||||
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex )
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex )
|
||||
{
|
||||
ITEM_POOL *pItemPool;
|
||||
ITEM_POOL *pItemPoolTemp;
|
||||
@@ -4816,7 +4816,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubTargetMercID;
|
||||
UINT16 ubTargetMercID;
|
||||
|
||||
// DO SOME CHECKS IF WE CAN DO ANIMATION.....
|
||||
|
||||
@@ -4825,7 +4825,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
|
||||
sGridNo = pSoldier->aiData.sPendingActionData2;
|
||||
ubDirection = pSoldier->aiData.bPendingActionData3;
|
||||
ubTargetMercID = (UINT8)pSoldier->aiData.uiPendingActionData4;
|
||||
ubTargetMercID = (UINT16)pSoldier->aiData.uiPendingActionData4;
|
||||
|
||||
usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
|
||||
@@ -4851,7 +4851,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
{
|
||||
if ( pSoldier->pTempObject != NULL )
|
||||
{
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// Place it on the ground!
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, TacticalStr[ ITEM_HAS_BEEN_PLACED_ON_GROUND_STR ], ShortItemNames[ pSoldier->pTempObject->usItem ] );
|
||||
@@ -4881,7 +4881,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubTargetMercID;
|
||||
UINT16 ubTargetMercID;
|
||||
UINT16 usItemNum;
|
||||
BOOLEAN fToTargetPlayer = FALSE;
|
||||
|
||||
@@ -4910,7 +4910,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
|
||||
sGridNo = pSoldier->aiData.sPendingActionData2;
|
||||
ubDirection = pSoldier->aiData.bPendingActionData3;
|
||||
ubTargetMercID = (UINT8)pSoldier->aiData.uiPendingActionData4;
|
||||
ubTargetMercID = (UINT16)pSoldier->aiData.uiPendingActionData4;
|
||||
|
||||
// ATE: Deduct APs!
|
||||
DeductPoints( pSoldier, GetBasicAPsToPickupItem( pSoldier ), 0 ); // SANDRO
|
||||
@@ -5004,7 +5004,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
DirtyMercPanelInterface( pSoldier, DIRTYLEVEL2 );
|
||||
}
|
||||
|
||||
AddItemToPool( pSoldier->sGridNo, &gTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, &gTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// We could not place it!
|
||||
// Drop it on the ground?
|
||||
@@ -5081,7 +5081,7 @@ INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo )
|
||||
BOOLEAN fStructFound = FALSE;
|
||||
UINT8 ubDirection;
|
||||
INT32 sAdjustedGridNo;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
|
||||
|
||||
sActionGridNo = sGridNo;
|
||||
@@ -6169,7 +6169,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
// remove it from the ground
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
}
|
||||
@@ -6191,7 +6191,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
}
|
||||
@@ -6208,7 +6208,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
}
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
|
||||
// remove it from the ground
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
@@ -6363,7 +6363,7 @@ void SwitchMessageBoxCallBack( UINT8 ubExitValue )
|
||||
// Message that switch is activated...
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, gzLateLocalizedString[ 60 ] );
|
||||
|
||||
SetOffBombsByFrequency( gpTempSoldier->ubID, bTempFrequency );
|
||||
SetOffBombsByFrequency( gpTempSoldier->ubID, bTempFrequency );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6733,11 +6733,11 @@ void TestPotentialOwner( SOLDIERTYPE * pSoldier )
|
||||
|
||||
void CheckForPickedOwnership( void )
|
||||
{
|
||||
ITEM_POOL * pItemPool;
|
||||
UINT8 ubProfile;
|
||||
UINT8 ubCivGroup;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop;
|
||||
ITEM_POOL * pItemPool;
|
||||
UINT8 ubProfile;
|
||||
UINT8 ubCivGroup;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 ubLoop;
|
||||
|
||||
// LOOP THROUGH LIST TO FIND NODE WE WANT
|
||||
GetItemPool( gsTempGridNo, &pItemPool, gpTempSoldier->pathing.bLevel );
|
||||
@@ -9403,7 +9403,7 @@ void DoInteractiveAction( INT32 sGridNo, SOLDIERTYPE *pSoldier )
|
||||
|
||||
// handle the default result of an interactive action
|
||||
// This is called either if no lua action id is set, or by lua if this should happen as a supplement to whatever lua does
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT8 ubID, BOOLEAN aSuccess )
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT16 ubID, BOOLEAN aSuccess )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = NULL;
|
||||
if ( ubID != NOBODY )
|
||||
|
||||
@@ -194,9 +194,9 @@ void AllSoldiersLookforItems( BOOLEAN RevealRoofsAndItems );
|
||||
|
||||
void SoldierGetItemFromWorld( SOLDIERTYPE *pSoldier, INT32 iItemIndex, INT32 sGridNo, INT8 bZLevel, BOOLEAN *pfSelectionList );
|
||||
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID = -1 );
|
||||
OBJECTTYPE* AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* AddItemToPool(INT32 sGridNo, OBJECTTYPE* pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID = -1);
|
||||
OBJECTTYPE* AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex );
|
||||
|
||||
INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
||||
BOOLEAN GetItemPool( INT32 usMapPos, ITEM_POOL **ppItemPool, UINT8 ubLevel );
|
||||
@@ -328,7 +328,7 @@ extern ITEM_POOL *gpItemPool;//dnl ch26 210909
|
||||
|
||||
// Flugente: interactive actions
|
||||
void DoInteractiveAction( INT32 sGridNo, SOLDIERTYPE *pSoldier );
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT8 ubID, BOOLEAN aSuccess );
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT16 ubID, BOOLEAN aSuccess );
|
||||
BOOLEAN SpendMoney( SOLDIERTYPE *pSoldier, UINT32 aAmount ); // character spends money - either from inventory or the account
|
||||
|
||||
// Flugente: intel
|
||||
|
||||
@@ -46,7 +46,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
INT8 bDirection;
|
||||
INT32 iLoop;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT8 ubNewIndex;
|
||||
UINT16 ubNewIndex;
|
||||
|
||||
// Depeding on stance and direction facing, add guy!
|
||||
|
||||
@@ -122,7 +122,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
pPlanSoldier->ChangeSoldierState( pPlanSoldier->usUIMovementMode, 0, FALSE );
|
||||
|
||||
// Change selected soldier
|
||||
gusSelectedSoldier = (UINT16)pPlanSoldier->ubID;
|
||||
gusSelectedSoldier = pPlanSoldier->ubID;
|
||||
|
||||
// Change global planned mode to this guy!
|
||||
gpUIPlannedSoldier = pPlanSoldier;
|
||||
@@ -165,7 +165,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &ubNewIndex ) )
|
||||
{
|
||||
// Get pointer to soldier
|
||||
GetSoldier( &pPlanSoldier, (UINT16)ubNewIndex );
|
||||
GetSoldier( &pPlanSoldier, ubNewIndex );
|
||||
|
||||
pPlanSoldier->sPlannedTargetX = -1;
|
||||
pPlanSoldier->sPlannedTargetY = -1;
|
||||
|
||||
+25
-24
@@ -294,7 +294,7 @@ BOOLEAN gfResetUIMovementOptimization = FALSE;
|
||||
BOOLEAN gfResetUIItemCursorOptimization = FALSE;
|
||||
BOOLEAN gfBeginVehicleCursor = FALSE;
|
||||
INT32 gsOutOfRangeGridNo = NOWHERE;
|
||||
UINT8 gubOutOfRangeMerc = NOBODY;
|
||||
UINT16 gubOutOfRangeMerc = NOBODY;
|
||||
BOOLEAN gfOKForExchangeCursor = FALSE;
|
||||
UINT32 guiUIInterfaceSwapCursorsTime = 0;
|
||||
INT32 gsJumpOverGridNo = 0;
|
||||
@@ -441,7 +441,7 @@ BOOLEAN gfUIDoNotHighlightSelMerc = FALSE;
|
||||
BOOLEAN gfUIHandleSelection = FALSE;
|
||||
BOOLEAN gfUIHandleSelectionAboveGuy = FALSE;
|
||||
BOOLEAN gfUIInDeadlock = FALSE;
|
||||
UINT8 gUIDeadlockedSoldier = NOBODY;
|
||||
UINT16 gUIDeadlockedSoldier = NOBODY;
|
||||
BOOLEAN gfUIHandleShowMoveGrid = FALSE;
|
||||
INT32 gsUIHandleShowMoveGridLocation = NOWHERE ;
|
||||
BOOLEAN gfUIOverItemPool = FALSE;
|
||||
@@ -449,7 +449,7 @@ INT32 gfUIOverItemPoolGridNo = 0;
|
||||
INT16 gsCurrentActionPoints = 1;
|
||||
BOOLEAN gfUIHandlePhysicsTrajectory = FALSE;
|
||||
BOOLEAN gfUIMouseOnValidCatcher = FALSE;
|
||||
UINT8 gubUIValidCatcherID = 0;
|
||||
UINT16 gubUIValidCatcherID = 0;
|
||||
|
||||
|
||||
|
||||
@@ -577,7 +577,7 @@ UINT32 HandleTacticalUI( void )
|
||||
gfUIInterfaceSetBusy = FALSE;
|
||||
|
||||
//UNLOCK UI
|
||||
UnSetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
UnSetUIBusy( gusSelectedSoldier );
|
||||
|
||||
// Decrease global busy counter...
|
||||
gTacticalStatus.ubAttackBusyCount = 0;
|
||||
@@ -1500,7 +1500,7 @@ UINT32 UIHandleTestHit( UI_EVENT *pUIEvent )
|
||||
|
||||
// gTacticalStatus.ubAttackBusyCount++;
|
||||
DebugAttackBusy( "Testing a hit.\n" );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, bDamage, 10, pSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, pSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, bDamage, 10, pSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, pSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
// callahan update end - put everything as it was
|
||||
}
|
||||
return( GAME_SCREEN );
|
||||
@@ -1716,7 +1716,7 @@ UINT32 UIHandleMOnTerrain( UI_EVENT *pUIEvent )
|
||||
// THIS IS JUST A CRUDE TEST FOR NOW
|
||||
if ( pSoldier->stats.bLife < OKLIFE )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
// Show reg. cursor
|
||||
// GO INTO IDLE MODE
|
||||
// guiPendingOverrideEvent = I_CHANGE_TO_IDLE;
|
||||
@@ -1725,7 +1725,7 @@ UINT32 UIHandleMOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
if ( ubID != NOBODY )
|
||||
{
|
||||
SelectSoldier( (INT16)ubID, FALSE, FALSE );
|
||||
SelectSoldier( ubID, FALSE, FALSE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1963,13 +1963,13 @@ UINT32 UIHandleAOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
// Set
|
||||
gsOutOfRangeGridNo = MercPtrs[ gusUIFullTargetID ]->sGridNo;
|
||||
gubOutOfRangeMerc = (UINT8)gusSelectedSoldier;
|
||||
gubOutOfRangeMerc = gusSelectedSoldier;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
guiNewUICursor = GetProperItemCursor( (UINT8)gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, FALSE );
|
||||
guiNewUICursor = GetProperItemCursor( gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, FALSE );
|
||||
|
||||
// Show UI ON GUY
|
||||
UIHandleOnMerc( FALSE );
|
||||
@@ -2123,7 +2123,7 @@ UINT32 UIHandleCMoveMerc( UI_EVENT *pUIEvent )
|
||||
STRUCTURE *pStructure;
|
||||
UINT8 ubDirection = 0xff;
|
||||
BOOLEAN fAllMove;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
LEVELNODE *pIntTile;
|
||||
INT32 sIntTileGridNo;
|
||||
BOOLEAN fOldFastMove;
|
||||
@@ -2745,7 +2745,7 @@ UINT32 UIHandleCAOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||
{
|
||||
guiNewUICursor = GetProperItemCursor( (UINT8)gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, TRUE );
|
||||
guiNewUICursor = GetProperItemCursor( gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, TRUE );
|
||||
|
||||
UIHandleOnMerc( FALSE );
|
||||
}
|
||||
@@ -3465,7 +3465,7 @@ BOOLEAN SelectedMercCanAffordMove( )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
void GetMercClimbDirection( UINT8 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp )
|
||||
void GetMercClimbDirection( UINT16 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -3839,7 +3839,7 @@ UINT32 UIHandleIETOnTerrain( UI_EVENT *pUIEvent )
|
||||
}
|
||||
|
||||
|
||||
void UIHandleSoldierStanceChange( UINT8 ubSoldierID, INT8 bNewStance )
|
||||
void UIHandleSoldierStanceChange( UINT16 ubSoldierID, INT8 bNewStance )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubSoldierID ];
|
||||
|
||||
@@ -4259,7 +4259,7 @@ INT8 DrawUIMovementPath( SOLDIERTYPE *pSoldier, INT32 usMapPos, UINT32 uiFlags )
|
||||
LEVELNODE *pIntTile;
|
||||
INT8 bReturnCode = 0;
|
||||
BOOLEAN fPlot;
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
|
||||
if ( (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) || _KeyDown( SHIFT ) )
|
||||
{
|
||||
@@ -5588,7 +5588,7 @@ UINT32 UIHandleLCLook( UI_EVENT *pUIEvent )
|
||||
UINT32 UIHandleTOnTerrain( UI_EVENT *pUIEvent )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubTargID;
|
||||
UINT16 ubTargID;
|
||||
UINT32 uiRange;
|
||||
INT32 usMapPos;
|
||||
BOOLEAN fValidTalkableGuy = FALSE;
|
||||
@@ -5619,7 +5619,7 @@ UINT32 UIHandleTOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
|
||||
//CHECK FOR VALID TALKABLE GUY HERE
|
||||
fValidTalkableGuy = IsValidTalkableNPCFromMouse( &ubTargID, FALSE, TRUE , FALSE );
|
||||
fValidTalkableGuy = IsValidTalkableNPCFromMouse( &ubTargID, FALSE, TRUE, FALSE );
|
||||
|
||||
// USe cursor based on distance
|
||||
// Get distance away
|
||||
@@ -6374,20 +6374,20 @@ UINT32 UIHandleLAEndLockOurTurn( UI_EVENT *pUIEvent )
|
||||
|
||||
|
||||
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT8 *pubSoldierID , BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT16 * pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
{
|
||||
// Check if there is a guy here to talk to!
|
||||
if ( gfUIFullTargetFound )
|
||||
{
|
||||
*pubSoldierID = (UINT8)gusUIFullTargetID;
|
||||
return( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, fGive, fAllowMercs, fCheckCollapsed ) );
|
||||
*pubSoldierID = gusUIFullTargetID;
|
||||
return( IsValidTalkableNPC( gusUIFullTargetID, fGive, fAllowMercs, fCheckCollapsed ) );
|
||||
}
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsValidTalkableNPC( UINT8 ubSoldierID, BOOLEAN fGive , BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
BOOLEAN IsValidTalkableNPC( UINT16 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubSoldierID ];
|
||||
BOOLEAN fValidGuy = FALSE;
|
||||
@@ -6509,7 +6509,7 @@ BOOLEAN HandleTalkInit( )
|
||||
if ( gfUIFullTargetFound )
|
||||
{
|
||||
// Is he a valid NPC?
|
||||
if ( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, FALSE, TRUE , FALSE ) )
|
||||
if ( IsValidTalkableNPC( gusUIFullTargetID, FALSE, TRUE, FALSE ) )
|
||||
{
|
||||
GetSoldier( &pTSoldier, gusUIFullTargetID );
|
||||
|
||||
@@ -6716,7 +6716,7 @@ BOOLEAN HandleTalkInit( )
|
||||
|
||||
|
||||
|
||||
void SetUIBusy( UINT8 ubID )
|
||||
void SetUIBusy( UINT16 ubID )
|
||||
{
|
||||
if ( (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) && ( gTacticalStatus.ubCurrentTeam == gbPlayerNum ) )
|
||||
{
|
||||
@@ -6728,7 +6728,7 @@ void SetUIBusy( UINT8 ubID )
|
||||
}
|
||||
}
|
||||
|
||||
void UnSetUIBusy( UINT8 ubID )
|
||||
void UnSetUIBusy( UINT16 ubID )
|
||||
{
|
||||
if ( gfUserTurnRegionActive && (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) && ( gTacticalStatus.ubCurrentTeam == gbPlayerNum ) )
|
||||
{
|
||||
@@ -7274,7 +7274,8 @@ BOOLEAN IsValidJumpLocation( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fChec
|
||||
INT32 sFourGrids[4], sDistance=0, sSpot, sInBetween, sInBetween2, iDoorGridNo;
|
||||
static const UINT8 sDirs[4] = { NORTH, EAST, SOUTH, WEST };
|
||||
//INT32 cnt;
|
||||
UINT8 ubGuyThere, ubMovementCost, ubDirection;
|
||||
UINT16 ubGuyThere;
|
||||
UINT8 ubMovementCost, ubDirection;
|
||||
INT8 bTileHeight = 0;
|
||||
|
||||
// SANDRO: commented out to allow jumping even in cases we could get to the destination normally
|
||||
|
||||
@@ -200,10 +200,10 @@ extern BOOLEAN gfUIHandleSelectionAboveGuy;
|
||||
extern INT32 gsSelectedGridNo;
|
||||
extern INT16 gsSelectedGuy;
|
||||
extern BOOLEAN gfUIInDeadlock;
|
||||
extern UINT8 gUIDeadlockedSoldier;
|
||||
extern UINT16 gUIDeadlockedSoldier;
|
||||
|
||||
extern BOOLEAN gfUIMouseOnValidCatcher;
|
||||
extern UINT8 gubUIValidCatcherID;
|
||||
extern UINT16 gubUIValidCatcherID;
|
||||
extern BOOLEAN gUIUseReverse;
|
||||
|
||||
|
||||
@@ -320,13 +320,13 @@ void AdjustSoldierCreationStartValues( );
|
||||
|
||||
BOOLEAN SelectedMercCanAffordAttack( );
|
||||
BOOLEAN SelectedMercCanAffordMove( );
|
||||
void GetMercClimbDirection( UINT8 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp );
|
||||
void GetMercClimbDirection( UINT16 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp );
|
||||
|
||||
void ToggleHandCursorMode( UINT32 *puiNewEvent );
|
||||
void ToggleTalkCursorMode( UINT32 *puiNewEvent );
|
||||
void ToggleLookCursorMode( UINT32 *puiNewEvent );
|
||||
|
||||
void UIHandleSoldierStanceChange( UINT8 ubSoldierID, INT8 bNewStance );
|
||||
void UIHandleSoldierStanceChange( UINT16 ubSoldierID, INT8 bNewStance );
|
||||
void GetCursorMovementFlags( UINT32 *puiCursorFlags );
|
||||
|
||||
BOOLEAN HandleUIMovementCursor( SOLDIERTYPE *pSoldier, UINT32 uiCursorFlags, INT32 usMapPos, UINT32 uiFlags );
|
||||
@@ -334,15 +334,15 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier );
|
||||
|
||||
BOOLEAN UIOkForItemPickup( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
||||
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT8 *pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPC( UINT8 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT16 * pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPC( UINT16 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
|
||||
BOOLEAN HandleTalkInit( );
|
||||
|
||||
BOOLEAN HandleCheckForExitArrowsInput( BOOLEAN fAdjustForConfirm );
|
||||
|
||||
void SetUIBusy( UINT8 ubID );
|
||||
void UnSetUIBusy( UINT8 ubID );
|
||||
void SetUIBusy( UINT16 ubID );
|
||||
void UnSetUIBusy( UINT16 ubID );
|
||||
|
||||
UINT32 UIHandleLUIEndLock( UI_EVENT *pUIEvent );
|
||||
|
||||
|
||||
@@ -921,7 +921,7 @@ void RenderTopmostTacticalInterface( )
|
||||
}
|
||||
else
|
||||
{
|
||||
DrawSelectedUIAboveGuy((UINT16)pSoldier->ubID);
|
||||
DrawSelectedUIAboveGuy(pSoldier->ubID);
|
||||
}
|
||||
|
||||
DrawCounters( pSoldier );
|
||||
|
||||
@@ -187,7 +187,7 @@ BOOLEAN InternalInitiateConversation( SOLDIERTYPE *pDestSoldier, SOLDIERTYPE *pS
|
||||
extern void EndGameMessageBoxCallBack( UINT8 ubExitValue );
|
||||
extern INT32 FindNearestOpenableNonDoor( INT32 sStartGridNo );
|
||||
extern void RecalculateOppCntsDueToBecomingNeutral( SOLDIERTYPE * pSoldier );
|
||||
extern UINT8 NumCapableEnemyInSector( );
|
||||
extern UINT16 NumCapableEnemyInSector( );
|
||||
|
||||
#ifdef JA2UB
|
||||
//JA25 UB
|
||||
@@ -1042,7 +1042,7 @@ void TalkPanelClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
// open inv panel...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)gpSrcSoldier->ubID;
|
||||
gubNewPanelParam = gpSrcSoldier->ubID;
|
||||
|
||||
// Wait!
|
||||
gpDestSoldier->aiData.bNextAction = AI_ACTION_WAIT;
|
||||
@@ -1560,7 +1560,7 @@ void HandleNPCTriggerNPC( UINT8 ubTargetNPC, UINT8 ubTargetRecord, BOOLEAN fShow
|
||||
guiWaitingForTriggerTime = GetJA2Clock( );
|
||||
|
||||
// Setup locator!
|
||||
ShowRadioLocator( (UINT8)pSoldier->ubID, SHOW_LOCATOR_FAST );
|
||||
ShowRadioLocator( pSoldier->ubID, SHOW_LOCATOR_FAST );
|
||||
|
||||
// If he's visible, locate...
|
||||
if ( pSoldier->bVisible != -1 )
|
||||
@@ -1589,7 +1589,7 @@ void HandleNPCTrigger( )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 sPlayerGridNo;
|
||||
UINT8 ubPlayerID;
|
||||
UINT16 ubPlayerID;
|
||||
|
||||
pSoldier = FindSoldierByProfileID( gubTargetNPC, FALSE );
|
||||
if (!pSoldier)
|
||||
@@ -2481,7 +2481,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if (pSoldier)
|
||||
{
|
||||
DeleteTalkingMenu();
|
||||
pSoldier->EVENT_SoldierGotHit( 1, 100, 10, pSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, 100, 10, pSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2826,7 +2826,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
bItemIn = FindObj( pSoldier, DEED );
|
||||
if (bItemIn != NO_SLOT)
|
||||
{
|
||||
AddItemToPool( 12541, &(pSoldier->inv[bItemIn]), -1 , 0, 0, 0 );
|
||||
AddItemToPool( 12541, &(pSoldier->inv[bItemIn]), -1, 0, 0, 0 );
|
||||
DeleteObj( &(pSoldier->inv[ bItemIn ]) );
|
||||
RemoveObjectFromSoldierProfile( ubTargetNPC, DEED );
|
||||
}
|
||||
@@ -3225,7 +3225,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if ( pSoldier )
|
||||
{
|
||||
INT32 sNearestPC;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT8 bMoneySlot;
|
||||
INT8 bEmptySlot;
|
||||
|
||||
@@ -3358,7 +3358,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if (pSoldier)
|
||||
{
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
SOLDIERTYPE *pTarget;
|
||||
|
||||
// Target a different merc....
|
||||
@@ -3478,7 +3478,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if (pSoldier)
|
||||
{
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
SOLDIERTYPE *pTarget;
|
||||
INT32 cnt;
|
||||
BOOLEAN fGoodTarget = FALSE;
|
||||
@@ -3901,7 +3901,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if ( !gfInTalkPanel )
|
||||
{
|
||||
INT32 sNearestPC;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if ( pSoldier )
|
||||
@@ -4850,7 +4850,7 @@ void DialogueMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
// He tried to lie.....
|
||||
// Find the best conscious merc with a chance....
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE * pLier = NULL;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
|
||||
@@ -238,7 +238,7 @@ extern MOUSE_REGION gMPanelRegion;
|
||||
extern BOOLEAN fMapInventoryItem;
|
||||
extern BOOLEAN gfAddingMoneyToMercFromPlayersAccount;
|
||||
extern SOLDIERTYPE *gpSMCurrentMerc;
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern MOUSE_REGION gSM_SELMERCMoneyRegion;
|
||||
extern UINT32 guiMapInvSecondHandBlockout;
|
||||
|
||||
@@ -8829,7 +8829,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
INT32 usMapPos;
|
||||
UINT16 usIndex;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
INT16 sAPCost;
|
||||
BOOLEAN fRecalc;
|
||||
UINT32 uiCursorFlags;
|
||||
@@ -8935,7 +8935,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
// OK, on a valid pass
|
||||
gfUIMouseOnValidCatcher = 4;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8944,7 +8944,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
// OK, set global that this buddy can see catch...
|
||||
gfUIMouseOnValidCatcher = TRUE;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8978,7 +8978,7 @@ void DrawItemTileCursor( )
|
||||
|
||||
// OK, set global that this buddy can see catch...
|
||||
gfUIMouseOnValidCatcher = 2;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
|
||||
// If this is a robot, change to say 'reload'
|
||||
if ( MercPtrs[ gusUIFullTargetID ]->flags.uiStatusFlags & SOLDIER_ROBOT )
|
||||
@@ -9175,7 +9175,7 @@ BOOLEAN HandleItemPointerClick( INT32 usMapPos )
|
||||
|
||||
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT16 usItem;
|
||||
INT16 sAPCost;
|
||||
SOLDIERTYPE *pSoldier=NULL;
|
||||
@@ -9411,7 +9411,7 @@ BOOLEAN HandleItemPointerClick( INT32 usMapPos )
|
||||
case ANIM_CROUCH:
|
||||
case ANIM_PRONE:
|
||||
|
||||
AddItemToPool( usMapPos, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( usMapPos, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
break;
|
||||
}
|
||||
@@ -10960,7 +10960,7 @@ BOOLEAN InitializeItemPickupMenu( SOLDIERTYPE *pSoldier, INT32 sGridNo, ITEM_POO
|
||||
// Change to INV panel if not there already...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)pSoldier->ubID;
|
||||
gubNewPanelParam = pSoldier->ubID;
|
||||
|
||||
//Determine total #
|
||||
cnt = 0;
|
||||
@@ -12761,7 +12761,7 @@ void CancelItemPointer( )
|
||||
if ( !AutoPlaceObject( gpItemPointerSoldier, gpItemPointer, FALSE ) )
|
||||
{
|
||||
// Alright, place of the friggen ground!
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
}
|
||||
}
|
||||
@@ -12769,7 +12769,7 @@ void CancelItemPointer( )
|
||||
else
|
||||
{
|
||||
// We drop it here.....
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
}
|
||||
EndItemPointer( );
|
||||
@@ -12920,7 +12920,7 @@ BOOLEAN InitializeStealItemPickupMenu( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOppo
|
||||
// Change to INV panel if not there already...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)pSoldier->ubID;
|
||||
gubNewPanelParam = pSoldier->ubID;
|
||||
|
||||
gItemPickupMenu.ubTotalItems = ubCount;
|
||||
|
||||
|
||||
@@ -166,11 +166,12 @@ public:
|
||||
BOOLEAN Save(HWFILE hFile);
|
||||
BOOLEAN Load(HWFILE hFile);
|
||||
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT8 ubInvSlot;
|
||||
BOOLEAN fCursorActive;
|
||||
OBJECTTYPE ItemPointerInfo;
|
||||
};
|
||||
#define SIZEOF_ITEM_CURSOR_SAVE_INFO_POD offsetof( ITEM_CURSOR_SAVE_INFO, ItemPointerInfo )
|
||||
|
||||
// HEADROCK HAM 5: Enums for big-item display attachment asterisks.
|
||||
enum
|
||||
|
||||
@@ -394,7 +394,7 @@ INT32 giSMZipperButton = -1;
|
||||
|
||||
BOOLEAN gfSwitchPanel = FALSE;
|
||||
UINT8 gbNewPanel = SM_PANEL;
|
||||
UINT8 gubNewPanelParam = 0;
|
||||
UINT16 gubNewPanelParam = 0;
|
||||
|
||||
BOOLEAN gfUIStanceDifferent = FALSE;
|
||||
BOOLEAN gfAllDisabled = FALSE;
|
||||
@@ -405,7 +405,7 @@ BOOLEAN gfAddingMoneyToMercFromPlayersAccount = FALSE;
|
||||
BOOLEAN gfCheckForMouseOverItem = FALSE;
|
||||
UINT32 guiMouseOverItemTime = 0;
|
||||
INT8 gbCheckForMouseOverItemPos = 0;
|
||||
UINT8 gubSelectSMPanelToMerc = NOBODY;
|
||||
UINT16 gubSelectSMPanelToMerc = NOBODY;
|
||||
BOOLEAN gfReEvaluateDisabledINVPanelButtons = FALSE;
|
||||
|
||||
UINT32 guiBrownBackgroundForTeamPanel;
|
||||
@@ -573,7 +573,7 @@ void UpdateSelectedSoldier( UINT16 usSoldierID, BOOLEAN fSelect );
|
||||
|
||||
void CheckForFacePanelStartAnims( SOLDIERTYPE *pSoldier, INT16 sPanelX, INT16 sPanelY );
|
||||
void HandleSoldierFaceFlash( SOLDIERTYPE *pSoldier, INT16 sFaceX, INT16 sFaceY );
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID );
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID );
|
||||
void UpdateStatColor( UINT32 uiTimer, BOOLEAN fIncrease, BOOLEAN fDamaged, BOOLEAN fAugmented ); // SANDRO - added argument // Flugente - me too
|
||||
|
||||
extern void UpdateItemHatches();
|
||||
@@ -597,7 +597,7 @@ void CheckForDisabledForGiveItem( )
|
||||
INT8 bDestLevel;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubSrcSoldier;
|
||||
UINT16 ubSrcSoldier;
|
||||
|
||||
// CHRISL: If Merc hasn't been set, default to first merc
|
||||
if(gpSMCurrentMerc==NULL)
|
||||
@@ -638,7 +638,7 @@ void CheckForDisabledForGiveItem( )
|
||||
}
|
||||
else
|
||||
{
|
||||
ubSrcSoldier = (UINT8)gusSelectedSoldier;
|
||||
ubSrcSoldier = gusSelectedSoldier;
|
||||
|
||||
if ( gpItemPointer != NULL )
|
||||
{
|
||||
@@ -690,7 +690,7 @@ void CheckForDisabledForGiveItem( )
|
||||
}
|
||||
}
|
||||
|
||||
void SetSMPanelCurrentMerc( UINT8 ubNewID )
|
||||
void SetSMPanelCurrentMerc( UINT16 ubNewID )
|
||||
{
|
||||
gubSelectSMPanelToMerc = NOBODY;
|
||||
|
||||
@@ -3729,7 +3729,7 @@ void SMInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
else // item in cursor
|
||||
{
|
||||
UINT8 ubSrcID, ubDestID;
|
||||
UINT16 ubSrcID, ubDestID;
|
||||
BOOLEAN fOKToGo = FALSE;
|
||||
BOOLEAN fDeductPoints = FALSE;
|
||||
|
||||
@@ -4217,7 +4217,7 @@ BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus)
|
||||
}
|
||||
}
|
||||
MoveItemToLBEItem( pSoldier, BPACKPOCKPOS );
|
||||
AddItemToPoolAndGetIndex(pSoldier->sGridNo, &pSoldier->inv[BPACKPOCKPOS], 1, pSoldier->pathing.bLevel, 0 , -1, pSoldier->ubID, &worldKey );
|
||||
AddItemToPoolAndGetIndex(pSoldier->sGridNo, &pSoldier->inv[BPACKPOCKPOS], 1, pSoldier->pathing.bLevel, 0, -1, pSoldier->ubID, &worldKey );
|
||||
// Item successfully added to world
|
||||
if(worldKey != ITEM_NOT_FOUND)
|
||||
{
|
||||
@@ -4829,7 +4829,7 @@ void BtnPrevMercCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
|
||||
sID = FindPrevActiveAndAliveMerc( gpSMCurrentMerc, TRUE, TRUE );
|
||||
|
||||
gubSelectSMPanelToMerc = (UINT8)sID;
|
||||
gubSelectSMPanelToMerc = (UINT16)sID;
|
||||
|
||||
if ( !gfInItemPickupMenu )
|
||||
{
|
||||
@@ -4878,7 +4878,7 @@ void BtnNextMercCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
sID = FindNextActiveAndAliveMerc( gpSMCurrentMerc, TRUE, TRUE );
|
||||
|
||||
// Give him the panel!
|
||||
gubSelectSMPanelToMerc = (UINT8)sID;
|
||||
gubSelectSMPanelToMerc = (UINT16)sID;
|
||||
|
||||
if ( !gfInItemPickupMenu )
|
||||
{
|
||||
@@ -5893,7 +5893,7 @@ void BtnSquadCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
|
||||
}
|
||||
|
||||
void SetTEAMPanelCurrentMerc( UINT8 ubNewID )
|
||||
void SetTEAMPanelCurrentMerc( UINT16 ubNewID )
|
||||
{
|
||||
// Ignore ther ID given!
|
||||
// ALWYAS USE CURRENT MERC!
|
||||
@@ -6026,10 +6026,10 @@ void HandleMouseOverTeamFaceForContMove( BOOLEAN fOn )
|
||||
|
||||
void MercFacePanelMoveCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6072,9 +6072,9 @@ void MercFacePanelMoveCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void EnemyIndicatorClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
{
|
||||
@@ -6127,9 +6127,9 @@ void EnemyIndicatorClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6248,7 +6248,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)ubSoldierID;
|
||||
gubNewPanelParam = ubSoldierID;
|
||||
// silversurfer: This needs to be reset to TRUE because inventory view only allows radar screen to be displayed and not the squad list.
|
||||
fRenderRadarScreen = TRUE;
|
||||
}
|
||||
@@ -6259,7 +6259,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
extern void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fForceReselect, BOOLEAN fFromUI );
|
||||
|
||||
void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag )
|
||||
void HandleLocateSelectMerc( UINT16 ubID, INT8 bFlag )
|
||||
{
|
||||
BOOLEAN fSelect = FALSE;
|
||||
|
||||
@@ -6386,7 +6386,7 @@ void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag )
|
||||
|
||||
|
||||
|
||||
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed )
|
||||
void ShowRadioLocator( UINT16 ubID, UINT8 ubLocatorSpeed )
|
||||
{
|
||||
RESETTIMECOUNTER( MercPtrs[ ubID ]->timeCounters.FlashSelCounter, FLASH_SELECTOR_DELAY );
|
||||
|
||||
@@ -6413,7 +6413,7 @@ void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed )
|
||||
}
|
||||
}
|
||||
|
||||
void EndRadioLocator( UINT8 ubID )
|
||||
void EndRadioLocator( UINT16 ubID )
|
||||
{
|
||||
MercPtrs[ ubID ]->flags.fFlashLocator = FALSE;
|
||||
MercPtrs[ ubID ]->flags.fShowLocator = FALSE;
|
||||
@@ -6681,9 +6681,9 @@ void RenderSoldierTeamInv( SOLDIERTYPE *pSoldier, INT16 sX, INT16 sY, UINT8 ubPa
|
||||
|
||||
void TMFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6731,10 +6731,10 @@ void TMFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void TMClickFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
UINT16 usOldHandItem;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
@@ -6777,10 +6777,10 @@ void TMClickFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void TMClickSecondHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
UINT16 usOldHandItem;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
return;
|
||||
@@ -6822,7 +6822,7 @@ void TMClickSecondHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID )
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6841,7 +6841,7 @@ BOOLEAN PlayerExistsInSlot( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
INT8 GetTeamSlotFromPlayerID( UINT8 ubID )
|
||||
INT8 GetTeamSlotFromPlayerID( UINT16 ubID )
|
||||
{
|
||||
INT8 cnt;
|
||||
|
||||
@@ -6860,7 +6860,7 @@ INT8 GetTeamSlotFromPlayerID( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID )
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT16 ubMercID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6880,7 +6880,7 @@ BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID )
|
||||
}
|
||||
|
||||
|
||||
void AddPlayerToInterfaceTeamSlot( UINT8 ubID )
|
||||
void AddPlayerToInterfaceTeamSlot( UINT16 ubID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6964,7 +6964,7 @@ BOOLEAN InitTEAMSlots( )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT8 *pubID )
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT16 * pubID )
|
||||
{
|
||||
if ( ubPanelSlot >= gGameOptions.ubSquadSize )
|
||||
{
|
||||
@@ -7141,7 +7141,7 @@ void CleanUpStack( OBJECTTYPE * pObj, OBJECTTYPE * pCursorObj )
|
||||
}
|
||||
}
|
||||
|
||||
UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
INT32 cnt;
|
||||
INT32 bFirstID;
|
||||
@@ -7174,14 +7174,14 @@ UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7234,14 +7234,14 @@ UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7462,7 +7462,7 @@ void KeyRingSlotInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 ubSrcID, ubDestID;
|
||||
UINT16 ubSrcID, ubDestID;
|
||||
BOOLEAN fOKToGo = FALSE;
|
||||
BOOLEAN fDeductPoints = FALSE;
|
||||
|
||||
@@ -7473,7 +7473,7 @@ void KeyRingSlotInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
// ATE: OK, get source, dest guy if different... check for and then charge appropriate APs
|
||||
ubSrcID = ( UINT8 )gCharactersList[ bSelectedInfoChar ].usSolID;
|
||||
ubSrcID = gCharactersList[ bSelectedInfoChar ].usSolID;
|
||||
if ( gpItemPointerSoldier )
|
||||
{
|
||||
ubDestID = gpItemPointerSoldier->ubID;
|
||||
|
||||
+10
-10
@@ -77,18 +77,18 @@ void UpdateTEAMPanel( );
|
||||
*/
|
||||
BOOLEAN InitializeTEAMPanelCoords( );
|
||||
|
||||
void SetSMPanelCurrentMerc( UINT8 ubNewID );
|
||||
void SetTEAMPanelCurrentMerc( UINT8 ubNewID );
|
||||
void SetSMPanelCurrentMerc( UINT16 ubNewID );
|
||||
void SetTEAMPanelCurrentMerc( UINT16 ubNewID );
|
||||
UINT16 GetSMPanelCurrentMerc( );
|
||||
void UpdateSMPanel( );
|
||||
|
||||
BOOLEAN InitTEAMSlots( );
|
||||
void AddPlayerToInterfaceTeamSlot( UINT8 ubID );
|
||||
void AddPlayerToInterfaceTeamSlot( UINT16 ubID );
|
||||
BOOLEAN RemovePlayerFromInterfaceTeamSlot( UINT8 ubID );
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT8 *pubID );
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT16 * pubID );
|
||||
void RemoveAllPlayersFromSlot( );
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID );
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID );
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID );
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT16 ubMercID );
|
||||
void CheckForAndAddMercToTeamPanel( SOLDIERTYPE *pSoldier );
|
||||
void CleanUpStack( OBJECTTYPE * pObj, OBJECTTYPE * pCursorObj );
|
||||
|
||||
@@ -107,8 +107,8 @@ extern INT8 gbNewItem[ NUM_INV_SLOTS ];
|
||||
extern INT8 gbNewItemCycle[ NUM_INV_SLOTS ];
|
||||
extern UINT8 gubNewItemMerc;
|
||||
|
||||
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
|
||||
void EndRadioLocator( UINT8 ubID );
|
||||
void ShowRadioLocator( UINT16 ubID, UINT8 ubLocatorSpeed );
|
||||
void EndRadioLocator( UINT16 ubID );
|
||||
|
||||
|
||||
extern MOUSE_REGION gSMPanelRegion;
|
||||
@@ -118,7 +118,7 @@ extern BOOLEAN gfDisableTacticalPanelButtons;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
BOOLEAN fOccupied;
|
||||
|
||||
} TEAM_PANEL_SLOTS_TYPE;
|
||||
@@ -149,7 +149,7 @@ void GoToMapScreenFromTactical( void );
|
||||
|
||||
void FinishAnySkullPanelAnimations( );
|
||||
|
||||
UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
|
||||
// CHRISL: New callback functions for backpack buttons
|
||||
BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus);
|
||||
|
||||
@@ -498,7 +498,7 @@ void RenderSoldierFace( SOLDIERTYPE *pSoldier, INT16 sFaceX, INT16 sFaceY, BOOLE
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAutoFaceActiveFromSoldier( FRAME_BUFFER, guiSAVEBUFFER, pSoldier->ubID , sFaceX, sFaceY );
|
||||
SetAutoFaceActiveFromSoldier( FRAME_BUFFER, guiSAVEBUFFER, pSoldier->ubID, sFaceX, sFaceY );
|
||||
// SetAutoFaceActiveFromSoldier( FRAME_BUFFER, FACE_AUTO_RESTORE_BUFFER, pSoldier->ubID , sFaceX, sFaceY );
|
||||
}
|
||||
}
|
||||
|
||||
+17
-17
@@ -126,8 +126,8 @@ extern BOOLEAN gfCannotGetThrough; // will use it when showing red laser dot
|
||||
extern void SoldierTooltip(SOLDIERTYPE*);
|
||||
|
||||
BOOLEAN gfProgBarActive = FALSE;
|
||||
UINT8 gubProgNumEnemies = 0;
|
||||
UINT8 gubProgCurEnemy = 0;
|
||||
UINT16 gubProgNumEnemies = 0;
|
||||
UINT16 gubProgCurEnemy = 0;
|
||||
|
||||
|
||||
UINT32 guiPORTRAITICONS;
|
||||
@@ -192,7 +192,7 @@ BOOLEAN gfPanelAllocated = FALSE;
|
||||
extern MOUSE_REGION gDisableRegion;
|
||||
extern MOUSE_REGION gUserTurnRegion;
|
||||
extern BOOLEAN gfUserTurnRegionActive;
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern BOOLEAN gfIgnoreOnSelectedGuy;
|
||||
|
||||
enum
|
||||
@@ -670,7 +670,7 @@ void ShutdownCurrentPanel( )
|
||||
|
||||
|
||||
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID )
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -696,7 +696,7 @@ void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID )
|
||||
break;
|
||||
|
||||
case TEAM_PANEL:
|
||||
SetTEAMPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetTEAMPanelCurrentMerc( gusSelectedSoldier );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -734,7 +734,7 @@ void SetCurrentInterfacePanel( UINT8 ubNewPanel )
|
||||
void ToggleTacticalPanels( )
|
||||
{
|
||||
gfSwitchPanel = TRUE;
|
||||
gubNewPanelParam = (UINT8)gusSelectedSoldier;
|
||||
gubNewPanelParam = gusSelectedSoldier;
|
||||
|
||||
if ( gsCurInterfacePanel == SM_PANEL )
|
||||
{
|
||||
@@ -764,7 +764,7 @@ void RemoveCurrentTacticalPanelButtons( )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsMercPortraitVisible( UINT8 ubSoldierID )
|
||||
BOOLEAN IsMercPortraitVisible( UINT16 ubSoldierID )
|
||||
{
|
||||
if ( gsCurInterfacePanel == TEAM_PANEL )
|
||||
{
|
||||
@@ -4244,7 +4244,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToOpenDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_OPEN_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
if ( gOpenDoorMenu.fClosingDoor )
|
||||
{
|
||||
@@ -4269,7 +4269,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_BOOT_DOOR], APBPConstants[BP_BOOT_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_FORCE );
|
||||
}
|
||||
@@ -4286,7 +4286,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_UNLOCK_DOOR], APBPConstants[BP_UNLOCK_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_UNLOCK );
|
||||
}
|
||||
@@ -4303,7 +4303,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToPicklock( gOpenDoorMenu.pSoldier ), APBPConstants[BP_PICKLOCK], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_LOCKPICK );
|
||||
}
|
||||
@@ -4320,7 +4320,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_EXAMINE_DOOR], APBPConstants[BP_EXAMINE_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_EXAMINE );
|
||||
}
|
||||
@@ -4361,7 +4361,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToBombDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_EXPLODE_DOOR], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_EXPLODE );
|
||||
}
|
||||
@@ -4379,7 +4379,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToUntrapDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_UNTRAP_DOOR], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_UNTRAP );
|
||||
}
|
||||
@@ -4420,7 +4420,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_USE_CROWBAR], APBPConstants[BP_USE_CROWBAR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_CROWBAR );
|
||||
}
|
||||
@@ -5178,7 +5178,7 @@ void PauseRT( BOOLEAN fPause )
|
||||
}
|
||||
|
||||
|
||||
void InitEnemyUIBar( UINT8 ubNumEnemies, UINT8 ubDoneEnemies )
|
||||
void InitEnemyUIBar( UINT16 ubNumEnemies, UINT16 ubDoneEnemies )
|
||||
{
|
||||
// OK, set value
|
||||
gubProgNumEnemies = ubNumEnemies + ubDoneEnemies;
|
||||
@@ -5218,7 +5218,7 @@ void InitPlayerUIBar( BOOLEAN fInterrupt )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
INT8 bNumOK = 0, bNumNotOK = 0;
|
||||
INT16 bNumOK = 0, bNumNotOK = 0;
|
||||
|
||||
if ( !gGameOptions.fTurnTimeLimit )
|
||||
{
|
||||
|
||||
@@ -366,7 +366,7 @@ enum
|
||||
extern BOOLEAN gfSwitchPanel;
|
||||
extern BOOLEAN gfUIStanceDifferent;
|
||||
extern UINT8 gbNewPanel;
|
||||
extern UINT8 gubNewPanelParam;
|
||||
extern UINT16 gubNewPanelParam;
|
||||
extern INT16 gsCurInterfacePanel;
|
||||
|
||||
extern UINT32 guiRENDERBUFFER;
|
||||
@@ -458,9 +458,9 @@ BOOLEAN DrawCTHIndicator();
|
||||
|
||||
void CreateCurrentTacticalPanelButtons( );
|
||||
void RemoveCurrentTacticalPanelButtons( );
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID );
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT16 ubID );
|
||||
void SetCurrentInterfacePanel( UINT8 ubNewPanel );
|
||||
BOOLEAN IsMercPortraitVisible( UINT8 ubSoldierID );
|
||||
BOOLEAN IsMercPortraitVisible( UINT16 ubSoldierID );
|
||||
|
||||
BOOLEAN InitializeCurrentPanel( );
|
||||
void ShutdownCurrentPanel( );
|
||||
@@ -475,7 +475,7 @@ void HandleUpDownArrowBackgrounds( );
|
||||
|
||||
void EndDeadlockMsg( );
|
||||
|
||||
void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag );
|
||||
void HandleLocateSelectMerc( UINT16 ubID, INT8 bFlag );
|
||||
|
||||
void DirtyMercPanelInterface( SOLDIERTYPE *pSoldier, UINT8 ubDirtyLevel );
|
||||
|
||||
@@ -515,7 +515,7 @@ void EndTopMessage( );
|
||||
|
||||
void PauseRT( BOOLEAN fPause );
|
||||
|
||||
void InitEnemyUIBar( UINT8 ubNumEnemies, UINT8 ubDoneEnemies );
|
||||
void InitEnemyUIBar( UINT16 ubNumEnemies, UINT16 ubDoneEnemies );
|
||||
|
||||
STR16 GetSoldierHealthString( SOLDIERTYPE *pSoldier );
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ bool IsSlotASmallPocket(int slot)
|
||||
return false;
|
||||
}
|
||||
|
||||
void CreateLBE (OBJECTTYPE* pObj, UINT8 ubID, int numSubPockets)
|
||||
void CreateLBE (OBJECTTYPE* pObj, UINT16 ubID, int numSubPockets)
|
||||
{
|
||||
int uniqueID;
|
||||
LBENODE* pLBE = NULL;
|
||||
|
||||
@@ -259,7 +259,7 @@ public:
|
||||
#define SIZEOF_LBENODE_POD (offsetof(LBENODE, endOfPOD))
|
||||
bool checkLBEArrayIntegrity(bool verbose=false); // BOB: checks all worldItems for missing LBE info
|
||||
|
||||
void CreateLBE(OBJECTTYPE* pObj, UINT8 ubID, int numSubPockets);
|
||||
void CreateLBE(OBJECTTYPE* pObj, UINT16 ubID, int numSubPockets);
|
||||
bool DestroyLBEIfEmpty(OBJECTTYPE* pObj, int stackIndex = 0);
|
||||
void DestroyLBE(OBJECTTYPE* pObj, int stackIndex = 0);
|
||||
void GetLBESlots(UINT32 LBEType, std::vector<INT8>& LBESlots);
|
||||
@@ -415,7 +415,7 @@ namespace ObjectDataStructs {
|
||||
INT8 bDelay; // >=0 values used only
|
||||
INT8 bFrequency; // >=0 values used only
|
||||
};
|
||||
UINT8 ubBombOwner; // side which placed the bomb
|
||||
UINT16 ubBombOwner; // side which placed the bomb
|
||||
UINT8 bActionValue; // this is used by the ACTION_ITEM fake item
|
||||
union
|
||||
{
|
||||
|
||||
+5
-5
@@ -9397,7 +9397,7 @@ void CheckEquipmentForFragileItemDamage( SOLDIERTYPE *pSoldier, INT32 iDamage )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT8 ubOwner )
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT16 ubOwner )
|
||||
{
|
||||
#ifdef JA2BETAVERSION
|
||||
CHAR tmpMPDbgString[512];
|
||||
@@ -15411,10 +15411,10 @@ BOOLEAN ObjectIsExternalFeeder(SOLDIERTYPE* pSoldier, OBJECTTYPE * pObject)
|
||||
if ( !pSoldier || !pObject)
|
||||
return( FALSE );
|
||||
|
||||
UINT8 usSoldierFeedingTarget1 = 0;
|
||||
UINT16 usSoldierFeedingTarget1 = 0;
|
||||
UINT16 usGunSlot1 = 0;
|
||||
UINT16 usAmmoSlot1 = 0;
|
||||
UINT8 usSoldierFeedingTarget2 = 0;
|
||||
UINT16 usSoldierFeedingTarget2 = 0;
|
||||
UINT16 usGunSlot2 = 0;
|
||||
UINT16 usAmmoSlot2 = 0;
|
||||
if ( pSoldier->IsFeedingExternal(&usSoldierFeedingTarget1, &usGunSlot1, &usAmmoSlot1, &usSoldierFeedingTarget2, &usGunSlot2, &usAmmoSlot2) )
|
||||
@@ -15469,10 +15469,10 @@ OBJECTTYPE* GetExternalFeedingObject(SOLDIERTYPE* pSoldier, OBJECTTYPE * pObject
|
||||
continue;
|
||||
|
||||
// we check if that guy is feeding someone, and that someone is really us
|
||||
UINT8 usTeamSoldierFeedingTarget1 = 0;
|
||||
UINT16 usTeamSoldierFeedingTarget1 = 0;
|
||||
UINT16 usGunSlot1 = 0;
|
||||
UINT16 usAmmoSlot1 = 0;
|
||||
UINT8 usTeamSoldierFeedingTarget2 = 0;
|
||||
UINT16 usTeamSoldierFeedingTarget2 = 0;
|
||||
UINT16 usGunSlot2 = 0;
|
||||
UINT16 usAmmoSlot2 = 0;
|
||||
if ( pTeamSoldier->IsFeedingExternal(&usTeamSoldierFeedingTarget1, &usGunSlot1, &usAmmoSlot1, &usTeamSoldierFeedingTarget2, &usGunSlot2, &usAmmoSlot2) )
|
||||
|
||||
+1
-1
@@ -227,7 +227,7 @@ UINT16 StandardGunListReplacement( UINT16 usGun );
|
||||
UINT16 FindReplacementMagazine( UINT8 ubCalibre, UINT16 ubMagSize, UINT8 ubAmmoType);
|
||||
UINT16 FindReplacementMagazineIfNecessary( UINT16 usOldGun, UINT16 usOldAmmo, UINT16 usNewGun );
|
||||
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT8 ubOwner );
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT16 ubOwner );
|
||||
|
||||
BOOLEAN CompatibleFaceItem( UINT16 usItem1, UINT16 usItem2 );
|
||||
|
||||
|
||||
+6
-6
@@ -2433,7 +2433,7 @@ INT32 SoldierTo3DLocationLineOfSightTest( SOLDIERTYPE * pStartSoldier, INT32 sGr
|
||||
{
|
||||
FLOAT dStartZPos, dEndZPos;
|
||||
INT16 sXPos, sYPos;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
BOOLEAN fOk;
|
||||
|
||||
CHECKF( pStartSoldier );
|
||||
@@ -4385,7 +4385,7 @@ UINT8 SoldierToSoldierBodyPartChanceToGetThrough( SOLDIERTYPE * pStartSoldier, S
|
||||
return( ChanceToGetThrough( pStartSoldier, (FLOAT) CenterX( pEndSoldier->sGridNo ), (FLOAT) CenterY( pEndSoldier->sGridNo ), dEndZPos ) );
|
||||
}
|
||||
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT8 ubTargetID )
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT16 ubTargetID )
|
||||
{
|
||||
FLOAT dEndZPos;
|
||||
INT16 sXPos;
|
||||
@@ -4637,7 +4637,7 @@ void CalculateFiringIncrementsSimple( DOUBLE ddHorizAngle, DOUBLE ddVerticAngle,
|
||||
pBullet->qIncrZ = FloatToFixed( (FLOAT) ( sin( ddVerticAngle ) / sin( (PI/2) - ddVerticAngle ) * HEIGHTUNITS_PER_CELL ) );//dnl ch60 010913
|
||||
}
|
||||
|
||||
INT8 FireBullet( UINT8 ubFirer, BULLET * pBullet, BOOLEAN fFake )
|
||||
INT8 FireBullet( UINT16 ubFirer, BULLET * pBullet, BOOLEAN fFake )
|
||||
{
|
||||
//DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("FireBullet"));
|
||||
|
||||
@@ -5782,7 +5782,7 @@ INT8 FireBulletGivenTarget( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOA
|
||||
// Note that this function does not make provisions for Fake Firing. There is no need for it, and it would needlessly
|
||||
// complicate things anyway.
|
||||
// Also note we receive start coordinates from the bomb itself, because there's nowhere else to get them.
|
||||
INT8 FireFragmentGivenTarget( UINT8 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem )
|
||||
INT8 FireFragmentGivenTarget( UINT16 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem )
|
||||
{
|
||||
// Artificial...
|
||||
dStartZ++;
|
||||
@@ -7023,7 +7023,7 @@ void MoveBullet( INT32 iBullet )
|
||||
FIXEDPT qLastZ;
|
||||
|
||||
SOLDIERTYPE * pTarget;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
BOOLEAN fIntended;
|
||||
BOOLEAN fStopped;
|
||||
INT8 bOldLOSIndexX;
|
||||
@@ -9930,7 +9930,7 @@ UINT32 CalcCounterForceAccuracy(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, UINT
|
||||
// If we can't see the target, but buddies can see it, CF-Accuracy drops by 50%
|
||||
// If we can't see the target and neither can buddies, CF-Accuracy drops by 75%
|
||||
|
||||
UINT8 ubTargetID = WhoIsThere2( pShooter->sTargetGridNo, pShooter->bTargetLevel ); // Target ubID
|
||||
UINT16 ubTargetID = WhoIsThere2( pShooter->sTargetGridNo, pShooter->bTargetLevel ); // Target ubID
|
||||
INT16 sDistVis = pShooter->GetMaxDistanceVisible(pShooter->sTargetGridNo, pShooter->bTargetLevel, CALC_FROM_ALL_DIRS ) * CELL_X_SIZE;
|
||||
gbForceWeaponNotReady = true;
|
||||
INT16 sDistVisNoScope = pShooter->GetMaxDistanceVisible(pShooter->sTargetGridNo, pShooter->bTargetLevel, CALC_FROM_ALL_DIRS ) * CELL_X_SIZE;
|
||||
|
||||
+2
-2
@@ -69,7 +69,7 @@ INT8 FireBulletGivenTarget( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOA
|
||||
// HEADROCK HAM 4: Changed the name of one argument to avoid confusion with the new CTH system.
|
||||
INT8 FireBulletGivenTargetNCTH( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usHandItem, INT16 sApertureRatio, BOOLEAN fBuckshot, BOOLEAN fFake );
|
||||
// HEADROCK HAM 5: Function for fragments ejected from an explosion.
|
||||
INT8 FireFragmentGivenTarget( UINT8 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem );
|
||||
INT8 FireFragmentGivenTarget( UINT16 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem );
|
||||
|
||||
// Flugente: fire a shot from a gun that has no user (used for traps with attached guns)
|
||||
INT8 FireBulletGivenTargetTrapOnly( SOLDIERTYPE* pThrower, OBJECTTYPE* pObj, INT32 gridno, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, INT16 sHitBy);
|
||||
@@ -152,7 +152,7 @@ UINT8 SoldierToSoldierChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTY
|
||||
UINT8 SoldierToSoldierBodyPartChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier, UINT8 ubAimLocation );
|
||||
UINT8 AISoldierToSoldierChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier );
|
||||
UINT8 AISoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel );
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT8 ubTargetID );
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT16 ubTargetID );
|
||||
INT32 SoldierToLocationWindowTest( SOLDIERTYPE * pStartSoldier, INT32 sEndGridNo );
|
||||
// sevenfm: AI LOS functions
|
||||
INT32 LOS_Raised(SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier, int iTileSightLimit = CALC_FROM_ALL_DIRS, UINT8 ubAimLocation = LOS_POS);
|
||||
|
||||
@@ -359,7 +359,7 @@ UINT8 ubHeliScripts[ NUM_HELI_STATES ][ MAX_HELI_SCRIPT ] =
|
||||
|
||||
|
||||
BOOLEAN gfHandleHeli = FALSE;
|
||||
UINT8 gusHeliSeats[ MAX_MERC_IN_HELI ];
|
||||
UINT16 gusHeliSeats[ MAX_MERC_IN_HELI ];
|
||||
INT8 gbNumHeliSeatsOccupied = 0;
|
||||
|
||||
BOOLEAN gfFirstGuyDown = FALSE;
|
||||
@@ -396,7 +396,7 @@ void ResetHeliSeats( )
|
||||
gbNumHeliSeatsOccupied = 0;
|
||||
}
|
||||
|
||||
void AddMercToHeli( UINT8 ubID )
|
||||
void AddMercToHeli( UINT16 ubID )
|
||||
{
|
||||
if ( gbNumHeliSeatsOccupied < MAX_MERC_IN_HELI )
|
||||
{
|
||||
@@ -1028,7 +1028,7 @@ void HandleFirstHeliDropOfGame( )
|
||||
CharacterDialogueWithSpecialEvent( 0, 0, 0, DIALOGUE_TACTICAL_UI , FALSE , FALSE , DIALOGUE_SPECIAL_EVENT_ENABLE_AI ,0, 0 );
|
||||
}
|
||||
|
||||
UINT8 SpawnAirDropElite( INT32 sGridNo )
|
||||
UINT16 SpawnAirDropElite( INT32 sGridNo )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -1079,7 +1079,7 @@ void InitiateEnemyAirDropSoldiers( INT32 sGridNo )
|
||||
|
||||
for ( int i = 0; i < 6; ++i )
|
||||
{
|
||||
UINT8 id = SpawnAirDropElite( gMapInformation.sSouthGridNo + i );
|
||||
UINT16 id = SpawnAirDropElite( gMapInformation.sSouthGridNo + i );
|
||||
|
||||
if ( id == NOBODY )
|
||||
return;
|
||||
|
||||
@@ -131,7 +131,7 @@ UINT16 GetInitialHeliRandomTime();
|
||||
INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc)
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
UINT8 ubCurrentSoldier = pHireMerc->ubProfileID;
|
||||
MERCPROFILESTRUCT *pMerc;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
@@ -429,7 +429,7 @@ INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc)
|
||||
}
|
||||
|
||||
|
||||
void MercArrivesCallback( UINT8 ubSoldierID )
|
||||
void MercArrivesCallback( UINT16 ubSoldierID )
|
||||
{
|
||||
MERCPROFILESTRUCT *pMerc;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -502,7 +502,7 @@ void MercArrivesCallback( UINT8 ubSoldierID )
|
||||
{
|
||||
bool force_helidrop = true;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
for (UINT8 cnt = 0; cnt < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; cnt++)
|
||||
for (UINT16 cnt = 0; cnt < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; cnt++)
|
||||
{
|
||||
if (gCharactersList[cnt].fValid)
|
||||
{
|
||||
@@ -671,12 +671,12 @@ BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier )
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
UINT8 NumberOfMercsOnPlayerTeam()
|
||||
UINT16 NumberOfMercsOnPlayerTeam()
|
||||
{
|
||||
INT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT16 bLastTeamID;
|
||||
UINT8 ubCount=0;
|
||||
UINT16 bLastTeamID;
|
||||
UINT16 ubCount=0;
|
||||
|
||||
// Set locator to first merc
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -702,7 +702,7 @@ UINT8 NumberOfMercsOnPlayerTeam()
|
||||
|
||||
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
UINT8 cnt, usLastTeamID;
|
||||
UINT16 cnt, usLastTeamID;
|
||||
INT8 bHated;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
#ifdef JA2UB
|
||||
|
||||
@@ -46,10 +46,10 @@ extern INT16 gsMercArriveSectorY;
|
||||
|
||||
|
||||
INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc);
|
||||
void MercArrivesCallback( UINT8 ubSoldierID );
|
||||
void MercArrivesCallback( UINT16 ubSoldierID );
|
||||
BOOLEAN IsMercHireable( UINT8 ubMercID );
|
||||
BOOLEAN IsMercDead( UINT8 ubMercID );
|
||||
UINT8 NumberOfMercsOnPlayerTeam();
|
||||
UINT16 NumberOfMercsOnPlayerTeam();
|
||||
BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier );
|
||||
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier );
|
||||
void UpdateAnyInTransitMercsWithGlobalArrivalSector( );
|
||||
|
||||
@@ -347,7 +347,7 @@ void PrepareMilitiaForTactical( BOOLEAN fPrepareAll)
|
||||
|
||||
void HandleMilitiaPromotions( void )
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE* pTeamSoldier;
|
||||
|
||||
gbGreenToElitePromotions = 0;
|
||||
@@ -1442,7 +1442,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_ATTACK ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1479,7 +1479,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_HOLD ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1515,7 +1515,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_RETREAT ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT16 sActionGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1578,7 +1578,8 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_COMETOME ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt, ubDirection;
|
||||
UINT16 cnt;
|
||||
UINT8 ubDirection;
|
||||
INT32 sActionGridNo, sGridNo, sAdjustedGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1634,7 +1635,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_SPREAD ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT32 sActionGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1687,7 +1688,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_GETDOWN ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1725,7 +1726,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_CROUCH ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1763,7 +1764,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_TAKE_COVER ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT16 sActionGridNo;
|
||||
INT32 iDummy;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
+4
-5
@@ -257,7 +257,7 @@ void DecayStrategicMorale( SOLDIERTYPE * pSoldier )
|
||||
void DecayTacticalMoraleModifiers( void )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop, ubLoop2;
|
||||
UINT16 ubLoop, ubLoop2;
|
||||
BOOLEAN fHandleNervous;
|
||||
|
||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -364,7 +364,7 @@ void DecayTacticalMoraleModifiers( void )
|
||||
void DecayStrategicMoraleModifiers( void )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
for ( pSoldier = MercPtrs[ ubLoop ]; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++, pSoldier++ )
|
||||
@@ -730,7 +730,7 @@ void HandleMoraleEventForSoldier( SOLDIERTYPE * pSoldier, INT8 bMoraleEvent )
|
||||
|
||||
void HandleMoraleEvent( SOLDIERTYPE *pSoldier, INT8 bMoraleEvent, INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pTeamSoldier;
|
||||
MERCPROFILESTRUCT * pProfile;
|
||||
|
||||
@@ -1144,14 +1144,13 @@ void HandleMoraleEvent( SOLDIERTYPE *pSoldier, INT8 bMoraleEvent, INT16 sMapX, I
|
||||
|
||||
void HourlyMoraleUpdate( void )
|
||||
{
|
||||
INT8 bMercID, bOtherID;
|
||||
UINT16 bMercID, bOtherID, bLastTeamID;
|
||||
INT8 bActualTeamOpinion;
|
||||
INT8 bTeamMoraleModChange, bTeamMoraleModDiff;
|
||||
INT8 bOpinion=-1;
|
||||
INT32 iTotalOpinions;
|
||||
INT8 bNumTeamMembers;
|
||||
INT8 bHighestTeamLeadership = 0;
|
||||
INT8 bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
SOLDIERTYPE * pOtherSoldier;
|
||||
MERCPROFILESTRUCT * pProfile;
|
||||
|
||||
+13
-12
@@ -276,31 +276,32 @@ const int startingZ = 0;
|
||||
|
||||
// ENUMERATION OF SOLDIER POSIITONS IN GLOBAL SOLDIER LIST
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS 32
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS 254
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES 6
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_ENEMIES 64
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_ENEMIES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_ENEMIES 256
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_ENEMIES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_CREATURES 40
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_CREATURES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_CREATURES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_REBELS 64
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_REBELS;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_REBELS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_CIVS 40
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_CIVS;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_CIVS;
|
||||
|
||||
// The following should be the largest from the above set of constants.
|
||||
// Note: Is there any way to compute this via the preprocessor?
|
||||
#define LARGEST_NUMBER_IN_ANY_GROUP 64
|
||||
#define LARGEST_NUMBER_IN_ANY_GROUP 260
|
||||
|
||||
#define MAX_NUM_SOLDIERS (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES+CODE_MAXIMUM_NUMBER_OF_ENEMIES+CODE_MAXIMUM_NUMBER_OF_CREATURES+CODE_MAXIMUM_NUMBER_OF_REBELS+CODE_MAXIMUM_NUMBER_OF_CIVS)
|
||||
#define NUM_PLANNING_MERCS 8
|
||||
#define TOTAL_SOLDIERS ( NUM_PLANNING_MERCS + MAX_NUM_SOLDIERS )
|
||||
//#define TOTAL_SOLDIERS ( NUM_PLANNING_MERCS + MAX_NUM_SOLDIERS )
|
||||
#define TOTAL_SOLDIERS (MAX_NUM_SOLDIERS )
|
||||
|
||||
// If there are more than (one less the size of the field used to store IDs (currently a char)) then fail
|
||||
#if TOTAL_SOLDIERS > 254
|
||||
#if TOTAL_SOLDIERS > 2048
|
||||
#error Too many!
|
||||
#endif
|
||||
#if CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS > LARGEST_NUMBER_IN_ANY_GROUP
|
||||
|
||||
+123
-124
@@ -143,19 +143,19 @@
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
// OJW - 20090419
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_MERCS = CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES = CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS = CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_ENEMIES = CODE_MAXIMUM_NUMBER_OF_ENEMIES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_CREATURES = CODE_MAXIMUM_NUMBER_OF_CREATURES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_REBELS = CODE_MAXIMUM_NUMBER_OF_REBELS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_CIVS = CODE_MAXIMUM_NUMBER_OF_CIVS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_MERCS = CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES = CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS = CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_ENEMIES = CODE_MAXIMUM_NUMBER_OF_ENEMIES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_CREATURES = CODE_MAXIMUM_NUMBER_OF_CREATURES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_REBELS = CODE_MAXIMUM_NUMBER_OF_REBELS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_CIVS = CODE_MAXIMUM_NUMBER_OF_CIVS;
|
||||
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
class OBJECTTYPE;
|
||||
class SOLDIERTYPE;
|
||||
|
||||
extern void HandleTBPickUpBackpacks(BOOLEAN fAll);
|
||||
extern void HandleBestSightingPositionInRealtime();
|
||||
extern INT32 GetCurrentBalance( void );
|
||||
|
||||
@@ -372,7 +372,7 @@ CHAR8 gzDirectionStr[][ 30 ] =
|
||||
};
|
||||
|
||||
// TEMP VALUES FOR TEAM DEFAULT POSITIONS
|
||||
UINT8 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
UINT16 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
|
||||
{
|
||||
0, 19, //20 US
|
||||
@@ -388,7 +388,7 @@ UINT8 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
MAX_NUM_SOLDIERS, TOTAL_SOLDIERS - 1 // PLANNING SOLDIERS
|
||||
};
|
||||
|
||||
UINT8 bDefaultTeamRanges[ MAXTEAMS_SP ][ 2 ] =
|
||||
UINT16 bDefaultTeamRanges[ MAXTEAMS_SP ][ 2 ] =
|
||||
{
|
||||
0,
|
||||
CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES-1,
|
||||
@@ -420,16 +420,16 @@ COLORVAL bDefaultTeamColors[ MAXTEAMS ] =
|
||||
};
|
||||
|
||||
// UTILITY FUNCTIONS
|
||||
INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
UINT8 NumEnemyInSector( );
|
||||
UINT8 NumEnemyInSectorExceptCreatures();
|
||||
UINT8 NumCapableEnemyInSector( );
|
||||
UINT16 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
UINT16 NumEnemyInSector( );
|
||||
UINT16 NumEnemyInSectorExceptCreatures();
|
||||
UINT16 NumCapableEnemyInSector( );
|
||||
|
||||
BOOLEAN KillIncompacitatedEnemyInSector( );
|
||||
BOOLEAN CheckForLosingEndOfBattle( );
|
||||
void EndBattleWithUnconsciousGuysCallback( UINT8 bExitValue );
|
||||
UINT8 NumEnemyInSectorNotDeadOrDying( );
|
||||
UINT8 NumBloodcatsInSectorNotDeadOrDying( );
|
||||
UINT16 NumEnemyInSectorNotDeadOrDying( );
|
||||
UINT16 NumBloodcatsInSectorNotDeadOrDying( );
|
||||
|
||||
UINT8 gubWaitingForAllMercsToExitCode = 0;
|
||||
UINT8 gusNumMercsUntilWaitingOver = 0;
|
||||
@@ -659,7 +659,7 @@ void ShutdownTacticalEngine( )
|
||||
BOOLEAN InitOverhead( )
|
||||
{
|
||||
UINT32 cnt;
|
||||
UINT8 cnt2;
|
||||
UINT16 cnt2;
|
||||
|
||||
// Set pointers list
|
||||
for( cnt = 0; cnt < TOTAL_SOLDIERS; cnt++ )
|
||||
@@ -1331,7 +1331,7 @@ BOOLEAN ExecuteOverhead( )
|
||||
}
|
||||
|
||||
// OK, if we are the selected soldier, refresh some UI stuff
|
||||
if ( pSoldier->ubID == (UINT8)gusSelectedSoldier )
|
||||
if ( pSoldier->ubID == gusSelectedSoldier )
|
||||
{
|
||||
gfUIRefreshArrows = TRUE;
|
||||
}
|
||||
@@ -3378,7 +3378,7 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
|
||||
UpdateForContOverPortrait( pOldSoldier, FALSE );
|
||||
}
|
||||
|
||||
gusSelectedSoldier = (UINT16)usSoldierID;
|
||||
gusSelectedSoldier = usSoldierID;
|
||||
|
||||
// find which squad this guy is, then set selected squad to this guy
|
||||
if( pSoldier->bAssignment == VEHICLE )
|
||||
@@ -3405,7 +3405,7 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
|
||||
//pSoldier->SetCheckSoldierLightFlag( );
|
||||
|
||||
// Set interface to reflect new selection!
|
||||
SetCurrentTacticalPanelCurrentMerc( (UINT8)usSoldierID );
|
||||
SetCurrentTacticalPanelCurrentMerc( usSoldierID );
|
||||
|
||||
// PLay ATTN SOUND
|
||||
if ( fAcknowledge )
|
||||
@@ -3513,11 +3513,11 @@ void LocateSoldier( UINT16 usID, BOOLEAN fSetLocator)
|
||||
{
|
||||
if ( fSetLocator == SETLOCATOR || fSetLocator == 10 )
|
||||
{
|
||||
ShowRadioLocator((UINT8)usID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator(usID, SHOW_LOCATOR_NORMAL );
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowRadioLocator((UINT8)usID, SHOW_LOCATOR_FAST );
|
||||
ShowRadioLocator(usID, SHOW_LOCATOR_FAST );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3569,7 +3569,7 @@ void SlideTo(INT32 sGridNo, UINT16 usSoldierID , UINT16 usReasonID, BOOLEAN fSet
|
||||
|
||||
// Locate even if on screen
|
||||
if (fSetLocator)
|
||||
ShowRadioLocator((UINT8) usSoldierID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator( usSoldierID, SHOW_LOCATOR_NORMAL );
|
||||
|
||||
// FIRST CHECK IF WE ARE ON SCREEN
|
||||
if ( GridNoOnScreen( MercPtrs[ usSoldierID ]->sGridNo ) )
|
||||
@@ -4167,7 +4167,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
|
||||
// killing crows/cows is not worth any experience!
|
||||
if ( ( pSoldierOld->ubBodyType != CROW ) && ( pSoldierOld->ubBodyType != COW ) ) //&& pSoldierOld->ubLastDamageReason != TAKE_DAMAGE_BLOODLOSS ) // SANDRO - why not give exp for bleeding out?
|
||||
{
|
||||
UINT8 ubAssister = NOBODY;
|
||||
UINT16 ubAssister = NOBODY;
|
||||
|
||||
// if it was a kill by a player's merc
|
||||
if (pSoldierOld->ubAttackerID != NOBODY && MercPtrs[ pSoldierOld->ubAttackerID ]->bTeam == gbPlayerNum )
|
||||
@@ -4267,7 +4267,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
|
||||
CheckForEndOfBattle( FALSE );
|
||||
}
|
||||
|
||||
UINT8 LastActiveTeamMember( UINT8 ubTeam )
|
||||
UINT16 LastActiveTeamMember( UINT16 ubTeam )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -4279,7 +4279,7 @@ UINT8 LastActiveTeamMember( UINT8 ubTeam )
|
||||
{
|
||||
if ( pSoldier->bActive )
|
||||
{
|
||||
return( (INT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4542,9 +4542,9 @@ void MakeCivHostile(SOLDIERTYPE *pSoldier)
|
||||
|
||||
UINT8 CivilianGroupMembersChangeSidesWithinProximity( SOLDIERTYPE * pAttacked )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
UINT8 cnt;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
UINT16 cnt;
|
||||
|
||||
if ( pAttacked->ubCivilianGroup == NON_CIV_GROUP )
|
||||
{
|
||||
@@ -4584,11 +4584,11 @@ UINT8 CivilianGroupMembersChangeSidesWithinProximity( SOLDIERTYPE * pAttacked )
|
||||
|
||||
SOLDIERTYPE * CivilianGroupMemberChangesSides( SOLDIERTYPE * pAttacked )
|
||||
{
|
||||
SOLDIERTYPE * pNew;
|
||||
SOLDIERTYPE * pNewAttacked = pAttacked;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 cnt;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
SOLDIERTYPE * pNew;
|
||||
SOLDIERTYPE * pNewAttacked = pAttacked;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 cnt;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
|
||||
if ( pAttacked->ubCivilianGroup == NON_CIV_GROUP )
|
||||
{
|
||||
@@ -4778,11 +4778,11 @@ gTacticalStatus.fCivGroupHostile[ ubLoop ] = CIV_GROUP_HOSTILE;
|
||||
}
|
||||
*/
|
||||
|
||||
INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
UINT16 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubCount = 0;
|
||||
UINT16 ubCount = 0;
|
||||
|
||||
cnt = gTacticalStatus.Team[ ubTeam ].bFirstID;
|
||||
|
||||
@@ -4799,10 +4799,10 @@ INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
}
|
||||
|
||||
|
||||
UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
UINT8 bLastTeamID;
|
||||
INT32 cnt;
|
||||
UINT16 bLastTeamID;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = pSoldier->ubID + 1;
|
||||
@@ -4823,14 +4823,14 @@ UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4854,14 +4854,14 @@ UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4913,9 +4913,9 @@ SOLDIERTYPE *FindNextActiveSquad( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
|
||||
UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
UINT8 bLastTeamID;
|
||||
UINT16 bLastTeamID;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -4939,14 +4939,14 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
// Check for bLife > 0
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4969,14 +4969,14 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4990,8 +4990,8 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
BOOLEAN CheckForPlayerTeamInMissionExit( )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 bGuysIn = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bGuysIn = 0;
|
||||
|
||||
// End the turn of player charactors
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -5087,10 +5087,10 @@ extern BOOLEAN InternalOkayToAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel
|
||||
// NB if making changes don't forget to update NewOKDestinationAndDirection
|
||||
BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPeopleToo, INT8 bLevel )
|
||||
{
|
||||
UINT8 bPerson;
|
||||
STRUCTURE * pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
UINT16 bPerson;
|
||||
STRUCTURE *pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
|
||||
// sevenfm: allow civilians and NPCs with profile to go off screen
|
||||
if (!GridNoOnVisibleWorldTile(sGridNo) && (pCurrSoldier->bTeam != CIV_TEAM || pCurrSoldier->ubProfile == NO_PROFILE))
|
||||
@@ -5228,10 +5228,10 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe
|
||||
// NB if making changes don't forget to update NewOKDestination
|
||||
INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, INT8 bDirection, BOOLEAN fPeopleToo, INT8 bLevel )
|
||||
{
|
||||
UINT8 bPerson;
|
||||
STRUCTURE * pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
UINT16 bPerson;
|
||||
STRUCTURE *pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
|
||||
if (fPeopleToo && ( bPerson = WhoIsThere2( sGridNo, bLevel ) ) != NOBODY )
|
||||
{
|
||||
@@ -5439,7 +5439,7 @@ BOOLEAN IsLocationSittableExcludingPeople( INT32 iMapIndex, BOOLEAN fOnRoof )
|
||||
|
||||
BOOLEAN TeamMemberNear(INT8 bTeam, INT32 sGridNo, INT32 iRange)
|
||||
{
|
||||
UINT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
for (bLoop=gTacticalStatus.Team[bTeam].bFirstID, pSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[bTeam].bLastID; ++bLoop, pSoldier++)
|
||||
@@ -5832,14 +5832,14 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
//INT32 cnt;
|
||||
INT32 sClosest = -1, sSpot, sSpot2;
|
||||
INT32 sCloseGridNo = NOWHERE;
|
||||
UINT32 uiMercFlags;
|
||||
UINT16 usSoldierIndex;
|
||||
UINT8 ubDir;
|
||||
STRUCTURE *pDoor;
|
||||
UINT8 ubWallOrientation;
|
||||
BOOLEAN fCheckGivenGridNo = TRUE;
|
||||
UINT8 ubTestDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT32 uiMercFlags;
|
||||
UINT16 usSoldierIndex;
|
||||
UINT8 ubDir;
|
||||
STRUCTURE *pDoor;
|
||||
UINT8 ubWallOrientation;
|
||||
BOOLEAN fCheckGivenGridNo = TRUE;
|
||||
UINT8 ubTestDirection;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
// CHECK IF WE WANT TO FORCE GRIDNO TO PERSON
|
||||
if ( psAdjustedGridNo != NULL )
|
||||
@@ -6145,7 +6145,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
INT32 FindAdjacentPunchTarget( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTargetSoldier, INT32 * psAdjustedTargetGridNo, UINT8 * pubDirection )
|
||||
{
|
||||
INT32 sSpot;
|
||||
UINT8 ubGuyThere;
|
||||
UINT16 ubGuyThere;
|
||||
|
||||
for ( UINT8 cnt = 0; cnt < NUM_WORLD_DIRECTIONS; ++cnt )
|
||||
{
|
||||
@@ -6883,9 +6883,9 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6900,7 +6900,7 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
// Add guy if he's a candidate...
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -6908,7 +6908,7 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
MercPtrs[ ubChosenMerc ]->DoMercBattleSound( (UINT8)iBattleSnd );
|
||||
}
|
||||
@@ -7402,10 +7402,6 @@ void UpdateWoundedFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumPrisoners = 0;
|
||||
UINT8 ubNumPrisonerAdmin = 0;
|
||||
UINT8 ubNumPrisonerTroop = 0;
|
||||
UINT8 ubNumPrisonerElite = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -7543,7 +7539,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
if (fBattleLost)
|
||||
{
|
||||
// sevenfm: count alive/dead/not covert mercs in sector/retreating from sector
|
||||
UINT8 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
UINT16 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
BOOLEAN fFoundNotCovertMerc = FALSE;
|
||||
BOOLEAN fFoundAliveMerc = FALSE;
|
||||
BOOLEAN fFoundDeadMerc = FALSE;
|
||||
@@ -7592,7 +7588,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
memset(&(gTacticalStatus.bNumFoughtInBattle), 0, MAXTEAMS);
|
||||
|
||||
// If here, the battle has been lost!
|
||||
UnSetUIBusy((UINT8)gusSelectedSoldier);
|
||||
UnSetUIBusy(gusSelectedSoldier);
|
||||
|
||||
if (gTacticalStatus.uiFlags & INCOMBAT)
|
||||
{
|
||||
@@ -7725,7 +7721,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
// battle for us
|
||||
EndAllAITurns( );
|
||||
|
||||
UnSetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
UnSetUIBusy( gusSelectedSoldier );
|
||||
|
||||
// ATE:
|
||||
// If we ended battle in any team other than the player's
|
||||
@@ -8011,7 +8007,10 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
// Flugente: in any case, reset creature attack variables
|
||||
ResetCreatureAttackVariables();
|
||||
|
||||
// sevenfm: switch off radio
|
||||
// sevenfm: pick up dropped backpacks
|
||||
HandleTBPickUpBackpacks(TRUE);
|
||||
|
||||
// sevenfm: switch off radio
|
||||
//SwitchOffAllRadio();
|
||||
|
||||
// If we are the server, we escape this function at the top if we think the game should still be running
|
||||
@@ -8154,7 +8153,7 @@ void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt > pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8182,7 +8181,7 @@ void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt > pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8217,7 +8216,7 @@ void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt < pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8246,7 +8245,7 @@ void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt < pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8289,11 +8288,11 @@ BOOLEAN PlayerTeamFull( )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
UINT8 NumPCsInSector( )
|
||||
UINT16 NumPCsInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT32 cnt = 0;
|
||||
UINT8 ubNumPlayers = 0;
|
||||
UINT16 ubNumPlayers = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8314,11 +8313,11 @@ UINT8 NumPCsInSector( )
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumEnemyInSector( )
|
||||
UINT16 NumEnemyInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8338,11 +8337,11 @@ UINT8 NumEnemyInSector( )
|
||||
|
||||
}
|
||||
|
||||
UINT8 NumZombiesInSector( )
|
||||
UINT16 NumZombiesInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumZombies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumZombies = 0;
|
||||
|
||||
for ( pTeamSoldier = Menptr, cnt = 0; cnt < TOTAL_SOLDIERS; ++pTeamSoldier, ++cnt )
|
||||
{
|
||||
@@ -8358,11 +8357,11 @@ UINT8 NumZombiesInSector( )
|
||||
return( ubNumZombies );
|
||||
}
|
||||
|
||||
UINT8 NumEnemyInSectorExceptCreatures()
|
||||
UINT16 NumEnemyInSectorExceptCreatures()
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8383,11 +8382,11 @@ UINT8 NumEnemyInSectorExceptCreatures()
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumEnemyInSectorNotDeadOrDying( )
|
||||
UINT16 NumEnemyInSectorNotDeadOrDying( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8418,11 +8417,11 @@ UINT8 NumEnemyInSectorNotDeadOrDying( )
|
||||
|
||||
}
|
||||
|
||||
UINT8 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
UINT16 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8457,11 +8456,11 @@ UINT8 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumCapableEnemyInSector( )
|
||||
UINT16 NumCapableEnemyInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8505,7 +8504,7 @@ BOOLEAN CheckForLosingEndOfBattle( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
INT8 bNumDead = 0, bNumNotOK = 0, bNumInBattle = 0, bNumNotOKRealMercs = 0;
|
||||
UINT16 bNumDead = 0, bNumNotOK = 0, bNumInBattle = 0, bNumNotOKRealMercs = 0;
|
||||
BOOLEAN fMadeCorpse;
|
||||
BOOLEAN fDoCapture = FALSE;
|
||||
BOOLEAN fOnlyEPCsLeft = TRUE;
|
||||
@@ -8864,9 +8863,9 @@ INT8 CalcSuppressionTolerance( SOLDIERTYPE * pSoldier )
|
||||
return( bTolerance );
|
||||
}
|
||||
|
||||
extern void IncrementWatchedLoc(UINT8 ubID, INT32 sGridNo, INT8 bLevel);
|
||||
extern void IncrementWatchedLoc(UINT16 ubID, INT32 sGridNo, INT8 bLevel);
|
||||
|
||||
void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
|
||||
void HandleSuppressionFire( UINT16 ubTargetedMerc, UINT16 ubCausedAttacker )
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -9245,7 +9244,7 @@ void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
|
||||
// "Soldier is pinned down!"
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, New113HAMMessage[1], pSoldier->GetName() );
|
||||
// HEADROCK HAM 3.2: Added a radio locator!
|
||||
ShowRadioLocator( (UINT8)pSoldier->ubID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator( pSoldier->ubID, SHOW_LOCATOR_NORMAL );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9653,7 +9652,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
SOLDIERTYPE * pTarget;
|
||||
BOOLEAN fEnterCombat = FALSE;
|
||||
UINT32 cnt;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
#if 0
|
||||
// 0verhaul: None of this is necessary anymore with the new attack busy system
|
||||
@@ -9997,7 +9996,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
|
||||
if ( gTacticalStatus.uiFlags & CHECK_SIGHT_AT_END_OF_ATTACK )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSightSoldier;
|
||||
|
||||
AllTeamsLookForAll( FALSE );
|
||||
@@ -10317,7 +10316,7 @@ void RemoveManFromTeam( INT8 bTeam )
|
||||
|
||||
void RemoveSoldierFromTacticalSector( SOLDIERTYPE *pSoldier, BOOLEAN fAdjustSelected )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE *pNewSoldier;
|
||||
|
||||
// reset merc's opplist
|
||||
@@ -10661,9 +10660,9 @@ void HandleCreatureTenseQuote( )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
INT32 uiTime;
|
||||
@@ -10691,7 +10690,7 @@ void HandleCreatureTenseQuote( )
|
||||
// Add guy if he's a candidate...
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -10699,7 +10698,7 @@ void HandleCreatureTenseQuote( )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
DoCreatureTensionQuote ( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ] );
|
||||
}
|
||||
@@ -10812,7 +10811,7 @@ INT8 CheckStatusNearbyFriendlies( SOLDIERTYPE *pSoldier )
|
||||
INT8 bLevelDifference = 0;
|
||||
|
||||
// Run through each friendly.
|
||||
for ( UINT8 iCounter = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; iCounter <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; iCounter ++ )
|
||||
for ( UINT16 iCounter = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; iCounter <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; iCounter ++ )
|
||||
{
|
||||
pLeader = MercPtrs[ iCounter ];
|
||||
// Make sure that character is alive, not too shocked, and conscious, and of higher experience level
|
||||
@@ -10904,7 +10903,7 @@ INT8 CheckStatusNearbyFriendliesSimple(SOLDIERTYPE *pSoldier)
|
||||
}
|
||||
|
||||
// Run through each friendly.
|
||||
for (UINT8 ubFriend = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; ubFriend <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; ubFriend ++)
|
||||
for (UINT16 ubFriend = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; ubFriend <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; ubFriend ++)
|
||||
{
|
||||
pFriend = MercPtrs[ ubFriend ];
|
||||
|
||||
@@ -11047,7 +11046,7 @@ void HandleDisplayingOfPlayerLostDialogue( )
|
||||
}
|
||||
#endif
|
||||
|
||||
static UINT8 prisonerdialoguetargetID = NOBODY;
|
||||
static UINT16 prisonerdialoguetargetID = NOBODY;
|
||||
|
||||
void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
@@ -11605,7 +11604,7 @@ void TeamRestock(UINT8 bTeam)
|
||||
}
|
||||
|
||||
// are we allowed to steal access this guy's inventory?
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT8 ubID, UINT8 ubTargetID )
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT16 ubID, UINT16 ubTargetID )
|
||||
{
|
||||
if ( gGameExternalOptions.fAccessOtherMercInventories && ubID != ubTargetID && MercPtrs[ubID]->bTeam == MercPtrs[ubTargetID]->bTeam && !AM_AN_EPC(MercPtrs[ubTargetID]) && !IsVehicle(MercPtrs[ubTargetID]) )
|
||||
return TRUE;
|
||||
@@ -11764,11 +11763,11 @@ INT8 CalcEffectiveShockLevel( SOLDIERTYPE * pSoldier )
|
||||
}
|
||||
|
||||
// Flugente: count number of enemy officers
|
||||
UINT8 HighestEnemyOfficersInSector( UINT8& aType )
|
||||
UINT16 HighestEnemyOfficersInSector( UINT8& aType )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 num = 0;
|
||||
UINT16 num = 0;
|
||||
UINT8 type = OFFICER_NONE;
|
||||
|
||||
for ( cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID, pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID; pSoldier++, ++cnt )
|
||||
@@ -11794,7 +11793,7 @@ UINT16 NumSoldiersWithFlagInSector( UINT8 aTeam, UINT32 aFlag )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 num = 0;
|
||||
UINT16 num = 0;
|
||||
|
||||
for ( cnt = gTacticalStatus.Team[aTeam].bFirstID, pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[aTeam].bLastID; pSoldier++, ++cnt )
|
||||
{
|
||||
|
||||
+22
-23
@@ -23,12 +23,12 @@ enum
|
||||
// TACTICAL ENGINE STATUS FLAGS
|
||||
typedef struct
|
||||
{
|
||||
UINT8 bFirstID;
|
||||
UINT8 bLastID;
|
||||
UINT16 bFirstID;
|
||||
UINT16 bLastID;
|
||||
COLORVAL RadarColor;
|
||||
INT8 bSide;
|
||||
INT8 bMenInSector;
|
||||
UINT8 ubLastMercToRadio;
|
||||
INT16 bMenInSector;
|
||||
UINT16 ubLastMercToRadio;
|
||||
INT8 bTeamActive;
|
||||
INT8 bAwareOfOpposition;
|
||||
INT8 bHuman;
|
||||
@@ -69,8 +69,8 @@ struct TacticalStatusType
|
||||
INT8 fPanicFlags;
|
||||
INT32 sPanicTriggerGridNoUnused;
|
||||
INT16 sHandGrid;
|
||||
UINT8 ubSpottersCalledForBy;
|
||||
UINT8 ubTheChosenOne;
|
||||
UINT16 ubSpottersCalledForBy;
|
||||
UINT16 ubTheChosenOne;
|
||||
UINT32 uiTimeOfLastInput;
|
||||
UINT32 uiTimeSinceDemoOn;
|
||||
UINT32 uiCountdownToRestart;
|
||||
@@ -89,13 +89,13 @@ struct TacticalStatusType
|
||||
INT8 bRealtimeSpeed;
|
||||
UINT8 ubEnemyIntention;
|
||||
UINT8 ubEnemyIntendedRetreatDirection;
|
||||
UINT8 ubEnemySightingOnTheirTurnEnemyID;
|
||||
UINT8 ubEnemySightingOnTheirTurnPlayerID;
|
||||
UINT16 ubEnemySightingOnTheirTurnEnemyID;
|
||||
UINT16 ubEnemySightingOnTheirTurnPlayerID;
|
||||
BOOLEAN fEnemySightingOnTheirTurn;
|
||||
BOOLEAN fAutoBandageMode;
|
||||
UINT8 ubAttackBusyCount;
|
||||
INT8 bNumEnemiesFoughtInBattleUnused;
|
||||
UINT8 ubEngagedInConvFromActionMercID;
|
||||
UINT16 ubEngagedInConvFromActionMercID;
|
||||
UINT16 usTactialTurnLimitCounter;
|
||||
BOOLEAN fInTopMessage;
|
||||
UINT8 ubTopMessageType;
|
||||
@@ -114,7 +114,7 @@ struct TacticalStatusType
|
||||
BOOLEAN fSaidCreatureFlavourQuote;
|
||||
BOOLEAN fHaveSeenCreature;
|
||||
BOOLEAN fKilledEnemyOnAttack;
|
||||
UINT8 ubEnemyKilledOnAttack;
|
||||
UINT16 ubEnemyKilledOnAttack;
|
||||
INT8 bEnemyKilledOnAttackLevel;
|
||||
UINT16 ubEnemyKilledOnAttackLocation;
|
||||
BOOLEAN fItemsSeenOnAttack;
|
||||
@@ -128,7 +128,7 @@ struct TacticalStatusType
|
||||
BOOLEAN fCantGetThrough;
|
||||
INT32 sCantGetThroughGridNo;
|
||||
INT32 sCantGetThroughSoldierGridNo;
|
||||
UINT8 ubCantGetThroughID;
|
||||
UINT16 ubCantGetThroughID;
|
||||
BOOLEAN fDidGameJustStart;
|
||||
BOOLEAN fStatChangeCheatOn;
|
||||
UINT8 ubLastRequesterTargetID;
|
||||
@@ -142,10 +142,9 @@ struct TacticalStatusType
|
||||
BOOLEAN fHasAGameBeenStarted;
|
||||
INT8 bConsNumTurnsWeHaventSeenButEnemyDoes;
|
||||
BOOLEAN fSomeoneHit;
|
||||
UINT8 ubPaddingSmall;
|
||||
UINT32 uiTimeSinceLastOpplistDecay;
|
||||
INT8 bMercArrivingQuoteBeingUsed;
|
||||
UINT8 ubEnemyKilledOnAttackKiller;
|
||||
UINT16 ubEnemyKilledOnAttackKiller;
|
||||
BOOLEAN fCountingDownForGuideDescription;
|
||||
INT8 bGuideDescriptionCountDown;
|
||||
UINT8 ubGuideDescriptionToUse;
|
||||
@@ -159,7 +158,7 @@ struct TacticalStatusType
|
||||
UINT16 sCreatureTenseQuoteDelay;
|
||||
UINT32 uiCreatureTenseQuoteLastUpdate;
|
||||
// SANDRO - added these
|
||||
UINT8 ubLastRequesterSurgeryTargetID;
|
||||
UINT16 ubLastRequesterSurgeryTargetID;
|
||||
UINT8 ubInterruptPending;
|
||||
// sevenfm: Ctrl+D disable interrupts
|
||||
BOOLEAN ubDisablePlayerInterrupts;
|
||||
@@ -240,11 +239,11 @@ void SlideToLocation( UINT16 usReasonID, INT32 sDestGridNo );
|
||||
|
||||
void RebuildAllSoldierShadeTables( );
|
||||
void HandlePlayerTeamMemberDeath( SOLDIERTYPE *pSoldier );
|
||||
UINT8 LastActiveTeamMember( UINT8 ubTeam );
|
||||
UINT16 LastActiveTeamMember( UINT16 ubTeam );
|
||||
BOOLEAN SoldierOnVisibleWorldTile( SOLDIERTYPE *pSoldier );
|
||||
|
||||
UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
|
||||
BOOLEAN CheckForPlayerTeamInMissionExit( );
|
||||
void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldier );
|
||||
@@ -261,7 +260,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
|
||||
void SelectNextAvailSoldier( SOLDIERTYPE *pSoldier );
|
||||
BOOLEAN TeamMemberNear(INT8 bTeam, INT32 sGridNo, INT32 iRange);
|
||||
BOOLEAN IsValidTargetMerc( UINT8 ubSoldierID );
|
||||
BOOLEAN IsValidTargetMerc( UINT16 ubSoldierID );
|
||||
|
||||
// FUNCTIONS FOR MANIPULATING MERC SLOTS - A LIST OF ALL ACTIVE MERCS
|
||||
INT32 GetFreeMercSlot( );
|
||||
@@ -323,7 +322,7 @@ BOOLEAN HostileBloodcatsPresent( );
|
||||
BOOLEAN HostileZombiesPresent( );
|
||||
BOOLEAN HostileCreaturesPresent();
|
||||
|
||||
UINT8 NumPCsInSector( );
|
||||
UINT16 NumPCsInSector( );
|
||||
void SetSoldierNonNeutral( SOLDIERTYPE * pSoldier );
|
||||
void SetSoldierNeutral( SOLDIERTYPE * pSoldier );
|
||||
|
||||
@@ -351,10 +350,10 @@ extern BOOLEAN gogglewarning;
|
||||
// will a sam site under the players control shoot down an airraid?
|
||||
BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY );
|
||||
// HEADROCK HAM 3.5: Externalized for First Arrival enemy check
|
||||
extern UINT8 NumEnemyInSector();
|
||||
extern UINT16 NumEnemyInSector();
|
||||
|
||||
// Flugente
|
||||
extern UINT8 NumZombiesInSector();
|
||||
extern UINT16 NumZombiesInSector();
|
||||
|
||||
// Flugente: offer the enemy the chance to surrender
|
||||
void HandleSurrenderOffer( SOLDIERTYPE* pSoldier );
|
||||
@@ -371,7 +370,7 @@ void TeamDropAll(UINT8 bTeam, BOOLEAN fForce = FALSE);
|
||||
void TeamRestock(UINT8 bTeam);
|
||||
|
||||
// are we allowed to steal access this guy's inventory?
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT8 aAccessorID, UINT8 aTargetID );
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT16 ubID, UINT16 ubTargetID );
|
||||
|
||||
// Flugente: is an soldier profile already used?
|
||||
BOOLEAN IsProfileInUse(UINT8 usTeam, INT8 aType, UINT16 aNr);
|
||||
@@ -402,7 +401,7 @@ enum {
|
||||
};
|
||||
|
||||
// Flugente: return number of enemy officers and highest rank found
|
||||
UINT8 HighestEnemyOfficersInSector(UINT8& aType);
|
||||
UINT16 HighestEnemyOfficersInSector(UINT8& aType);
|
||||
|
||||
// count all soldiers in the current sector that have a specific flag set
|
||||
UINT16 NumSoldiersWithFlagInSector(UINT8 aTeam, UINT32 aFlag);
|
||||
|
||||
+1
-1
@@ -2517,7 +2517,7 @@ b=GetJA2Clock();//return s->sGridNo+6;
|
||||
INT8 bLoopState = LOOPING_CLOCKWISE;
|
||||
//BOOLEAN fLoopForwards = FALSE;
|
||||
BOOLEAN fCheckedBehind = FALSE;
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
INT32 iDestX,iDestY, iLocX, iLocY, dx, dy;
|
||||
INT32 newLoc,curLoc;
|
||||
//INT32 curY;
|
||||
|
||||
@@ -1545,7 +1545,7 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
{
|
||||
if( gfUIFullTargetFound )
|
||||
{
|
||||
if ( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && MercPtrs[ gusUIFullTargetID ]->bTeam != ENEMY_TEAM && !ValidQuickExchangePosition( ) )
|
||||
if ( IsValidTalkableNPC( gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && MercPtrs[ gusUIFullTargetID ]->bTeam != ENEMY_TEAM && !ValidQuickExchangePosition( ) )
|
||||
{
|
||||
uiMoveTargetSoldierId = gusUIFullTargetID;
|
||||
*puiNewEvent = T_CHANGE_TO_TALKING;
|
||||
@@ -1588,7 +1588,7 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
if ( gfUIFullTargetFound )
|
||||
//if ( gfUIFullTargetFound )
|
||||
{
|
||||
if ( IsValidTargetMerc( (UINT8)gusUIFullTargetID ) )
|
||||
if ( IsValidTargetMerc( gusUIFullTargetID ) )
|
||||
{
|
||||
guiUITargetSoldierId = gusUIFullTargetID;
|
||||
|
||||
@@ -2077,7 +2077,7 @@ void HandleAltMouseRTX2Button(UINT32 *puiNewEvent)
|
||||
// sevenfm: original mouse commands functionality
|
||||
void HandleMouseRTWheel( void )
|
||||
{
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
@@ -2205,7 +2205,7 @@ void HandleMouseRTX2Button( UINT32 *puiNewEvent )
|
||||
// For each guy on squad...
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
INT16 bLoop;
|
||||
BOOLEAN fStealthOn = FALSE;
|
||||
|
||||
// Check if at least one guy is on stealth....
|
||||
|
||||
@@ -1165,7 +1165,7 @@ void AddCrowToCorpse( ROTTING_CORPSE *pCorpse )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT8 ubBodyType = CROW;
|
||||
UINT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -2970,13 +2970,13 @@ void CreateZombiefromCorpse( ROTTING_CORPSE * pCorpse, UINT16 usAnimState )
|
||||
|
||||
MercCreateStruct.fVisible = TRUE;
|
||||
|
||||
INT8 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
/* certain values have to be set afterwards - the alternative would be to edit each and every function that gets called from TacticalCreateSoldier() subsequently and
|
||||
* make an exception for zombies every time...
|
||||
*/
|
||||
SOLDIERTYPE* pNewSoldier = MercPtrs[ (UINT8)iNewIndex ];
|
||||
SOLDIERTYPE* pNewSoldier = MercPtrs[ iNewIndex ];
|
||||
|
||||
pNewSoldier->bActionPoints = 60;
|
||||
pNewSoldier->bInitialActionPoints = 60;
|
||||
|
||||
@@ -299,7 +299,7 @@ INT32 giSKIMessageBox=-1;
|
||||
INT8 gbSelectedArmsDealerID = -1; //Contains the enum value for the currently selected arms dealer
|
||||
|
||||
// Flugente: while we're trading, store the ID of non-NPC dealers
|
||||
UINT8 gusIDOfCivTrader = NOBODY;
|
||||
UINT16 gusIDOfCivTrader = NOBODY;
|
||||
|
||||
//the quote that is in progress, in certain circumstances, we don't want queuing of related but different quotes
|
||||
INT32 giShopKeepDialogueEventinProgress = - 1;
|
||||
@@ -360,7 +360,7 @@ BOOLEAN gfDoneBusinessThisSession = FALSE;
|
||||
// this is used within SKI exclusively, to handle small faces
|
||||
UINT8 gubArrayOfEmployedMercs[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT32 guiSmallSoldiersFace[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT8 gubNumberMercsInArray;
|
||||
UINT16 gubNumberMercsInArray;
|
||||
|
||||
//The subutitled text for what the merc is saying
|
||||
CHAR16 gsShopKeeperTalkingText[ SKI_SUBTITLE_TEXT_SIZE ];
|
||||
@@ -392,7 +392,7 @@ extern OBJECTTYPE *gpItemDescObject;
|
||||
extern OBJECTTYPE *gpItemDescPrevObject;
|
||||
extern OBJECTTYPE *gpItemDescPrevObject;
|
||||
extern void HandleShortCutExitState( void );
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern INT32 giItemDescAmmoButton;
|
||||
|
||||
extern BOOLEAN BltVSurfaceUsingDD( HVSURFACE hDestVSurface, HVSURFACE hSrcVSurface, UINT32 fBltFlags, INT32 iDestX, INT32 iDestY, RECT *SrcRect );
|
||||
@@ -875,8 +875,8 @@ BOOLEAN EnterShopKeeperInterface()
|
||||
|
||||
//Reinitialize the team panel to be the SM panel
|
||||
SetCurrentInterfacePanel( SM_PANEL );
|
||||
SetCurrentTacticalPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetSMPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetCurrentTacticalPanelCurrentMerc( gusSelectedSoldier );
|
||||
SetSMPanelCurrentMerc( gusSelectedSoldier );
|
||||
|
||||
// load the Main trade screen background image
|
||||
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
|
||||
@@ -1132,7 +1132,7 @@ BOOLEAN ExitShopKeeperInterface()
|
||||
UnloadButtonImage( guiSKI_InvPageDownButtonImage );
|
||||
|
||||
//loop through the area and delete small faces
|
||||
for (UINT8 ubCnt=0; ubCnt<gubNumberMercsInArray; ++ubCnt)
|
||||
for (UINT16 ubCnt=0; ubCnt<gubNumberMercsInArray; ++ubCnt)
|
||||
{
|
||||
DeleteVideoObjectFromIndex( guiSmallSoldiersFace[ ubCnt ] );
|
||||
}
|
||||
@@ -2466,7 +2466,7 @@ void EnterShopKeeperInterfaceScreen( UINT8 ubArmsDealer )
|
||||
}
|
||||
|
||||
// Flugente: set up shopkeeper with a non-NPC
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT8 aMercID )
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT16 aMercID )
|
||||
{
|
||||
gusIDOfCivTrader = aMercID;
|
||||
|
||||
@@ -5206,7 +5206,7 @@ int CountNumberOfItemsInTheArmsDealersOfferArea( )
|
||||
|
||||
INT8 GetSlotNumberForMerc( UINT8 ubProfile )
|
||||
{
|
||||
for( INT8 bCnt = 0; bCnt < gubNumberMercsInArray; ++bCnt )
|
||||
for( UINT16 bCnt = 0; bCnt < gubNumberMercsInArray; ++bCnt )
|
||||
{
|
||||
if( gubArrayOfEmployedMercs[ bCnt ] == ubProfile )
|
||||
return( bCnt );
|
||||
@@ -6691,7 +6691,7 @@ void AddShopkeeperToGridNo( UINT8 ubProfile, INT32 sGridNo )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sSectorX, sSectorY;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
GetCurrentWorldSector( &sSectorX, &sSectorY );
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ bool RepairmanItemQsortCompare(INVENTORY_IN_SLOT& pInvSlot1, INVENTORY_IN_SLOT&
|
||||
void EnterShopKeeperInterfaceScreen( UINT8 ubArmsDealer );
|
||||
|
||||
// Flugente: set up shopkeeper with a non-NPC
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT8 aMercID );
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT16 aMercID );
|
||||
|
||||
void EnableDisableShopkeeperButtons(UINT32 uiCurrentItemDescriptionScreen, int bpAction);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ std::vector<std::string> gTemplateVector;
|
||||
|
||||
extern void ReadEquipmentTable( SOLDIERTYPE* pSoldier, std::string name );
|
||||
|
||||
extern INT8 bSelectedInfoChar;
|
||||
extern INT16 bSelectedInfoChar;
|
||||
|
||||
// sevenfm: need this for correct calculation of traits menu position
|
||||
extern INT16 gsInterfaceLevel;
|
||||
@@ -395,7 +395,7 @@ SkillSelection::Functions( UINT32 aVal )
|
||||
if ( pSoldier == NULL )
|
||||
return;
|
||||
|
||||
UINT8 ubID = WhoIsThere2(sTraitsMenuTargetGridNo, 0 );
|
||||
UINT16 ubID = WhoIsThere2(sTraitsMenuTargetGridNo, 0 );
|
||||
|
||||
BOOLEAN result = pSoldier->UseSkill(aVal, sTraitsMenuTargetGridNo, ubID);
|
||||
|
||||
|
||||
@@ -1136,8 +1136,7 @@ INT32 FindRandomGridNoBetweenCircles( INT32 sCenterGridNo, UINT8 uInnerRadius, U
|
||||
return(sGridNo);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN InternalAddSoldierToSector( UINT8 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
BOOLEAN InternalAddSoldierToSector(UINT16 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
{
|
||||
UINT8 ubDirection = 0;
|
||||
UINT8 ubCalculatedDirection = 0;
|
||||
@@ -1334,20 +1333,19 @@ BOOLEAN InternalAddSoldierToSector( UINT8 ubID, BOOLEAN fCalculateDirection, BOO
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN AddSoldierToSector( UINT8 ubID )
|
||||
BOOLEAN AddSoldierToSector( UINT16 ubID )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSector"));
|
||||
return( InternalAddSoldierToSector( ubID, TRUE, FALSE, 0 , 0) );
|
||||
}
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT8 ubID )
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT16 ubID )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSectorNoCalculateDirection"));
|
||||
return( InternalAddSoldierToSector( ubID, FALSE, FALSE, 0, 0 ) );
|
||||
}
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSectorNoCalculateDirectionUseAnimation"));
|
||||
return( InternalAddSoldierToSector( ubID, FALSE, TRUE, usAnimState, usAnimCode ) );
|
||||
@@ -1777,8 +1775,8 @@ void AddSoldierToSectorGridNo( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 ubDir
|
||||
BOOLEAN IsMercOnTeam(UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive)
|
||||
{
|
||||
UINT16 cnt;
|
||||
UINT8 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT16 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
|
||||
|
||||
@@ -30,11 +30,11 @@ INT32 FindRandomGridNoBetweenCircles( INT32 sCenterGridNo, UINT8 uInnerRadius, U
|
||||
|
||||
// Adds a soldier ( already created in mercptrs[] array )!
|
||||
// Finds a good placement based on data in the loaded sector and if they are enemy's or not, etc...
|
||||
BOOLEAN AddSoldierToSector( UINT8 ubID );
|
||||
BOOLEAN AddSoldierToSector( UINT16 ubID );
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT8 ubID );
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT16 ubID );
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
|
||||
// IsMercOnTeam() checks to see if the passed in Merc Profile ID is currently on the player's team
|
||||
BOOLEAN IsMercOnTeam( UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive );
|
||||
|
||||
+18
-19
@@ -107,10 +107,10 @@ BOOLEAN HandleUnjamAnimation( SOLDIERTYPE *pSoldier );
|
||||
|
||||
extern void HandleSystemNewAISituation( SOLDIERTYPE *pSoldier, BOOLEAN fResetABC );
|
||||
extern void PlaySoldierFootstepSound( SOLDIERTYPE *pSoldier );
|
||||
extern UINT8 NumCapableEnemyInSector( );
|
||||
extern UINT16 NumCapableEnemyInSector( );
|
||||
extern BOOLEAN gfKillingGuysForLosingBattle;
|
||||
|
||||
extern UINT8 gubInterruptProvoker;
|
||||
extern UINT16 gubInterruptProvoker;
|
||||
|
||||
extern UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOLEAN fHipStance );
|
||||
|
||||
@@ -1167,7 +1167,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
if (pSoldier->bTeam == 0 || (pSoldier->bTeam == 1 && is_server))
|
||||
{
|
||||
send_grenade( pSoldier->pTempObject , pSoldier->pThrowParams->dLifeSpan, pSoldier->pThrowParams->dX, pSoldier->pThrowParams->dY, pSoldier->pThrowParams->dZ, pSoldier->pThrowParams->dForceX, pSoldier->pThrowParams->dForceY, pSoldier->pThrowParams->dForceZ, pSoldier->sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iRealObjectID , true);
|
||||
send_grenade( pSoldier->pTempObject, pSoldier->pThrowParams->dLifeSpan, pSoldier->pThrowParams->dX, pSoldier->pThrowParams->dY, pSoldier->pThrowParams->dZ, pSoldier->pThrowParams->dForceX, pSoldier->pThrowParams->dForceY, pSoldier->pThrowParams->dForceZ, pSoldier->sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iRealObjectID, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1789,7 +1789,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
pSoldier->uiTimeOfLastRandomAction = 0;
|
||||
|
||||
// Don't play these generally if this is the guy selected by player, as this one is "awaiting orders"
|
||||
if (pSoldier->ubID != (UINT8)gusSelectedSoldier || Random( 10 ) == 0 )
|
||||
if (pSoldier->ubID != gusSelectedSoldier || Random( 10 ) == 0 )
|
||||
{
|
||||
// Don't do any in water!
|
||||
// Also don't play if we are in the middle of something
|
||||
@@ -3130,7 +3130,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
|
||||
// Reload robot....
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
SOLDIERTYPE *pRobot;
|
||||
|
||||
// Get pointer...
|
||||
@@ -3307,7 +3307,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
// REFUELING A VEHICLE
|
||||
// THE GAS_CAN IS IN THE MERCS MAIN HAND AT THIS TIME
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
SOLDIERTYPE *pVehicle;
|
||||
|
||||
// Get pointer to vehicle...
|
||||
@@ -3559,13 +3559,13 @@ BOOLEAN ShouldMercSayHappyWithGunQuote( SOLDIERTYPE *pSoldier )
|
||||
void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<INT8> bBuddyIndex (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, -1);
|
||||
// INT8 bBuddyIndex[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { -1 };
|
||||
INT8 bTempBuddyIndex;
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT16 usQuoteNum;
|
||||
@@ -3651,7 +3651,7 @@ void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo,
|
||||
}
|
||||
|
||||
// OK, a good candidate...
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
bBuddyIndex[ ubNumMercs ] = bTempBuddyIndex;
|
||||
++ubNumMercs;
|
||||
}
|
||||
@@ -3661,7 +3661,7 @@ void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo,
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
switch( bBuddyIndex[ ubChosenMerc ] )
|
||||
{
|
||||
@@ -3751,10 +3751,9 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
BOOLEAN fDoSomeoneElse = FALSE;
|
||||
|
||||
gfLastMercTalkedAboutKillingID = pKilledSoldier->ubID;
|
||||
@@ -3822,7 +3821,7 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
// Can we see location?
|
||||
if ( SoldierTo3DLocationLineOfSightTest( pTeamSoldier, sGridNo, bLevel, 3, TRUE, CALC_FROM_ALL_DIRS ) )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3832,7 +3831,7 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
// Did we find anybody?
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
// We have a random chance of not saying our we killed a guy quote
|
||||
if ( Random( 100 ) < 50 )
|
||||
@@ -4000,8 +3999,8 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
{
|
||||
//////////////////////////////////////////////////////////////
|
||||
// SANDRO - some changes here
|
||||
UINT8 ubAttacker = pSoldier->ubAttackerID;
|
||||
UINT8 ubAssister = pSoldier->ubPreviousAttackerID;
|
||||
UINT16 ubAttacker = pSoldier->ubAttackerID;
|
||||
UINT16 ubAssister = pSoldier->ubPreviousAttackerID;
|
||||
// If attacker is nobody, and we died, then set the last attacker(if exists) as our killer
|
||||
if ( ubAttacker == NOBODY )
|
||||
{
|
||||
|
||||
@@ -157,7 +157,7 @@ extern BOOLEAN gfShiftBombPlant;
|
||||
#include "connect.h"
|
||||
|
||||
extern void TeleportSelectedSoldier( void );
|
||||
extern BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
extern BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
|
||||
// Flugente: external sector data
|
||||
extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
||||
@@ -695,7 +695,7 @@ SOLDIERTYPE& SOLDIERTYPE::operator=(const OLDSOLDIERTYPE_101& src)
|
||||
this->sLastTwoLocations[1] = src.sLastTwoLocations[1];
|
||||
|
||||
this->ubID = src.ubID;
|
||||
this->bReserved1 = src.bReserved1;
|
||||
//this->bReserved1 = src.bReserved1;
|
||||
|
||||
this->ubBodyType = src.ubBodyType;
|
||||
this->bActionPoints = src.bActionPoints;
|
||||
@@ -1730,7 +1730,7 @@ void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
||||
UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight );
|
||||
void SelectFallAnimation( SOLDIERTYPE *pSoldier );
|
||||
BOOLEAN FullStructAlone( INT32 sGridNo, UINT8 ubRadius );
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitBlade( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitPunch( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitExplosion( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
@@ -5870,9 +5870,9 @@ UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOL
|
||||
// extern SOLDIERTYPE * FreeUpAttackerGivenTarget( UINT8 ubID, UINT8 ubTargetID );
|
||||
// extern SOLDIERTYPE * ReduceAttackBusyGivenTarget( UINT8 ubID, UINT8 ubTargetID );
|
||||
|
||||
|
||||
#pragma optimize("", off)
|
||||
// ATE: THIS FUNCTION IS USED FOR ALL SOLDIER TAKE DAMAGE FUNCTIONS!
|
||||
void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGrid )
|
||||
void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGrid )
|
||||
{
|
||||
UINT8 ubCombinedLoss, ubVolume, ubReason;
|
||||
// SOLDIERTYPE * pNewSoldier;
|
||||
@@ -6603,12 +6603,18 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
if ( Item[usWeaponIndex].usItemClass & IC_GUN )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID );
|
||||
if (ubAttackerID != NOBODY)
|
||||
{
|
||||
PossiblyStartEnemyTaunt(MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID );
|
||||
if (ubAttackerID != NOBODY)
|
||||
{
|
||||
PossiblyStartEnemyTaunt(MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( Item[usWeaponIndex].usItemClass & IC_BLADE )
|
||||
@@ -6637,7 +6643,7 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
// anv: taunts are called from UseHandToHand()
|
||||
}
|
||||
}
|
||||
|
||||
#pragma optimize("", on)
|
||||
UINT8 CalcScreamVolume( SOLDIERTYPE * pSoldier, UINT8 ubCombinedLoss )
|
||||
{
|
||||
// NB explosions are so loud they should drown out screams
|
||||
@@ -6719,7 +6725,7 @@ void DoGenericHit( SOLDIERTYPE *pSoldier, UINT8 ubSpecial, INT16 bDirection )
|
||||
}
|
||||
|
||||
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
{
|
||||
INT32 usNewGridNo;
|
||||
BOOLEAN fBlownAway = FALSE;
|
||||
@@ -9740,7 +9746,7 @@ void SOLDIERTYPE::BeginSoldierClimbUpRoof(void)
|
||||
}
|
||||
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if (FindHeigherLevel(this, this->sGridNo, this->ubDirection, &bNewDirection) && (this->pathing.bLevel == 0))
|
||||
{
|
||||
@@ -9914,7 +9920,7 @@ void SOLDIERTYPE::BeginSoldierClimbWindow( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbWall( void )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindWallJumpDirection( this, this->sGridNo, this->ubDirection, &bNewDirection ) && (this->pathing.bLevel == 0) )
|
||||
{
|
||||
@@ -9951,7 +9957,7 @@ void SOLDIERTYPE::BeginSoldierClimbWall( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbWallUp( void )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindLowerLevelWall( this, this->sGridNo, this->ubDirection, &bNewDirection ) && (this->pathing.bLevel > 0) )
|
||||
{
|
||||
@@ -10249,7 +10255,7 @@ void HandleTakeDamageDeath( SOLDIERTYPE *pSoldier, UINT8 bOldLife, UINT8 ubReaso
|
||||
}
|
||||
|
||||
|
||||
UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathLoss, UINT8 ubReason, UINT8 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage )
|
||||
UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathLoss, UINT8 ubReason, UINT16 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage )
|
||||
{
|
||||
#ifdef JA2BETAVERSION
|
||||
if ( is_networked ) {
|
||||
@@ -11573,7 +11579,7 @@ BOOLEAN SOLDIERTYPE::CheckSoldierHitRoof( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbDownRoof(void)
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if (FindLowerLevel(this, this->sGridNo, this->ubDirection, &bNewDirection) && (this->pathing.bLevel > 0))
|
||||
{
|
||||
@@ -12835,7 +12841,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginBladeAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
if ( this->flags.uiStatusFlags & SOLDIER_MONSTER )
|
||||
{
|
||||
// Is there an unconscious guy at gridno......
|
||||
UINT8 ubTargetID = WhoIsThere2( sGridNo, this->bTargetLevel );
|
||||
UINT16 ubTargetID = WhoIsThere2( sGridNo, this->bTargetLevel );
|
||||
|
||||
if ( ubTargetID != NOBODY && ((MercPtrs[ubTargetID]->stats.bLife < OKLIFE && MercPtrs[ubTargetID]->stats.bLife > 0) || (MercPtrs[ubTargetID]->bBreath < OKBREATH && MercPtrs[ubTargetID]->bCollapsed)) )
|
||||
{
|
||||
@@ -13573,7 +13579,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginFirstAid( INT32 sGridNo, UINT8 ubDirection )
|
||||
this->sTargetGridNo = sGridNo;
|
||||
|
||||
// SET PARTNER ID
|
||||
this->ubServicePartner = (UINT8)usSoldierIndex;
|
||||
this->ubServicePartner = usSoldierIndex;
|
||||
|
||||
// SET PARTNER'S COUNT REFERENCE
|
||||
pTSoldier->ubServiceCount++;
|
||||
@@ -15104,7 +15110,7 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
if ( !IsLocationSittable( nextGridNoinSight, 0 ) )
|
||||
{
|
||||
// resting our gun on people is allowed sometimes
|
||||
UINT usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
if ( usPersonID == NOBODY )
|
||||
applybipod = TRUE;
|
||||
else
|
||||
@@ -15178,7 +15184,7 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
if ( !IsLocationSittable( nextGridNoinSight, 0 ) )
|
||||
{
|
||||
// resting our gun on people is allowed sometimes
|
||||
UINT usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
if ( usPersonID == NOBODY )
|
||||
applybipod = TRUE;
|
||||
else
|
||||
@@ -15480,7 +15486,7 @@ void SOLDIERTYPE::InventoryExplosion( void )
|
||||
}
|
||||
|
||||
// Flugente: do we currently provide ammo (pAmmoSlot) for someone else's (pubId) gun (pGunSlot)?
|
||||
BOOLEAN SOLDIERTYPE::IsFeedingExternal( UINT8* pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT8* pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2 )
|
||||
BOOLEAN SOLDIERTYPE::IsFeedingExternal( UINT16 * pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT16 * pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2 )
|
||||
{
|
||||
// make sure we have to check this...
|
||||
if ( gGameExternalOptions.ubExternalFeeding == 0 )
|
||||
@@ -16166,7 +16172,7 @@ BOOLEAN SOLDIERTYPE::EquipmentTooGood( BOOLEAN fCloselook )
|
||||
|
||||
|
||||
// are we in covert mode? we need to have the correct flag set, and not wear anything suspicious, or behave in a suspicious way
|
||||
BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
BOOLEAN SOLDIERTYPE::SeemsLegit( UINT16 ubObserverID )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = MercPtrs[ubObserverID];
|
||||
|
||||
@@ -16454,7 +16460,7 @@ BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
}
|
||||
|
||||
// do we recognize someone else as a combatant?
|
||||
BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT8 ubTargetID )
|
||||
BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT16 ubTargetID )
|
||||
{
|
||||
// this will only work with the new trait system
|
||||
if ( !gGameOptions.fNewTraitSystem )
|
||||
@@ -16550,7 +16556,7 @@ void SOLDIERTYPE::LooseDisguise( void )
|
||||
|
||||
// rehandle sight for everybody
|
||||
SOLDIERTYPE* pSoldier;
|
||||
UINT8 iLoop = gTacticalStatus.Team[OUR_TEAM].bFirstID;
|
||||
UINT16 iLoop = gTacticalStatus.Team[OUR_TEAM].bFirstID;
|
||||
for ( pSoldier = MercPtrs[iLoop]; iLoop <= gTacticalStatus.Team[CIV_TEAM].bLastID; ++iLoop, ++pSoldier )
|
||||
{
|
||||
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 )
|
||||
@@ -16793,7 +16799,7 @@ BOOLEAN SOLDIERTYPE::FreePrisoner( )
|
||||
// we can only free people we are facing
|
||||
INT32 nextGridNoinSight = NewGridNo( this->sGridNo, DirectionInc( this->ubDirection ) );
|
||||
|
||||
UINT8 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
|
||||
// is there somebody?
|
||||
if ( target != NOBODY )
|
||||
@@ -19050,7 +19056,7 @@ BOOLEAN SOLDIERTYPE::OrderArtilleryStrike( UINT32 usSectorNr, INT32 sTargetGridN
|
||||
|
||||
// as of 2013-09-25, I say it is no longer necessary to fire a signal shell first. The player can fire a signal shell (by mortar or hand) manually to mark one or more targets if he wants
|
||||
// if he does not do so, active vox operators will be targetted. Who knows, the vox operator might be doing a heroic last stand for all we know...
|
||||
UINT8 radiooperatorID = 0;
|
||||
UINT16 radiooperatorID = 0;
|
||||
//BOOLEAN signalshellfired = FALSE;
|
||||
UINT8 mortaritemcnt = 0;
|
||||
UINT16 mortararray[5];
|
||||
@@ -19585,7 +19591,7 @@ BOOLEAN SOLDIERTYPE::AIDoctorFriend( )
|
||||
// we can only free people we are facing
|
||||
INT32 nextGridNoinSight = NewGridNo( this->sGridNo, DirectionInc( this->ubDirection ) );
|
||||
|
||||
UINT8 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
|
||||
// is there somebody?
|
||||
if ( target != NOBODY )
|
||||
@@ -22573,7 +22579,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginCutFence( INT32 sGridNo, UINT8 ubDirection )
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginRepair( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
INT8 bRepairItem;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// Make sure we have a structure here....
|
||||
bRepairItem = IsRepairableStructAtGridNo( sGridNo, &ubID );
|
||||
@@ -22618,7 +22624,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginRepair( INT32 sGridNo, UINT8 ubDirection )
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginRefuel( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
INT8 bRefuelItem;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// Make sure we have a structure here....
|
||||
bRefuelItem = IsRefuelableStructAtGridNo( sGridNo, &ubID );
|
||||
@@ -22792,7 +22798,7 @@ void SOLDIERTYPE::EVENT_SoldierHandcuffPerson( INT32 sGridNo, UINT8 ubDirection
|
||||
if ( !gGameExternalOptions.fAllowPrisonerSystem )
|
||||
return;
|
||||
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && MercPtrs[ubPerson]->CanBeCaptured( ) )
|
||||
{
|
||||
@@ -22935,7 +22941,7 @@ void SOLDIERTYPE::EVENT_SoldierHandcuffPerson( INT32 sGridNo, UINT8 ubDirection
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY )
|
||||
{
|
||||
@@ -23071,7 +23077,7 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierTakeBloodFromPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && ubPerson != this->ubID )
|
||||
{
|
||||
@@ -23142,7 +23148,7 @@ void SOLDIERTYPE::EVENT_SoldierTakeBloodFromPerson( INT32 sGridNo, UINT8 ubDirec
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierApplySplintToPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && ubPerson != this->ubID )
|
||||
{
|
||||
@@ -23211,7 +23217,7 @@ void SOLDIERTYPE::EVENT_SoldierInteractiveAction( INT32 sGridNo, UINT16 usAction
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginReloadRobot( INT32 sGridNo, UINT8 ubDirection, UINT8 ubMercSlot )
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
|
||||
// Make sure we have a robot here....
|
||||
ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
@@ -23442,7 +23448,7 @@ void AbandonBoxingDueToSurrenderCallback(UINT8 ubExitValue)
|
||||
}
|
||||
|
||||
SOLDIERTYPE *pTMilitiaSoldier;//global pointer
|
||||
BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValidate )
|
||||
BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT16 ubTargetID, BOOLEAN fValidate )
|
||||
{
|
||||
INT16 sFacingDir, sXPos, sYPos, sAPCost;
|
||||
SOLDIERTYPE *pTSoldier;
|
||||
@@ -23460,7 +23466,7 @@ BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValid
|
||||
{
|
||||
// OK, since we locked this guy from moving
|
||||
// we should be close enough, so talk ( unless he is now dead )
|
||||
if ( !IsValidTalkableNPC( (UINT8)ubTargetID, FALSE, FALSE, FALSE ) )
|
||||
if ( !IsValidTalkableNPC( ubTargetID, FALSE, FALSE, FALSE ) )
|
||||
{
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -24386,7 +24392,7 @@ void SetSoldierPersonalLightLevel( SOLDIERTYPE *pSoldier )
|
||||
void BeginSoldierClimbWallUp( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindLowerLevelWall( pSoldier, pSoldier->sGridNo, pSoldier->ubDirection, &bNewDirection ) && (pSoldier->pathing.bLevel > 0) )
|
||||
{
|
||||
@@ -24724,7 +24730,7 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
||||
|
||||
UINT8 GetSquadleadersCountInVicinity( SOLDIERTYPE * pSoldier, BOOLEAN fWithHigherLevel, BOOLEAN fDontCheckDistance )
|
||||
{
|
||||
UINT8 cnt = 0;
|
||||
UINT16 cnt = 0;
|
||||
UINT8 ubNumberSL = 0;
|
||||
|
||||
// loop through all soldiers around
|
||||
@@ -25091,7 +25097,7 @@ BOOLEAN ResolvePendingInterrupt( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType )
|
||||
/////////////////////////////
|
||||
SOLDIERTYPE *pInterrupter;
|
||||
UINT8 ubInterruptersFound = 0;
|
||||
UINT8 ubaInterruptersList[64];
|
||||
UINT16 ubaInterruptersList[64];
|
||||
UINT16 uCnt = 0, uiReactionTime;
|
||||
INT16 iInjuryPenalty;
|
||||
|
||||
@@ -25609,7 +25615,7 @@ UINT16 GridNoSpotterCTHBonus( SOLDIERTYPE* pSniper, INT32 sGridNo, INT8 bTeam )
|
||||
{
|
||||
BOOLEAN targetseen = FALSE;
|
||||
|
||||
UINT usID = WhoIsThere2( sGridNo, pSniper->bTargetLevel );
|
||||
UINT16 usID = WhoIsThere2( sGridNo, pSniper->bTargetLevel );
|
||||
|
||||
// is someone is at the sGridNo, check wether the spotter can see any part of him check wether head can be seen)
|
||||
if ( usID != NOBODY && SoldierToSoldierLineOfSightTest( pSoldier, MercPtrs[usID], 0, NO_DISTANCE_LIMIT, AIM_SHOT_HEAD ) > 0 )
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user