Cleanup of ELEMENT_FLAGS type misuse
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2813 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -236,7 +236,6 @@ extern void ship_death (ELEMENT *ShipPtr);
|
|||||||
extern BOOLEAN hyper_transition (ELEMENT *ElementPtr);
|
extern BOOLEAN hyper_transition (ELEMENT *ElementPtr);
|
||||||
|
|
||||||
extern BOOLEAN CalculateGravity (ELEMENT *ElementPtr);
|
extern BOOLEAN CalculateGravity (ELEMENT *ElementPtr);
|
||||||
extern UWORD inertial_thrust (ELEMENT *ElementPtr);
|
|
||||||
extern void SetUpElement (ELEMENT *ElementPtr);
|
extern void SetUpElement (ELEMENT *ElementPtr);
|
||||||
|
|
||||||
extern void BattleSong (BOOLEAN DoPlay);
|
extern void BattleSong (BOOLEAN DoPlay);
|
||||||
@@ -244,5 +243,23 @@ extern void FreeBattleSong (void);
|
|||||||
|
|
||||||
extern void InsertPrim (PRIM_LINKS *pLinks, COUNT primIndex, COUNT iPI);
|
extern void InsertPrim (PRIM_LINKS *pLinks, COUNT primIndex, COUNT iPI);
|
||||||
|
|
||||||
|
|
||||||
|
typedef UWORD STATUS_FLAGS;
|
||||||
|
|
||||||
|
/* STATUS_FLAGS - heat of battle specific flags */
|
||||||
|
#define LEFT (1 << 0)
|
||||||
|
#define RIGHT (1 << 1)
|
||||||
|
#define THRUST (1 << 2)
|
||||||
|
#define WEAPON (1 << 3)
|
||||||
|
#define SPECIAL (1 << 4)
|
||||||
|
#define LOW_ON_ENERGY (1 << 5)
|
||||||
|
#define SHIP_BEYOND_MAX_SPEED (1 << 6)
|
||||||
|
#define SHIP_AT_MAX_SPEED (1 << 7)
|
||||||
|
#define SHIP_IN_GRAVITY_WELL (1 << 8)
|
||||||
|
#define PLAY_VICTORY_DITTY (1 << 9)
|
||||||
|
|
||||||
|
extern STATUS_FLAGS inertial_thrust (ELEMENT *ElementPtr);
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ELEMENT_H */
|
#endif /* _ELEMENT_H */
|
||||||
|
|
||||||
|
|||||||
+4
-15
@@ -29,19 +29,7 @@
|
|||||||
#define RACES_PER_PLAYER 7
|
#define RACES_PER_PLAYER 7
|
||||||
#define MAX_SHIPS_PER_SIDE 14
|
#define MAX_SHIPS_PER_SIDE 14
|
||||||
|
|
||||||
/* heat of battle specific flags */
|
/* SHIP_INFO.ship_flags - ship specific flags */
|
||||||
#define LEFT (1 << 0)
|
|
||||||
#define RIGHT (1 << 1)
|
|
||||||
#define THRUST (1 << 2)
|
|
||||||
#define WEAPON (1 << 3)
|
|
||||||
#define SPECIAL (1 << 4)
|
|
||||||
#define LOW_ON_ENERGY (1 << 5)
|
|
||||||
#define SHIP_BEYOND_MAX_SPEED (1 << 6)
|
|
||||||
#define SHIP_AT_MAX_SPEED (1 << 7)
|
|
||||||
#define SHIP_IN_GRAVITY_WELL (1 << 8)
|
|
||||||
#define PLAY_VICTORY_DITTY (1 << 9)
|
|
||||||
|
|
||||||
/* ship specific flags */
|
|
||||||
/*
|
/*
|
||||||
#define GOOD_GUY (1 << 0)
|
#define GOOD_GUY (1 << 0)
|
||||||
#define BAD_GUY (1 << 1)
|
#define BAD_GUY (1 << 1)
|
||||||
@@ -187,6 +175,7 @@ typedef struct
|
|||||||
SHIP_BASE_COMMON;
|
SHIP_BASE_COMMON;
|
||||||
} SHIP_BASE;
|
} SHIP_BASE;
|
||||||
|
|
||||||
|
|
||||||
typedef HLINK HSTARSHIP;
|
typedef HLINK HSTARSHIP;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@@ -219,8 +208,8 @@ typedef struct
|
|||||||
// In battle: frames left before energy regeneration
|
// In battle: frames left before energy regeneration
|
||||||
|
|
||||||
BYTE ship_input_state;
|
BYTE ship_input_state;
|
||||||
UWORD cur_status_flags _ALIGNED_ON(sizeof (UWORD));
|
STATUS_FLAGS cur_status_flags _ALIGNED_ON(sizeof (STATUS_FLAGS));
|
||||||
UWORD old_status_flags _ALIGNED_ON(sizeof (UWORD));
|
STATUS_FLAGS old_status_flags _ALIGNED_ON(sizeof (STATUS_FLAGS));
|
||||||
|
|
||||||
HELEMENT hShip _ALIGNED_ON(sizeof (HELEMENT));
|
HELEMENT hShip _ALIGNED_ON(sizeof (HELEMENT));
|
||||||
COUNT ShipFacing _ALIGNED_ON(sizeof (COUNT));
|
COUNT ShipFacing _ALIGNED_ON(sizeof (COUNT));
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ animation_preprocess (ELEMENT *ElementPtr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
UWORD
|
STATUS_FLAGS
|
||||||
inertial_thrust (ELEMENT *ElementPtr)
|
inertial_thrust (ELEMENT *ElementPtr)
|
||||||
{
|
{
|
||||||
#define MAX_ALLOWED_SPEED WORLD_TO_VELOCITY (DISPLAY_TO_WORLD (18))
|
#define MAX_ALLOWED_SPEED WORLD_TO_VELOCITY (DISPLAY_TO_WORLD (18))
|
||||||
@@ -141,7 +141,7 @@ inertial_thrust (ELEMENT *ElementPtr)
|
|||||||
void
|
void
|
||||||
ship_preprocess (ELEMENT *ElementPtr)
|
ship_preprocess (ELEMENT *ElementPtr)
|
||||||
{
|
{
|
||||||
ELEMENT_FLAGS cur_status_flags;
|
STATUS_FLAGS cur_status_flags;
|
||||||
STARSHIP *StarShipPtr;
|
STARSHIP *StarShipPtr;
|
||||||
RACE_DESC *RDPtr;
|
RACE_DESC *RDPtr;
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ ship_preprocess (ELEMENT *ElementPtr)
|
|||||||
--ElementPtr->thrust_wait;
|
--ElementPtr->thrust_wait;
|
||||||
else if (cur_status_flags & THRUST)
|
else if (cur_status_flags & THRUST)
|
||||||
{
|
{
|
||||||
UWORD thrust_status;
|
STATUS_FLAGS thrust_status;
|
||||||
|
|
||||||
thrust_status = inertial_thrust (ElementPtr);
|
thrust_status = inertial_thrust (ElementPtr);
|
||||||
StarShipPtr->cur_status_flags &=
|
StarShipPtr->cur_status_flags &=
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ static void
|
|||||||
androsynth_preprocess (ELEMENT *ElementPtr)
|
androsynth_preprocess (ELEMENT *ElementPtr)
|
||||||
{
|
{
|
||||||
STARSHIP *StarShipPtr;
|
STARSHIP *StarShipPtr;
|
||||||
ELEMENT_FLAGS cur_status_flags;
|
STATUS_FLAGS cur_status_flags;
|
||||||
|
|
||||||
GetElementStarShip (ElementPtr, &StarShipPtr);
|
GetElementStarShip (ElementPtr, &StarShipPtr);
|
||||||
|
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ initialize_flame (ELEMENT *ShipPtr, HELEMENT FlameArray[])
|
|||||||
static void
|
static void
|
||||||
ilwrath_preprocess (ELEMENT *ElementPtr)
|
ilwrath_preprocess (ELEMENT *ElementPtr)
|
||||||
{
|
{
|
||||||
ELEMENT_FLAGS status_flags;
|
STATUS_FLAGS status_flags;
|
||||||
STARSHIP *StarShipPtr;
|
STARSHIP *StarShipPtr;
|
||||||
PRIMITIVE *lpPrim;
|
PRIMITIVE *lpPrim;
|
||||||
|
|
||||||
|
|||||||
@@ -499,6 +499,8 @@ marine_preprocess (ELEMENT *ElementPtr)
|
|||||||
HELEMENT hObject, hNextObject, hTarget;
|
HELEMENT hObject, hNextObject, hTarget;
|
||||||
ELEMENT *ObjectPtr;
|
ELEMENT *ObjectPtr;
|
||||||
|
|
||||||
|
// XXX: thrust_wait is abused to store marine speed and
|
||||||
|
// gravity well flags
|
||||||
ElementPtr->thrust_wait &= ~(SHIP_IN_GRAVITY_WELL >> 6);
|
ElementPtr->thrust_wait &= ~(SHIP_IN_GRAVITY_WELL >> 6);
|
||||||
|
|
||||||
hTarget = 0;
|
hTarget = 0;
|
||||||
@@ -631,14 +633,16 @@ marine_preprocess (ELEMENT *ElementPtr)
|
|||||||
|| ((ElementPtr->thrust_wait & (SHIP_BEYOND_MAX_SPEED >> 6))
|
|| ((ElementPtr->thrust_wait & (SHIP_BEYOND_MAX_SPEED >> 6))
|
||||||
&& !(ElementPtr->thrust_wait & (SHIP_IN_GRAVITY_WELL >> 6))))
|
&& !(ElementPtr->thrust_wait & (SHIP_IN_GRAVITY_WELL >> 6))))
|
||||||
{
|
{
|
||||||
UWORD thrust_status;
|
STATUS_FLAGS thrust_status;
|
||||||
COUNT OldFacing;
|
COUNT OldFacing;
|
||||||
UWORD OldStatus;
|
STATUS_FLAGS OldStatus;
|
||||||
COUNT OldIncrement, OldThrust;
|
COUNT OldIncrement, OldThrust;
|
||||||
STARSHIP *StarShipPtr;
|
STARSHIP *StarShipPtr;
|
||||||
|
|
||||||
GetElementStarShip (ElementPtr, &StarShipPtr);
|
GetElementStarShip (ElementPtr, &StarShipPtr);
|
||||||
|
|
||||||
|
// XXX: Hack: abusing the primary STARSHIP struct in order
|
||||||
|
// to call inertial_thrust() for a marine
|
||||||
OldFacing = StarShipPtr->ShipFacing;
|
OldFacing = StarShipPtr->ShipFacing;
|
||||||
OldStatus = StarShipPtr->cur_status_flags;
|
OldStatus = StarShipPtr->cur_status_flags;
|
||||||
OldIncrement = StarShipPtr->RaceDescPtr->characteristics.
|
OldIncrement = StarShipPtr->RaceDescPtr->characteristics.
|
||||||
@@ -646,6 +650,8 @@ marine_preprocess (ELEMENT *ElementPtr)
|
|||||||
OldThrust = StarShipPtr->RaceDescPtr->characteristics.max_thrust;
|
OldThrust = StarShipPtr->RaceDescPtr->characteristics.max_thrust;
|
||||||
|
|
||||||
StarShipPtr->ShipFacing = facing;
|
StarShipPtr->ShipFacing = facing;
|
||||||
|
// XXX: thrust_wait is abused to store marine speed and
|
||||||
|
// gravity well flags
|
||||||
StarShipPtr->cur_status_flags = ElementPtr->thrust_wait << 6;
|
StarShipPtr->cur_status_flags = ElementPtr->thrust_wait << 6;
|
||||||
StarShipPtr->RaceDescPtr->characteristics.thrust_increment = 8;
|
StarShipPtr->RaceDescPtr->characteristics.thrust_increment = 8;
|
||||||
StarShipPtr->RaceDescPtr->characteristics.max_thrust = 32;
|
StarShipPtr->RaceDescPtr->characteristics.max_thrust = 32;
|
||||||
@@ -708,6 +714,8 @@ marine_preprocess (ELEMENT *ElementPtr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XXX: thrust_wait is abused to store marine speed and
|
||||||
|
// gravity well flags
|
||||||
ElementPtr->thrust_wait = (BYTE)(thrust_status >> 6);
|
ElementPtr->thrust_wait = (BYTE)(thrust_status >> 6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -244,13 +244,14 @@ new_pkunk (ELEMENT *ElementPtr)
|
|||||||
StarShipPtr->RaceDescPtr->characteristics.special_wait = 0;
|
StarShipPtr->RaceDescPtr->characteristics.special_wait = 0;
|
||||||
|
|
||||||
StarShipPtr->ship_input_state = 0;
|
StarShipPtr->ship_input_state = 0;
|
||||||
StarShipPtr->cur_status_flags =
|
StarShipPtr->cur_status_flags = 0;
|
||||||
StarShipPtr->old_status_flags = 0;
|
StarShipPtr->old_status_flags = 0;
|
||||||
StarShipPtr->energy_counter =
|
StarShipPtr->energy_counter = 0;
|
||||||
StarShipPtr->weapon_counter =
|
StarShipPtr->weapon_counter = 0;
|
||||||
StarShipPtr->special_counter = 0;
|
StarShipPtr->special_counter = 0;
|
||||||
ElementPtr->crew_level =
|
ElementPtr->crew_level = 0;
|
||||||
ElementPtr->turn_wait = ElementPtr->thrust_wait = 0;
|
ElementPtr->turn_wait = 0;
|
||||||
|
ElementPtr->thrust_wait = 0;
|
||||||
ElementPtr->life_span = NORMAL_LIFE;
|
ElementPtr->life_span = NORMAL_LIFE;
|
||||||
|
|
||||||
StarShipPtr->ShipFacing = NORMALIZE_FACING (TFB_Random ());
|
StarShipPtr->ShipFacing = NORMALIZE_FACING (TFB_Random ());
|
||||||
|
|||||||
@@ -246,7 +246,7 @@ supox_preprocess (ELEMENT *ElementPtr)
|
|||||||
if (add_facing)
|
if (add_facing)
|
||||||
{
|
{
|
||||||
COUNT facing;
|
COUNT facing;
|
||||||
UWORD thrust_status;
|
STATUS_FLAGS thrust_status;
|
||||||
|
|
||||||
facing = StarShipPtr->ShipFacing;
|
facing = StarShipPtr->ShipFacing;
|
||||||
StarShipPtr->ShipFacing = NORMALIZE_FACING (
|
StarShipPtr->ShipFacing = NORMALIZE_FACING (
|
||||||
|
|||||||
@@ -283,7 +283,7 @@ thraddash_preprocess (ELEMENT *ElementPtr)
|
|||||||
#define SPECIAL_THRUST_INCREMENT 12
|
#define SPECIAL_THRUST_INCREMENT 12
|
||||||
#define SPECIAL_MAX_THRUST 72
|
#define SPECIAL_MAX_THRUST 72
|
||||||
COUNT max_thrust, thrust_increment;
|
COUNT max_thrust, thrust_increment;
|
||||||
UWORD thrust_status;
|
STATUS_FLAGS thrust_status;
|
||||||
HELEMENT hTrailElement;
|
HELEMENT hTrailElement;
|
||||||
|
|
||||||
if (!(StarShipPtr->old_status_flags & SPECIAL))
|
if (!(StarShipPtr->old_status_flags & SPECIAL))
|
||||||
|
|||||||
@@ -27,8 +27,8 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
static void
|
static void
|
||||||
CaptainsWindow (CAPTAIN_STUFF *CSPtr, COORD y, ELEMENT_FLAGS
|
CaptainsWindow (CAPTAIN_STUFF *CSPtr, COORD y,
|
||||||
delta_status_flags, ELEMENT_FLAGS cur_status_flags,
|
STATUS_FLAGS delta_status_flags, STATUS_FLAGS cur_status_flags,
|
||||||
COUNT Pass)
|
COUNT Pass)
|
||||||
{
|
{
|
||||||
STAMP Stamp;
|
STAMP Stamp;
|
||||||
@@ -367,7 +367,7 @@ PreProcessStatus (ELEMENT *ShipPtr)
|
|||||||
if (StarShipPtr->captains_name_index
|
if (StarShipPtr->captains_name_index
|
||||||
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY))
|
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY))
|
||||||
{
|
{
|
||||||
ELEMENT_FLAGS old_status_flags, cur_status_flags;
|
STATUS_FLAGS old_status_flags, cur_status_flags;
|
||||||
CAPTAIN_STUFF *CSPtr;
|
CAPTAIN_STUFF *CSPtr;
|
||||||
|
|
||||||
cur_status_flags = StarShipPtr->cur_status_flags;
|
cur_status_flags = StarShipPtr->cur_status_flags;
|
||||||
@@ -396,8 +396,7 @@ PostProcessStatus (ELEMENT *ShipPtr)
|
|||||||
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY))
|
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY))
|
||||||
{
|
{
|
||||||
COORD y;
|
COORD y;
|
||||||
ELEMENT_FLAGS cur_status_flags, old_status_flags;
|
STATUS_FLAGS cur_status_flags, old_status_flags;
|
||||||
|
|
||||||
|
|
||||||
cur_status_flags = StarShipPtr->cur_status_flags;
|
cur_status_flags = StarShipPtr->cur_status_flags;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user