Dynamic generation registry for Ur-Quan wreck planet.
This commit is contained in:
@@ -45,7 +45,6 @@ extern GenerateFunctions generateTrapFunctions;
|
|||||||
extern GenerateFunctions generateUtwigFunctions;
|
extern GenerateFunctions generateUtwigFunctions;
|
||||||
extern GenerateFunctions generateVaultFunctions;
|
extern GenerateFunctions generateVaultFunctions;
|
||||||
extern GenerateFunctions generateVuxFunctions;
|
extern GenerateFunctions generateVuxFunctions;
|
||||||
extern GenerateFunctions generateWreckFunctions;
|
|
||||||
extern GenerateFunctions generateYehatFunctions;
|
extern GenerateFunctions generateYehatFunctions;
|
||||||
extern GenerateFunctions generateZoqFotPikFunctions;
|
extern GenerateFunctions generateZoqFotPikFunctions;
|
||||||
extern GenerateFunctions generateZoqFotPikScoutFunctions;
|
extern GenerateFunctions generateZoqFotPikScoutFunctions;
|
||||||
@@ -61,6 +60,7 @@ getGenerateFunctions (STAR_DESC *const star)
|
|||||||
case SLYLANDRO_DEFINED:
|
case SLYLANDRO_DEFINED:
|
||||||
case START_COLONY_DEFINED:
|
case START_COLONY_DEFINED:
|
||||||
case CXX_DEFINED:
|
case CXX_DEFINED:
|
||||||
|
case URQUAN_WRECK_DEFINED:
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
|
|
||||||
@@ -109,8 +109,6 @@ getGenerateFunctions (STAR_DESC *const star)
|
|||||||
return &generateOrzFunctions;
|
return &generateOrzFunctions;
|
||||||
case SHIP_VAULT_DEFINED:
|
case SHIP_VAULT_DEFINED:
|
||||||
return &generateVaultFunctions;
|
return &generateVaultFunctions;
|
||||||
case URQUAN_WRECK_DEFINED:
|
|
||||||
return &generateWreckFunctions;
|
|
||||||
case MAIDENS_DEFINED:
|
case MAIDENS_DEFINED:
|
||||||
case VUX_BEAST_DEFINED:
|
case VUX_BEAST_DEFINED:
|
||||||
case VUX_DEFINED:
|
case VUX_DEFINED:
|
||||||
|
|||||||
@@ -550,7 +550,7 @@ STAR_DESC starmap_array[] =
|
|||||||
|
|
||||||
{{1848, 1469}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), 0, 4, 82, "Shofixti"},
|
{{1848, 1469}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), 0, 4, 82, "Shofixti"},
|
||||||
|
|
||||||
{{1751, 1479}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), URQUAN_WRECK_DEFINED, 1, 59},
|
{{1751, 1479}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), 0, 1, 59, "Wreck"},
|
||||||
{{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,8 +1,8 @@
|
|||||||
uqm_CFILES="gendefault.c genand.c genburv.c genchmmr.c gendru.c
|
uqm_CFILES="gendefault.c genand.c genburv.c genchmmr.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 gensol.c genspa.c gensup.c gensyr.c
|
gensam.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
|
||||||
genyeh.c genzfpscout.c genzoq.c"
|
genyeh.c genzfpscout.c genzoq.c"
|
||||||
uqm_HFILES="genall.h gendefault.h"
|
uqm_HFILES="genall.h gendefault.h"
|
||||||
uqm_CXXFILES="cxx-generator.cpp gensly-modern.cpp genshof-modern.cpp
|
uqm_CXXFILES="cxx-generator.cpp gensly-modern.cpp genshof-modern.cpp
|
||||||
gencol-modern.cpp"
|
gencol-modern.cpp genwreck-modern.cpp"
|
||||||
|
|||||||
+30
-31
@@ -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
|
||||||
@@ -25,35 +26,33 @@
|
|||||||
#include "libs/mathlib.h"
|
#include "libs/mathlib.h"
|
||||||
|
|
||||||
|
|
||||||
static bool GenerateWreck_generateOrbital (SOLARSYS_STATE *solarSys,
|
namespace
|
||||||
PLANET_DESC *world);
|
{
|
||||||
static COUNT GenerateWreck_generateEnergy (const SOLARSYS_STATE *,
|
using namespace Planets::exports;
|
||||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
|
|
||||||
static bool GenerateWreck_pickupEnergy (SOLARSYS_STATE *solarSys,
|
|
||||||
PLANET_DESC *world, COUNT whichNode);
|
|
||||||
|
|
||||||
#define CRASH_PLANET 6
|
class GenerateWreck
|
||||||
|
: public DefaultGenerator
|
||||||
|
{
|
||||||
|
static constexpr int CRASH_PLANET= 6;
|
||||||
|
|
||||||
|
bool generateOrbital( SolarSystem *solarSys,
|
||||||
const GenerateFunctions generateWreckFunctions = {
|
PLANET_DESC *world ) override;
|
||||||
/* .initNpcs = */ GenerateDefault_initNpcs,
|
COUNT generateEnergy( const SolarSystem *,
|
||||||
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
|
const PLANET_DESC *world, COUNT whichNode, NODE_INFO * ) override;
|
||||||
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
|
bool pickupEnergy( SolarSystem *solarSys,
|
||||||
/* .generatePlanets = */ GenerateDefault_generatePlanets,
|
PLANET_DESC *world, COUNT whichNode ) override;
|
||||||
/* .generateMoons = */ GenerateDefault_generateMoons,
|
|
||||||
/* .generateName = */ GenerateDefault_generateName,
|
|
||||||
/* .generateOrbital = */ GenerateWreck_generateOrbital,
|
|
||||||
/* .generateMinerals = */ GenerateDefault_generateMinerals,
|
|
||||||
/* .generateEnergy = */ GenerateWreck_generateEnergy,
|
|
||||||
/* .generateLife = */ GenerateDefault_generateLife,
|
|
||||||
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
|
|
||||||
/* .pickupEnergy = */ GenerateWreck_pickupEnergy,
|
|
||||||
/* .pickupLife = */ GenerateDefault_pickupLife,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto init= []
|
||||||
|
{
|
||||||
|
Generator::add( "Wreck", std::make_unique< GenerateWreck >() );
|
||||||
|
|
||||||
static bool
|
return 0xDEADBEEF;
|
||||||
GenerateWreck_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
}();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
GenerateWreck::generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
||||||
{
|
{
|
||||||
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
||||||
{
|
{
|
||||||
@@ -70,13 +69,13 @@ GenerateWreck_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateDefault_generateOrbital (solarSys, world);
|
DefaultGenerator::generateOrbital (solarSys, world);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static COUNT
|
COUNT
|
||||||
GenerateWreck_generateEnergy (const SOLARSYS_STATE *solarSys,
|
GenerateWreck::generateEnergy( const SolarSystem *const solarSys,
|
||||||
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
|
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
|
||||||
{
|
{
|
||||||
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
||||||
{
|
{
|
||||||
@@ -86,9 +85,9 @@ GenerateWreck_generateEnergy (const SOLARSYS_STATE *solarSys,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
bool
|
||||||
GenerateWreck_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
|
GenerateWreck::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
|
||||||
COUNT whichNode)
|
const COUNT whichNode )
|
||||||
{
|
{
|
||||||
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
if (matchWorld (solarSys, world, CRASH_PLANET, MATCH_PLANET))
|
||||||
{
|
{
|
||||||
Reference in New Issue
Block a user