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