Androsynth, Burvixese, Syreen, and the Vault are now dynamic.

Moving towards completion here.
This commit is contained in:
2024-04-26 17:49:00 -04:00
parent 70b21f5e5b
commit ad80c08c64
8 changed files with 151 additions and 154 deletions
+4 -12
View File
@@ -24,8 +24,6 @@
extern GenerateFunctions generateDefaultFunctions;
extern GenerateFunctions generateAndrosynthFunctions;
extern GenerateFunctions generateBurvixeseFunctions;
extern GenerateFunctions generateChmmrFunctions;
extern GenerateFunctions generateDruugeFunctions;
extern GenerateFunctions generateIlwrathFunctions;
@@ -38,12 +36,10 @@ extern GenerateFunctions generateSaMatraFunctions;
extern GenerateFunctions generateSolFunctions;
extern GenerateFunctions generateSpathiFunctions;
extern GenerateFunctions generateSupoxFunctions;
extern GenerateFunctions generateSyreenFunctions;
extern GenerateFunctions generateTalkingPetFunctions;
extern GenerateFunctions generateThraddashFunctions;
extern GenerateFunctions generateTrapFunctions;
extern GenerateFunctions generateUtwigFunctions;
extern GenerateFunctions generateVaultFunctions;
extern GenerateFunctions generateVuxFunctions;
extern GenerateFunctions generateYehatFunctions;
extern GenerateFunctions generateZoqFotPikFunctions;
@@ -55,6 +51,10 @@ getGenerateFunctions (STAR_DESC *const star)
switch (star->Index)
{
// Legacy ones are disabled...
case SHIP_VAULT_DEFINED:
case ANDROSYNTH_DEFINED:
case BURVIXESE_DEFINED:
case SYREEN_DEFINED:
case ZOQ_SCOUT_DEFINED:
case SHOFIXTI_DEFINED:
case SLYLANDRO_DEFINED:
@@ -82,12 +82,8 @@ getGenerateFunctions (STAR_DESC *const star)
return &generateTalkingPetFunctions;
case CHMMR_DEFINED:
return &generateChmmrFunctions;
case SYREEN_DEFINED:
return &generateSyreenFunctions;
case MYCON_TRAP_DEFINED:
return &generateTrapFunctions;
case BURVIXESE_DEFINED:
return &generateBurvixeseFunctions;
case DRUUGE_DEFINED:
return &generateDruugeFunctions;
case BOMB_DEFINED:
@@ -102,13 +98,9 @@ getGenerateFunctions (STAR_DESC *const star)
case EGG_CASE1_DEFINED:
case EGG_CASE2_DEFINED:
return &generateMyconFunctions;
case ANDROSYNTH_DEFINED:
return &generateAndrosynthFunctions;
case TAALO_PROTECTOR_DEFINED:
case ORZ_DEFINED:
return &generateOrzFunctions;
case SHIP_VAULT_DEFINED:
return &generateVaultFunctions;
case MAIDENS_DEFINED:
case VUX_BEAST_DEFINED:
case VUX_DEFINED:
+5
View File
@@ -545,6 +545,7 @@ STAR_DESC starmap_array[] =
// ADAM ADDED
{{1703, 1432}, MAKE_STAR (GIANT_STAR, GREEN_BODY, -1), 0, 0, 171},
{{1752, 1450}, MAKE_STAR (DWARF_STAR, YELLOW_BODY, -1), SOL_DEFINED, 0, 129},
@@ -554,6 +555,10 @@ STAR_DESC starmap_array[] =
{{1707, 1501}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 0, 52},
{{2104, 2083}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 0, 118, "Zoq-Fot-Pik Scout"},
{{3587, 2566}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 7, 86, "Androsynth"},
{{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"},
{{9645, 5791}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 0, 130, "Burvixese"},
{{MAX_X_UNIVERSE << 1, MAX_Y_UNIVERSE << 1}, 0, 0, 0, 0},
+2
View File
@@ -24,6 +24,8 @@
#include <exception>
#include <stdexcept>
#include <iostream>
#include "uqm/planets/generate/gendefault.h"
#include "uqm/gendef.h"
+6 -4
View File
@@ -1,8 +1,10 @@
uqm_CFILES="gendefault.c genand.c genburv.c genchmmr.c gendru.c
uqm_CFILES="gendefault.c genchmmr.c gendru.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
genthrad.c gentrap.c genutw.c genvault.c genvux.c
gensam.c gensol.c genspa.c gensup.c
genthrad.c gentrap.c genutw.c genvux.c
genyeh.c genzoq.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"
gencol-modern.cpp genwreck-modern.cpp genzfpscout-modern.cpp
genand-modern.cpp genburv-modern.cpp gensyr-modern.cpp
genvault-modern.cpp"
@@ -27,38 +27,36 @@
#include "libs/mathlib.h"
static bool GenerateAndrosynth_generatePlanets (SOLARSYS_STATE *solarSys);
static bool GenerateAndrosynth_generateOrbital (SOLARSYS_STATE *solarSys,
PLANET_DESC *world);
static COUNT GenerateAndrosynth_generateEnergy (const SOLARSYS_STATE *,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
static bool GenerateAndrosynth_pickupEnergy (SOLARSYS_STATE *solarSys,
PLANET_DESC *world, COUNT whichNode);
namespace
{
using namespace Planets::exports;
const GenerateFunctions generateAndrosynthFunctions = {
/* .initNpcs = */ GenerateDefault_initNpcs,
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
/* .generatePlanets = */ GenerateAndrosynth_generatePlanets,
/* .generateMoons = */ GenerateDefault_generateMoons,
/* .generateName = */ GenerateDefault_generateName,
/* .generateOrbital = */ GenerateAndrosynth_generateOrbital,
/* .generateMinerals = */ GenerateDefault_generateMinerals,
/* .generateEnergy = */ GenerateAndrosynth_generateEnergy,
/* .generateLife = */ GenerateDefault_generateLife,
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
/* .pickupEnergy = */ GenerateAndrosynth_pickupEnergy,
/* .pickupLife = */ GenerateDefault_pickupLife,
class GenerateAndrosynth
: 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( "Androsynth", std::make_unique< GenerateAndrosynth >() );
static bool
GenerateAndrosynth_generatePlanets (SOLARSYS_STATE *solarSys)
return 0xDEADBEEF;
}();
}
bool
GenerateAndrosynth::generatePlanets( SolarSystem *const solarSys )
{
COUNT angle;
GenerateDefault_generatePlanets (solarSys);
DefaultGenerator::generatePlanets (solarSys);
solarSys->PlanetDesc[1].data_index = TELLURIC_WORLD;
solarSys->PlanetDesc[1].radius = EARTH_RADIUS * 204L / 100;
@@ -72,8 +70,8 @@ GenerateAndrosynth_generatePlanets (SOLARSYS_STATE *solarSys)
return true;
}
static bool
GenerateAndrosynth_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
bool
GenerateAndrosynth::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
{
if (matchWorld (solarSys, world, 1, MATCH_PLANET))
{
@@ -111,7 +109,7 @@ GenerateAndrosynth_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world
}
}
GenerateDefault_generateOrbital (solarSys, world);
DefaultGenerator::generateOrbital (solarSys, world);
if (matchWorld (solarSys, world, 1, MATCH_PLANET))
{
@@ -125,9 +123,9 @@ GenerateAndrosynth_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world
return true;
}
static bool
GenerateAndrosynth_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
COUNT whichNode)
bool
GenerateAndrosynth::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
const COUNT whichNode)
{
if (matchWorld (solarSys, world, 1, MATCH_PLANET))
{
@@ -151,8 +149,8 @@ GenerateAndrosynth_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
return false;
}
static COUNT
GenerateAndrosynth_generateEnergy (const SOLARSYS_STATE *solarSys,
COUNT
GenerateAndrosynth::generateEnergy (const SOLARSYS_STATE *solarSys,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
{
if (matchWorld (solarSys, world, 1, MATCH_PLANET))
@@ -24,41 +24,39 @@
#include "../../resinst.h"
#include "libs/mathlib.h"
namespace
{
using namespace Planets::exports;
static bool GenerateBurvixese_generatePlanets (SOLARSYS_STATE *solarSys);
static bool GenerateBurvixese_generateMoons (SOLARSYS_STATE *solarSys,
PLANET_DESC *planet);
static bool GenerateBurvixese_generateOrbital (SOLARSYS_STATE *solarSys,
PLANET_DESC *world);
static COUNT GenerateBurvixese_generateEnergy (const SOLARSYS_STATE *,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
static bool GenerateBurvixese_pickupEnergy (SOLARSYS_STATE *solarSys,
PLANET_DESC *world, COUNT whichNode);
const GenerateFunctions generateBurvixeseFunctions = {
/* .initNpcs = */ GenerateDefault_initNpcs,
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
/* .generatePlanets = */ GenerateBurvixese_generatePlanets,
/* .generateMoons = */ GenerateBurvixese_generateMoons,
/* .generateName = */ GenerateDefault_generateName,
/* .generateOrbital = */ GenerateBurvixese_generateOrbital,
/* .generateMinerals = */ GenerateDefault_generateMinerals,
/* .generateEnergy = */ GenerateBurvixese_generateEnergy,
/* .generateLife = */ GenerateDefault_generateLife,
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
/* .pickupEnergy = */ GenerateBurvixese_pickupEnergy,
/* .pickupLife = */ GenerateDefault_pickupLife,
class GenerateBurvixese
: 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;
bool pickupEnergy( SOLARSYS_STATE *solarSys,
PLANET_DESC *world, COUNT whichNode ) override;
};
auto init= []
{
Generator::add( "Burvixese", std::make_unique< GenerateBurvixese >() );
static bool
GenerateBurvixese_generatePlanets (SOLARSYS_STATE *solarSys)
return 0xDEADBEEF;
}();
}
bool
GenerateBurvixese::generatePlanets( SolarSystem *const solarSys )
{
COUNT angle;
GenerateDefault_generatePlanets (solarSys);
DefaultGenerator::generatePlanets (solarSys);
solarSys->PlanetDesc[0].data_index = REDUX_WORLD;
solarSys->PlanetDesc[0].NumPlanets = 1;
@@ -72,10 +70,10 @@ GenerateBurvixese_generatePlanets (SOLARSYS_STATE *solarSys)
return true;
}
static bool
GenerateBurvixese_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
bool
GenerateBurvixese::generateMoons( SolarSystem *const solarSys, PLANET_DESC *const planet )
{
GenerateDefault_generateMoons (solarSys, planet);
DefaultGenerator::generateMoons (solarSys, planet);
if (matchWorld (solarSys, planet, 0, MATCH_PLANET))
{
@@ -95,8 +93,8 @@ GenerateBurvixese_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
return true;
}
static bool
GenerateBurvixese_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
bool
GenerateBurvixese::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
{
DWORD rand_val;
@@ -139,9 +137,9 @@ GenerateBurvixese_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
return true;
}
static COUNT
GenerateBurvixese_generateEnergy (const SOLARSYS_STATE *solarSys,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
COUNT
GenerateBurvixese::generateEnergy( const SolarSystem *const solarSys,
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
{
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
{
@@ -163,9 +161,9 @@ GenerateBurvixese_generateEnergy (const SOLARSYS_STATE *solarSys,
return 0;
}
static bool
GenerateBurvixese_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
COUNT whichNode)
bool
GenerateBurvixese::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
const COUNT whichNode )
{
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
{
@@ -22,34 +22,33 @@
#include "../../starbase.h"
static bool GenerateSyreen_generatePlanets (SOLARSYS_STATE *solarSys);
static bool GenerateSyreen_generateMoons (SOLARSYS_STATE *solarSys,
PLANET_DESC *planet);
static bool GenerateSyreen_generateOrbital (SOLARSYS_STATE *solarSys,
PLANET_DESC *world);
namespace
{
using namespace Planets::exports;
const GenerateFunctions generateSyreenFunctions = {
/* .initNpcs = */ GenerateDefault_initNpcs,
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
/* .generatePlanets = */ GenerateSyreen_generatePlanets,
/* .generateMoons = */ GenerateSyreen_generateMoons,
/* .generateName = */ GenerateDefault_generateName,
/* .generateOrbital = */ GenerateSyreen_generateOrbital,
/* .generateMinerals = */ GenerateDefault_generateMinerals,
/* .generateEnergy = */ GenerateDefault_generateEnergy,
/* .generateLife = */ GenerateDefault_generateLife,
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
/* .pickupEnergy = */ GenerateDefault_pickupEnergy,
/* .pickupLife = */ GenerateDefault_pickupLife,
class GenerateSyreen
: public DefaultGenerator
{
bool generatePlanets( SolarSystem *solarSys) override;
bool generateMoons( SolarSystem *solarSys,
PLANET_DESC *planet) override;
bool generateOrbital( SolarSystem *solarSys,
PLANET_DESC *world ) override;
};
static bool
GenerateSyreen_generatePlanets (SOLARSYS_STATE *solarSys)
auto init= []
{
GenerateDefault_generatePlanets (solarSys);
Generator::add( "Syreen Gaia", std::make_unique< GenerateSyreen >() );
return 0xDEADBEEF;
}();
}
bool
GenerateSyreen::generatePlanets( SolarSystem *const solarSys )
{
DefaultGenerator::generatePlanets (solarSys);
solarSys->PlanetDesc[0].data_index = WATER_WORLD ;//| PLANET_SHIELDED;
solarSys->PlanetDesc[0].NumPlanets = 1;
@@ -57,10 +56,10 @@ GenerateSyreen_generatePlanets (SOLARSYS_STATE *solarSys)
return true;
}
static bool
GenerateSyreen_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
bool
GenerateSyreen::generateMoons( SolarSystem *const solarSys, PLANET_DESC *const planet )
{
GenerateDefault_generateMoons (solarSys, planet);
DefaultGenerator::generateMoons (solarSys, planet);
if (matchWorld (solarSys, planet, 0, MATCH_PLANET))
{
@@ -75,8 +74,8 @@ GenerateSyreen_generateMoons (SOLARSYS_STATE *solarSys, PLANET_DESC *planet)
return true;
}
static bool
GenerateSyreen_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
bool
GenerateSyreen::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
{
if (matchWorld (solarSys, world, 0, MATCH_PLANET))
{
@@ -93,11 +92,12 @@ GenerateSyreen_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
if (matchWorld (solarSys, world, 0, 0))
{
// TODO: Revert this back to the real Syreen starbase.
/* Starbase */
return PrepareToVisitStarBase();
}
GenerateDefault_generateOrbital (solarSys, world);
DefaultGenerator::generateOrbital (solarSys, world);
return true;
}
@@ -24,34 +24,34 @@
#include "../../resinst.h"
#include "libs/mathlib.h"
#include <iostream>
static bool GenerateVault_generateOrbital (SOLARSYS_STATE *solarSys,
PLANET_DESC *world);
static COUNT GenerateVault_generateEnergy (const SOLARSYS_STATE *,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *);
static bool GenerateVault_pickupEnergy (SOLARSYS_STATE *solarSys,
PLANET_DESC *world, COUNT whichNode);
namespace
{
using namespace Planets::exports;
const GenerateFunctions generateVaultFunctions = {
/* .initNpcs = */ GenerateDefault_initNpcs,
/* .reinitNpcs = */ GenerateDefault_reinitNpcs,
/* .uninitNpcs = */ GenerateDefault_uninitNpcs,
/* .generatePlanets = */ GenerateDefault_generatePlanets,
/* .generateMoons = */ GenerateDefault_generateMoons,
/* .generateName = */ GenerateDefault_generateName,
/* .generateOrbital = */ GenerateVault_generateOrbital,
/* .generateMinerals = */ GenerateDefault_generateMinerals,
/* .generateEnergy = */ GenerateVault_generateEnergy,
/* .generateLife = */ GenerateDefault_generateLife,
/* .pickupMinerals = */ GenerateDefault_pickupMinerals,
/* .pickupEnergy = */ GenerateVault_pickupEnergy,
/* .pickupLife = */ GenerateDefault_pickupLife,
class GenerateVault
: public DefaultGenerator
{
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( "Syreen Vault", std::make_unique< GenerateVault >() );
static bool
GenerateVault_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
return 0xDEADBEEF;
}();
}
bool
GenerateVault::generateOrbital( SolarSystem *const solarSys, PLANET_DESC *const world )
{
if (matchWorld (solarSys, world, 0, 0))
{
@@ -74,13 +74,13 @@ GenerateVault_generateOrbital (SOLARSYS_STATE *solarSys, PLANET_DESC *world)
}
}
GenerateDefault_generateOrbital (solarSys, world);
DefaultGenerator::generateOrbital (solarSys, world);
return true;
}
static COUNT
GenerateVault_generateEnergy (const SOLARSYS_STATE *solarSys,
const PLANET_DESC *world, COUNT whichNode, NODE_INFO *info)
COUNT
GenerateVault::generateEnergy( const SolarSystem *const solarSys,
const PLANET_DESC *const world, const COUNT whichNode, NODE_INFO *const info )
{
if (matchWorld (solarSys, world, 0, 0))
{
@@ -90,9 +90,9 @@ GenerateVault_generateEnergy (const SOLARSYS_STATE *solarSys,
return 0;
}
static bool
GenerateVault_pickupEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,
COUNT whichNode)
bool
GenerateVault::pickupEnergy( SolarSystem *const solarSys, PLANET_DESC *const world,
const COUNT whichNode )
{
if (matchWorld (solarSys, world, 0, 0))
{