Fixed bug when generating system information for systems sharing the same coordinates in the same galaxy. Suppressed bogus internal error message when galactic jumping.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@4499 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
Nikos Barkas 2011-03-30 20:59:54 +00:00
parent 08f5c8fd03
commit 873c1b6546
2 changed files with 5 additions and 4 deletions

View File

@ -4729,7 +4729,8 @@ static bool minShieldLevelPercentageInitialised = false;
else
compassMode = COMPASS_MODE_BASIC;
if ( ![self wormhole] ) {
if ( ![self wormhole] && !galactic_witchjump) // galactic hyperspace does not generate a wormhole
{
OOLog(kOOLogInconsistentState, @"Internal Error : Player entering witchspace with no wormhole.");
}
[UNIVERSE allShipsDoScriptEvent:OOJSID("playerWillEnterWitchspace") andReactToAIMessage:@"PLAYER WITCHSPACE"];

View File

@ -57,6 +57,7 @@ MA 02110-1301, USA.
#import "PlayerEntity.h"
#import "PlayerEntityContracts.h"
#import "PlayerEntityScriptMethods.h"
#import "StationEntity.h"
#import "SkyEntity.h"
#import "DustEntity.h"
@ -5895,7 +5896,7 @@ static NSDictionary *sCachedSystemData = nil;
NSString *overrideKey = [NSString stringWithFormat:@"%u %u", gnum, pnum];
Random_Seed s_seed = [self systemSeedForSystemNumber:pnum];
BOOL sameGalaxy = ([overrideKey isEqualToString:[self keyForPlanetOverridesForSystemSeed:s_seed inGalaxySeed: galaxy_seed]]);
BOOL sameGalaxy = (gnum == [PLAYER currentGalaxyID]);
BOOL sameSystem = (sameGalaxy && equal_seeds([self systemSeed], s_seed));
NSDictionary *sysInfo = nil;
@ -5989,9 +5990,8 @@ static NSDictionary *sCachedSystemData = nil;
- (NSDictionary *) generateSystemDataForGalaxy:(OOGalaxyID)gnum planet:(OOSystemID)pnum
{
NSString *overrideKey = [NSString stringWithFormat:@"%u %u", gnum, pnum];
Random_Seed s_seed = [self systemSeedForSystemNumber:pnum];
BOOL sameGalaxy = [overrideKey isEqualToString:[self keyForPlanetOverridesForSystemSeed:s_seed inGalaxySeed: galaxy_seed]];
BOOL sameGalaxy = (gnum == [PLAYER currentGalaxyID]);
if (sameGalaxy)
{