So here it is (or at least will be when I've got it all together): version 3 of the rescaling experiment.
Empty areas will be filled in when I get the chance (the work is done, it's just not in an easy cut and paste format) but even empty they are illustrative of some of the changes required.
Apologies if it isn't yet up to date with the latest source but listing it here will help me to fix that should it be necessary.
Part I: System Rescaling
Make planets, suns and moons bigger
OOPlanetEntity.m line 120 Code: Select all
collision_radius = radius_km * 33.0;
Adjust planet size on F7 screen
OOStellarBody.h line 53 Code: Select all
#define PLANET_MINIATURE_FACTOR 0.0005
Increase torus drive multiplier
PlayerEntity.h line 314 Code: Select all
#define MIN_HYPERSPEED_FACTOR 128.0
PlayerEntity.h line 315 Code: Select all
#define MAX_HYPERSPEED_FACTOR 80192.0
PlayerEntity.h line 317
Increase torus drive decelleration
PlayerEntity.m line 2955 Code: Select all
float deceleration = (speed_delta * delta_t * HYPERSPEED_FACTOR * 8);
Reduce mass-lock radius for planets and suns
PlayerEntity.m line 3215 Code: Select all
double factor = ([stellar isSun]) ? 1.4 : 1.0;
Adjust sun-skimming parameters for non-player ships
ShipEntity.m line 730 untested but necessary due to larger suns and lack of torus drive
Code: Select all
[self setHeatInsulation:[shipDict oo_floatForKey:@"heat_insulation" defaultValue:[self hasHeatShield] ? 6.6 : 3.3]];
Part II: System Rearrangement
Double (approx.) planet distance from witchpoint
Universe.m line 891 Code: Select all
planet_zpos *= [planetDict oo_floatForKey:@"planet_distance_multiplier" defaultValue:5.0];
Increase distance of star
planetinfo.plist (universal)
Halve orbit of station
Universe.m line 1150 Code: Select all
stationPos = HPvector_subtract(stationPos, vectorToHPVector(vector_multiply_scalar(vf, 1.5 * planet_radius)));
Bring nav beacon closer to station
oolite-populator.js line 119 Code: Select all
coordinates: system.mainStation.position.add(system.mainStation.vectorForward.multiply(5E3)),
Adjust the space-lane
Universe.m line 116 Code: Select all
#define LANE_WIDTH (4.0 * SCANNER_MAX_RANGE)
Universe.m line 1459 Code: Select all
result = OORandomPositionInCylinder(kZeroHPVector,SCANNER_MAX_RANGE,[planet position],[planet radius]*1.1,LANE_WIDTH);
Universe.m line 1467 Code: Select all
result = OORandomPositionInCylinder([planet position],[planet radius]*1.1,[sun position],[sun radius]*3,LANE_WIDTH);
Enable large objects to appear at much greater distances
Entity.h line 47 Code: Select all
#define ABSOLUTE_NO_DRAW_DISTANCE2 (25000.0 * 25000.0 * NO_DRAW_DISTANCE_FACTOR * NO_DRAW_DISTANCE_FACTOR)
Add asteroids of variable size
oolite-populator.js line 144 Code: Select all
var clusters = 4*(1+Math.floor(system.scrambledPseudoRandomNumber(51728)*4));
I was using 8* for testing but that's probably too strong and this line could be omitted altogether (it just adds more asteroids but then the space lane is twice as long...).
shipdata.plist (Asteroid & Asteroid Alt)
shipdata.plist (New Asteroids)
Code: Select all
"oolite_template_asteroid_small" =
{
like_ship = "oolite_template_asteroid";
bounty = 5;
is_template = 1;
likely_cargo = 2;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
model = "oolite_asteroid.dat";
model_scale_factor = 0.33;
name = "Small Asteroid";
roles = "asteroid";
};
"oolite_template_asteroid_small_alt" =
{
like_ship = "oolite_template_asteroid";
bounty = 5;
is_template = 1;
likely_cargo = 2;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
model = "oolite_alt_asteroid.dat";
model_scale_factor = 0.33;
name = "Small Asteroid";
roles = "asteroid";
};
"oolite_template_asteroid_large" =
{
like_ship = "oolite_template_asteroid";
bounty = 30;
is_template = 1;
likely_cargo = 12;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
max_energy = 100;
energy_recharge_rate = 500;
model = "oolite_asteroid.dat";
model_scale_factor = 3.3;
name = "Large Asteroid";
roles = "asteroid(0.25)";
};
"oolite_template_asteroid_large_alt" =
{
like_ship = "oolite_template_asteroid";
bounty = 30;
is_template = 1;
likely_cargo = 12;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
max_energy = 100;
energy_recharge_rate = 500;
model = "oolite_alt_asteroid.dat";
model_scale_factor = 3.3;
name = "Large Asteroid";
roles = "asteroid(0.25)";
};
"oolite_template_asteroid_huge" =
{
like_ship = "oolite_template_asteroid";
bounty = 100;
is_template = 1;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
max_energy = 25000;
energy_recharge_rate = 500;
model = "oolite_asteroid.dat";
model_scale_factor = 6.6;
name = "Huge Asteroid";
roles = "asteroid(0.05)";
};
"oolite_template_asteroid_huge_alt" =
{
like_ship = "oolite_template_asteroid";
bounty = 100;
is_template = 1;
materials =
{
"oolite_alt_asteroid_diffuse.png" =
{
shininess = 7;
specular_color = (0.3, 0.3, 0.3, 1.0);
};
};
max_energy = 25000;
energy_recharge_rate = 500;
model = "oolite_alt_asteroid.dat";
model_scale_factor = 6.6;
name = "Huge Asteroid";
roles = "asteroid(0.05)";
};
"asteroid-small" =
{
like_ship = "oolite_template_asteroid_small";
};
"asteroid-alternative-small" =
{
like_ship = "oolite_template_asteroid_small_alt";
};
"asteroid-large" =
{
like_ship = "oolite_template_asteroid_large";
};
"asteroid-alternative-large" =
{
like_ship = "oolite_template_asteroid_large_alt";
};
"asteroid-huge" =
{
like_ship = "oolite_template_asteroid_huge";
};
"asteroid-alternative-huge" =
{
like_ship = "oolite_template_asteroid_huge_alt";
};
Part III: Ship Rescaling
Reduce the scanner Radius
Entity.h line 50
Entity.h line 51 Code: Select all
#define SCANNER_MAX_RANGE2 163840000.0
Prevent 'lollypops' from appearing outside the scanner
HeadUpDisplay.h line 42
Reduce thargoid scanner range
shipdata.plist (Thargoid)
Reduce laser ranges
equipment.plist (Pulse Laser & Beam Laser ranges)
equipment.plist (Mining Laser range)
equipment.plist (Military Laser range)
equipment.plist (Thargoid Laser range)
Rescale
some ship models
shipdata.plist (Adder, All Alloys, All Barrels, All Missiles, Escape Capsule, Gecko, QBomb, Sidewinder, All Splinters, Thargon, Worm, All Wreckage)
shipdata.plist (Mamba, Viper)
shipdata.plist (Asp, Constrictor, Krait, Moray, Viper Interceptor)
shipdata.plist (All Boulders, All Buoys, Cobra3, Cobramk1, Ferdelance, Thargoid, )
Adjust shipdata and halve speeds
shipdata.plist
All ships and entities to have both speed and thrust divided by two
Adjust turret speed & range (calculated from speed)
ShipEntity.h line 80
Adjust ship behaviour to new ranges
ShipEntity.m line 4703
Code: Select all
if (getWeaponRangeFromType(forward_weapon_real_type) > 3750 && range > 3750)
ShipEntity.m line 5042
ShipEntity.m line 5279
ShipEntity.m line 13906
Code: Select all
double range2, nearest2 = SCANNER_MAX_RANGE2 * 10000000.0;