Hi,
I'm running my own compiled-from-svn-but-otherwise-unhacked copy of Oolite 1.72 (Compiled/running under Ubuntu) and quite often the Mass-lock won't disengage. Haven't found a magic formula as to when it 'sticks'.
Has anybody else seen this? Any suggestions of where I should look to fix this?
Combined with no fuel (for fuel injectors) and it's impossible to scoop fuel (at large suns).
[Off-topic, but something I've wanted to raise anyways]
I must say while it may be more realistic it's just about impossible to scoop fuel as per the original (C64) Elite. In C64 Elite the heat was essentially the altimeter for Stars - the closer you got the hotter you got, but as soon as you turned around you started cooling again. Fuel started getting scooped from a particular temperature.
In Oolite to successfully scoop without Hyperspacing you pretty much need Fuel Scoops, Heat Shielding, and Fuel Injectors - which is much too high an outlay for scooping fuel which only costs a few Credits (but a few Credits too much for a miser like me!).
The upshot is that IMHO this reduces the fun factor. YMMV.
[/offtopic]
Oolite 1.72 svn - mass lock broken?
Moderators: winston, another_commander, Getafix
- Cmdr James
- Commodore
- Posts: 1357
- Joined: Tue Jun 05, 2007 10:43 pm
- Location: Berlin
I have seen it. I think it was caused by a change in version 1644 in HeadUpDisplay.m
I dont realy understand this change, I think it could be as simple as
I think there might be some kind of problem that could be solved by adding some brackets or something. Right now I cant see it, maybe it will be clearer in the morning
Code: Select all
//mass lock no closer than 25 km from the surface
if (dist< rad*rad +50000*rad+625000000 || dist < rad*rad*factor)
{
mass_locked = YES;
}
Code: Select all
//mass lock no closer than 25 km from the surface
if (dist< (rad + 25000000) || dist < rad*rad*factor)
{
mass_locked = YES;
}
Thanks - I'd gone through a whole bunch of diffs of various versions of eadupDisplay but didn't find this particular change.
Furthermore, shouldn't Asteroids (or at least large ones if one has the Asteroids OXP installed) cause mass-lock as well? Perhaps anything which has a collision-radius above a certain threshold.
Furthermore, shouldn't Asteroids (or at least large ones if one has the Asteroids OXP installed) cause mass-lock as well? Perhaps anything which has a collision-radius above a certain threshold.
- LittleBear
- ---- E L I T E ----
- Posts: 2882
- Joined: Tue Apr 04, 2006 7:02 pm
- Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.
Unpowered objects (white on the scanner) don't mass lock you. However, large objects including the Large Asteroids do stop you making a H jump if you are too near them.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
Ok, I implemented Cmdr James' suggested fix and it's appeared to have done the trick until just now - in a Communist System (with the Commies OXP) and I got the mass-lock bug again against a Commie Factory after launching from it. Considering the alert status changed from Yellow to Green once I was out of range of the station the code -should- have also cleared the mass-lock flag. I'll put in some debug to see exactly why the mass-lock flag isn't being cleared.
Also, I've played around a bit and implemented the following:
* Mass-lock against largish Asteroids
* Modify Alert Status to Yellow only when in the vicinity of potential hostiles - that is, Planets, Suns, and Asteroids don't change the Alert Status even though they mass-lock you.
It's personal preference for me, but is anybody else interested in these changes?
Also, I've played around a bit and implemented the following:
* Mass-lock against largish Asteroids
* Modify Alert Status to Yellow only when in the vicinity of potential hostiles - that is, Planets, Suns, and Asteroids don't change the Alert Status even though they mass-lock you.
It's personal preference for me, but is anybody else interested in these changes?
The glass is twice as big as it needs to be.
Ok, using a debugger I got the bug and found that the zero_distance to the planet was (a) within the mass-lock limits (it shouldn't have been) and (b) wasn'tt being updated.
[edit]In fact, the zero_distance always seems to get stuck at 430400 - couldn't find this value as a hard-coded magic number anywhere, does it ring any bells with anybody?[/edit]
Unfortunately I can't reproduce it between runs using the same binary, and the same save-file - sometimes it happens, usually it doesn't.
[edit]In fact, the zero_distance always seems to get stuck at 430400 - couldn't find this value as a hard-coded magic number anywhere, does it ring any bells with anybody?[/edit]
Unfortunately I can't reproduce it between runs using the same binary, and the same save-file - sometimes it happens, usually it doesn't.
The glass is twice as big as it needs to be.
Haven't gotten this bug for ages, and it's reared its ugly head again tonight.
Discovered that whenever it occurs, there's a PLANET_TYPE_MINIATURE in the system:
It is always at zero_distance 430400 and hence mass-locks the ship. Its SCAN_CLASS is CLASS_NO_DRAW.
Anybody know where these entities are generated and why?
<edit>AHA!! They get created when one looks at the System Info page. The (hackish?) fix is quite simple, here's the patch:
<snipped in edit2>
Perhaps a better patch would be to figure out why the miniature planet doesn't always get destroyed when leaving the System Info screen and ensuring it does..</edit>
<edit2>Bug 014618 raised and patch removed from here to reduce spamming.</edit2>
Discovered that whenever it occurs, there's a PLANET_TYPE_MINIATURE in the system:
Code: Select all
[universe.objectDump]: -> Ent:2 <PlanetEntity 0x12b55780>{ID: 446 position: (120, 80, 640) type: PLANET_TYPE_MINIATURE radius: 0.111km} mass 1000000000.00 (nil)
Anybody know where these entities are generated and why?
<edit>AHA!! They get created when one looks at the System Info page. The (hackish?) fix is quite simple, here's the patch:
<snipped in edit2>
Perhaps a better patch would be to figure out why the miniature planet doesn't always get destroyed when leaving the System Info screen and ensuring it does..</edit>
<edit2>Bug 014618 raised and patch removed from here to reduce spamming.</edit2>
The glass is twice as big as it needs to be.