From bd640f38dc3578dc1d2babbcaa2d33c2afd0c209 Mon Sep 17 00:00:00 2001 From: Meep-Eep Date: Tue, 24 Nov 2009 18:40:38 +0000 Subject: [PATCH] Add a SOLARSYS_STATE parameter to initNpcs(), reinitNpcs(), and uninitNpcs(). git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3348 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/uqm/planets/generate.h | 6 +++--- sc2/src/uqm/planets/generate/gencol.c | 6 +++--- sc2/src/uqm/planets/generate/gendefault.c | 18 ++++++++++++------ sc2/src/uqm/planets/generate/gendefault.h | 6 +++--- sc2/src/uqm/planets/generate/genmel.c | 6 +++--- sc2/src/uqm/planets/generate/gensam.c | 11 ++++++----- sc2/src/uqm/planets/generate/genshof.c | 20 +++++++++++--------- sc2/src/uqm/planets/generate/gensol.c | 12 ++++++------ sc2/src/uqm/planets/generate/genutw.c | 6 +++--- sc2/src/uqm/planets/generate/genzfpscout.c | 12 ++++++------ sc2/src/uqm/planets/generate/genzoq.c | 6 +++--- sc2/src/uqm/planets/solarsys.c | 6 +++--- 12 files changed, 62 insertions(+), 53 deletions(-) diff --git a/sc2/src/uqm/planets/generate.h b/sc2/src/uqm/planets/generate.h index f07dfbc4d..7af35280f 100644 --- a/sc2/src/uqm/planets/generate.h +++ b/sc2/src/uqm/planets/generate.h @@ -45,9 +45,9 @@ typedef struct GenerateFunctions GenerateFunctions; // Any of these functions returning true means that the action has been // handled, and that the default function should not be called. -typedef bool (*InitNpcsFunction)(void); -typedef bool (*ReinitNpcsFunction)(void); -typedef bool (*UninitNpcsFunction)(void); +typedef bool (*InitNpcsFunction)(SOLARSYS_STATE *solarSys); +typedef bool (*ReinitNpcsFunction)(SOLARSYS_STATE *solarSys); +typedef bool (*UninitNpcsFunction)(SOLARSYS_STATE *solarSys); typedef bool (*GeneratePlanetsFunction)(SOLARSYS_STATE *solarSys); typedef bool (*GenerateMoonsFunction)(SOLARSYS_STATE *solarSys, PLANET_DESC *planet); diff --git a/sc2/src/uqm/planets/generate/gencol.c b/sc2/src/uqm/planets/generate/gencol.c index 1f36d861e..36f1530f8 100644 --- a/sc2/src/uqm/planets/generate/gencol.c +++ b/sc2/src/uqm/planets/generate/gencol.c @@ -25,7 +25,7 @@ #include "libs/mathlib.h" -static bool GenerateColony_initNpcs (void); +static bool GenerateColony_initNpcs (SOLARSYS_STATE *solarSys); static bool GenerateColony_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateColony_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); @@ -46,7 +46,7 @@ const GenerateFunctions generateColonyFunctions = { static bool -GenerateColony_initNpcs (void) +GenerateColony_initNpcs (SOLARSYS_STATE *solarSys) { HIPGROUP hGroup; @@ -60,7 +60,7 @@ GenerateColony_initNpcs (void) SET_GAME_STATE_32 (COLONY_GRPOFFS0, GLOBAL (BattleGroupRef)); } - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); if (GLOBAL (BattleGroupRef) && (hGroup = GetHeadLink (&GLOBAL (ip_group_q)))) diff --git a/sc2/src/uqm/planets/generate/gendefault.c b/sc2/src/uqm/planets/generate/gendefault.c index af7d052d9..b145524a5 100644 --- a/sc2/src/uqm/planets/generate/gendefault.c +++ b/sc2/src/uqm/planets/generate/gendefault.c @@ -25,9 +25,9 @@ #include "libs/mathlib.h" -bool GenerateDefault_initNpcs (void); -bool GenerateDefault_reinitNpcs (void); -bool GenerateDefault_uninitNpcs (void); +bool GenerateDefault_initNpcs (SOLARSYS_STATE *solarSys); +bool GenerateDefault_reinitNpcs (SOLARSYS_STATE *solarSys); +bool GenerateDefault_uninitNpcs (SOLARSYS_STATE *solarSys); bool GenerateDefault_generatePlanets (SOLARSYS_STATE *solarSys); bool GenerateDefault_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet); @@ -61,18 +61,20 @@ const GenerateFunctions generateDefaultFunctions = { bool -GenerateDefault_initNpcs (void) +GenerateDefault_initNpcs (SOLARSYS_STATE *solarSys) { if (!GetGroupInfo (GLOBAL (BattleGroupRef), GROUP_INIT_IP)) { GLOBAL (BattleGroupRef) = 0; BuildGroups (); } + + (void) solarSys; return true; } bool -GenerateDefault_reinitNpcs (void) +GenerateDefault_reinitNpcs (SOLARSYS_STATE *solarSys) { GetGroupInfo (GROUPS_RANDOM, GROUP_LOAD_IP); // This is not a great place to do the Yehat rebellion check, but @@ -80,15 +82,19 @@ GenerateDefault_reinitNpcs (void) // the Homeworld), I could not find a better place for it. // At least it is better than where it was originally. check_yehat_rebellion (); + + (void) solarSys; return true; } bool -GenerateDefault_uninitNpcs (void) +GenerateDefault_uninitNpcs (SOLARSYS_STATE *solarSys) { PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP); ReinitQueue (&GLOBAL (npc_built_ship_q)); ReinitQueue (&GLOBAL (ip_group_q)); + + (void) solarSys; return true; } diff --git a/sc2/src/uqm/planets/generate/gendefault.h b/sc2/src/uqm/planets/generate/gendefault.h index ea2c3fa2a..8851b165e 100644 --- a/sc2/src/uqm/planets/generate/gendefault.h +++ b/sc2/src/uqm/planets/generate/gendefault.h @@ -21,9 +21,9 @@ #include "../planets.h" #include "libs/compiler.h" -bool GenerateDefault_initNpcs (void); -bool GenerateDefault_reinitNpcs (void); -bool GenerateDefault_uninitNpcs (void); +bool GenerateDefault_initNpcs (SOLARSYS_STATE *solarSys); +bool GenerateDefault_reinitNpcs (SOLARSYS_STATE *solarSys); +bool GenerateDefault_uninitNpcs (SOLARSYS_STATE *solarSys); bool GenerateDefault_generatePlanets (SOLARSYS_STATE *solarSys); bool GenerateDefault_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet); diff --git a/sc2/src/uqm/planets/generate/genmel.c b/sc2/src/uqm/planets/generate/genmel.c index e2a0b2e15..540dccb13 100644 --- a/sc2/src/uqm/planets/generate/genmel.c +++ b/sc2/src/uqm/planets/generate/genmel.c @@ -24,7 +24,7 @@ #include "libs/log.h" -static bool GenerateMelnorme_initNpcs (void); +static bool GenerateMelnorme_initNpcs (SOLARSYS_STATE *solarSys); static int SelectMelnormeRefVar (void); static DWORD GetMelnormeRef (void); @@ -46,7 +46,7 @@ const GenerateFunctions generateMelnormeFunctions = { static bool -GenerateMelnorme_initNpcs (void) +GenerateMelnorme_initNpcs (SOLARSYS_STATE *solarSys) { GLOBAL (BattleGroupRef) = GetMelnormeRef (); if (GLOBAL (BattleGroupRef) == 0) @@ -57,7 +57,7 @@ GenerateMelnorme_initNpcs (void) SetMelnormeRef (GLOBAL (BattleGroupRef)); } - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); return true; } diff --git a/sc2/src/uqm/planets/generate/gensam.c b/sc2/src/uqm/planets/generate/gensam.c index d8cb82b72..279fdf2cb 100644 --- a/sc2/src/uqm/planets/generate/gensam.c +++ b/sc2/src/uqm/planets/generate/gensam.c @@ -27,8 +27,8 @@ #include "libs/mathlib.h" -static bool GenerateSaMatra_initNpcs (void); -static bool GenerateSaMatra_reinitNpcs (void); +static bool GenerateSaMatra_initNpcs (SOLARSYS_STATE *solarSys); +static bool GenerateSaMatra_reinitNpcs (SOLARSYS_STATE *solarSys); static bool GenerateSaMatra_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateSaMatra_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet); @@ -53,7 +53,7 @@ const GenerateFunctions generateSaMatraFunctions = { static bool -GenerateSaMatra_initNpcs (void) +GenerateSaMatra_initNpcs (SOLARSYS_STATE *solarSys) { if (!GET_GAME_STATE (URQUAN_MESSED_UP)) { @@ -65,11 +65,12 @@ GenerateSaMatra_initNpcs (void) // wipe out the group } + (void) solarSys; return true; } static bool -GenerateSaMatra_reinitNpcs (void) +GenerateSaMatra_reinitNpcs (SOLARSYS_STATE *solarSys) { BOOLEAN GuardEngaged; HIPGROUP hGroup; @@ -113,7 +114,7 @@ GenerateSaMatra_reinitNpcs (void) COUNT angle; POINT org; - XFormIPLoc (&pSolarSysState->PlanetDesc[4].image.origin, &org, FALSE); + XFormIPLoc (&solarSys->PlanetDesc[4].image.origin, &org, FALSE); angle = ARCTAN (GLOBAL (ip_location.x) - org.x, GLOBAL (ip_location.y) - org.y); GLOBAL (ip_location.x) = org.x + COSINE (angle, 3000); diff --git a/sc2/src/uqm/planets/generate/genshof.c b/sc2/src/uqm/planets/generate/genshof.c index a9e3ced3c..abb33e005 100644 --- a/sc2/src/uqm/planets/generate/genshof.c +++ b/sc2/src/uqm/planets/generate/genshof.c @@ -24,9 +24,9 @@ #include "../planets.h" -static bool GenerateShofixti_initNpcs (void); -static bool GenerateShofixti_reinitNpcs (void); -static bool GenerateShofixti_uninitNpcs (void); +static bool GenerateShofixti_initNpcs (SOLARSYS_STATE *solarSys); +static bool GenerateShofixti_reinitNpcs (SOLARSYS_STATE *solarSys); +static bool GenerateShofixti_uninitNpcs (SOLARSYS_STATE *solarSys); static bool GenerateShofixti_generatePlanets (SOLARSYS_STATE *solarSys); static void check_old_shofixti (void); @@ -47,7 +47,7 @@ const GenerateFunctions generateShofixtiFunctions = { static bool -GenerateShofixti_initNpcs (void) +GenerateShofixti_initNpcs (SOLARSYS_STATE *solarSys) { if (!GET_GAME_STATE (SHOFIXTI_RECRUITED) && (!GET_GAME_STATE (SHOFIXTI_KIA) @@ -85,22 +85,24 @@ GenerateShofixti_initNpcs (void) // This was originally a fallthrough to REINIT_NPCS. // XXX: is the call to check_old_shofixti() needed? - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); check_old_shofixti (); return true; } static bool -GenerateShofixti_reinitNpcs (void) +GenerateShofixti_reinitNpcs (SOLARSYS_STATE *solarSys) { - GenerateDefault_reinitNpcs (); + GenerateDefault_reinitNpcs (solarSys); check_old_shofixti (); + + (void) solarSys; return true; } static bool -GenerateShofixti_uninitNpcs (void) +GenerateShofixti_uninitNpcs (SOLARSYS_STATE *solarSys) { if (GLOBAL (BattleGroupRef) && !GET_GAME_STATE (SHOFIXTI_RECRUITED) @@ -117,7 +119,7 @@ GenerateShofixti_uninitNpcs (void) } } - GenerateDefault_uninitNpcs (); + GenerateDefault_uninitNpcs (solarSys); return true; } diff --git a/sc2/src/uqm/planets/generate/gensol.c b/sc2/src/uqm/planets/generate/gensol.c index 22c106f1e..67b3321ae 100644 --- a/sc2/src/uqm/planets/generate/gensol.c +++ b/sc2/src/uqm/planets/generate/gensol.c @@ -30,8 +30,8 @@ #include "libs/mathlib.h" -static bool GenerateSol_initNpcs (void); -static bool GenerateSol_reinitNpcs (void); +static bool GenerateSol_initNpcs (SOLARSYS_STATE *solarSys); +static bool GenerateSol_reinitNpcs (SOLARSYS_STATE *solarSys); static bool GenerateSol_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateSol_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet); @@ -63,7 +63,7 @@ const GenerateFunctions generateSolFunctions = { static bool -GenerateSol_initNpcs (void) +GenerateSol_initNpcs (SOLARSYS_STATE *solarSys) { GLOBAL (BattleGroupRef) = GET_GAME_STATE_32 (URQUAN_PROBE_GRPOFFS0); if (GLOBAL (BattleGroupRef) == 0) @@ -75,17 +75,17 @@ GenerateSol_initNpcs (void) } if (!init_probe ()) - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); return true; } static bool -GenerateSol_reinitNpcs (void) +GenerateSol_reinitNpcs (SOLARSYS_STATE *solarSys) { if (GET_GAME_STATE (CHMMR_BOMB_STATE) != 3) { - GenerateDefault_reinitNpcs (); + GenerateDefault_reinitNpcs (solarSys); check_probe (); } else diff --git a/sc2/src/uqm/planets/generate/genutw.c b/sc2/src/uqm/planets/generate/genutw.c index 7d8ed1c11..7f2e76078 100644 --- a/sc2/src/uqm/planets/generate/genutw.c +++ b/sc2/src/uqm/planets/generate/genutw.c @@ -29,7 +29,7 @@ #include "libs/mathlib.h" -static bool GenerateUtwig_initNpcs (void); +static bool GenerateUtwig_initNpcs (SOLARSYS_STATE *solarSys); static bool GenerateUtwig_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateUtwig_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); @@ -52,7 +52,7 @@ const GenerateFunctions generateUtwigFunctions = { static bool -GenerateUtwig_initNpcs (void) +GenerateUtwig_initNpcs (SOLARSYS_STATE *solarSys) { if (CurStarDescPtr->Index == BOMB_DEFINED && !GET_GAME_STATE (UTWIG_BOMB)) @@ -62,7 +62,7 @@ GenerateUtwig_initNpcs (void) } else { - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); } return true; diff --git a/sc2/src/uqm/planets/generate/genzfpscout.c b/sc2/src/uqm/planets/generate/genzfpscout.c index 9b40730dc..f44a186e5 100644 --- a/sc2/src/uqm/planets/generate/genzfpscout.c +++ b/sc2/src/uqm/planets/generate/genzfpscout.c @@ -23,8 +23,8 @@ #include "../../state.h" -static bool GenerateZoqFotPikScout_initNpcs (void); -static bool GenerateZoqFotPikScout_reinitNpcs (void); +static bool GenerateZoqFotPikScout_initNpcs (SOLARSYS_STATE *solarSys); +static bool GenerateZoqFotPikScout_reinitNpcs (SOLARSYS_STATE *solarSys); const GenerateFunctions generateZoqFotPikScoutFunctions = { @@ -42,7 +42,7 @@ const GenerateFunctions generateZoqFotPikScoutFunctions = { static bool -GenerateZoqFotPikScout_initNpcs (void) +GenerateZoqFotPikScout_initNpcs (SOLARSYS_STATE *solarSys) { if (!GET_GAME_STATE (MET_ZOQFOT)) { @@ -57,18 +57,18 @@ GenerateZoqFotPikScout_initNpcs (void) } } - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); return true; } static bool -GenerateZoqFotPikScout_reinitNpcs (void) +GenerateZoqFotPikScout_reinitNpcs (SOLARSYS_STATE *solarSys) { HIPGROUP hGroup; IP_GROUP *GroupPtr; - GenerateDefault_reinitNpcs (); + GenerateDefault_reinitNpcs (solarSys); if (!GLOBAL (BattleGroupRef)) return true; // nothing to check diff --git a/sc2/src/uqm/planets/generate/genzoq.c b/sc2/src/uqm/planets/generate/genzoq.c index a621664d5..cbc48ca2f 100644 --- a/sc2/src/uqm/planets/generate/genzoq.c +++ b/sc2/src/uqm/planets/generate/genzoq.c @@ -26,7 +26,7 @@ #include "libs/mathlib.h" -static bool GenerateZoqFotPik_initNpcs (void); +static bool GenerateZoqFotPik_initNpcs (SOLARSYS_STATE *solarSys); static bool GenerateZoqFotPik_generatePlanets (SOLARSYS_STATE *solarSys); static bool GenerateZoqFotPik_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world); @@ -49,10 +49,10 @@ const GenerateFunctions generateZoqFotPikFunctions = { static bool -GenerateZoqFotPik_initNpcs (void) +GenerateZoqFotPik_initNpcs (SOLARSYS_STATE *solarSys) { if (GET_GAME_STATE (ZOQFOT_DISTRESS) != 1) - GenerateDefault_initNpcs (); + GenerateDefault_initNpcs (solarSys); return true; } diff --git a/sc2/src/uqm/planets/solarsys.c b/sc2/src/uqm/planets/solarsys.c index 583b4c928..17c60ecd9 100644 --- a/sc2/src/uqm/planets/solarsys.c +++ b/sc2/src/uqm/planets/solarsys.c @@ -1476,7 +1476,7 @@ InitSolarSys (void) if (Reentry) { - (*pSolarSysState->genFuncs->reinitNpcs) (); + (*pSolarSysState->genFuncs->reinitNpcs) (pSolarSysState); } else { @@ -1485,7 +1485,7 @@ InitSolarSys (void) GLOBAL (BattleGroupRef) = 0; ReinitQueue (&GLOBAL (ip_group_q)); ReinitQueue (&GLOBAL (npc_built_ship_q)); - (*pSolarSysState->genFuncs->initNpcs) (); + (*pSolarSysState->genFuncs->initNpcs) (pSolarSysState); } if (pSolarSysState->MenuState.Initialized == 0) @@ -1555,7 +1555,7 @@ endInterPlanetary (void) { // These are game state changing ops and so cannot be // called once another game has been loaded! - (*pSolarSysState->genFuncs->uninitNpcs) (); + (*pSolarSysState->genFuncs->uninitNpcs) (pSolarSysState); SET_GAME_STATE (USED_BROADCASTER, 0); } }