Started deprecation and removal of the old star index system.
This commit is contained in:
@@ -76,7 +76,7 @@ EventHandler (BYTE selector)
|
||||
if (!GET_GAME_STATE (KOHR_AH_FRENZY)
|
||||
&& LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY
|
||||
&& CurStarDescPtr
|
||||
&& CurStarDescPtr->Index == SAMATRA_DEFINED)
|
||||
&& !strcmp(CurStarDescPtr->supplement, "Sa-Matra"))
|
||||
AddEvent (RELATIVE_EVENT, 0, 7, 0, KOHR_AH_GENOCIDE_EVENT);
|
||||
else
|
||||
black_urquan_genocide ();
|
||||
@@ -90,7 +90,7 @@ EventHandler (BYTE selector)
|
||||
case ZOQFOT_DISTRESS_EVENT:
|
||||
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY
|
||||
&& CurStarDescPtr
|
||||
&& CurStarDescPtr->Index == ZOQFOT_DEFINED)
|
||||
&& !strcmp(CurStarDescPtr->supplement, "Zoq-Fot-Pik"))
|
||||
AddEvent (RELATIVE_EVENT, 0, 7, 0, ZOQFOT_DISTRESS_EVENT);
|
||||
else
|
||||
{
|
||||
@@ -101,7 +101,7 @@ EventHandler (BYTE selector)
|
||||
case ZOQFOT_DEATH_EVENT:
|
||||
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY
|
||||
&& CurStarDescPtr
|
||||
&& CurStarDescPtr->Index == ZOQFOT_DEFINED)
|
||||
&& !strcmp(CurStarDescPtr->supplement, "Zoq-Fot-Pik"))
|
||||
AddEvent (RELATIVE_EVENT, 0, 7, 0, ZOQFOT_DEATH_EVENT);
|
||||
else if (GET_GAME_STATE (ZOQFOT_DISTRESS))
|
||||
{
|
||||
@@ -131,7 +131,7 @@ EventHandler (BYTE selector)
|
||||
case SPATHI_SHIELD_EVENT:
|
||||
if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY
|
||||
&& CurStarDescPtr
|
||||
&& CurStarDescPtr->Index == SPATHI_DEFINED)
|
||||
&& !strcmp(CurStarDescPtr->supplement, "Yuffo"))
|
||||
AddEvent (RELATIVE_EVENT, 0, 7, 0, SPATHI_SHIELD_EVENT);
|
||||
else
|
||||
{
|
||||
|
||||
@@ -21,11 +21,10 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
const GenerateFunctions *
|
||||
getGenerateFunctions (STAR_DESC *const star)
|
||||
{
|
||||
switch (star->Index)
|
||||
switch (star->Index_deprecated)
|
||||
{
|
||||
// All of the generator enums are now disabled.
|
||||
// I can just remove the enum, after a quick play-test.
|
||||
@@ -37,6 +36,7 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
case THRADD_DEFINED:
|
||||
case TAALO_PROTECTOR_DEFINED:
|
||||
case ORZ_DEFINED:
|
||||
|
||||
case MAIDENS_DEFINED:
|
||||
case VUX_BEAST_DEFINED:
|
||||
case VUX_DEFINED:
|
||||
@@ -78,7 +78,6 @@ getGenerateFunctions (STAR_DESC *const star)
|
||||
case URQUAN_WRECK_DEFINED:
|
||||
default:
|
||||
abort();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+22
-20
@@ -216,28 +216,28 @@ BuildGroups (void)
|
||||
COUNT BestPercent = 0;
|
||||
POINT universe;
|
||||
HFLEETINFO hFleet, hNextFleet;
|
||||
BYTE HomeWorld[] =
|
||||
const char *HomeWorld[] =
|
||||
{
|
||||
0, /* ARILOU_SHIP */
|
||||
0, /* CHMMR_SHIP */
|
||||
0, /* HUMAN_SHIP */
|
||||
ORZ_DEFINED, /* ORZ_SHIP */
|
||||
PKUNK_DEFINED, /* PKUNK_SHIP */
|
||||
"Orz", /* ORZ_SHIP */
|
||||
"Pkunk", /* PKUNK_SHIP */
|
||||
0, /* SHOFIXTI_SHIP */
|
||||
SPATHI_DEFINED, /* SPATHI_SHIP */
|
||||
SUPOX_DEFINED, /* SUPOX_SHIP */
|
||||
THRADD_DEFINED, /* THRADDASH_SHIP */
|
||||
UTWIG_DEFINED, /* UTWIG_SHIP */
|
||||
VUX_DEFINED, /* VUX_SHIP */
|
||||
YEHAT_DEFINED, /* YEHAT_SHIP */
|
||||
"Yuffo", /* SPATHI_SHIP */
|
||||
"Supox", /* SUPOX_SHIP */
|
||||
"Thraddash", /* THRADDASH_SHIP */
|
||||
"Utwig", /* UTWIG_SHIP */
|
||||
"VUX", /* VUX_SHIP */
|
||||
"Yehat", /* YEHAT_SHIP */
|
||||
0, /* MELNORME_SHIP */
|
||||
DRUUGE_DEFINED, /* DRUUGE_SHIP */
|
||||
ILWRATH_DEFINED, /* ILWRATH_SHIP */
|
||||
MYCON_DEFINED, /* MYCON_SHIP */
|
||||
"Druuge", /* DRUUGE_SHIP */
|
||||
"Ilwrath", /* ILWRATH_SHIP */
|
||||
"Mycon", /* MYCON_SHIP */
|
||||
0, /* SLYLANDRO_SHIP */
|
||||
UMGAH_DEFINED, /* UMGAH_SHIP */
|
||||
"Umgah", /* UMGAH_SHIP */
|
||||
0, /* URQUAN_SHIP */
|
||||
ZOQFOT_DEFINED, /* ZOQFOTPIK_SHIP */
|
||||
"Zoq-Fot-Pik", /* ZOQFOTPIK_SHIP */
|
||||
|
||||
0, /* SYREEN_SHIP */
|
||||
0, /* BLACK_URQUAN_SHIP */
|
||||
@@ -277,15 +277,15 @@ BuildGroups (void)
|
||||
{
|
||||
SIZE dx, dy;
|
||||
DWORD d_squared;
|
||||
BYTE race_enc;
|
||||
|
||||
race_enc = HomeWorld[Index];
|
||||
if (race_enc && CurStarDescPtr->Index == race_enc)
|
||||
const char *const race_name = HomeWorld[Index];
|
||||
if (race_name && !strcmp(CurStarDescPtr->supplement, race_name) &&
|
||||
(CurStarDescPtr->supArg == 0 || !strcmp(CurStarDescPtr->supArg, "Homeworld")))
|
||||
{ // In general, there are always ships at the Homeworld for
|
||||
// the races specified in HomeWorld[] array.
|
||||
BestIndex = Index;
|
||||
BestPercent = 70;
|
||||
if (race_enc == SPATHI_DEFINED || race_enc == SUPOX_DEFINED)
|
||||
if (!strcmp(race_name, "Spathi") || !strcmp(race_name, "Supox"))
|
||||
BestPercent = 2;
|
||||
// Terminate the loop!
|
||||
hNextFleet = 0;
|
||||
@@ -349,14 +349,16 @@ FoundHome:
|
||||
{
|
||||
RACE_ENCOUNTER_MAKEUP
|
||||
};
|
||||
const char *race_name = HomeWorld[Index];
|
||||
|
||||
which_group = 0;
|
||||
num_groups = ((COUNT)TFB_Random () % (BestPercent >> 1)) + 1;
|
||||
if (num_groups > MAX_BATTLE_GROUPS)
|
||||
num_groups = MAX_BATTLE_GROUPS;
|
||||
else if (num_groups < 5
|
||||
&& (Index = HomeWorld[BestIndex])
|
||||
&& CurStarDescPtr->Index == Index)
|
||||
&& (race_name = HomeWorld[BestIndex])
|
||||
&& (!strcmp(CurStarDescPtr->supplement, race_name) &&
|
||||
(CurStarDescPtr->supArg == 0 || !strcmp(CurStarDescPtr->supArg, "Homeworld"))))
|
||||
num_groups = 5;
|
||||
do
|
||||
{
|
||||
|
||||
+4
-4
@@ -1424,7 +1424,7 @@ SeedUniverse (void)
|
||||
// A player-created QuasiSpace portal is opening.
|
||||
static POINT portal_pt;
|
||||
|
||||
SD[i].Index = ((portalCounter - 1) >> 1) + 18;
|
||||
SD[i].Index_deprecated = ((portalCounter - 1) >> 1) + 18;
|
||||
if (portalCounter == 1)
|
||||
portal_pt = universe;
|
||||
SD[i].star_pt = portal_pt;
|
||||
@@ -1439,11 +1439,11 @@ SeedUniverse (void)
|
||||
if (arilouSpaceCounter)
|
||||
{
|
||||
// The periodically appearing QuasiSpace portal is open.
|
||||
SD[i].Index = arilouSpaceCounter >> 1;
|
||||
SD[i].Index_deprecated = arilouSpaceCounter >> 1;
|
||||
if (arilouSpaceSide <= 1)
|
||||
{
|
||||
// The player is in HyperSpace
|
||||
SD[i].Index += 18;
|
||||
SD[i].Index_deprecated += 18;
|
||||
SD[i].star_pt.x = ARILOU_SPACE_X;
|
||||
SD[i].star_pt.y = ARILOU_SPACE_Y;
|
||||
}
|
||||
@@ -1492,7 +1492,7 @@ SeedUniverse (void)
|
||||
LockElement (hHyperSpaceElement, &HyperSpaceElementPtr);
|
||||
HyperSpaceElementPtr->current.image.frame = SetAbsFrameIndex (
|
||||
hyperstars[1 + (GET_GAME_STATE (ARILOU_SPACE_SIDE) >> 1)],
|
||||
SD[i].Index);
|
||||
SD[i].Index_deprecated);
|
||||
HyperSpaceElementPtr->preprocess_func = NULL;
|
||||
HyperSpaceElementPtr->postprocess_func = NULL;
|
||||
HyperSpaceElementPtr->collision_func = arilou_space_collision;
|
||||
|
||||
+3
-1
@@ -445,7 +445,9 @@ LoadStarDesc (STAR_DESC *SDPtr, void *fh)
|
||||
read_16s(fh, &SDPtr->star_pt.x);
|
||||
read_16s(fh, &SDPtr->star_pt.y);
|
||||
read_8 (fh, &SDPtr->Type);
|
||||
read_8 (fh, &SDPtr->Index);
|
||||
// TODO: Do I need to load the strings, now that the save gets involved?
|
||||
// Maybe I just need to overhaul the save system, at this point?
|
||||
read_8 (fh, &SDPtr->Index_deprecated);
|
||||
read_8 (fh, &SDPtr->Prefix);
|
||||
read_8 (fh, &SDPtr->Postfix);
|
||||
}
|
||||
|
||||
@@ -595,7 +595,9 @@ LoadStarDesc (STAR_DESC *SDPtr, DECODE_REF fh)
|
||||
cread_16s(fh, &SDPtr->star_pt.x);
|
||||
cread_16s(fh, &SDPtr->star_pt.y);
|
||||
cread_8 (fh, &SDPtr->Type);
|
||||
cread_8 (fh, &SDPtr->Index);
|
||||
// TODO: Do I need to load the strings, now that the save gets involved?
|
||||
// Maybe I just need to overhaul the save system, at this point?
|
||||
cread_8 (fh, &SDPtr->Index_deprecated);
|
||||
cread_8 (fh, &SDPtr->Prefix);
|
||||
cread_8 (fh, &SDPtr->Postfix);
|
||||
}
|
||||
|
||||
@@ -574,8 +574,8 @@ STAR_DESC starmap_array[] =
|
||||
|
||||
{{2354, 3291}, MAKE_STAR (SUPER_GIANT_STAR, RED_BODY, -1), 0, 1, 106, "Melnorme", "4"},
|
||||
{{ 229, 3666}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 1, 76, "Ilwrath"},
|
||||
{{2416, 3687}, MAKE_STAR (GIANT_STAR, ORANGE_BODY, -1), 0, 5, 109, "Yuffo"},
|
||||
{{4125, 3770}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), 0, 0, 114, "Syreen Gaia"},
|
||||
{{2416, 3687}, MAKE_STAR (GIANT_STAR, ORANGE_BODY, -1), 0, 5, 109, "Spathi"},
|
||||
{{4125, 3770}, MAKE_STAR (DWARF_STAR, BLUE_BODY, -1), 0, 0, 114, "Syreen"},
|
||||
{{5937, 3937}, MAKE_STAR (DWARF_STAR, ORANGE_BODY, -1), 0, 5, 10, "Syreen Vault"},
|
||||
|
||||
{{7416, 5083}, MAKE_STAR (DWARF_STAR, GREEN_BODY, -1), 0, 3, 68, "Rainbow"},
|
||||
|
||||
@@ -234,7 +234,7 @@ UseCaster (void)
|
||||
if (playerInPlanetOrbit ()
|
||||
&& matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc,
|
||||
1, MATCH_PLANET)
|
||||
&& CurStarDescPtr->Index == CHMMR_DEFINED
|
||||
&& !strcmp(CurStarDescPtr->supplement, "Chmmr")
|
||||
&& !GET_GAME_STATE (CHMMR_UNLEASHED))
|
||||
{
|
||||
// In orbit around the Chenjesu/Mmrnmhrm home planet.
|
||||
@@ -255,7 +255,7 @@ UseCaster (void)
|
||||
BOOLEAN FoundIlwrath;
|
||||
HIPGROUP hGroup;
|
||||
|
||||
FoundIlwrath = (CurStarDescPtr->Index == ILWRATH_DEFINED)
|
||||
FoundIlwrath = (!strcmp(CurStarDescPtr->supplement, "Ilwrath"))
|
||||
&& StartSphereTracking (ILWRATH_SHIP);
|
||||
// In the Ilwrath home system and they are alive?
|
||||
|
||||
@@ -280,7 +280,7 @@ UseCaster (void)
|
||||
ReinitQueue (&GLOBAL (ip_group_q));
|
||||
assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);
|
||||
|
||||
if (CurStarDescPtr->Index == ILWRATH_DEFINED)
|
||||
if (!strcmp(CurStarDescPtr->supplement, "Ilwrath"))
|
||||
{
|
||||
// Ilwrath home system.
|
||||
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 1 << 4);
|
||||
@@ -329,7 +329,7 @@ InvokeDevice (BYTE which_device)
|
||||
PlayMenuSound (MENU_SOUND_INVOKED);
|
||||
SleepThreadUntil (FadeScreen (FadeAllToWhite, ONE_SECOND * 1)
|
||||
+ (ONE_SECOND * 2));
|
||||
if (CurStarDescPtr->Index != CHMMR_DEFINED
|
||||
if (!strcmp(CurStarDescPtr->supplement, "Chmmr")
|
||||
|| !matchWorld (pSolarSysState,
|
||||
pSolarSysState->pOrbitalDesc,
|
||||
1, MATCH_PLANET))
|
||||
@@ -394,7 +394,7 @@ InvokeDevice (BYTE which_device)
|
||||
assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);
|
||||
}
|
||||
|
||||
if (CurStarDescPtr->Index == SAMATRA_DEFINED)
|
||||
if (!strcmp(CurStarDescPtr->supplement, "Sa-Matra"))
|
||||
{
|
||||
SET_GAME_STATE (READY_TO_CONFUSE_URQUAN, 1);
|
||||
}
|
||||
|
||||
@@ -268,7 +268,7 @@ namespace Planets ::detail:: Generate_m
|
||||
|
||||
std::cerr << " yes" << std::endl;
|
||||
|
||||
if( star.Index )
|
||||
if( star.Index_deprecated )
|
||||
{
|
||||
const std::string mesg= "Solar system with modern generator (`"s
|
||||
+ star.supplement + "`) has a legacy index!";
|
||||
@@ -315,7 +315,7 @@ extern "C"
|
||||
|
||||
// If there's a legacy builder, we must have no supplement.
|
||||
// We just go to the old way of doing things...
|
||||
if( desc->Index )
|
||||
if( desc->Index_deprecated )
|
||||
{
|
||||
assert( desc->supplement == nullptr );
|
||||
solarSys->genFuncs= getGenerateFunctions( desc );
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Yuffo", std::make_unique< GenerateSpathi >() );
|
||||
Generator::add( "Spathi", std::make_unique< GenerateSpathi >() );
|
||||
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace
|
||||
|
||||
auto init= []
|
||||
{
|
||||
Generator::add( "Syreen Gaia", std::make_unique< GenerateSyreen >() );
|
||||
Generator::add( "Syreen", std::make_unique< GenerateSyreen >() );
|
||||
|
||||
return 0xDEADBEEF;
|
||||
}();
|
||||
|
||||
@@ -140,7 +140,7 @@ struct star_desc
|
||||
{
|
||||
POINT star_pt;
|
||||
BYTE Type;
|
||||
BYTE Index;
|
||||
BYTE Index_deprecated;
|
||||
BYTE Prefix;
|
||||
BYTE Postfix;
|
||||
|
||||
|
||||
@@ -1753,7 +1753,7 @@ GetNamedPlanetaryBody (void)
|
||||
|
||||
assert (pSolarSysState->pOrbitalDesc != NULL);
|
||||
|
||||
if (CurStarDescPtr->Index == SOL_DEFINED)
|
||||
if (!strcmp(CurStarDescPtr->supplement, "Sol"))
|
||||
{ // Planets and moons in Sol
|
||||
int planet;
|
||||
int moon;
|
||||
@@ -1821,7 +1821,7 @@ GetNamedPlanetaryBody (void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (CurStarDescPtr->Index == SPATHI_DEFINED)
|
||||
else if (!strcmp(CurStarDescPtr->supplement, "Spathi"))
|
||||
{
|
||||
if (matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc,
|
||||
0, MATCH_PLANET))
|
||||
@@ -1831,7 +1831,7 @@ GetNamedPlanetaryBody (void)
|
||||
#endif // NOTYET
|
||||
}
|
||||
}
|
||||
else if (CurStarDescPtr->Index == SAMATRA_DEFINED)
|
||||
else if (!strcmp(CurStarDescPtr->supplement, "Sa-Matra"))
|
||||
{
|
||||
if (matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc, 4, 0))
|
||||
{ // Sa-Matra
|
||||
|
||||
+1
-1
@@ -426,7 +426,7 @@ SaveStarDesc (const STAR_DESC *SDPtr, uio_Stream *fh)
|
||||
write_16 (fh, SDPtr->star_pt.x);
|
||||
write_16 (fh, SDPtr->star_pt.y);
|
||||
write_8 (fh, SDPtr->Type);
|
||||
write_8 (fh, SDPtr->Index);
|
||||
write_8 (fh, SDPtr->Index_deprecated);
|
||||
write_8 (fh, SDPtr->Prefix);
|
||||
write_8 (fh, SDPtr->Postfix);
|
||||
}
|
||||
|
||||
@@ -816,12 +816,12 @@ dumpSystem (FILE *out, const STAR_DESC *star, const SOLARSYS_STATE *system)
|
||||
snprintf (buf, sizeof buf, "%s %s",
|
||||
bodyColorString (STAR_COLOR(star->Type)),
|
||||
starTypeString (STAR_TYPE(star->Type)));
|
||||
fprintf (out, "%-22s (%3d.%1d, %3d.%1d) %-19s %s\n",
|
||||
fprintf (out, "%-22s (%3d.%1d, %3d.%1d) %-19s %s %s\n",
|
||||
name,
|
||||
star->star_pt.x / 10, star->star_pt.x % 10,
|
||||
star->star_pt.y / 10, star->star_pt.y % 10,
|
||||
buf,
|
||||
starPresenceString (star->Index));
|
||||
star->supplement, star->supArg);
|
||||
|
||||
(void) system; /* satisfy compiler */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user