mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
Import changes from the local SVN working copy
This commit is contained in:
@@ -310,9 +310,9 @@ BOOLEAN BeginAirRaid( )
|
||||
|
||||
INT32 PickLocationNearAnyMercInSector( )
|
||||
{
|
||||
UINT8 ubMercsInSector[ 20 ] = { 0 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubMercsInSector[ 20 ] = { 0 };
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt=0;
|
||||
|
||||
@@ -330,7 +330,7 @@ INT32 PickLocationNearAnyMercInSector( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: looping %d",cnt));
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -339,7 +339,7 @@ INT32 PickLocationNearAnyMercInSector( )
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: number of guys %d",ubNumMercs));
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("PickLocationNearAnyMercInSector: chosen guy = %d",ubChosenMerc));
|
||||
return( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ]->sGridNo );
|
||||
@@ -1007,7 +1007,7 @@ void DoBombing( )
|
||||
}
|
||||
|
||||
// Drop bombs...
|
||||
InternalIgniteExplosion( NOBODY, CenterX( sBombGridNo ), CenterY( sBombGridNo ), 0, sBombGridNo, usItem, fLocate , (UINT8)IsRoofPresentAtGridNo( sBombGridNo ) );
|
||||
InternalIgniteExplosion( NOBODY, CenterX( sBombGridNo ), CenterY( sBombGridNo ), 0, sBombGridNo, usItem, fLocate, (UINT8)IsRoofPresentAtGridNo( sBombGridNo ) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -917,7 +917,7 @@ BOOLEAN DeInitAnimationSystem( )
|
||||
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
||||
STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState, BOOLEAN fUseAbsolute )
|
||||
{
|
||||
INT8 bStructDataType;
|
||||
|
||||
@@ -946,13 +946,13 @@ STRUCTURE_FILE_REF *InternalGetAnimationStructureRef( UINT8 usSoldierID, UINT16
|
||||
}
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState )
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState )
|
||||
{
|
||||
return( InternalGetAnimationStructureRef( usSoldierID, usSurfaceIndex, usAnimState, FALSE ) );
|
||||
}
|
||||
|
||||
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT8 usSoldierID )
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT16 usSoldierID )
|
||||
{
|
||||
return( gAnimStructureDatabase[ MercPtrs[ usSoldierID ]->ubBodyType ][ DEFAULT_STRUCT ].pStructureFileRef );
|
||||
}
|
||||
|
||||
@@ -696,8 +696,8 @@ void ClearAnimationSurfacesUsageHistory( UINT16 usSoldierID );
|
||||
void DeleteAnimationProfiles( );
|
||||
BOOLEAN LoadAnimationProfiles( );
|
||||
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT8 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState );
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT8 usSoldierID );
|
||||
STRUCTURE_FILE_REF *GetAnimationStructureRef( UINT16 usSoldierID, UINT16 usSurfaceIndex, UINT16 usAnimState );
|
||||
STRUCTURE_FILE_REF *GetDefaultStructureRef( UINT16 usSoldierID );
|
||||
|
||||
// Profile data
|
||||
extern ANIM_PROF *gpAnimProfiles;
|
||||
|
||||
@@ -1818,7 +1818,7 @@ void RemoveRandomItemFromArmsDealerInventory( UINT8 ubArmsDealer, UINT16 usItemI
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT8 aMercID )
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT16 aMercID )
|
||||
{
|
||||
//Get Dealer ID from from merc Id
|
||||
INT8 bArmsDealer = GetArmsDealerIDFromMercID( usProfileID );
|
||||
|
||||
@@ -366,7 +366,7 @@ UINT32 GetTimeToFixItemBeingRepaired( UINT8 ubArmsDealer, UINT16 usItemIndex, UI
|
||||
BOOLEAN CanDealerTransactItem( UINT8 ubArmsDealer, UINT16 usItemIndex, BOOLEAN fPurchaseFromPlayer );
|
||||
BOOLEAN CanDealerRepairItem( UINT8 ubArmsDealer, UINT16 usItemIndex );
|
||||
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT8 aMercID );
|
||||
BOOLEAN AddDeadArmsDealerItemsToWorld( UINT8 usProfileID, UINT16 aMercID );
|
||||
|
||||
void MakeObjectOutOfDealerItems( DEALER_SPECIAL_ITEM *pSpclItemInfo, OBJECTTYPE *pObject );
|
||||
void CreateObjectForDealer( int usItem, int status, int numObjects, OBJECTTYPE *pObject );
|
||||
|
||||
@@ -89,7 +89,7 @@ BOOLEAN RemoveFacesForAutoBandage( void );
|
||||
|
||||
extern BOOLEAN CanCharacterAutoBandageTeammate( SOLDIERTYPE *pSoldier );
|
||||
extern BOOLEAN CanCharacterBeAutoBandagedByTeammate( SOLDIERTYPE *pSoldier );
|
||||
extern UINT8 NumEnemyInSector( );
|
||||
extern UINT16 NumEnemyInSector( );
|
||||
|
||||
void BeginAutoBandage( )
|
||||
{
|
||||
@@ -316,7 +316,7 @@ BOOLEAN CreateAutoBandageString( void )
|
||||
{
|
||||
INT32 cnt;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
UINT8 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||
UINT16 ubDoctor[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS], ubDoctors = 0;
|
||||
UINT32 uiDoctorNameStringLength = 1; // for end-of-string character
|
||||
STR16 sTemp;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
@@ -399,7 +399,7 @@ void SetAutoBandageComplete( void )
|
||||
void AutoBandage( BOOLEAN fStart )
|
||||
{
|
||||
SGPRect aRect;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
|
||||
+5
-5
@@ -28,7 +28,7 @@
|
||||
#endif
|
||||
|
||||
INT32 gsBoxerGridNo[ NUM_BOXERS ] = { 11393, 11233, 11073 };
|
||||
UINT8 gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||
UINT16 gubBoxerID[ NUM_BOXERS ] = { NOBODY, NOBODY, NOBODY };
|
||||
BOOLEAN gfBoxerFought[ NUM_BOXERS ] = { FALSE, FALSE, FALSE };
|
||||
BOOLEAN gfLastBoxingMatchWonByPlayer = FALSE;
|
||||
UINT8 gubBoxingMatchesWon = 0;
|
||||
@@ -331,7 +331,7 @@ void CountPeopleInBoxingRingAndDoActions( void )
|
||||
BOOLEAN CheckOnBoxers( void )
|
||||
{
|
||||
UINT32 uiLoop;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// repick boxer IDs every time
|
||||
if ( gubBoxerID[0] == NOBODY )
|
||||
@@ -482,9 +482,9 @@ BOOLEAN AnotherFightPossible( void )
|
||||
// a player has at least OKLIFE + 5 life
|
||||
|
||||
// and at least one fight HAS occurred
|
||||
UINT8 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubAvailable;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubAvailable;
|
||||
|
||||
ubAvailable = BoxersAvailable();
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ enum DisqualificationReasons
|
||||
} ;
|
||||
|
||||
extern INT32 gsBoxerGridNo[ NUM_BOXERS ];
|
||||
extern UINT8 gubBoxerID[ NUM_BOXERS ];
|
||||
extern UINT16 gubBoxerID[ NUM_BOXERS ];
|
||||
extern BOOLEAN gfBoxerFought[ NUM_BOXERS ];
|
||||
extern INT8 gbBoxingState;
|
||||
extern BOOLEAN gfLastBoxingMatchWonByPlayer;
|
||||
|
||||
+3
-3
@@ -30,8 +30,8 @@ typedef struct
|
||||
LEVELNODE* pNodes[BULLET_TRACER_MAX_LENGTH];
|
||||
//afp-end
|
||||
INT32 iBullet;
|
||||
UINT8 ubFirerID;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubFirerID;
|
||||
UINT16 ubTargetID;
|
||||
INT8 bStartCubesAboveLevelZ;
|
||||
INT8 bEndCubesAboveLevelZ;
|
||||
INT32 sGridNo;
|
||||
@@ -83,7 +83,7 @@ typedef struct
|
||||
|
||||
extern UINT32 guiNumBullets;
|
||||
|
||||
INT32 CreateBullet( UINT8 ubFirer, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem );
|
||||
INT32 CreateBullet( UINT16 ubFirerID, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem );
|
||||
void RemoveBullet( INT32 iBullet );
|
||||
void StopBullet( INT32 iBullet );
|
||||
void UpdateBullets( );
|
||||
|
||||
@@ -1837,7 +1837,7 @@ void TestDumpStatChanges(void)
|
||||
void AwardExperienceBonusToActiveSquad( UINT8 ubExpBonusType )
|
||||
{
|
||||
UINT16 usXPs = 0;
|
||||
UINT8 ubGuynum;
|
||||
UINT16 ubGuynum;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
|
||||
|
||||
@@ -1127,7 +1127,7 @@ BOOLEAN LoadCivQuotesFromLoadGameFile( HWFILE hFile )
|
||||
return( TRUE );
|
||||
}
|
||||
//--------------------------------------------------------------
|
||||
|
||||
#pragma optimize("", off)
|
||||
// anv: start enemy taunt with probabilty depending on taunt settings
|
||||
void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 uiTargetID )
|
||||
{
|
||||
@@ -1342,6 +1342,7 @@ void PossiblyStartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, UINT32 ui
|
||||
|
||||
StartEnemyTaunt( pCiv, iTauntType, pTarget );
|
||||
}
|
||||
#pragma optimize("", on)
|
||||
|
||||
// SANDRO - soldier taunts
|
||||
void StartEnemyTaunt( SOLDIERTYPE *pCiv, TAUNTTYPE iTauntType, SOLDIERTYPE *pTarget )
|
||||
|
||||
@@ -176,7 +176,7 @@ UINT8 gubNumStopTimeQuotes = 2;
|
||||
#define INITIAL_Q_SIZE 10
|
||||
HQUEUE ghDialogueQ = NULL;
|
||||
FACETYPE *gpCurrentTalkingFace = NULL;
|
||||
UINT8 gubCurrentTalkingID = NO_PROFILE;
|
||||
UINT16 gubCurrentTalkingID = NO_PROFILE;
|
||||
INT8 gbUIHandlerID;
|
||||
|
||||
INT32 giNPCReferenceCount = 0;
|
||||
@@ -763,7 +763,7 @@ void HandleDialogue( )
|
||||
{
|
||||
SOLDIERTYPE * pMike;
|
||||
INT32 sPlayerGridNo;
|
||||
UINT8 ubPlayerID;
|
||||
UINT16 ubPlayerID;
|
||||
|
||||
pMike = FindSoldierByProfileID( MIKE, FALSE );
|
||||
if ( pMike )
|
||||
@@ -949,11 +949,11 @@ void HandleDialogue( )
|
||||
}
|
||||
else if ( QItem->uiSpecialEventFlag & DIALOGUE_SPECIAL_EVENT_CONTRACT_WANTS_TO_RENEW )
|
||||
{
|
||||
HandleMercIsWillingToRenew( (UINT8)QItem->uiSpecialEventData );
|
||||
HandleMercIsWillingToRenew( (UINT16)QItem->uiSpecialEventData );
|
||||
}
|
||||
else if ( QItem->uiSpecialEventFlag & DIALOGUE_SPECIAL_EVENT_CONTRACT_NOGO_TO_RENEW )
|
||||
{
|
||||
HandleMercIsNotWillingToRenew( (UINT8)QItem->uiSpecialEventData );
|
||||
HandleMercIsNotWillingToRenew( (UINT16)QItem->uiSpecialEventData );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2061,7 +2061,7 @@ BOOLEAN SpecialCharacterDialogueEventWithExtraParam( UINT32 uiSpecialEventFlag,
|
||||
}
|
||||
|
||||
extern INT8 gbSelectedArmsDealerID;
|
||||
extern UINT8 gusIDOfCivTrader;
|
||||
extern UINT16 gusIDOfCivTrader;
|
||||
|
||||
BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier )
|
||||
{
|
||||
@@ -3176,8 +3176,8 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
SOLDIERTYPE *pSoldier = FindSoldierByProfileID( gTacticalStatus.ubLastQuoteProfileNUm, FALSE );
|
||||
if ( pSoldier )
|
||||
{
|
||||
UINT8 ubSeenEnemies[ MAX_NUM_SOLDIERS ];
|
||||
UINT8 ubSeenEnemiesCnt = 0;
|
||||
UINT16 ubSeenEnemies[ MAX_NUM_SOLDIERS ];
|
||||
UINT16 ubSeenEnemiesCnt = 0;
|
||||
switch( gTacticalStatus.ubLastQuoteSaid )
|
||||
{
|
||||
case QUOTE_CLOSE_CALL:
|
||||
@@ -3188,7 +3188,7 @@ void HandleDialogueEnd( FACETYPE *pFace )
|
||||
break;
|
||||
default:
|
||||
// select random enemy, who we see, who sees us and isn't deaf
|
||||
for(UINT8 cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID ; cnt++ )
|
||||
for(UINT16 cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID ; cnt++ )
|
||||
{
|
||||
if( MercPtrs[cnt] != NULL && MercPtrs[cnt]->aiData.bOppList[pSoldier->ubID] == SEEN_CURRENTLY
|
||||
&& MercPtrs[pSoldier->ubID]->aiData.bOppList[cnt] == SEEN_CURRENTLY && !( MercPtrs[cnt]->bDeafenedCounter > 0 ) )
|
||||
@@ -3359,9 +3359,9 @@ void RenderSubtitleBoxOverlay( VIDEO_OVERLAY *pBlitter )
|
||||
void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -3395,7 +3395,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
#endif
|
||||
}
|
||||
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3403,7 +3403,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
// If we are air raid, AND red exists somewhere...
|
||||
if ( usQuoteNum == QUOTE_AIR_RAID )
|
||||
@@ -3412,7 +3412,7 @@ void SayQuoteFromAnyBodyInSector( UINT16 usQuoteNum )
|
||||
{
|
||||
if ( ubMercsInSector[ cnt ] == 11 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)cnt;
|
||||
ubChosenMerc = (UINT16)cnt;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3447,7 +3447,7 @@ void SayQuoteFromAnyBodyInThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSect
|
||||
// Add guy if he's a candidate...
|
||||
if( pTeamSoldier->sSectorX == sSectorX && pTeamSoldier->sSectorY == sSectorY && pTeamSoldier->bSectorZ == bSectorZ && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
++ubNumMercs;
|
||||
}
|
||||
}
|
||||
@@ -3481,9 +3481,9 @@ void SayQuoteFromAnyBodyInThisSector( INT16 sSectorX, INT16 sSectorY, INT8 bSect
|
||||
void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuoteNum )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0 );
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0 );
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -3503,7 +3503,7 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3511,7 +3511,7 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
if (usQuoteNum == 66)
|
||||
{
|
||||
@@ -3526,9 +3526,9 @@ void SayQuoteFromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuo
|
||||
void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQuoteNum, INT8 bSex )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
|
||||
@@ -3553,7 +3553,7 @@ void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQ
|
||||
continue;
|
||||
}
|
||||
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
++ubNumMercs;
|
||||
}
|
||||
}
|
||||
@@ -3561,7 +3561,7 @@ void SayQuote58FromNearbyMercInSector( INT32 sGridNo, INT8 bDistance, UINT16 usQ
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
TacticalCharacterDialogue( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ], usQuoteNum );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1105,7 +1105,7 @@ void SetfDynamicOpinionSpeechInProgress( BOOLEAN aVal )
|
||||
}
|
||||
|
||||
|
||||
void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue )
|
||||
void AddOpinionEvent( UINT16 usProfileA, UINT16 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue )
|
||||
{
|
||||
if ( usProfileA == NO_PROFILE || usProfileB == NO_PROFILE )
|
||||
return;
|
||||
@@ -1669,10 +1669,9 @@ void RolloverDynamicOpinions( UINT8 usProfileA )
|
||||
// check wether other people are friends with someone else we hate. All persons must be in Arulco
|
||||
void CheckForFriendsofHated( SOLDIERTYPE* pSoldier )
|
||||
{
|
||||
INT8 bMercID, bOtherID, bThirdID;
|
||||
UINT16 bMercID, bOtherID, bThirdID, bLastTeamID;
|
||||
INT8 bOpinion = -1;
|
||||
INT8 bSecondOpinion = -1;
|
||||
INT8 bLastTeamID;
|
||||
SOLDIERTYPE* pOtherSoldier;
|
||||
SOLDIERTYPE* pThirdSoldier;
|
||||
|
||||
|
||||
@@ -452,7 +452,7 @@ BOOLEAN LoadDynamicDialogue( HWFILE hwFile );
|
||||
|
||||
|
||||
// modify usProfileA's opinion of usProfileB because of usEvent
|
||||
void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue = TRUE );
|
||||
void AddOpinionEvent( UINT16 usProfileA, UINT16 usProfileB, UINT8 usEvent, BOOLEAN fStartDialogue = TRUE );
|
||||
|
||||
// get usProfileA's opinion of usProfileB on one of the last 4 days
|
||||
INT8 GetDynamicOpinionDay( UINT8 usProfileA, UINT8 usProfileB, UINT8 usDay );
|
||||
|
||||
@@ -182,7 +182,7 @@ void HandleDeidrannaDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLev
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT8 ubKillerSoldierID = NOBODY;
|
||||
UINT16 ubKillerSoldierID = NOBODY;
|
||||
|
||||
// Start victory music here...
|
||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||
@@ -673,7 +673,7 @@ void BeginHandleQueenBitchDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT
|
||||
{
|
||||
// gTacticalStatus.ubAttackBusyCount++;
|
||||
DebugAttackBusy( "Killing off a queen ally.\n");
|
||||
pTeamSoldier->EVENT_SoldierGotHit( 0, 10000, 0, pTeamSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, pTeamSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
pTeamSoldier->EVENT_SoldierGotHit( 0, 10000, 0, pTeamSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, pTeamSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -685,7 +685,7 @@ void HandleQueenBitchDeath( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLe
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT8 ubKillerSoldierID = NOBODY;
|
||||
UINT16 ubKillerSoldierID = NOBODY;
|
||||
|
||||
// Start victory music here...
|
||||
SetMusicMode( MUSIC_TACTICAL_VICTORY );
|
||||
|
||||
+8
-10
@@ -50,8 +50,6 @@
|
||||
#endif
|
||||
|
||||
// Defines
|
||||
#define NUM_FACE_SLOTS 50
|
||||
|
||||
#define END_FACE_OVERLAY_DELAY 2000
|
||||
|
||||
|
||||
@@ -135,7 +133,7 @@ INT32 InitSoldierFace( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags )
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT16 ubSoldierID, UINT32 uiInitFlags )
|
||||
{
|
||||
UINT32 uiBlinkFrequency;
|
||||
UINT32 uiExpressionFrequency;
|
||||
@@ -162,7 +160,7 @@ INT32 InitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags )
|
||||
}
|
||||
|
||||
|
||||
INT32 InternalInitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags, INT32 iFaceFileID, UINT32 uiBlinkFrequency, UINT32 uiExpressionFrequency )
|
||||
INT32 InternalInitFace( UINT8 usMercProfileID, UINT16 ubSoldierID, UINT32 uiInitFlags, INT32 iFaceFileID, UINT32 uiBlinkFrequency, UINT32 uiExpressionFrequency )
|
||||
{
|
||||
FACETYPE *pFace;
|
||||
VOBJECT_DESC VObjectDesc;
|
||||
@@ -557,7 +555,7 @@ void DeleteFace( INT32 iFaceIndex )
|
||||
|
||||
}
|
||||
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT8 ubSoldierID , UINT16 usFaceX, UINT16 usFaceY )
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT16 ubSoldierID, UINT16 usFaceX, UINT16 usFaceY )
|
||||
{
|
||||
if( ubSoldierID == NOBODY )
|
||||
{
|
||||
@@ -761,7 +759,7 @@ void InternalSetAutoFaceActive( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer,
|
||||
}
|
||||
|
||||
|
||||
void SetAutoFaceInActiveFromSoldier( UINT8 ubSoldierID )
|
||||
void SetAutoFaceInActiveFromSoldier( UINT16 ubSoldierID )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKV( ubSoldierID != NOBODY );
|
||||
@@ -1349,7 +1347,7 @@ void SetFaceShade( SOLDIERTYPE *pSoldier, FACETYPE *pFace, BOOLEAN fExternBlit )
|
||||
}
|
||||
}
|
||||
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT8 ubSoldierID )
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT16 ubSoldierID )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKF( ubSoldierID != NOBODY );
|
||||
@@ -2107,10 +2105,10 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE
|
||||
// Flugente: are we supplying ammo to someone else?
|
||||
if (gGameExternalOptions.ubExternalFeeding > 0)
|
||||
{
|
||||
UINT8 ubID1 = 0;
|
||||
UINT16 ubID1 = 0;
|
||||
UINT16 ubGunSlot1 = 0;
|
||||
UINT16 ubFaceSlot1 = 0;
|
||||
UINT8 ubID2 = 0;
|
||||
UINT16 ubID2 = 0;
|
||||
UINT16 ubGunSlot2 = 0;
|
||||
UINT16 ubFaceSlot2 = 0;
|
||||
if (MercPtrs[pFace->ubSoldierID]->IsFeedingExternal(&ubID1, &ubGunSlot1, &ubFaceSlot1, &ubID2, &ubGunSlot2, &ubFaceSlot2))
|
||||
@@ -2640,7 +2638,7 @@ BOOLEAN RenderAutoFace( INT32 iFaceIndex )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT8 ubSoldierID, INT16 sX, INT16 sY )
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT16 ubSoldierID, INT16 sX, INT16 sY )
|
||||
{
|
||||
// Check for valid soldier
|
||||
CHECKF( ubSoldierID != NOBODY );
|
||||
|
||||
+7
-7
@@ -105,7 +105,7 @@ BOOLEAN DoesSoldierRefuseToEat( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObj )
|
||||
if ( UsingFoodSystem() )
|
||||
{
|
||||
// static variables to remember the last food someone was forced to eat
|
||||
static UINT8 lasteater = 0;
|
||||
static UINT16 lasteater = 0;
|
||||
static UINT16 lastitem = 0;
|
||||
|
||||
UINT32 foodtype = Item[pObj->usItem].foodtype;
|
||||
@@ -765,8 +765,8 @@ void EatFromInventory( SOLDIERTYPE *pSoldier, BOOLEAN fcanteensonly )
|
||||
|
||||
void HourlyFoodUpdate( void )
|
||||
{
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
@@ -831,8 +831,8 @@ void SectorFillCanteens( void )
|
||||
addtemperature = FOOD_WATER_POISONOUS_TEMPERATURE;
|
||||
|
||||
// first step: fill all canteens in inventories
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
@@ -905,8 +905,8 @@ void SectorFillCanteens( void )
|
||||
INT32 drumsize = Food[Item[pWaterDrum->usItem].foodtype].bDrinkPoints;
|
||||
|
||||
// first step: fill all canteens in inventories
|
||||
INT8 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
UINT16 bMercID, bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
bMercID = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
bLastTeamID = gTacticalStatus.Team[ gbPlayerNum ].bLastID;
|
||||
|
||||
@@ -443,10 +443,8 @@ void ProcessImplicationsOfPCMessingWithDoor( SOLDIERTYPE * pSoldier )
|
||||
// if player is hacking at a door in the brothel and a kingpin guy can see him
|
||||
if ( (InARoom( pSoldier->sGridNo, &usRoom ) && IN_BROTHEL( usRoom )) || (gWorldSectorX == 5 && gWorldSectorY == MAP_ROW_D && gbWorldSectorZ == 0 && (pSoldier->sGridNo == gModSettings.iBrothelDoor1 || pSoldier->sGridNo == gModSettings.iBrothelDoor2 || pSoldier->sGridNo == gModSettings.iBrothelDoor3 ) ) )//11010,11177,11176
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
|
||||
// see if a kingpin goon can see us
|
||||
for ( ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
for (UINT16 ubLoop = gTacticalStatus.Team[ CIV_TEAM ].bFirstID; ubLoop <= gTacticalStatus.Team[ CIV_TEAM ].bLastID; ubLoop++ )
|
||||
{
|
||||
pGoon = MercPtrs[ ubLoop ];
|
||||
if ( pGoon->ubCivilianGroup == KINGPIN_CIV_GROUP && pGoon->bActive && pGoon->bInSector && pGoon->stats.bLife >= OKLIFE && pGoon->aiData.bOppList[ pSoldier->ubID ] == SEEN_CURRENTLY )
|
||||
|
||||
+25
-25
@@ -1023,7 +1023,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
|
||||
if ( Item[usHandItem].toolkit )
|
||||
{
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
BOOLEAN fVehicle = FALSE;
|
||||
INT32 sVehicleGridNo=-1;
|
||||
|
||||
@@ -1096,7 +1096,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
|
||||
if ( Item[usHandItem].gascan )
|
||||
{
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
INT32 sVehicleGridNo=-1;
|
||||
|
||||
// For repair, check if we are over a vehicle, then get gridnot to edge of that vehicle!
|
||||
@@ -1390,7 +1390,7 @@ INT32 HandleItem( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT16 usHa
|
||||
}
|
||||
}
|
||||
|
||||
UINT8 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
UINT16 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
|
||||
// Flugente: apply misc items to other soldiers
|
||||
// sevenfm: check that target soldier is visible
|
||||
@@ -2133,7 +2133,7 @@ void SoldierHandleDropItem( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
}
|
||||
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
|
||||
OBJECTTYPE::DeleteMe( &pSoldier->pTempObject );
|
||||
@@ -2376,7 +2376,7 @@ void HandleAutoPlaceFail( SOLDIERTYPE *pSoldier, INT32 iItemIndex, INT32 sGridNo
|
||||
else
|
||||
{
|
||||
// Add back to world...
|
||||
AddItemToPool( sGridNo, &(gWorldItems[ iItemIndex ].object ), 1 , pSoldier->pathing.bLevel, 0, -1 );
|
||||
AddItemToPool( sGridNo, &(gWorldItems[ iItemIndex ].object ), 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// If we are a merc, say DAMN quote....
|
||||
if ( pSoldier->bTeam == gbPlayerNum )
|
||||
@@ -2944,17 +2944,17 @@ void RemoveItemGraphicFromWorld( INVTYPE *pItem, INT32 sGridNo, UINT8 ubLevel, L
|
||||
}
|
||||
|
||||
// INVENTORY POOL STUFF
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID )
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID)
|
||||
{
|
||||
return InternalAddItemToPool( &sGridNo, pObject, bVisible, ubLevel, usFlags, bRenderZHeightAboveLevel, soldierID, NULL );
|
||||
}
|
||||
|
||||
OBJECTTYPE * AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex )
|
||||
OBJECTTYPE * AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex )
|
||||
{
|
||||
return( InternalAddItemToPool( &sGridNo, pObject, bVisible, ubLevel, usFlags, bRenderZHeightAboveLevel, soldierID, piItemIndex ) );
|
||||
}
|
||||
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex )
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex )
|
||||
{
|
||||
ITEM_POOL *pItemPool;
|
||||
ITEM_POOL *pItemPoolTemp;
|
||||
@@ -4816,7 +4816,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubTargetMercID;
|
||||
UINT16 ubTargetMercID;
|
||||
|
||||
// DO SOME CHECKS IF WE CAN DO ANIMATION.....
|
||||
|
||||
@@ -4825,7 +4825,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
|
||||
sGridNo = pSoldier->aiData.sPendingActionData2;
|
||||
ubDirection = pSoldier->aiData.bPendingActionData3;
|
||||
ubTargetMercID = (UINT8)pSoldier->aiData.uiPendingActionData4;
|
||||
ubTargetMercID = (UINT16)pSoldier->aiData.uiPendingActionData4;
|
||||
|
||||
usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
|
||||
@@ -4851,7 +4851,7 @@ BOOLEAN VerifyGiveItem( SOLDIERTYPE *pSoldier, SOLDIERTYPE **ppTargetSoldier )
|
||||
{
|
||||
if ( pSoldier->pTempObject != NULL )
|
||||
{
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, pSoldier->pTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// Place it on the ground!
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, TacticalStr[ ITEM_HAS_BEEN_PLACED_ON_GROUND_STR ], ShortItemNames[ pSoldier->pTempObject->usItem ] );
|
||||
@@ -4881,7 +4881,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubTargetMercID;
|
||||
UINT16 ubTargetMercID;
|
||||
UINT16 usItemNum;
|
||||
BOOLEAN fToTargetPlayer = FALSE;
|
||||
|
||||
@@ -4910,7 +4910,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
|
||||
sGridNo = pSoldier->aiData.sPendingActionData2;
|
||||
ubDirection = pSoldier->aiData.bPendingActionData3;
|
||||
ubTargetMercID = (UINT8)pSoldier->aiData.uiPendingActionData4;
|
||||
ubTargetMercID = (UINT16)pSoldier->aiData.uiPendingActionData4;
|
||||
|
||||
// ATE: Deduct APs!
|
||||
DeductPoints( pSoldier, GetBasicAPsToPickupItem( pSoldier ), 0 ); // SANDRO
|
||||
@@ -5004,7 +5004,7 @@ void SoldierGiveItemFromAnimation( SOLDIERTYPE *pSoldier )
|
||||
DirtyMercPanelInterface( pSoldier, DIRTYLEVEL2 );
|
||||
}
|
||||
|
||||
AddItemToPool( pSoldier->sGridNo, &gTempObject, 1, pSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( pSoldier->sGridNo, &gTempObject, 1, pSoldier->pathing.bLevel, 0, -1 );
|
||||
|
||||
// We could not place it!
|
||||
// Drop it on the ground?
|
||||
@@ -5081,7 +5081,7 @@ INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo )
|
||||
BOOLEAN fStructFound = FALSE;
|
||||
UINT8 ubDirection;
|
||||
INT32 sAdjustedGridNo;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
|
||||
|
||||
sActionGridNo = sGridNo;
|
||||
@@ -6169,7 +6169,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
// remove it from the ground
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
}
|
||||
@@ -6191,7 +6191,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
}
|
||||
@@ -6208,7 +6208,7 @@ void BoobyTrapMessageBoxCallBack( UINT8 ubExitValue )
|
||||
}
|
||||
// OJW - 20091029 - disarm explosives
|
||||
if (is_networked && is_client)
|
||||
send_disarm_explosive( gsBoobyTrapGridNo , gpBoobyTrapItemPool->iItemIndex , gpBoobyTrapSoldier->ubID );
|
||||
send_disarm_explosive( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gpBoobyTrapSoldier->ubID );
|
||||
|
||||
// remove it from the ground
|
||||
RemoveItemFromPool( gsBoobyTrapGridNo, gpBoobyTrapItemPool->iItemIndex, gbBoobyTrapLevel );
|
||||
@@ -6363,7 +6363,7 @@ void SwitchMessageBoxCallBack( UINT8 ubExitValue )
|
||||
// Message that switch is activated...
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, gzLateLocalizedString[ 60 ] );
|
||||
|
||||
SetOffBombsByFrequency( gpTempSoldier->ubID, bTempFrequency );
|
||||
SetOffBombsByFrequency( gpTempSoldier->ubID, bTempFrequency );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6733,11 +6733,11 @@ void TestPotentialOwner( SOLDIERTYPE * pSoldier )
|
||||
|
||||
void CheckForPickedOwnership( void )
|
||||
{
|
||||
ITEM_POOL * pItemPool;
|
||||
UINT8 ubProfile;
|
||||
UINT8 ubCivGroup;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop;
|
||||
ITEM_POOL * pItemPool;
|
||||
UINT8 ubProfile;
|
||||
UINT8 ubCivGroup;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 ubLoop;
|
||||
|
||||
// LOOP THROUGH LIST TO FIND NODE WE WANT
|
||||
GetItemPool( gsTempGridNo, &pItemPool, gpTempSoldier->pathing.bLevel );
|
||||
@@ -9403,7 +9403,7 @@ void DoInteractiveAction( INT32 sGridNo, SOLDIERTYPE *pSoldier )
|
||||
|
||||
// handle the default result of an interactive action
|
||||
// This is called either if no lua action id is set, or by lua if this should happen as a supplement to whatever lua does
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT8 ubID, BOOLEAN aSuccess )
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT16 ubID, BOOLEAN aSuccess )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = NULL;
|
||||
if ( ubID != NOBODY )
|
||||
|
||||
@@ -194,9 +194,9 @@ void AllSoldiersLookforItems( BOOLEAN RevealRoofsAndItems );
|
||||
|
||||
void SoldierGetItemFromWorld( SOLDIERTYPE *pSoldier, INT32 iItemIndex, INT32 sGridNo, INT8 bZLevel, BOOLEAN *pfSelectionList );
|
||||
|
||||
OBJECTTYPE* AddItemToPool( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID = -1 );
|
||||
OBJECTTYPE* AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* AddItemToPool(INT32 sGridNo, OBJECTTYPE* pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID = -1);
|
||||
OBJECTTYPE* AddItemToPoolAndGetIndex( INT32 sGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex );
|
||||
OBJECTTYPE* InternalAddItemToPool( INT32 *psGridNo, OBJECTTYPE *pObject, INT8 bVisible, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT16 soldierID, INT32 * piItemIndex );
|
||||
|
||||
INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
||||
BOOLEAN GetItemPool( INT32 usMapPos, ITEM_POOL **ppItemPool, UINT8 ubLevel );
|
||||
@@ -328,7 +328,7 @@ extern ITEM_POOL *gpItemPool;//dnl ch26 210909
|
||||
|
||||
// Flugente: interactive actions
|
||||
void DoInteractiveAction( INT32 sGridNo, SOLDIERTYPE *pSoldier );
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT8 ubID, BOOLEAN aSuccess );
|
||||
void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT16 ubID, BOOLEAN aSuccess );
|
||||
BOOLEAN SpendMoney( SOLDIERTYPE *pSoldier, UINT32 aAmount ); // character spends money - either from inventory or the account
|
||||
|
||||
// Flugente: intel
|
||||
|
||||
@@ -46,7 +46,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
INT8 bDirection;
|
||||
INT32 iLoop;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT8 ubNewIndex;
|
||||
UINT16 ubNewIndex;
|
||||
|
||||
// Depeding on stance and direction facing, add guy!
|
||||
|
||||
@@ -122,7 +122,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
pPlanSoldier->ChangeSoldierState( pPlanSoldier->usUIMovementMode, 0, FALSE );
|
||||
|
||||
// Change selected soldier
|
||||
gusSelectedSoldier = (UINT16)pPlanSoldier->ubID;
|
||||
gusSelectedSoldier = pPlanSoldier->ubID;
|
||||
|
||||
// Change global planned mode to this guy!
|
||||
gpUIPlannedSoldier = pPlanSoldier;
|
||||
@@ -165,7 +165,7 @@ BOOLEAN AddUIPlan( INT32 sGridNo, UINT8 ubPlanID )
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &ubNewIndex ) )
|
||||
{
|
||||
// Get pointer to soldier
|
||||
GetSoldier( &pPlanSoldier, (UINT16)ubNewIndex );
|
||||
GetSoldier( &pPlanSoldier, ubNewIndex );
|
||||
|
||||
pPlanSoldier->sPlannedTargetX = -1;
|
||||
pPlanSoldier->sPlannedTargetY = -1;
|
||||
|
||||
+25
-24
@@ -294,7 +294,7 @@ BOOLEAN gfResetUIMovementOptimization = FALSE;
|
||||
BOOLEAN gfResetUIItemCursorOptimization = FALSE;
|
||||
BOOLEAN gfBeginVehicleCursor = FALSE;
|
||||
INT32 gsOutOfRangeGridNo = NOWHERE;
|
||||
UINT8 gubOutOfRangeMerc = NOBODY;
|
||||
UINT16 gubOutOfRangeMerc = NOBODY;
|
||||
BOOLEAN gfOKForExchangeCursor = FALSE;
|
||||
UINT32 guiUIInterfaceSwapCursorsTime = 0;
|
||||
INT32 gsJumpOverGridNo = 0;
|
||||
@@ -441,7 +441,7 @@ BOOLEAN gfUIDoNotHighlightSelMerc = FALSE;
|
||||
BOOLEAN gfUIHandleSelection = FALSE;
|
||||
BOOLEAN gfUIHandleSelectionAboveGuy = FALSE;
|
||||
BOOLEAN gfUIInDeadlock = FALSE;
|
||||
UINT8 gUIDeadlockedSoldier = NOBODY;
|
||||
UINT16 gUIDeadlockedSoldier = NOBODY;
|
||||
BOOLEAN gfUIHandleShowMoveGrid = FALSE;
|
||||
INT32 gsUIHandleShowMoveGridLocation = NOWHERE ;
|
||||
BOOLEAN gfUIOverItemPool = FALSE;
|
||||
@@ -449,7 +449,7 @@ INT32 gfUIOverItemPoolGridNo = 0;
|
||||
INT16 gsCurrentActionPoints = 1;
|
||||
BOOLEAN gfUIHandlePhysicsTrajectory = FALSE;
|
||||
BOOLEAN gfUIMouseOnValidCatcher = FALSE;
|
||||
UINT8 gubUIValidCatcherID = 0;
|
||||
UINT16 gubUIValidCatcherID = 0;
|
||||
|
||||
|
||||
|
||||
@@ -577,7 +577,7 @@ UINT32 HandleTacticalUI( void )
|
||||
gfUIInterfaceSetBusy = FALSE;
|
||||
|
||||
//UNLOCK UI
|
||||
UnSetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
UnSetUIBusy( gusSelectedSoldier );
|
||||
|
||||
// Decrease global busy counter...
|
||||
gTacticalStatus.ubAttackBusyCount = 0;
|
||||
@@ -1500,7 +1500,7 @@ UINT32 UIHandleTestHit( UI_EVENT *pUIEvent )
|
||||
|
||||
// gTacticalStatus.ubAttackBusyCount++;
|
||||
DebugAttackBusy( "Testing a hit.\n" );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, bDamage, 10, pSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, pSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, bDamage, 10, pSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, pSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
// callahan update end - put everything as it was
|
||||
}
|
||||
return( GAME_SCREEN );
|
||||
@@ -1716,7 +1716,7 @@ UINT32 UIHandleMOnTerrain( UI_EVENT *pUIEvent )
|
||||
// THIS IS JUST A CRUDE TEST FOR NOW
|
||||
if ( pSoldier->stats.bLife < OKLIFE )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
// Show reg. cursor
|
||||
// GO INTO IDLE MODE
|
||||
// guiPendingOverrideEvent = I_CHANGE_TO_IDLE;
|
||||
@@ -1725,7 +1725,7 @@ UINT32 UIHandleMOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
if ( ubID != NOBODY )
|
||||
{
|
||||
SelectSoldier( (INT16)ubID, FALSE, FALSE );
|
||||
SelectSoldier( ubID, FALSE, FALSE );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1963,13 +1963,13 @@ UINT32 UIHandleAOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
// Set
|
||||
gsOutOfRangeGridNo = MercPtrs[ gusUIFullTargetID ]->sGridNo;
|
||||
gubOutOfRangeMerc = (UINT8)gusSelectedSoldier;
|
||||
gubOutOfRangeMerc = gusSelectedSoldier;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
guiNewUICursor = GetProperItemCursor( (UINT8)gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, FALSE );
|
||||
guiNewUICursor = GetProperItemCursor( gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, FALSE );
|
||||
|
||||
// Show UI ON GUY
|
||||
UIHandleOnMerc( FALSE );
|
||||
@@ -2123,7 +2123,7 @@ UINT32 UIHandleCMoveMerc( UI_EVENT *pUIEvent )
|
||||
STRUCTURE *pStructure;
|
||||
UINT8 ubDirection = 0xff;
|
||||
BOOLEAN fAllMove;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
LEVELNODE *pIntTile;
|
||||
INT32 sIntTileGridNo;
|
||||
BOOLEAN fOldFastMove;
|
||||
@@ -2745,7 +2745,7 @@ UINT32 UIHandleCAOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
|
||||
{
|
||||
guiNewUICursor = GetProperItemCursor( (UINT8)gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, TRUE );
|
||||
guiNewUICursor = GetProperItemCursor( gusSelectedSoldier, pSoldier->inv[ HANDPOS ].usItem, usMapPos, TRUE );
|
||||
|
||||
UIHandleOnMerc( FALSE );
|
||||
}
|
||||
@@ -3465,7 +3465,7 @@ BOOLEAN SelectedMercCanAffordMove( )
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
void GetMercClimbDirection( UINT8 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp )
|
||||
void GetMercClimbDirection( UINT16 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -3839,7 +3839,7 @@ UINT32 UIHandleIETOnTerrain( UI_EVENT *pUIEvent )
|
||||
}
|
||||
|
||||
|
||||
void UIHandleSoldierStanceChange( UINT8 ubSoldierID, INT8 bNewStance )
|
||||
void UIHandleSoldierStanceChange( UINT16 ubSoldierID, INT8 bNewStance )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubSoldierID ];
|
||||
|
||||
@@ -4259,7 +4259,7 @@ INT8 DrawUIMovementPath( SOLDIERTYPE *pSoldier, INT32 usMapPos, UINT32 uiFlags )
|
||||
LEVELNODE *pIntTile;
|
||||
INT8 bReturnCode = 0;
|
||||
BOOLEAN fPlot;
|
||||
UINT8 ubMercID;
|
||||
UINT16 ubMercID;
|
||||
|
||||
if ( (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) || _KeyDown( SHIFT ) )
|
||||
{
|
||||
@@ -5588,7 +5588,7 @@ UINT32 UIHandleLCLook( UI_EVENT *pUIEvent )
|
||||
UINT32 UIHandleTOnTerrain( UI_EVENT *pUIEvent )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubTargID;
|
||||
UINT16 ubTargID;
|
||||
UINT32 uiRange;
|
||||
INT32 usMapPos;
|
||||
BOOLEAN fValidTalkableGuy = FALSE;
|
||||
@@ -5619,7 +5619,7 @@ UINT32 UIHandleTOnTerrain( UI_EVENT *pUIEvent )
|
||||
|
||||
|
||||
//CHECK FOR VALID TALKABLE GUY HERE
|
||||
fValidTalkableGuy = IsValidTalkableNPCFromMouse( &ubTargID, FALSE, TRUE , FALSE );
|
||||
fValidTalkableGuy = IsValidTalkableNPCFromMouse( &ubTargID, FALSE, TRUE, FALSE );
|
||||
|
||||
// USe cursor based on distance
|
||||
// Get distance away
|
||||
@@ -6374,20 +6374,20 @@ UINT32 UIHandleLAEndLockOurTurn( UI_EVENT *pUIEvent )
|
||||
|
||||
|
||||
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT8 *pubSoldierID , BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT16 * pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
{
|
||||
// Check if there is a guy here to talk to!
|
||||
if ( gfUIFullTargetFound )
|
||||
{
|
||||
*pubSoldierID = (UINT8)gusUIFullTargetID;
|
||||
return( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, fGive, fAllowMercs, fCheckCollapsed ) );
|
||||
*pubSoldierID = gusUIFullTargetID;
|
||||
return( IsValidTalkableNPC( gusUIFullTargetID, fGive, fAllowMercs, fCheckCollapsed ) );
|
||||
}
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsValidTalkableNPC( UINT8 ubSoldierID, BOOLEAN fGive , BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
BOOLEAN IsValidTalkableNPC( UINT16 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubSoldierID ];
|
||||
BOOLEAN fValidGuy = FALSE;
|
||||
@@ -6509,7 +6509,7 @@ BOOLEAN HandleTalkInit( )
|
||||
if ( gfUIFullTargetFound )
|
||||
{
|
||||
// Is he a valid NPC?
|
||||
if ( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, FALSE, TRUE , FALSE ) )
|
||||
if ( IsValidTalkableNPC( gusUIFullTargetID, FALSE, TRUE, FALSE ) )
|
||||
{
|
||||
GetSoldier( &pTSoldier, gusUIFullTargetID );
|
||||
|
||||
@@ -6716,7 +6716,7 @@ BOOLEAN HandleTalkInit( )
|
||||
|
||||
|
||||
|
||||
void SetUIBusy( UINT8 ubID )
|
||||
void SetUIBusy( UINT16 ubID )
|
||||
{
|
||||
if ( (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) && ( gTacticalStatus.ubCurrentTeam == gbPlayerNum ) )
|
||||
{
|
||||
@@ -6728,7 +6728,7 @@ void SetUIBusy( UINT8 ubID )
|
||||
}
|
||||
}
|
||||
|
||||
void UnSetUIBusy( UINT8 ubID )
|
||||
void UnSetUIBusy( UINT16 ubID )
|
||||
{
|
||||
if ( gfUserTurnRegionActive && (gTacticalStatus.uiFlags & INCOMBAT ) && ( gTacticalStatus.uiFlags & TURNBASED ) && ( gTacticalStatus.ubCurrentTeam == gbPlayerNum ) )
|
||||
{
|
||||
@@ -7274,7 +7274,8 @@ BOOLEAN IsValidJumpLocation( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fChec
|
||||
INT32 sFourGrids[4], sDistance=0, sSpot, sInBetween, sInBetween2, iDoorGridNo;
|
||||
static const UINT8 sDirs[4] = { NORTH, EAST, SOUTH, WEST };
|
||||
//INT32 cnt;
|
||||
UINT8 ubGuyThere, ubMovementCost, ubDirection;
|
||||
UINT16 ubGuyThere;
|
||||
UINT8 ubMovementCost, ubDirection;
|
||||
INT8 bTileHeight = 0;
|
||||
|
||||
// SANDRO: commented out to allow jumping even in cases we could get to the destination normally
|
||||
|
||||
@@ -200,10 +200,10 @@ extern BOOLEAN gfUIHandleSelectionAboveGuy;
|
||||
extern INT32 gsSelectedGridNo;
|
||||
extern INT16 gsSelectedGuy;
|
||||
extern BOOLEAN gfUIInDeadlock;
|
||||
extern UINT8 gUIDeadlockedSoldier;
|
||||
extern UINT16 gUIDeadlockedSoldier;
|
||||
|
||||
extern BOOLEAN gfUIMouseOnValidCatcher;
|
||||
extern UINT8 gubUIValidCatcherID;
|
||||
extern UINT16 gubUIValidCatcherID;
|
||||
extern BOOLEAN gUIUseReverse;
|
||||
|
||||
|
||||
@@ -320,13 +320,13 @@ void AdjustSoldierCreationStartValues( );
|
||||
|
||||
BOOLEAN SelectedMercCanAffordAttack( );
|
||||
BOOLEAN SelectedMercCanAffordMove( );
|
||||
void GetMercClimbDirection( UINT8 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp );
|
||||
void GetMercClimbDirection( UINT16 ubSoldierID, BOOLEAN *pfGoDown, BOOLEAN *pfGoUp );
|
||||
|
||||
void ToggleHandCursorMode( UINT32 *puiNewEvent );
|
||||
void ToggleTalkCursorMode( UINT32 *puiNewEvent );
|
||||
void ToggleLookCursorMode( UINT32 *puiNewEvent );
|
||||
|
||||
void UIHandleSoldierStanceChange( UINT8 ubSoldierID, INT8 bNewStance );
|
||||
void UIHandleSoldierStanceChange( UINT16 ubSoldierID, INT8 bNewStance );
|
||||
void GetCursorMovementFlags( UINT32 *puiCursorFlags );
|
||||
|
||||
BOOLEAN HandleUIMovementCursor( SOLDIERTYPE *pSoldier, UINT32 uiCursorFlags, INT32 usMapPos, UINT32 uiFlags );
|
||||
@@ -334,15 +334,15 @@ BOOLEAN UIMouseOnValidAttackLocation( SOLDIERTYPE *pSoldier );
|
||||
|
||||
BOOLEAN UIOkForItemPickup( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
||||
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT8 *pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPC( UINT8 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPCFromMouse( UINT16 * pubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
BOOLEAN IsValidTalkableNPC( UINT16 ubSoldierID, BOOLEAN fGive, BOOLEAN fAllowMercs, BOOLEAN fCheckCollapsed );
|
||||
|
||||
BOOLEAN HandleTalkInit( );
|
||||
|
||||
BOOLEAN HandleCheckForExitArrowsInput( BOOLEAN fAdjustForConfirm );
|
||||
|
||||
void SetUIBusy( UINT8 ubID );
|
||||
void UnSetUIBusy( UINT8 ubID );
|
||||
void SetUIBusy( UINT16 ubID );
|
||||
void UnSetUIBusy( UINT16 ubID );
|
||||
|
||||
UINT32 UIHandleLUIEndLock( UI_EVENT *pUIEvent );
|
||||
|
||||
|
||||
@@ -921,7 +921,7 @@ void RenderTopmostTacticalInterface( )
|
||||
}
|
||||
else
|
||||
{
|
||||
DrawSelectedUIAboveGuy((UINT16)pSoldier->ubID);
|
||||
DrawSelectedUIAboveGuy(pSoldier->ubID);
|
||||
}
|
||||
|
||||
DrawCounters( pSoldier );
|
||||
|
||||
@@ -187,7 +187,7 @@ BOOLEAN InternalInitiateConversation( SOLDIERTYPE *pDestSoldier, SOLDIERTYPE *pS
|
||||
extern void EndGameMessageBoxCallBack( UINT8 ubExitValue );
|
||||
extern INT32 FindNearestOpenableNonDoor( INT32 sStartGridNo );
|
||||
extern void RecalculateOppCntsDueToBecomingNeutral( SOLDIERTYPE * pSoldier );
|
||||
extern UINT8 NumCapableEnemyInSector( );
|
||||
extern UINT16 NumCapableEnemyInSector( );
|
||||
|
||||
#ifdef JA2UB
|
||||
//JA25 UB
|
||||
@@ -1042,7 +1042,7 @@ void TalkPanelClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
// open inv panel...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)gpSrcSoldier->ubID;
|
||||
gubNewPanelParam = gpSrcSoldier->ubID;
|
||||
|
||||
// Wait!
|
||||
gpDestSoldier->aiData.bNextAction = AI_ACTION_WAIT;
|
||||
@@ -1560,7 +1560,7 @@ void HandleNPCTriggerNPC( UINT8 ubTargetNPC, UINT8 ubTargetRecord, BOOLEAN fShow
|
||||
guiWaitingForTriggerTime = GetJA2Clock( );
|
||||
|
||||
// Setup locator!
|
||||
ShowRadioLocator( (UINT8)pSoldier->ubID, SHOW_LOCATOR_FAST );
|
||||
ShowRadioLocator( pSoldier->ubID, SHOW_LOCATOR_FAST );
|
||||
|
||||
// If he's visible, locate...
|
||||
if ( pSoldier->bVisible != -1 )
|
||||
@@ -1589,7 +1589,7 @@ void HandleNPCTrigger( )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 sPlayerGridNo;
|
||||
UINT8 ubPlayerID;
|
||||
UINT16 ubPlayerID;
|
||||
|
||||
pSoldier = FindSoldierByProfileID( gubTargetNPC, FALSE );
|
||||
if (!pSoldier)
|
||||
@@ -2481,7 +2481,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if (pSoldier)
|
||||
{
|
||||
DeleteTalkingMenu();
|
||||
pSoldier->EVENT_SoldierGotHit( 1, 100, 10, pSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
pSoldier->EVENT_SoldierGotHit( 1, 100, 10, pSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, AIM_SHOT_TORSO, 0, NOWHERE );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2826,7 +2826,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
bItemIn = FindObj( pSoldier, DEED );
|
||||
if (bItemIn != NO_SLOT)
|
||||
{
|
||||
AddItemToPool( 12541, &(pSoldier->inv[bItemIn]), -1 , 0, 0, 0 );
|
||||
AddItemToPool( 12541, &(pSoldier->inv[bItemIn]), -1, 0, 0, 0 );
|
||||
DeleteObj( &(pSoldier->inv[ bItemIn ]) );
|
||||
RemoveObjectFromSoldierProfile( ubTargetNPC, DEED );
|
||||
}
|
||||
@@ -3225,7 +3225,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if ( pSoldier )
|
||||
{
|
||||
INT32 sNearestPC;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT8 bMoneySlot;
|
||||
INT8 bEmptySlot;
|
||||
|
||||
@@ -3358,7 +3358,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if (pSoldier)
|
||||
{
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
SOLDIERTYPE *pTarget;
|
||||
|
||||
// Target a different merc....
|
||||
@@ -3478,7 +3478,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if (pSoldier)
|
||||
{
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
SOLDIERTYPE *pTarget;
|
||||
INT32 cnt;
|
||||
BOOLEAN fGoodTarget = FALSE;
|
||||
@@ -3901,7 +3901,7 @@ void HandleNPCDoAction( UINT8 ubTargetNPC, UINT16 usActionCode, UINT8 ubQuoteNum
|
||||
if ( !gfInTalkPanel )
|
||||
{
|
||||
INT32 sNearestPC;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
pSoldier = FindSoldierByProfileID( ubTargetNPC, FALSE );
|
||||
if ( pSoldier )
|
||||
@@ -4850,7 +4850,7 @@ void DialogueMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
// He tried to lie.....
|
||||
// Find the best conscious merc with a chance....
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE * pLier = NULL;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
|
||||
@@ -238,7 +238,7 @@ extern MOUSE_REGION gMPanelRegion;
|
||||
extern BOOLEAN fMapInventoryItem;
|
||||
extern BOOLEAN gfAddingMoneyToMercFromPlayersAccount;
|
||||
extern SOLDIERTYPE *gpSMCurrentMerc;
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern MOUSE_REGION gSM_SELMERCMoneyRegion;
|
||||
extern UINT32 guiMapInvSecondHandBlockout;
|
||||
|
||||
@@ -8829,7 +8829,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
INT32 usMapPos;
|
||||
UINT16 usIndex;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
INT16 sAPCost;
|
||||
BOOLEAN fRecalc;
|
||||
UINT32 uiCursorFlags;
|
||||
@@ -8935,7 +8935,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
// OK, on a valid pass
|
||||
gfUIMouseOnValidCatcher = 4;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -8944,7 +8944,7 @@ void DrawItemTileCursor( )
|
||||
{
|
||||
// OK, set global that this buddy can see catch...
|
||||
gfUIMouseOnValidCatcher = TRUE;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8978,7 +8978,7 @@ void DrawItemTileCursor( )
|
||||
|
||||
// OK, set global that this buddy can see catch...
|
||||
gfUIMouseOnValidCatcher = 2;
|
||||
gubUIValidCatcherID = (UINT8)gusUIFullTargetID;
|
||||
gubUIValidCatcherID = gusUIFullTargetID;
|
||||
|
||||
// If this is a robot, change to say 'reload'
|
||||
if ( MercPtrs[ gusUIFullTargetID ]->flags.uiStatusFlags & SOLDIER_ROBOT )
|
||||
@@ -9175,7 +9175,7 @@ BOOLEAN HandleItemPointerClick( INT32 usMapPos )
|
||||
|
||||
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT16 usItem;
|
||||
INT16 sAPCost;
|
||||
SOLDIERTYPE *pSoldier=NULL;
|
||||
@@ -9411,7 +9411,7 @@ BOOLEAN HandleItemPointerClick( INT32 usMapPos )
|
||||
case ANIM_CROUCH:
|
||||
case ANIM_PRONE:
|
||||
|
||||
AddItemToPool( usMapPos, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( usMapPos, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
break;
|
||||
}
|
||||
@@ -10960,7 +10960,7 @@ BOOLEAN InitializeItemPickupMenu( SOLDIERTYPE *pSoldier, INT32 sGridNo, ITEM_POO
|
||||
// Change to INV panel if not there already...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)pSoldier->ubID;
|
||||
gubNewPanelParam = pSoldier->ubID;
|
||||
|
||||
//Determine total #
|
||||
cnt = 0;
|
||||
@@ -12761,7 +12761,7 @@ void CancelItemPointer( )
|
||||
if ( !AutoPlaceObject( gpItemPointerSoldier, gpItemPointer, FALSE ) )
|
||||
{
|
||||
// Alright, place of the friggen ground!
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
}
|
||||
}
|
||||
@@ -12769,7 +12769,7 @@ void CancelItemPointer( )
|
||||
else
|
||||
{
|
||||
// We drop it here.....
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0 , -1 );
|
||||
AddItemToPool( gpItemPointerSoldier->sGridNo, gpItemPointer, 1, gpItemPointerSoldier->pathing.bLevel, 0, -1 );
|
||||
NotifySoldiersToLookforItems( );
|
||||
}
|
||||
EndItemPointer( );
|
||||
@@ -12920,7 +12920,7 @@ BOOLEAN InitializeStealItemPickupMenu( SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOppo
|
||||
// Change to INV panel if not there already...
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)pSoldier->ubID;
|
||||
gubNewPanelParam = pSoldier->ubID;
|
||||
|
||||
gItemPickupMenu.ubTotalItems = ubCount;
|
||||
|
||||
|
||||
@@ -166,11 +166,12 @@ public:
|
||||
BOOLEAN Save(HWFILE hFile);
|
||||
BOOLEAN Load(HWFILE hFile);
|
||||
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
UINT8 ubInvSlot;
|
||||
BOOLEAN fCursorActive;
|
||||
OBJECTTYPE ItemPointerInfo;
|
||||
};
|
||||
#define SIZEOF_ITEM_CURSOR_SAVE_INFO_POD offsetof( ITEM_CURSOR_SAVE_INFO, ItemPointerInfo )
|
||||
|
||||
// HEADROCK HAM 5: Enums for big-item display attachment asterisks.
|
||||
enum
|
||||
|
||||
@@ -394,7 +394,7 @@ INT32 giSMZipperButton = -1;
|
||||
|
||||
BOOLEAN gfSwitchPanel = FALSE;
|
||||
UINT8 gbNewPanel = SM_PANEL;
|
||||
UINT8 gubNewPanelParam = 0;
|
||||
UINT16 gubNewPanelParam = 0;
|
||||
|
||||
BOOLEAN gfUIStanceDifferent = FALSE;
|
||||
BOOLEAN gfAllDisabled = FALSE;
|
||||
@@ -405,7 +405,7 @@ BOOLEAN gfAddingMoneyToMercFromPlayersAccount = FALSE;
|
||||
BOOLEAN gfCheckForMouseOverItem = FALSE;
|
||||
UINT32 guiMouseOverItemTime = 0;
|
||||
INT8 gbCheckForMouseOverItemPos = 0;
|
||||
UINT8 gubSelectSMPanelToMerc = NOBODY;
|
||||
UINT16 gubSelectSMPanelToMerc = NOBODY;
|
||||
BOOLEAN gfReEvaluateDisabledINVPanelButtons = FALSE;
|
||||
|
||||
UINT32 guiBrownBackgroundForTeamPanel;
|
||||
@@ -573,7 +573,7 @@ void UpdateSelectedSoldier( UINT16 usSoldierID, BOOLEAN fSelect );
|
||||
|
||||
void CheckForFacePanelStartAnims( SOLDIERTYPE *pSoldier, INT16 sPanelX, INT16 sPanelY );
|
||||
void HandleSoldierFaceFlash( SOLDIERTYPE *pSoldier, INT16 sFaceX, INT16 sFaceY );
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID );
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID );
|
||||
void UpdateStatColor( UINT32 uiTimer, BOOLEAN fIncrease, BOOLEAN fDamaged, BOOLEAN fAugmented ); // SANDRO - added argument // Flugente - me too
|
||||
|
||||
extern void UpdateItemHatches();
|
||||
@@ -597,7 +597,7 @@ void CheckForDisabledForGiveItem( )
|
||||
INT8 bDestLevel;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubSrcSoldier;
|
||||
UINT16 ubSrcSoldier;
|
||||
|
||||
// CHRISL: If Merc hasn't been set, default to first merc
|
||||
if(gpSMCurrentMerc==NULL)
|
||||
@@ -638,7 +638,7 @@ void CheckForDisabledForGiveItem( )
|
||||
}
|
||||
else
|
||||
{
|
||||
ubSrcSoldier = (UINT8)gusSelectedSoldier;
|
||||
ubSrcSoldier = gusSelectedSoldier;
|
||||
|
||||
if ( gpItemPointer != NULL )
|
||||
{
|
||||
@@ -690,7 +690,7 @@ void CheckForDisabledForGiveItem( )
|
||||
}
|
||||
}
|
||||
|
||||
void SetSMPanelCurrentMerc( UINT8 ubNewID )
|
||||
void SetSMPanelCurrentMerc( UINT16 ubNewID )
|
||||
{
|
||||
gubSelectSMPanelToMerc = NOBODY;
|
||||
|
||||
@@ -3729,7 +3729,7 @@ void SMInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
else // item in cursor
|
||||
{
|
||||
UINT8 ubSrcID, ubDestID;
|
||||
UINT16 ubSrcID, ubDestID;
|
||||
BOOLEAN fOKToGo = FALSE;
|
||||
BOOLEAN fDeductPoints = FALSE;
|
||||
|
||||
@@ -4217,7 +4217,7 @@ BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus)
|
||||
}
|
||||
}
|
||||
MoveItemToLBEItem( pSoldier, BPACKPOCKPOS );
|
||||
AddItemToPoolAndGetIndex(pSoldier->sGridNo, &pSoldier->inv[BPACKPOCKPOS], 1, pSoldier->pathing.bLevel, 0 , -1, pSoldier->ubID, &worldKey );
|
||||
AddItemToPoolAndGetIndex(pSoldier->sGridNo, &pSoldier->inv[BPACKPOCKPOS], 1, pSoldier->pathing.bLevel, 0, -1, pSoldier->ubID, &worldKey );
|
||||
// Item successfully added to world
|
||||
if(worldKey != ITEM_NOT_FOUND)
|
||||
{
|
||||
@@ -4829,7 +4829,7 @@ void BtnPrevMercCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
|
||||
sID = FindPrevActiveAndAliveMerc( gpSMCurrentMerc, TRUE, TRUE );
|
||||
|
||||
gubSelectSMPanelToMerc = (UINT8)sID;
|
||||
gubSelectSMPanelToMerc = (UINT16)sID;
|
||||
|
||||
if ( !gfInItemPickupMenu )
|
||||
{
|
||||
@@ -4878,7 +4878,7 @@ void BtnNextMercCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
sID = FindNextActiveAndAliveMerc( gpSMCurrentMerc, TRUE, TRUE );
|
||||
|
||||
// Give him the panel!
|
||||
gubSelectSMPanelToMerc = (UINT8)sID;
|
||||
gubSelectSMPanelToMerc = (UINT16)sID;
|
||||
|
||||
if ( !gfInItemPickupMenu )
|
||||
{
|
||||
@@ -5893,7 +5893,7 @@ void BtnSquadCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
|
||||
}
|
||||
|
||||
void SetTEAMPanelCurrentMerc( UINT8 ubNewID )
|
||||
void SetTEAMPanelCurrentMerc( UINT16 ubNewID )
|
||||
{
|
||||
// Ignore ther ID given!
|
||||
// ALWYAS USE CURRENT MERC!
|
||||
@@ -6026,10 +6026,10 @@ void HandleMouseOverTeamFaceForContMove( BOOLEAN fOn )
|
||||
|
||||
void MercFacePanelMoveCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6072,9 +6072,9 @@ void MercFacePanelMoveCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void EnemyIndicatorClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
{
|
||||
@@ -6127,9 +6127,9 @@ void EnemyIndicatorClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6248,7 +6248,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
gfSwitchPanel = TRUE;
|
||||
gbNewPanel = SM_PANEL;
|
||||
gubNewPanelParam = (UINT8)ubSoldierID;
|
||||
gubNewPanelParam = ubSoldierID;
|
||||
// silversurfer: This needs to be reset to TRUE because inventory view only allows radar screen to be displayed and not the squad list.
|
||||
fRenderRadarScreen = TRUE;
|
||||
}
|
||||
@@ -6259,7 +6259,7 @@ void MercFacePanelCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
extern void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fForceReselect, BOOLEAN fFromUI );
|
||||
|
||||
void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag )
|
||||
void HandleLocateSelectMerc( UINT16 ubID, INT8 bFlag )
|
||||
{
|
||||
BOOLEAN fSelect = FALSE;
|
||||
|
||||
@@ -6386,7 +6386,7 @@ void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag )
|
||||
|
||||
|
||||
|
||||
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed )
|
||||
void ShowRadioLocator( UINT16 ubID, UINT8 ubLocatorSpeed )
|
||||
{
|
||||
RESETTIMECOUNTER( MercPtrs[ ubID ]->timeCounters.FlashSelCounter, FLASH_SELECTOR_DELAY );
|
||||
|
||||
@@ -6413,7 +6413,7 @@ void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed )
|
||||
}
|
||||
}
|
||||
|
||||
void EndRadioLocator( UINT8 ubID )
|
||||
void EndRadioLocator( UINT16 ubID )
|
||||
{
|
||||
MercPtrs[ ubID ]->flags.fFlashLocator = FALSE;
|
||||
MercPtrs[ ubID ]->flags.fShowLocator = FALSE;
|
||||
@@ -6681,9 +6681,9 @@ void RenderSoldierTeamInv( SOLDIERTYPE *pSoldier, INT16 sX, INT16 sY, UINT8 ubPa
|
||||
|
||||
void TMFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
// If our flags are set to do this, gofoit!
|
||||
if ( (guiTacticalInterfaceFlags & INTERFACE_MAPSCREEN ) )
|
||||
@@ -6731,10 +6731,10 @@ void TMFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void TMClickFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
UINT16 usOldHandItem;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
@@ -6777,10 +6777,10 @@ void TMClickFirstHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
|
||||
void TMClickSecondHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
UINT8 ubID, ubSoldierID;
|
||||
UINT16 ubID, ubSoldierID;
|
||||
UINT16 usOldHandItem;
|
||||
|
||||
ubID = (UINT8) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
ubID = (UINT16) MSYS_GetRegionUserData( pRegion, 0 );
|
||||
|
||||
if ( ubID == NOBODY )
|
||||
return;
|
||||
@@ -6822,7 +6822,7 @@ void TMClickSecondHandInvCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID )
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6841,7 +6841,7 @@ BOOLEAN PlayerExistsInSlot( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
INT8 GetTeamSlotFromPlayerID( UINT8 ubID )
|
||||
INT8 GetTeamSlotFromPlayerID( UINT16 ubID )
|
||||
{
|
||||
INT8 cnt;
|
||||
|
||||
@@ -6860,7 +6860,7 @@ INT8 GetTeamSlotFromPlayerID( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID )
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT16 ubMercID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6880,7 +6880,7 @@ BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID )
|
||||
}
|
||||
|
||||
|
||||
void AddPlayerToInterfaceTeamSlot( UINT8 ubID )
|
||||
void AddPlayerToInterfaceTeamSlot( UINT16 ubID )
|
||||
{
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6964,7 +6964,7 @@ BOOLEAN InitTEAMSlots( )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT8 *pubID )
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT16 * pubID )
|
||||
{
|
||||
if ( ubPanelSlot >= gGameOptions.ubSquadSize )
|
||||
{
|
||||
@@ -7141,7 +7141,7 @@ void CleanUpStack( OBJECTTYPE * pObj, OBJECTTYPE * pCursorObj )
|
||||
}
|
||||
}
|
||||
|
||||
UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
INT32 cnt;
|
||||
INT32 bFirstID;
|
||||
@@ -7174,14 +7174,14 @@ UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7234,14 +7234,14 @@ UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
return( gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7462,7 +7462,7 @@ void KeyRingSlotInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 ubSrcID, ubDestID;
|
||||
UINT16 ubSrcID, ubDestID;
|
||||
BOOLEAN fOKToGo = FALSE;
|
||||
BOOLEAN fDeductPoints = FALSE;
|
||||
|
||||
@@ -7473,7 +7473,7 @@ void KeyRingSlotInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
// ATE: OK, get source, dest guy if different... check for and then charge appropriate APs
|
||||
ubSrcID = ( UINT8 )gCharactersList[ bSelectedInfoChar ].usSolID;
|
||||
ubSrcID = gCharactersList[ bSelectedInfoChar ].usSolID;
|
||||
if ( gpItemPointerSoldier )
|
||||
{
|
||||
ubDestID = gpItemPointerSoldier->ubID;
|
||||
|
||||
+10
-10
@@ -77,18 +77,18 @@ void UpdateTEAMPanel( );
|
||||
*/
|
||||
BOOLEAN InitializeTEAMPanelCoords( );
|
||||
|
||||
void SetSMPanelCurrentMerc( UINT8 ubNewID );
|
||||
void SetTEAMPanelCurrentMerc( UINT8 ubNewID );
|
||||
void SetSMPanelCurrentMerc( UINT16 ubNewID );
|
||||
void SetTEAMPanelCurrentMerc( UINT16 ubNewID );
|
||||
UINT16 GetSMPanelCurrentMerc( );
|
||||
void UpdateSMPanel( );
|
||||
|
||||
BOOLEAN InitTEAMSlots( );
|
||||
void AddPlayerToInterfaceTeamSlot( UINT8 ubID );
|
||||
void AddPlayerToInterfaceTeamSlot( UINT16 ubID );
|
||||
BOOLEAN RemovePlayerFromInterfaceTeamSlot( UINT8 ubID );
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT8 *pubID );
|
||||
BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT16 * pubID );
|
||||
void RemoveAllPlayersFromSlot( );
|
||||
BOOLEAN PlayerExistsInSlot( UINT8 ubID );
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID );
|
||||
BOOLEAN PlayerExistsInSlot( UINT16 ubID );
|
||||
BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT16 ubMercID );
|
||||
void CheckForAndAddMercToTeamPanel( SOLDIERTYPE *pSoldier );
|
||||
void CleanUpStack( OBJECTTYPE * pObj, OBJECTTYPE * pCursorObj );
|
||||
|
||||
@@ -107,8 +107,8 @@ extern INT8 gbNewItem[ NUM_INV_SLOTS ];
|
||||
extern INT8 gbNewItemCycle[ NUM_INV_SLOTS ];
|
||||
extern UINT8 gubNewItemMerc;
|
||||
|
||||
void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
|
||||
void EndRadioLocator( UINT8 ubID );
|
||||
void ShowRadioLocator( UINT16 ubID, UINT8 ubLocatorSpeed );
|
||||
void EndRadioLocator( UINT16 ubID );
|
||||
|
||||
|
||||
extern MOUSE_REGION gSMPanelRegion;
|
||||
@@ -118,7 +118,7 @@ extern BOOLEAN gfDisableTacticalPanelButtons;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
BOOLEAN fOccupied;
|
||||
|
||||
} TEAM_PANEL_SLOTS_TYPE;
|
||||
@@ -149,7 +149,7 @@ void GoToMapScreenFromTactical( void );
|
||||
|
||||
void FinishAnySkullPanelAnimations( );
|
||||
|
||||
UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
|
||||
// CHRISL: New callback functions for backpack buttons
|
||||
BOOLEAN ChangeDropPackStatus(SOLDIERTYPE *pSoldier, BOOLEAN newStatus);
|
||||
|
||||
@@ -498,7 +498,7 @@ void RenderSoldierFace( SOLDIERTYPE *pSoldier, INT16 sFaceX, INT16 sFaceY, BOOLE
|
||||
}
|
||||
else
|
||||
{
|
||||
SetAutoFaceActiveFromSoldier( FRAME_BUFFER, guiSAVEBUFFER, pSoldier->ubID , sFaceX, sFaceY );
|
||||
SetAutoFaceActiveFromSoldier( FRAME_BUFFER, guiSAVEBUFFER, pSoldier->ubID, sFaceX, sFaceY );
|
||||
// SetAutoFaceActiveFromSoldier( FRAME_BUFFER, FACE_AUTO_RESTORE_BUFFER, pSoldier->ubID , sFaceX, sFaceY );
|
||||
}
|
||||
}
|
||||
|
||||
+17
-17
@@ -126,8 +126,8 @@ extern BOOLEAN gfCannotGetThrough; // will use it when showing red laser dot
|
||||
extern void SoldierTooltip(SOLDIERTYPE*);
|
||||
|
||||
BOOLEAN gfProgBarActive = FALSE;
|
||||
UINT8 gubProgNumEnemies = 0;
|
||||
UINT8 gubProgCurEnemy = 0;
|
||||
UINT16 gubProgNumEnemies = 0;
|
||||
UINT16 gubProgCurEnemy = 0;
|
||||
|
||||
|
||||
UINT32 guiPORTRAITICONS;
|
||||
@@ -192,7 +192,7 @@ BOOLEAN gfPanelAllocated = FALSE;
|
||||
extern MOUSE_REGION gDisableRegion;
|
||||
extern MOUSE_REGION gUserTurnRegion;
|
||||
extern BOOLEAN gfUserTurnRegionActive;
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern BOOLEAN gfIgnoreOnSelectedGuy;
|
||||
|
||||
enum
|
||||
@@ -670,7 +670,7 @@ void ShutdownCurrentPanel( )
|
||||
|
||||
|
||||
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID )
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT16 ubID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -696,7 +696,7 @@ void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID )
|
||||
break;
|
||||
|
||||
case TEAM_PANEL:
|
||||
SetTEAMPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetTEAMPanelCurrentMerc( gusSelectedSoldier );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -734,7 +734,7 @@ void SetCurrentInterfacePanel( UINT8 ubNewPanel )
|
||||
void ToggleTacticalPanels( )
|
||||
{
|
||||
gfSwitchPanel = TRUE;
|
||||
gubNewPanelParam = (UINT8)gusSelectedSoldier;
|
||||
gubNewPanelParam = gusSelectedSoldier;
|
||||
|
||||
if ( gsCurInterfacePanel == SM_PANEL )
|
||||
{
|
||||
@@ -764,7 +764,7 @@ void RemoveCurrentTacticalPanelButtons( )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsMercPortraitVisible( UINT8 ubSoldierID )
|
||||
BOOLEAN IsMercPortraitVisible( UINT16 ubSoldierID )
|
||||
{
|
||||
if ( gsCurInterfacePanel == TEAM_PANEL )
|
||||
{
|
||||
@@ -4244,7 +4244,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToOpenDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_OPEN_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
if ( gOpenDoorMenu.fClosingDoor )
|
||||
{
|
||||
@@ -4269,7 +4269,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_BOOT_DOOR], APBPConstants[BP_BOOT_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_FORCE );
|
||||
}
|
||||
@@ -4286,7 +4286,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_UNLOCK_DOOR], APBPConstants[BP_UNLOCK_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_UNLOCK );
|
||||
}
|
||||
@@ -4303,7 +4303,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToPicklock( gOpenDoorMenu.pSoldier ), APBPConstants[BP_PICKLOCK], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_LOCKPICK );
|
||||
}
|
||||
@@ -4320,7 +4320,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_EXAMINE_DOOR], APBPConstants[BP_EXAMINE_DOOR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_EXAMINE );
|
||||
}
|
||||
@@ -4361,7 +4361,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToBombDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_EXPLODE_DOOR], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_EXPLODE );
|
||||
}
|
||||
@@ -4379,7 +4379,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, GetAPsToUntrapDoor( gOpenDoorMenu.pSoldier ), APBPConstants[BP_UNTRAP_DOOR], FALSE ) ) // SANDRO
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_UNTRAP );
|
||||
}
|
||||
@@ -4420,7 +4420,7 @@ void BtnDoorMenuCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
if ( EnoughPoints( gOpenDoorMenu.pSoldier, APBPConstants[AP_USE_CROWBAR], APBPConstants[BP_USE_CROWBAR], FALSE ) )
|
||||
{
|
||||
// Set UI
|
||||
SetUIBusy( (UINT8)gOpenDoorMenu.pSoldier->ubID );
|
||||
SetUIBusy( gOpenDoorMenu.pSoldier->ubID );
|
||||
|
||||
InteractWithClosedDoor( gOpenDoorMenu.pSoldier, HANDLE_DOOR_CROWBAR );
|
||||
}
|
||||
@@ -5178,7 +5178,7 @@ void PauseRT( BOOLEAN fPause )
|
||||
}
|
||||
|
||||
|
||||
void InitEnemyUIBar( UINT8 ubNumEnemies, UINT8 ubDoneEnemies )
|
||||
void InitEnemyUIBar( UINT16 ubNumEnemies, UINT16 ubDoneEnemies )
|
||||
{
|
||||
// OK, set value
|
||||
gubProgNumEnemies = ubNumEnemies + ubDoneEnemies;
|
||||
@@ -5218,7 +5218,7 @@ void InitPlayerUIBar( BOOLEAN fInterrupt )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
INT8 bNumOK = 0, bNumNotOK = 0;
|
||||
INT16 bNumOK = 0, bNumNotOK = 0;
|
||||
|
||||
if ( !gGameOptions.fTurnTimeLimit )
|
||||
{
|
||||
|
||||
@@ -366,7 +366,7 @@ enum
|
||||
extern BOOLEAN gfSwitchPanel;
|
||||
extern BOOLEAN gfUIStanceDifferent;
|
||||
extern UINT8 gbNewPanel;
|
||||
extern UINT8 gubNewPanelParam;
|
||||
extern UINT16 gubNewPanelParam;
|
||||
extern INT16 gsCurInterfacePanel;
|
||||
|
||||
extern UINT32 guiRENDERBUFFER;
|
||||
@@ -458,9 +458,9 @@ BOOLEAN DrawCTHIndicator();
|
||||
|
||||
void CreateCurrentTacticalPanelButtons( );
|
||||
void RemoveCurrentTacticalPanelButtons( );
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT8 ubID );
|
||||
void SetCurrentTacticalPanelCurrentMerc( UINT16 ubID );
|
||||
void SetCurrentInterfacePanel( UINT8 ubNewPanel );
|
||||
BOOLEAN IsMercPortraitVisible( UINT8 ubSoldierID );
|
||||
BOOLEAN IsMercPortraitVisible( UINT16 ubSoldierID );
|
||||
|
||||
BOOLEAN InitializeCurrentPanel( );
|
||||
void ShutdownCurrentPanel( );
|
||||
@@ -475,7 +475,7 @@ void HandleUpDownArrowBackgrounds( );
|
||||
|
||||
void EndDeadlockMsg( );
|
||||
|
||||
void HandleLocateSelectMerc( UINT8 ubID, INT8 bFlag );
|
||||
void HandleLocateSelectMerc( UINT16 ubID, INT8 bFlag );
|
||||
|
||||
void DirtyMercPanelInterface( SOLDIERTYPE *pSoldier, UINT8 ubDirtyLevel );
|
||||
|
||||
@@ -515,7 +515,7 @@ void EndTopMessage( );
|
||||
|
||||
void PauseRT( BOOLEAN fPause );
|
||||
|
||||
void InitEnemyUIBar( UINT8 ubNumEnemies, UINT8 ubDoneEnemies );
|
||||
void InitEnemyUIBar( UINT16 ubNumEnemies, UINT16 ubDoneEnemies );
|
||||
|
||||
STR16 GetSoldierHealthString( SOLDIERTYPE *pSoldier );
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ bool IsSlotASmallPocket(int slot)
|
||||
return false;
|
||||
}
|
||||
|
||||
void CreateLBE (OBJECTTYPE* pObj, UINT8 ubID, int numSubPockets)
|
||||
void CreateLBE (OBJECTTYPE* pObj, UINT16 ubID, int numSubPockets)
|
||||
{
|
||||
int uniqueID;
|
||||
LBENODE* pLBE = NULL;
|
||||
|
||||
@@ -259,7 +259,7 @@ public:
|
||||
#define SIZEOF_LBENODE_POD (offsetof(LBENODE, endOfPOD))
|
||||
bool checkLBEArrayIntegrity(bool verbose=false); // BOB: checks all worldItems for missing LBE info
|
||||
|
||||
void CreateLBE(OBJECTTYPE* pObj, UINT8 ubID, int numSubPockets);
|
||||
void CreateLBE(OBJECTTYPE* pObj, UINT16 ubID, int numSubPockets);
|
||||
bool DestroyLBEIfEmpty(OBJECTTYPE* pObj, int stackIndex = 0);
|
||||
void DestroyLBE(OBJECTTYPE* pObj, int stackIndex = 0);
|
||||
void GetLBESlots(UINT32 LBEType, std::vector<INT8>& LBESlots);
|
||||
@@ -415,7 +415,7 @@ namespace ObjectDataStructs {
|
||||
INT8 bDelay; // >=0 values used only
|
||||
INT8 bFrequency; // >=0 values used only
|
||||
};
|
||||
UINT8 ubBombOwner; // side which placed the bomb
|
||||
UINT16 ubBombOwner; // side which placed the bomb
|
||||
UINT8 bActionValue; // this is used by the ACTION_ITEM fake item
|
||||
union
|
||||
{
|
||||
|
||||
+5
-5
@@ -9397,7 +9397,7 @@ void CheckEquipmentForFragileItemDamage( SOLDIERTYPE *pSoldier, INT32 iDamage )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT8 ubOwner )
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT16 ubOwner )
|
||||
{
|
||||
#ifdef JA2BETAVERSION
|
||||
CHAR tmpMPDbgString[512];
|
||||
@@ -15411,10 +15411,10 @@ BOOLEAN ObjectIsExternalFeeder(SOLDIERTYPE* pSoldier, OBJECTTYPE * pObject)
|
||||
if ( !pSoldier || !pObject)
|
||||
return( FALSE );
|
||||
|
||||
UINT8 usSoldierFeedingTarget1 = 0;
|
||||
UINT16 usSoldierFeedingTarget1 = 0;
|
||||
UINT16 usGunSlot1 = 0;
|
||||
UINT16 usAmmoSlot1 = 0;
|
||||
UINT8 usSoldierFeedingTarget2 = 0;
|
||||
UINT16 usSoldierFeedingTarget2 = 0;
|
||||
UINT16 usGunSlot2 = 0;
|
||||
UINT16 usAmmoSlot2 = 0;
|
||||
if ( pSoldier->IsFeedingExternal(&usSoldierFeedingTarget1, &usGunSlot1, &usAmmoSlot1, &usSoldierFeedingTarget2, &usGunSlot2, &usAmmoSlot2) )
|
||||
@@ -15469,10 +15469,10 @@ OBJECTTYPE* GetExternalFeedingObject(SOLDIERTYPE* pSoldier, OBJECTTYPE * pObject
|
||||
continue;
|
||||
|
||||
// we check if that guy is feeding someone, and that someone is really us
|
||||
UINT8 usTeamSoldierFeedingTarget1 = 0;
|
||||
UINT16 usTeamSoldierFeedingTarget1 = 0;
|
||||
UINT16 usGunSlot1 = 0;
|
||||
UINT16 usAmmoSlot1 = 0;
|
||||
UINT8 usTeamSoldierFeedingTarget2 = 0;
|
||||
UINT16 usTeamSoldierFeedingTarget2 = 0;
|
||||
UINT16 usGunSlot2 = 0;
|
||||
UINT16 usAmmoSlot2 = 0;
|
||||
if ( pTeamSoldier->IsFeedingExternal(&usTeamSoldierFeedingTarget1, &usGunSlot1, &usAmmoSlot1, &usTeamSoldierFeedingTarget2, &usGunSlot2, &usAmmoSlot2) )
|
||||
|
||||
+1
-1
@@ -227,7 +227,7 @@ UINT16 StandardGunListReplacement( UINT16 usGun );
|
||||
UINT16 FindReplacementMagazine( UINT8 ubCalibre, UINT16 ubMagSize, UINT8 ubAmmoType);
|
||||
UINT16 FindReplacementMagazineIfNecessary( UINT16 usOldGun, UINT16 usOldAmmo, UINT16 usNewGun );
|
||||
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT8 ubOwner );
|
||||
BOOLEAN DamageItemOnGround( OBJECTTYPE * pObject, INT32 sGridNo, INT8 bLevel, INT32 iDamage, UINT16 ubOwner );
|
||||
|
||||
BOOLEAN CompatibleFaceItem( UINT16 usItem1, UINT16 usItem2 );
|
||||
|
||||
|
||||
+6
-6
@@ -2433,7 +2433,7 @@ INT32 SoldierTo3DLocationLineOfSightTest( SOLDIERTYPE * pStartSoldier, INT32 sGr
|
||||
{
|
||||
FLOAT dStartZPos, dEndZPos;
|
||||
INT16 sXPos, sYPos;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
BOOLEAN fOk;
|
||||
|
||||
CHECKF( pStartSoldier );
|
||||
@@ -4385,7 +4385,7 @@ UINT8 SoldierToSoldierBodyPartChanceToGetThrough( SOLDIERTYPE * pStartSoldier, S
|
||||
return( ChanceToGetThrough( pStartSoldier, (FLOAT) CenterX( pEndSoldier->sGridNo ), (FLOAT) CenterY( pEndSoldier->sGridNo ), dEndZPos ) );
|
||||
}
|
||||
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT8 ubTargetID )
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT16 ubTargetID )
|
||||
{
|
||||
FLOAT dEndZPos;
|
||||
INT16 sXPos;
|
||||
@@ -4637,7 +4637,7 @@ void CalculateFiringIncrementsSimple( DOUBLE ddHorizAngle, DOUBLE ddVerticAngle,
|
||||
pBullet->qIncrZ = FloatToFixed( (FLOAT) ( sin( ddVerticAngle ) / sin( (PI/2) - ddVerticAngle ) * HEIGHTUNITS_PER_CELL ) );//dnl ch60 010913
|
||||
}
|
||||
|
||||
INT8 FireBullet( UINT8 ubFirer, BULLET * pBullet, BOOLEAN fFake )
|
||||
INT8 FireBullet( UINT16 ubFirer, BULLET * pBullet, BOOLEAN fFake )
|
||||
{
|
||||
//DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("FireBullet"));
|
||||
|
||||
@@ -5782,7 +5782,7 @@ INT8 FireBulletGivenTarget( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOA
|
||||
// Note that this function does not make provisions for Fake Firing. There is no need for it, and it would needlessly
|
||||
// complicate things anyway.
|
||||
// Also note we receive start coordinates from the bomb itself, because there's nowhere else to get them.
|
||||
INT8 FireFragmentGivenTarget( UINT8 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem )
|
||||
INT8 FireFragmentGivenTarget( UINT16 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem )
|
||||
{
|
||||
// Artificial...
|
||||
dStartZ++;
|
||||
@@ -7023,7 +7023,7 @@ void MoveBullet( INT32 iBullet )
|
||||
FIXEDPT qLastZ;
|
||||
|
||||
SOLDIERTYPE * pTarget;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
BOOLEAN fIntended;
|
||||
BOOLEAN fStopped;
|
||||
INT8 bOldLOSIndexX;
|
||||
@@ -9930,7 +9930,7 @@ UINT32 CalcCounterForceAccuracy(SOLDIERTYPE *pShooter, OBJECTTYPE *pWeapon, UINT
|
||||
// If we can't see the target, but buddies can see it, CF-Accuracy drops by 50%
|
||||
// If we can't see the target and neither can buddies, CF-Accuracy drops by 75%
|
||||
|
||||
UINT8 ubTargetID = WhoIsThere2( pShooter->sTargetGridNo, pShooter->bTargetLevel ); // Target ubID
|
||||
UINT16 ubTargetID = WhoIsThere2( pShooter->sTargetGridNo, pShooter->bTargetLevel ); // Target ubID
|
||||
INT16 sDistVis = pShooter->GetMaxDistanceVisible(pShooter->sTargetGridNo, pShooter->bTargetLevel, CALC_FROM_ALL_DIRS ) * CELL_X_SIZE;
|
||||
gbForceWeaponNotReady = true;
|
||||
INT16 sDistVisNoScope = pShooter->GetMaxDistanceVisible(pShooter->sTargetGridNo, pShooter->bTargetLevel, CALC_FROM_ALL_DIRS ) * CELL_X_SIZE;
|
||||
|
||||
+2
-2
@@ -69,7 +69,7 @@ INT8 FireBulletGivenTarget( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOA
|
||||
// HEADROCK HAM 4: Changed the name of one argument to avoid confusion with the new CTH system.
|
||||
INT8 FireBulletGivenTargetNCTH( SOLDIERTYPE * pFirer, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usHandItem, INT16 sApertureRatio, BOOLEAN fBuckshot, BOOLEAN fFake );
|
||||
// HEADROCK HAM 5: Function for fragments ejected from an explosion.
|
||||
INT8 FireFragmentGivenTarget( UINT8 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem );
|
||||
INT8 FireFragmentGivenTarget( UINT16 ubOwner, FLOAT dStartX, FLOAT dStartY, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, UINT16 usExplosiveItem );
|
||||
|
||||
// Flugente: fire a shot from a gun that has no user (used for traps with attached guns)
|
||||
INT8 FireBulletGivenTargetTrapOnly( SOLDIERTYPE* pThrower, OBJECTTYPE* pObj, INT32 gridno, FLOAT dStartZ, FLOAT dEndX, FLOAT dEndY, FLOAT dEndZ, INT16 sHitBy);
|
||||
@@ -152,7 +152,7 @@ UINT8 SoldierToSoldierChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTY
|
||||
UINT8 SoldierToSoldierBodyPartChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier, UINT8 ubAimLocation );
|
||||
UINT8 AISoldierToSoldierChanceToGetThrough( SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier );
|
||||
UINT8 AISoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel );
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT8 ubTargetID );
|
||||
UINT8 SoldierToLocationChanceToGetThrough( SOLDIERTYPE * pStartSoldier, INT32 sGridNo, INT8 bLevel, INT8 bCubeLevel, UINT16 ubTargetID );
|
||||
INT32 SoldierToLocationWindowTest( SOLDIERTYPE * pStartSoldier, INT32 sEndGridNo );
|
||||
// sevenfm: AI LOS functions
|
||||
INT32 LOS_Raised(SOLDIERTYPE * pStartSoldier, SOLDIERTYPE * pEndSoldier, int iTileSightLimit = CALC_FROM_ALL_DIRS, UINT8 ubAimLocation = LOS_POS);
|
||||
|
||||
@@ -359,7 +359,7 @@ UINT8 ubHeliScripts[ NUM_HELI_STATES ][ MAX_HELI_SCRIPT ] =
|
||||
|
||||
|
||||
BOOLEAN gfHandleHeli = FALSE;
|
||||
UINT8 gusHeliSeats[ MAX_MERC_IN_HELI ];
|
||||
UINT16 gusHeliSeats[ MAX_MERC_IN_HELI ];
|
||||
INT8 gbNumHeliSeatsOccupied = 0;
|
||||
|
||||
BOOLEAN gfFirstGuyDown = FALSE;
|
||||
@@ -396,7 +396,7 @@ void ResetHeliSeats( )
|
||||
gbNumHeliSeatsOccupied = 0;
|
||||
}
|
||||
|
||||
void AddMercToHeli( UINT8 ubID )
|
||||
void AddMercToHeli( UINT16 ubID )
|
||||
{
|
||||
if ( gbNumHeliSeatsOccupied < MAX_MERC_IN_HELI )
|
||||
{
|
||||
@@ -1028,7 +1028,7 @@ void HandleFirstHeliDropOfGame( )
|
||||
CharacterDialogueWithSpecialEvent( 0, 0, 0, DIALOGUE_TACTICAL_UI , FALSE , FALSE , DIALOGUE_SPECIAL_EVENT_ENABLE_AI ,0, 0 );
|
||||
}
|
||||
|
||||
UINT8 SpawnAirDropElite( INT32 sGridNo )
|
||||
UINT16 SpawnAirDropElite( INT32 sGridNo )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -1079,7 +1079,7 @@ void InitiateEnemyAirDropSoldiers( INT32 sGridNo )
|
||||
|
||||
for ( int i = 0; i < 6; ++i )
|
||||
{
|
||||
UINT8 id = SpawnAirDropElite( gMapInformation.sSouthGridNo + i );
|
||||
UINT16 id = SpawnAirDropElite( gMapInformation.sSouthGridNo + i );
|
||||
|
||||
if ( id == NOBODY )
|
||||
return;
|
||||
|
||||
@@ -131,7 +131,7 @@ UINT16 GetInitialHeliRandomTime();
|
||||
INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc)
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
UINT8 ubCurrentSoldier = pHireMerc->ubProfileID;
|
||||
MERCPROFILESTRUCT *pMerc;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
@@ -429,7 +429,7 @@ INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc)
|
||||
}
|
||||
|
||||
|
||||
void MercArrivesCallback( UINT8 ubSoldierID )
|
||||
void MercArrivesCallback( UINT16 ubSoldierID )
|
||||
{
|
||||
MERCPROFILESTRUCT *pMerc;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -502,7 +502,7 @@ void MercArrivesCallback( UINT8 ubSoldierID )
|
||||
{
|
||||
bool force_helidrop = true;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
for (UINT8 cnt = 0; cnt < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; cnt++)
|
||||
for (UINT16 cnt = 0; cnt < giMAXIMUM_NUMBER_OF_PLAYER_SLOTS; cnt++)
|
||||
{
|
||||
if (gCharactersList[cnt].fValid)
|
||||
{
|
||||
@@ -671,12 +671,12 @@ BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier )
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
UINT8 NumberOfMercsOnPlayerTeam()
|
||||
UINT16 NumberOfMercsOnPlayerTeam()
|
||||
{
|
||||
INT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT16 bLastTeamID;
|
||||
UINT8 ubCount=0;
|
||||
UINT16 bLastTeamID;
|
||||
UINT16 ubCount=0;
|
||||
|
||||
// Set locator to first merc
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -702,7 +702,7 @@ UINT8 NumberOfMercsOnPlayerTeam()
|
||||
|
||||
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
UINT8 cnt, usLastTeamID;
|
||||
UINT16 cnt, usLastTeamID;
|
||||
INT8 bHated;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
#ifdef JA2UB
|
||||
|
||||
@@ -46,10 +46,10 @@ extern INT16 gsMercArriveSectorY;
|
||||
|
||||
|
||||
INT8 HireMerc( MERC_HIRE_STRUCT *pHireMerc);
|
||||
void MercArrivesCallback( UINT8 ubSoldierID );
|
||||
void MercArrivesCallback( UINT16 ubSoldierID );
|
||||
BOOLEAN IsMercHireable( UINT8 ubMercID );
|
||||
BOOLEAN IsMercDead( UINT8 ubMercID );
|
||||
UINT8 NumberOfMercsOnPlayerTeam();
|
||||
UINT16 NumberOfMercsOnPlayerTeam();
|
||||
BOOLEAN IsTheSoldierAliveAndConcious( SOLDIERTYPE *pSoldier );
|
||||
void HandleMercArrivesQuotes( SOLDIERTYPE *pSoldier );
|
||||
void UpdateAnyInTransitMercsWithGlobalArrivalSector( );
|
||||
|
||||
@@ -347,7 +347,7 @@ void PrepareMilitiaForTactical( BOOLEAN fPrepareAll)
|
||||
|
||||
void HandleMilitiaPromotions( void )
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE* pTeamSoldier;
|
||||
|
||||
gbGreenToElitePromotions = 0;
|
||||
@@ -1442,7 +1442,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_ATTACK ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1479,7 +1479,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_HOLD ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1515,7 +1515,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_RETREAT ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT16 sActionGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1578,7 +1578,8 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_COMETOME ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt, ubDirection;
|
||||
UINT16 cnt;
|
||||
UINT8 ubDirection;
|
||||
INT32 sActionGridNo, sGridNo, sAdjustedGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1634,7 +1635,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_SPREAD ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT32 sActionGridNo;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -1687,7 +1688,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_GETDOWN ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1725,7 +1726,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_CROUCH ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
|
||||
@@ -1763,7 +1764,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
|
||||
case( MILCON_MENU_ALL_TAKE_COVER ):
|
||||
if (fAllowSectorOrder)
|
||||
{
|
||||
UINT8 cnt;
|
||||
UINT16 cnt;
|
||||
INT16 sActionGridNo;
|
||||
INT32 iDummy;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
+4
-5
@@ -257,7 +257,7 @@ void DecayStrategicMorale( SOLDIERTYPE * pSoldier )
|
||||
void DecayTacticalMoraleModifiers( void )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop, ubLoop2;
|
||||
UINT16 ubLoop, ubLoop2;
|
||||
BOOLEAN fHandleNervous;
|
||||
|
||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -364,7 +364,7 @@ void DecayTacticalMoraleModifiers( void )
|
||||
void DecayStrategicMoraleModifiers( void )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
for ( pSoldier = MercPtrs[ ubLoop ]; ubLoop <= gTacticalStatus.Team[ gbPlayerNum ].bLastID; ubLoop++, pSoldier++ )
|
||||
@@ -730,7 +730,7 @@ void HandleMoraleEventForSoldier( SOLDIERTYPE * pSoldier, INT8 bMoraleEvent )
|
||||
|
||||
void HandleMoraleEvent( SOLDIERTYPE *pSoldier, INT8 bMoraleEvent, INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pTeamSoldier;
|
||||
MERCPROFILESTRUCT * pProfile;
|
||||
|
||||
@@ -1144,14 +1144,13 @@ void HandleMoraleEvent( SOLDIERTYPE *pSoldier, INT8 bMoraleEvent, INT16 sMapX, I
|
||||
|
||||
void HourlyMoraleUpdate( void )
|
||||
{
|
||||
INT8 bMercID, bOtherID;
|
||||
UINT16 bMercID, bOtherID, bLastTeamID;
|
||||
INT8 bActualTeamOpinion;
|
||||
INT8 bTeamMoraleModChange, bTeamMoraleModDiff;
|
||||
INT8 bOpinion=-1;
|
||||
INT32 iTotalOpinions;
|
||||
INT8 bNumTeamMembers;
|
||||
INT8 bHighestTeamLeadership = 0;
|
||||
INT8 bLastTeamID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
SOLDIERTYPE * pOtherSoldier;
|
||||
MERCPROFILESTRUCT * pProfile;
|
||||
|
||||
+13
-12
@@ -276,31 +276,32 @@ const int startingZ = 0;
|
||||
|
||||
// ENUMERATION OF SOLDIER POSIITONS IN GLOBAL SOLDIER LIST
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS 32
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS 254
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES 6
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_ENEMIES 64
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_ENEMIES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_ENEMIES 256
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_ENEMIES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_CREATURES 40
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_CREATURES;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_CREATURES;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_REBELS 64
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_REBELS;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_REBELS;
|
||||
#define CODE_MAXIMUM_NUMBER_OF_CIVS 40
|
||||
extern UINT8 giMAXIMUM_NUMBER_OF_CIVS;
|
||||
extern UINT16 giMAXIMUM_NUMBER_OF_CIVS;
|
||||
|
||||
// The following should be the largest from the above set of constants.
|
||||
// Note: Is there any way to compute this via the preprocessor?
|
||||
#define LARGEST_NUMBER_IN_ANY_GROUP 64
|
||||
#define LARGEST_NUMBER_IN_ANY_GROUP 260
|
||||
|
||||
#define MAX_NUM_SOLDIERS (CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES+CODE_MAXIMUM_NUMBER_OF_ENEMIES+CODE_MAXIMUM_NUMBER_OF_CREATURES+CODE_MAXIMUM_NUMBER_OF_REBELS+CODE_MAXIMUM_NUMBER_OF_CIVS)
|
||||
#define NUM_PLANNING_MERCS 8
|
||||
#define TOTAL_SOLDIERS ( NUM_PLANNING_MERCS + MAX_NUM_SOLDIERS )
|
||||
//#define TOTAL_SOLDIERS ( NUM_PLANNING_MERCS + MAX_NUM_SOLDIERS )
|
||||
#define TOTAL_SOLDIERS (MAX_NUM_SOLDIERS )
|
||||
|
||||
// If there are more than (one less the size of the field used to store IDs (currently a char)) then fail
|
||||
#if TOTAL_SOLDIERS > 254
|
||||
#if TOTAL_SOLDIERS > 2048
|
||||
#error Too many!
|
||||
#endif
|
||||
#if CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS > LARGEST_NUMBER_IN_ANY_GROUP
|
||||
|
||||
+123
-124
@@ -143,19 +143,19 @@
|
||||
#include "GameInitOptionsScreen.h"
|
||||
|
||||
// OJW - 20090419
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_MERCS = CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES = CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS = CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_ENEMIES = CODE_MAXIMUM_NUMBER_OF_ENEMIES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_CREATURES = CODE_MAXIMUM_NUMBER_OF_CREATURES;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_REBELS = CODE_MAXIMUM_NUMBER_OF_REBELS;
|
||||
UINT8 giMAXIMUM_NUMBER_OF_CIVS = CODE_MAXIMUM_NUMBER_OF_CIVS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_MERCS = CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_VEHICLES = CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_PLAYER_SLOTS = CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_ENEMIES = CODE_MAXIMUM_NUMBER_OF_ENEMIES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_CREATURES = CODE_MAXIMUM_NUMBER_OF_CREATURES;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_REBELS = CODE_MAXIMUM_NUMBER_OF_REBELS;
|
||||
UINT16 giMAXIMUM_NUMBER_OF_CIVS = CODE_MAXIMUM_NUMBER_OF_CIVS;
|
||||
|
||||
|
||||
//forward declarations of common classes to eliminate includes
|
||||
class OBJECTTYPE;
|
||||
class SOLDIERTYPE;
|
||||
|
||||
extern void HandleTBPickUpBackpacks(BOOLEAN fAll);
|
||||
extern void HandleBestSightingPositionInRealtime();
|
||||
extern INT32 GetCurrentBalance( void );
|
||||
|
||||
@@ -372,7 +372,7 @@ CHAR8 gzDirectionStr[][ 30 ] =
|
||||
};
|
||||
|
||||
// TEMP VALUES FOR TEAM DEFAULT POSITIONS
|
||||
UINT8 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
UINT16 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
|
||||
{
|
||||
0, 19, //20 US
|
||||
@@ -388,7 +388,7 @@ UINT8 bDefaultTeamRangesMP[ MAXTEAMS ][ 2 ] =
|
||||
MAX_NUM_SOLDIERS, TOTAL_SOLDIERS - 1 // PLANNING SOLDIERS
|
||||
};
|
||||
|
||||
UINT8 bDefaultTeamRanges[ MAXTEAMS_SP ][ 2 ] =
|
||||
UINT16 bDefaultTeamRanges[ MAXTEAMS_SP ][ 2 ] =
|
||||
{
|
||||
0,
|
||||
CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS+CODE_MAXIMUM_NUMBER_OF_PLAYER_VEHICLES-1,
|
||||
@@ -420,16 +420,16 @@ COLORVAL bDefaultTeamColors[ MAXTEAMS ] =
|
||||
};
|
||||
|
||||
// UTILITY FUNCTIONS
|
||||
INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
UINT8 NumEnemyInSector( );
|
||||
UINT8 NumEnemyInSectorExceptCreatures();
|
||||
UINT8 NumCapableEnemyInSector( );
|
||||
UINT16 NumActiveAndConsciousTeamMembers( UINT8 ubTeam );
|
||||
UINT16 NumEnemyInSector( );
|
||||
UINT16 NumEnemyInSectorExceptCreatures();
|
||||
UINT16 NumCapableEnemyInSector( );
|
||||
|
||||
BOOLEAN KillIncompacitatedEnemyInSector( );
|
||||
BOOLEAN CheckForLosingEndOfBattle( );
|
||||
void EndBattleWithUnconsciousGuysCallback( UINT8 bExitValue );
|
||||
UINT8 NumEnemyInSectorNotDeadOrDying( );
|
||||
UINT8 NumBloodcatsInSectorNotDeadOrDying( );
|
||||
UINT16 NumEnemyInSectorNotDeadOrDying( );
|
||||
UINT16 NumBloodcatsInSectorNotDeadOrDying( );
|
||||
|
||||
UINT8 gubWaitingForAllMercsToExitCode = 0;
|
||||
UINT8 gusNumMercsUntilWaitingOver = 0;
|
||||
@@ -659,7 +659,7 @@ void ShutdownTacticalEngine( )
|
||||
BOOLEAN InitOverhead( )
|
||||
{
|
||||
UINT32 cnt;
|
||||
UINT8 cnt2;
|
||||
UINT16 cnt2;
|
||||
|
||||
// Set pointers list
|
||||
for( cnt = 0; cnt < TOTAL_SOLDIERS; cnt++ )
|
||||
@@ -1331,7 +1331,7 @@ BOOLEAN ExecuteOverhead( )
|
||||
}
|
||||
|
||||
// OK, if we are the selected soldier, refresh some UI stuff
|
||||
if ( pSoldier->ubID == (UINT8)gusSelectedSoldier )
|
||||
if ( pSoldier->ubID == gusSelectedSoldier )
|
||||
{
|
||||
gfUIRefreshArrows = TRUE;
|
||||
}
|
||||
@@ -3378,7 +3378,7 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
|
||||
UpdateForContOverPortrait( pOldSoldier, FALSE );
|
||||
}
|
||||
|
||||
gusSelectedSoldier = (UINT16)usSoldierID;
|
||||
gusSelectedSoldier = usSoldierID;
|
||||
|
||||
// find which squad this guy is, then set selected squad to this guy
|
||||
if( pSoldier->bAssignment == VEHICLE )
|
||||
@@ -3405,7 +3405,7 @@ void InternalSelectSoldier( UINT16 usSoldierID, BOOLEAN fAcknowledge, BOOLEAN fF
|
||||
//pSoldier->SetCheckSoldierLightFlag( );
|
||||
|
||||
// Set interface to reflect new selection!
|
||||
SetCurrentTacticalPanelCurrentMerc( (UINT8)usSoldierID );
|
||||
SetCurrentTacticalPanelCurrentMerc( usSoldierID );
|
||||
|
||||
// PLay ATTN SOUND
|
||||
if ( fAcknowledge )
|
||||
@@ -3513,11 +3513,11 @@ void LocateSoldier( UINT16 usID, BOOLEAN fSetLocator)
|
||||
{
|
||||
if ( fSetLocator == SETLOCATOR || fSetLocator == 10 )
|
||||
{
|
||||
ShowRadioLocator((UINT8)usID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator(usID, SHOW_LOCATOR_NORMAL );
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowRadioLocator((UINT8)usID, SHOW_LOCATOR_FAST );
|
||||
ShowRadioLocator(usID, SHOW_LOCATOR_FAST );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3569,7 +3569,7 @@ void SlideTo(INT32 sGridNo, UINT16 usSoldierID , UINT16 usReasonID, BOOLEAN fSet
|
||||
|
||||
// Locate even if on screen
|
||||
if (fSetLocator)
|
||||
ShowRadioLocator((UINT8) usSoldierID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator( usSoldierID, SHOW_LOCATOR_NORMAL );
|
||||
|
||||
// FIRST CHECK IF WE ARE ON SCREEN
|
||||
if ( GridNoOnScreen( MercPtrs[ usSoldierID ]->sGridNo ) )
|
||||
@@ -4167,7 +4167,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
|
||||
// killing crows/cows is not worth any experience!
|
||||
if ( ( pSoldierOld->ubBodyType != CROW ) && ( pSoldierOld->ubBodyType != COW ) ) //&& pSoldierOld->ubLastDamageReason != TAKE_DAMAGE_BLOODLOSS ) // SANDRO - why not give exp for bleeding out?
|
||||
{
|
||||
UINT8 ubAssister = NOBODY;
|
||||
UINT16 ubAssister = NOBODY;
|
||||
|
||||
// if it was a kill by a player's merc
|
||||
if (pSoldierOld->ubAttackerID != NOBODY && MercPtrs[ pSoldierOld->ubAttackerID ]->bTeam == gbPlayerNum )
|
||||
@@ -4267,7 +4267,7 @@ void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldierOld )
|
||||
CheckForEndOfBattle( FALSE );
|
||||
}
|
||||
|
||||
UINT8 LastActiveTeamMember( UINT8 ubTeam )
|
||||
UINT16 LastActiveTeamMember( UINT16 ubTeam )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -4279,7 +4279,7 @@ UINT8 LastActiveTeamMember( UINT8 ubTeam )
|
||||
{
|
||||
if ( pSoldier->bActive )
|
||||
{
|
||||
return( (INT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4542,9 +4542,9 @@ void MakeCivHostile(SOLDIERTYPE *pSoldier)
|
||||
|
||||
UINT8 CivilianGroupMembersChangeSidesWithinProximity( SOLDIERTYPE * pAttacked )
|
||||
{
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
UINT8 cnt;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
UINT16 cnt;
|
||||
|
||||
if ( pAttacked->ubCivilianGroup == NON_CIV_GROUP )
|
||||
{
|
||||
@@ -4584,11 +4584,11 @@ UINT8 CivilianGroupMembersChangeSidesWithinProximity( SOLDIERTYPE * pAttacked )
|
||||
|
||||
SOLDIERTYPE * CivilianGroupMemberChangesSides( SOLDIERTYPE * pAttacked )
|
||||
{
|
||||
SOLDIERTYPE * pNew;
|
||||
SOLDIERTYPE * pNewAttacked = pAttacked;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT8 cnt;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
SOLDIERTYPE * pNew;
|
||||
SOLDIERTYPE * pNewAttacked = pAttacked;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 cnt;
|
||||
UINT8 ubFirstProfile = NO_PROFILE;
|
||||
|
||||
if ( pAttacked->ubCivilianGroup == NON_CIV_GROUP )
|
||||
{
|
||||
@@ -4778,11 +4778,11 @@ gTacticalStatus.fCivGroupHostile[ ubLoop ] = CIV_GROUP_HOSTILE;
|
||||
}
|
||||
*/
|
||||
|
||||
INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
UINT16 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubCount = 0;
|
||||
UINT16 ubCount = 0;
|
||||
|
||||
cnt = gTacticalStatus.Team[ ubTeam ].bFirstID;
|
||||
|
||||
@@ -4799,10 +4799,10 @@ INT8 NumActiveAndConsciousTeamMembers( UINT8 ubTeam )
|
||||
}
|
||||
|
||||
|
||||
UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
UINT8 bLastTeamID;
|
||||
INT32 cnt;
|
||||
UINT16 bLastTeamID;
|
||||
UINT16 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = pSoldier->ubID + 1;
|
||||
@@ -4823,14 +4823,14 @@ UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4854,14 +4854,14 @@ UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4913,9 +4913,9 @@ SOLDIERTYPE *FindNextActiveSquad( SOLDIERTYPE *pSoldier )
|
||||
}
|
||||
|
||||
|
||||
UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
UINT16 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
UINT8 bLastTeamID;
|
||||
UINT16 bLastTeamID;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
@@ -4939,14 +4939,14 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
// Check for bLife > 0
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4969,14 +4969,14 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
{
|
||||
if ( pTeamSoldier->stats.bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && ( pTeamSoldier->bAssignment < ON_DUTY || pTeamSoldier->bAssignment == VEHICLE ) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4990,8 +4990,8 @@ UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKL
|
||||
BOOLEAN CheckForPlayerTeamInMissionExit( )
|
||||
{
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 bGuysIn = 0;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT16 bGuysIn = 0;
|
||||
|
||||
// End the turn of player charactors
|
||||
cnt = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -5087,10 +5087,10 @@ extern BOOLEAN InternalOkayToAddStructureToWorld( INT32 sBaseGridNo, INT8 bLevel
|
||||
// NB if making changes don't forget to update NewOKDestinationAndDirection
|
||||
BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPeopleToo, INT8 bLevel )
|
||||
{
|
||||
UINT8 bPerson;
|
||||
STRUCTURE * pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
UINT16 bPerson;
|
||||
STRUCTURE *pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
|
||||
// sevenfm: allow civilians and NPCs with profile to go off screen
|
||||
if (!GridNoOnVisibleWorldTile(sGridNo) && (pCurrSoldier->bTeam != CIV_TEAM || pCurrSoldier->ubProfile == NO_PROFILE))
|
||||
@@ -5228,10 +5228,10 @@ BOOLEAN NewOKDestination( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, BOOLEAN fPe
|
||||
// NB if making changes don't forget to update NewOKDestination
|
||||
INT16 NewOKDestinationAndDirection( SOLDIERTYPE * pCurrSoldier, INT32 sGridNo, INT8 bDirection, BOOLEAN fPeopleToo, INT8 bLevel )
|
||||
{
|
||||
UINT8 bPerson;
|
||||
STRUCTURE * pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
UINT16 bPerson;
|
||||
STRUCTURE *pStructure;
|
||||
INT16 sDesiredLevel;
|
||||
BOOLEAN fOKCheckStruct;
|
||||
|
||||
if (fPeopleToo && ( bPerson = WhoIsThere2( sGridNo, bLevel ) ) != NOBODY )
|
||||
{
|
||||
@@ -5439,7 +5439,7 @@ BOOLEAN IsLocationSittableExcludingPeople( INT32 iMapIndex, BOOLEAN fOnRoof )
|
||||
|
||||
BOOLEAN TeamMemberNear(INT8 bTeam, INT32 sGridNo, INT32 iRange)
|
||||
{
|
||||
UINT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
for (bLoop=gTacticalStatus.Team[bTeam].bFirstID, pSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[bTeam].bLastID; ++bLoop, pSoldier++)
|
||||
@@ -5832,14 +5832,14 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
//INT32 cnt;
|
||||
INT32 sClosest = -1, sSpot, sSpot2;
|
||||
INT32 sCloseGridNo = NOWHERE;
|
||||
UINT32 uiMercFlags;
|
||||
UINT16 usSoldierIndex;
|
||||
UINT8 ubDir;
|
||||
STRUCTURE *pDoor;
|
||||
UINT8 ubWallOrientation;
|
||||
BOOLEAN fCheckGivenGridNo = TRUE;
|
||||
UINT8 ubTestDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT32 uiMercFlags;
|
||||
UINT16 usSoldierIndex;
|
||||
UINT8 ubDir;
|
||||
STRUCTURE *pDoor;
|
||||
UINT8 ubWallOrientation;
|
||||
BOOLEAN fCheckGivenGridNo = TRUE;
|
||||
UINT8 ubTestDirection;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
// CHECK IF WE WANT TO FORCE GRIDNO TO PERSON
|
||||
if ( psAdjustedGridNo != NULL )
|
||||
@@ -6145,7 +6145,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
INT32 FindAdjacentPunchTarget( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTargetSoldier, INT32 * psAdjustedTargetGridNo, UINT8 * pubDirection )
|
||||
{
|
||||
INT32 sSpot;
|
||||
UINT8 ubGuyThere;
|
||||
UINT16 ubGuyThere;
|
||||
|
||||
for ( UINT8 cnt = 0; cnt < NUM_WORLD_DIRECTIONS; ++cnt )
|
||||
{
|
||||
@@ -6883,9 +6883,9 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
|
||||
@@ -6900,7 +6900,7 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
// Add guy if he's a candidate...
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -6908,7 +6908,7 @@ void SayBattleSoundFromAnyBodyInSector( INT32 iBattleSnd )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
MercPtrs[ ubChosenMerc ]->DoMercBattleSound( (UINT8)iBattleSnd );
|
||||
}
|
||||
@@ -7402,10 +7402,6 @@ void UpdateWoundedFromSectorInfo( INT16 sMapX, INT16 sMapY, INT8 bMapZ )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumPrisoners = 0;
|
||||
UINT8 ubNumPrisonerAdmin = 0;
|
||||
UINT8 ubNumPrisonerTroop = 0;
|
||||
UINT8 ubNumPrisonerElite = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -7543,7 +7539,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
if (fBattleLost)
|
||||
{
|
||||
// sevenfm: count alive/dead/not covert mercs in sector/retreating from sector
|
||||
UINT8 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
UINT16 ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID;
|
||||
BOOLEAN fFoundNotCovertMerc = FALSE;
|
||||
BOOLEAN fFoundAliveMerc = FALSE;
|
||||
BOOLEAN fFoundDeadMerc = FALSE;
|
||||
@@ -7592,7 +7588,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
memset(&(gTacticalStatus.bNumFoughtInBattle), 0, MAXTEAMS);
|
||||
|
||||
// If here, the battle has been lost!
|
||||
UnSetUIBusy((UINT8)gusSelectedSoldier);
|
||||
UnSetUIBusy(gusSelectedSoldier);
|
||||
|
||||
if (gTacticalStatus.uiFlags & INCOMBAT)
|
||||
{
|
||||
@@ -7725,7 +7721,7 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
// battle for us
|
||||
EndAllAITurns( );
|
||||
|
||||
UnSetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
UnSetUIBusy( gusSelectedSoldier );
|
||||
|
||||
// ATE:
|
||||
// If we ended battle in any team other than the player's
|
||||
@@ -8011,7 +8007,10 @@ BOOLEAN CheckForEndOfBattle( BOOLEAN fAnEnemyRetreated )
|
||||
// Flugente: in any case, reset creature attack variables
|
||||
ResetCreatureAttackVariables();
|
||||
|
||||
// sevenfm: switch off radio
|
||||
// sevenfm: pick up dropped backpacks
|
||||
HandleTBPickUpBackpacks(TRUE);
|
||||
|
||||
// sevenfm: switch off radio
|
||||
//SwitchOffAllRadio();
|
||||
|
||||
// If we are the server, we escape this function at the top if we think the game should still be running
|
||||
@@ -8154,7 +8153,7 @@ void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt > pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8182,7 +8181,7 @@ void CycleVisibleEnemies( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt > pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8217,7 +8216,7 @@ void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt < pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8246,7 +8245,7 @@ void CycleVisibleEnemiesBackward( SOLDIERTYPE *pSrcSoldier )
|
||||
// If we are > ok start, this is the one!
|
||||
if ( cnt < pSrcSoldier->ubLastEnemyCycledID )
|
||||
{
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT8)cnt;
|
||||
pSrcSoldier->ubLastEnemyCycledID = (UINT16)cnt;
|
||||
|
||||
//ATE: Change to Slide To...
|
||||
SlideTo( 0, pSoldier->ubID, 0, SETANDREMOVEPREVIOUSLOCATOR );
|
||||
@@ -8289,11 +8288,11 @@ BOOLEAN PlayerTeamFull( )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
UINT8 NumPCsInSector( )
|
||||
UINT16 NumPCsInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT32 cnt = 0;
|
||||
UINT8 ubNumPlayers = 0;
|
||||
UINT16 ubNumPlayers = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8314,11 +8313,11 @@ UINT8 NumPCsInSector( )
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumEnemyInSector( )
|
||||
UINT16 NumEnemyInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8338,11 +8337,11 @@ UINT8 NumEnemyInSector( )
|
||||
|
||||
}
|
||||
|
||||
UINT8 NumZombiesInSector( )
|
||||
UINT16 NumZombiesInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumZombies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumZombies = 0;
|
||||
|
||||
for ( pTeamSoldier = Menptr, cnt = 0; cnt < TOTAL_SOLDIERS; ++pTeamSoldier, ++cnt )
|
||||
{
|
||||
@@ -8358,11 +8357,11 @@ UINT8 NumZombiesInSector( )
|
||||
return( ubNumZombies );
|
||||
}
|
||||
|
||||
UINT8 NumEnemyInSectorExceptCreatures()
|
||||
UINT16 NumEnemyInSectorExceptCreatures()
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8383,11 +8382,11 @@ UINT8 NumEnemyInSectorExceptCreatures()
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumEnemyInSectorNotDeadOrDying( )
|
||||
UINT16 NumEnemyInSectorNotDeadOrDying( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8418,11 +8417,11 @@ UINT8 NumEnemyInSectorNotDeadOrDying( )
|
||||
|
||||
}
|
||||
|
||||
UINT8 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
UINT16 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8457,11 +8456,11 @@ UINT8 NumBloodcatsInSectorNotDeadOrDying( )
|
||||
}
|
||||
|
||||
|
||||
UINT8 NumCapableEnemyInSector( )
|
||||
UINT16 NumCapableEnemyInSector( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
INT32 cnt = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
|
||||
// Check if the battle is won!
|
||||
// Loop through all mercs and make go
|
||||
@@ -8505,7 +8504,7 @@ BOOLEAN CheckForLosingEndOfBattle( )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt = 0;
|
||||
INT8 bNumDead = 0, bNumNotOK = 0, bNumInBattle = 0, bNumNotOKRealMercs = 0;
|
||||
UINT16 bNumDead = 0, bNumNotOK = 0, bNumInBattle = 0, bNumNotOKRealMercs = 0;
|
||||
BOOLEAN fMadeCorpse;
|
||||
BOOLEAN fDoCapture = FALSE;
|
||||
BOOLEAN fOnlyEPCsLeft = TRUE;
|
||||
@@ -8864,9 +8863,9 @@ INT8 CalcSuppressionTolerance( SOLDIERTYPE * pSoldier )
|
||||
return( bTolerance );
|
||||
}
|
||||
|
||||
extern void IncrementWatchedLoc(UINT8 ubID, INT32 sGridNo, INT8 bLevel);
|
||||
extern void IncrementWatchedLoc(UINT16 ubID, INT32 sGridNo, INT8 bLevel);
|
||||
|
||||
void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
|
||||
void HandleSuppressionFire( UINT16 ubTargetedMerc, UINT16 ubCausedAttacker )
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -9245,7 +9244,7 @@ void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
|
||||
// "Soldier is pinned down!"
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, New113HAMMessage[1], pSoldier->GetName() );
|
||||
// HEADROCK HAM 3.2: Added a radio locator!
|
||||
ShowRadioLocator( (UINT8)pSoldier->ubID, SHOW_LOCATOR_NORMAL );
|
||||
ShowRadioLocator( pSoldier->ubID, SHOW_LOCATOR_NORMAL );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9653,7 +9652,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
SOLDIERTYPE * pTarget;
|
||||
BOOLEAN fEnterCombat = FALSE;
|
||||
UINT32 cnt;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
#if 0
|
||||
// 0verhaul: None of this is necessary anymore with the new attack busy system
|
||||
@@ -9997,7 +9996,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( )
|
||||
|
||||
if ( gTacticalStatus.uiFlags & CHECK_SIGHT_AT_END_OF_ATTACK )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSightSoldier;
|
||||
|
||||
AllTeamsLookForAll( FALSE );
|
||||
@@ -10317,7 +10316,7 @@ void RemoveManFromTeam( INT8 bTeam )
|
||||
|
||||
void RemoveSoldierFromTacticalSector( SOLDIERTYPE *pSoldier, BOOLEAN fAdjustSelected )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE *pNewSoldier;
|
||||
|
||||
// reset merc's opplist
|
||||
@@ -10661,9 +10660,9 @@ void HandleCreatureTenseQuote( )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
INT32 uiTime;
|
||||
@@ -10691,7 +10690,7 @@ void HandleCreatureTenseQuote( )
|
||||
// Add guy if he's a candidate...
|
||||
if ( OK_INSECTOR_MERC( pTeamSoldier ) && !AM_AN_EPC( pTeamSoldier ) && !( pTeamSoldier->flags.uiStatusFlags & SOLDIER_GASSED ) && !(AM_A_ROBOT( pTeamSoldier )) && !pTeamSoldier->flags.fMercAsleep )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -10699,7 +10698,7 @@ void HandleCreatureTenseQuote( )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
DoCreatureTensionQuote ( MercPtrs[ ubMercsInSector[ ubChosenMerc ] ] );
|
||||
}
|
||||
@@ -10812,7 +10811,7 @@ INT8 CheckStatusNearbyFriendlies( SOLDIERTYPE *pSoldier )
|
||||
INT8 bLevelDifference = 0;
|
||||
|
||||
// Run through each friendly.
|
||||
for ( UINT8 iCounter = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; iCounter <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; iCounter ++ )
|
||||
for ( UINT16 iCounter = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; iCounter <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; iCounter ++ )
|
||||
{
|
||||
pLeader = MercPtrs[ iCounter ];
|
||||
// Make sure that character is alive, not too shocked, and conscious, and of higher experience level
|
||||
@@ -10904,7 +10903,7 @@ INT8 CheckStatusNearbyFriendliesSimple(SOLDIERTYPE *pSoldier)
|
||||
}
|
||||
|
||||
// Run through each friendly.
|
||||
for (UINT8 ubFriend = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; ubFriend <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; ubFriend ++)
|
||||
for (UINT16 ubFriend = gTacticalStatus.Team[ pSoldier->bTeam ].bFirstID ; ubFriend <= gTacticalStatus.Team[ pSoldier->bTeam ].bLastID ; ubFriend ++)
|
||||
{
|
||||
pFriend = MercPtrs[ ubFriend ];
|
||||
|
||||
@@ -11047,7 +11046,7 @@ void HandleDisplayingOfPlayerLostDialogue( )
|
||||
}
|
||||
#endif
|
||||
|
||||
static UINT8 prisonerdialoguetargetID = NOBODY;
|
||||
static UINT16 prisonerdialoguetargetID = NOBODY;
|
||||
|
||||
void TurnCoatAttemptMessageBoxCallBack( UINT8 ubExitValue )
|
||||
{
|
||||
@@ -11605,7 +11604,7 @@ void TeamRestock(UINT8 bTeam)
|
||||
}
|
||||
|
||||
// are we allowed to steal access this guy's inventory?
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT8 ubID, UINT8 ubTargetID )
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT16 ubID, UINT16 ubTargetID )
|
||||
{
|
||||
if ( gGameExternalOptions.fAccessOtherMercInventories && ubID != ubTargetID && MercPtrs[ubID]->bTeam == MercPtrs[ubTargetID]->bTeam && !AM_AN_EPC(MercPtrs[ubTargetID]) && !IsVehicle(MercPtrs[ubTargetID]) )
|
||||
return TRUE;
|
||||
@@ -11764,11 +11763,11 @@ INT8 CalcEffectiveShockLevel( SOLDIERTYPE * pSoldier )
|
||||
}
|
||||
|
||||
// Flugente: count number of enemy officers
|
||||
UINT8 HighestEnemyOfficersInSector( UINT8& aType )
|
||||
UINT16 HighestEnemyOfficersInSector( UINT8& aType )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 num = 0;
|
||||
UINT16 num = 0;
|
||||
UINT8 type = OFFICER_NONE;
|
||||
|
||||
for ( cnt = gTacticalStatus.Team[ ENEMY_TEAM ].bFirstID, pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[ ENEMY_TEAM ].bLastID; pSoldier++, ++cnt )
|
||||
@@ -11794,7 +11793,7 @@ UINT16 NumSoldiersWithFlagInSector( UINT8 aTeam, UINT32 aFlag )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier;
|
||||
INT32 cnt = 0;
|
||||
UINT8 num = 0;
|
||||
UINT16 num = 0;
|
||||
|
||||
for ( cnt = gTacticalStatus.Team[aTeam].bFirstID, pSoldier = MercPtrs[cnt]; cnt <= gTacticalStatus.Team[aTeam].bLastID; pSoldier++, ++cnt )
|
||||
{
|
||||
|
||||
+22
-23
@@ -23,12 +23,12 @@ enum
|
||||
// TACTICAL ENGINE STATUS FLAGS
|
||||
typedef struct
|
||||
{
|
||||
UINT8 bFirstID;
|
||||
UINT8 bLastID;
|
||||
UINT16 bFirstID;
|
||||
UINT16 bLastID;
|
||||
COLORVAL RadarColor;
|
||||
INT8 bSide;
|
||||
INT8 bMenInSector;
|
||||
UINT8 ubLastMercToRadio;
|
||||
INT16 bMenInSector;
|
||||
UINT16 ubLastMercToRadio;
|
||||
INT8 bTeamActive;
|
||||
INT8 bAwareOfOpposition;
|
||||
INT8 bHuman;
|
||||
@@ -69,8 +69,8 @@ struct TacticalStatusType
|
||||
INT8 fPanicFlags;
|
||||
INT32 sPanicTriggerGridNoUnused;
|
||||
INT16 sHandGrid;
|
||||
UINT8 ubSpottersCalledForBy;
|
||||
UINT8 ubTheChosenOne;
|
||||
UINT16 ubSpottersCalledForBy;
|
||||
UINT16 ubTheChosenOne;
|
||||
UINT32 uiTimeOfLastInput;
|
||||
UINT32 uiTimeSinceDemoOn;
|
||||
UINT32 uiCountdownToRestart;
|
||||
@@ -89,13 +89,13 @@ struct TacticalStatusType
|
||||
INT8 bRealtimeSpeed;
|
||||
UINT8 ubEnemyIntention;
|
||||
UINT8 ubEnemyIntendedRetreatDirection;
|
||||
UINT8 ubEnemySightingOnTheirTurnEnemyID;
|
||||
UINT8 ubEnemySightingOnTheirTurnPlayerID;
|
||||
UINT16 ubEnemySightingOnTheirTurnEnemyID;
|
||||
UINT16 ubEnemySightingOnTheirTurnPlayerID;
|
||||
BOOLEAN fEnemySightingOnTheirTurn;
|
||||
BOOLEAN fAutoBandageMode;
|
||||
UINT8 ubAttackBusyCount;
|
||||
INT8 bNumEnemiesFoughtInBattleUnused;
|
||||
UINT8 ubEngagedInConvFromActionMercID;
|
||||
UINT16 ubEngagedInConvFromActionMercID;
|
||||
UINT16 usTactialTurnLimitCounter;
|
||||
BOOLEAN fInTopMessage;
|
||||
UINT8 ubTopMessageType;
|
||||
@@ -114,7 +114,7 @@ struct TacticalStatusType
|
||||
BOOLEAN fSaidCreatureFlavourQuote;
|
||||
BOOLEAN fHaveSeenCreature;
|
||||
BOOLEAN fKilledEnemyOnAttack;
|
||||
UINT8 ubEnemyKilledOnAttack;
|
||||
UINT16 ubEnemyKilledOnAttack;
|
||||
INT8 bEnemyKilledOnAttackLevel;
|
||||
UINT16 ubEnemyKilledOnAttackLocation;
|
||||
BOOLEAN fItemsSeenOnAttack;
|
||||
@@ -128,7 +128,7 @@ struct TacticalStatusType
|
||||
BOOLEAN fCantGetThrough;
|
||||
INT32 sCantGetThroughGridNo;
|
||||
INT32 sCantGetThroughSoldierGridNo;
|
||||
UINT8 ubCantGetThroughID;
|
||||
UINT16 ubCantGetThroughID;
|
||||
BOOLEAN fDidGameJustStart;
|
||||
BOOLEAN fStatChangeCheatOn;
|
||||
UINT8 ubLastRequesterTargetID;
|
||||
@@ -142,10 +142,9 @@ struct TacticalStatusType
|
||||
BOOLEAN fHasAGameBeenStarted;
|
||||
INT8 bConsNumTurnsWeHaventSeenButEnemyDoes;
|
||||
BOOLEAN fSomeoneHit;
|
||||
UINT8 ubPaddingSmall;
|
||||
UINT32 uiTimeSinceLastOpplistDecay;
|
||||
INT8 bMercArrivingQuoteBeingUsed;
|
||||
UINT8 ubEnemyKilledOnAttackKiller;
|
||||
UINT16 ubEnemyKilledOnAttackKiller;
|
||||
BOOLEAN fCountingDownForGuideDescription;
|
||||
INT8 bGuideDescriptionCountDown;
|
||||
UINT8 ubGuideDescriptionToUse;
|
||||
@@ -159,7 +158,7 @@ struct TacticalStatusType
|
||||
UINT16 sCreatureTenseQuoteDelay;
|
||||
UINT32 uiCreatureTenseQuoteLastUpdate;
|
||||
// SANDRO - added these
|
||||
UINT8 ubLastRequesterSurgeryTargetID;
|
||||
UINT16 ubLastRequesterSurgeryTargetID;
|
||||
UINT8 ubInterruptPending;
|
||||
// sevenfm: Ctrl+D disable interrupts
|
||||
BOOLEAN ubDisablePlayerInterrupts;
|
||||
@@ -240,11 +239,11 @@ void SlideToLocation( UINT16 usReasonID, INT32 sDestGridNo );
|
||||
|
||||
void RebuildAllSoldierShadeTables( );
|
||||
void HandlePlayerTeamMemberDeath( SOLDIERTYPE *pSoldier );
|
||||
UINT8 LastActiveTeamMember( UINT8 ubTeam );
|
||||
UINT16 LastActiveTeamMember( UINT16 ubTeam );
|
||||
BOOLEAN SoldierOnVisibleWorldTile( SOLDIERTYPE *pSoldier );
|
||||
|
||||
UINT8 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT8 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindNextActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
UINT16 FindPrevActiveAndAliveMerc( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
|
||||
|
||||
BOOLEAN CheckForPlayerTeamInMissionExit( );
|
||||
void HandleNPCTeamMemberDeath( SOLDIERTYPE *pSoldier );
|
||||
@@ -261,7 +260,7 @@ INT32 FindNextToAdjacentGridEx( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 *pub
|
||||
|
||||
void SelectNextAvailSoldier( SOLDIERTYPE *pSoldier );
|
||||
BOOLEAN TeamMemberNear(INT8 bTeam, INT32 sGridNo, INT32 iRange);
|
||||
BOOLEAN IsValidTargetMerc( UINT8 ubSoldierID );
|
||||
BOOLEAN IsValidTargetMerc( UINT16 ubSoldierID );
|
||||
|
||||
// FUNCTIONS FOR MANIPULATING MERC SLOTS - A LIST OF ALL ACTIVE MERCS
|
||||
INT32 GetFreeMercSlot( );
|
||||
@@ -323,7 +322,7 @@ BOOLEAN HostileBloodcatsPresent( );
|
||||
BOOLEAN HostileZombiesPresent( );
|
||||
BOOLEAN HostileCreaturesPresent();
|
||||
|
||||
UINT8 NumPCsInSector( );
|
||||
UINT16 NumPCsInSector( );
|
||||
void SetSoldierNonNeutral( SOLDIERTYPE * pSoldier );
|
||||
void SetSoldierNeutral( SOLDIERTYPE * pSoldier );
|
||||
|
||||
@@ -351,10 +350,10 @@ extern BOOLEAN gogglewarning;
|
||||
// will a sam site under the players control shoot down an airraid?
|
||||
BOOLEAN WillAirRaidBeStopped( INT16 sSectorX, INT16 sSectorY );
|
||||
// HEADROCK HAM 3.5: Externalized for First Arrival enemy check
|
||||
extern UINT8 NumEnemyInSector();
|
||||
extern UINT16 NumEnemyInSector();
|
||||
|
||||
// Flugente
|
||||
extern UINT8 NumZombiesInSector();
|
||||
extern UINT16 NumZombiesInSector();
|
||||
|
||||
// Flugente: offer the enemy the chance to surrender
|
||||
void HandleSurrenderOffer( SOLDIERTYPE* pSoldier );
|
||||
@@ -371,7 +370,7 @@ void TeamDropAll(UINT8 bTeam, BOOLEAN fForce = FALSE);
|
||||
void TeamRestock(UINT8 bTeam);
|
||||
|
||||
// are we allowed to steal access this guy's inventory?
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT8 aAccessorID, UINT8 aTargetID );
|
||||
BOOLEAN AllowedToStealFromTeamMate( UINT16 ubID, UINT16 ubTargetID );
|
||||
|
||||
// Flugente: is an soldier profile already used?
|
||||
BOOLEAN IsProfileInUse(UINT8 usTeam, INT8 aType, UINT16 aNr);
|
||||
@@ -402,7 +401,7 @@ enum {
|
||||
};
|
||||
|
||||
// Flugente: return number of enemy officers and highest rank found
|
||||
UINT8 HighestEnemyOfficersInSector(UINT8& aType);
|
||||
UINT16 HighestEnemyOfficersInSector(UINT8& aType);
|
||||
|
||||
// count all soldiers in the current sector that have a specific flag set
|
||||
UINT16 NumSoldiersWithFlagInSector(UINT8 aTeam, UINT32 aFlag);
|
||||
|
||||
+1
-1
@@ -2517,7 +2517,7 @@ b=GetJA2Clock();//return s->sGridNo+6;
|
||||
INT8 bLoopState = LOOPING_CLOCKWISE;
|
||||
//BOOLEAN fLoopForwards = FALSE;
|
||||
BOOLEAN fCheckedBehind = FALSE;
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
INT32 iDestX,iDestY, iLocX, iLocY, dx, dy;
|
||||
INT32 newLoc,curLoc;
|
||||
//INT32 curY;
|
||||
|
||||
@@ -1545,7 +1545,7 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
{
|
||||
if( gfUIFullTargetFound )
|
||||
{
|
||||
if ( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && MercPtrs[ gusUIFullTargetID ]->bTeam != ENEMY_TEAM && !ValidQuickExchangePosition( ) )
|
||||
if ( IsValidTalkableNPC( gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && MercPtrs[ gusUIFullTargetID ]->bTeam != ENEMY_TEAM && !ValidQuickExchangePosition( ) )
|
||||
{
|
||||
uiMoveTargetSoldierId = gusUIFullTargetID;
|
||||
*puiNewEvent = T_CHANGE_TO_TALKING;
|
||||
@@ -1588,7 +1588,7 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
if ( gfUIFullTargetFound )
|
||||
//if ( gfUIFullTargetFound )
|
||||
{
|
||||
if ( IsValidTargetMerc( (UINT8)gusUIFullTargetID ) )
|
||||
if ( IsValidTargetMerc( gusUIFullTargetID ) )
|
||||
{
|
||||
guiUITargetSoldierId = gusUIFullTargetID;
|
||||
|
||||
@@ -2077,7 +2077,7 @@ void HandleAltMouseRTX2Button(UINT32 *puiNewEvent)
|
||||
// sevenfm: original mouse commands functionality
|
||||
void HandleMouseRTWheel( void )
|
||||
{
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
@@ -2205,7 +2205,7 @@ void HandleMouseRTX2Button( UINT32 *puiNewEvent )
|
||||
// For each guy on squad...
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
INT16 bLoop;
|
||||
BOOLEAN fStealthOn = FALSE;
|
||||
|
||||
// Check if at least one guy is on stealth....
|
||||
|
||||
@@ -1165,7 +1165,7 @@ void AddCrowToCorpse( ROTTING_CORPSE *pCorpse )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT8 ubBodyType = CROW;
|
||||
UINT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
INT32 sGridNo;
|
||||
UINT8 ubDirection;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
@@ -2970,13 +2970,13 @@ void CreateZombiefromCorpse( ROTTING_CORPSE * pCorpse, UINT16 usAnimState )
|
||||
|
||||
MercCreateStruct.fVisible = TRUE;
|
||||
|
||||
INT8 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
/* certain values have to be set afterwards - the alternative would be to edit each and every function that gets called from TacticalCreateSoldier() subsequently and
|
||||
* make an exception for zombies every time...
|
||||
*/
|
||||
SOLDIERTYPE* pNewSoldier = MercPtrs[ (UINT8)iNewIndex ];
|
||||
SOLDIERTYPE* pNewSoldier = MercPtrs[ iNewIndex ];
|
||||
|
||||
pNewSoldier->bActionPoints = 60;
|
||||
pNewSoldier->bInitialActionPoints = 60;
|
||||
|
||||
@@ -299,7 +299,7 @@ INT32 giSKIMessageBox=-1;
|
||||
INT8 gbSelectedArmsDealerID = -1; //Contains the enum value for the currently selected arms dealer
|
||||
|
||||
// Flugente: while we're trading, store the ID of non-NPC dealers
|
||||
UINT8 gusIDOfCivTrader = NOBODY;
|
||||
UINT16 gusIDOfCivTrader = NOBODY;
|
||||
|
||||
//the quote that is in progress, in certain circumstances, we don't want queuing of related but different quotes
|
||||
INT32 giShopKeepDialogueEventinProgress = - 1;
|
||||
@@ -360,7 +360,7 @@ BOOLEAN gfDoneBusinessThisSession = FALSE;
|
||||
// this is used within SKI exclusively, to handle small faces
|
||||
UINT8 gubArrayOfEmployedMercs[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT32 guiSmallSoldiersFace[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ];
|
||||
UINT8 gubNumberMercsInArray;
|
||||
UINT16 gubNumberMercsInArray;
|
||||
|
||||
//The subutitled text for what the merc is saying
|
||||
CHAR16 gsShopKeeperTalkingText[ SKI_SUBTITLE_TEXT_SIZE ];
|
||||
@@ -392,7 +392,7 @@ extern OBJECTTYPE *gpItemDescObject;
|
||||
extern OBJECTTYPE *gpItemDescPrevObject;
|
||||
extern OBJECTTYPE *gpItemDescPrevObject;
|
||||
extern void HandleShortCutExitState( void );
|
||||
extern UINT8 gubSelectSMPanelToMerc;
|
||||
extern UINT16 gubSelectSMPanelToMerc;
|
||||
extern INT32 giItemDescAmmoButton;
|
||||
|
||||
extern BOOLEAN BltVSurfaceUsingDD( HVSURFACE hDestVSurface, HVSURFACE hSrcVSurface, UINT32 fBltFlags, INT32 iDestX, INT32 iDestY, RECT *SrcRect );
|
||||
@@ -875,8 +875,8 @@ BOOLEAN EnterShopKeeperInterface()
|
||||
|
||||
//Reinitialize the team panel to be the SM panel
|
||||
SetCurrentInterfacePanel( SM_PANEL );
|
||||
SetCurrentTacticalPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetSMPanelCurrentMerc( (UINT8)gusSelectedSoldier );
|
||||
SetCurrentTacticalPanelCurrentMerc( gusSelectedSoldier );
|
||||
SetSMPanelCurrentMerc( gusSelectedSoldier );
|
||||
|
||||
// load the Main trade screen background image
|
||||
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
|
||||
@@ -1132,7 +1132,7 @@ BOOLEAN ExitShopKeeperInterface()
|
||||
UnloadButtonImage( guiSKI_InvPageDownButtonImage );
|
||||
|
||||
//loop through the area and delete small faces
|
||||
for (UINT8 ubCnt=0; ubCnt<gubNumberMercsInArray; ++ubCnt)
|
||||
for (UINT16 ubCnt=0; ubCnt<gubNumberMercsInArray; ++ubCnt)
|
||||
{
|
||||
DeleteVideoObjectFromIndex( guiSmallSoldiersFace[ ubCnt ] );
|
||||
}
|
||||
@@ -2466,7 +2466,7 @@ void EnterShopKeeperInterfaceScreen( UINT8 ubArmsDealer )
|
||||
}
|
||||
|
||||
// Flugente: set up shopkeeper with a non-NPC
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT8 aMercID )
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT16 aMercID )
|
||||
{
|
||||
gusIDOfCivTrader = aMercID;
|
||||
|
||||
@@ -5206,7 +5206,7 @@ int CountNumberOfItemsInTheArmsDealersOfferArea( )
|
||||
|
||||
INT8 GetSlotNumberForMerc( UINT8 ubProfile )
|
||||
{
|
||||
for( INT8 bCnt = 0; bCnt < gubNumberMercsInArray; ++bCnt )
|
||||
for( UINT16 bCnt = 0; bCnt < gubNumberMercsInArray; ++bCnt )
|
||||
{
|
||||
if( gubArrayOfEmployedMercs[ bCnt ] == ubProfile )
|
||||
return( bCnt );
|
||||
@@ -6691,7 +6691,7 @@ void AddShopkeeperToGridNo( UINT8 ubProfile, INT32 sGridNo )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sSectorX, sSectorY;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
GetCurrentWorldSector( &sSectorX, &sSectorY );
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ bool RepairmanItemQsortCompare(INVENTORY_IN_SLOT& pInvSlot1, INVENTORY_IN_SLOT&
|
||||
void EnterShopKeeperInterfaceScreen( UINT8 ubArmsDealer );
|
||||
|
||||
// Flugente: set up shopkeeper with a non-NPC
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT8 aMercID );
|
||||
void EnterShopKeeperInterfaceScreen_NonNPC( INT8 ubArmsDealerID, UINT16 aMercID );
|
||||
|
||||
void EnableDisableShopkeeperButtons(UINT32 uiCurrentItemDescriptionScreen, int bpAction);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ std::vector<std::string> gTemplateVector;
|
||||
|
||||
extern void ReadEquipmentTable( SOLDIERTYPE* pSoldier, std::string name );
|
||||
|
||||
extern INT8 bSelectedInfoChar;
|
||||
extern INT16 bSelectedInfoChar;
|
||||
|
||||
// sevenfm: need this for correct calculation of traits menu position
|
||||
extern INT16 gsInterfaceLevel;
|
||||
@@ -395,7 +395,7 @@ SkillSelection::Functions( UINT32 aVal )
|
||||
if ( pSoldier == NULL )
|
||||
return;
|
||||
|
||||
UINT8 ubID = WhoIsThere2(sTraitsMenuTargetGridNo, 0 );
|
||||
UINT16 ubID = WhoIsThere2(sTraitsMenuTargetGridNo, 0 );
|
||||
|
||||
BOOLEAN result = pSoldier->UseSkill(aVal, sTraitsMenuTargetGridNo, ubID);
|
||||
|
||||
|
||||
@@ -1136,8 +1136,7 @@ INT32 FindRandomGridNoBetweenCircles( INT32 sCenterGridNo, UINT8 uInnerRadius, U
|
||||
return(sGridNo);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN InternalAddSoldierToSector( UINT8 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
BOOLEAN InternalAddSoldierToSector(UINT16 ubID, BOOLEAN fCalculateDirection, BOOLEAN fUseAnimation, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
{
|
||||
UINT8 ubDirection = 0;
|
||||
UINT8 ubCalculatedDirection = 0;
|
||||
@@ -1334,20 +1333,19 @@ BOOLEAN InternalAddSoldierToSector( UINT8 ubID, BOOLEAN fCalculateDirection, BOO
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN AddSoldierToSector( UINT8 ubID )
|
||||
BOOLEAN AddSoldierToSector( UINT16 ubID )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSector"));
|
||||
return( InternalAddSoldierToSector( ubID, TRUE, FALSE, 0 , 0) );
|
||||
}
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT8 ubID )
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT16 ubID )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSectorNoCalculateDirection"));
|
||||
return( InternalAddSoldierToSector( ubID, FALSE, FALSE, 0, 0 ) );
|
||||
}
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode )
|
||||
{
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddSoldierToSectorNoCalculateDirectionUseAnimation"));
|
||||
return( InternalAddSoldierToSector( ubID, FALSE, TRUE, usAnimState, usAnimCode ) );
|
||||
@@ -1777,8 +1775,8 @@ void AddSoldierToSectorGridNo( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT8 ubDir
|
||||
BOOLEAN IsMercOnTeam(UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive)
|
||||
{
|
||||
UINT16 cnt;
|
||||
UINT8 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT16 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
ubLastTeamID = gTacticalStatus.Team[ OUR_TEAM ].bLastID;
|
||||
|
||||
@@ -30,11 +30,11 @@ INT32 FindRandomGridNoBetweenCircles( INT32 sCenterGridNo, UINT8 uInnerRadius, U
|
||||
|
||||
// Adds a soldier ( already created in mercptrs[] array )!
|
||||
// Finds a good placement based on data in the loaded sector and if they are enemy's or not, etc...
|
||||
BOOLEAN AddSoldierToSector( UINT8 ubID );
|
||||
BOOLEAN AddSoldierToSector( UINT16 ubID );
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT8 ubID );
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirection( UINT16 ubID );
|
||||
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
|
||||
// IsMercOnTeam() checks to see if the passed in Merc Profile ID is currently on the player's team
|
||||
BOOLEAN IsMercOnTeam( UINT8 ubMercID, BOOLEAN aAlreadyInCountry, BOOLEAN aAlive );
|
||||
|
||||
+18
-19
@@ -107,10 +107,10 @@ BOOLEAN HandleUnjamAnimation( SOLDIERTYPE *pSoldier );
|
||||
|
||||
extern void HandleSystemNewAISituation( SOLDIERTYPE *pSoldier, BOOLEAN fResetABC );
|
||||
extern void PlaySoldierFootstepSound( SOLDIERTYPE *pSoldier );
|
||||
extern UINT8 NumCapableEnemyInSector( );
|
||||
extern UINT16 NumCapableEnemyInSector( );
|
||||
extern BOOLEAN gfKillingGuysForLosingBattle;
|
||||
|
||||
extern UINT8 gubInterruptProvoker;
|
||||
extern UINT16 gubInterruptProvoker;
|
||||
|
||||
extern UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOLEAN fHipStance );
|
||||
|
||||
@@ -1167,7 +1167,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
if (pSoldier->bTeam == 0 || (pSoldier->bTeam == 1 && is_server))
|
||||
{
|
||||
send_grenade( pSoldier->pTempObject , pSoldier->pThrowParams->dLifeSpan, pSoldier->pThrowParams->dX, pSoldier->pThrowParams->dY, pSoldier->pThrowParams->dZ, pSoldier->pThrowParams->dForceX, pSoldier->pThrowParams->dForceY, pSoldier->pThrowParams->dForceZ, pSoldier->sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iRealObjectID , true);
|
||||
send_grenade( pSoldier->pTempObject, pSoldier->pThrowParams->dLifeSpan, pSoldier->pThrowParams->dX, pSoldier->pThrowParams->dY, pSoldier->pThrowParams->dZ, pSoldier->pThrowParams->dForceX, pSoldier->pThrowParams->dForceY, pSoldier->pThrowParams->dForceZ, pSoldier->sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iRealObjectID, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1789,7 +1789,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
pSoldier->uiTimeOfLastRandomAction = 0;
|
||||
|
||||
// Don't play these generally if this is the guy selected by player, as this one is "awaiting orders"
|
||||
if (pSoldier->ubID != (UINT8)gusSelectedSoldier || Random( 10 ) == 0 )
|
||||
if (pSoldier->ubID != gusSelectedSoldier || Random( 10 ) == 0 )
|
||||
{
|
||||
// Don't do any in water!
|
||||
// Also don't play if we are in the middle of something
|
||||
@@ -3130,7 +3130,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
|
||||
// Reload robot....
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
SOLDIERTYPE *pRobot;
|
||||
|
||||
// Get pointer...
|
||||
@@ -3307,7 +3307,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
// REFUELING A VEHICLE
|
||||
// THE GAS_CAN IS IN THE MERCS MAIN HAND AT THIS TIME
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
SOLDIERTYPE *pVehicle;
|
||||
|
||||
// Get pointer to vehicle...
|
||||
@@ -3559,13 +3559,13 @@ BOOLEAN ShouldMercSayHappyWithGunQuote( SOLDIERTYPE *pSoldier )
|
||||
void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
std::vector<INT8> bBuddyIndex (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, -1);
|
||||
// INT8 bBuddyIndex[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { -1 };
|
||||
INT8 bTempBuddyIndex;
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
UINT16 usQuoteNum;
|
||||
@@ -3651,7 +3651,7 @@ void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo,
|
||||
}
|
||||
|
||||
// OK, a good candidate...
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
bBuddyIndex[ ubNumMercs ] = bTempBuddyIndex;
|
||||
++ubNumMercs;
|
||||
}
|
||||
@@ -3661,7 +3661,7 @@ void SayBuddyWitnessedQuoteFromKill( SOLDIERTYPE *pKillerSoldier, INT32 sGridNo,
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
switch( bBuddyIndex[ ubChosenMerc ] )
|
||||
{
|
||||
@@ -3751,10 +3751,9 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
std::vector<UINT8> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
// UINT8 ubMercsInSector[ CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS ] = { 0 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc;
|
||||
std::vector<UINT16> ubMercsInSector (CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS, 0);
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc;
|
||||
BOOLEAN fDoSomeoneElse = FALSE;
|
||||
|
||||
gfLastMercTalkedAboutKillingID = pKilledSoldier->ubID;
|
||||
@@ -3822,7 +3821,7 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
// Can we see location?
|
||||
if ( SoldierTo3DLocationLineOfSightTest( pTeamSoldier, sGridNo, bLevel, 3, TRUE, CALC_FROM_ALL_DIRS ) )
|
||||
{
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT8)cnt;
|
||||
ubMercsInSector[ ubNumMercs ] = (UINT16)cnt;
|
||||
ubNumMercs++;
|
||||
}
|
||||
}
|
||||
@@ -3832,7 +3831,7 @@ void HandleKilledQuote( SOLDIERTYPE *pKilledSoldier, SOLDIERTYPE *pKillerSoldier
|
||||
// Did we find anybody?
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
// We have a random chance of not saying our we killed a guy quote
|
||||
if ( Random( 100 ) < 50 )
|
||||
@@ -4000,8 +3999,8 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
{
|
||||
//////////////////////////////////////////////////////////////
|
||||
// SANDRO - some changes here
|
||||
UINT8 ubAttacker = pSoldier->ubAttackerID;
|
||||
UINT8 ubAssister = pSoldier->ubPreviousAttackerID;
|
||||
UINT16 ubAttacker = pSoldier->ubAttackerID;
|
||||
UINT16 ubAssister = pSoldier->ubPreviousAttackerID;
|
||||
// If attacker is nobody, and we died, then set the last attacker(if exists) as our killer
|
||||
if ( ubAttacker == NOBODY )
|
||||
{
|
||||
|
||||
@@ -157,7 +157,7 @@ extern BOOLEAN gfShiftBombPlant;
|
||||
#include "connect.h"
|
||||
|
||||
extern void TeleportSelectedSoldier( void );
|
||||
extern BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT8 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
extern BOOLEAN AddSoldierToSectorNoCalculateDirectionUseAnimation( UINT16 ubID, UINT16 usAnimState, UINT16 usAnimCode );
|
||||
|
||||
// Flugente: external sector data
|
||||
extern SECTOR_EXT_DATA SectorExternalData[256][4];
|
||||
@@ -695,7 +695,7 @@ SOLDIERTYPE& SOLDIERTYPE::operator=(const OLDSOLDIERTYPE_101& src)
|
||||
this->sLastTwoLocations[1] = src.sLastTwoLocations[1];
|
||||
|
||||
this->ubID = src.ubID;
|
||||
this->bReserved1 = src.bReserved1;
|
||||
//this->bReserved1 = src.bReserved1;
|
||||
|
||||
this->ubBodyType = src.ubBodyType;
|
||||
this->bActionPoints = src.bActionPoints;
|
||||
@@ -1730,7 +1730,7 @@ void AdjustForFastTurnAnimation( SOLDIERTYPE *pSoldier );
|
||||
UINT16 SelectFireAnimation( SOLDIERTYPE *pSoldier, UINT8 ubHeight );
|
||||
void SelectFallAnimation( SOLDIERTYPE *pSoldier );
|
||||
BOOLEAN FullStructAlone( INT32 sGridNo, UINT8 ubRadius );
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitBlade( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitPunch( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
void SoldierGotHitExplosion( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
@@ -5870,9 +5870,9 @@ UINT16 PickSoldierReadyAnimation( SOLDIERTYPE *pSoldier, BOOLEAN fEndReady, BOOL
|
||||
// extern SOLDIERTYPE * FreeUpAttackerGivenTarget( UINT8 ubID, UINT8 ubTargetID );
|
||||
// extern SOLDIERTYPE * ReduceAttackBusyGivenTarget( UINT8 ubID, UINT8 ubTargetID );
|
||||
|
||||
|
||||
#pragma optimize("", off)
|
||||
// ATE: THIS FUNCTION IS USED FOR ALL SOLDIER TAKE DAMAGE FUNCTIONS!
|
||||
void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGrid )
|
||||
void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGrid )
|
||||
{
|
||||
UINT8 ubCombinedLoss, ubVolume, ubReason;
|
||||
// SOLDIERTYPE * pNewSoldier;
|
||||
@@ -6603,12 +6603,18 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
if ( Item[usWeaponIndex].usItemClass & IC_GUN )
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_GUNFIRE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID );
|
||||
if (ubAttackerID != NOBODY)
|
||||
{
|
||||
PossiblyStartEnemyTaunt(MercPtrs[ubAttackerID], TAUNT_HIT_GUNFIRE, this->ubID);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PossiblyStartEnemyTaunt( this, TAUNT_GOT_HIT_THROWING_KNIFE, ubAttackerID );
|
||||
PossiblyStartEnemyTaunt( MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID );
|
||||
if (ubAttackerID != NOBODY)
|
||||
{
|
||||
PossiblyStartEnemyTaunt(MercPtrs[ubAttackerID], TAUNT_HIT_THROWING_KNIFE, this->ubID);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( Item[usWeaponIndex].usItemClass & IC_BLADE )
|
||||
@@ -6637,7 +6643,7 @@ void SOLDIERTYPE::EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 sDamage, INT1
|
||||
// anv: taunts are called from UseHandToHand()
|
||||
}
|
||||
}
|
||||
|
||||
#pragma optimize("", on)
|
||||
UINT8 CalcScreamVolume( SOLDIERTYPE * pSoldier, UINT8 ubCombinedLoss )
|
||||
{
|
||||
// NB explosions are so loud they should drown out screams
|
||||
@@ -6719,7 +6725,7 @@ void DoGenericHit( SOLDIERTYPE *pSoldier, UINT8 ubSpecial, INT16 bDirection )
|
||||
}
|
||||
|
||||
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
void SoldierGotHitGunFire( SOLDIERTYPE *pSoldier, UINT16 usWeaponIndex, INT16 sDamage, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
{
|
||||
INT32 usNewGridNo;
|
||||
BOOLEAN fBlownAway = FALSE;
|
||||
@@ -9740,7 +9746,7 @@ void SOLDIERTYPE::BeginSoldierClimbUpRoof(void)
|
||||
}
|
||||
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if (FindHeigherLevel(this, this->sGridNo, this->ubDirection, &bNewDirection) && (this->pathing.bLevel == 0))
|
||||
{
|
||||
@@ -9914,7 +9920,7 @@ void SOLDIERTYPE::BeginSoldierClimbWindow( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbWall( void )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindWallJumpDirection( this, this->sGridNo, this->ubDirection, &bNewDirection ) && (this->pathing.bLevel == 0) )
|
||||
{
|
||||
@@ -9951,7 +9957,7 @@ void SOLDIERTYPE::BeginSoldierClimbWall( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbWallUp( void )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindLowerLevelWall( this, this->sGridNo, this->ubDirection, &bNewDirection ) && (this->pathing.bLevel > 0) )
|
||||
{
|
||||
@@ -10249,7 +10255,7 @@ void HandleTakeDamageDeath( SOLDIERTYPE *pSoldier, UINT8 bOldLife, UINT8 ubReaso
|
||||
}
|
||||
|
||||
|
||||
UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathLoss, UINT8 ubReason, UINT8 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage )
|
||||
UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathLoss, UINT8 ubReason, UINT16 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage )
|
||||
{
|
||||
#ifdef JA2BETAVERSION
|
||||
if ( is_networked ) {
|
||||
@@ -11573,7 +11579,7 @@ BOOLEAN SOLDIERTYPE::CheckSoldierHitRoof( void )
|
||||
void SOLDIERTYPE::BeginSoldierClimbDownRoof(void)
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if (FindLowerLevel(this, this->sGridNo, this->ubDirection, &bNewDirection) && (this->pathing.bLevel > 0))
|
||||
{
|
||||
@@ -12835,7 +12841,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginBladeAttack( INT32 sGridNo, UINT8 ubDirectio
|
||||
if ( this->flags.uiStatusFlags & SOLDIER_MONSTER )
|
||||
{
|
||||
// Is there an unconscious guy at gridno......
|
||||
UINT8 ubTargetID = WhoIsThere2( sGridNo, this->bTargetLevel );
|
||||
UINT16 ubTargetID = WhoIsThere2( sGridNo, this->bTargetLevel );
|
||||
|
||||
if ( ubTargetID != NOBODY && ((MercPtrs[ubTargetID]->stats.bLife < OKLIFE && MercPtrs[ubTargetID]->stats.bLife > 0) || (MercPtrs[ubTargetID]->bBreath < OKBREATH && MercPtrs[ubTargetID]->bCollapsed)) )
|
||||
{
|
||||
@@ -13573,7 +13579,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginFirstAid( INT32 sGridNo, UINT8 ubDirection )
|
||||
this->sTargetGridNo = sGridNo;
|
||||
|
||||
// SET PARTNER ID
|
||||
this->ubServicePartner = (UINT8)usSoldierIndex;
|
||||
this->ubServicePartner = usSoldierIndex;
|
||||
|
||||
// SET PARTNER'S COUNT REFERENCE
|
||||
pTSoldier->ubServiceCount++;
|
||||
@@ -15104,7 +15110,7 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
if ( !IsLocationSittable( nextGridNoinSight, 0 ) )
|
||||
{
|
||||
// resting our gun on people is allowed sometimes
|
||||
UINT usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
if ( usPersonID == NOBODY )
|
||||
applybipod = TRUE;
|
||||
else
|
||||
@@ -15178,7 +15184,7 @@ BOOLEAN SOLDIERTYPE::IsWeaponMounted( void )
|
||||
if ( !IsLocationSittable( nextGridNoinSight, 0 ) )
|
||||
{
|
||||
// resting our gun on people is allowed sometimes
|
||||
UINT usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 usPersonID = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
if ( usPersonID == NOBODY )
|
||||
applybipod = TRUE;
|
||||
else
|
||||
@@ -15480,7 +15486,7 @@ void SOLDIERTYPE::InventoryExplosion( void )
|
||||
}
|
||||
|
||||
// Flugente: do we currently provide ammo (pAmmoSlot) for someone else's (pubId) gun (pGunSlot)?
|
||||
BOOLEAN SOLDIERTYPE::IsFeedingExternal( UINT8* pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT8* pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2 )
|
||||
BOOLEAN SOLDIERTYPE::IsFeedingExternal( UINT16 * pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT16 * pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2 )
|
||||
{
|
||||
// make sure we have to check this...
|
||||
if ( gGameExternalOptions.ubExternalFeeding == 0 )
|
||||
@@ -16166,7 +16172,7 @@ BOOLEAN SOLDIERTYPE::EquipmentTooGood( BOOLEAN fCloselook )
|
||||
|
||||
|
||||
// are we in covert mode? we need to have the correct flag set, and not wear anything suspicious, or behave in a suspicious way
|
||||
BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
BOOLEAN SOLDIERTYPE::SeemsLegit( UINT16 ubObserverID )
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = MercPtrs[ubObserverID];
|
||||
|
||||
@@ -16454,7 +16460,7 @@ BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
}
|
||||
|
||||
// do we recognize someone else as a combatant?
|
||||
BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT8 ubTargetID )
|
||||
BOOLEAN SOLDIERTYPE::RecognizeAsCombatant( UINT16 ubTargetID )
|
||||
{
|
||||
// this will only work with the new trait system
|
||||
if ( !gGameOptions.fNewTraitSystem )
|
||||
@@ -16550,7 +16556,7 @@ void SOLDIERTYPE::LooseDisguise( void )
|
||||
|
||||
// rehandle sight for everybody
|
||||
SOLDIERTYPE* pSoldier;
|
||||
UINT8 iLoop = gTacticalStatus.Team[OUR_TEAM].bFirstID;
|
||||
UINT16 iLoop = gTacticalStatus.Team[OUR_TEAM].bFirstID;
|
||||
for ( pSoldier = MercPtrs[iLoop]; iLoop <= gTacticalStatus.Team[CIV_TEAM].bLastID; ++iLoop, ++pSoldier )
|
||||
{
|
||||
if ( pSoldier->bActive && pSoldier->bInSector && pSoldier->stats.bLife > 0 )
|
||||
@@ -16793,7 +16799,7 @@ BOOLEAN SOLDIERTYPE::FreePrisoner( )
|
||||
// we can only free people we are facing
|
||||
INT32 nextGridNoinSight = NewGridNo( this->sGridNo, DirectionInc( this->ubDirection ) );
|
||||
|
||||
UINT8 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
|
||||
// is there somebody?
|
||||
if ( target != NOBODY )
|
||||
@@ -19050,7 +19056,7 @@ BOOLEAN SOLDIERTYPE::OrderArtilleryStrike( UINT32 usSectorNr, INT32 sTargetGridN
|
||||
|
||||
// as of 2013-09-25, I say it is no longer necessary to fire a signal shell first. The player can fire a signal shell (by mortar or hand) manually to mark one or more targets if he wants
|
||||
// if he does not do so, active vox operators will be targetted. Who knows, the vox operator might be doing a heroic last stand for all we know...
|
||||
UINT8 radiooperatorID = 0;
|
||||
UINT16 radiooperatorID = 0;
|
||||
//BOOLEAN signalshellfired = FALSE;
|
||||
UINT8 mortaritemcnt = 0;
|
||||
UINT16 mortararray[5];
|
||||
@@ -19585,7 +19591,7 @@ BOOLEAN SOLDIERTYPE::AIDoctorFriend( )
|
||||
// we can only free people we are facing
|
||||
INT32 nextGridNoinSight = NewGridNo( this->sGridNo, DirectionInc( this->ubDirection ) );
|
||||
|
||||
UINT8 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
UINT16 target = WhoIsThere2( nextGridNoinSight, this->pathing.bLevel );
|
||||
|
||||
// is there somebody?
|
||||
if ( target != NOBODY )
|
||||
@@ -22573,7 +22579,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginCutFence( INT32 sGridNo, UINT8 ubDirection )
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginRepair( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
INT8 bRepairItem;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// Make sure we have a structure here....
|
||||
bRepairItem = IsRepairableStructAtGridNo( sGridNo, &ubID );
|
||||
@@ -22618,7 +22624,7 @@ void SOLDIERTYPE::EVENT_SoldierBeginRepair( INT32 sGridNo, UINT8 ubDirection )
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginRefuel( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
INT8 bRefuelItem;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// Make sure we have a structure here....
|
||||
bRefuelItem = IsRefuelableStructAtGridNo( sGridNo, &ubID );
|
||||
@@ -22792,7 +22798,7 @@ void SOLDIERTYPE::EVENT_SoldierHandcuffPerson( INT32 sGridNo, UINT8 ubDirection
|
||||
if ( !gGameExternalOptions.fAllowPrisonerSystem )
|
||||
return;
|
||||
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && MercPtrs[ubPerson]->CanBeCaptured( ) )
|
||||
{
|
||||
@@ -22935,7 +22941,7 @@ void SOLDIERTYPE::EVENT_SoldierHandcuffPerson( INT32 sGridNo, UINT8 ubDirection
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY )
|
||||
{
|
||||
@@ -23071,7 +23077,7 @@ void SOLDIERTYPE::EVENT_SoldierApplyItemToPerson( INT32 sGridNo, UINT8 ubDirecti
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierTakeBloodFromPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && ubPerson != this->ubID )
|
||||
{
|
||||
@@ -23142,7 +23148,7 @@ void SOLDIERTYPE::EVENT_SoldierTakeBloodFromPerson( INT32 sGridNo, UINT8 ubDirec
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierApplySplintToPerson( INT32 sGridNo, UINT8 ubDirection )
|
||||
{
|
||||
UINT8 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
UINT16 ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
|
||||
if ( ubPerson != NOBODY && ubPerson != this->ubID )
|
||||
{
|
||||
@@ -23211,7 +23217,7 @@ void SOLDIERTYPE::EVENT_SoldierInteractiveAction( INT32 sGridNo, UINT16 usAction
|
||||
|
||||
void SOLDIERTYPE::EVENT_SoldierBeginReloadRobot( INT32 sGridNo, UINT8 ubDirection, UINT8 ubMercSlot )
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
|
||||
// Make sure we have a robot here....
|
||||
ubPerson = WhoIsThere2( sGridNo, this->pathing.bLevel );
|
||||
@@ -23442,7 +23448,7 @@ void AbandonBoxingDueToSurrenderCallback(UINT8 ubExitValue)
|
||||
}
|
||||
|
||||
SOLDIERTYPE *pTMilitiaSoldier;//global pointer
|
||||
BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValidate )
|
||||
BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT16 ubTargetID, BOOLEAN fValidate )
|
||||
{
|
||||
INT16 sFacingDir, sXPos, sYPos, sAPCost;
|
||||
SOLDIERTYPE *pTSoldier;
|
||||
@@ -23460,7 +23466,7 @@ BOOLEAN SOLDIERTYPE::PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValid
|
||||
{
|
||||
// OK, since we locked this guy from moving
|
||||
// we should be close enough, so talk ( unless he is now dead )
|
||||
if ( !IsValidTalkableNPC( (UINT8)ubTargetID, FALSE, FALSE, FALSE ) )
|
||||
if ( !IsValidTalkableNPC( ubTargetID, FALSE, FALSE, FALSE ) )
|
||||
{
|
||||
return(FALSE);
|
||||
}
|
||||
@@ -24386,7 +24392,7 @@ void SetSoldierPersonalLightLevel( SOLDIERTYPE *pSoldier )
|
||||
void BeginSoldierClimbWallUp( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
INT8 bNewDirection;
|
||||
UINT8 ubWhoIsThere;
|
||||
UINT16 ubWhoIsThere;
|
||||
|
||||
if ( FindLowerLevelWall( pSoldier, pSoldier->sGridNo, pSoldier->ubDirection, &bNewDirection ) && (pSoldier->pathing.bLevel > 0) )
|
||||
{
|
||||
@@ -24724,7 +24730,7 @@ INT8 NUM_SKILL_TRAITS( SOLDIERTYPE * pSoldier, UINT8 uiSkillTraitNumber )
|
||||
|
||||
UINT8 GetSquadleadersCountInVicinity( SOLDIERTYPE * pSoldier, BOOLEAN fWithHigherLevel, BOOLEAN fDontCheckDistance )
|
||||
{
|
||||
UINT8 cnt = 0;
|
||||
UINT16 cnt = 0;
|
||||
UINT8 ubNumberSL = 0;
|
||||
|
||||
// loop through all soldiers around
|
||||
@@ -25091,7 +25097,7 @@ BOOLEAN ResolvePendingInterrupt( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType )
|
||||
/////////////////////////////
|
||||
SOLDIERTYPE *pInterrupter;
|
||||
UINT8 ubInterruptersFound = 0;
|
||||
UINT8 ubaInterruptersList[64];
|
||||
UINT16 ubaInterruptersList[64];
|
||||
UINT16 uCnt = 0, uiReactionTime;
|
||||
INT16 iInjuryPenalty;
|
||||
|
||||
@@ -25609,7 +25615,7 @@ UINT16 GridNoSpotterCTHBonus( SOLDIERTYPE* pSniper, INT32 sGridNo, INT8 bTeam )
|
||||
{
|
||||
BOOLEAN targetseen = FALSE;
|
||||
|
||||
UINT usID = WhoIsThere2( sGridNo, pSniper->bTargetLevel );
|
||||
UINT16 usID = WhoIsThere2( sGridNo, pSniper->bTargetLevel );
|
||||
|
||||
// is someone is at the sGridNo, check wether the spotter can see any part of him check wether head can be seen)
|
||||
if ( usID != NOBODY && SoldierToSoldierLineOfSightTest( pSoldier, MercPtrs[usID], 0, NO_DISTANCE_LIMIT, AIM_SHOT_HEAD ) > 0 )
|
||||
|
||||
+21
-22
@@ -809,7 +809,7 @@ public:
|
||||
INT32 sNoiseGridno;
|
||||
UINT8 ubNoiseVolume;
|
||||
INT8 bLastAttackHit;
|
||||
UINT8 ubXRayedBy;
|
||||
UINT16 ubXRayedBy;
|
||||
FLOAT dHeightAdjustment;
|
||||
INT8 bMorale;
|
||||
INT8 bTeamMoraleMod;
|
||||
@@ -829,7 +829,7 @@ public:
|
||||
INT8 bMoved;
|
||||
INT8 bHunting;
|
||||
UINT8 ubLastCall;
|
||||
UINT8 ubCaller;
|
||||
UINT16 ubCaller;
|
||||
INT32 sCallerGridNo;
|
||||
UINT8 bCallPriority;
|
||||
INT8 bCallActedUpon;
|
||||
@@ -1096,8 +1096,7 @@ public:
|
||||
// properly until it is all fixed and the files updated.
|
||||
public:
|
||||
// ID
|
||||
UINT8 ubID;
|
||||
UINT8 bReserved1;
|
||||
UINT16 ubID;
|
||||
CHAR16 name[ 10 ];
|
||||
|
||||
INT16 GetMaxDistanceVisible(INT32 sGridNo = -1, INT8 bLevel = -1, int calcAsType = -1);
|
||||
@@ -1128,7 +1127,7 @@ public:
|
||||
UINT8 ubWaitActionToDo;
|
||||
INT8 ubInsertionDirection;
|
||||
INT8 bGunType;
|
||||
UINT8 ubOppNum;
|
||||
UINT16 ubOppNum;
|
||||
INT8 bLastRenderVisibleValue;
|
||||
UINT8 ubAttackingHand;
|
||||
INT16 sWeightCarriedAtTurnStart;
|
||||
@@ -1185,8 +1184,8 @@ public:
|
||||
|
||||
UINT32 uiAIDelay;
|
||||
INT16 sReloadDelay;
|
||||
UINT8 ubAttackerID;
|
||||
UINT8 ubPreviousAttackerID;
|
||||
UINT16 ubAttackerID;
|
||||
UINT16 ubPreviousAttackerID;
|
||||
|
||||
INT32 sInsertionGridNo;
|
||||
|
||||
@@ -1255,7 +1254,7 @@ public:
|
||||
UINT16 *pCurrentShade;
|
||||
UINT8 ubFadeLevel;
|
||||
UINT8 ubServiceCount;
|
||||
UINT8 ubServicePartner;
|
||||
UINT16 ubServicePartner;
|
||||
THROW_PARAMS *pThrowParams;
|
||||
INT8 bReverse;
|
||||
LEVELNODE *pLevelNode;
|
||||
@@ -1391,7 +1390,7 @@ public:
|
||||
|
||||
UINT8 ubSoldierClass; //admin, elite, troop (creature types?) Nav: 2 seems to mean elite, 3 troop so admin is 1
|
||||
UINT8 ubAPsLostToSuppression;
|
||||
UINT8 ubSuppressorID;
|
||||
UINT16 ubSuppressorID;
|
||||
|
||||
//Squad merging vars
|
||||
UINT8 ubDesiredSquadAssignment;
|
||||
@@ -1410,7 +1409,7 @@ public:
|
||||
INT8 bBlockedByAnotherMercDirection;
|
||||
UINT16 usAttackingWeapon;
|
||||
INT8 bWeaponMode;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
INT8 bAIScheduleProgress;
|
||||
INT32 sOffWorldGridNo;
|
||||
struct TAG_anitile *pAniTile;
|
||||
@@ -1431,8 +1430,8 @@ public:
|
||||
INT8 bOldBattleSnd;
|
||||
INT32 iBurstSoundID;
|
||||
INT8 bSlotItemTakenFrom;
|
||||
UINT8 ubAutoBandagingMedic;
|
||||
UINT8 ubRobotRemoteHolderID;
|
||||
UINT16 ubAutoBandagingMedic;
|
||||
UINT16 ubRobotRemoteHolderID;
|
||||
UINT32 uiTimeOfLastContractUpdate;
|
||||
INT8 bTypeOfLastContract;
|
||||
INT8 bTurnsCollapsed;
|
||||
@@ -1457,7 +1456,7 @@ public:
|
||||
INT8 bRegenBoostersUsedToday; // Flugente: not used anymore!
|
||||
INT8 bNumPelletsHitBy;
|
||||
INT32 sSkillCheckGridNo;
|
||||
UINT8 ubLastEnemyCycledID;
|
||||
UINT16 ubLastEnemyCycledID;
|
||||
|
||||
UINT8 ubPrevSectorID;
|
||||
UINT8 ubNumTilesMovesSinceLastForget;
|
||||
@@ -1468,7 +1467,7 @@ public:
|
||||
|
||||
UINT8 ubNumLocateCycles;
|
||||
UINT8 ubDelayedMovementFlags;
|
||||
UINT8 ubCTGTTargetID;
|
||||
UINT16 ubCTGTTargetID;
|
||||
|
||||
UINT32 uiMercChecksum;
|
||||
|
||||
@@ -1508,7 +1507,7 @@ public:
|
||||
UINT8 ubLastDamageReason;
|
||||
INT32 sLastTwoLocations[2];
|
||||
INT32 uiTimeSinceLastBleedGrunt;
|
||||
UINT8 ubNextToPreviousAttackerID;
|
||||
UINT16 ubNextToPreviousAttackerID;
|
||||
UINT8 bDoAutofire;
|
||||
INT8 numFlanks;
|
||||
INT32 lastFlankSpot;
|
||||
@@ -1539,7 +1538,7 @@ public:
|
||||
UINT8 ubMilitiaAssists; // Flugente: stores militia assists
|
||||
INT8 sNonNPCTraderID; // Flugente: we can set up non-NPC soldiers to be merchants, we store their dealer id here (value > 0 means arms dealer entry x)
|
||||
//INT8 bUnusedINT8_3;
|
||||
UINT8 usDragPersonID; // Flugente: id of person we are dragging
|
||||
UINT16 usDragPersonID; // Flugente: id of person we are dragging
|
||||
|
||||
//INT16 bUnusedINT16_4;
|
||||
INT16 sDragCorpseID; // Flugente: id of corpse we are dragging
|
||||
@@ -1676,7 +1675,7 @@ public:
|
||||
void EVENT_SetSoldierDirection( UINT16 usNewDirection );
|
||||
void EVENT_SetSoldierDesiredDirection( UINT16 usNewDirection );
|
||||
void EVENT_FireSoldierWeapon( INT32 sTargetGridNo );
|
||||
void EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 ubDamage, INT16 sBreathLoss, UINT16 bDirection , UINT16 sRange, UINT8 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGridNo );
|
||||
void EVENT_SoldierGotHit( UINT16 usWeaponIndex, INT16 ubDamage, INT16 sBreathLoss, UINT16 bDirection, UINT16 sRange, UINT16 ubAttackerID, UINT8 ubSpecial, UINT8 ubHitLocation, INT16 sSubsequent, INT32 sLocationGridNo );
|
||||
void EVENT_SoldierBeginBladeAttack( INT32 sGridNo, UINT8 ubDirection );
|
||||
void EVENT_SoldierBeginPunchAttack( INT32 sGridNo, UINT8 ubDirection );
|
||||
void EVENT_SoldierBeginFirstAid( INT32 sGridNo, UINT8 ubDirection );
|
||||
@@ -1717,7 +1716,7 @@ public:
|
||||
void ChangeSoldierStance( UINT8 ubDesiredStance );
|
||||
void StopSoldier( void );
|
||||
void ReviveSoldier( void );
|
||||
UINT8 SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathDeduct, UINT8 ubReason, UINT8 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage );
|
||||
UINT8 SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBreathDeduct, UINT8 ubReason, UINT16 ubAttacker, INT32 sSourceGrid, INT16 sSubsequent, BOOLEAN fShowDamage );
|
||||
|
||||
|
||||
// Palette functions for soldiers
|
||||
@@ -1810,7 +1809,7 @@ public:
|
||||
|
||||
BOOLEAN CheckSoldierHitRoof( void );
|
||||
BOOLEAN CheckForBreathCollapse( void );
|
||||
BOOLEAN PlayerSoldierStartTalking( UINT8 ubTargetID, BOOLEAN fValidate );
|
||||
BOOLEAN PlayerSoldierStartTalking( UINT16 ubTargetID, BOOLEAN fValidate );
|
||||
BOOLEAN InternalIsValidStance( INT8 bDirection, INT8 bNewStance );
|
||||
BOOLEAN IsValidSecondHandShot( void );
|
||||
BOOLEAN IsValidSecondHandBurst( void );
|
||||
@@ -1841,7 +1840,7 @@ public:
|
||||
void InventoryExplosion( void );
|
||||
|
||||
// Flugente: do we currently provide ammo (pAmmoSlot) for someone else's (pubId) gun (pGunSlot)?
|
||||
BOOLEAN IsFeedingExternal(UINT8* pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT8* pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2);
|
||||
BOOLEAN IsFeedingExternal(UINT16 * pubId1, UINT16* pGunSlot1, UINT16* pAmmoSlot1, UINT16 * pubId2, UINT16* pGunSlot2, UINT16* pAmmoSlot2);
|
||||
|
||||
// Flugente: return first found object with a specific flag from our inventory
|
||||
OBJECTTYPE* GetObjectWithFlag( UINT64 aFlag );
|
||||
@@ -1861,10 +1860,10 @@ public:
|
||||
BOOLEAN EquipmentTooGood( BOOLEAN fCloselook );
|
||||
|
||||
// does soldier ubObserverID recognize us as his enemy?
|
||||
BOOLEAN SeemsLegit( UINT8 ubObserverID );
|
||||
BOOLEAN SeemsLegit( UINT16 ubObserverID );
|
||||
|
||||
// do we recognize someone else as a combatant?
|
||||
BOOLEAN RecognizeAsCombatant(UINT8 ubTargetID);
|
||||
BOOLEAN RecognizeAsCombatant(UINT16 ubTargetID);
|
||||
|
||||
// loose covert property
|
||||
void LooseDisguise( void );
|
||||
|
||||
+30
-29
@@ -576,15 +576,15 @@ void DecideToAssignSniperOrders( SOLDIERCREATE_STRUCT * pp )
|
||||
// This causes an issue if someone enters a sector from an adjacent sector - they should be affected by their point of origin, not the current sector
|
||||
// For this reason, we add a little helper variable that stores such a sector.
|
||||
INT16 gsStrategicDiseaseOriginSector = -1;
|
||||
|
||||
SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID )
|
||||
#pragma optimize("", off)
|
||||
SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT16 * pubID )
|
||||
{
|
||||
SOLDIERTYPE Soldier;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
BOOLEAN fGuyAvail = FALSE;
|
||||
UINT8 bLastTeamID;
|
||||
UINT8 ubVehicleID = 0;
|
||||
SOLDIERTYPE Soldier;
|
||||
INT32 cnt;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
BOOLEAN fGuyAvail = FALSE;
|
||||
UINT16 bLastTeamID;
|
||||
UINT8 ubVehicleID = 0;
|
||||
|
||||
*pubID = NOBODY;
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("TacticalCreateSoldier"));
|
||||
@@ -800,7 +800,7 @@ SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *
|
||||
}
|
||||
|
||||
// OK, set ID
|
||||
Soldier.ubID = (UINT8)cnt;
|
||||
Soldier.ubID = (UINT16)cnt;
|
||||
*pubID = Soldier.ubID;
|
||||
}
|
||||
|
||||
@@ -1273,6 +1273,7 @@ SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *
|
||||
return pSoldier;
|
||||
}
|
||||
}
|
||||
#pragma optimize("", on)
|
||||
|
||||
BOOLEAN TacticalCopySoldierFromProfile( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCreateStruct )
|
||||
{
|
||||
@@ -1843,9 +1844,9 @@ BOOLEAN TacticalCopySoldierFromCreateStruct( SOLDIERTYPE *pSoldier, SOLDIERCREAT
|
||||
{
|
||||
if ( HAS_SKILL_TRAIT( pSoldier, SQUADLEADER_NT) )
|
||||
{
|
||||
UINT8 numenemies = NumEnemyInSector();
|
||||
UINT16 numenemies = NumEnemyInSector();
|
||||
UINT8 officertype = OFFICER_NONE;
|
||||
UINT8 numofficers = HighestEnemyOfficersInSector( officertype );
|
||||
UINT16 numofficers = HighestEnemyOfficersInSector( officertype );
|
||||
|
||||
// this guy becomes an officer if there are enough soldiers around, and we aren't already at max of officers
|
||||
if ( numenemies > gGameExternalOptions.usEnemyOfficersPerTeamSize * numofficers && numofficers < gGameExternalOptions.usEnemyOfficersMax && !RebelCommand::NeutraliseRole(pSoldier) )
|
||||
@@ -3083,7 +3084,7 @@ SOLDIERTYPE* TacticalCreateAdministrator()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3116,7 +3117,7 @@ SOLDIERTYPE* TacticalCreateArmyTroop()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3150,7 +3151,7 @@ SOLDIERTYPE* TacticalCreateEliteEnemy()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3192,7 +3193,7 @@ SOLDIERTYPE* TacticalCreateEnemyTank()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3232,7 +3233,7 @@ SOLDIERTYPE* TacticalCreateEnemyJeep( )
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if ( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3273,7 +3274,7 @@ SOLDIERTYPE* TacticalCreateEnemyRobot()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if ( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3314,7 +3315,7 @@ SOLDIERTYPE* TacticalCreateZombie()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3388,7 +3389,7 @@ SOLDIERTYPE* TacticalCreateMilitia( UINT8 ubMilitiaClass, INT16 sX, INT16 sY )
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if (gpBattleGroup &&
|
||||
@@ -3429,7 +3430,7 @@ SOLDIERTYPE* TacticalCreateCreature( INT8 bCreatureBodyType )
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3455,7 +3456,7 @@ SOLDIERTYPE* TacticalCreateArmedCivilian( UINT8 usSoldierClass )
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier = NULL;
|
||||
|
||||
// this needs the covert ops trait, and thus the new trait system
|
||||
@@ -3504,7 +3505,7 @@ SOLDIERTYPE* TacticalCreateCivilian( INT32 sGridNo, UINT8 usCivilianGroup, INT8
|
||||
if ( guiCurrentScreen == AUTORESOLVE_SCREEN )
|
||||
return NULL;
|
||||
|
||||
UINT8 ubID = NOBODY;
|
||||
UINT16 ubID = NOBODY;
|
||||
SOLDIERTYPE* pSoldier = NULL;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
|
||||
@@ -3603,7 +3604,7 @@ SOLDIERTYPE* TacticalCreateEnemyAssassin(UINT8 disguisetype)
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
// this needs the covert ops trait, and thus the new trait system
|
||||
@@ -3668,7 +3669,7 @@ SOLDIERTYPE* TacticalCreateBandit()
|
||||
{
|
||||
BASIC_SOLDIERCREATE_STRUCT bp;
|
||||
SOLDIERCREATE_STRUCT pp;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
if ( guiCurrentScreen == AUTORESOLVE_SCREEN && !gfPersistantPBI )
|
||||
@@ -3859,7 +3860,7 @@ void CreatePrisonerOfWar()
|
||||
}
|
||||
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
static INT8 bPowBodyType = REGMALE;
|
||||
|
||||
@@ -3941,7 +3942,7 @@ void CreateDownedPilot( )
|
||||
while ( TileIsOutOfBounds( sGridNo ) || FindStructure( sGridNo, STRUCTURE_BLOCKSMOVES ) || TERRAIN_IS_WATER( gpWorldLevelData[sGridNo].ubTerrainID ) || GridNoNearPlayerMercs( sGridNo, 25 ) );
|
||||
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
MercCreateStruct.initialize( );
|
||||
MercCreateStruct.bTeam = CIV_TEAM;
|
||||
@@ -4101,9 +4102,9 @@ void RandomizeRelativeLevel( INT8 *pbRelLevel, UINT8 ubSoldierClass )
|
||||
void QuickCreateProfileMerc( INT8 bTeam, UINT8 ubProfileID )
|
||||
{
|
||||
// Create guy # X
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sWorldX, sWorldY, sSectorX, sSectorY, sGridX, sGridY;
|
||||
UINT8 ubID;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT16 sWorldX, sWorldY, sSectorX, sSectorY, sGridX, sGridY;
|
||||
UINT16 ubID;
|
||||
INT32 usMapPos;
|
||||
|
||||
if ( GetMouseXY( &sGridX, &sGridY ) )
|
||||
|
||||
@@ -460,7 +460,7 @@ void RandomizeNewSoldierStats( SOLDIERCREATE_STRUCT *pCreateStruct );
|
||||
|
||||
//Kris:
|
||||
//Modified return type from BOOLEAN to SOLDIERTYPE*
|
||||
SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT8 *pubID );
|
||||
SOLDIERTYPE* TacticalCreateSoldier( SOLDIERCREATE_STRUCT *pCreateStruct, UINT16 * pubID );
|
||||
|
||||
//Randomly generated enemies used by strategic AI.
|
||||
SOLDIERTYPE* TacticalCreateAdministrator();
|
||||
|
||||
@@ -70,7 +70,7 @@ UINT32 gScrollSlideInertiaDirection[ NUM_WORLD_DIRECTIONS ] =
|
||||
typedef struct
|
||||
{
|
||||
INT8 bNum;
|
||||
UINT8 ubIDs[ MAX_STACKED_MERCS ];
|
||||
UINT16 ubIDs[ MAX_STACKED_MERCS ];
|
||||
INT8 bCur;
|
||||
BOOLEAN fUseGridNo;
|
||||
INT32 sUseGridNoGridNo;
|
||||
@@ -204,7 +204,7 @@ BOOLEAN FindSoldier( INT32 sGridNo, UINT16 *pusSoldierIndex, UINT32 *pMercFlags,
|
||||
INT16 sXMapPos, sYMapPos, sScreenX, sScreenY;
|
||||
INT16 sMaxScreenMercY, sHeighestMercScreenY = -32000;
|
||||
BOOLEAN fDoFull;
|
||||
UINT8 ubBestMerc = NOBODY;
|
||||
UINT16 ubBestMerc = NOBODY;
|
||||
UINT16 usAnimSurface;
|
||||
INT32 iMercScreenX, iMercScreenY;
|
||||
BOOLEAN fInScreenRect = FALSE;
|
||||
@@ -525,7 +525,7 @@ BOOLEAN CycleSoldierFindStack( INT32 usMapPos )
|
||||
|
||||
SOLDIERTYPE * SimpleFindSoldier( INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
ubID = WhoIsThere2( sGridNo, bLevel );
|
||||
if ( ubID == NOBODY )
|
||||
@@ -538,7 +538,7 @@ SOLDIERTYPE * SimpleFindSoldier( INT32 sGridNo, INT8 bLevel )
|
||||
}
|
||||
}
|
||||
|
||||
BOOLEAN IsValidTargetMerc( UINT8 ubSoldierID )
|
||||
BOOLEAN IsValidTargetMerc( UINT16 ubSoldierID )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier = MercPtrs[ ubSoldierID ];
|
||||
|
||||
@@ -1008,7 +1008,7 @@ BOOLEAN FindRelativeSoldierPosition( SOLDIERTYPE *pSoldier, UINT16 *usFlags, INT
|
||||
}
|
||||
|
||||
// VERY quickly finds a soldier at gridno , ( that is visible )
|
||||
UINT8 QuickFindSoldier( INT32 sGridNo )
|
||||
UINT16 QuickFindSoldier( INT32 sGridNo )
|
||||
{
|
||||
UINT32 cnt;
|
||||
SOLDIERTYPE *pSoldier = NULL;
|
||||
@@ -1022,7 +1022,7 @@ UINT8 QuickFindSoldier( INT32 sGridNo )
|
||||
{
|
||||
if ( pSoldier->sGridNo == sGridNo && pSoldier->bVisible != -1 )
|
||||
{
|
||||
return( (UINT8)cnt );
|
||||
return( (UINT16)cnt );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ void GetSoldierTRUEScreenPos( SOLDIERTYPE *pSoldier, INT16 *psScreenX, INT16 *ps
|
||||
BOOLEAN IsPointInSoldierBoundingBox( SOLDIERTYPE *pSoldier, INT16 sX, INT16 sY );
|
||||
BOOLEAN FindRelativeSoldierPosition( SOLDIERTYPE *pSoldier, UINT16 *usFlags, INT16 sX, INT16 sY );
|
||||
|
||||
UINT8 QuickFindSoldier( INT32 sGridNo );
|
||||
UINT16 QuickFindSoldier( INT32 sGridNo );
|
||||
void GetGridNoScreenPos( INT32 sGridNo, UINT8 ubLevel, INT16 *psScreenX, INT16 *psScreenY );
|
||||
|
||||
|
||||
|
||||
@@ -581,13 +581,13 @@ void SortSoldierInitList()
|
||||
}
|
||||
|
||||
extern FLOAT gAmbushRadiusModifier;
|
||||
|
||||
#pragma optimize("",off)
|
||||
BOOLEAN AddPlacementToWorld( SOLDIERINITNODE *curr, GROUP *pGroup = NULL )
|
||||
{
|
||||
UINT8 ubProfile;
|
||||
SOLDIERCREATE_STRUCT tempDetailedPlacement;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("AddPlacementToWorld"));
|
||||
// First check if this guy has a profile and if so check his location such that it matches!
|
||||
@@ -859,7 +859,7 @@ BOOLEAN AddPlacementToWorld( SOLDIERINITNODE *curr, GROUP *pGroup = NULL )
|
||||
if(is_server) ScreenMsg( FONT_YELLOW, MSG_MPSYSTEM, L"report this MP error (AddPlacementToWorld-FAIL!)");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#pragma optimize("",on)
|
||||
void AddPlacementToWorldByProfileID( UINT8 ubProfile )
|
||||
{
|
||||
SOLDIERINITNODE * curr;
|
||||
@@ -1050,7 +1050,7 @@ UINT8 AddSoldierInitListTeamToWorld( INT8 bTeam, UINT8 ubMaxNum )
|
||||
|
||||
return ubNumAdded;
|
||||
}
|
||||
|
||||
#pragma optimize("",off)
|
||||
void AddSoldierInitListEnemyDefenceSoldiers( UINT8 ubTotalAdmin, UINT8 ubTotalTroops, UINT8 ubTotalElite, UINT8 ubTotalRobots, UINT8 ubTotalTanks, UINT8 ubTotalJeeps )
|
||||
{
|
||||
SOLDIERINITNODE *mark;
|
||||
@@ -1605,7 +1605,7 @@ void AddSoldierInitListEnemyDefenceSoldiers( UINT8 ubTotalAdmin, UINT8 ubTotalTr
|
||||
curr = curr->next;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma optimize("",on)
|
||||
//If we are adding militia to our map, then we do a few things differently.
|
||||
//First of all, they exist exclusively to the enemy troops, so if the militia exists in the
|
||||
//sector, then they get to use the enemy placements. However, we remove any orders from
|
||||
@@ -2377,8 +2377,8 @@ BOOLEAN SaveSoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
FileWrite( hfile, &curr->ubSoldierID, 1, &uiNumBytesWritten );
|
||||
if( uiNumBytesWritten != 1 )
|
||||
FileWrite( hfile, &curr->ubSoldierID, 2, &uiNumBytesWritten );
|
||||
if( uiNumBytesWritten != 2 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2391,7 +2391,8 @@ BOOLEAN LoadSoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
SOLDIERINITNODE *curr;
|
||||
UINT8 ubSlots, ubSoldierID, ubNodeID;
|
||||
UINT8 ubSlots, ubNodeID;
|
||||
UINT16 ubSoldierID;
|
||||
|
||||
FileRead( hfile, &ubSlots, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
@@ -2664,7 +2665,7 @@ void AddProfilesUsingProfileInsertionData()
|
||||
if( !pSoldier )
|
||||
{ //Create a new soldier, as this one doesn't exist
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
//Set up the create struct so that we can properly create the profile soldier.
|
||||
MercCreateStruct.initialize();
|
||||
@@ -2802,7 +2803,8 @@ BOOLEAN NewWayOfLoadingEnemySoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
SOLDIERINITNODE *curr;
|
||||
UINT8 ubSlots, ubSoldierID, ubNodeID;
|
||||
UINT8 ubSlots, ubNodeID;
|
||||
UINT16 ubSoldierID;
|
||||
|
||||
FileRead( hfile, &ubSlots, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
@@ -2816,8 +2818,8 @@ BOOLEAN NewWayOfLoadingEnemySoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
FileRead( hfile, &ubSoldierID, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
FileRead( hfile, &ubSoldierID, 2, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 2 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2848,7 +2850,8 @@ BOOLEAN NewWayOfLoadingCivilianInitListLinks( HWFILE hfile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
SOLDIERINITNODE *curr;
|
||||
UINT8 ubSlots, ubSoldierID, ubNodeID;
|
||||
UINT8 ubSlots, ubNodeID;
|
||||
UINT16 ubSoldierID;
|
||||
|
||||
FileRead( hfile, &ubSlots, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
@@ -2862,8 +2865,8 @@ BOOLEAN NewWayOfLoadingCivilianInitListLinks( HWFILE hfile )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
FileRead( hfile, &ubSoldierID, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
FileRead( hfile, &ubSoldierID, 2, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 2 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2894,7 +2897,8 @@ BOOLEAN LookAtButDontProcessEnemySoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
UINT32 uiNumBytesRead;
|
||||
SOLDIERINITNODE *curr;
|
||||
UINT8 ubSlots, ubSoldierID, ubNodeID;
|
||||
UINT8 ubSlots, ubNodeID;
|
||||
UINT16 ubSoldierID;
|
||||
|
||||
FileRead( hfile, &ubSlots, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
@@ -2908,8 +2912,8 @@ BOOLEAN LookAtButDontProcessEnemySoldierInitListLinks( HWFILE hfile )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
FileRead( hfile, &ubSoldierID, 1, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 1 )
|
||||
FileRead( hfile, &ubSoldierID, 2, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != 2 )
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
typedef struct SOLDIERINITNODE
|
||||
{
|
||||
UINT8 ubNodeID;
|
||||
UINT8 ubSoldierID;
|
||||
UINT16 ubSoldierID;
|
||||
BASIC_SOLDIERCREATE_STRUCT *pBasicPlacement;
|
||||
SOLDIERCREATE_STRUCT *pDetailedPlacement;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
@@ -1502,7 +1502,7 @@ INT16 CalcMedicalDeposit( MERCPROFILESTRUCT * pProfile )
|
||||
|
||||
SOLDIERTYPE * FindSoldierByProfileID( UINT8 ubProfileID, BOOLEAN fPlayerMercsOnly )
|
||||
{
|
||||
UINT8 ubLoop, ubLoopLimit;
|
||||
UINT16 ubLoop, ubLoopLimit;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
// sevenfm: fix for last soldier in player team
|
||||
@@ -1531,13 +1531,13 @@ SOLDIERTYPE * FindSoldierByProfileID( UINT8 ubProfileID, BOOLEAN fPlayerMercsOnl
|
||||
|
||||
SOLDIERTYPE *ChangeSoldierTeam( SOLDIERTYPE *pSoldier, UINT8 ubTeam )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE *pNewSoldier = NULL;
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
UINT32 cnt;
|
||||
INT32 sOldGridNo;
|
||||
|
||||
UINT8 ubOldID;
|
||||
UINT16 ubOldID;
|
||||
UINT32 uiOldUniqueId;
|
||||
|
||||
UINT32 uiSlot;
|
||||
|
||||
@@ -101,7 +101,7 @@ void OutputDebugInfoForTurnBasedNextTileWaiting( SOLDIERTYPE * pSoldier )
|
||||
|
||||
void SetDelayedTileWaiting( SOLDIERTYPE *pSoldier, INT32 sCauseGridNo, INT8 bValue )
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
|
||||
// Cancel AI Action
|
||||
// CancelAIAction( pSoldier, TRUE );
|
||||
@@ -210,7 +210,7 @@ void UnMarkMovementReserved( SOLDIERTYPE *pSoldier )
|
||||
|
||||
INT8 TileIsClear( SOLDIERTYPE *pSoldier, INT8 bDirection, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
INT32 sTempDestGridNo;
|
||||
INT32 sNewGridNo;
|
||||
BOOLEAN fSwapInDoor = FALSE;
|
||||
@@ -519,7 +519,7 @@ BOOLEAN HandleNextTileWaiting( SOLDIERTYPE *pSoldier )
|
||||
INT32 sCost;
|
||||
INT32 sNewGridNo, sCheckGridNo;
|
||||
UINT8 ubDirection, bCauseDirection;
|
||||
UINT8 ubPerson;
|
||||
UINT16 ubPerson;
|
||||
UINT8 fFlags = 0;
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -1000,7 +1000,7 @@ void RebuildCurrentSquad( void )
|
||||
void ExamineCurrentSquadLights( void )
|
||||
{
|
||||
// rebuilds current squad to reset faces in tactical
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
// OK, we should add lights for any guy currently bInSector who is not bad OKLIFE...
|
||||
ubLoop = gTacticalStatus.Team[ gbPlayerNum ].bFirstID;
|
||||
@@ -1331,7 +1331,7 @@ void RebuildSquad( INT8 bSquadValue )
|
||||
|
||||
void UpdateCurrentlySelectedMerc( SOLDIERTYPE *pSoldier, INT8 bSquadValue )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
// if this squad is the current one and and the psoldier is the currently selected soldier, get rid of 'em
|
||||
if( bSquadValue != iCurrentTacticalSquad )
|
||||
|
||||
@@ -85,7 +85,7 @@ typedef struct
|
||||
UINT8 ubLeaveSectorCode;
|
||||
UINT8 ubDirection;
|
||||
UINT8 ubNumPeopleOnSquad;
|
||||
INT8 bSingleMoveWillIsolateEPC; //if not -1, then that means the slot number is an EPC
|
||||
INT16 bSingleMoveWillIsolateEPC; //if not -1, then that means the slot number is an EPC
|
||||
INT8 bHandled;
|
||||
BOOLEAN fRender;
|
||||
BOOLEAN fGotoSector;
|
||||
@@ -266,8 +266,8 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
|
||||
{ //check to see if we have one selected merc and one or more EPCs.
|
||||
//If so, don't allow the selected merc to leave by himself.
|
||||
//Assuming that the matching squad assignment is in the same sector.
|
||||
UINT8 ubNumMercs = 1; //selected soldier is a merc
|
||||
UINT8 ubNumEPCs = 0;
|
||||
UINT16 ubNumMercs = 1; //selected soldier is a merc
|
||||
UINT16 ubNumEPCs = 0;
|
||||
for( i = gTacticalStatus.Team[ OUR_TEAM ].bFirstID; i <= gTacticalStatus.Team[ OUR_TEAM ].bLastID; i++ )
|
||||
{
|
||||
if( i == gusSelectedSoldier )
|
||||
@@ -282,7 +282,7 @@ BOOLEAN InternalInitSectorExitMenu( UINT8 ubDirection, INT32 sAdditionalData )//
|
||||
//record the slot of the epc. If there are more than one EPCs, then
|
||||
//it doesn't matter. This is used in building the text message explaining
|
||||
//why the selected merc can't leave. This is how we extract the EPC's name.
|
||||
gExitDialog.bSingleMoveWillIsolateEPC = (INT8)i;
|
||||
gExitDialog.bSingleMoveWillIsolateEPC = (INT16)i;
|
||||
}
|
||||
else
|
||||
{ //We have more than one merc, so we will allow the selected merc to leave alone if
|
||||
|
||||
@@ -522,9 +522,9 @@ BOOLEAN IsCuttableWireFenceAtGridNo( INT32 sGridNo )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsRepairableStructAtGridNo( INT32 sGridNo, UINT8 *pubID )
|
||||
BOOLEAN IsRepairableStructAtGridNo( INT32 sGridNo, UINT16 * pubID )
|
||||
{
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
|
||||
// OK, first look for a vehicle....
|
||||
ubMerc = WhoIsThere2( sGridNo, 0 );
|
||||
@@ -558,9 +558,9 @@ BOOLEAN IsRepairableStructAtGridNo( INT32 sGridNo, UINT8 *pubID )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN IsRefuelableStructAtGridNo( INT32 sGridNo, UINT8 *pubID )
|
||||
BOOLEAN IsRefuelableStructAtGridNo( INT32 sGridNo, UINT16 * pubID )
|
||||
{
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
|
||||
// OK, first look for a vehicle....
|
||||
ubMerc = WhoIsThere2( sGridNo, 0 );
|
||||
|
||||
@@ -36,8 +36,8 @@ BOOLEAN CutWireFence( INT32 sGridNo );
|
||||
BOOLEAN IsCuttableWireFenceAtGridNo( INT32 sGridNo );
|
||||
BOOLEAN IsCutWireFenceAtGridNo( INT32 sGridNo );
|
||||
|
||||
BOOLEAN IsRepairableStructAtGridNo( INT32 sGridNo, UINT8 *pubID );
|
||||
BOOLEAN IsRefuelableStructAtGridNo( INT32 sGridNo, UINT8 *pubID );
|
||||
BOOLEAN IsRepairableStructAtGridNo( INT32 sGridNo, UINT16 * pubID );
|
||||
BOOLEAN IsRefuelableStructAtGridNo( INT32 sGridNo, UINT16 * pubID );
|
||||
BOOLEAN IsFortificationPossibleAtGridNo( INT32 sGridNo ); // added by Flugente
|
||||
UINT16 InteractiveActionPossibleAtGridNo( INT32 sGridNo, UINT8 usLevel, UINT16& arusStructIndex ); // added by Flugente
|
||||
|
||||
|
||||
@@ -2161,8 +2161,8 @@ BOOLEAN DoesTempFileExistsForMap( UINT32 uiType, INT16 sMapX, INT16 sMapY, INT8
|
||||
INT16 GetSoldierIDFromAnyMercID(UINT8 ubMercID)
|
||||
{
|
||||
UINT16 cnt;
|
||||
UINT8 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT16 ubLastTeamID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
cnt = gTacticalStatus.Team[ OUR_TEAM ].bFirstID;
|
||||
|
||||
@@ -2582,7 +2582,7 @@ BOOLEAN SetSectorFlag( INT16 sMapX, INT16 sMapY, UINT8 bMapZ, UINT32 uiFlagToSet
|
||||
UpdateLastDayOfPlayerActivity( (UINT16) GetWorldDay() );
|
||||
}
|
||||
|
||||
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 && !(MercPtrs[ i ]->flags.uiStatusFlags & SOLDIER_VEHICLE) && MercPtrs[ i ]->ubProfile != NO_PROFILE &&
|
||||
MercPtrs[ i ]->sSectorX == sMapX && MercPtrs[ i ]->sSectorY == sMapY && MercPtrs[ i ]->bSectorZ == bMapZ && !MercPtrs[ i ]->flags.fBetweenSectors &&
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
extern void DecayPublicOpplist( INT8 bTeam );
|
||||
|
||||
//not in overhead.h!
|
||||
extern UINT8 NumEnemyInSector();
|
||||
extern UINT16 NumEnemyInSector();
|
||||
|
||||
#ifdef JA2UB
|
||||
|
||||
@@ -45,10 +45,10 @@ extern UINT8 NumEnemyInSector();
|
||||
void HandleRPCDescription( )
|
||||
{
|
||||
// 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 };
|
||||
UINT8 ubNumMercs = 0;
|
||||
UINT8 ubChosenMerc = 0;
|
||||
UINT16 ubNumMercs = 0;
|
||||
UINT16 ubChosenMerc = 0;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT32 cnt2;
|
||||
BOOLEAN fSAMSite = FALSE;
|
||||
@@ -120,7 +120,7 @@ void HandleRPCDescription( )
|
||||
pTeamSoldier->ubProfile == CARLOS ||
|
||||
pTeamSoldier->ubProfile == DIMITRI )
|
||||
{
|
||||
ubMercsInSector[ubNumMercs] = (UINT8)cnt2;
|
||||
ubMercsInSector[ubNumMercs] = (UINT16)cnt2;
|
||||
++ubNumMercs;
|
||||
}
|
||||
}
|
||||
@@ -130,7 +130,7 @@ void HandleRPCDescription( )
|
||||
// If we are > 0
|
||||
if ( ubNumMercs > 0 )
|
||||
{
|
||||
ubChosenMerc = (UINT8)Random( ubNumMercs );
|
||||
ubChosenMerc = (UINT16)Random( ubNumMercs );
|
||||
|
||||
TacticalCharacterDialogueWithSpecialEvent( MercPtrs[ubMercsInSector[ubChosenMerc]], gTacticalStatus.ubGuideDescriptionToUse, DIALOGUE_SPECIAL_EVENT_USE_ALTERNATE_FILES, 0, 0 );
|
||||
}
|
||||
|
||||
+38
-37
@@ -95,15 +95,15 @@ void RecalculateSoldiersAniSpeed()
|
||||
extern void DecayPublicOpplist(INT8 bTeam);
|
||||
extern void VerifyAndDecayOpplist(SOLDIERTYPE *pSoldier);
|
||||
void EndInterrupt( BOOLEAN fMarkInterruptOccurred );
|
||||
void DeleteFromIntList( UINT8 ubIndex, BOOLEAN fCommunicate);
|
||||
void DeleteFromIntList( UINT16 ubIndex, BOOLEAN fCommunicate);
|
||||
|
||||
#define END_OF_INTERRUPTS 255
|
||||
|
||||
UINT8 gubOutOfTurnOrder[MAXMERCS] = { END_OF_INTERRUPTS, 0 };
|
||||
UINT8 gubOutOfTurnPersons = 0;
|
||||
UINT16 gubOutOfTurnOrder[MAXMERCS] = { END_OF_INTERRUPTS, 0 };
|
||||
UINT16 gubOutOfTurnPersons = 0;
|
||||
|
||||
#define LATEST_INTERRUPT_GUY (gubOutOfTurnOrder[gubOutOfTurnPersons])
|
||||
#define REMOVE_LATEST_INTERRUPT_GUY() (DeleteFromIntList( (UINT8) (gubOutOfTurnPersons), TRUE ))
|
||||
#define REMOVE_LATEST_INTERRUPT_GUY() (DeleteFromIntList( (gubOutOfTurnPersons), TRUE ))
|
||||
#define INTERRUPTS_OVER (gubOutOfTurnPersons == 1)
|
||||
|
||||
INT16 InterruptOnlyGuynum = NOBODY;
|
||||
@@ -116,7 +116,7 @@ extern UINT8 gubSightFlags;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubOutOfTurnPersons;
|
||||
UINT16 ubOutOfTurnPersons;
|
||||
|
||||
INT16 InterruptOnlyGuynum;
|
||||
INT16 sWhoThrewRock;
|
||||
@@ -510,7 +510,7 @@ void BeginTeamTurn( UINT8 ubTeam )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"BeginTeamTurn");
|
||||
INT32 cnt;
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
//rain
|
||||
@@ -792,7 +792,7 @@ void DisplayHiddenTurnbased( SOLDIERTYPE * pActingSoldier )
|
||||
BOOLEAN EveryoneInInterruptListOnSameTeam( void )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"EveryoneInInterruptListOnSameTeam");
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
UINT8 ubTeam = 255;
|
||||
|
||||
for (ubLoop = 1; ubLoop <= gubOutOfTurnPersons; ubLoop++)
|
||||
@@ -814,11 +814,11 @@ BOOLEAN EveryoneInInterruptListOnSameTeam( void )
|
||||
|
||||
void StartInterrupt( void )
|
||||
{
|
||||
UINT8 ubFirstInterrupter;
|
||||
UINT16 ubFirstInterrupter;
|
||||
INT8 bTeam;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
SOLDIERTYPE * pTempSoldier;
|
||||
UINT8 ubInterrupter;
|
||||
UINT16 ubInterrupter;
|
||||
INT32 cnt;
|
||||
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"StartInterrupt");
|
||||
@@ -1120,12 +1120,12 @@ void StartInterrupt( void )
|
||||
|
||||
void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
|
||||
{
|
||||
UINT8 ubInterruptedSoldier;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
SOLDIERTYPE * pTempSoldier;
|
||||
INT32 cnt;
|
||||
BOOLEAN fFound;
|
||||
INT16 ubMinAPsToAttack;
|
||||
UINT16 ubInterruptedSoldier;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
SOLDIERTYPE * pTempSoldier;
|
||||
INT32 cnt;
|
||||
BOOLEAN fFound;
|
||||
INT16 ubMinAPsToAttack;
|
||||
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"EndInterrupt");
|
||||
|
||||
@@ -1172,7 +1172,7 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 nubFirstInterrupter;
|
||||
UINT16 nubFirstInterrupter;
|
||||
INT8 nbTeam;
|
||||
SOLDIERTYPE * npSoldier;
|
||||
|
||||
@@ -1499,7 +1499,7 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT8 ubOpponentID, INT8 bOldOppList)
|
||||
BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT16 ubOpponentID, INT8 bOldOppList)
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"StandardInterruptConditionsMet");
|
||||
// UINT8 ubAniType;
|
||||
@@ -1801,7 +1801,7 @@ BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT8 ubOpponent
|
||||
}
|
||||
|
||||
|
||||
INT8 CalcInterruptDuelPts( SOLDIERTYPE * pSoldier, UINT8 ubOpponentID, BOOLEAN fUseWatchSpots )
|
||||
INT8 CalcInterruptDuelPts( SOLDIERTYPE * pSoldier, UINT16 ubOpponentID, BOOLEAN fUseWatchSpots )
|
||||
{
|
||||
INT32 iPoints;
|
||||
INT8 bLightLevel;
|
||||
@@ -2080,11 +2080,11 @@ BOOLEAN InterruptDuel( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent)
|
||||
}
|
||||
|
||||
|
||||
void DeleteFromIntList( UINT8 ubIndex, BOOLEAN fCommunicate)
|
||||
void DeleteFromIntList( UINT16 ubIndex, BOOLEAN fCommunicate)
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"DeleteFromIntList");
|
||||
UINT8 ubLoop;
|
||||
UINT8 ubID;
|
||||
UINT16 ubLoop;
|
||||
UINT16 ubID;
|
||||
|
||||
if ( ubIndex > gubOutOfTurnPersons)
|
||||
{
|
||||
@@ -2122,10 +2122,10 @@ void DeleteFromIntList( UINT8 ubIndex, BOOLEAN fCommunicate)
|
||||
*/
|
||||
}
|
||||
|
||||
void AddToIntList( UINT8 ubID, BOOLEAN fGainControl, BOOLEAN fCommunicate )
|
||||
void AddToIntList( UINT16 ubID, BOOLEAN fGainControl, BOOLEAN fCommunicate )
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"AddToIntList");
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
// ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"%d added to int list", ubID );
|
||||
DebugMsg( TOPIC_JA2INTERRUPT, DBG_LEVEL_3, String("INTERRUPT: adding ID %d who %s", ubID, fGainControl ? "gains control" : "loses control" ) );
|
||||
@@ -2186,11 +2186,11 @@ void AddToIntList( UINT8 ubID, BOOLEAN fGainControl, BOOLEAN fCommunicate )
|
||||
void VerifyOutOfTurnOrderArray()
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,"VerifyOutOfTurnOrderArray");
|
||||
UINT8 ubTeamHighest[ MAXTEAMS ] = { 0 };
|
||||
UINT16 ubTeamHighest[ MAXTEAMS ] = { 0 };
|
||||
UINT8 ubTeamsInList;
|
||||
UINT8 ubNextInArrayOnTeam, ubNextIndex;
|
||||
UINT16 ubNextInArrayOnTeam, ubNextIndex;
|
||||
UINT8 ubTeam;
|
||||
UINT8 ubLoop, ubLoop2;
|
||||
UINT16 ubLoop, ubLoop2;
|
||||
BOOLEAN fFoundLoop = FALSE;
|
||||
|
||||
for (ubLoop = 1; ubLoop <= gubOutOfTurnPersons; ubLoop++)
|
||||
@@ -2308,9 +2308,9 @@ void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInter
|
||||
{
|
||||
StartInterrupt();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
UINT8 nubFirstInterrupter;
|
||||
UINT16 nubFirstInterrupter;
|
||||
INT8 nbTeam;
|
||||
SOLDIERTYPE * npSoldier;
|
||||
|
||||
@@ -2384,13 +2384,14 @@ void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInter
|
||||
void ResolveInterruptsVs( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType)
|
||||
{
|
||||
DebugMsg (TOPIC_JA2INTERRUPT,DBG_LEVEL_3,String("ResolveInterruptsVs: Soldier ID = %d, APs = %d (interrupt type = %d)",pSoldier->ubID,pSoldier->bActionPoints, ubInterruptType));
|
||||
UINT8 ubTeam, ubOpp;
|
||||
UINT8 ubIntCnt;
|
||||
UINT8 ubIntList[MAXMERCS];
|
||||
UINT8 ubTeam;
|
||||
UINT16 ubOpp;
|
||||
UINT16 ubIntCnt;
|
||||
UINT16 ubIntList[MAXMERCS];
|
||||
UINT8 ubIntDiff[MAXMERCS];
|
||||
UINT8 ubSmallestDiff;
|
||||
UINT8 ubSlot, ubSmallestSlot;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubSlot, ubSmallestSlot;
|
||||
UINT16 ubLoop;
|
||||
BOOLEAN fIntOccurs;
|
||||
SOLDIERTYPE * pOpponent;
|
||||
BOOLEAN fControlChanged = FALSE;
|
||||
@@ -2594,8 +2595,8 @@ BOOLEAN SaveTeamTurnsToTheSaveGameFile( HWFILE hFile )
|
||||
TEAM_TURN_SAVE_STRUCT TeamTurnStruct;
|
||||
|
||||
//Save the gubTurn Order Array
|
||||
FileWrite( hFile, gubOutOfTurnOrder, sizeof( UINT8 ) * MAXMERCS, &uiNumBytesWritten );
|
||||
if( uiNumBytesWritten != sizeof( UINT8 ) * MAXMERCS )
|
||||
FileWrite( hFile, gubOutOfTurnOrder, sizeof( UINT16 ) * MAXMERCS, &uiNumBytesWritten );
|
||||
if( uiNumBytesWritten != sizeof( UINT16 ) * MAXMERCS )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
@@ -2627,8 +2628,8 @@ BOOLEAN LoadTeamTurnsFromTheSavedGameFile( HWFILE hFile )
|
||||
TEAM_TURN_SAVE_STRUCT TeamTurnStruct;
|
||||
|
||||
//Load the gubTurn Order Array
|
||||
FileRead( hFile, gubOutOfTurnOrder, sizeof( UINT8 ) * MAXMERCS, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != sizeof( UINT8 ) * MAXMERCS )
|
||||
FileRead( hFile, gubOutOfTurnOrder, sizeof( UINT16 ) * MAXMERCS, &uiNumBytesRead );
|
||||
if( uiNumBytesRead != sizeof( UINT16 ) * MAXMERCS )
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
|
||||
#include "Soldier Control.h"
|
||||
|
||||
extern UINT8 gubOutOfTurnPersons;
|
||||
extern UINT8 gubOutOfTurnOrder[MAXMERCS] ;
|
||||
extern UINT16 gubOutOfTurnPersons;
|
||||
extern UINT16 gubOutOfTurnOrder[MAXMERCS] ;
|
||||
extern BOOLEAN gfHiddenInterrupt;
|
||||
extern BOOLEAN gfHiddenTurnbased;
|
||||
|
||||
#define INTERRUPT_QUEUED (gubOutOfTurnPersons > 0)
|
||||
|
||||
extern BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT8 ubOpponentID, INT8 bOldOppList);
|
||||
extern INT8 CalcInterruptDuelPts( SOLDIERTYPE * pSoldier, UINT8 ubOpponentID, BOOLEAN fUseWatchSpots );
|
||||
extern BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT16 ubOpponentID, INT8 bOldOppList);
|
||||
extern INT8 CalcInterruptDuelPts( SOLDIERTYPE * pSoldier, UINT16 ubOpponentID, BOOLEAN fUseWatchSpots );
|
||||
extern void EndAITurn( void );
|
||||
extern void DisplayHiddenInterrupt( SOLDIERTYPE * pSoldier );
|
||||
extern BOOLEAN InterruptDuel( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent);
|
||||
extern void AddToIntList( UINT8 ubID, BOOLEAN fGainControl, BOOLEAN fCommunicate );
|
||||
extern void AddToIntList( UINT16 ubID, BOOLEAN fGainControl, BOOLEAN fCommunicate );
|
||||
extern void DoneAddingToIntList( SOLDIERTYPE * pSoldier, BOOLEAN fChange, UINT8 ubInterruptType);
|
||||
|
||||
void FreezeInterfaceForEnemyTurn( void );
|
||||
|
||||
+106
-67
@@ -295,7 +295,7 @@ void ItemCreationCallBack( UINT8 ubResult );
|
||||
void CheatCreateItem();
|
||||
// silversurfer: added for merc portrait swapping in tactical
|
||||
void SwapMercPortraits ( SOLDIERTYPE *pSoldier, INT8 bDirection );
|
||||
extern INT8 GetTeamSlotFromPlayerID( UINT8 ubID );
|
||||
extern INT8 GetTeamSlotFromPlayerID( UINT16 ubID );
|
||||
extern FACETYPE *gpCurrentTalkingFace;
|
||||
|
||||
// Flugente: toggle display of enemy role indicators
|
||||
@@ -1263,7 +1263,7 @@ void GetTBMousePositionInput( UINT32 *puiNewEvent )
|
||||
if ( MercPtrs[ gusUIFullTargetID ]->bTeam != ENEMY_TEAM )
|
||||
{
|
||||
uiMoveTargetSoldierId = gusUIFullTargetID;
|
||||
if ( IsValidTalkableNPC( (UINT8)gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && !ValidQuickExchangePosition( ) )
|
||||
if ( IsValidTalkableNPC( gusUIFullTargetID, FALSE, FALSE, FALSE ) && !_KeyDown( SHIFT ) && !AM_AN_EPC( pSoldier ) && !ValidQuickExchangePosition( ) )
|
||||
{
|
||||
*puiNewEvent = T_CHANGE_TO_TALKING;
|
||||
return;
|
||||
@@ -1286,7 +1286,7 @@ void GetTBMousePositionInput( UINT32 *puiNewEvent )
|
||||
if ( gfUIFullTargetFound )
|
||||
//if ( gfUIFullTargetFound )
|
||||
{
|
||||
if ( IsValidTargetMerc( (UINT8)gusUIFullTargetID ) )
|
||||
if ( IsValidTargetMerc( gusUIFullTargetID ) )
|
||||
{
|
||||
guiUITargetSoldierId = gusUIFullTargetID;
|
||||
|
||||
@@ -2444,7 +2444,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
||||
{
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
{ //Select next merc
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
|
||||
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
|
||||
|
||||
@@ -4159,7 +4159,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
||||
// swap sungoggles and nightgoggles / put on gas masks
|
||||
case 'N':
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
|
||||
// emergency command: everybody in this sector puts on gasmasks
|
||||
if ( fAlt )
|
||||
@@ -5443,7 +5443,7 @@ void SetScopeMode( INT32 usMapPos )
|
||||
ManLooksForOtherTeams( MercPtrs[ gusSelectedSoldier ] );
|
||||
}
|
||||
}
|
||||
|
||||
#pragma optimize("", off)
|
||||
void ObliterateSector()
|
||||
{
|
||||
INT32 cnt;
|
||||
@@ -5455,8 +5455,8 @@ void ObliterateSector()
|
||||
#ifdef JA2BETAVERSION
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_TESTVERSION, L"Obliterating Sector!" );
|
||||
#endif
|
||||
|
||||
for ( pTSoldier = MercPtrs[ cnt ]; cnt < MAX_NUM_SOLDIERS; pTSoldier++, cnt++ )
|
||||
const INT32 end = MAX_NUM_SOLDIERS;
|
||||
for ( pTSoldier = MercPtrs[ cnt ]; cnt < end; pTSoldier++, cnt++ )
|
||||
{
|
||||
if ( pTSoldier->bActive && !pTSoldier->aiData.bNeutral && (pTSoldier->bSide != gbPlayerNum ) )
|
||||
{
|
||||
@@ -5473,10 +5473,11 @@ void ObliterateSector()
|
||||
// CreateAnimationTile( &AniParams );
|
||||
//PlayJA2Sample( EXPLOSION_1, RATE_11025, MIDVOLUME, 1, MIDDLEPAN );
|
||||
|
||||
pTSoldier->EVENT_SoldierGotHit( 1, 400, 0, pTSoldier->ubDirection, 320, NOBODY , FIRE_WEAPON_NO_SPECIAL, pTSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
pTSoldier->EVENT_SoldierGotHit( 1, 400, 0, pTSoldier->ubDirection, 320, NOBODY, FIRE_WEAPON_NO_SPECIAL, pTSoldier->bAimShotLocation, 0, NOWHERE );
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma optimize("", on)
|
||||
|
||||
void RandomizeMercProfile()
|
||||
{
|
||||
@@ -5501,8 +5502,6 @@ void CreateNextCivType()
|
||||
// Get Grid Corrdinates of mouse
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
INT8 iNewIndex;
|
||||
|
||||
MercCreateStruct.ubProfile = NO_PROFILE;
|
||||
MercCreateStruct.sSectorX = gWorldSectorX;
|
||||
MercCreateStruct.sSectorY = gWorldSectorY;
|
||||
@@ -5521,7 +5520,8 @@ void CreateNextCivType()
|
||||
MercCreateStruct.sInsertionGridNo = usMapPos;
|
||||
RandomizeNewSoldierStats( &MercCreateStruct );
|
||||
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
AddSoldierToSector( iNewIndex );
|
||||
|
||||
@@ -5557,8 +5557,6 @@ void CreateCow()
|
||||
// Get Grid Corrdinates of mouse
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
INT8 iNewIndex;
|
||||
|
||||
MercCreateStruct.ubProfile = NO_PROFILE;
|
||||
MercCreateStruct.sSectorX = gWorldSectorX;
|
||||
MercCreateStruct.sSectorY = gWorldSectorY;
|
||||
@@ -5569,7 +5567,8 @@ void CreateCow()
|
||||
MercCreateStruct.sInsertionGridNo = usMapPos;
|
||||
RandomizeNewSoldierStats( &MercCreateStruct );
|
||||
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
AddSoldierToSector( iNewIndex );
|
||||
|
||||
@@ -5587,8 +5586,6 @@ void CreateBloodCat()
|
||||
// Get Grid Corrdinates of mouse
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
INT8 iNewIndex;
|
||||
|
||||
MercCreateStruct.ubProfile = NO_PROFILE;
|
||||
MercCreateStruct.sSectorX = gWorldSectorX;
|
||||
MercCreateStruct.sSectorY = gWorldSectorY;
|
||||
@@ -5599,7 +5596,8 @@ void CreateBloodCat()
|
||||
MercCreateStruct.sInsertionGridNo = usMapPos;
|
||||
RandomizeNewSoldierStats( &MercCreateStruct );
|
||||
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
AddSoldierToSector( iNewIndex );
|
||||
|
||||
@@ -5617,8 +5615,6 @@ void CreatePlayerControlledCow()
|
||||
// Get Grid Corrdinates of mouse
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
INT8 iNewIndex;
|
||||
|
||||
MercCreateStruct.ubProfile = 12;
|
||||
MercCreateStruct.sSectorX = gWorldSectorX;
|
||||
MercCreateStruct.sSectorY = gWorldSectorY;
|
||||
@@ -5630,7 +5626,8 @@ void CreatePlayerControlledCow()
|
||||
|
||||
RandomizeNewSoldierStats( &MercCreateStruct );
|
||||
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
UINT16 iNewIndex;
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
AddSoldierToSector( iNewIndex );
|
||||
|
||||
@@ -5694,7 +5691,7 @@ void CreatePlayerControlledMonster()
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
SOLDIERCREATE_STRUCT MercCreateStruct;
|
||||
INT8 iNewIndex;
|
||||
UINT16 iNewIndex;
|
||||
|
||||
MercCreateStruct.ubProfile = NO_PROFILE;
|
||||
MercCreateStruct.sSectorX = gWorldSectorX;
|
||||
@@ -5711,7 +5708,7 @@ void CreatePlayerControlledMonster()
|
||||
MercCreateStruct.sInsertionGridNo = usMapPos;
|
||||
RandomizeNewSoldierStats( &MercCreateStruct );
|
||||
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, (UINT8 *)&iNewIndex ) )
|
||||
if ( TacticalCreateSoldier( &MercCreateStruct, &iNewIndex ) )
|
||||
{
|
||||
AddSoldierToSector( iNewIndex );
|
||||
}
|
||||
@@ -6309,7 +6306,7 @@ void ChangeCurrentSquad( INT32 iSquad )
|
||||
|
||||
void HandleSelectMercSlot( UINT8 ubPanelSlot, INT8 bCode )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
if ( GetPlayerIDFromInterfaceTeamSlot( ubPanelSlot, &ubID ) )
|
||||
{
|
||||
@@ -6363,7 +6360,7 @@ void TestMeanWhile( INT32 iID )
|
||||
void EscapeUILock( )
|
||||
{
|
||||
//UNLOCK UI
|
||||
UnSetUIBusy( (UINT8)gusSelectedSoldier );
|
||||
UnSetUIBusy( gusSelectedSoldier );
|
||||
|
||||
// Decrease global busy counter...
|
||||
gTacticalStatus.ubAttackBusyCount = 0;
|
||||
@@ -6455,7 +6452,7 @@ void HandleStanceChangeFromUIKeys( UINT8 ubAnimHeight )
|
||||
{
|
||||
if( gusSelectedSoldier != NOBODY )
|
||||
{
|
||||
pSoldier = MercPtrs[ (UINT8)gusSelectedSoldier ];
|
||||
pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
// silversurfer: If we decide to stand up or press "s" again while we are standing we should reset movement to walk mode.
|
||||
// If we want to run we have to press "r" which is handled elsewhere.
|
||||
if ( ubAnimHeight == ANIM_STAND )
|
||||
@@ -7321,8 +7318,8 @@ void SwapMercPortraits ( SOLDIERTYPE *pSoldier, INT8 bDirection )
|
||||
if ( gpCurrentTalkingFace != NULL )
|
||||
return;
|
||||
|
||||
UINT8 ubSourceMerc = (UINT8)gusSelectedSoldier;
|
||||
UINT8 ubTargetMerc;
|
||||
UINT16 ubSourceMerc = gusSelectedSoldier;
|
||||
UINT16 ubTargetMerc;
|
||||
INT32 iSourceFace;
|
||||
INT32 iTargetFace;
|
||||
UINT8 ubGroupID = pSoldier->ubGroupID;
|
||||
@@ -7553,7 +7550,7 @@ void HandleAltMouseTBX2Button(UINT32 *puiNewEvent)
|
||||
// sevenfm: these functions keep original mouse code functionality
|
||||
void HandleMouseTBWheel( void )
|
||||
{
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
@@ -7787,41 +7784,41 @@ void HandleTBJumpThroughWindow( void ){
|
||||
}
|
||||
void HandleTBToggleStealthAll( void )
|
||||
{
|
||||
// Toggle squad's stealth mode.....
|
||||
// For each guy on squad...
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
BOOLEAN fStealthOn = FALSE;
|
||||
// Toggle squad's stealth mode.....
|
||||
// For each guy on squad...
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT16 bLoop;
|
||||
BOOLEAN fStealthOn = FALSE;
|
||||
|
||||
// Check if at least one guy is on stealth....
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == CurrentSquad( ) )
|
||||
{
|
||||
if ( pTeamSoldier->bStealthMode )
|
||||
fStealthOn = TRUE;
|
||||
}
|
||||
}
|
||||
// Check if at least one guy is on stealth....
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == CurrentSquad( ) )
|
||||
{
|
||||
if ( pTeamSoldier->bStealthMode )
|
||||
fStealthOn = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
fStealthOn = !fStealthOn;
|
||||
fStealthOn = !fStealthOn;
|
||||
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == CurrentSquad( ) && !AM_A_ROBOT( pTeamSoldier ) )
|
||||
{
|
||||
if ( gpSMCurrentMerc != NULL && bLoop == gpSMCurrentMerc->ubID )
|
||||
gfUIStanceDifferent = TRUE;
|
||||
pTeamSoldier->bStealthMode = fStealthOn;
|
||||
}
|
||||
}
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier ) && pTeamSoldier->bAssignment == CurrentSquad( ) && !AM_A_ROBOT( pTeamSoldier ) )
|
||||
{
|
||||
if ( gpSMCurrentMerc != NULL && bLoop == gpSMCurrentMerc->ubID )
|
||||
gfUIStanceDifferent = TRUE;
|
||||
pTeamSoldier->bStealthMode = fStealthOn;
|
||||
}
|
||||
}
|
||||
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
|
||||
// OK, display message
|
||||
if ( fStealthOn )
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_ON_STEALTHMODE ] );
|
||||
else
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_OFF_STEALTHMODE ] );
|
||||
// OK, display message
|
||||
if ( fStealthOn )
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_ON_STEALTHMODE ] );
|
||||
else
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_OFF_STEALTHMODE ] );
|
||||
}
|
||||
void HandleTBToggleFireMode( void )
|
||||
{
|
||||
@@ -7956,7 +7953,7 @@ void HandleTBSwapSidearm( void )
|
||||
void HandleTBSwapGoogles( void )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
INT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; bLoop++, pTeamSoldier++)
|
||||
{
|
||||
@@ -8056,7 +8053,7 @@ void HandleTBReloadAll( void )
|
||||
if (! ( gTacticalStatus.fEnemyInSector ) )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
UINT16 bullets;
|
||||
OBJECTTYPE *pGun, *pAmmo, *pAmmoMags;
|
||||
|
||||
@@ -8259,7 +8256,7 @@ void HandleTBReloadAll( void )
|
||||
else
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT8 bLoop;
|
||||
UINT16 bLoop;
|
||||
OBJECTTYPE *pGun, *pAmmo;
|
||||
|
||||
for (bLoop=gTacticalStatus.Team[gbPlayerNum].bFirstID, pTeamSoldier=MercPtrs[bLoop]; bLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ++bLoop, pTeamSoldier++)
|
||||
@@ -8359,7 +8356,7 @@ void HandleTBGotoLowerStance( void )
|
||||
}
|
||||
void HandleTBLocateNextMerc( void )
|
||||
{
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
{ //Select next merc
|
||||
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
|
||||
@@ -8370,7 +8367,7 @@ void HandleTBLocateNextMerc( void )
|
||||
}
|
||||
void HandleTBLocatePrevMerc( void )
|
||||
{
|
||||
UINT8 bID;
|
||||
UINT16 bID;
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
{
|
||||
bID = FindPrevActiveAndAliveMerc( MercPtrs[ gusSelectedSoldier ], TRUE, TRUE );
|
||||
@@ -8419,7 +8416,7 @@ void HandleTBDropBackpacks( void )
|
||||
{
|
||||
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
|
||||
INT32 iBPCost = APBPConstants[BP_BACK_PACK];
|
||||
@@ -8457,7 +8454,7 @@ void HandleTBPickUpBackpacks( void )
|
||||
{
|
||||
//SOLDIERTYPE *pSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
|
||||
INT32 iBPCost = APBPConstants[BP_BACK_PACK];
|
||||
@@ -8504,7 +8501,7 @@ void HandleTBSoldierRun( void )
|
||||
&& pSoldier->usUIMovementMode != WALKING_DUAL_RDY
|
||||
&& pSoldier->usUIMovementMode != WALKING_ALTERNATIVE_RDY )
|
||||
{
|
||||
UIHandleSoldierStanceChange( (UINT8)pSoldier->ubID, ANIM_STAND );
|
||||
UIHandleSoldierStanceChange( pSoldier->ubID, ANIM_STAND );
|
||||
pSoldier->flags.fUIMovementFast = 1;
|
||||
}
|
||||
else
|
||||
@@ -9674,3 +9671,45 @@ BOOLEAN CheckAutoBandage(void)
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void HandleTBPickUpBackpacks(BOOLEAN fAll)
|
||||
{
|
||||
if (UsingNewInventorySystem() && (fAll || gusSelectedSoldier != NOBODY))
|
||||
{
|
||||
SOLDIERTYPE* pSoldier = NULL;
|
||||
SOLDIERTYPE* pTeamSoldier;
|
||||
UINT16 ubLoop;
|
||||
|
||||
if (gusSelectedSoldier != NOBODY)
|
||||
{
|
||||
pSoldier = MercPtrs[gusSelectedSoldier];
|
||||
}
|
||||
|
||||
INT16 sAPCost = APBPConstants[AP_BACK_PACK];
|
||||
INT32 iBPCost = APBPConstants[BP_BACK_PACK];
|
||||
|
||||
for (ubLoop = gTacticalStatus.Team[gbPlayerNum].bFirstID; ubLoop <= gTacticalStatus.Team[gbPlayerNum].bLastID; ubLoop++)
|
||||
{
|
||||
pTeamSoldier = MercPtrs[ubLoop];
|
||||
|
||||
if (pTeamSoldier &&
|
||||
OK_CONTROLLABLE_MERC(pTeamSoldier) &&
|
||||
OK_INTERRUPT_MERC(pTeamSoldier) &&
|
||||
!AM_A_ROBOT(pTeamSoldier) &&
|
||||
//!pTeamSoldier->IsBoxer() &&
|
||||
EnoughPoints(pTeamSoldier, sAPCost, iBPCost, FALSE) &&
|
||||
(fAll || pTeamSoldier->bAssignment == pSoldier->bAssignment) &&
|
||||
!pTeamSoldier->inv[BPACKPOCKPOS].exists() &&
|
||||
pTeamSoldier->flags.DropPackFlag)
|
||||
{
|
||||
if (ChangeDropPackStatus(pTeamSoldier, FALSE))
|
||||
{
|
||||
ScreenMsg(FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, NewInvMessage[11], pTeamSoldier->GetName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fCharacterInfoPanelDirty = TRUE;
|
||||
fInterfacePanelDirty = DIRTYLEVEL2;
|
||||
}
|
||||
}
|
||||
|
||||
+11
-11
@@ -138,7 +138,7 @@ BOOLEAN GetMouseRecalcAndShowAPFlags( UINT32 *puiCursorFlags, BOOLEAN *pfShowAPs
|
||||
|
||||
|
||||
// FUNCTIONS FOR CURSOR DETERMINATION!
|
||||
UINT8 GetProperItemCursor( UINT8 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos, BOOLEAN fActivated )
|
||||
UINT8 GetProperItemCursor( UINT16 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos, BOOLEAN fActivated )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT32 uiCursorFlags;
|
||||
@@ -222,7 +222,7 @@ UINT8 GetProperItemCursor( UINT8 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos
|
||||
if ( fRecalc && gfUIFullTargetFound )
|
||||
{
|
||||
// ATE: Check for ammo
|
||||
if ( IsValidTargetMerc( (UINT8)gusUIFullTargetID ) && EnoughAmmo( pSoldier, FALSE, HANDPOS ) &&
|
||||
if ( IsValidTargetMerc( gusUIFullTargetID ) && EnoughAmmo( pSoldier, FALSE, HANDPOS ) &&
|
||||
(!pSoldier->IsValidSecondHandShotForReloadingPurposes( ) || EnoughAmmo( pSoldier, FALSE, SECONDHANDPOS) ) )
|
||||
{
|
||||
// IF it's an ememy, goto confirm action mode
|
||||
@@ -393,7 +393,7 @@ UINT8 HandleActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos, BOOLEA
|
||||
// Determine where we are shooting / aiming
|
||||
//if ( fRecalc )
|
||||
{
|
||||
DetermineCursorBodyLocation( (UINT8)gusSelectedSoldier, TRUE, TRUE );
|
||||
DetermineCursorBodyLocation( gusSelectedSoldier, TRUE, TRUE );
|
||||
}
|
||||
UINT8 ubMaxBullets = 1;
|
||||
INT8 bMaxAim;
|
||||
@@ -1238,7 +1238,7 @@ UINT8 HandleNonActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos , BO
|
||||
if (( ( gTacticalStatus.uiFlags & REALTIME ) || !( gTacticalStatus.uiFlags & INCOMBAT ) ) )
|
||||
{
|
||||
//DetermineCursorBodyLocation( (UINT8)gusSelectedSoldier, FALSE, fRecalc );
|
||||
DetermineCursorBodyLocation( (UINT8)gusSelectedSoldier, fShowAPs, fRecalc );
|
||||
DetermineCursorBodyLocation( gusSelectedSoldier, fShowAPs, fRecalc );
|
||||
|
||||
if ( pSoldier->flags.fReloading || pSoldier->flags.fPauseAim )
|
||||
{
|
||||
@@ -1273,7 +1273,7 @@ UINT8 HandleNonActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos , BO
|
||||
|
||||
if ( gTacticalStatus.uiFlags & TURNBASED && (gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||
{
|
||||
DetermineCursorBodyLocation( (UINT8)gusSelectedSoldier, fShowAPs, fRecalc );
|
||||
DetermineCursorBodyLocation( gusSelectedSoldier, fShowAPs, fRecalc );
|
||||
|
||||
gsCurrentActionPoints = CalcTotalAPsToAttack( pSoldier, usMapPos, TRUE, (INT8)(pSoldier->aiData.bShownAimTime ) );
|
||||
|
||||
@@ -1387,7 +1387,7 @@ UINT8 HandleNonActivatedTargetCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos , BO
|
||||
}
|
||||
|
||||
|
||||
void DetermineCursorBodyLocation( UINT8 ubSoldierID, BOOLEAN fDisplay, BOOLEAN fRecalc )
|
||||
void DetermineCursorBodyLocation( UINT16 ubSoldierID, BOOLEAN fDisplay, BOOLEAN fRecalc )
|
||||
{
|
||||
INT32 usMapPos;
|
||||
SOLDIERTYPE *pTargetSoldier = NULL, *pSoldier;
|
||||
@@ -2230,7 +2230,7 @@ UINT8 HandleBloodbagCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActiv
|
||||
if ( HasItemFlag( ( &( pSoldier->inv[HANDPOS] ) )->usItem, EMPTY_BLOOD_BAG ) )
|
||||
{
|
||||
// is there a person here?
|
||||
UINT8 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
UINT16 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
if ( usSoldierIndex != NOBODY )
|
||||
{
|
||||
if ( usSoldierIndex != pSoldier->ubID && MercPtrs[usSoldierIndex]->IsValidBloodDonor() )
|
||||
@@ -2265,7 +2265,7 @@ UINT8 HandleSplintCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivat
|
||||
}
|
||||
|
||||
// is there a person here?
|
||||
UINT8 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
UINT16 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
if ( usSoldierIndex != NOBODY )
|
||||
{
|
||||
if ( usSoldierIndex != pSoldier->ubID && MercPtrs[usSoldierIndex]->CanReceiveSplint() )
|
||||
@@ -2351,7 +2351,7 @@ UINT8 HandleHandcuffCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCurso
|
||||
if ( HasItemFlag( (&(pSoldier->inv[HANDPOS]))->usItem, HANDCUFFS ) )
|
||||
{
|
||||
// is there a person here?
|
||||
UINT8 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
UINT16 usSoldierIndex = WhoIsThere2( sGridNo, pSoldier->pathing.bLevel );
|
||||
if (usSoldierIndex != NOBODY && MercPtrs[usSoldierIndex] && MercPtrs[usSoldierIndex]->bVisible >= 0 && MercPtrs[usSoldierIndex]->CanBeCaptured())
|
||||
{
|
||||
return( HANDCUFF_GREY_UICURSOR );
|
||||
@@ -2373,7 +2373,7 @@ UINT8 HandleApplyItemCursor(SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCurso
|
||||
if (ItemCanBeAppliedToOthers((&(pSoldier->inv[HANDPOS]))->usItem))
|
||||
{
|
||||
// is there a person here?
|
||||
UINT8 ubPerson = WhoIsThere2(sGridNo, pSoldier->pathing.bLevel);
|
||||
UINT16 ubPerson = WhoIsThere2(sGridNo, pSoldier->pathing.bLevel);
|
||||
if (ubPerson != NOBODY && MercPtrs[ubPerson] && MercPtrs[ubPerson]->bVisible >= 0)
|
||||
{
|
||||
return(APPLYITEM_GREY_UICURSOR);
|
||||
@@ -2989,7 +2989,7 @@ UINT8 GetActionModeCursor( SOLDIERTYPE *pSoldier )
|
||||
if ( GetMouseMapPos( &usMapPos ) )
|
||||
{
|
||||
// is there a person here?
|
||||
UINT8 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
UINT16 ubPerson = WhoIsThere2(usMapPos, pSoldier->pathing.bLevel);
|
||||
if (ubPerson != NOBODY && MercPtrs[ubPerson] && MercPtrs[ubPerson]->bVisible >= 0)
|
||||
{
|
||||
ubCursor = APPLYITEMCURS;
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
#define REFINE_KNIFE_2 (gGameExternalOptions.fEnhancedCloseCombatSystem ? gSkillTraitValues.ubModifierForAPsAddedOnAimedBladedAttackes*2 : 6)
|
||||
|
||||
|
||||
UINT8 GetProperItemCursor( UINT8 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos, BOOLEAN fActivated );
|
||||
void DetermineCursorBodyLocation( UINT8 ubSoldierID, BOOLEAN fDisplay, BOOLEAN fRecalc );
|
||||
UINT8 GetProperItemCursor( UINT16 ubSoldierID, UINT16 ubItemIndex, INT32 usMapPos, BOOLEAN fActivated );
|
||||
void DetermineCursorBodyLocation( UINT16 ubSoldierID, BOOLEAN fDisplay, BOOLEAN fRecalc );
|
||||
|
||||
void HandleLeftClickCursor( SOLDIERTYPE *pSoldier );
|
||||
void HandleRightClickAdjustCursor( SOLDIERTYPE *pSoldier, INT32 usMapPos );
|
||||
|
||||
+25
-25
@@ -53,7 +53,7 @@ VEHICLETYPE *pVehicleList = NULL;
|
||||
// number of vehicle slots on the list
|
||||
UINT8 ubNumberOfVehicles = 0;
|
||||
|
||||
// the sqaud mvt groups
|
||||
// the squad mvt groups
|
||||
extern INT8 SquadMovementGroups[ ];
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@ INT16 sVehicleInternalOrigArmorValues[ NUMBER_OF_TYPES_OF_VEHICLES ][ NUMBER_OF_
|
||||
|
||||
|
||||
// set the driver of the vehicle
|
||||
void SetDriver( INT32 iID, UINT8 ubID );
|
||||
void SetDriver( INT32 iID, UINT16 ubID );
|
||||
|
||||
//void RemoveSoldierFromVehicleBetweenSectors( pSoldier, iId );
|
||||
|
||||
@@ -669,7 +669,7 @@ BOOLEAN AddSoldierToVehicle( SOLDIERTYPE *pSoldier, INT32 iId, UINT8 ubSeatIndex
|
||||
// anv: are we taking driver's seat
|
||||
if( gNewVehicle[ pVehicleList[ iId ].ubVehicleType ].VehicleSeats[ubFinalSeatIndex].fDriver )
|
||||
{
|
||||
SetDriver( iId , pSoldier->ubID );
|
||||
SetDriver( iId, pSoldier->ubID );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1577,7 +1577,7 @@ SOLDIERTYPE *GetDriver( INT32 iID )
|
||||
}
|
||||
|
||||
|
||||
void SetDriver( INT32 iID, UINT8 ubID )
|
||||
void SetDriver( INT32 iID, UINT16 ubID )
|
||||
{
|
||||
// anv: first make sure previous driver won't be driver anymore
|
||||
if( pVehicleList[ iID ].ubDriver != NOBODY && MercPtrs[ pVehicleList[ iID ].ubDriver ]->iVehicleId == iID )
|
||||
@@ -1986,7 +1986,7 @@ void AddPassangersToTeamPanel( INT32 iId )
|
||||
}
|
||||
|
||||
|
||||
void VehicleTakeDamage( UINT8 ubID, UINT8 ubReason, INT16 sDamage, INT32 sGridNo, UINT8 ubAttackerID )
|
||||
void VehicleTakeDamage( UINT8 ubID, UINT8 ubReason, INT16 sDamage, INT32 sGridNo, UINT16 ubAttackerID )
|
||||
{
|
||||
if ( ubReason != TAKE_DAMAGE_GAS_FIRE && ubReason != TAKE_DAMAGE_GAS_NOTFIRE )
|
||||
{
|
||||
@@ -2015,7 +2015,7 @@ void VehicleTakeDamage( UINT8 ubID, UINT8 ubReason, INT16 sDamage, INT32 sGridNo
|
||||
}
|
||||
|
||||
|
||||
void HandleCriticalHitForVehicleInLocation( UINT8 ubID, INT16 sDmg, INT32 sGridNo, UINT8 ubAttackerID )
|
||||
void HandleCriticalHitForVehicleInLocation( UINT8 ubID, INT16 sDmg, INT32 sGridNo, UINT16 ubAttackerID )
|
||||
{
|
||||
// check state the armor was s'posed to be in vs. the current state..the difference / orig state is % chance
|
||||
// that a critical hit will occur
|
||||
@@ -2317,7 +2317,7 @@ BOOLEAN SaveVehicleInformationToSaveGameFile( HWFILE hFile )
|
||||
//loop through the passengers
|
||||
for( ubPassengerCnt=0; ubPassengerCnt<10; ubPassengerCnt++)
|
||||
{
|
||||
TempVehicle.pPassengers[ ubPassengerCnt ] = ( SOLDIERTYPE * )NO_PROFILE;
|
||||
TempVehicle.pPassengers[ ubPassengerCnt ] = ( SOLDIERTYPE * )NO_PROFILE;
|
||||
|
||||
//if there is a passenger here
|
||||
if( pVehicleList[cnt].pPassengers[ ubPassengerCnt ] )
|
||||
@@ -2428,28 +2428,28 @@ BOOLEAN LoadVehicleInformationFromSavedGameFile( HWFILE hFile, UINT32 uiSavedGam
|
||||
//loop through all the passengers
|
||||
for(ubPassengerCnt=0; ubPassengerCnt<10; ubPassengerCnt++)
|
||||
{
|
||||
if ( uiSavedGameVersion < 86 )
|
||||
{
|
||||
if( pVehicleList[cnt].pPassengers[ubPassengerCnt] != 0 )
|
||||
if ( uiSavedGameVersion < 86 )
|
||||
{
|
||||
// ! The id of the soldier was saved in the passenger pointer. The passenger pointer is converted back
|
||||
// ! to a UINT8 so we can get the REAL pointer to the soldier.
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = FindSoldierByProfileID( (UINT8)(pVehicleList[cnt].pPassengers[ ubPassengerCnt ]), FALSE );
|
||||
if( pVehicleList[cnt].pPassengers[ubPassengerCnt] != 0 )
|
||||
{
|
||||
// ! The id of the soldier was saved in the passenger pointer. The passenger pointer is converted back
|
||||
// ! to a UINT8 so we can get the REAL pointer to the soldier.
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = FindSoldierByProfileID( (UINT8)(pVehicleList[cnt].pPassengers[ ubPassengerCnt ]), FALSE );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( pVehicleList[cnt].pPassengers[ubPassengerCnt] != ( SOLDIERTYPE * )NO_PROFILE )
|
||||
}
|
||||
else
|
||||
{
|
||||
// ! The id of the soldier was saved in the passenger pointer. The passenger pointer is converted back
|
||||
// ! to a UINT8 so we can get the REAL pointer to the soldier.
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = FindSoldierByProfileID( (UINT8)(pVehicleList[cnt].pPassengers[ ubPassengerCnt ]), FALSE );
|
||||
if( pVehicleList[cnt].pPassengers[ubPassengerCnt] != ( SOLDIERTYPE * )NO_PROFILE )
|
||||
{
|
||||
// ! The id of the soldier was saved in the passenger pointer. The passenger pointer is converted back
|
||||
// ! to a UINT8 so we can get the REAL pointer to the soldier.
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = FindSoldierByProfileID( (UINT8)(pVehicleList[cnt].pPassengers[ ubPassengerCnt ]), FALSE );
|
||||
}
|
||||
else
|
||||
{
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pVehicleList[cnt].pPassengers[ubPassengerCnt] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+3
-3
@@ -289,7 +289,7 @@ typedef struct
|
||||
BOOLEAN fBetweenSectors; // between sectors?
|
||||
INT32 sGridNo; // location in tactical
|
||||
SOLDIERTYPE *pPassengers[ MAXPASSENGERS ];
|
||||
UINT8 ubDriver;
|
||||
UINT16 ubDriver;
|
||||
INT16 sInternalHitLocations[ NUMBER_OF_EXTERNAL_HIT_LOCATIONS_ON_VEHICLE ];
|
||||
INT16 sArmourType;
|
||||
INT16 sExternalArmorLocationsStatus[ NUMBER_OF_EXTERNAL_HIT_LOCATIONS_ON_VEHICLE ];
|
||||
@@ -404,7 +404,7 @@ BOOLEAN SwapVehicleSeat( SOLDIERTYPE *pVehicle, SOLDIERTYPE *pSoldier, UINT8 ubS
|
||||
void AddPassangersToTeamPanel( INT32 iId );
|
||||
|
||||
|
||||
void VehicleTakeDamage( UINT8 ubID, UINT8 ubReason, INT16 sDamage, INT32 sGridNo , UINT8 ubAttackerID );
|
||||
void VehicleTakeDamage( UINT8 ubID, UINT8 ubReason, INT16 sDamage, INT32 sGridNo , UINT16 ubAttackerID );
|
||||
|
||||
// the soldiertype containing this tactical incarnation of this vehicle
|
||||
SOLDIERTYPE * GetSoldierStructureForVehicle( INT32 iId );
|
||||
@@ -415,7 +415,7 @@ void AdjustVehicleAPs( SOLDIERTYPE *pSoldier, INT16 *pubPoints );
|
||||
//INT16 GetOrigInternalArmorValueForVehicleInLocation( UINT8 ubID, UINT8 ubLocation );
|
||||
|
||||
// handle crit hit to vehicle in this location
|
||||
void HandleCriticalHitForVehicleInLocation( UINT8 ubID, INT16 sDmg, INT32 sGridNo, UINT8 ubAttackerID );
|
||||
void HandleCriticalHitForVehicleInLocation( UINT8 ubID, INT16 sDmg, INT32 sGridNo, UINT16 ubAttackerID );
|
||||
|
||||
// ste up armor values for this vehicle
|
||||
void SetUpArmorForVehicle( UINT8 ubID );
|
||||
|
||||
+15
-13
@@ -2443,7 +2443,7 @@ BOOLEAN UseGunNCTH( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
//CHAR8 zBurstString[512];
|
||||
UINT8 ubDirection;
|
||||
INT32 sNewGridNo;
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
BOOLEAN fGonnaHit = FALSE;
|
||||
FLOAT dExpGain = 0;
|
||||
UINT32 uiDepreciateTest;
|
||||
@@ -3227,7 +3227,7 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
// CHAR8 zBurstString[512];
|
||||
UINT8 ubDirection;
|
||||
INT32 sNewGridNo;
|
||||
UINT8 ubMerc;
|
||||
UINT16 ubMerc;
|
||||
BOOLEAN fGonnaHit = FALSE;
|
||||
UINT16 usExpGain = 0;
|
||||
UINT32 uiDepreciateTest;
|
||||
@@ -4933,7 +4933,7 @@ BOOLEAN UseThrown( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
|
||||
{
|
||||
UINT32 uiHitChance;
|
||||
INT8 bLoop;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
SOLDIERTYPE * pTargetSoldier;
|
||||
//INT16 sAPCost = 0;//dnl ch72 180913
|
||||
|
||||
@@ -5277,7 +5277,7 @@ BOOLEAN UseLauncher( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
|
||||
{
|
||||
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, sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iID , false);
|
||||
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, sTargetGridNo, pSoldier->ubID, pSoldier->pThrowParams->ubActionCode, pSoldier->pThrowParams->uiActionData, iID, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5304,7 +5304,7 @@ BOOLEAN UseLauncher( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
BOOLEAN DoSpecialEffectAmmoMiss( UINT8 ubAttackerID, UINT16 usWeaponIndex, INT32 sGridNo, INT16 sXPos, INT16 sYPos, INT16 sZPos, BOOLEAN fSoundOnly, BOOLEAN fFreeupAttacker, INT32 iBullet )
|
||||
BOOLEAN DoSpecialEffectAmmoMiss( UINT16 ubAttackerID, UINT16 usWeaponIndex, INT32 sGridNo, INT16 sXPos, INT16 sYPos, INT16 sZPos, BOOLEAN fSoundOnly, BOOLEAN fFreeupAttacker, INT32 iBullet )
|
||||
{
|
||||
ANITILE_PARAMS AniParams;
|
||||
UINT8 ubAmmoType = 0;
|
||||
@@ -5467,7 +5467,7 @@ BOOLEAN DoSpecialEffectAmmoMiss( UINT8 ubAttackerID, UINT16 usWeaponIndex, INT32
|
||||
}
|
||||
|
||||
|
||||
void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 usDirection, INT16 sXPos, INT16 sYPos, INT16 sZPos, INT16 sRange , UINT8 ubAttackerID, BOOLEAN fHit, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 usDirection, INT16 sXPos, INT16 sYPos, INT16 sZPos, INT16 sRange, UINT16 ubAttackerID, BOOLEAN fHit, UINT8 ubSpecial, UINT8 ubHitLocation )
|
||||
{
|
||||
SOLDIERTYPE* pTargetSoldier = NULL;
|
||||
SOLDIERTYPE* pSoldier = NULL;
|
||||
@@ -5543,7 +5543,7 @@ void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 s
|
||||
else if ( AmmoTypes[ubAmmoType].explosionSize > 1)
|
||||
{
|
||||
// re-routed the Highexplosive value to define exposion type
|
||||
IgniteExplosion( ubAttackerID, sXPos, sYPos, 0, GETWORLDINDEXFROMWORLDCOORDS( sYPos, sXPos ), AmmoTypes[ubAmmoType].highExplosive , pTargetSoldier->pathing.bLevel );
|
||||
IgniteExplosion( ubAttackerID, sXPos, sYPos, 0, GETWORLDINDEXFROMWORLDCOORDS( sYPos, sXPos ), AmmoTypes[ubAmmoType].highExplosive, pTargetSoldier->pathing.bLevel );
|
||||
// pSoldier->inv[pSoldier->ubAttackingHand ][0]->data.gun.usGunAmmoItem = NONE;
|
||||
}
|
||||
}
|
||||
@@ -5578,7 +5578,7 @@ void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 s
|
||||
}
|
||||
|
||||
|
||||
void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UINT8 ubAttackerID, UINT16 sXPos, INT16 sYPos, INT16 sZPos, UINT16 usStructureID, INT32 iImpact, BOOLEAN fStopped )
|
||||
void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UINT16 ubAttackerID, UINT16 sXPos, INT16 sYPos, INT16 sZPos, UINT16 usStructureID, INT32 iImpact, BOOLEAN fStopped )
|
||||
{
|
||||
BOOLEAN fDoMissForGun = FALSE;
|
||||
ANITILE *pNode;
|
||||
@@ -6237,7 +6237,7 @@ BOOLEAN InRange( SOLDIERTYPE *pSoldier, INT32 sGridNo )
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
#pragma optimize("", off)
|
||||
UINT32 CalcNewChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos )
|
||||
{
|
||||
|
||||
@@ -6258,7 +6258,7 @@ UINT32 CalcNewChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTi
|
||||
UINT16 usInHand;
|
||||
OBJECTTYPE * pInHand;
|
||||
INT16 sDistVis, sDistVisNoScope;
|
||||
UINT8 ubTargetID;
|
||||
UINT16 ubTargetID;
|
||||
bool fCantSeeTarget = false;
|
||||
FLOAT scopeRangeMod = 0.0f;
|
||||
|
||||
@@ -6589,6 +6589,7 @@ UINT32 CalcNewChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTi
|
||||
|
||||
return ((INT32)fFinalChance);
|
||||
}
|
||||
#pragma optimize("", on)
|
||||
|
||||
|
||||
UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos )
|
||||
@@ -6616,7 +6617,8 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime,
|
||||
UINT16 usInHand, usShockPenalty, MIN_RANGE_FOR_FULL_COWER, MAX_TARGET_COWERING_PENALTY;
|
||||
UINT16 iBulletsLeft, iTracersFired = 0, iBulletsPerTracer, iBulletsSinceLastTracer=0, iRoundsFiredPreviously;
|
||||
INT8 bBandaged, maxClickBonus = 10, AIM_PENALTY_PER_TARGET_SHOCK;
|
||||
UINT8 ubTargetID, bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer=0;
|
||||
UINT16 ubTargetID;
|
||||
UINT8 bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer = 0;
|
||||
FLOAT maxBonus, aimTimeBonus, scopeRangeMod = 0.0f, iAimBonus;
|
||||
bool fCantSeeTarget = false, fCoverObscured = false;
|
||||
|
||||
@@ -9036,7 +9038,7 @@ INT32 HTHImpact( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pTarget, INT32 iHitBy, BO
|
||||
return( iImpact );
|
||||
}
|
||||
|
||||
void ShotMiss( UINT8 ubAttackerID, INT32 iBullet )
|
||||
void ShotMiss( UINT16 ubAttackerID, INT32 iBullet )
|
||||
{
|
||||
BOOLEAN fDoMissForGun = FALSE;
|
||||
SOLDIERTYPE* pAttacker = NULL;
|
||||
@@ -12118,7 +12120,7 @@ FLOAT CalcNewChanceToHitAimTraitBonus(SOLDIERTYPE *pSoldier, FLOAT fAimCap, FLOA
|
||||
extern BOOLEAN IsRoofPresentAtGridNo( INT32 sGridNo );
|
||||
|
||||
// Flugente: fire item from A to B (intended for mortarshells and launchable grenades)
|
||||
BOOLEAN ArtilleryStrike( UINT16 usItem, UINT8 ubOwnerID, UINT32 usStartingGridNo, UINT32 usTargetMapPos )
|
||||
BOOLEAN ArtilleryStrike( UINT16 usItem, UINT16 ubOwnerID, UINT32 usStartingGridNo, UINT32 usTargetMapPos )
|
||||
{
|
||||
FLOAT dForce, dDegrees;
|
||||
INT16 sDestX, sDestY, sSrcX, sSrcY;
|
||||
|
||||
+4
-4
@@ -454,12 +454,12 @@ extern INT8 ArmourVersusExplosivesPercent( SOLDIERTYPE * pSoldier );
|
||||
// Flugente: fire resistance
|
||||
INT16 ArmourVersusFirePercent( SOLDIERTYPE * pSoldier );
|
||||
extern BOOLEAN FireWeapon( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo );
|
||||
extern void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 usDirection, INT16 sXPos, INT16 sYPos, INT16 sZPos, INT16 sRange , UINT8 ubAttackerID, BOOLEAN fHit, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
extern void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UINT8 ubAttackerID, UINT16 sXPos, INT16 sYPos, INT16 sZPos, UINT16 usStructureID, INT32 iImpact, BOOLEAN fStopped );
|
||||
extern void WeaponHit( UINT16 usSoldierID, UINT16 usWeaponIndex, INT16 sDamage, INT16 sBreathLoss, UINT16 usDirection, INT16 sXPos, INT16 sYPos, INT16 sZPos, INT16 sRange, UINT16 ubAttackerID, BOOLEAN fHit, UINT8 ubSpecial, UINT8 ubHitLocation );
|
||||
extern void StructureHit( INT32 iBullet, UINT16 usWeaponIndex, INT16 bWeaponStatus, UINT16 ubAttackerID, UINT16 sXPos, INT16 sYPos, INT16 sZPos, UINT16 usStructureID, INT32 iImpact, BOOLEAN fStopped );
|
||||
extern void WindowHit( INT32 sGridNo, UINT16 usStructureID, BOOLEAN fBlowWindowSouth, BOOLEAN fLargeForce );
|
||||
// HEADROCK HAM 5.1: Moved to Bullets.h
|
||||
extern BOOLEAN InRange( SOLDIERTYPE *pSoldier, INT32 sGridNo );
|
||||
extern void ShotMiss( UINT8 ubAttackerID, INT32 iBullet );
|
||||
extern void ShotMiss( UINT16 ubAttackerID, INT32 iBullet );
|
||||
extern UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos );
|
||||
extern UINT32 CalcNewChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos );
|
||||
extern UINT32 AICalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos, INT8 bTargetLevel, UINT16 usAnimState);//dnl ch59 180813
|
||||
@@ -536,7 +536,7 @@ FLOAT GetOverheatJamThreshold( OBJECTTYPE *pObj );
|
||||
FLOAT GetOverheatDamageThresholdModifier( OBJECTTYPE *pObj );
|
||||
FLOAT GetOverheatDamageThreshold( OBJECTTYPE *pObj );
|
||||
|
||||
BOOLEAN ArtilleryStrike( UINT16 usItem, UINT8 ubOwnerID, UINT32 usStartingGridNo, UINT32 usTargetMapPos );
|
||||
BOOLEAN ArtilleryStrike( UINT16 usItem, UINT16 ubOwnerID, UINT32 usStartingGridNo, UINT32 usTargetMapPos );
|
||||
|
||||
// Flugente: functions for using several barrels at once
|
||||
UINT8 GetNextBarrelMode( UINT16 usItem, UINT8 aBarrelMode );
|
||||
|
||||
@@ -609,7 +609,7 @@ void ResizeWorldItems(void)//dnl ch75 271013
|
||||
#endif
|
||||
}
|
||||
|
||||
INT32 AddItemToWorld( INT32 sGridNo, OBJECTTYPE *pObject, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 bVisible, INT8 soldierID )
|
||||
INT32 AddItemToWorld( INT32 sGridNo, OBJECTTYPE *pObject, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 bVisible, INT16 soldierID )
|
||||
{
|
||||
UINT32 iItemIndex;
|
||||
INT32 iReturn;
|
||||
|
||||
+18
-2
@@ -72,7 +72,7 @@ public:
|
||||
//Because this value is zero in the saved maps, we can't change it to 100, hence the reversal method.
|
||||
//This check is only performed the first time a map is loaded. Later, it is entirely skipped.
|
||||
UINT8 ubNonExistChance;
|
||||
INT8 soldierID;
|
||||
INT16 soldierID;
|
||||
char endOfPod;
|
||||
OBJECTTYPE object;
|
||||
};
|
||||
@@ -100,13 +100,29 @@ public:
|
||||
OBJECTTYPE object;
|
||||
}; // _OLD_WORLDITEM
|
||||
|
||||
class _WORLDITEM_INT8_ID
|
||||
{
|
||||
public:
|
||||
BOOLEAN fExists;
|
||||
INT32 sGridNo;
|
||||
UINT8 ubLevel;
|
||||
UINT16 usFlags;
|
||||
INT8 bRenderZHeightAboveLevel;
|
||||
INT8 bVisible;
|
||||
UINT8 ubNonExistChance;
|
||||
INT8 soldierID;
|
||||
char endOfPod;
|
||||
OBJECTTYPE object;
|
||||
};
|
||||
|
||||
#define SIZEOF_WORLDITEM_POD (offsetof(WORLDITEM, endOfPod))
|
||||
#define _OLD_SIZEOF_WORLDITEM_POD (offsetof(_OLD_WORLDITEM, endOfPod))
|
||||
#define _SIZEOF_WORLDITEM_INT8_ID_POD (offsetof(_WORLDITEM_INT8_ID, endOfPod))
|
||||
|
||||
extern std::vector<WORLDITEM> gWorldItems;//dnl ch75 261013
|
||||
extern UINT32 guiNumWorldItems;
|
||||
|
||||
INT32 AddItemToWorld( INT32 sGridNo, OBJECTTYPE *pObject, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 bVisible, INT8 soldierID );
|
||||
INT32 AddItemToWorld( INT32 sGridNo, OBJECTTYPE *pObject, UINT8 ubLevel, UINT16 usFlags, INT8 bRenderZHeightAboveLevel, INT8 bVisible, INT16 soldierID );
|
||||
void RemoveItemFromWorld( INT32 iItemIndex );
|
||||
INT32 FindWorldItem( UINT16 usItem );
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ void RecountBullets(void)
|
||||
}
|
||||
|
||||
|
||||
INT32 CreateBullet( UINT8 ubFirerID, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem )
|
||||
INT32 CreateBullet( UINT16 ubFirerID, BOOLEAN fFake, UINT16 usFlags,UINT16 fromItem )
|
||||
{
|
||||
INT32 iBulletIndex;
|
||||
BULLET *pBullet;
|
||||
|
||||
+8
-8
@@ -9,7 +9,7 @@
|
||||
#include "soldier profile type.h"
|
||||
|
||||
// Defines
|
||||
#define NUM_FACE_SLOTS 50
|
||||
#define NUM_FACE_SLOTS NUM_PROFILES
|
||||
|
||||
struct audio_gap
|
||||
{
|
||||
@@ -123,7 +123,7 @@ typedef struct
|
||||
|
||||
UINT32 uiSoundID; // Sound ID if one being played
|
||||
|
||||
UINT8 ubSoldierID; // SoldierID if one specified
|
||||
UINT16 ubSoldierID; // SoldierID if one specified
|
||||
UINT8 ubCharacterNum; // Profile ID num
|
||||
|
||||
UINT16 usFaceX; // X location to render face
|
||||
@@ -200,14 +200,14 @@ extern FACETYPE gFacesData[ NUM_FACE_SLOTS ];
|
||||
// FACE HANDLING
|
||||
//
|
||||
// Faces are done like this: Call
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT8 ubSoldierID, UINT32 uiInitFlags );
|
||||
INT32 InitFace( UINT8 usMercProfileID, UINT16 ubSoldierID, UINT32 uiInitFlags );
|
||||
// The first parameter is the profile ID and the second is the soldier ID ( which for most cases
|
||||
// will be NOBODY if the face is not created from a SOLDIERTYPE )
|
||||
// This function allocates a slot in the table for the face, loads it's STI file, sets some
|
||||
// values for X,Y locations of eyes from the profile. Does not mkae the face visible or anything like that
|
||||
|
||||
// INternal init face, called if you don;t want to give a profile ID ( send NO_PROFILE ) for ID
|
||||
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 );
|
||||
|
||||
|
||||
// Removes the face from the internal table, deletes any memory allocated if any.
|
||||
@@ -279,10 +279,10 @@ void HandleTalkingAutoFaces( );
|
||||
// Same Functions but taking soldier ID first to get profile ID
|
||||
INT32 InitSoldierFace( SOLDIERTYPE *pSoldier );
|
||||
void DeleteSoldierFace( SOLDIERTYPE *pSoldier );
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT8 ubSoldierID , UINT16 usFaceX, UINT16 usFaceY );
|
||||
void SetAutoFaceInActiveFromSoldier( UINT8 ubSoldierID );
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT8 ubSoldierID );
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT8 ubSoldierID, INT16 sX, INT16 sY );
|
||||
void SetAutoFaceActiveFromSoldier( UINT32 uiDisplayBuffer, UINT32 uiRestoreBuffer, UINT16 ubSoldierID, UINT16 usFaceX, UINT16 usFaceY );
|
||||
void SetAutoFaceInActiveFromSoldier( UINT16 ubSoldierID );
|
||||
BOOLEAN RenderAutoFaceFromSoldier( UINT16 ubSoldierID );
|
||||
BOOLEAN ExternRenderFaceFromSoldier( UINT32 uiBuffer, UINT16 ubSoldierID, INT16 sX, INT16 sY );
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -299,7 +299,6 @@ void RevealRoofsAndItems(SOLDIERTYPE *pSoldier, UINT32 itemsToo, BOOLEAN fShowLo
|
||||
INT8 itemVisible = FALSE;
|
||||
INT8 Blocking,twoMoreTiles,markerDir;
|
||||
INT8 nextDir=0;
|
||||
UINT8 who; //,itemIndex; // for each square checked
|
||||
UINT8 dir,range,Path2;
|
||||
//DBrot: More Rooms
|
||||
//UINT8 ubRoomNo;
|
||||
@@ -359,7 +358,6 @@ void RevealRoofsAndItems(SOLDIERTYPE *pSoldier, UINT32 itemsToo, BOOLEAN fShowLo
|
||||
MercLooksForDoors( pSoldier, TRUE );
|
||||
|
||||
|
||||
who = pSoldier->ubID;
|
||||
dir = pSoldier->ubDirection;
|
||||
|
||||
//NumMessage("good old reveal",dir);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
extern BOOLEAN gfIngagedInDrop;
|
||||
|
||||
void ResetHeliSeats( );
|
||||
void AddMercToHeli( UINT8 ubID );
|
||||
void AddMercToHeli( UINT16 ubID );
|
||||
|
||||
// Flugente: we might want to set the helicopter dropoff point without starting it at the same time
|
||||
void SetHelicopterDroppoint( INT32 sGridNo );
|
||||
@@ -14,7 +14,7 @@ void StartHelicopterRun();
|
||||
|
||||
void HandleHeliDrop( BOOLEAN fPlayer = TRUE );
|
||||
|
||||
UINT8 SpawnAirDropElite( INT32 sGridNo );
|
||||
UINT16 SpawnAirDropElite( INT32 sGridNo );
|
||||
|
||||
void InitiateEnemyAirDropSoldiers( INT32 sGridNo );
|
||||
void HandleEnemyAirdrop( );
|
||||
|
||||
+70
-66
@@ -74,16 +74,16 @@ extern void SetSoldierAniSpeed( SOLDIERTYPE *pSoldier );
|
||||
// HEADROCK HAM 3.6: Moved to header
|
||||
//void MakeBloodcatsHostile( void );
|
||||
|
||||
void OurNoise( UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage );
|
||||
void TheirNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubBaseVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void OurNoise( UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage );
|
||||
void TheirNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void ProcessNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubBaseVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
UINT8 CalcEffVolume(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT8 ubNoiseType, UINT8 ubBaseVolume, UINT8 ubTerrType1, UINT8 ubTerrType2);
|
||||
void HearNoise(SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 *ubSeen);
|
||||
void TellPlayerAboutNoise(SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 ubNoiseDir, STR16 zNoiseMessage = NULL );
|
||||
void HearNoise(SOLDIERTYPE *pSoldier, UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 *ubSeen);
|
||||
void TellPlayerAboutNoise(SOLDIERTYPE *pSoldier, UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 ubNoiseDir, STR16 zNoiseMessage = NULL );
|
||||
void OurTeamSeesSomeone( SOLDIERTYPE * pSoldier, INT8 bNumReRevealed, INT8 bNumNewEnemies );
|
||||
|
||||
void IncrementWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
void SetWatchedLocAsUsed( UINT8 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
void IncrementWatchedLoc( UINT16 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
void SetWatchedLocAsUsed( UINT16 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
void DecayWatchedLocs( INT8 bTeam );
|
||||
|
||||
void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT8 * pPersOL, INT8 * pbPublOL );
|
||||
@@ -91,7 +91,7 @@ void HandleManNoLongerSeen( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent, INT
|
||||
// The_Bob - real time sneaking code 01/06/09
|
||||
extern void CancelItemPointer(void);
|
||||
extern BOOLEAN NobodyAlerted(void);
|
||||
extern void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
|
||||
extern void ShowRadioLocator( UINT16 ubID, UINT8 ubLocatorSpeed );
|
||||
//#define TESTOPPLIST
|
||||
|
||||
// for ManSeesMan()
|
||||
@@ -120,7 +120,7 @@ BOOLEAN gfMikeShouldSayHi = FALSE;
|
||||
BOOLEAN gfMorrisShouldSayHi = FALSE;
|
||||
#endif
|
||||
|
||||
UINT8 gubBestToMakeSighting[BEST_SIGHTING_ARRAY_SIZE];
|
||||
UINT16 gubBestToMakeSighting[BEST_SIGHTING_ARRAY_SIZE];
|
||||
UINT8 gubBestToMakeSightingSize = 0;
|
||||
//BOOLEAN gfHumanSawSomeoneInRealtime;
|
||||
|
||||
@@ -128,11 +128,11 @@ BOOLEAN gfDelayResolvingBestSightingDueToDoor = FALSE;
|
||||
|
||||
#define SHOULD_BECOME_HOSTILE_SIZE 32
|
||||
|
||||
UINT8 gubShouldBecomeHostileOrSayQuote[ SHOULD_BECOME_HOSTILE_SIZE ];
|
||||
UINT16 gubShouldBecomeHostileOrSayQuote[ SHOULD_BECOME_HOSTILE_SIZE ];
|
||||
UINT8 gubNumShouldBecomeHostileOrSayQuote;
|
||||
|
||||
// NB this ID is set for someone opening a door
|
||||
UINT8 gubInterruptProvoker = NOBODY;
|
||||
UINT16 gubInterruptProvoker = NOBODY;
|
||||
|
||||
INT8 gbPublicOpplist[MAXTEAMS][TOTAL_SOLDIERS];
|
||||
INT8 gbSeenOpponents[TOTAL_SOLDIERS][TOTAL_SOLDIERS];
|
||||
@@ -360,7 +360,7 @@ INT16 AdjustMaxSightRangeForEnvEffects( SOLDIERTYPE *pSoldier, INT8 bLightLevel,
|
||||
|
||||
void SwapBestSightingPositions( INT8 bPos1, INT8 bPos2 )
|
||||
{
|
||||
UINT8 ubTemp;
|
||||
UINT16 ubTemp;
|
||||
|
||||
ubTemp = gubBestToMakeSighting[ bPos1 ];
|
||||
gubBestToMakeSighting[ bPos1 ] = gubBestToMakeSighting[ bPos2 ];
|
||||
@@ -483,7 +483,7 @@ void HandleBestSightingPositionInRealtime( void )
|
||||
// This function is called for handling interrupts when opening a door in non-combat or
|
||||
// just sighting in non-combat, deciding who gets the first turn
|
||||
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
if ( gfDelayResolvingBestSightingDueToDoor )
|
||||
{
|
||||
@@ -513,7 +513,7 @@ void HandleBestSightingPositionInRealtime( void )
|
||||
CancelItemPointer();
|
||||
// select (and center screen on) the merc who saw the enemy
|
||||
// HEADROCK HAM 3.6: A much-requested toggle.
|
||||
if (gusSelectedSoldier != (UINT16)MercPtrs[gubBestToMakeSighting[ 0 ]]->ubID &&
|
||||
if (gusSelectedSoldier != MercPtrs[gubBestToMakeSighting[ 0 ]]->ubID &&
|
||||
!gGameExternalOptions.fNoAutoFocusChangeInRealtimeSneak)
|
||||
SelectSoldier (MercPtrs[gubBestToMakeSighting[ 0 ]]->ubID, false, true);
|
||||
// if not quiet, emit a message warning the player
|
||||
@@ -582,7 +582,7 @@ void HandleBestSightingPositionInTurnbased( void )
|
||||
{
|
||||
// This function is called for handling interrupts when opening a door in turnbased
|
||||
|
||||
UINT8 ubLoop, ubLoop2;
|
||||
UINT16 ubLoop, ubLoop2;
|
||||
BOOLEAN fOk = FALSE;
|
||||
|
||||
if ( gubBestToMakeSighting[ 0 ] != NOBODY )
|
||||
@@ -676,9 +676,9 @@ void InitSightArrays( void )
|
||||
}
|
||||
}
|
||||
|
||||
void AddToShouldBecomeHostileOrSayQuoteList( UINT8 ubID )
|
||||
void AddToShouldBecomeHostileOrSayQuoteList( UINT16 ubID )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
|
||||
Assert( gubNumShouldBecomeHostileOrSayQuote < SHOULD_BECOME_HOSTILE_SIZE );
|
||||
|
||||
@@ -700,9 +700,9 @@ void AddToShouldBecomeHostileOrSayQuoteList( UINT8 ubID )
|
||||
gubNumShouldBecomeHostileOrSayQuote++;
|
||||
}
|
||||
|
||||
UINT8 SelectSpeakerFromHostileOrSayQuoteList( void )
|
||||
UINT16 SelectSpeakerFromHostileOrSayQuoteList( void )
|
||||
{
|
||||
UINT8 ubProfileList[ SHOULD_BECOME_HOSTILE_SIZE ]; // NB list of merc IDs, not profiles!
|
||||
UINT16 ubProfileList[ SHOULD_BECOME_HOSTILE_SIZE ]; // NB list of merc IDs, not profiles!
|
||||
UINT8 ubLoop, ubNumProfiles = 0;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
@@ -749,7 +749,7 @@ void CheckHostileOrSayQuoteList( void )
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 ubSpeaker, ubLoop;
|
||||
UINT16 ubSpeaker, ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
ubSpeaker = SelectSpeakerFromHostileOrSayQuoteList();
|
||||
@@ -992,11 +992,11 @@ void HandleSight(SOLDIERTYPE *pSoldier, UINT8 ubSightFlags)
|
||||
}
|
||||
|
||||
|
||||
void OurTeamRadiosRandomlyAbout(UINT8 ubAbout)
|
||||
void OurTeamRadiosRandomlyAbout(UINT16 ubAbout)
|
||||
{
|
||||
INT32 iLoop;
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
INT8 radioCnt = 0,radioMan[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS];
|
||||
INT16 radioCnt = 0,radioMan[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS];
|
||||
SOLDIERTYPE *pSoldier;
|
||||
|
||||
|
||||
@@ -1025,7 +1025,7 @@ INT8 radioCnt = 0,radioMan[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS];
|
||||
// if this merc is active, in this sector, and well enough to look
|
||||
if (pSoldier->bActive && pSoldier->bInSector && (pSoldier->stats.bLife >= OKLIFE))
|
||||
// put him on our list, and increment the counter
|
||||
radioMan[radioCnt++] = (INT8)iLoop;
|
||||
radioMan[radioCnt++] = (INT16)iLoop;
|
||||
}
|
||||
|
||||
|
||||
@@ -1061,7 +1061,7 @@ INT8 radioCnt = 0,radioMan[CODE_MAXIMUM_NUMBER_OF_PLAYER_SLOTS];
|
||||
|
||||
|
||||
|
||||
INT16 TeamNoLongerSeesMan( UINT8 ubTeam, SOLDIERTYPE *pOpponent, UINT8 ubExcludeID, INT8 bIteration )
|
||||
INT16 TeamNoLongerSeesMan( UINT8 ubTeam, SOLDIERTYPE *pOpponent, UINT16 ubExcludeID, INT8 bIteration )
|
||||
{
|
||||
UINT16 bLoop;
|
||||
SOLDIERTYPE *pMate;
|
||||
@@ -1542,7 +1542,7 @@ void TurnOffEveryonesMuzzleFlashes( void )
|
||||
|
||||
void TurnOffTeamsMuzzleFlashes( UINT8 ubTeam )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
UINT16 ubLoop;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
for (ubLoop = gTacticalStatus.Team[ ubTeam ].bFirstID; ubLoop <= gTacticalStatus.Team[ ubTeam ].bLastID; ubLoop++)
|
||||
@@ -3062,16 +3062,16 @@ void RemoveManAsTarget(SOLDIERTYPE *pSoldier)
|
||||
{
|
||||
|
||||
SOLDIERTYPE *pOpponent;
|
||||
UINT8 ubTarget,ubLoop;
|
||||
UINT16 ubTarget,ubLoop;
|
||||
|
||||
|
||||
ubTarget = pSoldier->ubID;
|
||||
|
||||
// clean up the public opponent lists and locations
|
||||
for (ubLoop = 0; ubLoop < MAXTEAMS; ubLoop++)
|
||||
// never causes any additional looks
|
||||
UpdatePublic(ubLoop,ubTarget,NOT_HEARD_OR_SEEN,NOWHERE,0);
|
||||
|
||||
{ // never causes any additional looks
|
||||
UpdatePublic(ubLoop, ubTarget, NOT_HEARD_OR_SEEN, NOWHERE, 0);
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
@@ -3142,7 +3142,7 @@ IAN COMMENTED THIS OUT MAY 1997 - DO WE NEED THIS?
|
||||
|
||||
|
||||
|
||||
void UpdatePublic(UINT8 ubTeam, UINT8 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel)
|
||||
void UpdatePublic(UINT8 ubTeam, UINT16 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel)
|
||||
{
|
||||
INT32 cnt;
|
||||
INT8 *pbPublOL;
|
||||
@@ -3203,7 +3203,7 @@ void UpdatePublic(UINT8 ubTeam, UINT8 ubID, INT8 bNewOpplist, INT32 sGridNo, INT
|
||||
|
||||
|
||||
|
||||
void UpdatePersonal(SOLDIERTYPE *pSoldier, UINT8 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel)
|
||||
void UpdatePersonal(SOLDIERTYPE *pSoldier, UINT16 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel)
|
||||
{
|
||||
/*
|
||||
#ifdef RECORDOPPLIST
|
||||
@@ -3464,8 +3464,8 @@ void BetweenTurnsVisibilityAdjustments(void)
|
||||
void SaySeenQuote( SOLDIERTYPE *pSoldier, BOOLEAN fSeenCreature, BOOLEAN fVirginSector, BOOLEAN fSeenJoey )
|
||||
{
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
UINT8 ubNumEnemies = 0;
|
||||
UINT8 ubNumAllies = 0;
|
||||
UINT16 ubNumEnemies = 0;
|
||||
UINT16 ubNumAllies = 0;
|
||||
UINT32 cnt;
|
||||
#ifdef JA2UB
|
||||
//Ja25 No meanwhiles
|
||||
@@ -3683,12 +3683,12 @@ void OurTeamSeesSomeone( SOLDIERTYPE * pSoldier, INT8 bNumReRevealed, INT8 bNumN
|
||||
|
||||
}
|
||||
|
||||
void RadioSightings(SOLDIERTYPE *pSoldier, UINT8 ubAbout, UINT8 ubTeamToRadioTo )
|
||||
void RadioSightings(SOLDIERTYPE *pSoldier, UINT16 ubAbout, UINT8 ubTeamToRadioTo )
|
||||
{
|
||||
SOLDIERTYPE *pOpponent;
|
||||
INT32 iLoop;
|
||||
UINT8 start,end,revealedEnemies = 0,unknownEnemies = 0,stillUnseen=TRUE;
|
||||
UINT8 scrollToGuynum = NOBODY,sightedHatedOpponent = FALSE;
|
||||
UINT16 start,end,revealedEnemies = 0,unknownEnemies = 0,stillUnseen=TRUE;
|
||||
UINT16 scrollToGuynum = NOBODY,sightedHatedOpponent = FALSE;
|
||||
//UINT8 oppIsCivilian;
|
||||
INT8 *pPersOL,*pbPublOL; //,dayQuote;
|
||||
BOOLEAN fContactSeen;
|
||||
@@ -5596,7 +5596,7 @@ UINT8 DoorOpeningNoise( SOLDIERTYPE *pSoldier )
|
||||
return( ubDoorNoise );
|
||||
}
|
||||
|
||||
void MakeNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
void MakeNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
{
|
||||
EV_S_NOISE SNoise;
|
||||
|
||||
@@ -5693,7 +5693,7 @@ void MakeNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType,
|
||||
}
|
||||
|
||||
|
||||
void OurNoise( UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
void OurNoise( UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
{
|
||||
#ifdef BYPASSNOISE
|
||||
return;
|
||||
@@ -5724,7 +5724,8 @@ void OurNoise( UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType,
|
||||
|
||||
|
||||
|
||||
void TheirNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume,
|
||||
void TheirNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType,
|
||||
UINT8 ubVolume,
|
||||
UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
{
|
||||
// SOLDIERTYPE *pSoldier;
|
||||
@@ -5784,15 +5785,18 @@ void TheirNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType
|
||||
// else if noiseMaker's NOBODY, no opplist changes or interrupts are possible
|
||||
}
|
||||
|
||||
void ProcessNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubBaseVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
void ProcessNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubBaseVolume, UINT8 ubNoiseType, STR16 zNoiseMessage )
|
||||
{
|
||||
SOLDIERTYPE *pSoldier;
|
||||
UINT8 bLoop, bTeam;
|
||||
UINT16 bLoop;
|
||||
UINT8 bTeam;
|
||||
UINT8 ubLoudestEffVolume, ubEffVolume;
|
||||
// UINT8 ubPlayVolume;
|
||||
UINT8 ubSourceTerrType, ubSource;
|
||||
UINT8 ubSourceTerrType;
|
||||
UINT16 ubSource;
|
||||
INT8 bTellPlayer = FALSE, bHeard, bSeen;
|
||||
UINT8 ubHeardLoudestBy = NOBODY, ubNoiseDir = 0xff, ubLoudestNoiseDir = 0xff;
|
||||
UINT16 ubHeardLoudestBy = NOBODY;
|
||||
UINT8 ubNoiseDir = 0xff, ubLoudestNoiseDir = 0xff;
|
||||
|
||||
|
||||
#ifdef RECORDOPPLIST
|
||||
@@ -6425,8 +6429,8 @@ UINT8 CalcEffVolume(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT8 ubN
|
||||
|
||||
|
||||
|
||||
void HearNoise(SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume,
|
||||
UINT8 ubNoiseType, UINT8 *ubSeen)
|
||||
void HearNoise(SOLDIERTYPE *pSoldier, UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel,
|
||||
UINT8 ubVolume, UINT8 ubNoiseType, UINT8 *ubSeen)
|
||||
{
|
||||
INT16 sNoiseX, sNoiseY;
|
||||
INT8 bHadToTurn = FALSE, bSourceSeen = FALSE;
|
||||
@@ -6781,7 +6785,7 @@ void HearNoise(SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bL
|
||||
plan_lib->update_plan(pSoldier->bAIIndex, pSoldier, ai_input);
|
||||
}
|
||||
|
||||
void TellPlayerAboutNoise( SOLDIERTYPE *pSoldier, UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 ubNoiseDir, STR16 zNoiseMessage )
|
||||
void TellPlayerAboutNoise( SOLDIERTYPE *pSoldier, UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubVolume, UINT8 ubNoiseType, UINT8 ubNoiseDir, STR16 zNoiseMessage )
|
||||
{
|
||||
UINT8 ubVolumeIndex;
|
||||
|
||||
@@ -7509,10 +7513,10 @@ void NoticeUnseenAttacker( SOLDIERTYPE * pAttacker, SOLDIERTYPE * pDefender, INT
|
||||
|
||||
void CheckForAlertWhenEnemyDies( SOLDIERTYPE * pDyingSoldier )
|
||||
{
|
||||
UINT8 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 bDir;
|
||||
INT16 sDistAway, sDistVisible;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
INT8 bDir;
|
||||
INT16 sDistAway, sDistVisible;
|
||||
|
||||
for ( ubID = gTacticalStatus.Team[ pDyingSoldier->bTeam ].bFirstID; ubID <= gTacticalStatus.Team[ pDyingSoldier->bTeam ].bLastID; ubID++ )
|
||||
{
|
||||
@@ -7547,8 +7551,8 @@ void CheckForAlertWhenEnemyDies( SOLDIERTYPE * pDyingSoldier )
|
||||
|
||||
BOOLEAN ArmyKnowsOfPlayersPresence( void )
|
||||
{
|
||||
UINT8 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
UINT16 ubID;
|
||||
SOLDIERTYPE * pSoldier;
|
||||
|
||||
// if anyone is still left...
|
||||
if (gTacticalStatus.Team[ ENEMY_TEAM ].bTeamActive && gTacticalStatus.Team[ ENEMY_TEAM ].bMenInSector > 0 )
|
||||
@@ -7568,7 +7572,7 @@ BOOLEAN ArmyKnowsOfPlayersPresence( void )
|
||||
|
||||
BOOLEAN MercSeesCreature( SOLDIERTYPE * pSoldier )
|
||||
{
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
|
||||
if (pSoldier->aiData.bOppCnt > 0)
|
||||
{
|
||||
@@ -7584,7 +7588,7 @@ BOOLEAN MercSeesCreature( SOLDIERTYPE * pSoldier )
|
||||
}
|
||||
|
||||
|
||||
INT8 FindUnusedWatchedLoc( UINT8 ubID )
|
||||
INT8 FindUnusedWatchedLoc( UINT16 ubID )
|
||||
{
|
||||
INT8 bLoop;
|
||||
|
||||
@@ -7601,7 +7605,7 @@ INT8 FindUnusedWatchedLoc( UINT8 ubID )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
INT8 FindWatchedLocWithLessThanXPointsLeft( UINT8 ubID, UINT8 ubPointLimit )
|
||||
INT8 FindWatchedLocWithLessThanXPointsLeft( UINT16 ubID, UINT8 ubPointLimit )
|
||||
{
|
||||
INT8 bLoop;
|
||||
|
||||
@@ -7615,7 +7619,7 @@ INT8 FindWatchedLocWithLessThanXPointsLeft( UINT8 ubID, UINT8 ubPointLimit )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
INT8 FindWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
INT8 FindWatchedLoc( UINT16 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
INT8 bLoop;
|
||||
|
||||
@@ -7632,7 +7636,7 @@ INT8 FindWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
INT8 GetWatchedLocPoints( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
INT8 GetWatchedLocPoints( UINT16 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
INT8 bLoc;
|
||||
|
||||
@@ -7657,7 +7661,7 @@ INT8 GetWatchedLocPoints( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
}
|
||||
|
||||
|
||||
INT8 GetHighestVisibleWatchedLoc( UINT8 ubID )
|
||||
INT8 GetHighestVisibleWatchedLoc( UINT16 ubID )
|
||||
{
|
||||
INT8 bLoop;
|
||||
INT8 bHighestLoc = -1;
|
||||
@@ -7678,7 +7682,7 @@ INT8 GetHighestVisibleWatchedLoc( UINT8 ubID )
|
||||
return( bHighestLoc );
|
||||
}
|
||||
|
||||
INT8 GetHighestWatchedLocPoints( UINT8 ubID )
|
||||
INT8 GetHighestWatchedLocPoints( UINT16 ubID )
|
||||
{
|
||||
INT8 bLoop;
|
||||
INT8 bHighestPoints = 0;
|
||||
@@ -7694,10 +7698,10 @@ INT8 GetHighestWatchedLocPoints( UINT8 ubID )
|
||||
}
|
||||
|
||||
|
||||
void CommunicateWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel, UINT8 ubPoints )
|
||||
void CommunicateWatchedLoc( UINT16 ubID, INT32 sGridNo, INT8 bLevel, UINT8 ubPoints )
|
||||
{
|
||||
UINT8 ubLoop;
|
||||
INT8 bTeam, bLoopPoint, bPoint;
|
||||
UINT16 ubLoop;
|
||||
INT8 bTeam, bLoopPoint, bPoint;
|
||||
|
||||
bTeam = MercPtrs[ ubID ]->bTeam;
|
||||
|
||||
@@ -7739,7 +7743,7 @@ void CommunicateWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel, UINT8 ubPoin
|
||||
}
|
||||
|
||||
|
||||
void IncrementWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
void IncrementWatchedLoc( UINT16 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
INT8 bPoint;
|
||||
|
||||
@@ -7778,7 +7782,7 @@ void IncrementWatchedLoc( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
}
|
||||
}
|
||||
|
||||
void SetWatchedLocAsUsed( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
void SetWatchedLocAsUsed( UINT16 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
{
|
||||
INT8 bPoint;
|
||||
|
||||
@@ -7792,7 +7796,7 @@ void SetWatchedLocAsUsed( UINT8 ubID, INT32 sGridNo, INT8 bLevel )
|
||||
BOOLEAN WatchedLocLocationIsEmpty( INT32 sGridNo, INT8 bLevel, INT8 bTeam )
|
||||
{
|
||||
// look to see if there is anyone near the watched loc who is not on this team
|
||||
UINT8 ubID;
|
||||
UINT16 ubID;
|
||||
INT32 sTempGridNo;
|
||||
INT16 sX, sY;
|
||||
|
||||
@@ -7817,7 +7821,7 @@ BOOLEAN WatchedLocLocationIsEmpty( INT32 sGridNo, INT8 bLevel, INT8 bTeam )
|
||||
|
||||
void DecayWatchedLocs( INT8 bTeam )
|
||||
{
|
||||
UINT8 cnt, cnt2;
|
||||
UINT16 cnt, cnt2;
|
||||
|
||||
// loop through all soldiers
|
||||
for ( cnt = gTacticalStatus.Team[ bTeam ].bFirstID; cnt <= gTacticalStatus.Team[ bTeam ].bLastID; cnt++ )
|
||||
|
||||
+10
-10
@@ -117,7 +117,7 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
|
||||
void DecideTrueVisibility(SOLDIERTYPE *pSoldier, UINT8 ubLocate);
|
||||
void AddOneOpponent(SOLDIERTYPE *pSoldier);
|
||||
void RemoveOneOpponent(SOLDIERTYPE *pSoldier);
|
||||
void UpdatePersonal(SOLDIERTYPE *pSoldier, UINT8 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel);
|
||||
void UpdatePersonal(SOLDIERTYPE *pSoldier, UINT16 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel);
|
||||
INT16 MaxNormalDistanceVisible( void );
|
||||
INT16 DistanceVisible( SOLDIERTYPE *pSoldier, INT8 bFacingDir, INT8 bSubjectDir, INT32 sSubjectGridNo, INT8 bLevel, const BOOLEAN& isCowering, const UINT8& tunnelVision);
|
||||
void ResetLastKnownLocs(SOLDIERTYPE *ptr);
|
||||
@@ -129,9 +129,9 @@ void InitOpponentKnowledgeSystem(void);
|
||||
void InitSoldierOppList(SOLDIERTYPE *pSoldier);
|
||||
void BetweenTurnsVisibilityAdjustments(void);
|
||||
void RemoveManAsTarget(SOLDIERTYPE *pSoldier);
|
||||
void UpdatePublic(UINT8 ubTeam, UINT8 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel );
|
||||
void RadioSightings(SOLDIERTYPE *pSoldier, UINT8 ubAbout, UINT8 ubTeamToRadioTo );
|
||||
void OurTeamRadiosRandomlyAbout(UINT8 ubAbout);
|
||||
void UpdatePublic(UINT8 ubTeam, UINT16 ubID, INT8 bNewOpplist, INT32 sGridNo, INT8 bLevel );
|
||||
void RadioSightings(SOLDIERTYPE *pSoldier, UINT16 ubAbout, UINT8 ubTeamToRadioTo );
|
||||
void OurTeamRadiosRandomlyAbout(UINT16 ubAbout);
|
||||
void DebugSoldierPage1( );
|
||||
void DebugSoldierPage2( );
|
||||
void DebugSoldierPage3( );
|
||||
@@ -139,8 +139,8 @@ void DebugSoldierPage4( );
|
||||
|
||||
UINT8 MovementNoise( SOLDIERTYPE *pSoldier );
|
||||
UINT8 DoorOpeningNoise( SOLDIERTYPE *pSoldier );
|
||||
void MakeNoise(UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void OurNoise( UINT8 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void MakeNoise(UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
void OurNoise( UINT16 ubNoiseMaker, INT32 sGridNo, INT8 bLevel, UINT8 ubTerrType, UINT8 ubVolume, UINT8 ubNoiseType, STR16 zNoiseMessage = NULL );
|
||||
|
||||
void ResolveInterruptsVs( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType);
|
||||
|
||||
@@ -151,9 +151,9 @@ void NoticeUnseenAttacker( SOLDIERTYPE * pAttacker, SOLDIERTYPE * pDefender, INT
|
||||
|
||||
BOOLEAN MercSeesCreature( SOLDIERTYPE * pSoldier );
|
||||
|
||||
INT8 GetWatchedLocPoints( UINT8 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
INT8 GetHighestVisibleWatchedLoc( UINT8 ubID );
|
||||
INT8 GetHighestWatchedLocPoints( UINT8 ubID );
|
||||
INT8 GetWatchedLocPoints( UINT16 ubID, INT32 sGridNo, INT8 bLevel );
|
||||
INT8 GetHighestVisibleWatchedLoc( UINT16 ubID );
|
||||
INT8 GetHighestWatchedLocPoints( UINT16 ubID );
|
||||
|
||||
void TurnOffEveryonesMuzzleFlashes( void );
|
||||
void TurnOffTeamsMuzzleFlashes( UINT8 ubTeam );
|
||||
@@ -164,7 +164,7 @@ void CheckHostileOrSayQuoteList( void );
|
||||
void InitOpplistForDoorOpening( void );
|
||||
UINT8 DoorOpeningNoise( SOLDIERTYPE * pSoldier );
|
||||
|
||||
void AddToShouldBecomeHostileOrSayQuoteList( UINT8 ubID );
|
||||
void AddToShouldBecomeHostileOrSayQuoteList( UINT16 ubID );
|
||||
|
||||
//extern INT8 gbLightSighting[1][16];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user