diff --git a/sc2/src/uqm/planets/generate/genand.c b/sc2/src/uqm/planets/generate/genand.c index b914c6817..9f8e483d4 100644 --- a/sc2/src/uqm/planets/generate/genand.c +++ b/sc2/src/uqm/planets/generate/genand.c @@ -167,9 +167,7 @@ GenerateAndrosynth_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, } } - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genburv.c b/sc2/src/uqm/planets/generate/genburv.c index 423a71921..c6cd78dd9 100644 --- a/sc2/src/uqm/planets/generate/genburv.c +++ b/sc2/src/uqm/planets/generate/genburv.c @@ -160,9 +160,7 @@ GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); @@ -188,7 +186,9 @@ GenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; diff --git a/sc2/src/uqm/planets/generate/gendru.c b/sc2/src/uqm/planets/generate/gendru.c index 3b6c089ba..f81a30bf7 100644 --- a/sc2/src/uqm/planets/generate/gendru.c +++ b/sc2/src/uqm/planets/generate/gendru.c @@ -166,9 +166,7 @@ GenerateDruuge_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1); } } - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genilw.c b/sc2/src/uqm/planets/generate/genilw.c index 3581af4e2..0f0d7f105 100644 --- a/sc2/src/uqm/planets/generate/genilw.c +++ b/sc2/src/uqm/planets/generate/genilw.c @@ -142,9 +142,7 @@ GenerateIlwrath_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genmyc.c b/sc2/src/uqm/planets/generate/genmyc.c index a1099f3f2..150773e4c 100644 --- a/sc2/src/uqm/planets/generate/genmyc.c +++ b/sc2/src/uqm/planets/generate/genmyc.c @@ -205,7 +205,9 @@ GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; @@ -223,10 +225,14 @@ GenerateMycon_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; + // XXX: Why does this also test the PlanetInfo.DiscoveryString? + // No other similar code ever tests the DiscoveryString. if ((solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && solarSys->SysInfo.PlanetInfo.DiscoveryString) diff --git a/sc2/src/uqm/planets/generate/genorz.c b/sc2/src/uqm/planets/generate/genorz.c index fb82fa3f1..5a8a4b08b 100644 --- a/sc2/src/uqm/planets/generate/genorz.c +++ b/sc2/src/uqm/planets/generate/genorz.c @@ -184,7 +184,9 @@ GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; @@ -221,9 +223,7 @@ GenerateOrz_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode && - !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genpet.c b/sc2/src/uqm/planets/generate/genpet.c index 4ba57fc3f..ba6bbf09d 100644 --- a/sc2/src/uqm/planets/generate/genpet.c +++ b/sc2/src/uqm/planets/generate/genpet.c @@ -179,9 +179,7 @@ GenerateTalkingPet_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genpku.c b/sc2/src/uqm/planets/generate/genpku.c index 699a785c7..58755fe56 100644 --- a/sc2/src/uqm/planets/generate/genpku.c +++ b/sc2/src/uqm/planets/generate/genpku.c @@ -156,9 +156,7 @@ GeneratePkunk_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1); } } - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/gensol.c b/sc2/src/uqm/planets/generate/gensol.c index 67b3321ae..bb84381c9 100644 --- a/sc2/src/uqm/planets/generate/gensol.c +++ b/sc2/src/uqm/planets/generate/gensol.c @@ -593,9 +593,7 @@ GenerateSol_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, solarSys->SysInfo.PlanetInfo.CurPt.y = (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = NUM_CREATURE_TYPES + 1; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 10); diff --git a/sc2/src/uqm/planets/generate/genspa.c b/sc2/src/uqm/planets/generate/genspa.c index 82bd50dff..9ef572cdb 100644 --- a/sc2/src/uqm/planets/generate/genspa.c +++ b/sc2/src/uqm/planets/generate/genspa.c @@ -212,7 +212,9 @@ GenerateSpathi_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; @@ -256,9 +258,7 @@ GenerateSpathi_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, solarSys->SysInfo.PlanetInfo.CurPt.y = (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = NUM_CREATURE_TYPES; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 32); diff --git a/sc2/src/uqm/planets/generate/gensup.c b/sc2/src/uqm/planets/generate/gensup.c index 32d7f9dbc..f8ab0ef91 100644 --- a/sc2/src/uqm/planets/generate/gensup.c +++ b/sc2/src/uqm/planets/generate/gensup.c @@ -158,9 +158,7 @@ GenerateSupox_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, SET_GAME_STATE (ULTRON_CONDITION, 1); } } - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genthrad.c b/sc2/src/uqm/planets/generate/genthrad.c index 5b366b944..d1e81dcac 100644 --- a/sc2/src/uqm/planets/generate/genthrad.c +++ b/sc2/src/uqm/planets/generate/genthrad.c @@ -181,9 +181,7 @@ GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); @@ -207,7 +205,9 @@ GenerateThraddash_generateEnergy (SOLARSYS_STATE *solarSys, solarSys->SysInfo.PlanetInfo.CurType = 0; if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; diff --git a/sc2/src/uqm/planets/generate/genutw.c b/sc2/src/uqm/planets/generate/genutw.c index c056e984c..35e7f89bf 100644 --- a/sc2/src/uqm/planets/generate/genutw.c +++ b/sc2/src/uqm/planets/generate/genutw.c @@ -231,9 +231,7 @@ GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); @@ -260,7 +258,9 @@ GenerateUtwig_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; diff --git a/sc2/src/uqm/planets/generate/genvux.c b/sc2/src/uqm/planets/generate/genvux.c index c82f639cf..ae779ac3a 100644 --- a/sc2/src/uqm/planets/generate/genvux.c +++ b/sc2/src/uqm/planets/generate/genvux.c @@ -219,7 +219,9 @@ GenerateVux_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] & (1L << 0)) && *whichNode == (COUNT)~0) + { *whichNode = 1; + } else { *whichNode = 0; @@ -254,9 +256,7 @@ GenerateVux_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); @@ -298,9 +298,7 @@ GenerateVux_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, solarSys->SysInfo.PlanetInfo.CurType = 14; else /* if (i < 12) */ solarSys->SysInfo.PlanetInfo.CurType = 18; - if (i >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] - & (1L << i))) + if (i >= *whichNode) break; } while (++i < 12); *whichNode = i; @@ -334,11 +332,7 @@ GenerateVux_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, else /* if (i <= 10) */ /* {BEHAVIOR_UNPREDICTABLE | SPEED_SLOW | DANGER_NORMAL, MAKE_BYTE (3, 8)}, */ solarSys->SysInfo.PlanetInfo.CurType = 8; - if (i >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] - & (1L << i))) - break; - else if (i == 0 + if (i == 0 && (solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] & (1L << i)) && !GET_GAME_STATE (VUX_BEAST)) @@ -351,6 +345,8 @@ GenerateVux_generateLife (SOLARSYS_STATE *solarSys, PLANET_DESC *world, SET_GAME_STATE (VUX_BEAST, 1); SET_GAME_STATE (VUX_BEAST_ON_SHIP, 1); } + if (i >= *whichNode) + break; } while (++i < 11); *whichNode = i; diff --git a/sc2/src/uqm/planets/generate/genyeh.c b/sc2/src/uqm/planets/generate/genyeh.c index c60168217..3129d86b2 100644 --- a/sc2/src/uqm/planets/generate/genyeh.c +++ b/sc2/src/uqm/planets/generate/genyeh.c @@ -132,9 +132,7 @@ GenerateYehat_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/generate/genzoq.c b/sc2/src/uqm/planets/generate/genzoq.c index f46320d7f..fa7936573 100644 --- a/sc2/src/uqm/planets/generate/genzoq.c +++ b/sc2/src/uqm/planets/generate/genzoq.c @@ -162,9 +162,7 @@ GenerateZoqFotPik_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world, (HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8; solarSys->SysInfo.PlanetInfo.CurType = 1; solarSys->SysInfo.PlanetInfo.CurDensity = 0; - if (nodeI >= *whichNode - && !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN] - & (1L << i))) + if (nodeI >= *whichNode) break; ++nodeI; } while (++i < 16); diff --git a/sc2/src/uqm/planets/surface.c b/sc2/src/uqm/planets/surface.c index d3fb8d26c..7a5ccfa1b 100644 --- a/sc2/src/uqm/planets/surface.c +++ b/sc2/src/uqm/planets/surface.c @@ -82,9 +82,7 @@ CalcMineralDeposits (SYSTEM_INFO *SysInfoPtr, COUNT which_deposit) SysInfoPtr->PlanetInfo.CurDensity, Elements[eptr->ElementType].name); #endif /* DEBUG_SURFACE */ - if ((num_deposits >= which_deposit - && !(SysInfoPtr->PlanetInfo.ScanRetrieveMask[MINERAL_SCAN] - & (1L << num_deposits))) + if (num_deposits >= which_deposit || ++num_deposits == sizeof (DWORD) * 8) goto ExitCalcMinerals; } @@ -228,9 +226,7 @@ CalcLifeForms (SYSTEM_INFO *SysInfoPtr, COUNT which_life) (HIBYTE (rand_val) % (MAP_HEIGHT - (8 << 1))) + 8; SysInfoPtr->PlanetInfo.CurType = index; - if ((num_life_forms >= which_life - && !(SysInfoPtr->PlanetInfo.ScanRetrieveMask[BIOLOGICAL_SCAN] - & (1L << num_life_forms))) + if (num_life_forms >= which_life || ++num_life_forms == sizeof (DWORD) * 8) { num_types = 1;