Another 5 custom generators made C++ish.
This commit is contained in:
+5
-16
@@ -28,17 +28,12 @@ extern GenerateFunctions generateIlwrathFunctions;
|
||||
extern GenerateFunctions generateMelnormeFunctions;
|
||||
extern GenerateFunctions generateMyconFunctions;
|
||||
extern GenerateFunctions generateOrzFunctions;
|
||||
extern GenerateFunctions generatePkunkFunctions;
|
||||
extern GenerateFunctions generateRainbowWorldFunctions;
|
||||
extern GenerateFunctions generateSaMatraFunctions;
|
||||
extern GenerateFunctions generateSolFunctions;
|
||||
extern GenerateFunctions generateSpathiFunctions;
|
||||
extern GenerateFunctions generateTalkingPetFunctions;
|
||||
extern GenerateFunctions generateThraddashFunctions;
|
||||
extern GenerateFunctions generateUtwigFunctions;
|
||||
extern GenerateFunctions generateVuxFunctions;
|
||||
extern GenerateFunctions generateYehatFunctions;
|
||||
extern GenerateFunctions generateZoqFotPikFunctions;
|
||||
|
||||
|
||||
const GenerateFunctions *
|
||||
@@ -47,11 +42,15 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
switch (star->Index)
|
||||
{
|
||||
// Legacy ones are disabled...
|
||||
case SPATHI_DEFINED:
|
||||
case TALKING_PET_DEFINED:
|
||||
case ZOQFOT_DEFINED:
|
||||
case YEHAT_DEFINED:
|
||||
case PKUNK_DEFINED:
|
||||
case CHMMR_DEFINED:
|
||||
case DRUUGE_DEFINED:
|
||||
case MYCON_TRAP_DEFINED:
|
||||
case SUPOX_DEFINED:
|
||||
|
||||
case SHIP_VAULT_DEFINED:
|
||||
case ANDROSYNTH_DEFINED:
|
||||
case BURVIXESE_DEFINED:
|
||||
@@ -67,8 +66,6 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
|
||||
case SOL_DEFINED:
|
||||
return &generateSolFunctions;
|
||||
case SPATHI_DEFINED:
|
||||
return &generateSpathiFunctions;
|
||||
case MELNORME0_DEFINED:
|
||||
case MELNORME1_DEFINED:
|
||||
case MELNORME2_DEFINED:
|
||||
@@ -79,8 +76,6 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
case MELNORME7_DEFINED:
|
||||
case MELNORME8_DEFINED:
|
||||
return &generateMelnormeFunctions;
|
||||
case TALKING_PET_DEFINED:
|
||||
return &generateTalkingPetFunctions;
|
||||
case BOMB_DEFINED:
|
||||
case UTWIG_DEFINED:
|
||||
return &generateUtwigFunctions;
|
||||
@@ -102,12 +97,6 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
return &generateVuxFunctions;
|
||||
case SAMATRA_DEFINED:
|
||||
return &generateSaMatraFunctions;
|
||||
case ZOQFOT_DEFINED:
|
||||
return &generateZoqFotPikFunctions;
|
||||
case YEHAT_DEFINED:
|
||||
return &generateYehatFunctions;
|
||||
case PKUNK_DEFINED:
|
||||
return &generatePkunkFunctions;
|
||||
case RAINBOW_DEFINED:
|
||||
return &generateRainbowWorldFunctions;
|
||||
case ILWRATH_DEFINED:
|
||||
|
||||
@@ -538,6 +538,8 @@ STAR_DESC starmap_array[] =
|
||||
#endif
|
||||
|
||||
//{{2908, 269}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), SHOFIXTI_DEFINED, 4, 82},
|
||||
{{4923, 294}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), 0, 3, 74, "Yehat"},
|
||||
{{ 522, 525}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), 0, 3, 92, "Pkunk"},
|
||||
{{6858, 577}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 0, 123, "Mycon Trap"},
|
||||
{{1004, 1083}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 2, 27, "Slylandro"},
|
||||
{{1776, 1395}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), 0, 0, 98, "Colony"},
|
||||
@@ -561,9 +563,12 @@ STAR_DESC starmap_array[] =
|
||||
|
||||
{{3587, 2566}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 7, 86, "Androsynth"},
|
||||
{{9469, 2806}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 6, 61, "Druuge"},
|
||||
{{2416, 3687}, MAKE_STAR (GIANT_STAR, ORANGE_BODY, -1), 0, 5, 109, "Spathiwa"},
|
||||
{{4125, 3770}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), 0, 0, 114, "Syreen Gaia"},
|
||||
{{5937, 3937}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 5, 10, "Syreen Vault"},
|
||||
{{4000, 5437}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 1, 18, "Zoq-Fot-Pik"},
|
||||
{{9645, 5791}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 0, 130, "Burvixese"},
|
||||
{{1978, 5968}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 2, 54, "Umgah and Talking Pet"},
|
||||
|
||||
{{7414, 9124}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 2, 47, "Supox"},
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
uqm_CFILES="gendefault.c
|
||||
genilw.c genmel.c genmyc.c genorz.c genpet.c genpku.c genrain.c
|
||||
gensam.c gensol.c genspa.c
|
||||
genthrad.c genutw.c genvux.c
|
||||
genyeh.c genzoq.c"
|
||||
genilw.c genmel.c genmyc.c genorz.c genrain.c
|
||||
gensam.c gensol.c
|
||||
genthrad.c genutw.c genvux.c"
|
||||
uqm_HFILES="genall.h gendefault.h"
|
||||
uqm_CXXFILES="cxx-generator.cpp gensly-modern.cpp genshof-modern.cpp
|
||||
gencol-modern.cpp genwreck-modern.cpp genzfpscout-modern.cpp
|
||||
genand-modern.cpp genburv-modern.cpp gensyr-modern.cpp
|
||||
genvault-modern.cpp genchmmr-modern.cpp gendru-modern.cpp
|
||||
gentrap-modern.cpp gensup-modern.cpp"
|
||||
gentrap-modern.cpp gensup-modern.cpp genspa-modern.cpp
|
||||
genpet-modern.cpp genzoq-modern.cpp genyeh-modern.cpp
|
||||
genpku-modern.cpp"
|
||||
|
||||
+37
-38
@@ -30,40 +30,39 @@
|
||||
#include "libs/mathlib.h"
|
||||
|
||||
|
||||
static bool GenerateTalkingPet_generatePlanets (SOLARSYS_STATE *solarSys);
|
||||
static bool GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world);
|
||||
static COUNT GenerateTalkingPet_generateEnergy (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static bool GenerateTalkingPet_pickupEnergy (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
namespace
|
||||
{
|
||||
using namespace Planets::exports;
|
||||
|
||||
static void ZapToUrquanEncounter (void);
|
||||
class GenerateTalkingPet
|
||||
: public DefaultGenerator
|
||||
{
|
||||
bool generatePlanets( SolarSystem *solarSys ) override;
|
||||
bool generateOrbital( SolarSystem *solarSys,
|
||||
PLANET_DESC *world ) override;
|
||||
COUNT generateEnergy( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
bool pickupEnergy( SolarSystem *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
|
||||
|
||||
const GenerateFunctions generateTalkingPetFunctions = {
|
||||
/* .initNpcs = */ GenerateDefault_initNpcs,
|
||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
||||
/* .generatePlanets = */ GenerateTalkingPet_generatePlanets,
|
||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
||||
/* .generateName = */ GenerateDefault_generateName,
|
||||
/* .generateOrbital = */ GenerateTalkingPet_generateOrbital,
|
||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
||||
/* .generateEnergy = */ GenerateTalkingPet_generateEnergy,
|
||||
/* .generateLife = */ GenerateDefault_generateLife,
|
||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
||||
/* .pickupEnergy = */ GenerateTalkingPet_pickupEnergy,
|
||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
||||
static void ZapToUrquanEncounter();
|
||||
};
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Umgah and Talking Pet", std::make_unique< GenerateTalkingPet >() );
|
||||
|
||||
static bool
|
||||
GenerateTalkingPet_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
GenerateTalkingPet::generatePlanets( SolarSystem *const solarSys )
|
||||
{
|
||||
COUNT angle;
|
||||
|
||||
GenerateDefault_generatePlanets (solarSys);
|
||||
DefaultGenerator::generatePlanets (solarSys);
|
||||
|
||||
solarSys->PlanetDesc[0].data_index = TELLURIC_WORLD;
|
||||
solarSys->PlanetDesc[0].radius = EARTH_RADIUS * 204L / 100;
|
||||
@@ -77,8 +76,8 @@ GenerateTalkingPet_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
bool
|
||||
GenerateTalkingPet::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET)
|
||||
&& (GET_GAME_STATE (UMGAH_ZOMBIE_BLOBBIES)
|
||||
@@ -118,7 +117,7 @@ GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world
|
||||
BOOLEAN UmgahSurvivors;
|
||||
|
||||
UmgahSurvivors = GetHeadLink (
|
||||
&GLOBAL (npc_built_ship_q)) != 0;
|
||||
&GLOBAL (npc_built_ship_q)) != 0 ? TRUE : FALSE;
|
||||
GLOBAL (CurrentActivity) &= ~START_INTERPLANETARY;
|
||||
|
||||
if (GET_GAME_STATE (PLAYER_HYPNOTIZED))
|
||||
@@ -152,7 +151,7 @@ GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world
|
||||
CaptureStringTable (LoadStringTable (RUINS_STRTAB));
|
||||
}
|
||||
|
||||
GenerateDefault_generateOrbital (solarSys, world);
|
||||
DefaultGenerator::generateOrbital (solarSys, world);
|
||||
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
solarSys->SysInfo.PlanetInfo.Weather = 0;
|
||||
@@ -160,9 +159,9 @@ GenerateTalkingPet_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world
|
||||
return true;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GenerateTalkingPet_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GenerateTalkingPet::generateEnergy( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -172,9 +171,9 @@ GenerateTalkingPet_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateTalkingPet_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GenerateTalkingPet::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -187,8 +186,8 @@ GenerateTalkingPet_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
return false;
|
||||
}
|
||||
|
||||
static void
|
||||
ZapToUrquanEncounter (void)
|
||||
void
|
||||
GenerateTalkingPet::ZapToUrquanEncounter()
|
||||
{
|
||||
HENCOUNTER hEncounter;
|
||||
|
||||
+33
-34
@@ -28,38 +28,37 @@
|
||||
#include "libs/mathlib.h"
|
||||
|
||||
|
||||
static bool GeneratePkunk_generatePlanets (SOLARSYS_STATE *solarSys);
|
||||
static bool GeneratePkunk_generateOrbital (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world);
|
||||
static COUNT GeneratePkunk_generateEnergy (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static bool GeneratePkunk_pickupEnergy (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
namespace
|
||||
{
|
||||
using namespace Planets::exports;
|
||||
|
||||
|
||||
const GenerateFunctions generatePkunkFunctions = {
|
||||
/* .initNpcs = */ GenerateDefault_initNpcs,
|
||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
||||
/* .generatePlanets = */ GeneratePkunk_generatePlanets,
|
||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
||||
/* .generateName = */ GenerateDefault_generateName,
|
||||
/* .generateOrbital = */ GeneratePkunk_generateOrbital,
|
||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
||||
/* .generateEnergy = */ GeneratePkunk_generateEnergy,
|
||||
/* .generateLife = */ GenerateDefault_generateLife,
|
||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
||||
/* .pickupEnergy = */ GeneratePkunk_pickupEnergy,
|
||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
||||
class GeneratePkunk
|
||||
: public DefaultGenerator
|
||||
{
|
||||
bool generatePlanets( SolarSystem *solarSys ) override;
|
||||
bool generateOrbital( SolarSystem *solarSys,
|
||||
PLANET_DESC *world ) override;
|
||||
COUNT generateEnergy( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
bool pickupEnergy( SolarSystem *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
};
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Pkunk", std::make_unique< GeneratePkunk >() );
|
||||
|
||||
static bool
|
||||
GeneratePkunk_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
GeneratePkunk::generatePlanets( SolarSystem *const solarSys )
|
||||
{
|
||||
COUNT angle;
|
||||
|
||||
GenerateDefault_generatePlanets (solarSys);
|
||||
DefaultGenerator::generatePlanets (solarSys);
|
||||
|
||||
solarSys->PlanetDesc[0].data_index = WATER_WORLD;
|
||||
solarSys->PlanetDesc[0].NumPlanets = 1;
|
||||
@@ -74,8 +73,8 @@ GeneratePkunk_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GeneratePkunk_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
bool
|
||||
GeneratePkunk::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -117,13 +116,13 @@ GeneratePkunk_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
}
|
||||
}
|
||||
|
||||
GenerateDefault_generateOrbital (solarSys, world);
|
||||
DefaultGenerator::generateOrbital (solarSys, world);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GeneratePkunk_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GeneratePkunk::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -145,9 +144,9 @@ GeneratePkunk_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
return false;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GeneratePkunk_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GeneratePkunk::generateEnergy( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info)
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
+48
-49
@@ -30,40 +30,39 @@
|
||||
#include "libs/mathlib.h"
|
||||
|
||||
|
||||
static bool GenerateSpathi_generatePlanets (SOLARSYS_STATE *solarSys);
|
||||
static bool GenerateSpathi_generateMoons (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *planet);
|
||||
static bool GenerateSpathi_generateOrbital (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world);
|
||||
static COUNT GenerateSpathi_generateEnergy (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static COUNT GenerateSpathi_generateLife (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static bool GenerateSpathi_pickupEnergy (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
static bool GenerateSpathi_pickupLife (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
namespace
|
||||
{
|
||||
using namespace Planets::exports;
|
||||
|
||||
|
||||
const GenerateFunctions generateSpathiFunctions = {
|
||||
/* .initNpcs = */ GenerateDefault_initNpcs,
|
||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
||||
/* .generatePlanets = */ GenerateSpathi_generatePlanets,
|
||||
/* .generateMoons = */ GenerateSpathi_generateMoons,
|
||||
/* .generateName = */ GenerateDefault_generateName,
|
||||
/* .generateOrbital = */ GenerateSpathi_generateOrbital,
|
||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
||||
/* .generateEnergy = */ GenerateSpathi_generateEnergy,
|
||||
/* .generateLife = */ GenerateSpathi_generateLife,
|
||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
||||
/* .pickupEnergy = */ GenerateSpathi_pickupEnergy,
|
||||
/* .pickupLife = */ GenerateSpathi_pickupLife,
|
||||
class GenerateSpathi
|
||||
: public DefaultGenerator
|
||||
{
|
||||
bool generatePlanets( SolarSystem *solarSys ) override;
|
||||
bool generateMoons( SolarSystem *solarSys,
|
||||
PLANET_DESC *planet ) override;
|
||||
bool generateOrbital( SolarSystem *solarSys,
|
||||
PLANET_DESC * world) override;
|
||||
COUNT generateEnergy( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
COUNT generateLife( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
bool pickupEnergy( SolarSystem *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
bool pickupLife( SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
};
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Spathiwa", std::make_unique< GenerateSpathi >() );
|
||||
|
||||
static bool
|
||||
GenerateSpathi_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
GenerateSpathi::generatePlanets( SolarSystem *const solarSys )
|
||||
{
|
||||
PLANET_DESC *pMinPlanet;
|
||||
COUNT angle;
|
||||
@@ -85,12 +84,12 @@ GenerateSpathi_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateSpathi_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
|
||||
bool
|
||||
GenerateSpathi::generateMoons( SolarSystem *const solarSys, PLANET_DESC *const planet )
|
||||
{
|
||||
COUNT angle;
|
||||
|
||||
GenerateDefault_generateMoons (solarSys, planet);
|
||||
DefaultGenerator::generateMoons (solarSys, planet);
|
||||
|
||||
if (matchWorld (solarSys, planet, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -112,8 +111,8 @@ GenerateSpathi_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateSpathi_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
bool
|
||||
GenerateSpathi::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
|
||||
{
|
||||
DWORD rand_val;
|
||||
|
||||
@@ -201,14 +200,14 @@ GenerateSpathi_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
return true;
|
||||
}
|
||||
|
||||
GenerateDefault_generateOrbital (solarSys, world);
|
||||
DefaultGenerator::generateOrbital (solarSys, world);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GenerateSpathi_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GenerateSpathi::generateEnergy( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, 0))
|
||||
{
|
||||
@@ -225,9 +224,9 @@ GenerateSpathi_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateSpathi_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GenerateSpathi::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, 0))
|
||||
{
|
||||
@@ -246,9 +245,9 @@ GenerateSpathi_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
return false;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GenerateSpathi_generateLife (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GenerateSpathi::generateLife( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -260,9 +259,9 @@ GenerateSpathi_generateLife (const SOLARSYS_STATE *solarSys,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateSpathi_pickupLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GenerateSpathi::pickupLife( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -279,5 +278,5 @@ GenerateSpathi_pickupLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
return true; // picked up
|
||||
}
|
||||
|
||||
return GenerateDefault_pickupLife (solarSys, world, whichNode);
|
||||
return DefaultGenerator::pickupLife (solarSys, world, whichNode);
|
||||
}
|
||||
+33
-34
@@ -27,38 +27,37 @@
|
||||
#include "libs/mathlib.h"
|
||||
|
||||
|
||||
static bool GenerateYehat_generatePlanets (SOLARSYS_STATE *solarSys);
|
||||
static bool GenerateYehat_generateOrbital (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world);
|
||||
static COUNT GenerateYehat_generateEnergy (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static bool GenerateYehat_pickupEnergy (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
namespace
|
||||
{
|
||||
using namespace Planets::exports;
|
||||
|
||||
|
||||
const GenerateFunctions generateYehatFunctions = {
|
||||
/* .initNpcs = */ GenerateDefault_initNpcs,
|
||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
||||
/* .generatePlanets = */ GenerateYehat_generatePlanets,
|
||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
||||
/* .generateName = */ GenerateDefault_generateName,
|
||||
/* .generateOrbital = */ GenerateYehat_generateOrbital,
|
||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
||||
/* .generateEnergy = */ GenerateYehat_generateEnergy,
|
||||
/* .generateLife = */ GenerateDefault_generateLife,
|
||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
||||
/* .pickupEnergy = */ GenerateYehat_pickupEnergy,
|
||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
||||
class GenerateYehat
|
||||
: public DefaultGenerator
|
||||
{
|
||||
bool generatePlanets( SolarSystem *solarSys ) override;
|
||||
bool generateOrbital( SolarSystem *solarSys,
|
||||
PLANET_DESC *world ) override;
|
||||
COUNT generateEnergy( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
bool pickupEnergy( SolarSystem *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
};
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Yehat", std::make_unique< GenerateYehat >() );
|
||||
|
||||
static bool
|
||||
GenerateYehat_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
GenerateYehat::generatePlanets( SolarSystem *const solarSys )
|
||||
{
|
||||
COUNT angle;
|
||||
|
||||
GenerateDefault_generatePlanets (solarSys);
|
||||
DefaultGenerator::generatePlanets (solarSys);
|
||||
solarSys->PlanetDesc[0].data_index = WATER_WORLD;
|
||||
solarSys->PlanetDesc[0].NumPlanets = 1;
|
||||
solarSys->PlanetDesc[0].radius = EARTH_RADIUS * 106L / 100;
|
||||
@@ -72,8 +71,8 @@ GenerateYehat_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateYehat_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
bool
|
||||
GenerateYehat::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -108,13 +107,13 @@ GenerateYehat_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
CaptureStringTable (LoadStringTable (RUINS_STRTAB));
|
||||
}
|
||||
|
||||
GenerateDefault_generateOrbital (solarSys, world);
|
||||
DefaultGenerator::generateOrbital( solarSys, world );
|
||||
return true;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GenerateYehat_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GenerateYehat::generateEnergy( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info)
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -124,9 +123,9 @@ GenerateYehat_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateYehat_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GenerateYehat::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
+38
-41
@@ -26,48 +26,45 @@
|
||||
#include "libs/mathlib.h"
|
||||
|
||||
|
||||
static bool GenerateZoqFotPik_initNpcs (SOLARSYS_STATE *solarSys);
|
||||
static bool GenerateZoqFotPik_generatePlanets (SOLARSYS_STATE *solarSys);
|
||||
static bool GenerateZoqFotPik_generateOrbital (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world);
|
||||
static COUNT GenerateZoqFotPik_generateEnergy (const SOLARSYS_STATE *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
||||
static bool GenerateZoqFotPik_pickupEnergy (SOLARSYS_STATE *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode);
|
||||
namespace
|
||||
{
|
||||
using namespace Planets::exports;
|
||||
|
||||
|
||||
const GenerateFunctions generateZoqFotPikFunctions = {
|
||||
/* .initNpcs = */ GenerateZoqFotPik_initNpcs,
|
||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
||||
/* .generatePlanets = */ GenerateZoqFotPik_generatePlanets,
|
||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
||||
/* .generateName = */ GenerateDefault_generateName,
|
||||
/* .generateOrbital = */ GenerateZoqFotPik_generateOrbital,
|
||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
||||
/* .generateEnergy = */ GenerateZoqFotPik_generateEnergy,
|
||||
/* .generateLife = */ GenerateDefault_generateLife,
|
||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
||||
/* .pickupEnergy = */ GenerateZoqFotPik_pickupEnergy,
|
||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
||||
class GenerateZoqFotPik
|
||||
: public DefaultGenerator
|
||||
{
|
||||
void initNpcs( SolarSystem *solarSys ) override;
|
||||
bool generatePlanets( SolarSystem *solarSys ) override;
|
||||
bool generateOrbital( SolarSystem *solarSys,
|
||||
PLANET_DESC *world ) override;
|
||||
COUNT generateEnergy( const SolarSystem *,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||
bool pickupEnergy( SolarSystem *solarSys,
|
||||
PLANET_DESC *world, COUNT whichNode ) override;
|
||||
};
|
||||
|
||||
|
||||
static bool
|
||||
GenerateZoqFotPik_initNpcs (SOLARSYS_STATE *solarSys)
|
||||
auto init= []
|
||||
{
|
||||
if (GET_GAME_STATE (ZOQFOT_DISTRESS) != 1)
|
||||
GenerateDefault_initNpcs (solarSys);
|
||||
Generator::add( "Zoq-Fot-Pik", std::make_unique< GenerateZoqFotPik >() );
|
||||
|
||||
return true;
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateZoqFotPik_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
|
||||
void
|
||||
GenerateZoqFotPik::initNpcs( SolarSystem *const solarSys )
|
||||
{
|
||||
if (GET_GAME_STATE (ZOQFOT_DISTRESS) != 1)
|
||||
DefaultGenerator::initNpcs (solarSys);
|
||||
}
|
||||
|
||||
bool
|
||||
GenerateZoqFotPik::generatePlanets( SolarSystem *const solarSys )
|
||||
{
|
||||
COUNT angle;
|
||||
|
||||
GenerateDefault_generatePlanets (solarSys);
|
||||
DefaultGenerator::generatePlanets (solarSys);
|
||||
|
||||
solarSys->PlanetDesc[0].data_index = REDUX_WORLD;
|
||||
solarSys->PlanetDesc[0].NumPlanets = 1;
|
||||
@@ -82,8 +79,8 @@ GenerateZoqFotPik_generatePlanets (SOLARSYS_STATE *solarSys)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateZoqFotPik_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
bool
|
||||
GenerateZoqFotPik::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -138,13 +135,13 @@ GenerateZoqFotPik_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||
CaptureStringTable (LoadStringTable (RUINS_STRTAB));
|
||||
}
|
||||
|
||||
GenerateDefault_generateOrbital (solarSys, world);
|
||||
DefaultGenerator::generateOrbital (solarSys, world);
|
||||
return true;
|
||||
}
|
||||
|
||||
static COUNT
|
||||
GenerateZoqFotPik_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
||||
COUNT
|
||||
GenerateZoqFotPik::generateEnergy( const SolarSystem *const solarSys,
|
||||
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
@@ -154,9 +151,9 @@ GenerateZoqFotPik_generateEnergy (const SOLARSYS_STATE *solarSys,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool
|
||||
GenerateZoqFotPik_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
||||
COUNT whichNode)
|
||||
bool
|
||||
GenerateZoqFotPik::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||
const COUNT whichNode)
|
||||
{
|
||||
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
|
||||
{
|
||||
Reference in New Issue
Block a user