And now the shofixti are all C++!
This commit is contained in:
@@ -34,7 +34,6 @@ extern GenerateFunctions generateOrzFunctions;
|
|||||||
extern GenerateFunctions generatePkunkFunctions;
|
extern GenerateFunctions generatePkunkFunctions;
|
||||||
extern GenerateFunctions generateRainbowWorldFunctions;
|
extern GenerateFunctions generateRainbowWorldFunctions;
|
||||||
extern GenerateFunctions generateSaMatraFunctions;
|
extern GenerateFunctions generateSaMatraFunctions;
|
||||||
extern GenerateFunctions generateShofixtiFunctions;
|
|
||||||
extern GenerateFunctions generateSlylandroFunctions;
|
extern GenerateFunctions generateSlylandroFunctions;
|
||||||
extern GenerateFunctions generateSolFunctions;
|
extern GenerateFunctions generateSolFunctions;
|
||||||
extern GenerateFunctions generateSpathiFunctions;
|
extern GenerateFunctions generateSpathiFunctions;
|
||||||
@@ -63,7 +62,7 @@ getGenerateFunctions (STAR_DESC *const star, void **sup )
|
|||||||
case SOL_DEFINED:
|
case SOL_DEFINED:
|
||||||
return &generateSolFunctions;
|
return &generateSolFunctions;
|
||||||
case SHOFIXTI_DEFINED:
|
case SHOFIXTI_DEFINED:
|
||||||
return &generateShofixtiFunctions;
|
abort();
|
||||||
case START_COLONY_DEFINED:
|
case START_COLONY_DEFINED:
|
||||||
return &generateColonyFunctions;
|
return &generateColonyFunctions;
|
||||||
case SPATHI_DEFINED:
|
case SPATHI_DEFINED:
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include "planets/elemdata.h"
|
#include "planets/elemdata.h"
|
||||||
|
|
||||||
extern struct GeneratorBase slyDef;
|
extern struct GeneratorBase slyDef;
|
||||||
|
extern struct GeneratorBase shofDef;
|
||||||
|
|
||||||
// This array has to be sorted in Y coordinate order then X coordinate order.
|
// This array has to be sorted in Y coordinate order then X coordinate order.
|
||||||
// Items out of order can cause crashes (better, actually) or "ghost"
|
// Items out of order can cause crashes (better, actually) or "ghost"
|
||||||
@@ -550,7 +551,7 @@ STAR_DESC starmap_array[] =
|
|||||||
{{1752, 1450}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), SOL_DEFINED, 0, 129},
|
{{1752, 1450}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), SOL_DEFINED, 0, 129},
|
||||||
|
|
||||||
|
|
||||||
{{1848, 1469}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), SHOFIXTI_DEFINED, 4, 82},
|
{{1848, 1469}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), CXX_DEFINED, 4, 82, &shofDef},
|
||||||
|
|
||||||
{{1751, 1479}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), URQUAN_WRECK_DEFINED, 1, 59},
|
{{1751, 1479}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), URQUAN_WRECK_DEFINED, 1, 59},
|
||||||
{{1707, 1501}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 0, 52},
|
{{1707, 1501}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 0, 52},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
uqm_CFILES="gendefault.c genand.c genburv.c genchmmr.c gencol.c gendru.c
|
uqm_CFILES="gendefault.c genand.c genburv.c genchmmr.c gencol.c gendru.c
|
||||||
genilw.c genmel.c genmyc.c genorz.c genpet.c genpku.c genrain.c
|
genilw.c genmel.c genmyc.c genorz.c genpet.c genpku.c genrain.c
|
||||||
gensam.c genshof.c gensly.c gensol.c genspa.c gensup.c gensyr.c
|
gensam.c gensly.c gensol.c genspa.c gensup.c gensyr.c
|
||||||
genthrad.c gentrap.c genutw.c genvault.c genvux.c genwreck.c
|
genthrad.c gentrap.c genutw.c genvault.c genvux.c genwreck.c
|
||||||
genyeh.c genzfpscout.c genzoq.c"
|
genyeh.c genzfpscout.c genzoq.c"
|
||||||
uqm_HFILES="genall.h gendefault.h"
|
uqm_HFILES="genall.h gendefault.h"
|
||||||
|
|||||||
+31
-39
@@ -1,4 +1,5 @@
|
|||||||
//Copyright Paul Reiche, Fred Ford. 1992-2002
|
//Copyright Paul Reiche, Fred Ford. 1992-2002
|
||||||
|
// Adapted by ADAM David Alan Martin 2024
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -23,34 +24,31 @@
|
|||||||
#include "../../state.h"
|
#include "../../state.h"
|
||||||
#include "../planets.h"
|
#include "../planets.h"
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
using namespace Planets::exports;
|
||||||
|
|
||||||
static bool GenerateShofixti_initNpcs (SOLARSYS_STATE *solarSys);
|
class GenerateShofixti
|
||||||
static bool GenerateShofixti_reinitNpcs (SOLARSYS_STATE *solarSys);
|
: public DefaultGenerator
|
||||||
static bool GenerateShofixti_uninitNpcs (SOLARSYS_STATE *solarSys);
|
{
|
||||||
static bool GenerateShofixti_generatePlanets (SOLARSYS_STATE *solarSys);
|
void initNpcs( SolarSystem *const ) override;
|
||||||
|
void reinitNpcs( SolarSystem *const ) override;
|
||||||
|
void uninitNpcs( SolarSystem *const ) override;
|
||||||
|
|
||||||
static void check_old_shofixti (void);
|
bool generatePlanets( SolarSystem *const ) override;
|
||||||
|
|
||||||
|
static void check_old_shofixti ();
|
||||||
const GenerateFunctions generateShofixtiFunctions = {
|
|
||||||
/* .initNpcs = */ GenerateShofixti_initNpcs,
|
|
||||||
/* .reinitNpcs = */ GenerateShofixti_reinitNpcs,
|
|
||||||
/* .uninitNpcs = */ GenerateShofixti_uninitNpcs,
|
|
||||||
/* .generatePlanets = */ GenerateShofixti_generatePlanets,
|
|
||||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
|
||||||
/* .generateName = */ GenerateDefault_generateName,
|
|
||||||
/* .generateOrbital = */ GenerateDefault_generateOrbital,
|
|
||||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
|
||||||
/* .generateEnergy = */ GenerateDefault_generateEnergy,
|
|
||||||
/* .generateLife = */ GenerateDefault_generateLife,
|
|
||||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
|
||||||
/* .pickupEnergy = */ GenerateDefault_pickupEnergy,
|
|
||||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
GenerateShofixti shofDef;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool
|
void
|
||||||
GenerateShofixti_initNpcs (SOLARSYS_STATE *solarSys)
|
GenerateShofixti::initNpcs( SolarSystem *const solarSys )
|
||||||
{
|
{
|
||||||
if (!GET_GAME_STATE (SHOFIXTI_RECRUITED)
|
if (!GET_GAME_STATE (SHOFIXTI_RECRUITED)
|
||||||
&& (!GET_GAME_STATE (SHOFIXTI_KIA)
|
&& (!GET_GAME_STATE (SHOFIXTI_KIA)
|
||||||
@@ -88,24 +86,19 @@ GenerateShofixti_initNpcs (SOLARSYS_STATE *solarSys)
|
|||||||
|
|
||||||
// This was originally a fallthrough to REINIT_NPCS.
|
// This was originally a fallthrough to REINIT_NPCS.
|
||||||
// XXX: is the call to check_old_shofixti() needed?
|
// XXX: is the call to check_old_shofixti() needed?
|
||||||
GenerateDefault_initNpcs (solarSys);
|
DefaultGenerator::initNpcs (solarSys);
|
||||||
check_old_shofixti ();
|
check_old_shofixti ();
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
void
|
||||||
GenerateShofixti_reinitNpcs (SOLARSYS_STATE *solarSys)
|
GenerateShofixti::reinitNpcs( SolarSystem *const solarSys )
|
||||||
{
|
{
|
||||||
GenerateDefault_reinitNpcs (solarSys);
|
DefaultGenerator::reinitNpcs (solarSys);
|
||||||
check_old_shofixti ();
|
check_old_shofixti ();
|
||||||
|
|
||||||
(void) solarSys;
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
void
|
||||||
GenerateShofixti_uninitNpcs (SOLARSYS_STATE *solarSys)
|
GenerateShofixti::uninitNpcs( SolarSystem *const solarSys )
|
||||||
{
|
{
|
||||||
if (GLOBAL (BattleGroupRef)
|
if (GLOBAL (BattleGroupRef)
|
||||||
&& !GET_GAME_STATE (SHOFIXTI_RECRUITED)
|
&& !GET_GAME_STATE (SHOFIXTI_RECRUITED)
|
||||||
@@ -122,12 +115,11 @@ GenerateShofixti_uninitNpcs (SOLARSYS_STATE *solarSys)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateDefault_uninitNpcs (solarSys);
|
DefaultGenerator::uninitNpcs (solarSys);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
bool
|
||||||
GenerateShofixti_generatePlanets (SOLARSYS_STATE *solarSys)
|
GenerateShofixti::generatePlanets( SolarSystem *const solarSys )
|
||||||
{
|
{
|
||||||
#define SHOF_SUN_COORD_X ( (SWORD) 2908 )
|
#define SHOF_SUN_COORD_X ( (SWORD) 2908 )
|
||||||
#define SHOF_SUN_COORD_Y ( (SWORD) 269 )
|
#define SHOF_SUN_COORD_Y ( (SWORD) 269 )
|
||||||
@@ -162,8 +154,8 @@ GenerateShofixti_generatePlanets (SOLARSYS_STATE *solarSys)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
void
|
||||||
check_old_shofixti (void)
|
GenerateShofixti::check_old_shofixti (void)
|
||||||
{
|
{
|
||||||
HIPGROUP hGroup;
|
HIPGROUP hGroup;
|
||||||
IP_GROUP *GroupPtr;
|
IP_GROUP *GroupPtr;
|
||||||
Reference in New Issue
Block a user