Final GOOD_GUY/BAD_GUY cleanup, now enumerated

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3275 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-11-05 03:27:36 +00:00
parent 51751b3858
commit b9d1b379df
21 changed files with 54 additions and 57 deletions
+1
View File
@@ -1,4 +1,5 @@
Changes towards version 0.7: Changes towards version 0.7:
- Internal changes: GOOD_GUY/BAD_GUY ship flags retired - Alex
- Fixed Melee menu timeout when both sides are Cyborgs (bug #1067) - Alex - Fixed Melee menu timeout when both sides are Cyborgs (bug #1067) - Alex
- Fixed AI ship not moving on warp in (bug #648) - Alex - Fixed AI ship not moving on warp in (bug #648) - Alex
- Revert gfx settings entirely when a mode switch fails (bug #1056) - Alex - Revert gfx settings entirely when a mode switch fails (bug #1056) - Alex
+6 -9
View File
@@ -123,7 +123,7 @@ ActivateStarShip (COUNT which_ship, SIZE state)
which_ship = FleetPtr->known_strength; which_ship = FleetPtr->known_strength;
else if (FleetPtr->actual_strength == 0) else if (FleetPtr->actual_strength == 0)
{ {
if (!(FleetPtr->allied_state & (GOOD_GUY | BAD_GUY))) if (FleetPtr->allied_state == DEAD_GUY)
which_ship = 0; which_ship = 0;
} }
else if (FleetPtr->known_strength == 0 else if (FleetPtr->known_strength == 0
@@ -182,10 +182,10 @@ ActivateStarShip (COUNT which_ship, SIZE state)
} }
case CHECK_ALLIANCE: case CHECK_ALLIANCE:
{ {
COUNT flags; UWORD flags;
FLEET_INFO *FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), FLEET_INFO *FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q),
hFleet); hFleet);
flags = FleetPtr->allied_state & (GOOD_GUY | BAD_GUY); flags = FleetPtr->allied_state;
UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet); UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet);
return flags; return flags;
} }
@@ -195,17 +195,16 @@ ActivateStarShip (COUNT which_ship, SIZE state)
FLEET_INFO *FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), FLEET_INFO *FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q),
hFleet); hFleet);
if (!(FleetPtr->allied_state & (GOOD_GUY | BAD_GUY))) if (FleetPtr->allied_state == DEAD_GUY)
{ /* Strange request, silently ignore it */ { /* Strange request, silently ignore it */
UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet); UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet);
break; break;
} }
FleetPtr->allied_state &= ~(GOOD_GUY | BAD_GUY);
if (state == SET_ALLIED) if (state == SET_ALLIED)
FleetPtr->allied_state |= GOOD_GUY; FleetPtr->allied_state = GOOD_GUY;
else else
FleetPtr->allied_state |= BAD_GUY; FleetPtr->allied_state = BAD_GUY;
UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet); UnlockFleetInfo (&GLOBAL (avail_race_q), hFleet);
break; break;
@@ -381,8 +380,6 @@ CloneShipFragment (COUNT shipIndex, QUEUE *pDstQueue, COUNT crew_level)
SHIP_FRAGMENT *ShipFragPtr; SHIP_FRAGMENT *ShipFragPtr;
ShipFragPtr = LockShipFrag (pDstQueue, hBuiltShip); ShipFragPtr = LockShipFrag (pDstQueue, hBuiltShip);
ShipFragPtr->which_side = TemplatePtr->allied_state &
(GOOD_GUY | BAD_GUY);
ShipFragPtr->captains_name_index = captains_name_index; ShipFragPtr->captains_name_index = captains_name_index;
ShipFragPtr->race_strings = TemplatePtr->race_strings; ShipFragPtr->race_strings = TemplatePtr->race_strings;
ShipFragPtr->icons = TemplatePtr->icons; ShipFragPtr->icons = TemplatePtr->icons;
+1 -1
View File
@@ -1435,7 +1435,7 @@ InitCommunication (CONVERSATION which_comm)
|| LOBYTE (GLOBAL (CurrentActivity)) == IN_LAST_BATTLE)) || LOBYTE (GLOBAL (CurrentActivity)) == IN_LAST_BATTLE))
|| (which_comm != CHMMR_CONVERSATION || (which_comm != CHMMR_CONVERSATION
&& which_comm != SYREEN_CONVERSATION && which_comm != SYREEN_CONVERSATION
))//&& (ActivateStarShip (status, CHECK_ALLIANCE) & BAD_GUY))) ))//&& ActivateStarShip (status, CHECK_ALLIANCE) == BAD_GUY))
BuildBattle (NPC_PLAYER_NUM); BuildBattle (NPC_PLAYER_NUM);
} }
+2 -2
View File
@@ -261,7 +261,7 @@ NotReady (RESPONSE_REF R)
DISABLE_PHRASE (where_distraction); DISABLE_PHRASE (where_distraction);
} }
if (!(ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE) & GOOD_GUY)) if (ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE) != GOOD_GUY)
Response (tech_help, NotReady); Response (tech_help, NotReady);
else if (PHRASE_ENABLED (further_assistance)) else if (PHRASE_ENABLED (further_assistance))
Response (further_assistance, NotReady); Response (further_assistance, NotReady);
@@ -308,7 +308,7 @@ ImproveBomb (RESPONSE_REF R)
Response (wont_hurt_my_ship, ImproveBomb); Response (wont_hurt_my_ship, ImproveBomb);
else if (PHRASE_ENABLED (bummer_about_my_ship)) else if (PHRASE_ENABLED (bummer_about_my_ship))
Response (bummer_about_my_ship, ImproveBomb); Response (bummer_about_my_ship, ImproveBomb);
if (!(ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE) & GOOD_GUY)) if (ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE) != GOOD_GUY)
Response (other_assistance, ImproveBomb); Response (other_assistance, ImproveBomb);
Response (proceed, ExitConversation); Response (proceed, ExitConversation);
} }
+4 -4
View File
@@ -322,8 +322,8 @@ TaaloWorld (RESPONSE_REF R)
if (PHRASE_ENABLED (may_we_land)) if (PHRASE_ENABLED (may_we_land))
{ {
if (Manner == 3 && (ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) if (Manner == 3 &&
& GOOD_GUY)) ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
Response (may_we_land, ExitConversation); Response (may_we_land, ExitConversation);
else else
Response (may_we_land, TaaloWorld); Response (may_we_land, TaaloWorld);
@@ -705,8 +705,8 @@ Intro (void)
TaaloWorld ((RESPONSE_REF)0); TaaloWorld ((RESPONSE_REF)0);
} }
else if (Manner == 3 && (ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) else if (Manner == 3 &&
& GOOD_GUY)) ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
{ {
if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7)) if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))
{ {
+1 -1
View File
@@ -915,7 +915,7 @@ Intro (void)
{ {
SpathiAngry ((RESPONSE_REF)0); SpathiAngry ((RESPONSE_REF)0);
} }
else if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE) & GOOD_GUY) else if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
{ {
CommData.AlienColorMap = CommData.AlienColorMap =
SetAbsColorMapIndex (CommData.AlienColorMap, 1); SetAbsColorMapIndex (CommData.AlienColorMap, 1);
+1 -1
View File
@@ -750,7 +750,7 @@ Intro (void)
Response (we_fight_again_space, ExitConversation); Response (we_fight_again_space, ExitConversation);
Response (bye_angry_space, ExitConversation); Response (bye_angry_space, ExitConversation);
} }
else if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE) & GOOD_GUY) else if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
{ {
SpathiAllies ((RESPONSE_REF)0); SpathiAllies ((RESPONSE_REF)0);
} }
+8 -8
View File
@@ -692,7 +692,7 @@ AnalyzeCondition (void)
for (i = 0; i < NUM_AVAILABLE_RACES; ++i) for (i = 0; i < NUM_AVAILABLE_RACES; ++i)
{ {
if (i != HUMAN_SHIP if (i != HUMAN_SHIP
&& (ActivateStarShip (i, CHECK_ALLIANCE) & GOOD_GUY)) && ActivateStarShip (i, CHECK_ALLIANCE) == GOOD_GUY)
++num_aliens; ++num_aliens;
} }
@@ -1361,35 +1361,35 @@ CheckBulletins (BOOLEAN Repeat)
{ {
case 0: case 0:
if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (SPATHI_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_1; pStr = STARBASE_BULLETIN_1;
} }
break; break;
case 1: case 1:
if (ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_2; pStr = STARBASE_BULLETIN_2;
} }
break; break;
case 2: case 2:
if (ActivateStarShip (SUPOX_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (SUPOX_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_3; pStr = STARBASE_BULLETIN_3;
} }
break; break;
case 3: case 3:
if (ActivateStarShip (UTWIG_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (UTWIG_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_4; pStr = STARBASE_BULLETIN_4;
} }
break; break;
case 4: case 4:
if (ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_5; pStr = STARBASE_BULLETIN_5;
} }
@@ -1455,14 +1455,14 @@ CheckBulletins (BOOLEAN Repeat)
break; break;
case 12: case 12:
if (ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (CHMMR_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_13; pStr = STARBASE_BULLETIN_13;
} }
break; break;
case 13: case 13:
if (ActivateStarShip (SHOFIXTI_SHIP, CHECK_ALLIANCE) if (ActivateStarShip (SHOFIXTI_SHIP, CHECK_ALLIANCE)
& GOOD_GUY) == GOOD_GUY)
{ {
pStr = STARBASE_BULLETIN_14; pStr = STARBASE_BULLETIN_14;
} }
+1 -1
View File
@@ -552,7 +552,7 @@ Intro (void)
SET_GAME_STATE (BATTLE_SEGUE, 0); SET_GAME_STATE (BATTLE_SEGUE, 0);
} }
else if (ActivateStarShip (SUPOX_SHIP, CHECK_ALLIANCE) & GOOD_GUY) else if (ActivateStarShip (SUPOX_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
{ {
if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7)) if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))
{ {
+1 -1
View File
@@ -807,7 +807,7 @@ Intro (void)
Response (hey_wait_got_ultron, ExitConversation); Response (hey_wait_got_ultron, ExitConversation);
} }
} }
else if (ActivateStarShip (UTWIG_SHIP, CHECK_ALLIANCE) & GOOD_GUY) else if (ActivateStarShip (UTWIG_SHIP, CHECK_ALLIANCE) == GOOD_GUY)
{ {
if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7)) if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))
{ {
+3 -3
View File
@@ -734,7 +734,7 @@ ZoqFotHome (RESPONSE_REF R)
Response (whats_up_homeworld, ZoqFotHome); Response (whats_up_homeworld, ZoqFotHome);
if (PHRASE_ENABLED (any_war_news)) if (PHRASE_ENABLED (any_war_news))
Response (any_war_news, ZoqFotHome); Response (any_war_news, ZoqFotHome);
if (!(ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) & GOOD_GUY)) if (ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) != GOOD_GUY)
Response (i_want_alliance, ZoqFotHome); Response (i_want_alliance, ZoqFotHome);
else if (PHRASE_ENABLED (want_specific_info)) else if (PHRASE_ENABLED (want_specific_info))
{ {
@@ -861,7 +861,7 @@ Intro (void)
else else
{ {
NumVisits = GET_GAME_STATE (ZOQFOT_HOME_VISITS); NumVisits = GET_GAME_STATE (ZOQFOT_HOME_VISITS);
if (!(ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) & GOOD_GUY)) if (ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) != GOOD_GUY)
{ {
switch (NumVisits++) switch (NumVisits++)
{ {
@@ -946,7 +946,7 @@ init_zoqfot_comm (void)
zoqfot_desc.AlienTextWidth = (SIS_TEXT_WIDTH >> 1) - TEXT_X_OFFS; zoqfot_desc.AlienTextWidth = (SIS_TEXT_WIDTH >> 1) - TEXT_X_OFFS;
if ((ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) & GOOD_GUY) if (ActivateStarShip (ZOQFOTPIK_SHIP, CHECK_ALLIANCE) == GOOD_GUY
|| LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE) || LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)
{ {
SET_GAME_STATE (BATTLE_SEGUE, 0); SET_GAME_STATE (BATTLE_SEGUE, 0);
-1
View File
@@ -19,7 +19,6 @@
#include <stdio.h> #include <stdio.h>
#include "cons_res.h" #include "cons_res.h"
#include "element.h"
#include "resinst.h" #include "resinst.h"
#include "nameref.h" #include "nameref.h"
#include "setup.h" #include "setup.h"
+1 -2
View File
@@ -30,8 +30,7 @@
typedef HLINK HELEMENT; typedef HLINK HELEMENT;
// Bits for ELEMENT_FLAGS: // Bits for ELEMENT_FLAGS:
#define GOOD_GUY (1 << 0) // bits 0 and 1 are now available
#define BAD_GUY (1 << 1)
#define PLAYER_SHIP (1 << 2) #define PLAYER_SHIP (1 << 2)
// The ELEMENT is a player controlable ship, and not some bullet, // The ELEMENT is a player controlable ship, and not some bullet,
// crew, asteroid, fighter, etc. This does not mean that the ship // crew, asteroid, fighter, etc. This does not mean that the ship
+7 -7
View File
@@ -112,7 +112,7 @@ EventHandler (BYTE selector)
ZOQFOTPIK_SHIP); ZOQFOTPIK_SHIP);
ZoqFotPtr = LockFleetInfo (&GLOBAL (avail_race_q), hZoqFot); ZoqFotPtr = LockFleetInfo (&GLOBAL (avail_race_q), hZoqFot);
ZoqFotPtr->actual_strength = 0; ZoqFotPtr->actual_strength = 0;
ZoqFotPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); ZoqFotPtr->allied_state = DEAD_GUY;
UnlockFleetInfo (&GLOBAL (avail_race_q), hZoqFot); UnlockFleetInfo (&GLOBAL (avail_race_q), hZoqFot);
SET_GAME_STATE (ZOQFOT_DISTRESS, 2); SET_GAME_STATE (ZOQFOT_DISTRESS, 2);
@@ -283,7 +283,7 @@ check_race_growth (void)
if (delta_strength <= 0) if (delta_strength <= 0)
{ {
delta_strength = 0; delta_strength = 0;
FleetPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); FleetPtr->allied_state = DEAD_GUY;
} }
else if (delta_strength > MAX_FLEET_STRENGTH) else if (delta_strength > MAX_FLEET_STRENGTH)
delta_strength = MAX_FLEET_STRENGTH; delta_strength = MAX_FLEET_STRENGTH;
@@ -342,7 +342,7 @@ black_urquan_genocide (void)
if (dx == 0 && dy == 0) if (dx == 0 && dy == 0)
{ {
// Arrived at the victim's home world. Cleanse it. // Arrived at the victim's home world. Cleanse it.
FleetPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); FleetPtr->allied_state = DEAD_GUY;
FleetPtr->actual_strength = 0; FleetPtr->actual_strength = 0;
} }
else if (FleetPtr->actual_strength) else if (FleetPtr->actual_strength)
@@ -437,7 +437,7 @@ pkunk_mission (void)
if (PkunkPtr->actual_strength == 0) if (PkunkPtr->actual_strength == 0)
{ {
SET_GAME_STATE (YEHAT_ABSORBED_PKUNK, 1); SET_GAME_STATE (YEHAT_ABSORBED_PKUNK, 1);
PkunkPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); PkunkPtr->allied_state = DEAD_GUY;
ActivateStarShip (YEHAT_SHIP, SPHERE_TRACKING); ActivateStarShip (YEHAT_SHIP, SPHERE_TRACKING);
} }
else else
@@ -540,8 +540,8 @@ ilwrath_mission (void)
{ {
IlwrathPtr->actual_strength = 0; IlwrathPtr->actual_strength = 0;
ThraddPtr->actual_strength = 0; ThraddPtr->actual_strength = 0;
IlwrathPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); IlwrathPtr->allied_state = DEAD_GUY;
ThraddPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); ThraddPtr->allied_state = DEAD_GUY;
} }
else if (IlwrathPtr->actual_strength) else if (IlwrathPtr->actual_strength)
{ {
@@ -575,7 +575,7 @@ ilwrath_mission (void)
(BYTE)(((strength_loss % MADD_LENGTH) << 8) / MADD_LENGTH); (BYTE)(((strength_loss % MADD_LENGTH) << 8) / MADD_LENGTH);
SET_GAME_STATE (THRADD_VISITS, 0); SET_GAME_STATE (THRADD_VISITS, 0);
if (ThraddPtr->allied_state & GOOD_GUY) if (ThraddPtr->allied_state == GOOD_GUY)
ActivateStarShip (THRADDASH_SHIP, SET_NOT_ALLIED); ActivateStarShip (THRADDASH_SHIP, SET_NOT_ALLIED);
} }
+2 -4
View File
@@ -99,7 +99,7 @@ ReadShipFragment (void *fp, SHIP_FRAGMENT *FragPtr)
{ {
BYTE tmpb; BYTE tmpb;
sread_16 (fp, &FragPtr->which_side); sread_16 (fp, NULL); /* unused: was which_side */
sread_8 (fp, &FragPtr->captains_name_index); sread_8 (fp, &FragPtr->captains_name_index);
sread_8 (fp, NULL); /* padding; for savegame compat */ sread_8 (fp, NULL); /* padding; for savegame compat */
sread_16 (fp, NULL); /* unused: was ship_flags */ sread_16 (fp, NULL); /* unused: was ship_flags */
@@ -119,7 +119,7 @@ ReadShipFragment (void *fp, SHIP_FRAGMENT *FragPtr)
static void static void
WriteShipFragment (void *fp, const SHIP_FRAGMENT *FragPtr) WriteShipFragment (void *fp, const SHIP_FRAGMENT *FragPtr)
{ {
swrite_16 (fp, FragPtr->which_side); swrite_16 (fp, 0); /* unused: was which_side */
swrite_8 (fp, FragPtr->captains_name_index); swrite_8 (fp, FragPtr->captains_name_index);
swrite_8 (fp, 0); /* padding; for savegame compat */ swrite_8 (fp, 0); /* padding; for savegame compat */
swrite_16 (fp, 0); /* unused: was ship_flags */ swrite_16 (fp, 0); /* unused: was ship_flags */
@@ -626,8 +626,6 @@ GetGroupInfo (DWORD offset, BYTE which_group)
hGroup = BuildGroup (&GLOBAL (ip_group_q), RaceType); hGroup = BuildGroup (&GLOBAL (ip_group_q), RaceType);
GroupPtr = LockIpGroup (&GLOBAL (ip_group_q), hGroup); GroupPtr = LockIpGroup (&GLOBAL (ip_group_q), hGroup);
// XXX: which_side is unused, other than this assign
//GroupPtr->which_side = BAD_GUY;
GroupPtr->group_id = which_group; GroupPtr->group_id = which_group;
GroupPtr->in_system = 1; GroupPtr->in_system = 1;
-2
View File
@@ -32,8 +32,6 @@ typedef struct
HIPGROUP pred; HIPGROUP pred;
HIPGROUP succ; HIPGROUP succ;
/* unused: COUNT which_side; */
UWORD group_counter; UWORD group_counter;
BYTE race_id; BYTE race_id;
BYTE sys_loc; BYTE sys_loc;
+1 -1
View File
@@ -170,7 +170,7 @@ LoadShipQueue (DECODE_REF fh, QUEUE *pQueue)
FragPtr = LockShipFrag (pQueue, hStarShip); FragPtr = LockShipFrag (pQueue, hStarShip);
// Read SHIP_FRAGMENT elements // Read SHIP_FRAGMENT elements
cread_16 (fh, &FragPtr->which_side); cread_16 (fh, NULL); /* unused: was which_side */
cread_8 (fh, &FragPtr->captains_name_index); cread_8 (fh, &FragPtr->captains_name_index);
cread_8 (fh, NULL); /* padding */ cread_8 (fh, NULL); /* padding */
cread_16 (fh, NULL); /* unused: was ship_flags */ cread_16 (fh, NULL); /* unused: was ship_flags */
+9 -3
View File
@@ -297,8 +297,6 @@ typedef struct
{ {
SHIP_BASE_COMMON; SHIP_BASE_COMMON;
COUNT which_side;
BYTE race_id; BYTE race_id;
BYTE index; BYTE index;
COUNT crew_level; COUNT crew_level;
@@ -339,7 +337,7 @@ typedef struct
SPECIES_ID SpeciesID; SPECIES_ID SpeciesID;
UWORD allied_state; /* 0, GOOD_GUY, or BAD_GUY */ UWORD allied_state; /* GOOD_GUY, BAD_GUY or DEAD_GUY */
BYTE days_left; /* Days left before the fleet reachers 'dest_loc'. */ BYTE days_left; /* Days left before the fleet reachers 'dest_loc'. */
BYTE growth_fract; BYTE growth_fract;
COUNT crew_level; COUNT crew_level;
@@ -376,6 +374,14 @@ typedef struct
} FLEET_INFO; } FLEET_INFO;
// Values for FLEET_INFO.allied_state
enum
{
DEAD_GUY = 0,
GOOD_GUY,
BAD_GUY,
};
static inline FLEET_INFO * static inline FLEET_INFO *
LockFleetInfo (const QUEUE *pq, HFLEETINFO h) LockFleetInfo (const QUEUE *pq, HFLEETINFO h)
{ {
+1 -1
View File
@@ -146,7 +146,7 @@ SaveShipQueue (DECODE_REF fh, QUEUE *pQueue)
cwrite_16 (fh, Index); cwrite_16 (fh, Index);
// Write SHIP_FRAGMENT elements // Write SHIP_FRAGMENT elements
cwrite_16 (fh, FragPtr->which_side); cwrite_16 (fh, 0); /* unused; was which_side */
cwrite_8 (fh, FragPtr->captains_name_index); cwrite_8 (fh, FragPtr->captains_name_index);
cwrite_8 (fh, 0); /* padding */ cwrite_8 (fh, 0); /* padding */
cwrite_16 (fh, 0); /* unused: was ship_flags */ cwrite_16 (fh, 0); /* unused: was ship_flags */
+3 -3
View File
@@ -156,7 +156,7 @@ GetAvailableRaceCount (void)
FLEET_INFO *FleetPtr; FLEET_INFO *FleetPtr;
FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), hStarShip); FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), hStarShip);
if (FleetPtr->allied_state & GOOD_GUY) if (FleetPtr->allied_state == GOOD_GUY)
++Index; ++Index;
hNextShip = _GetSuccLink (FleetPtr); hNextShip = _GetSuccLink (FleetPtr);
@@ -177,7 +177,7 @@ GetAvailableRaceFromIndex (BYTE Index)
FLEET_INFO *FleetPtr; FLEET_INFO *FleetPtr;
FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), hStarShip); FleetPtr = LockFleetInfo (&GLOBAL (avail_race_q), hStarShip);
if ((FleetPtr->allied_state & GOOD_GUY) && Index-- == 0) if (FleetPtr->allied_state == GOOD_GUY && Index-- == 0)
{ {
UnlockFleetInfo (&GLOBAL (avail_race_q), hStarShip); UnlockFleetInfo (&GLOBAL (avail_race_q), hStarShip);
return hStarShip; return hStarShip;
@@ -534,7 +534,7 @@ CrewTransaction (SIZE crew_delta)
LockMutex (GraphicsLock); LockMutex (GraphicsLock);
} }
} }
if (!(ActivateStarShip (SHOFIXTI_SHIP, CHECK_ALLIANCE) & GOOD_GUY)) if (ActivateStarShip (SHOFIXTI_SHIP, CHECK_ALLIANCE) != GOOD_GUY)
{ {
SET_GAME_STATE (CREW_PURCHASED0, LOBYTE (crew_bought)); SET_GAME_STATE (CREW_PURCHASED0, LOBYTE (crew_bought));
SET_GAME_STATE (CREW_PURCHASED1, HIBYTE (crew_bought)); SET_GAME_STATE (CREW_PURCHASED1, HIBYTE (crew_bought));
+1 -2
View File
@@ -541,8 +541,7 @@ activateAllShips (void)
if (FleetPtr->icons != NULL) if (FleetPtr->icons != NULL)
// Skip the Ur-Quan probe. // Skip the Ur-Quan probe.
{ {
FleetPtr->allied_state &= ~(GOOD_GUY | BAD_GUY); FleetPtr->allied_state = GOOD_GUY;
FleetPtr->allied_state |= GOOD_GUY;
} }
UnlockFleetInfo (&GLOBAL (avail_race_q), hStarShip); UnlockFleetInfo (&GLOBAL (avail_race_q), hStarShip);