Re: Split: Re-scaling experiment
Posted: Thu Oct 23, 2014 6:27 am
Oh yeah! That's more like it!another_commander wrote:For the first time, the Anaconda feels truly massive. Bring on the 750 tonnes!
For information and discussion about Oolite.
https://bb.oolite.space/
Oh yeah! That's more like it!another_commander wrote:For the first time, the Anaconda feels truly massive. Bring on the 750 tonnes!
oolite-priorityai.js
and ShipEntity.m
were quite trivial to deal with, but the ones (well, the first one, particularly) in Universe.m
are a different matter, so I'm hoping that another_commander and/or Redspear can help me out here.Code: Select all
<<<<<<< Updated upstream
double planet_zpos = [planetDict oo_floatForKey:@"planet_distance" defaultValue:500000];
planet_zpos *= [planetDict oo_floatForKey:@"planet_distance_multiplier" defaultValue:1.0];
=======
double planet_radius = [a_planet radius];
double planet_zpos = (24.0 + (Ranrot() & 3) - (Ranrot() & 3) ) * planet_radius; // 9..15 pr (planet radii) ahead // original value 12.0-now 24.0
>>>>>>> Stashed changes
Code: Select all
<<<<<<< Updated upstream
vf = [systeminfo oo_vectorForKey:@"station_vector"];
#ifdef OO_DUMP_PLANETINFO
OOLog(@"planetinfo.record",@"station_vector = %.3f %.3f %.3f",vf.x,vf.y,vf.z);
#endif
stationPos = HPvector_subtract(stationPos, vectorToHPVector(vector_multiply_scalar(vf, 2.0 * planet_radius)));
=======
Quaternion q_station;
do
{
quaternion_set_random(&q_station);
vf = vector_forward_from_quaternion(q_station);
}
while (vf.z <= 0.0); // keep station on the correct side of the planet
stationPos = HPvector_subtract(stationPos, vectorToHPVector(vector_multiply_scalar(vf, 1.5 * planet_radius))); // original value 2.0
>>>>>>> Stashed changes
(vector_multiply_scalar(vf, [color=#FF0000]2.0[/color] * planet_radius))
to (vector_multiply_scalar(vf, [color=#FF0000]1.5[/color] * planet_radius))
in the upstream version of the code, but the first conflict has me baffled as to how best to proceed..planetinfo.plist
now contains explicit radius
and planet_distance
properties for all main planets. However, to make situations like this easier, there's also a new planet_distance_multiplier
property which multiplies the distance by itself."planet_distance_multiplier" = 6;
to the universal section of planetinfo.plist
Rescaling_Oolite_OXP
with an update for the new core planetinfo.plist
file.Download here.This zip contains a 32bit and a 64bit Windows executable combining Redspear's rescaling experiment code with the current (84e97c1) trunk code. It is not guaranteed to work with earlier versions of trunk. To use, you must have Oolite Trunk installed alongside your normal Oolite install, and it must be updated to the current version. If you don't already have it installed, you can obtain the current nightly build at http://terrastorage.no-ip.info/oolite/status_win64.html or http://terrastorage.no-ip.info/oolite/status_win32.html as appropriate. Make a copy of the existing oolite.exe file, and save it somewhere, so you can put it back later, if desired. Then replace it with the testing executable for your system.
Please report the results of your testing in the Rescaling Experiment thread on the Oolite BB.
A copy of js32ECMAv5dbg.dll is also included. You may need to copy this to the Trunk's /oolite.app folder as well, in order to run the game.
Due to extensive changes in trunk over the last few months, it was also necessary to update Redspear's Rescaling_Oolite_OXP, to include a small addition to planetinfo.plist. The new version (1.2) is included in this bundle.
Please remember that at the current state of Oolite Trunk, any game-save you use for testing will not load correctly under Oolite 1.80. If you wish to use your current Commander rather than starting a new test-Commander, be sure to use a renamed copy. If you start a new Commander, you may want to hack the save file to provide sufficient credits for whatever equipment you prefer to use during the test.. at minimum you will probably want injectors, so as not to be constantly sidetracked by pirates and masslocks.
Universe.m
, OOStellarBody.h
and OOPlanetEntity.m
(or in other files) to get things back on track?sun_distance_multiplier
will save a lot of time on system scalesplanetinfo.plist
planetinfo.plist
entries.Universe.m
and OOPlanetEntity.m
, we will now need to alter every individual planetary radius
, sun_radius
and z-distance via planetinfo.plist
?sun_distance_multiplier
and planet_distance_multiplier
.. I'd like to request sun_radius_multiplier
and planet_radius_multiplier
as well, if that's not too hard to add to the code. It would tremendously simplify altering planetinfo.plist
if we could do that.planetinfo.plist
.. what exactly does that refer to? Do we need to make an additional entry for each system?)You still have the option of patching those two files to apply the multiplier and recompiling. (For planets, you almost certainly would want to do this, as it's the scaling factor between F7 radius and in-game radius you wish to adjust)Diziet Sma wrote:So instead of the old method of making a couple of changes toUniverse.m
andOOPlanetEntity.m
, we will now need to alter every individual planetaryradius
,sun_radius
and z-distance viaplanetinfo.plist
?
z-distance is theDiziet Sma wrote:(Incidentally, I don't see z-distance mentioned inplanetinfo.plist
.. what exactly does that refer to? Do we need to make an additional entry for each system?)
planet_distance
key. It's the z-coordinate of the centre of the main planet.Providing it doesn't adversely affect the F7 radius, yes please.cim wrote:I can have a look at adding these parameters, though.