From d0fb58af547fe6e40adef92e6f44cee4c3e49c24 Mon Sep 17 00:00:00 2001 From: avolkov Date: Fri, 9 Jun 2006 03:54:09 +0000 Subject: [PATCH] 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 --- sc2/src/sc2code/grpinfo.c | 129 +++++++++++++++-------------- sc2/src/sc2code/planets/devices.c | 8 +- sc2/src/sc2code/planets/genchmmr.c | 4 +- sc2/src/sc2code/planets/gencol.c | 2 +- sc2/src/sc2code/planets/gendru.c | 4 +- sc2/src/sc2code/planets/genilw.c | 4 +- sc2/src/sc2code/planets/genmel.c | 2 +- sc2/src/sc2code/planets/genmyc.c | 4 +- sc2/src/sc2code/planets/genorz.c | 4 +- sc2/src/sc2code/planets/genpet.c | 4 +- sc2/src/sc2code/planets/genpku.c | 4 +- sc2/src/sc2code/planets/gensam.c | 12 +-- sc2/src/sc2code/planets/genshof.c | 2 +- sc2/src/sc2code/planets/gensol.c | 6 +- sc2/src/sc2code/planets/genspa.c | 4 +- sc2/src/sc2code/planets/gensup.c | 4 +- sc2/src/sc2code/planets/genthrad.c | 4 +- sc2/src/sc2code/planets/genutw.c | 8 +- sc2/src/sc2code/planets/genvux.c | 4 +- sc2/src/sc2code/planets/genyeh.c | 4 +- sc2/src/sc2code/planets/genzoq.c | 9 +- sc2/src/sc2code/planets/scan.c | 2 +- sc2/src/sc2code/planets/solarsys.c | 6 +- sc2/src/sc2code/save.c | 11 +-- sc2/src/sc2code/state.h | 6 ++ 25 files changed, 126 insertions(+), 125 deletions(-) diff --git a/sc2/src/sc2code/grpinfo.c b/sc2/src/sc2code/grpinfo.c index e3417e399..92e26b1a4 100644 --- a/sc2/src/sc2code/grpinfo.c +++ b/sc2/src/sc2code/grpinfo.c @@ -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); diff --git a/sc2/src/sc2code/planets/devices.c b/sc2/src/sc2code/planets/devices.c index 3f944345d..2d48ef9c1 100644 --- a/sc2/src/sc2code/planets/devices.c +++ b/sc2/src/sc2code/planets/devices.c @@ -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) diff --git a/sc2/src/sc2code/planets/genchmmr.c b/sc2/src/sc2code/planets/genchmmr.c index 23a2f0ff4..a79fd46c5 100644 --- a/sc2/src/sc2code/planets/genchmmr.c +++ b/sc2/src/sc2code/planets/genchmmr.c @@ -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; } diff --git a/sc2/src/sc2code/planets/gencol.c b/sc2/src/sc2code/planets/gencol.c index d07e02fea..3d01755f7 100644 --- a/sc2/src/sc2code/planets/gencol.c +++ b/sc2/src/sc2code/planets/gencol.c @@ -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))); diff --git a/sc2/src/sc2code/planets/gendru.c b/sc2/src/sc2code/planets/gendru.c index d5d5a8d61..847719b10 100644 --- a/sc2/src/sc2code/planets/gendru.c +++ b/sc2/src/sc2code/planets/gendru.c @@ -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; } diff --git a/sc2/src/sc2code/planets/genilw.c b/sc2/src/sc2code/planets/genilw.c index 14b431de6..0b2e7bee0 100644 --- a/sc2/src/sc2code/planets/genilw.c +++ b/sc2/src/sc2code/planets/genilw.c @@ -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; } diff --git a/sc2/src/sc2code/planets/genmel.c b/sc2/src/sc2code/planets/genmel.c index 33202b1c3..652f0b108 100644 --- a/sc2/src/sc2code/planets/genmel.c +++ b/sc2/src/sc2code/planets/genmel.c @@ -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); diff --git a/sc2/src/sc2code/planets/genmyc.c b/sc2/src/sc2code/planets/genmyc.c index 4f397b730..35d8d74cb 100644 --- a/sc2/src/sc2code/planets/genmyc.c +++ b/sc2/src/sc2code/planets/genmyc.c @@ -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; diff --git a/sc2/src/sc2code/planets/genorz.c b/sc2/src/sc2code/planets/genorz.c index 6b5fb6946..bb368c29d 100644 --- a/sc2/src/sc2code/planets/genorz.c +++ b/sc2/src/sc2code/planets/genorz.c @@ -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; diff --git a/sc2/src/sc2code/planets/genpet.c b/sc2/src/sc2code/planets/genpet.c index 8a4cd0045..4f1d1fcb0 100644 --- a/sc2/src/sc2code/planets/genpet.c +++ b/sc2/src/sc2code/planets/genpet.c @@ -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; } diff --git a/sc2/src/sc2code/planets/genpku.c b/sc2/src/sc2code/planets/genpku.c index ef975af1a..a0014885b 100644 --- a/sc2/src/sc2code/planets/genpku.c +++ b/sc2/src/sc2code/planets/genpku.c @@ -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; } diff --git a/sc2/src/sc2code/planets/gensam.c b/sc2/src/sc2code/planets/gensam.c index 221e068f4..70d608f6f 100644 --- a/sc2/src/sc2code/planets/gensam.c +++ b/sc2/src/sc2code/planets/gensam.c @@ -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); diff --git a/sc2/src/sc2code/planets/genshof.c b/sc2/src/sc2code/planets/genshof.c index b2b559186..d5725849e 100644 --- a/sc2/src/sc2code/planets/genshof.c +++ b/sc2/src/sc2code/planets/genshof.c @@ -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; diff --git a/sc2/src/sc2code/planets/gensol.c b/sc2/src/sc2code/planets/gensol.c index 4ee57b977..43c4f2ed2 100644 --- a/sc2/src/sc2code/planets/gensol.c +++ b/sc2/src/sc2code/planets/gensol.c @@ -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 ()) diff --git a/sc2/src/sc2code/planets/genspa.c b/sc2/src/sc2code/planets/genspa.c index 0141ae628..46974fd03 100644 --- a/sc2/src/sc2code/planets/genspa.c +++ b/sc2/src/sc2code/planets/genspa.c @@ -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; } diff --git a/sc2/src/sc2code/planets/gensup.c b/sc2/src/sc2code/planets/gensup.c index 3b18b1cf2..19efdfe09 100644 --- a/sc2/src/sc2code/planets/gensup.c +++ b/sc2/src/sc2code/planets/gensup.c @@ -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; } diff --git a/sc2/src/sc2code/planets/genthrad.c b/sc2/src/sc2code/planets/genthrad.c index 38a8ee56e..b911c8b49 100644 --- a/sc2/src/sc2code/planets/genthrad.c +++ b/sc2/src/sc2code/planets/genthrad.c @@ -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) diff --git a/sc2/src/sc2code/planets/genutw.c b/sc2/src/sc2code/planets/genutw.c index eb604d5fb..c59217f38 100644 --- a/sc2/src/sc2code/planets/genutw.c +++ b/sc2/src/sc2code/planets/genutw.c @@ -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; diff --git a/sc2/src/sc2code/planets/genvux.c b/sc2/src/sc2code/planets/genvux.c index 99638a97a..7eb494ed6 100644 --- a/sc2/src/sc2code/planets/genvux.c +++ b/sc2/src/sc2code/planets/genvux.c @@ -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)) diff --git a/sc2/src/sc2code/planets/genyeh.c b/sc2/src/sc2code/planets/genyeh.c index de3555d9c..d423036ad 100644 --- a/sc2/src/sc2code/planets/genyeh.c +++ b/sc2/src/sc2code/planets/genyeh.c @@ -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; } diff --git a/sc2/src/sc2code/planets/genzoq.c b/sc2/src/sc2code/planets/genzoq.c index 1f925561d..60dfc99cb 100644 --- a/sc2/src/sc2code/planets/genzoq.c +++ b/sc2/src/sc2code/planets/genzoq.c @@ -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; } diff --git a/sc2/src/sc2code/planets/scan.c b/sc2/src/sc2code/planets/scan.c index b517b66e5..44c9180f0 100644 --- a/sc2/src/sc2code/planets/scan.c +++ b/sc2/src/sc2code/planets/scan.c @@ -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, diff --git a/sc2/src/sc2code/planets/solarsys.c b/sc2/src/sc2code/planets/solarsys.c index 07537ed32..42c613bb7 100644 --- a/sc2/src/sc2code/planets/solarsys.c +++ b/sc2/src/sc2code/planets/solarsys.c @@ -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: diff --git a/sc2/src/sc2code/save.c b/sc2/src/sc2code/save.c index d429b6d3a..6380df59e 100644 --- a/sc2/src/sc2code/save.c +++ b/sc2/src/sc2code/save.c @@ -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); diff --git a/sc2/src/sc2code/state.h b/sc2/src/sc2code/state.h index da9cb0c17..b63e98366 100644 --- a/sc2/src/sc2code/state.h +++ b/sc2/src/sc2code/state.h @@ -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