Get/Put GroupInfo cleanup; using symbolic constants for clarity

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2384 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2006-06-09 03:54:09 +00:00
parent 18a2f50c7d
commit d0fb58af54
25 changed files with 126 additions and 125 deletions
+66 -63
View File
@@ -232,12 +232,12 @@ FoundHome:
&GLOBAL (npc_built_ship_q), 0);
}
PutGroupInfo (0L, ++which_group);
PutGroupInfo (GROUPS_RANDOM, ++which_group);
ReinitQueue (&GLOBAL (npc_built_ship_q));
} while (--num_groups);
}
GetGroupInfo (0L, (BYTE)~0);
GetGroupInfo (GROUPS_RANDOM, GROUP_INIT_IP);
}
static void
@@ -247,45 +247,43 @@ FlushGroupInfo (GROUP_HEADER *pGH, DWORD offset, BYTE which_group, PVOID fp)
HSTARSHIP hStarShip;
SHIP_FRAGMENTPTR FragPtr;
if (which_group == 0)
if (which_group == GROUP_LIST)
{
QUEUE temp_q;
HSTARSHIP hNextShip;
if (pGH->GroupOffset[0] == 0)
pGH->GroupOffset[0] = LengthStateFile (fp);
temp_q = GLOBAL (npc_built_ship_q);
SetHeadLink (&GLOBAL (npc_built_ship_q), 0);
SetTailLink (&GLOBAL (npc_built_ship_q), 0);
for (hStarShip = GetHeadLink (&temp_q);
hStarShip; hStarShip = hNextShip)
{
QUEUE temp_q;
HSTARSHIP hNextShip;
COUNT crew_level;
temp_q = GLOBAL (npc_built_ship_q);
SetHeadLink (&GLOBAL (npc_built_ship_q), 0);
SetTailLink (&GLOBAL (npc_built_ship_q), 0);
for (hStarShip = GetHeadLink (&temp_q);
hStarShip; hStarShip = hNextShip)
FragPtr = (SHIP_FRAGMENTPTR)LockStarShip (
&temp_q, hStarShip);
hNextShip = _GetSuccLink (FragPtr);
crew_level = FragPtr->ShipInfo.crew_level;
which_group = GET_GROUP_ID (FragPtr);
UnlockStarShip (&temp_q, hStarShip);
if (crew_level == 0)
{
COUNT crew_level;
FragPtr = (SHIP_FRAGMENTPTR)LockStarShip (
&temp_q, hStarShip);
hNextShip = _GetSuccLink (FragPtr);
crew_level = FragPtr->ShipInfo.crew_level;
which_group = GET_GROUP_ID (FragPtr);
UnlockStarShip (&temp_q, hStarShip);
if (crew_level == 0)
{
if (GLOBAL (BattleGroupRef))
PutGroupInfo (GLOBAL (BattleGroupRef), which_group);
else
FlushGroupInfo (pGH, 0L, which_group, fp);
pGH->GroupOffset[which_group] = 0;
RemoveQueue (&temp_q, hStarShip);
FreeStarShip (&temp_q, hStarShip);
}
if (GLOBAL (BattleGroupRef))
PutGroupInfo (GLOBAL (BattleGroupRef), which_group);
else
FlushGroupInfo (pGH, GROUPS_RANDOM, which_group, fp);
pGH->GroupOffset[which_group] = 0;
RemoveQueue (&temp_q, hStarShip);
FreeStarShip (&temp_q, hStarShip);
}
GLOBAL (npc_built_ship_q) = temp_q;
which_group = 0;
}
GLOBAL (npc_built_ship_q) = temp_q;
which_group = GROUP_LIST;
}
else if (which_group > pGH->NumGroups)
{
@@ -297,7 +295,7 @@ FlushGroupInfo (GROUP_HEADER *pGH, DWORD offset, BYTE which_group, PVOID fp)
&GLOBAL (npc_built_ship_q), hStarShip);
RaceType = GET_RACE_ID (FragPtr);
SeekStateFile (fp, pGH->GroupOffset[which_group], SEEK_SET);
WriteStateFile ((PBYTE)&RaceType, sizeof (RaceType), 1, fp);
WriteStateFile (&RaceType, sizeof (RaceType), 1, fp);
UnlockStarShip (&GLOBAL (npc_built_ship_q), hStarShip);
}
SeekStateFile (fp, offset, SEEK_SET);
@@ -310,14 +308,16 @@ FlushGroupInfo (GROUP_HEADER *pGH, DWORD offset, BYTE which_group, PVOID fp)
NumShips = (BYTE)CountLinks (&GLOBAL (npc_built_ship_q));
if (which_group)
if (which_group != GROUP_LIST)
{
SeekStateFile (fp, pGH->GroupOffset[which_group]
+ sizeof (RaceType), SEEK_SET);
}
else
{
RaceType = (BYTE)cur_player;
BYTE BaseGroup = (BYTE)cur_player;
SeekStateFile (fp, pGH->GroupOffset[0], SEEK_SET);
WriteStateFile (&RaceType, sizeof (RaceType), 1, fp);
WriteStateFile (&BaseGroup, sizeof (BaseGroup), 1, fp);
}
WriteStateFile (&NumShips, sizeof (NumShips), 1, fp);
@@ -333,10 +333,10 @@ FlushGroupInfo (GROUP_HEADER *pGH, DWORD offset, BYTE which_group, PVOID fp)
hNextShip = _GetSuccLink (FragPtr);
RaceType = GET_RACE_ID (FragPtr);
WriteStateFile ((PBYTE)&RaceType, sizeof (RaceType), 1, fp);
WriteStateFile (&RaceType, sizeof (RaceType), 1, fp);
#ifdef DEBUG_GROUPS
if (which_group == 0)
if (which_group == GROUP_LIST)
log_add (log_Debug, "F) type %u, loc %u<%d, %d>, task 0x%02x:%u",
RaceType,
GET_GROUP_LOC (FragPtr),
@@ -346,7 +346,7 @@ FlushGroupInfo (GROUP_HEADER *pGH, DWORD offset, BYTE which_group, PVOID fp)
GET_GROUP_DEST (FragPtr));
#endif /* DEBUG_GROUPS */
Ptr = (PBYTE)&FragPtr->RaceDescPtr;
WriteStateFile ((PBYTE)Ptr,
WriteStateFile (Ptr,
((PBYTE)&FragPtr->ShipInfo.race_strings) - Ptr, 1, fp);
UnlockStarShip (&GLOBAL (npc_built_ship_q), hStarShip);
hStarShip = hNextShip;
@@ -358,9 +358,11 @@ GetGroupInfo (DWORD offset, BYTE which_group)
{
PVOID fp;
fp = OpenStateFile (
offset && which_group ? DEFGRPINFO_FILE : RANDGRPINFO_FILE,
"r+b");
if (offset != GROUPS_RANDOM && which_group != GROUP_LIST)
fp = OpenStateFile (DEFGRPINFO_FILE, "r+b");
else
fp = OpenStateFile (RANDGRPINFO_FILE, "r+b");
if (fp)
{
BYTE RaceType, NumShips;
@@ -374,7 +376,7 @@ GetGroupInfo (DWORD offset, BYTE which_group)
log_add (log_Debug, "GetGroupInfo(%lu): %u(%lu) out of %u", offset,
which_group, GH.GroupOffset[which_group], GH.NumGroups);
#endif /* DEBUG_GROUPS */
if (which_group == (BYTE)~0)
if (which_group == GROUP_INIT_IP)
{
COUNT month_index, day_index, year_index;
@@ -386,7 +388,7 @@ GetGroupInfo (DWORD offset, BYTE which_group)
day_index = GH.day_index;
month_index = GH.month_index;
year_index = GH.year_index;
if (offset == 0
if (offset == GROUPS_RANDOM
&& (GH.star_index != (COUNT)(CurStarDescPtr - star_array)
|| !ValidateEvent (ABSOLUTE_EVENT,
&month_index, &day_index, &year_index)))
@@ -495,9 +497,8 @@ GetGroupInfo (DWORD offset, BYTE which_group)
}
}
if (offset)
InitGroupInfo (FALSE);
/* Random battle group */
if (offset != GROUPS_RANDOM)
InitGroupInfo (FALSE); /* Wipe out random battle groups */
else if (ValidateEvent (ABSOLUTE_EVENT, /* still fresh */
&month_index, &day_index, &year_index))
{
@@ -512,7 +513,7 @@ GetGroupInfo (DWORD offset, BYTE which_group)
COUNT ShipsLeft;
ShipsLeft = CountLinks (&GLOBAL (npc_built_ship_q));
if (which_group == 0)
if (which_group == GROUP_LIST)
{
SeekStateFile (fp, GH.GroupOffset[0], SEEK_SET);
ReadStateFile (&BaseGroup, sizeof (BaseGroup), 1, fp);
@@ -528,10 +529,10 @@ GetGroupInfo (DWORD offset, BYTE which_group)
else
{
cur_player = (SIZE)which_group;
if (offset)
PutGroupInfo (0L, 0);
if (offset != GROUPS_RANDOM)
PutGroupInfo (GROUPS_RANDOM, GROUP_LIST);
else
FlushGroupInfo (&GH, 0L, 0, fp);
FlushGroupInfo (&GH, GROUPS_RANDOM, GROUP_LIST, fp);
BaseGroup = which_group;
}
@@ -545,7 +546,7 @@ GetGroupInfo (DWORD offset, BYTE which_group)
{
PBYTE Ptr;
ReadStateFile ((PBYTE)&RaceType, sizeof (RaceType), 1, fp);
ReadStateFile (&RaceType, sizeof (RaceType), 1, fp);
hStarShip = CloneShipFragment (RaceType,
&GLOBAL (npc_built_ship_q), 0);
@@ -553,12 +554,12 @@ GetGroupInfo (DWORD offset, BYTE which_group)
FragPtr = (SHIP_FRAGMENTPTR)LockStarShip (
&GLOBAL (npc_built_ship_q), hStarShip);
Ptr = (PBYTE)&FragPtr->RaceDescPtr;
ReadStateFile ((PBYTE)Ptr,
ReadStateFile (Ptr,
((PBYTE)&FragPtr->ShipInfo.race_strings) - Ptr, 1,
fp);
#ifdef DEBUG_GROUPS
if (which_group == 0)
if (which_group == GROUP_LIST)
log_add (log_Debug, "G) type %u, loc %u<%d, %d>, "
"task 0x%02x:%u",
RaceType,
@@ -569,14 +570,14 @@ GetGroupInfo (DWORD offset, BYTE which_group)
GET_GROUP_DEST (FragPtr));
#endif /* DEBUG_GROUPS */
if (GET_GROUP_ID (FragPtr) != BaseGroup
|| which_group
|| which_group != GROUP_LIST
|| ShipsLeft)
{
#ifdef DEBUG_GROUPS
log_add (log_Debug, "\n");
#endif /* DEBUG_GROUPS */
if (RaceType == SHOFIXTI_SHIP
&& which_group
&& which_group != GROUP_LIST
&& !GET_GAME_STATE (SHOFIXTI_RECRUITED))
{
BYTE captains_name_index;
@@ -614,14 +615,16 @@ PutGroupInfo (DWORD offset, BYTE which_group)
{
PVOID fp;
fp = OpenStateFile (
offset && which_group ? DEFGRPINFO_FILE : RANDGRPINFO_FILE,
"r+b");
if (offset != GROUPS_RANDOM && which_group != GROUP_LIST)
fp = OpenStateFile (DEFGRPINFO_FILE, "r+b");
else
fp = OpenStateFile (RANDGRPINFO_FILE, "r+b");
if (fp)
{
GROUP_HEADER GH;
if (offset == (DWORD) ~0L)
if (offset == GROUPS_ADD_NEW)
{
offset = LengthStateFile (fp);
GH.NumGroups = 0;
@@ -632,13 +635,13 @@ PutGroupInfo (DWORD offset, BYTE which_group)
// Some garbage is saved. -- SvdB
}
if (which_group)
if (which_group != GROUP_LIST)
{
SeekStateFile (fp, offset, SEEK_SET);
if (which_group == (BYTE)~0)
if (which_group == GROUP_SAVE_IP)
{
cur_player = 0;
which_group = 0;
which_group = GROUP_LIST;
}
}
ReadStateFile (&GH, sizeof (GH), 1, fp);
+4 -4
View File
@@ -229,7 +229,7 @@ DeviceFailed (BYTE which_device)
battle_counter = 0;
GLOBAL (CurrentActivity) |= START_ENCOUNTER;
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (CHMMR_SHIP,
@@ -272,7 +272,7 @@ DeviceFailed (BYTE which_device)
{
SET_GAME_STATE (SHIP_TO_COMPEL, 1);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
}
@@ -330,7 +330,7 @@ DeviceFailed (BYTE which_device)
GLOBAL (CurrentActivity) |= START_ENCOUNTER;
battle_counter = 0;
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 1 << 7);
@@ -367,7 +367,7 @@ DeviceFailed (BYTE which_device)
GLOBAL (CurrentActivity) |= START_ENCOUNTER;
battle_counter = 0;
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (CurStarDescPtr->Index == ILWRATH_DEFINED)
+2 -2
View File
@@ -78,7 +78,7 @@ GenerateChmmr (BYTE control)
&& !GET_GAME_STATE (ILWRATH_DECEIVED)
&& ActivateStarShip (ILWRATH_SHIP, SPHERE_TRACKING))
{
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (ILWRATH_SHIP,
@@ -94,7 +94,7 @@ GenerateChmmr (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+1 -1
View File
@@ -44,7 +44,7 @@ GenerateColony (BYTE control)
CloneShipFragment (URQUAN_SHIP,
&GLOBAL (npc_built_ship_q), 0);
GLOBAL (BattleGroupRef) = PutGroupInfo (~0L, 1);
GLOBAL (BattleGroupRef) = PutGroupInfo (GROUPS_ADD_NEW, 1);
b0 = LOBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b1 = HIBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b2 = LOBYTE (HIWORD (GLOBAL (BattleGroupRef)));
+2 -2
View File
@@ -114,7 +114,7 @@ GenerateDruuge (BYTE control)
if (ActivateStarShip (DRUUGE_SHIP, SPHERE_TRACKING))
{
NotifyOthers (DRUUGE_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (DRUUGE_SHIP,
@@ -129,7 +129,7 @@ GenerateDruuge (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+2 -2
View File
@@ -87,7 +87,7 @@ GenerateIlwrath (BYTE control)
if (ActivateStarShip (ILWRATH_SHIP, SPHERE_TRACKING))
{
NotifyOthers (ILWRATH_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (ILWRATH_SHIP,
@@ -103,7 +103,7 @@ GenerateIlwrath (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+1 -1
View File
@@ -169,7 +169,7 @@ GenerateMelnorme (BYTE control)
{
CloneShipFragment (MELNORME_SHIP,
&GLOBAL (npc_built_ship_q), 0);
GLOBAL (BattleGroupRef) = PutGroupInfo (~0L, 1);
GLOBAL (BattleGroupRef) = PutGroupInfo (GROUPS_ADD_NEW, 1);
SetMelnormeRef (GLOBAL (BattleGroupRef));
}
GenerateRandomIP (INIT_NPCS);
+2 -2
View File
@@ -134,7 +134,7 @@ GenerateMycon (BYTE control)
|| !GET_GAME_STATE (SUN_DEVICE_UNGUARDED))
{
NotifyOthers (MYCON_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (CurStarDescPtr->Index == MYCON_DEFINED
@@ -176,7 +176,7 @@ GenerateMycon (BYTE control)
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (MyconSurvivors)
break;
+2 -2
View File
@@ -302,7 +302,7 @@ GenerateOrz (BYTE control)
&& ActivateStarShip (ORZ_SHIP, SPHERE_TRACKING))
{
NotifyOthers (ORZ_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (CurStarDescPtr->Index == ORZ_DEFINED)
@@ -335,7 +335,7 @@ GenerateOrz (BYTE control)
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (OrzSurvivors)
break;
+2 -2
View File
@@ -172,7 +172,7 @@ GenerateTalkingPet (BYTE control)
|| ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING)))
{
NotifyOthers (UMGAH_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING))
@@ -223,7 +223,7 @@ GenerateTalkingPet (BYTE control)
}
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+2 -2
View File
@@ -106,7 +106,7 @@ GeneratePkunk (BYTE control)
if (ActivateStarShip (PKUNK_SHIP, SPHERE_TRACKING))
{
NotifyOthers (PKUNK_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (PKUNK_SHIP,
@@ -122,7 +122,7 @@ GeneratePkunk (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+6 -6
View File
@@ -53,7 +53,7 @@ BuildUrquanGuard (void)
if (GLOBAL (BattleGroupRef) == 0)
{
GLOBAL (BattleGroupRef) = PutGroupInfo (~0L, 1);
GLOBAL (BattleGroupRef) = PutGroupInfo (GROUPS_ADD_NEW, 1);
b0 = LOBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b1 = HIBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b2 = LOBYTE (HIWORD (GLOBAL (BattleGroupRef)));
@@ -76,7 +76,7 @@ BuildUrquanGuard (void)
for (b0 = 1; b0 <= NUM_URQUAN_GUARDS1; ++b0)
PutGroupInfo (GLOBAL (BattleGroupRef), (BYTE)(NUM_URQUAN_GUARDS0 + b0));
GetGroupInfo (GLOBAL (BattleGroupRef), (BYTE)~0);
GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP);
XFormIPLoc (
&pSolarSysState->PlanetDesc[4].image.origin,
@@ -150,11 +150,11 @@ GenerateSamatra (BYTE control)
BuildUrquanGuard ();
else
{ // Exorcise Ur-Quan ghosts upon system reentry
PutGroupInfo (0L, (BYTE)~0); // wipe out the group
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP); // wipe out the group
}
break;
case REINIT_NPCS:
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
battle_counter = 0;
{
BOOLEAN GuardEngaged;
@@ -246,7 +246,7 @@ GenerateSamatra (BYTE control)
if (pSolarSysState->pOrbitalDesc->pPrevDesc == &pSolarSysState->PlanetDesc[4]
&& pSolarSysState->pOrbitalDesc == &pSolarSysState->MoonDesc[0])
{
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (!GET_GAME_STATE (URQUAN_MESSED_UP))
@@ -283,7 +283,7 @@ GenerateSamatra (BYTE control)
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (UrquanSurvivors)
{
SET_GAME_STATE (URQUAN_PROTECTING_SAMATRA, 0);
+1 -1
View File
@@ -67,7 +67,7 @@ GenerateShofixti (BYTE control)
MAKE_WORD (b0, b1), MAKE_WORD (b2, b3)
);
if (GLOBAL (BattleGroupRef) == 0
|| !GetGroupInfo (GLOBAL (BattleGroupRef), (BYTE)~0))
|| !GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP))
{
if (GLOBAL (BattleGroupRef) == 0)
GLOBAL (BattleGroupRef) = ~0L;
+3 -3
View File
@@ -64,7 +64,7 @@ init_probe (void)
HSTARSHIP hStarShip;
if (!GET_GAME_STATE (PROBE_MESSAGE_DELIVERED)
&& GetGroupInfo (GLOBAL (BattleGroupRef), (BYTE)~0)
&& GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP)
&& (hStarShip = GetHeadLink (
&GLOBAL (npc_built_ship_q)
)))
@@ -186,7 +186,7 @@ generate_orbital (void)
if (pSolarSysState->pOrbitalDesc->pPrevDesc == &pSolarSysState->PlanetDesc[2]
&& pSolarSysState->pOrbitalDesc == &pSolarSysState->MoonDesc[0])
{
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
battle_counter = 0;
@@ -438,7 +438,7 @@ GenerateSOL (BYTE control)
CloneShipFragment (URQUAN_PROBE_SHIP,
&GLOBAL (npc_built_ship_q), 0);
GLOBAL (BattleGroupRef) = PutGroupInfo (~0L, 1);
GLOBAL (BattleGroupRef) = PutGroupInfo (GROUPS_ADD_NEW, 1);
SetProbeRef (GLOBAL (BattleGroupRef));
}
if (!init_probe ())
+2 -2
View File
@@ -159,7 +159,7 @@ GenerateSpathi (BYTE control)
&& ActivateStarShip (SPATHI_SHIP, SPHERE_TRACKING))
{
NotifyOthers (SPATHI_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (SPATHI_SHIP,
@@ -175,7 +175,7 @@ GenerateSpathi (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+2 -2
View File
@@ -104,7 +104,7 @@ GenerateSupox (BYTE control)
if (ActivateStarShip (SUPOX_SHIP, SPHERE_TRACKING))
{
NotifyOthers (SUPOX_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (SUPOX_SHIP,
@@ -120,7 +120,7 @@ GenerateSupox (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+2 -2
View File
@@ -145,7 +145,7 @@ GenerateThradd (BYTE control)
&& (BYTE)(GET_GAME_STATE (THRADD_MISSION) - 1) >= 3)))
{
NotifyOthers (THRADDASH_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (THRADDASH_SHIP,
@@ -169,7 +169,7 @@ GenerateThradd (BYTE control)
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (CurStarDescPtr->Index == THRADD_DEFINED
|| (!GET_GAME_STATE (HELIX_UNPROTECTED)
+4 -4
View File
@@ -146,7 +146,7 @@ GenerateUtwig (BYTE control)
&& ActivateStarShip (UTWIG_SHIP, SPHERE_TRACKING))
{
NotifyOthers (UTWIG_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (UTWIG_SHIP,
@@ -169,7 +169,7 @@ GenerateUtwig (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
@@ -179,7 +179,7 @@ GenerateUtwig (BYTE control)
{
COUNT i;
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
for (i = 0; i < 5; ++i)
@@ -203,7 +203,7 @@ GenerateUtwig (BYTE control)
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (DruugeSurvivors)
break;
+2 -2
View File
@@ -159,7 +159,7 @@ GenerateVUX (BYTE control)
&& ActivateStarShip (VUX_SHIP, SPHERE_TRACKING))
{
NotifyOthers (VUX_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (VUX_SHIP,
@@ -184,7 +184,7 @@ GenerateVUX (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
if (CurStarDescPtr->Index == VUX_DEFINED
|| !GET_GAME_STATE (ZEX_IS_DEAD))
+2 -2
View File
@@ -88,7 +88,7 @@ GenerateYehat (BYTE control)
if (ActivateStarShip (YEHAT_SHIP, SPHERE_TRACKING))
{
NotifyOthers (YEHAT_SHIP, (BYTE)~0);
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
CloneShipFragment (YEHAT_SHIP,
@@ -104,7 +104,7 @@ GenerateYehat (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+4 -5
View File
@@ -77,7 +77,7 @@ GenerateScout (BYTE control)
CloneShipFragment (ZOQFOTPIK_SHIP,
&GLOBAL (npc_built_ship_q), 0);
GLOBAL (BattleGroupRef) = PutGroupInfo (~0L, 1);
GLOBAL (BattleGroupRef) = PutGroupInfo (GROUPS_ADD_NEW, 1);
b0 = LOBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b1 = HIBYTE (LOWORD (GLOBAL (BattleGroupRef)));
b2 = LOBYTE (HIWORD (GLOBAL (BattleGroupRef)));
@@ -171,7 +171,7 @@ GenerateZoqFotPik (BYTE control)
{
if (ActivateStarShip (ZOQFOTPIK_SHIP, SPHERE_TRACKING))
{
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
if (GET_GAME_STATE (ZOQFOT_DISTRESS))
@@ -192,8 +192,7 @@ GenerateZoqFotPik (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
break;
}
}
@@ -210,7 +209,7 @@ GenerateZoqFotPik (BYTE control)
{
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
ReinitQueue (&GLOBAL (npc_built_ship_q));
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
}
break;
}
+1 -1
View File
@@ -768,7 +768,7 @@ PickPlanetSide (PMENU_STATE pMS)
GLOBAL (CurrentActivity) |= START_ENCOUNTER;
battle_counter = 0;
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
hStarShip = CloneShipFragment (SPATHI_SHIP,
+3 -3
View File
@@ -1573,17 +1573,17 @@ GenerateRandomIP (BYTE control)
switch (control)
{
case INIT_NPCS:
if (!GetGroupInfo (GLOBAL (BattleGroupRef), (BYTE)~0))
if (!GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP))
{
GLOBAL (BattleGroupRef) = 0;
BuildGroups ();
}
break;
case REINIT_NPCS:
GetGroupInfo (0L, 0);
GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP);
break;
case UNINIT_NPCS:
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
ReinitQueue (&GLOBAL (npc_built_ship_q));
break;
case GENERATE_MINERAL:
+2 -9
View File
@@ -344,14 +344,7 @@ RetrySave:
if (CurStarDescPtr)
SD = *CurStarDescPtr;
else
{
SD.star_pt.x = 0;
SD.star_pt.y = 0;
SD.Type = 0;
SD.Index = 0;
SD.Prefix = 0;
SD.Postfix = 0;
}
memset (&SD, 0, sizeof (SD));
frame = GLOBAL (ShipStamp.frame);
pt = GLOBAL (ip_location);
@@ -359,7 +352,7 @@ RetrySave:
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY
&& !(GLOBAL (CurrentActivity)
& (START_ENCOUNTER | START_INTERPLANETARY)))
PutGroupInfo (0L, (BYTE)~0);
PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);
cwrite ((PBYTE)&GlobData.Game_state, sizeof (GlobData.Game_state),
1, fh);
+6
View File
@@ -30,6 +30,12 @@ extern void InitGroupInfo (BOOLEAN FirstTime);
extern void UninitGroupInfo (void);
extern BOOLEAN GetGroupInfo (DWORD offset, BYTE which_group);
extern DWORD PutGroupInfo (DWORD offset, BYTE which_group);
#define GROUPS_RANDOM 0L
#define GROUPS_ADD_NEW (~0L)
#define GROUP_LIST 0
#define GROUP_INIT_IP ((BYTE)~0)
#define GROUP_LOAD_IP GROUP_LIST
#define GROUP_SAVE_IP ((BYTE)~0)
extern void BuildGroups (void);
#define MAX_DESC_CHARS 60