mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
- Fix: VS2010 debug build issue with reading in StructureConstruct.xml
- replaced a few hardcoded values with enums - use TANK(...) macro instead of checking for bodytype by hand git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7959 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -707,12 +707,12 @@ INT16 RandomFriendWithin(SOLDIERTYPE *pSoldier)
|
||||
// should be close enough, try to find a legal->pathing.sDestination within 1 tile
|
||||
|
||||
// clear dirChecked flag for all 8 directions
|
||||
for (ubDirection = 0; ubDirection < 8; ubDirection++)
|
||||
for ( ubDirection = 0; ubDirection < NUM_WORLD_DIRECTIONS; ++ubDirection )
|
||||
{
|
||||
fDirChecked[ubDirection] = FALSE;
|
||||
}
|
||||
|
||||
ubDirsLeft = 8;
|
||||
ubDirsLeft = NUM_WORLD_DIRECTIONS;
|
||||
|
||||
// examine all 8 spots around 'ubFriendID'
|
||||
// keep looking while directions remain and a satisfactory one not found
|
||||
@@ -721,7 +721,7 @@ INT16 RandomFriendWithin(SOLDIERTYPE *pSoldier)
|
||||
// randomly select a direction which hasn't been 'checked' yet
|
||||
do
|
||||
{
|
||||
ubDirection = (UINT8) Random(8);
|
||||
ubDirection = (UINT8)Random( NUM_WORLD_DIRECTIONS );
|
||||
}
|
||||
while (fDirChecked[ubDirection]);
|
||||
|
||||
@@ -752,7 +752,7 @@ INT16 RandomFriendWithin(SOLDIERTYPE *pSoldier)
|
||||
|
||||
if (!fFound)
|
||||
{
|
||||
ubFriendCount--;
|
||||
--ubFriendCount;
|
||||
|
||||
// if we hadn't already picked the last friend currently in the list
|
||||
if (ubFriendCount != ubFriendID)
|
||||
|
||||
+34
-34
@@ -2651,7 +2651,7 @@ INT8 CountAdjacentSpreadTargets( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT
|
||||
|
||||
bDir = (INT8) GetDirectionToGridNoFromGridNo( pSoldier->sGridNo, sFirstTarget );
|
||||
|
||||
for (bDirLoop = 0; bDirLoop < 8; bDirLoop++)
|
||||
for ( bDirLoop = 0; bDirLoop < NUM_WORLD_DIRECTIONS; ++bDirLoop )
|
||||
{
|
||||
if (bDir % 2)
|
||||
{
|
||||
@@ -2659,37 +2659,37 @@ INT8 CountAdjacentSpreadTargets( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT
|
||||
switch( bDirLoop )
|
||||
{
|
||||
case 0:
|
||||
bCheckDir = (bDir + 6) % 8;
|
||||
bCheckDir = (bDir + 6) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 0;
|
||||
break;
|
||||
case 1:
|
||||
bCheckDir = (bDir + 5) % 8;
|
||||
bCheckDir = (bDir + 5) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 2:
|
||||
bCheckDir = (bDir + 7) % 8;
|
||||
bCheckDir = (bDir + 7) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 3:
|
||||
bCheckDir = (bDir + 3) % 8;
|
||||
bCheckDir = (bDir + 3) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 4:
|
||||
bCheckDir = (bDir + 1) % 8;
|
||||
bCheckDir = (bDir + 1) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 5:
|
||||
bCheckDir = (bDir + 2) % 8;
|
||||
bCheckDir = (bDir + 2) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 4;
|
||||
break;
|
||||
case 6:
|
||||
// check in front
|
||||
bCheckDir = (bDir + 4) % 8;
|
||||
bCheckDir = (bDir + 4) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 7:
|
||||
// check behind
|
||||
bCheckDir = (bDir) % 8;
|
||||
bCheckDir = (bDir) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
}
|
||||
@@ -2700,37 +2700,37 @@ INT8 CountAdjacentSpreadTargets( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT
|
||||
switch( bDirLoop )
|
||||
{
|
||||
case 0:
|
||||
bCheckDir = (bDir + 5) % 8;
|
||||
bCheckDir = (bDir + 5) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 1:
|
||||
bCheckDir = (bDir + 6) % 8;
|
||||
bCheckDir = (bDir + 6) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 2:
|
||||
bCheckDir = (bDir + 7) % 8;
|
||||
bCheckDir = (bDir + 7) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 3:
|
||||
bCheckDir = (bDir + 3) % 8;
|
||||
bCheckDir = (bDir + 3) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 4:
|
||||
bCheckDir = (bDir + 2) % 8;
|
||||
bCheckDir = (bDir + 2) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 5:
|
||||
bCheckDir = (bDir + 1) % 8;
|
||||
bCheckDir = (bDir + 1) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 6:
|
||||
// check in front
|
||||
bCheckDir = (bDir + 4) % 8;
|
||||
bCheckDir = (bDir + 4) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 7:
|
||||
// check behind
|
||||
bCheckDir = (bDir) % 8;
|
||||
bCheckDir = (bDir) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
|
||||
@@ -2780,7 +2780,7 @@ INT16 CalcSpreadBurst( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT8 bTargetL
|
||||
|
||||
bDir = (INT8) GetDirectionToGridNoFromGridNo( pSoldier->sGridNo, sFirstTarget );
|
||||
|
||||
for (bDirLoop = 0; bDirLoop < 8; bDirLoop++)
|
||||
for ( bDirLoop = 0; bDirLoop < NUM_WORLD_DIRECTIONS; ++bDirLoop )
|
||||
{
|
||||
if (bDir % 2)
|
||||
{
|
||||
@@ -2788,37 +2788,37 @@ INT16 CalcSpreadBurst( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT8 bTargetL
|
||||
switch( bDirLoop )
|
||||
{
|
||||
case 0:
|
||||
bCheckDir = (bDir + 6) % 8;
|
||||
bCheckDir = (bDir + 6) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 0;
|
||||
break;
|
||||
case 1:
|
||||
bCheckDir = (bDir + 5) % 8;
|
||||
bCheckDir = (bDir + 5) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 2:
|
||||
bCheckDir = (bDir + 7) % 8;
|
||||
bCheckDir = (bDir + 7) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 3:
|
||||
bCheckDir = (bDir + 3) % 8;
|
||||
bCheckDir = (bDir + 3) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 4:
|
||||
bCheckDir = (bDir + 1) % 8;
|
||||
bCheckDir = (bDir + 1) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 5:
|
||||
bCheckDir = (bDir + 2) % 8;
|
||||
bCheckDir = (bDir + 2) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 4;
|
||||
break;
|
||||
case 6:
|
||||
// check in front
|
||||
bCheckDir = (bDir + 4) % 8;
|
||||
bCheckDir = (bDir + 4) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 7:
|
||||
// check behind
|
||||
bCheckDir = (bDir) % 8;
|
||||
bCheckDir = (bDir) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
}
|
||||
@@ -2829,37 +2829,37 @@ INT16 CalcSpreadBurst( SOLDIERTYPE * pSoldier, INT16 sFirstTarget, INT8 bTargetL
|
||||
switch( bDirLoop )
|
||||
{
|
||||
case 0:
|
||||
bCheckDir = (bDir + 5) % 8;
|
||||
bCheckDir = (bDir + 5) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 1:
|
||||
bCheckDir = (bDir + 6) % 8;
|
||||
bCheckDir = (bDir + 6) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 2:
|
||||
bCheckDir = (bDir + 7) % 8;
|
||||
bCheckDir = (bDir + 7) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 3:
|
||||
bCheckDir = (bDir + 3) % 8;
|
||||
bCheckDir = (bDir + 3) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 4:
|
||||
bCheckDir = (bDir + 2) % 8;
|
||||
bCheckDir = (bDir + 2) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 5:
|
||||
bCheckDir = (bDir + 1) % 8;
|
||||
bCheckDir = (bDir + 1) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
case 6:
|
||||
// check in front
|
||||
bCheckDir = (bDir + 4) % 8;
|
||||
bCheckDir = (bDir + 4) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 1;
|
||||
break;
|
||||
case 7:
|
||||
// check behind
|
||||
bCheckDir = (bDir) % 8;
|
||||
bCheckDir = (bDir) % NUM_WORLD_DIRECTIONS;
|
||||
bTargetIndex = 3;
|
||||
break;
|
||||
|
||||
|
||||
@@ -1926,7 +1926,7 @@ INT8 DecideActionYellow(SOLDIERTYPE *pSoldier)
|
||||
if ( pSoldier->flags.lastFlankLeft )
|
||||
{
|
||||
if ( origDir > currDir )
|
||||
origDir -= 8;
|
||||
origDir -= NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (currDir - origDir) >= 4 )
|
||||
{
|
||||
@@ -1944,7 +1944,7 @@ INT8 DecideActionYellow(SOLDIERTYPE *pSoldier)
|
||||
else
|
||||
{
|
||||
if ( origDir < currDir )
|
||||
origDir += 8;
|
||||
origDir += NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (origDir - currDir) >= 4 )
|
||||
{
|
||||
@@ -3354,7 +3354,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier, UINT8 ubUnconsciousOK)
|
||||
if ( pSoldier->flags.lastFlankLeft )
|
||||
{
|
||||
if ( origDir > currDir )
|
||||
origDir -= 8;
|
||||
origDir -= NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (currDir - origDir) >= 4 )
|
||||
{
|
||||
@@ -3373,7 +3373,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier, UINT8 ubUnconsciousOK)
|
||||
else
|
||||
{
|
||||
if ( origDir < currDir )
|
||||
origDir += 8;
|
||||
origDir += NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (origDir - currDir) >= 4 )
|
||||
{
|
||||
@@ -7141,7 +7141,7 @@ void DecideAlertStatus( SOLDIERTYPE *pSoldier )
|
||||
if ( pSoldier->flags.lastFlankLeft )
|
||||
{
|
||||
if ( origDir > currDir )
|
||||
origDir -= 8;
|
||||
origDir -= NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (currDir - origDir) >= 4 )
|
||||
{
|
||||
@@ -7159,7 +7159,7 @@ void DecideAlertStatus( SOLDIERTYPE *pSoldier )
|
||||
else
|
||||
{
|
||||
if ( origDir < currDir )
|
||||
origDir += 8;
|
||||
origDir += NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (origDir - currDir) >= 4 )
|
||||
{
|
||||
@@ -7296,7 +7296,7 @@ void DecideAlertStatus( SOLDIERTYPE *pSoldier )
|
||||
if ( pSoldier->flags.lastFlankLeft )
|
||||
{
|
||||
if ( origDir > currDir )
|
||||
origDir -= 8;
|
||||
origDir -= NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (currDir - origDir) >= 4 )
|
||||
{
|
||||
@@ -7315,7 +7315,7 @@ void DecideAlertStatus( SOLDIERTYPE *pSoldier )
|
||||
else
|
||||
{
|
||||
if ( origDir < currDir )
|
||||
origDir += 8;
|
||||
origDir += NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( (origDir - currDir) >= 4 )
|
||||
{
|
||||
|
||||
@@ -2543,16 +2543,16 @@ INT32 FindFlankingSpot(SOLDIERTYPE *pSoldier, INT32 sPos, INT8 bAction )
|
||||
}
|
||||
|
||||
if ( sDesiredDir < 0 )
|
||||
sDesiredDir += 8;
|
||||
sDesiredDir += NUM_WORLD_DIRECTIONS;
|
||||
|
||||
if ( sDesiredDir > 8 )
|
||||
sDesiredDir -= 8;
|
||||
if ( sDesiredDir > NUM_WORLD_DIRECTIONS )
|
||||
sDesiredDir -= NUM_WORLD_DIRECTIONS;
|
||||
|
||||
DebugMsg ( TOPIC_JA2AI , DBG_LEVEL_3 , String("FindFlankingSpot: direction to loc = %d, dir to flank = %d", sDir , sDesiredDir ));
|
||||
|
||||
for (sYOffset = -sMaxUp + 1; sYOffset <= sMaxDown - 1; sYOffset++)
|
||||
for (sYOffset = -sMaxUp + 1; sYOffset <= sMaxDown - 1; ++sYOffset)
|
||||
{
|
||||
for (sXOffset = -sMaxLeft + 1; sXOffset <= sMaxRight - 1; sXOffset++)
|
||||
for (sXOffset = -sMaxLeft + 1; sXOffset <= sMaxRight - 1; ++sXOffset)
|
||||
{
|
||||
// calculate the next potential gridno
|
||||
sGridNo = pSoldier->sGridNo + sXOffset + (MAXCOL * sYOffset);
|
||||
@@ -2686,7 +2686,7 @@ INT32 FindClosestClimbPoint (SOLDIERTYPE *pSoldier, BOOLEAN fClimbUp )
|
||||
if (gpWorldLevelData[ sGridNo].ubExtFlags[0] & MAPELEMENT_EXT_CLIMBPOINT)
|
||||
{
|
||||
// Search for the destination climb point on the roof
|
||||
for (ubTestDir=0; ubTestDir < 8; ubTestDir += 2)
|
||||
for ( ubTestDir = 0; ubTestDir < NUM_WORLD_DIRECTIONS; ubTestDir += 2 )
|
||||
{
|
||||
INT32 sTestGridNo = NewGridNo( sGridNo, DirectionInc( ubTestDir));
|
||||
// And see if it or the ground location is occupied
|
||||
@@ -2872,7 +2872,7 @@ INT8 FindDirectionForClimbing( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel
|
||||
{
|
||||
if (gpWorldLevelData[ sGridNo].ubExtFlags[0] & MAPELEMENT_EXT_CLIMBPOINT)
|
||||
{
|
||||
for (ubClimbDir=0; ubClimbDir<8; ubClimbDir+=2)
|
||||
for ( ubClimbDir = 0; ubClimbDir < NUM_WORLD_DIRECTIONS; ubClimbDir += 2 )
|
||||
{
|
||||
sClimbSpot = NewGridNo( sGridNo, DirectionInc( ubClimbDir));
|
||||
if (gpWorldLevelData[ sClimbSpot].ubExtFlags[1] & MAPELEMENT_EXT_CLIMBPOINT &&
|
||||
@@ -2893,7 +2893,7 @@ INT8 FindDirectionForClimbing( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel
|
||||
return DIRECTION_IRRELEVANT;
|
||||
if (gpWorldLevelData[ sGridNo].ubExtFlags[1] & MAPELEMENT_EXT_CLIMBPOINT)
|
||||
{
|
||||
for (ubClimbDir=0; ubClimbDir<8; ubClimbDir+=2)
|
||||
for ( ubClimbDir = 0; ubClimbDir< NUM_WORLD_DIRECTIONS; ubClimbDir += 2 )
|
||||
{
|
||||
sClimbSpot = NewGridNo( sGridNo, DirectionInc( ubClimbDir));
|
||||
if (gpWorldLevelData[ sClimbSpot].ubExtFlags[0] & MAPELEMENT_EXT_CLIMBPOINT &&
|
||||
|
||||
@@ -557,14 +557,14 @@ INT32 InternalGoAsFarAsPossibleTowards(SOLDIERTYPE *pSoldier, INT32 sDesGrid, IN
|
||||
// else look at the 8 nearest gridnos to sDesGrid for a valid destination
|
||||
|
||||
// clear ubDirChecked flag for all 8 directions
|
||||
for (ubDirection = 0; ubDirection < 8; ubDirection++)
|
||||
for ( ubDirection = 0; ubDirection < NUM_WORLD_DIRECTIONS; ++ubDirection )
|
||||
ubDirChecked[ubDirection] = FALSE;
|
||||
|
||||
ubDirsLeft = 8;
|
||||
ubDirsLeft = NUM_WORLD_DIRECTIONS;
|
||||
|
||||
// examine all 8 spots around 'sDesGrid'
|
||||
// keep looking while directions remain and a satisfactory one not found
|
||||
for (ubDirsLeft = 8; ubDirsLeft != 0; ubDirsLeft--)
|
||||
for ( ubDirsLeft = NUM_WORLD_DIRECTIONS; ubDirsLeft != 0; --ubDirsLeft )
|
||||
{
|
||||
if (fFound)
|
||||
{
|
||||
@@ -1137,7 +1137,7 @@ UINT16 RunAway( SOLDIERTYPE * pSoldier )
|
||||
bOkayDir[ atan8( pSoldier->sX, pSoldier->sY, pOpponent->sX, pOpponent->sY ) ] = FALSE;
|
||||
}
|
||||
|
||||
for (ubLoop = 0; ubLoop < 8; ubLoop += 2)
|
||||
for (ubLoop = 0; ubLoop < NUM_WORLD_DIRECTIONS; ubLoop += 2)
|
||||
{
|
||||
if (bOkayDir[ubLoop])
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user