More docking computer fixes. Hopefully fixed the bug where stations were sometimes being targeted at huge distances.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@2200 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
f5e9eaa1c4
commit
808e3c79a8
@ -838,7 +838,7 @@ static NSTimeInterval time_last_frame;
|
|||||||
if (isOkayToUseAutopilot)
|
if (isOkayToUseAutopilot)
|
||||||
{
|
{
|
||||||
primaryTarget = NO_TARGET;
|
primaryTarget = NO_TARGET;
|
||||||
[self setTargetToSystemStation];
|
targetStation = [[UNIVERSE station] universalID];
|
||||||
autopilot_engaged = YES;
|
autopilot_engaged = YES;
|
||||||
ident_engaged = NO;
|
ident_engaged = NO;
|
||||||
[self safeAllMissiles];
|
[self safeAllMissiles];
|
||||||
@ -2775,6 +2775,7 @@ static BOOL toggling_music;
|
|||||||
frustration = 0.0;
|
frustration = 0.0;
|
||||||
autopilot_engaged = NO;
|
autopilot_engaged = NO;
|
||||||
primaryTarget = NO_TARGET;
|
primaryTarget = NO_TARGET;
|
||||||
|
targetStation = NO_TARGET;
|
||||||
[self setStatus:STATUS_IN_FLIGHT];
|
[self setStatus:STATUS_IN_FLIGHT];
|
||||||
[self playAutopilotOff];
|
[self playAutopilotOff];
|
||||||
[UNIVERSE addMessage:DESC(@"autopilot-off") forCount:4.5];
|
[UNIVERSE addMessage:DESC(@"autopilot-off") forCount:4.5];
|
||||||
|
@ -1863,8 +1863,11 @@ static WormholeEntity *whole = nil;
|
|||||||
StationEntity *station = nil;
|
StationEntity *station = nil;
|
||||||
Entity *targStation = nil;
|
Entity *targStation = nil;
|
||||||
NSString *message = nil;
|
NSString *message = nil;
|
||||||
|
double distanceToStation2 = 0.0;
|
||||||
|
BOOL insideMainStationAegis = NO;
|
||||||
|
|
||||||
targStation = [UNIVERSE entityForUniversalID:targetStation];
|
targStation = [UNIVERSE entityForUniversalID:targetStation];
|
||||||
|
insideMainStationAegis = (targStation == [UNIVERSE station] && [self withinStationAegis]);
|
||||||
if ([targStation isStation])
|
if ([targStation isStation])
|
||||||
{
|
{
|
||||||
station = (StationEntity*)targStation;
|
station = (StationEntity*)targStation;
|
||||||
@ -1876,7 +1879,9 @@ static WormholeEntity *whole = nil;
|
|||||||
relativeToEntity:self];
|
relativeToEntity:self];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (station != nil)
|
distanceToStation2 = distance2( [station position], [self position] );
|
||||||
|
|
||||||
|
if ((station != nil && distanceToStation2 < SCANNER_MAX_RANGE2) || insideMainStationAegis)
|
||||||
{
|
{
|
||||||
// remember the instructions
|
// remember the instructions
|
||||||
[dockingInstructions release];
|
[dockingInstructions release];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user