Import changes from the local SVN working copy

This commit is contained in:
Asdow
2022-10-10 10:08:44 +03:00
parent 9cc567644f
commit 1f0a8f46e8
170 changed files with 1798 additions and 1764 deletions
+3 -3
View File
@@ -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
View File
@@ -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
+3 -3
View File
@@ -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
View File
@@ -26,7 +26,7 @@ class SOLDIERTYPE;
typedef struct
{
BOOLEAN fActive;
UINT8 ubSoldierID;
UINT16 ubSoldierID;
UINT8 ubMercID;
INT32 iPayOutPrice;
} LIFE_INSURANCE_PAYOUT;
+10 -10
View File
@@ -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 )
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+1 -1
View File
@@ -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 )
+9 -10
View File
@@ -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;
+4 -4
View File
@@ -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;
+2 -2
View File
@@ -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
View File
@@ -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 ) );
+5 -4
View File
@@ -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 );
+1 -1
View File
@@ -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;
+5 -5
View File
@@ -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;
+5 -5
View File
@@ -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;
+84 -50
View File
@@ -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;
+2 -2
View File
@@ -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
+9 -9
View File
@@ -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 );
+2 -2
View File
@@ -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 );
+1 -1
View File
@@ -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 )
{
+2 -2
View File
@@ -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 )
{
+4 -7
View File
@@ -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
View File
@@ -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
View File
@@ -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 );
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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);
+1 -1
View File
@@ -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];
+12 -15
View File
@@ -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;
+2 -2
View File
@@ -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 );
+1 -1
View File
@@ -136,7 +136,7 @@ UINT8 gubMonsterMineInfestation[]={
// the static NPC dialogue faces
//extern UINT32 uiExternalStaticNPCFaces[];
extern FACETYPE *gpCurrentTalkingFace;
extern UINT8 gubCurrentTalkingID;
extern UINT16 gubCurrentTalkingID;
+1 -1
View File
@@ -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 ];
+1 -1
View File
@@ -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
+6 -6
View File
@@ -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++ )
{
+10 -10
View File
@@ -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">
+4
View File
@@ -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
View File
@@ -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 );
+3 -3
View File
@@ -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( );
+3 -3
View File
@@ -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 )
{
+6 -6
View File
@@ -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 ) );
}
+3 -3
View File
@@ -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 );
}
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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 );
+1 -1
View File
@@ -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 );
+3 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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( );
+1 -1
View File
@@ -1837,7 +1837,7 @@ void TestDumpStatChanges(void)
void AwardExperienceBonusToActiveSquad( UINT8 ubExpBonusType )
{
UINT16 usXPs = 0;
UINT8 ubGuynum;
UINT16 ubGuynum;
SOLDIERTYPE *pSoldier;
+2 -1
View File
@@ -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 )
+25 -25
View File
@@ -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 );
}
}
+2 -3
View File
@@ -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;
+1 -1
View File
@@ -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 );
+3 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+1 -3
View File
@@ -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
View File
@@ -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 )
+4 -4
View File
@@ -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
+3 -3
View File
@@ -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
View File
@@ -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
+8 -8
View File
@@ -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 );
+1 -1
View File
@@ -921,7 +921,7 @@ void RenderTopmostTacticalInterface( )
}
else
{
DrawSelectedUIAboveGuy((UINT16)pSoldier->ubID);
DrawSelectedUIAboveGuy(pSoldier->ubID);
}
DrawCounters( pSoldier );
+11 -11
View File
@@ -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;
+11 -11
View File
@@ -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;
+2 -1
View File
@@ -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
+39 -39
View File
@@ -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
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -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 )
{
+5 -5
View File
@@ -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 );
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+4 -4
View File
@@ -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;
+8 -8
View File
@@ -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
+2 -2
View File
@@ -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( );
+10 -9
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+4 -4
View File
@@ -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....
+4 -4
View File
@@ -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;
+9 -9
View File
@@ -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 );
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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);
+6 -8
View File
@@ -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;
+3 -3
View File
@@ -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
View File
@@ -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 )
{
+44 -38
View File
@@ -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