Various minor fixes I've forgotten about. Much too little work on camera system. JS shipLaunchedEscapePod called (for player) before resetting legal status and trumbles.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1701 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
8f745e8978
commit
f16c5b3629
@ -3552,6 +3552,119 @@
|
|||||||
};
|
};
|
||||||
name = TestRelease;
|
name = TestRelease;
|
||||||
};
|
};
|
||||||
|
1A581F5C0E311A59007594C1 /* Debug GCC 4.2/Leopard */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_VERSION = 4.2;
|
||||||
|
HEADER_SEARCH_PATHS = "$(HEADER_SEARCH_PATHS_QUOTED_1)";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/Cocoa-deps/Ogg Vorbis\"";
|
||||||
|
LIBRARY_SEARCH_PATHS = "$(LIBRARY_SEARCH_PATHS_QUOTED_1)";
|
||||||
|
LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/Cocoa-deps/Ogg Vorbis\"";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.3;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET_i386 = 10.4;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET_ppc = 10.3;
|
||||||
|
OTHER_CFLAGS = "-DLOADSAVEGUI";
|
||||||
|
SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
|
||||||
|
};
|
||||||
|
name = "Debug GCC 4.2/Leopard";
|
||||||
|
};
|
||||||
|
1A581F5D0E311A59007594C1 /* Debug GCC 4.2/Leopard */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
PRODUCT_NAME = "Build All";
|
||||||
|
};
|
||||||
|
name = "Debug GCC 4.2/Leopard";
|
||||||
|
};
|
||||||
|
1A581F5E0E311A59007594C1 /* Debug GCC 4.2/Leopard */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
baseConfigurationReference = 1A846BA90D79F9570081280D /* oolite-version.xcconfig */;
|
||||||
|
buildSettings = {
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
COPY_SCHEMATA = 1;
|
||||||
|
DEAD_CODE_STRIPPING = YES;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
EXPORTED_SYMBOLS_FILE = "src/Cocoa/debug-exports.exp";
|
||||||
|
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/deps/Cocoa-deps/\"";
|
||||||
|
GCC_DEBUGGING_SYMBOLS = full;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = XP_UNIX;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = (
|
||||||
|
OO_DEBUG,
|
||||||
|
DEBUG_GRAPHVIZ,
|
||||||
|
DEBUG,
|
||||||
|
);
|
||||||
|
GCC_REUSE_STRINGS = YES;
|
||||||
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_1)",
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_2)",
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_3)",
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_4)",
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_5)",
|
||||||
|
"$(HEADER_SEARCH_PATHS_QUOTED_6)",
|
||||||
|
);
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/deps/Cocoa-deps/Ogg Vorbis\"";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/src/Core/\"";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_3 = "\"$(SRCROOT)/src/Core/Entites/\"";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_4 = "\"$(SRCROOT)/src/Core/Materials/\"";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_5 = "\"$(SRCROOT)/deps/Cross-platform-deps/SpiderMonkey/js/src\"";
|
||||||
|
HEADER_SEARCH_PATHS_QUOTED_6 = "\"$(SRCROOT)/deps/Cross-platform-deps/SpiderMonkey/js/xcode\"";
|
||||||
|
INFOPLIST_EXPAND_BUILD_SETTINGS = YES;
|
||||||
|
INFOPLIST_FILE = "src/Cocoa/Info-OoliteDev.plist";
|
||||||
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.3;
|
||||||
|
OGGVORBISROOT = "$(SRCROOT)/deps/Cocoa-deps/Ogg\\ Vorbis";
|
||||||
|
OTHER_CFLAGS = "-DLOADSAVEGUIXX";
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"$(OTHER_LDFLAGS_QUOTED_FOR_TARGET_1)",
|
||||||
|
"$(OTHER_LDFLAGS_QUOTED_FOR_TARGET_2)",
|
||||||
|
);
|
||||||
|
OTHER_LDFLAGS_QUOTED_FOR_TARGET_1 = "\"$(OGGVORBISROOT)/libOgg.a\"";
|
||||||
|
OTHER_LDFLAGS_QUOTED_FOR_TARGET_2 = "\"$(OGGVORBISROOT)/libVorbisAll.a\"";
|
||||||
|
PRODUCT_NAME = OoliteDev;
|
||||||
|
SECTORDER_FLAGS = "";
|
||||||
|
USER_HEADER_SEARCH_PATHS = "\"$(SRCROOT)/src/Core/\" \"$(SRCROOT)/src/Core/Entites/\" \"$(SRCROOT)/src/Core/Materials/\" \"$(SRCROOT)/src/BSDCompat/\"";
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wall",
|
||||||
|
"-Wextra",
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
"-Wno-missing-field-initializers",
|
||||||
|
);
|
||||||
|
WRAPPER_EXTENSION = app;
|
||||||
|
ZERO_LINK = NO;
|
||||||
|
};
|
||||||
|
name = "Debug GCC 4.2/Leopard";
|
||||||
|
};
|
||||||
|
1A581F5F0E311A59007594C1 /* Debug GCC 4.2/Leopard */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = PNG_USER_CONFIG;
|
||||||
|
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/src/Core/Materials/\"";
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 10.3;
|
||||||
|
PREBINDING = NO;
|
||||||
|
PRODUCT_NAME = png;
|
||||||
|
SDKROOT_i386 = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk";
|
||||||
|
ZERO_LINK = NO;
|
||||||
|
};
|
||||||
|
name = "Debug GCC 4.2/Leopard";
|
||||||
|
};
|
||||||
1A71E6FD0BCE345800CD5C13 /* Development */ = {
|
1A71E6FD0BCE345800CD5C13 /* Development */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
@ -3628,6 +3741,7 @@
|
|||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
08B31CAD08FE63D70038D42F /* Development */,
|
08B31CAD08FE63D70038D42F /* Development */,
|
||||||
|
1A581F5E0E311A59007594C1 /* Debug GCC 4.2/Leopard */,
|
||||||
08B31CAE08FE63D70038D42F /* Deployment */,
|
08B31CAE08FE63D70038D42F /* Deployment */,
|
||||||
1A0832D70C2F105000E3AE25 /* TestRelease */,
|
1A0832D70C2F105000E3AE25 /* TestRelease */,
|
||||||
);
|
);
|
||||||
@ -3638,6 +3752,7 @@
|
|||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
08B31CB108FE63D70038D42F /* Development */,
|
08B31CB108FE63D70038D42F /* Development */,
|
||||||
|
1A581F5C0E311A59007594C1 /* Debug GCC 4.2/Leopard */,
|
||||||
08B31CB208FE63D70038D42F /* Deployment */,
|
08B31CB208FE63D70038D42F /* Deployment */,
|
||||||
1A0832D80C2F105000E3AE25 /* TestRelease */,
|
1A0832D80C2F105000E3AE25 /* TestRelease */,
|
||||||
);
|
);
|
||||||
@ -3648,6 +3763,7 @@
|
|||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
1A71E6FD0BCE345800CD5C13 /* Development */,
|
1A71E6FD0BCE345800CD5C13 /* Development */,
|
||||||
|
1A581F5F0E311A59007594C1 /* Debug GCC 4.2/Leopard */,
|
||||||
1A71E6FE0BCE345800CD5C13 /* Deployment */,
|
1A71E6FE0BCE345800CD5C13 /* Deployment */,
|
||||||
1A0832D60C2F105000E3AE25 /* TestRelease */,
|
1A0832D60C2F105000E3AE25 /* TestRelease */,
|
||||||
);
|
);
|
||||||
@ -3658,6 +3774,7 @@
|
|||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
1AD267690C8305A200B4BFD1 /* Development */,
|
1AD267690C8305A200B4BFD1 /* Development */,
|
||||||
|
1A581F5D0E311A59007594C1 /* Debug GCC 4.2/Leopard */,
|
||||||
1AD2676A0C8305A200B4BFD1 /* Deployment */,
|
1AD2676A0C8305A200B4BFD1 /* Deployment */,
|
||||||
1AD2676B0C8305A200B4BFD1 /* TestRelease */,
|
1AD2676B0C8305A200B4BFD1 /* TestRelease */,
|
||||||
);
|
);
|
||||||
|
@ -32,7 +32,7 @@ MA 02110-1301, USA.
|
|||||||
|
|
||||||
@class GuiDisplayGen, OOTrumble, MyOpenGLView, HeadUpDisplay, ShipEntity;
|
@class GuiDisplayGen, OOTrumble, MyOpenGLView, HeadUpDisplay, ShipEntity;
|
||||||
@class OOSound, OOSoundSource, OOSoundReferencePoint;
|
@class OOSound, OOSoundSource, OOSoundReferencePoint;
|
||||||
@class JoystickHandler, OOTexture;
|
@class JoystickHandler, OOTexture, OOCamera;
|
||||||
|
|
||||||
#define SCRIPT_TIMER_INTERVAL 10.0
|
#define SCRIPT_TIMER_INTERVAL 10.0
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ typedef enum
|
|||||||
OOCargoQuantity current_cargo;
|
OOCargoQuantity current_cargo;
|
||||||
|
|
||||||
NSPoint cursor_coordinates;
|
NSPoint cursor_coordinates;
|
||||||
double witchspaceCountdown;
|
float witchspaceCountdown;
|
||||||
|
|
||||||
// player commander data
|
// player commander data
|
||||||
NSString *player_name;
|
NSString *player_name;
|
||||||
@ -659,6 +659,8 @@ waitingForStickCallback: 1;
|
|||||||
- (Vector) viewpointPosition;
|
- (Vector) viewpointPosition;
|
||||||
- (Vector) viewpointOffset;
|
- (Vector) viewpointOffset;
|
||||||
|
|
||||||
|
- (OOCamera *) currentCamera;
|
||||||
|
|
||||||
- (NSArray *) worldScriptNames;
|
- (NSArray *) worldScriptNames;
|
||||||
- (NSDictionary *) worldScriptsByName;
|
- (NSDictionary *) worldScriptsByName;
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ MA 02110-1301, USA.
|
|||||||
#import "OOEntityFilterPredicate.h"
|
#import "OOEntityFilterPredicate.h"
|
||||||
#import "OOShipRegistry.h"
|
#import "OOShipRegistry.h"
|
||||||
#import "OOEquipmentType.h"
|
#import "OOEquipmentType.h"
|
||||||
|
#import "OOCamera.h"
|
||||||
|
|
||||||
#import "OOScript.h"
|
#import "OOScript.h"
|
||||||
#import "OOScriptTimer.h"
|
#import "OOScriptTimer.h"
|
||||||
@ -950,7 +951,14 @@ static PlayerEntity *sSharedPlayer = nil;
|
|||||||
|
|
||||||
thrust = [shipDict floatForKey:@"thrust" defaultValue:thrust];
|
thrust = [shipDict floatForKey:@"thrust" defaultValue:thrust];
|
||||||
|
|
||||||
hyperspaceMotorSpinTime = [shipDict doubleForKey:@"hyperspace_motor_spin_time" defaultValue:15.0];
|
if (![UNIVERSE strict])
|
||||||
|
{
|
||||||
|
hyperspaceMotorSpinTime = [shipDict floatForKey:@"hyperspace_motor_spin_time" defaultValue:DEFAULT_HYPERSPACE_SPIN_TIME];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hyperspaceMotorSpinTime = DEFAULT_HYPERSPACE_SPIN_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
maxEnergy = [shipDict floatForKey:@"max_energy" defaultValue:maxEnergy];
|
maxEnergy = [shipDict floatForKey:@"max_energy" defaultValue:maxEnergy];
|
||||||
energy_recharge_rate = [shipDict floatForKey:@"energy_recharge_rate" defaultValue:energy_recharge_rate];
|
energy_recharge_rate = [shipDict floatForKey:@"energy_recharge_rate" defaultValue:energy_recharge_rate];
|
||||||
@ -1691,12 +1699,12 @@ double scoopSoundPlayTime = 0.0;
|
|||||||
{
|
{
|
||||||
[self doBookkeeping:delta_t];
|
[self doBookkeeping:delta_t];
|
||||||
witchspaceCountdown -= delta_t;
|
witchspaceCountdown -= delta_t;
|
||||||
if (witchspaceCountdown < 0.0) witchspaceCountdown = 0.0;
|
if (witchspaceCountdown < 0.0f) witchspaceCountdown = 0.0f;
|
||||||
if (galactic_witchjump)
|
if (galactic_witchjump)
|
||||||
[UNIVERSE displayCountdownMessage:[NSString stringWithFormat:DESC(@"witch-galactic-in-f-seconds"), witchspaceCountdown] forCount:1.0];
|
[UNIVERSE displayCountdownMessage:[NSString stringWithFormat:DESC(@"witch-galactic-in-f-seconds"), witchspaceCountdown] forCount:1.0];
|
||||||
else
|
else
|
||||||
[UNIVERSE displayCountdownMessage:[NSString stringWithFormat:DESC(@"witch-to-@-in-f-seconds"), [UNIVERSE getSystemName:target_system_seed], witchspaceCountdown] forCount:1.0];
|
[UNIVERSE displayCountdownMessage:[NSString stringWithFormat:DESC(@"witch-to-@-in-f-seconds"), [UNIVERSE getSystemName:target_system_seed], witchspaceCountdown] forCount:1.0];
|
||||||
if (witchspaceCountdown == 0.0)
|
if (witchspaceCountdown == 0.0f)
|
||||||
{
|
{
|
||||||
BOOL go = YES;
|
BOOL go = YES;
|
||||||
|
|
||||||
@ -2006,6 +2014,46 @@ double scoopSoundPlayTime = 0.0;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Return the current player-centric camera.
|
||||||
|
FIXME: this should store a set of cameras and return the current one.
|
||||||
|
Currently, it synthesizes a camera based on the various legacy things.
|
||||||
|
*/
|
||||||
|
- (OOCamera *) currentCamera
|
||||||
|
{
|
||||||
|
OOCamera *camera = nil;
|
||||||
|
Quaternion orient = kIdentityQuaternion;
|
||||||
|
|
||||||
|
camera = [[OOCamera alloc] init];
|
||||||
|
[camera autorelease];
|
||||||
|
|
||||||
|
[camera setPosition:[self viewpointPosition]];
|
||||||
|
|
||||||
|
/*switch ([UNIVERSE viewDirection])
|
||||||
|
{
|
||||||
|
case VIEW_FORWARD:
|
||||||
|
case VIEW_NONE:
|
||||||
|
case VIEW_GUI_DISPLAY:
|
||||||
|
case VIEW_BREAK_PATTERN:
|
||||||
|
orient = kIdentityQuaternion;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIEW_AFT:
|
||||||
|
static const OOMatrix aft_matrix =
|
||||||
|
{{
|
||||||
|
{-1.0f, 0.0f, 0.0f, 0.0f },
|
||||||
|
{ 0.0f, 1.0f, 0.0f, 0.0f },
|
||||||
|
{ 0.0f, 0.0f, -1.0f, 0.0f },
|
||||||
|
{ 0.0f, 0.0f, 0.0f, 1.0f }
|
||||||
|
}};
|
||||||
|
|
||||||
|
}*/
|
||||||
|
|
||||||
|
[camera setOrientation:orient];
|
||||||
|
|
||||||
|
return camera;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void) drawEntity:(BOOL) immediate :(BOOL) translucent
|
- (void) drawEntity:(BOOL) immediate :(BOOL) translucent
|
||||||
{
|
{
|
||||||
if ((status == STATUS_DEAD)||(status == STATUS_COCKPIT_DISPLAY)||(status == STATUS_DOCKED)||(status == STATUS_START_GAME)||[UNIVERSE breakPatternHide])
|
if ((status == STATUS_DEAD)||(status == STATUS_COCKPIT_DISPLAY)||(status == STATUS_DOCKED)||(status == STATUS_START_GAME)||[UNIVERSE breakPatternHide])
|
||||||
@ -3121,15 +3169,15 @@ double scoopSoundPlayTime = 0.0;
|
|||||||
Vector origin = position;
|
Vector origin = position;
|
||||||
int result = NO;
|
int result = NO;
|
||||||
Quaternion q1 = orientation;
|
Quaternion q1 = orientation;
|
||||||
|
|
||||||
status = STATUS_ESCAPE_SEQUENCE; // firstly
|
status = STATUS_ESCAPE_SEQUENCE; // firstly
|
||||||
ship_clock_adjust += 43200 + 5400 * (ranrot_rand() & 127); // add up to 8 days until rescue!
|
ship_clock_adjust += 43200 + 5400 * (ranrot_rand() & 127); // add up to 8 days until rescue!
|
||||||
|
|
||||||
q1.w = -q1.w; // player view is reversed remember!
|
q1.w = -q1.w; // player view is reversed remember!
|
||||||
|
|
||||||
flightSpeed = OOMax_f(flightSpeed, 50.0f);
|
flightSpeed = OOMax_f(flightSpeed, 50.0f);
|
||||||
vel = vector_multiply_scalar(v_forward, flightSpeed);
|
vel = vector_multiply_scalar(v_forward, flightSpeed);
|
||||||
|
|
||||||
doppelganger = [UNIVERSE newShipWithName: ship_desc]; // retain count = 1
|
doppelganger = [UNIVERSE newShipWithName: ship_desc]; // retain count = 1
|
||||||
if (doppelganger)
|
if (doppelganger)
|
||||||
{
|
{
|
||||||
@ -3143,16 +3191,16 @@ double scoopSoundPlayTime = 0.0;
|
|||||||
[doppelganger setOwner:self];
|
[doppelganger setOwner:self];
|
||||||
[doppelganger setStatus:STATUS_IN_FLIGHT]; // necessary to get it going!
|
[doppelganger setStatus:STATUS_IN_FLIGHT]; // necessary to get it going!
|
||||||
[doppelganger setBehaviour:BEHAVIOUR_IDLE];
|
[doppelganger setBehaviour:BEHAVIOUR_IDLE];
|
||||||
|
|
||||||
[UNIVERSE addEntity:doppelganger];
|
[UNIVERSE addEntity:doppelganger];
|
||||||
|
|
||||||
[[doppelganger getAI] setStateMachine:@"nullAI.plist"]; // fly straight on
|
[[doppelganger getAI] setStateMachine:@"nullAI.plist"]; // fly straight on
|
||||||
|
|
||||||
result = [doppelganger universalID];
|
result = [doppelganger universalID];
|
||||||
|
|
||||||
[doppelganger release]; //release
|
[doppelganger release]; //release
|
||||||
}
|
}
|
||||||
|
|
||||||
// set up you
|
// set up you
|
||||||
escapePod = [UNIVERSE newShipWithName:@"escape-capsule"]; // retained
|
escapePod = [UNIVERSE newShipWithName:@"escape-capsule"]; // retained
|
||||||
if (escapePod != nil)
|
if (escapePod != nil)
|
||||||
@ -3166,30 +3214,29 @@ double scoopSoundPlayTime = 0.0;
|
|||||||
flightSpeed = 1.0f;
|
flightSpeed = 1.0f;
|
||||||
flightPitch = 0.2f * (randf() - 0.5f);
|
flightPitch = 0.2f * (randf() - 0.5f);
|
||||||
flightRoll = 0.2f * (randf() - 0.5f);
|
flightRoll = 0.2f * (randf() - 0.5f);
|
||||||
|
|
||||||
float sheight = (float)(boundingBox.max.y - boundingBox.min.y);
|
float sheight = (float)(boundingBox.max.y - boundingBox.min.y);
|
||||||
position = vector_subtract(position, vector_multiply_scalar(v_up, sheight));
|
position = vector_subtract(position, vector_multiply_scalar(v_up, sheight));
|
||||||
|
|
||||||
//remove escape pod
|
//remove escape pod
|
||||||
[self removeEquipmentItem:@"EQ_ESCAPE_POD"];
|
[self removeEquipmentItem:@"EQ_ESCAPE_POD"];
|
||||||
//has_escape_pod = NO;
|
|
||||||
|
[self doScriptEvent:@"shipLaunchedEscapePod" withArgument:escapePod];
|
||||||
|
|
||||||
// reset legal status
|
// reset legal status
|
||||||
legalStatus = 0;
|
legalStatus = 0;
|
||||||
bounty = 0;
|
bounty = 0;
|
||||||
|
|
||||||
// reset trumbles
|
// reset trumbles
|
||||||
if (trumbleCount != 0) trumbleCount = 1;
|
if (trumbleCount != 0) trumbleCount = 1;
|
||||||
|
|
||||||
// remove cargo
|
// remove cargo
|
||||||
[cargo removeAllObjects];
|
[cargo removeAllObjects];
|
||||||
|
|
||||||
energy = 25;
|
energy = 25;
|
||||||
[UNIVERSE addMessage:DESC(@"escape-sequence") forCount:4.5];
|
[UNIVERSE addMessage:DESC(@"escape-sequence") forCount:4.5];
|
||||||
shot_time = 0.0;
|
shot_time = 0.0;
|
||||||
|
|
||||||
[self doScriptEvent:@"shipLaunchedEscapePod" withArgument:escapePod];
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1439,22 +1439,22 @@ static NSTimeInterval time_last_frame;
|
|||||||
if ((guiSelectedRow == GUI_ROW_OPTIONS_QUICKSAVE)&&(!disc_operation_in_progress))
|
if ((guiSelectedRow == GUI_ROW_OPTIONS_QUICKSAVE)&&(!disc_operation_in_progress))
|
||||||
{
|
{
|
||||||
NS_DURING
|
NS_DURING
|
||||||
disc_operation_in_progress = YES;
|
disc_operation_in_progress = YES;
|
||||||
[self quicksavePlayer];
|
[self quicksavePlayer];
|
||||||
NS_HANDLER
|
NS_HANDLER
|
||||||
OOLog(kOOLogException, @"\n\n***** Handling localException: %@ : %@ *****\n\n",[localException name], [localException reason]);
|
OOLog(kOOLogException, @"\n\n***** Handling localException: %@ : %@ *****\n\n",[localException name], [localException reason]);
|
||||||
if ([[localException name] isEqual:@"GameNotSavedException"]) // try saving game instead
|
if ([[localException name] isEqual:@"GameNotSavedException"]) // try saving game instead
|
||||||
{
|
{
|
||||||
OOLog(kOOLogException, @"\n\n***** Trying a normal save instead *****\n\n");
|
OOLog(kOOLogException, @"\n\n***** Trying a normal save instead *****\n\n");
|
||||||
if ([controller inFullScreenMode])
|
if ([controller inFullScreenMode])
|
||||||
[controller pauseFullScreenModeToPerform:@selector(savePlayer) onTarget:self];
|
[controller pauseFullScreenModeToPerform:@selector(savePlayer) onTarget:self];
|
||||||
|
else
|
||||||
|
[self savePlayer];
|
||||||
|
}
|
||||||
else
|
else
|
||||||
[self savePlayer];
|
{
|
||||||
}
|
[localException raise];
|
||||||
else
|
}
|
||||||
{
|
|
||||||
[localException raise];
|
|
||||||
}
|
|
||||||
NS_ENDHANDLER
|
NS_ENDHANDLER
|
||||||
}
|
}
|
||||||
if ((guiSelectedRow == GUI_ROW_OPTIONS_SAVE)&&(!disc_operation_in_progress))
|
if ((guiSelectedRow == GUI_ROW_OPTIONS_SAVE)&&(!disc_operation_in_progress))
|
||||||
|
@ -64,6 +64,7 @@ MA 02110-1301, USA.
|
|||||||
#define SHIP_MAX_CABIN_TEMP 256.0f
|
#define SHIP_MAX_CABIN_TEMP 256.0f
|
||||||
#define SHIP_MIN_CABIN_TEMP 60.0f
|
#define SHIP_MIN_CABIN_TEMP 60.0f
|
||||||
#define EJECTA_TEMP_FACTOR 0.85f // Ejected items have 85% of parent's temperature
|
#define EJECTA_TEMP_FACTOR 0.85f // Ejected items have 85% of parent's temperature
|
||||||
|
#define DEFAULT_HYPERSPACE_SPIN_TIME 15.0f
|
||||||
|
|
||||||
#define SUN_TEMPERATURE 1250.0f
|
#define SUN_TEMPERATURE 1250.0f
|
||||||
|
|
||||||
@ -130,7 +131,7 @@ MA 02110-1301, USA.
|
|||||||
GLfloat max_flight_yaw;
|
GLfloat max_flight_yaw;
|
||||||
|
|
||||||
GLfloat thrust; // acceleration
|
GLfloat thrust; // acceleration
|
||||||
double hyperspaceMotorSpinTime; // duration of hyperspace countdown
|
float hyperspaceMotorSpinTime; // duration of hyperspace countdown
|
||||||
|
|
||||||
// TODO: stick all equipment in a list, and move list from playerEntity to shipEntity. -- Ahruman
|
// TODO: stick all equipment in a list, and move list from playerEntity to shipEntity. -- Ahruman
|
||||||
unsigned military_jammer_active: 1, // military_jammer
|
unsigned military_jammer_active: 1, // military_jammer
|
||||||
|
@ -294,7 +294,14 @@ static NSString * const kOOLogEntityBehaviourChanged = @"entity.behaviour.change
|
|||||||
fuel = [shipDict unsignedShortForKey:@"fuel"]; // Does it make sense that this defaults to 0? Should it not be 70? -- Ahruman
|
fuel = [shipDict unsignedShortForKey:@"fuel"]; // Does it make sense that this defaults to 0? Should it not be 70? -- Ahruman
|
||||||
fuel_accumulator = 1.0;
|
fuel_accumulator = 1.0;
|
||||||
|
|
||||||
hyperspaceMotorSpinTime = [shipDict doubleForKey:@"hyperspace_motor_spin_time" defaultValue:15.0];
|
if (![UNIVERSE strict])
|
||||||
|
{
|
||||||
|
hyperspaceMotorSpinTime = [shipDict floatForKey:@"hyperspace_motor_spin_time" defaultValue:DEFAULT_HYPERSPACE_SPIN_TIME];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hyperspaceMotorSpinTime = DEFAULT_HYPERSPACE_SPIN_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
bounty = [shipDict unsignedIntForKey:@"bounty"];
|
bounty = [shipDict unsignedIntForKey:@"bounty"];
|
||||||
|
|
||||||
@ -6980,18 +6987,20 @@ BOOL class_masslocks(int some_class)
|
|||||||
if (energy < maxEnergy *0.125 && [self hasEscapePod] && (ranrot_rand() & 3) == 0) // 25% chance he gets to an escape pod
|
if (energy < maxEnergy *0.125 && [self hasEscapePod] && (ranrot_rand() & 3) == 0) // 25% chance he gets to an escape pod
|
||||||
{
|
{
|
||||||
// TODO: abandoning ship should be split out into a separate method.
|
// TODO: abandoning ship should be split out into a separate method.
|
||||||
[self removeEquipmentItem:@"EQ_ESCAPE_POD"];
|
if ([self launchEscapeCapsule] != NO_TARGET)
|
||||||
|
{
|
||||||
[shipAI setStateMachine:@"nullAI.plist"];
|
[self removeEquipmentItem:@"EQ_ESCAPE_POD"];
|
||||||
[shipAI setState:@"GLOBAL"];
|
|
||||||
behaviour = BEHAVIOUR_IDLE;
|
[shipAI setStateMachine:@"nullAI.plist"];
|
||||||
frustration = 0.0;
|
[shipAI setState:@"GLOBAL"];
|
||||||
[self launchEscapeCapsule];
|
behaviour = BEHAVIOUR_IDLE;
|
||||||
[self setScanClass: CLASS_CARGO]; // we're unmanned now!
|
frustration = 0.0;
|
||||||
thrust = thrust * 0.5;
|
[self setScanClass: CLASS_CARGO]; // we're unmanned now!
|
||||||
desired_speed = 0.0;
|
thrust = thrust * 0.5;
|
||||||
maxFlightSpeed = 0.0;
|
desired_speed = 0.0;
|
||||||
[self setHulk:YES];
|
maxFlightSpeed = 0.0;
|
||||||
|
[self setHulk:YES];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8043,7 +8052,6 @@ static BOOL AuthorityPredicate(Entity *entity, void *parameter)
|
|||||||
arguments = [NSArray arrayWithObjects:argument1, argument2, nil];
|
arguments = [NSArray arrayWithObjects:argument1, argument2, nil];
|
||||||
|
|
||||||
NS_DURING
|
NS_DURING
|
||||||
|
|
||||||
[self doScriptEvent:message withArguments:arguments];
|
[self doScriptEvent:message withArguments:arguments];
|
||||||
NS_HANDLER
|
NS_HANDLER
|
||||||
OOLog(kOOLogException, @"***** Exception while performing script event %@ for %@: %@ : %@", message, [self shortDescription], [localException name], [localException reason]);
|
OOLog(kOOLogException, @"***** Exception while performing script event %@ for %@: %@ : %@", message, [self shortDescription], [localException name], [localException reason]);
|
||||||
|
@ -291,11 +291,11 @@ static unsigned IntegerFromString(const GLubyte **ioString)
|
|||||||
|
|
||||||
const NSString *requiredExtension[] =
|
const NSString *requiredExtension[] =
|
||||||
{
|
{
|
||||||
@"GL_ARB_multitexture",
|
|
||||||
@"GL_ARB_shader_objects",
|
|
||||||
@"GL_ARB_shading_language_100",
|
@"GL_ARB_shading_language_100",
|
||||||
@"GL_ARB_fragment_shader",
|
@"GL_ARB_fragment_shader",
|
||||||
@"GL_ARB_vertex_shader",
|
@"GL_ARB_vertex_shader",
|
||||||
|
@"GL_ARB_multitexture",
|
||||||
|
@"GL_ARB_shader_objects",
|
||||||
nil // sentinel - don't remove!
|
nil // sentinel - don't remove!
|
||||||
};
|
};
|
||||||
NSString **required = NULL;
|
NSString **required = NULL;
|
||||||
|
@ -3451,7 +3451,9 @@ static const OOMatrix starboard_matrix =
|
|||||||
|
|
||||||
PlayerEntity *player = [PlayerEntity sharedPlayer];
|
PlayerEntity *player = [PlayerEntity sharedPlayer];
|
||||||
Entity *drawthing = nil;
|
Entity *drawthing = nil;
|
||||||
|
OOCamera *camera = [player currentCamera];
|
||||||
|
|
||||||
|
OOLog(@"temp", @"%@", camera);
|
||||||
position = kZeroVector;
|
position = kZeroVector;
|
||||||
|
|
||||||
inGUIMode = [player showDemoShips];
|
inGUIMode = [player showDemoShips];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user