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