Removed SOLARSYS_STATE.CurNode; uniform usage of callGenerateForScanType()
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3577 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -718,6 +718,7 @@ CheckObjectCollision (COUNT index)
|
||||
{
|
||||
COUNT scan, NumRetrieved;
|
||||
SIZE which_node;
|
||||
COUNT allNodes;
|
||||
|
||||
scan = LOBYTE (ElementPtr->scan_node);
|
||||
if (pLanderPrim == 0)
|
||||
@@ -859,10 +860,10 @@ CheckObjectCollision (COUNT index)
|
||||
which_node = HIBYTE (ElementPtr->scan_node) - 1;
|
||||
pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[scan] |=
|
||||
(1L << which_node);
|
||||
pSolarSysState->CurNode = (COUNT)~0;
|
||||
allNodes = (COUNT)~0;
|
||||
callGenerateForScanType (pSolarSysState,
|
||||
pSolarSysState->pOrbitalDesc,
|
||||
&pSolarSysState->CurNode, scan);
|
||||
&allNodes, scan);
|
||||
|
||||
if (!(pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[scan] &
|
||||
(1L << which_node)))
|
||||
|
||||
@@ -204,7 +204,6 @@ struct solarsys_state
|
||||
|
||||
SYSTEM_INFO SysInfo;
|
||||
|
||||
COUNT CurNode;
|
||||
const GenerateFunctions *genFuncs;
|
||||
// Functions to call to fill in various parts of this structure.
|
||||
// See generate.h, doc/devel/generate
|
||||
|
||||
@@ -1337,15 +1337,15 @@ GeneratePlanetSide (void)
|
||||
f = SetAbsFrameIndex (MiscDataFrame,
|
||||
NUM_SCANDOT_TRANSITIONS * (scan - ENERGY_SCAN));
|
||||
|
||||
pSolarSysState->CurNode = (COUNT)~0;
|
||||
num_nodes = (COUNT)~0;
|
||||
callGenerateForScanType (pSolarSysState,
|
||||
pSolarSysState->pOrbitalDesc, &pSolarSysState->CurNode, scan);
|
||||
pSolarSysState->pOrbitalDesc, &num_nodes, scan);
|
||||
|
||||
num_nodes = pSolarSysState->CurNode;
|
||||
while (num_nodes--)
|
||||
{
|
||||
HELEMENT hNodeElement;
|
||||
ELEMENT *NodeElementPtr;
|
||||
COUNT whichNode;
|
||||
|
||||
if (isNodeRetrieved (&pSolarSysState->SysInfo.PlanetInfo,
|
||||
scan, num_nodes))
|
||||
@@ -1357,9 +1357,9 @@ GeneratePlanetSide (void)
|
||||
|
||||
LockElement (hNodeElement, &NodeElementPtr);
|
||||
|
||||
pSolarSysState->CurNode = num_nodes;
|
||||
whichNode = num_nodes;
|
||||
callGenerateForScanType (pSolarSysState,
|
||||
pSolarSysState->pOrbitalDesc, &pSolarSysState->CurNode,
|
||||
pSolarSysState->pOrbitalDesc, &whichNode,
|
||||
scan);
|
||||
|
||||
NodeElementPtr->scan_node = MAKE_WORD (scan, num_nodes + 1);
|
||||
|
||||
+25
-28
@@ -31,6 +31,7 @@
|
||||
#include "gendef.h"
|
||||
#include "globdata.h"
|
||||
#include "planets/lifeform.h"
|
||||
#include "planets/scan.h"
|
||||
#include "races.h"
|
||||
#include "setup.h"
|
||||
#include "state.h"
|
||||
@@ -1054,17 +1055,16 @@ calculateBioValue (const SOLARSYS_STATE *system, const PLANET_DESC *world)
|
||||
|
||||
assert (system->pOrbitalDesc == world);
|
||||
|
||||
((SOLARSYS_STATE *) system)->CurNode = (COUNT)~0;
|
||||
(*system->genFuncs->generateLife) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
numBio = system->CurNode;
|
||||
numBio = (COUNT)~0;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system, (PLANET_DESC *) world,
|
||||
&numBio, BIOLOGICAL_SCAN);
|
||||
|
||||
result = 0;
|
||||
for (i = 0; i < numBio; i++)
|
||||
{
|
||||
((SOLARSYS_STATE *) system)->CurNode = i;
|
||||
(*system->genFuncs->generateLife) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
COUNT whichNode = i;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &whichNode, BIOLOGICAL_SCAN);
|
||||
result += BIO_CREDIT_VALUE * LONIBBLE (CreatureData[
|
||||
system->SysInfo.PlanetInfo.CurType].ValueAndHitPoints);
|
||||
}
|
||||
@@ -1080,19 +1080,18 @@ generateBioIndex(const SOLARSYS_STATE *system, const PLANET_DESC *world,
|
||||
|
||||
assert (system->pOrbitalDesc == world);
|
||||
|
||||
((SOLARSYS_STATE *) system)->CurNode = (COUNT)~0;
|
||||
(*system->genFuncs->generateLife) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
numBio = system->CurNode;
|
||||
numBio = (COUNT)~0;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system, (PLANET_DESC *) world,
|
||||
&numBio, BIOLOGICAL_SCAN);
|
||||
|
||||
for (i = 0; i < NUM_CREATURE_TYPES + NUM_SPECIAL_CREATURE_TYPES; i++)
|
||||
bio[i] = 0;
|
||||
|
||||
for (i = 0; i < numBio; i++)
|
||||
{
|
||||
((SOLARSYS_STATE *) system)->CurNode = i;
|
||||
(*system->genFuncs->generateLife) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
COUNT whichNode = i;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &whichNode, BIOLOGICAL_SCAN);
|
||||
bio[system->SysInfo.PlanetInfo.CurType]++;
|
||||
}
|
||||
}
|
||||
@@ -1106,17 +1105,16 @@ calculateMineralValue (const SOLARSYS_STATE *system, const PLANET_DESC *world)
|
||||
|
||||
assert (system->pOrbitalDesc == world);
|
||||
|
||||
((SOLARSYS_STATE *) system)->CurNode = (COUNT)~0;
|
||||
(*system->genFuncs->generateMinerals) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
numDeposits = system->CurNode;
|
||||
numDeposits = (COUNT)~0;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system, (PLANET_DESC *) world,
|
||||
&numDeposits, MINERAL_SCAN);
|
||||
|
||||
result = 0;
|
||||
for (i = 0; i < numDeposits; i++)
|
||||
{
|
||||
((SOLARSYS_STATE *) system)->CurNode = i;
|
||||
(*system->genFuncs->generateMinerals) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
COUNT whichNode = i;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &whichNode, MINERAL_SCAN);
|
||||
result += HIBYTE (system->SysInfo.PlanetInfo.CurDensity) *
|
||||
GLOBAL (ElementWorth[ElementCategory (
|
||||
system->SysInfo.PlanetInfo.CurType)]);
|
||||
@@ -1133,19 +1131,18 @@ generateMineralIndex(const SOLARSYS_STATE *system, const PLANET_DESC *world,
|
||||
|
||||
assert (system->pOrbitalDesc == world);
|
||||
|
||||
((SOLARSYS_STATE *) system)->CurNode = (COUNT)~0;
|
||||
(*system->genFuncs->generateMinerals) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
numDeposits = system->CurNode;
|
||||
numDeposits = (COUNT)~0;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system, (PLANET_DESC *) world,
|
||||
&numDeposits, MINERAL_SCAN);
|
||||
|
||||
for (i = 0; i < NUM_ELEMENT_CATEGORIES; i++)
|
||||
minerals[i] = 0;
|
||||
|
||||
for (i = 0; i < numDeposits; i++)
|
||||
{
|
||||
((SOLARSYS_STATE *) system)->CurNode = i;
|
||||
(*system->genFuncs->generateMinerals) ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &((SOLARSYS_STATE *) system)->CurNode);
|
||||
COUNT whichNode = i;
|
||||
callGenerateForScanType ((SOLARSYS_STATE *) system,
|
||||
(PLANET_DESC *) world, &whichNode, MINERAL_SCAN);
|
||||
minerals[ElementCategory(system->SysInfo.PlanetInfo.CurType)] +=
|
||||
HIBYTE (system->SysInfo.PlanetInfo.CurDensity);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user