Oolite 1.91.0.7745-260117-205bce7
Loading...
Searching...
No Matches
Universe.h
Go to the documentation of this file.
1/*
2
3Universe.h
4
5Manages a lot of stuff that isn't managed somewhere else.
6
7Oolite
8Copyright (C) 2004-2013 Giles C Williams and contributors
9
10This program is free software; you can redistribute it and/or
11modify it under the terms of the GNU General Public License
12as published by the Free Software Foundation; either version 2
13of the License, or (at your option) any later version.
14
15This program is distributed in the hope that it will be useful,
16but WITHOUT ANY WARRANTY; without even the implied warranty of
17MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18GNU General Public License for more details.
19
20You should have received a copy of the GNU General Public License
21along with this program; if not, write to the Free Software
22Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23MA 02110-1301, USA.
24
25*/
26
27#import "OOCocoa.h"
28#import "OOOpenGL.h"
29#import "OOShaderProgram.h"
30#import "legacy_random.h"
31#import "OOMaths.h"
32#import "OOColor.h"
33#import "OOWeakReference.h"
34#import "OOTypes.h"
35#import "OOSound.h"
36#import "OOJSPropID.h"
37#import "OOStellarBody.h"
39#import "OOCommodities.h"
41
42#if OOLITE_ESPEAK
43#if OOLITE_MODERN_BUILD
44 #include <espeak-ng/speak_lib.h>
45#else
46 #include <espeak/speak_lib.h>
47#endif
48#endif
49
51 Entity, ShipEntity, StationEntity, OOPlanetEntity, OOSunEntity,
54
55
56typedef BOOL (*EntityFilterPredicate)(Entity *entity, void *parameter);
57
58#ifndef OO_SCANCLASS_TYPE
59#define OO_SCANCLASS_TYPE
60typedef enum OOScanClass OOScanClass;
61#endif
62
63
64#define CROSSHAIR_SIZE 32.0
65
66enum
67{
78};
79
80
81enum
82{
89};
90
91
92enum
93{
103 OO_POSTFX_ENDOFLIST // keep this for last
104};
105
106
107#define SHADERS_MIN SHADERS_OFF
108
109
110#define MAX_MESSAGES 5
111
112#define PROXIMITY_WARN_DISTANCE 4 // Eric 2010-10-17: old value was 20.0
113#define PROXIMITY_WARN_DISTANCE2 (PROXIMITY_WARN_DISTANCE * PROXIMITY_WARN_DISTANCE)
114#define PROXIMITY_AVOID_DISTANCE_FACTOR 10.0
115#define SAFE_ADDITION_FACTOR2 800 // Eric 2010-10-17: used to be "2 * PROXIMITY_WARN_DISTANCE2"
116
117#define SUN_SKIM_RADIUS_FACTOR 1.15470053838 // 2 sqrt(3) / 3. Why? I have no idea. -- Ahruman 2009-10-04
118#define SUN_SPARKS_RADIUS_FACTOR 2.0
119
120#define KEY_TECHLEVEL @"techlevel"
121#define KEY_ECONOMY @"economy"
122#define KEY_ECONOMY_DESC @"economy_description"
123#define KEY_GOVERNMENT @"government"
124#define KEY_GOVERNMENT_DESC @"government_description"
125#define KEY_POPULATION @"population"
126#define KEY_POPULATION_DESC @"population_description"
127#define KEY_PRODUCTIVITY @"productivity"
128#define KEY_RADIUS @"radius"
129#define KEY_NAME @"name"
130#define KEY_INHABITANT @"inhabitant"
131#define KEY_INHABITANTS @"inhabitants"
132#define KEY_DESCRIPTION @"description"
133#define KEY_SHORT_DESCRIPTION @"short_description"
134#define KEY_PLANETNAME @"planet_name"
135#define KEY_SUNNAME @"sun_name"
136
137#define KEY_CHANCE @"chance"
138#define KEY_PRICE @"price"
139#define KEY_OPTIONAL_EQUIPMENT @"optional_equipment"
140#define KEY_STANDARD_EQUIPMENT @"standard_equipment"
141#define KEY_EQUIPMENT_MISSILES @"missiles"
142#define KEY_EQUIPMENT_FORWARD_WEAPON @"forward_weapon_type"
143#define KEY_EQUIPMENT_AFT_WEAPON @"aft_weapon_type"
144#define KEY_EQUIPMENT_PORT_WEAPON @"port_weapon_type"
145#define KEY_EQUIPMENT_STARBOARD_WEAPON @"starboard_weapon_type"
146#define KEY_EQUIPMENT_EXTRAS @"extras"
147#define KEY_WEAPON_FACINGS @"weapon_facings"
148#define KEY_RENOVATION_MULTIPLIER @"renovation_multiplier"
149
150#define SHIPYARD_KEY_ID @"id"
151#define SHIPYARD_KEY_SHIPDATA_KEY @"shipdata_key"
152#define SHIPYARD_KEY_SHIP @"ship"
153#define SHIPYARD_KEY_PRICE @"price"
154#define SHIPYARD_KEY_PERSONALITY @"personality"
155// default passenger berth required space
156#define PASSENGER_BERTH_SPACE 5
157
158#define PLANETINFO_UNIVERSAL_KEY @"universal"
159#define PLANETINFO_INTERSTELLAR_KEY @"interstellar space"
160
161#define OOLITE_EXCEPTION_LOOPING @"OoliteLoopingException"
162#define OOLITE_EXCEPTION_DATA_NOT_FOUND @"OoliteDataNotFoundException"
163#define OOLITE_EXCEPTION_FATAL @"OoliteFatalException"
164
165// the distance the sky backdrop is from the camera
166// though it appears at infinity
167#define BILLBOARD_DEPTH 75000.0
168
169#define TIME_ACCELERATION_FACTOR_MIN 0.0625f
170#define TIME_ACCELERATION_FACTOR_DEFAULT 1.0f
171#define TIME_ACCELERATION_FACTOR_MAX 16.0f
172
173#define DEMO_LIGHT_POSITION 5000.0f, 25000.0f, -10000.0f
174
175#define MIN_DISTANCE_TO_BUOY 750.0f // don't add ships within this distance
176#define MIN_DISTANCE_TO_BUOY2 (MIN_DISTANCE_TO_BUOY * MIN_DISTANCE_TO_BUOY)
177
178// if this is changed, also change oolite-populator.js
179// once this number has been in a stable release, cannot easily be changed
180#define SYSTEM_REPOPULATION_INTERVAL 20.0f;
181
182#ifndef OO_LOCALIZATION_TOOLS
183#define OO_LOCALIZATION_TOOLS 1
184#endif
185
186#ifndef MASS_DEPENDENT_FUEL_PRICES
187#define MASS_DEPENDENT_FUEL_PRICES 1
188#endif
189
190
192{
193@public
194 // use a sorted list for drawing and other activities
195 Entity *sortedEntities[UNIVERSE_MAX_ENTITIES + 1]; // One extra for padding; see -doRemoveEntity:.
196 unsigned n_entities;
197
199
200 // collision optimisation sorted lists
202
203 GLfloat stars_ambient[4];
204
205@private
206 NSUInteger _sessionID;
207
208 // colors
209 GLfloat sun_diffuse[4];
210 GLfloat sun_specular[4];
211
213
214 OOMatrix viewMatrix;
215
216 GLfloat airResistanceFactor;
217
219
221 Entity *entity_for_uid[MAX_ENTITY_UID];
222
223 NSMutableArray *entities;
224
227 NSMutableDictionary *waypoints;
228
229 GLfloat skyClearColor[4];
230
231 NSString *currentMessage;
233 OOTimeAbsolute countdown_messageRepeatTime; // Getafix(4/Aug/2010) - Quickfix countdown messages colliding with weapon overheat messages.
234 // For proper handling of message dispatching, code refactoring is needed.
238
239 BOOL displayGUI;
241
242 BOOL autoSaveNow;
243 BOOL autoSave;
246// Above entry replaces these two
247// BOOL reducedDetail;
248// OOShaderSetting shaderEffectsLevel;
249
250 BOOL displayFPS;
251
254
259 NSUInteger demo_ship_index;
261 NSArray *demo_ships;
262
264
266
269
270
271 NSDictionary *_descriptions; // holds descriptive text for lots of stuff, loaded at initialisation
272 NSDictionary *customSounds; // holds descriptive audio for lots of stuff, loaded at initialisation
273 NSDictionary *characters; // holds descriptons of characters
274 NSArray *_scenarios; // game start scenarios
275 NSDictionary *globalSettings; // miscellaneous global game settings
276 OOSystemDescriptionManager *systemManager; // planetinfo data manager
277 NSDictionary *missiontext; // holds descriptive text for missions, loaded at initialisation
278 NSArray *equipmentData; // holds data on available equipment, loaded at initialisation
280// NSSet *pirateVictimRoles; // Roles listed in pirateVictimRoles.plist.
281 NSDictionary *roleCategories; // Categories for roles from role-categories.plist, extending the old pirate-victim-roles.plist
282 NSDictionary *autoAIMap; // Default AIs for roles from autoAImap.plist.
283 NSDictionary *screenBackgrounds; // holds filenames for various screens backgrounds, loaded at initialisation
284 NSDictionary *explosionSettings; // explosion settings from explosions.plist
285
286 NSDictionary *cargoPods; // template cargo pods
287
291
292 NSString *system_names[256]; // hold pregenerated universe info
293 BOOL system_found[256]; // holds matches for input strings
294
296
298
300 OOPlanetEntity *cachedPlanet;
302 NSMutableArray *allPlanets;
303 NSMutableSet *allStations;
304
305 float ambientLightLevel;
306
307 NSMutableDictionary *populatorSettings;
311
312 NSArray *closeSystems;
313
314 NSString *useAddOns;
315
317
318#ifndef NDEBUG
320#endif
321
323
324 NSMutableArray *activeWormholes;
325
326 NSMutableArray *characterPool;
327
329
330 // check and maintain linked lists occasionally
332
335
336#if OOLITE_SPEECH_SYNTH
337#if OOLITE_MAC_OS_X
338 NSSpeechSynthesizer *speechSynthesizer;
339#elif OOLITE_ESPEAK
340 const espeak_VOICE **espeak_voices;
341 unsigned int espeak_voice_count;
342#endif
343 NSArray *speechArray;
344#endif
345
346#if NEW_PLANETS
347 NSMutableArray *_preloadingPlanetMaterials;
348#endif
350
351 GLfloat frustum[6][4];
352
353 NSMutableDictionary *conditionScripts;
354
363
373 OOShaderProgram *textureProgram;
374 OOShaderProgram *blurProgram;
375 OOShaderProgram *finalProgram;
378 GLuint pingpongFBO[2];
380 BOOL _bloom;
383}
384
385- (BOOL) bloom;
386- (void) setBloom: (BOOL)newBloom;
387
388- (int) currentPostFX;
389- (void) setCurrentPostFX: (int) newCurrentPostFX;
390- (void) terminatePostFX:(int) postFX;
391
392- (id)initWithGameView:(MyOpenGLView *)gameView;
393
394// SessionID: a value that's incremented when the game is reset.
395- (NSUInteger) sessionID;
396
398- (void) setDoProcedurallyTexturedPlanets:(BOOL) value;
399
400- (NSString *) useAddOns;
401- (BOOL) setUseAddOns:(NSString *)newUse fromSaveGame: (BOOL)saveGame;
402- (BOOL) setUseAddOns:(NSString *) newUse fromSaveGame:(BOOL) saveGame forceReinit:(BOOL)force;
403
404- (void) setUpSettings;
405
406- (BOOL) reinitAndShowDemo:(BOOL)showDemo;
407
408- (BOOL) doingStartUp; // True during initial game startup (not reset).
409
410- (NSUInteger) entityCount;
411#ifndef NDEBUG
412- (void) debugDumpEntities;
413- (NSArray *) entityList;
414#endif
415
416- (void) pauseGame;
417
418- (void) carryPlayerOn:(StationEntity*)carrier inWormhole:(WormholeEntity*)wormhole;
422- (void) setUpWitchspace;
423- (void) setUpWitchspaceBetweenSystem:(OOSystemID)s1 andSystem:(OOSystemID)s2;
424- (void) setUpSpace;
425- (void) populateNormalSpace;
426- (void) clearSystemPopulator;
428- (void) populateSystemFromDictionariesWithSun:(OOSunEntity *)sun andPlanet:(OOPlanetEntity *)planet;
429- (NSDictionary *) getPopulatorSettings;
430- (void) setPopulatorSetting:(NSString *)key to:(NSDictionary *)setting;
431- (HPVector) locationByCode:(NSString *)code withSun:(OOSunEntity *)sun andPlanet:(OOPlanetEntity *)planet;
432- (void) setAmbientLightLevel:(float)newValue;
434- (void) setLighting;
435- (void) forceLightSwitch;
436- (void) setMainLightPosition: (Vector) sunPos;
437- (OOPlanetEntity *) setUpPlanet;
438
439- (void) makeSunSkimmer:(ShipEntity *) ship andSetAI:(BOOL)setAI;
440- (void) addShipWithRole:(NSString *) desc nearRouteOneAt:(double) route_fraction;
441- (HPVector) coordinatesForPosition:(HPVector) pos withCoordinateSystem:(NSString *) system returningScalar:(GLfloat*) my_scalar;
442- (NSString *) expressPosition:(HPVector) pos inCoordinateSystem:(NSString *) system;
443- (HPVector) legacyPositionFrom:(HPVector) pos asCoordinateSystem:(NSString *) system;
444- (HPVector) coordinatesFromCoordinateSystemString:(NSString *) system_x_y_z;
445- (BOOL) addShipWithRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
446- (BOOL) addShips:(int) howMany withRole:(NSString *) desc atPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
447- (BOOL) addShips:(int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
448- (BOOL) addShips:(int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system withinRadius:(GLfloat) radius;
449- (BOOL) addShips:(int) howMany withRole:(NSString *) desc intoBoundingBox:(BoundingBox) bbox;
450- (BOOL) spawnShip:(NSString *) shipdesc;
451- (void) witchspaceShipWithPrimaryRole:(NSString *)role;
452- (ShipEntity *) spawnShipWithRole:(NSString *) desc near:(Entity *) entity;
453
454- (OOVisualEffectEntity *) addVisualEffectAt:(HPVector)pos withKey:(NSString *)key;
455- (ShipEntity *) addShipAt:(HPVector)pos withRole:(NSString *)role withinRadius:(GLfloat)radius;
456- (NSArray *) addShipsAt:(HPVector)pos withRole:(NSString *)role quantity:(unsigned)count withinRadius:(GLfloat)radius asGroup:(BOOL)isGroup;
457- (NSArray *) addShipsToRoute:(NSString *)route withRole:(NSString *)role quantity:(unsigned)count routeFraction:(double)routeFraction asGroup:(BOOL)isGroup;
458
459- (BOOL) roleIsPirateVictim:(NSString *)role;
460- (BOOL) role:(NSString *)role isInCategory:(NSString *)category;
461
463- (void) addWitchspaceJumpEffectForShip:(ShipEntity *)ship;
465
466- (void) setUpBreakPattern:(HPVector)pos orientation:(Quaternion)q forDocking:(BOOL)forDocking;
468- (void) setWitchspaceBreakPattern:(BOOL)newValue;
469
471- (void) setDockingClearanceProtocolActive:(BOOL)newValue;
472
473- (void) handleGameOver;
474
475- (void) setupIntroFirstGo:(BOOL)justCobra;
476- (void) selectIntro2Previous;
477- (void) selectIntro2Next;
480
482- (OOPlanetEntity *) planet;
483- (OOSunEntity *) sun;
484- (NSArray *) planets; // Note: does not include sun.
485- (NSArray *) stations; // includes main station
486- (NSArray *) wormholes;
487- (StationEntity *) stationWithRole:(NSString *)role andPosition:(HPVector)position;
488
489// Turn main station into just another station, for blowUpStation.
490- (void) unMagicMainStation;
491// find a valid station in interstellar space
492- (StationEntity *) stationFriendlyTo:(ShipEntity *) ship;
493
494- (void) resetBeacons;
495- (Entity <OOBeaconEntity> *) firstBeacon;
496- (Entity <OOBeaconEntity> *) lastBeacon;
497- (void) setNextBeacon:(Entity <OOBeaconEntity> *) beaconShip;
498- (void) clearBeacon:(Entity <OOBeaconEntity> *) beaconShip;
499
500- (NSDictionary *) currentWaypoints;
501- (void) defineWaypoint:(NSDictionary *)definition forKey:(NSString *)key;
502
503- (GLfloat *) skyClearColor;
504// Note: the alpha value is also air resistance!
505- (void) setSkyColorRed:(GLfloat)red green:(GLfloat)green blue:(GLfloat)blue alpha:(GLfloat)alpha;
506
507- (BOOL) breakPatternOver;
508- (BOOL) breakPatternHide;
509
510- (NSString *) randomShipKeyForRoleRespectingConditions:(NSString *)role;
511- (ShipEntity *) newShipWithRole:(NSString *)role OO_RETURNS_RETAINED; // Selects ship using role weights, applies auto_ai, respects conditions
512- (ShipEntity *) newShipWithName:(NSString *)shipKey OO_RETURNS_RETAINED; // Does not apply auto_ai or respect conditions
513- (ShipEntity *) newSubentityWithName:(NSString *)shipKey andScaleFactor:(float)scale OO_RETURNS_RETAINED; // Does not apply auto_ai or respect conditions
514- (OOVisualEffectEntity *) newVisualEffectWithName:(NSString *)effectKey OO_RETURNS_RETAINED;
515- (DockEntity *) newDockWithName:(NSString *)shipKey andScaleFactor:(float)scale OO_RETURNS_RETAINED; // Does not apply auto_ai or respect conditions
516- (ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy OO_RETURNS_RETAINED; // If usePlayerProxy, non-carriers are instantiated as ProxyPlayerEntity.
517- (ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity OO_RETURNS_RETAINED;
518- (ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity andScaleFactor:(float)scale OO_RETURNS_RETAINED;
519
520- (Class) shipClassForShipDictionary:(NSDictionary *)dict;
521
522- (NSString *)defaultAIForRole:(NSString *)role; // autoAImap.plist lookup
523
524- (OOCargoQuantity) maxCargoForShip:(NSString *) desc;
525
526- (OOCreditsQuantity) getEquipmentPriceForKey:(NSString *) eq_key;
527
529
530- (ShipEntity *) reifyCargoPod:(ShipEntity *)cargoObj;
531- (ShipEntity *) cargoPodFromTemplate:(ShipEntity *)cargoObj;
532- (NSArray *) getContainersOfGoods:(OOCargoQuantity)how_many scarce:(BOOL)scarce legal:(BOOL)legal;
533- (NSArray *) getContainersOfCommodity:(OOCommodityType) commodity_name :(OOCargoQuantity) how_many;
534- (void) fillCargopodWithRandomCargo:(ShipEntity *)cargopod;
535
536- (NSString *) getRandomCommodity;
537- (OOCargoQuantity) getRandomAmountOfCommodity:(OOCommodityType) co_type;
538
539- (NSDictionary *) commodityDataForType:(OOCommodityType)type;
540- (NSString *) displayNameForCommodity:(OOCommodityType)co_type;
541- (NSString *) describeCommodity:(OOCommodityType)co_type amount:(OOCargoQuantity) co_amount;
542
543- (void) setGameView:(MyOpenGLView *)view;
546- (NSDictionary *) gameSettings;
547
548- (void) useGUILightSource:(BOOL)GUILight;
549
550- (void) drawUniverse;
551
552- (void) defineFrustum;
553- (BOOL) viewFrustumIntersectsSphereAt:(Vector)position withRadius:(GLfloat)radius;
554
555- (void) drawMessage;
556
557- (void) drawWatermarkString:(NSString *)watermarkString;
558
559// Used to draw subentities. Should be getting this from camera.
560- (OOMatrix) viewMatrix;
561
562- (id) entityForUniversalID:(OOUniversalID)u_id;
563
564- (BOOL) addEntity:(Entity *) entity;
565- (BOOL) removeEntity:(Entity *) entity;
566- (void) ensureEntityReallyRemoved:(Entity *)entity;
568- (void) removeDemoShips;
569
570- (ShipEntity *) makeDemoShipWithRole:(NSString *)role spinning:(BOOL)spinning;
571
572- (BOOL) isVectorClearFromEntity:(Entity *) e1 toDistance:(double)dist fromPoint:(HPVector) p2;
573- (Entity*) hazardOnRouteFromEntity:(Entity *) e1 toDistance:(double)dist fromPoint:(HPVector) p2;
574- (HPVector) getSafeVectorFromEntity:(Entity *) e1 toDistance:(double)dist fromPoint:(HPVector) p2;
575
576- (ShipEntity *) addWreckageFrom:(ShipEntity *)ship withRole:(NSString *)wreckRole at:(HPVector)rpos scale:(GLfloat)scale lifetime:(GLfloat)lifetime;
577- (void) addLaserHitEffectsAt:(HPVector)pos against:(ShipEntity *)target damage:(float)damage color:(OOColor *)color;
578- (ShipEntity *) firstShipHitByLaserFromShip:(ShipEntity *)srcEntity inDirection:(OOWeaponFacing)direction offset:(Vector)offset gettingRangeFound:(GLfloat*)range_ptr;
581
582- (NSArray *) entitiesWithinRange:(double)range ofEntity:(Entity *)entity;
583- (unsigned) countShipsWithRole:(NSString *)role inRange:(double)range ofEntity:(Entity *)entity;
584- (unsigned) countShipsWithRole:(NSString *)role;
585- (unsigned) countShipsWithPrimaryRole:(NSString *)role inRange:(double)range ofEntity:(Entity *)entity;
586- (unsigned) countShipsWithPrimaryRole:(NSString *)role;
587- (unsigned) countShipsWithScanClass:(OOScanClass)scanClass inRange:(double)range ofEntity:(Entity *)entity;
588
589
590// General count/search methods. Pass range of -1 and entity of nil to search all of system.
591- (unsigned) countEntitiesMatchingPredicate:(EntityFilterPredicate)predicate
592 parameter:(void *)parameter
593 inRange:(double)range
594 ofEntity:(Entity *)entity;
595- (unsigned) countShipsMatchingPredicate:(EntityFilterPredicate)predicate
596 parameter:(void *)parameter
597 inRange:(double)range
598 ofEntity:(Entity *)entity;
599- (NSMutableArray *) findEntitiesMatchingPredicate:(EntityFilterPredicate)predicate
600 parameter:(void *)parameter
601 inRange:(double)range
602 ofEntity:(Entity *)entity;
603- (id) findOneEntityMatchingPredicate:(EntityFilterPredicate)predicate
604 parameter:(void *)parameter;
605- (NSMutableArray *) findShipsMatchingPredicate:(EntityFilterPredicate)predicate
606 parameter:(void *)parameter
607 inRange:(double)range
608 ofEntity:(Entity *)entity;
609- (NSMutableArray *) findVisualEffectsMatchingPredicate:(EntityFilterPredicate)predicate
610 parameter:(void *)parameter
611 inRange:(double)range
612 ofEntity:(Entity *)entity;
613- (id) nearestEntityMatchingPredicate:(EntityFilterPredicate)predicate
614 parameter:(void *)parameter
615 relativeToEntity:(Entity *)entity;
616- (id) nearestShipMatchingPredicate:(EntityFilterPredicate)predicate
617 parameter:(void *)parameter
618 relativeToEntity:(Entity *)entity;
619
620
623
625- (NSString*) collisionDescription;
626- (void) dumpCollisions;
627
629- (void) setViewDirection:(OOViewID)vd;
630- (void) enterGUIViewModeWithMouseInteraction:(BOOL)mouseInteraction; // Use instead of setViewDirection:VIEW_GUI_DISPLAY
631
632- (NSString *) soundNameForCustomSoundKey:(NSString *)key;
633- (NSDictionary *) screenTextureDescriptorForKey:(NSString *)key;
634- (void) setScreenTextureDescriptorForKey:(NSString *) key descriptor:(NSDictionary *)desc;
635
636- (void) clearPreviousMessage;
637- (void) setMessageGuiBackgroundColor:(OOColor *) some_color;
638- (void) displayMessage:(NSString *) text forCount:(OOTimeDelta) count;
639- (void) displayCountdownMessage:(NSString *) text forCount:(OOTimeDelta) count;
640- (void) addDelayedMessage:(NSString *) text forCount:(OOTimeDelta) count afterDelay:(OOTimeDelta) delay;
641- (void) addDelayedMessage:(NSDictionary *) textdict;
642- (void) addMessage:(NSString *) text forCount:(OOTimeDelta) count;
643- (void) addMessage:(NSString *) text forCount:(OOTimeDelta) count forceDisplay:(BOOL) forceDisplay;
644- (void) addCommsMessage:(NSString *) text forCount:(OOTimeDelta) count;
645- (void) addCommsMessage:(NSString *) text forCount:(OOTimeDelta) count andShowComms:(BOOL)showComms logOnly:(BOOL)logOnly;
646- (void) showCommsLog:(OOTimeDelta) how_long;
647- (void) showGUIMessage:(NSString *)text withScroll:(BOOL)scroll andColor:(OOColor *)selectedColor overDuration:(OOTimeDelta)how_long;
648
649- (void) update:(OOTimeDelta)delta_t;
650
651// Time Acelleration Factor. In deployment builds, this is always 1.0 and -setTimeAccelerationFactor: does nothing.
653- (void) setTimeAccelerationFactor:(double)newTimeAccelerationFactor;
654
656- (void) setECMVisualFXEnabled:(BOOL)isEnabled;
657
658- (void) filterSortedLists;
659
661
662- (void) setGalaxyTo:(OOGalaxyID) g;
663- (void) setGalaxyTo:(OOGalaxyID) g andReinit:(BOOL) forced;
664
665- (void) setSystemTo:(OOSystemID) s;
666
668
669- (NSDictionary *) descriptions;
670- (NSDictionary *) characters;
671- (NSDictionary *) missiontext;
672- (NSArray *) scenarios;
673- (NSDictionary *) explosionSetting:(NSString *)explosion;
674
676
677- (NSString *)descriptionForKey:(NSString *)key; // String, or random item from array
678- (NSString *)descriptionForArrayKey:(NSString *)key index:(unsigned)index; // Indexed item from array
679- (BOOL) descriptionBooleanForKey:(NSString *)key; // Boolean from descriptions.plist, for configuration.
680
681- (NSString *) keyForPlanetOverridesForSystem:(OOSystemID) s inGalaxy:(OOGalaxyID) g;
682- (NSString *) keyForInterstellarOverridesForSystems:(OOSystemID) s1 :(OOSystemID) s2 inGalaxy:(OOGalaxyID) g;
683- (NSDictionary *) generateSystemData:(OOSystemID) s;
684- (NSDictionary *) generateSystemData:(OOSystemID) s useCache:(BOOL) useCache;
685- (NSDictionary *) currentSystemData; // Same as generateSystemData:systemSeed unless in interstellar space.
686
687- (BOOL) inInterstellarSpace;
688
689- (void) setSystemDataKey:(NSString*) key value:(NSObject*) object fromManifest:(NSString *)manifest;
690- (void) setSystemDataForGalaxy:(OOGalaxyID) gnum planet:(OOSystemID) pnum key:(NSString *)key value:(id)object fromManifest:(NSString *)manifest forLayer:(OOSystemLayer)layer;
691- (id) systemDataForGalaxy:(OOGalaxyID) gnum planet:(OOSystemID) pnum key:(NSString *)key;
692- (NSArray *) systemDataKeysForGalaxy:(OOGalaxyID)gnum planet:(OOSystemID)pnum;
693- (NSString *) getSystemName:(OOSystemID) sys;
694- (NSString *) getSystemName:(OOSystemID) sys forGalaxy:(OOGalaxyID) gnum;
695- (OOGovernmentID) getSystemGovernment:(OOSystemID) sys;
696- (NSString *) getSystemInhabitants:(OOSystemID) sys;
697- (NSString *) getSystemInhabitants:(OOSystemID) sys plural:(BOOL)plural;
698
699- (NSPoint) coordinatesForSystem:(OOSystemID)s;
700- (OOSystemID) findSystemFromName:(NSString *) sysName;
701
705- (NSMutableArray *) nearbyDestinationsWithinRange:(double) range;
706
707- (OOSystemID) findNeighbouringSystemToCoords:(NSPoint) coords withGalaxy:(OOGalaxyID) gal;
708- (OOSystemID) findConnectedSystemAtCoords:(NSPoint) coords withGalaxy:(OOGalaxyID) gal;
709// old alias for findSystemNumberAtCoords
710- (OOSystemID) findSystemAtCoords:(NSPoint) coords withGalaxy:(OOGalaxyID) gal;
711- (OOSystemID) findSystemNumberAtCoords:(NSPoint) coords withGalaxy:(OOGalaxyID) gal includingHidden:(BOOL)hidden;
712- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix;
713- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix exactMatch:(BOOL) exactMatch;
714- (BOOL*) systemsFound;
715- (NSString*) systemNameIndex:(OOSystemID) index;
716- (NSDictionary *) routeFromSystem:(OOSystemID) start toSystem:(OOSystemID) goal optimizedBy:(OORouteType) optimizeBy;
717- (NSArray *) neighboursToSystem:(OOSystemID) system_number;
718
719- (void) preloadPlanetTexturesForSystem:(OOSystemID)system;
720- (void) preloadSounds;
721
722- (NSDictionary *) globalSettings;
723
724- (NSArray *) equipmentData;
728
729- (NSString *) timeDescription:(OOTimeDelta) interval;
730- (NSString *) shortTimeDescription:(OOTimeDelta) interval;
731
732- (void) loadStationMarkets:(NSArray *)marketData;
733- (NSArray *) getStationMarkets;
734
735- (NSArray *) shipsForSaleForSystem:(OOSystemID) s withTL:(OOTechLevelID) specialTL atTime:(OOTimeAbsolute) current_time;
736
737/* Calculate base cost, before depreciation */
738- (OOCreditsQuantity) tradeInValueForCommanderDictionary:(NSDictionary*) cmdr_dict;
739
740- (NSString*) brochureDescriptionWithDictionary:(NSDictionary*) dict standardEquipment:(NSArray*) extras optionalEquipment:(NSArray*) options;
741
742- (HPVector) getWitchspaceExitPosition;
743- (Quaternion) getWitchspaceExitRotation;
744
745- (HPVector) getSunSkimStartPositionForShip:(ShipEntity*) ship;
746- (HPVector) getSunSkimEndPositionForShip:(ShipEntity*) ship;
747
748- (NSArray*) listBeaconsWithCode:(NSString*) code;
749
750- (void) allShipsDoScriptEvent:(jsid)event andReactToAIMessage:(NSString *)message;
751
753
754- (void) clearGUIs;
755
759
760- (void) resetCommsLogColor;
761
762- (void) setDisplayText:(BOOL) value;
763- (BOOL) displayGUI;
764
765- (void) setDisplayFPS:(BOOL) value;
766- (BOOL) displayFPS;
767
768- (void) setAutoSave:(BOOL) value;
769- (BOOL) autoSave;
770
771- (void) setWireframeGraphics:(BOOL) value;
773
774- (BOOL) reducedDetail;
775- (void) setDetailLevel:(OOGraphicsDetail)value;
777- (BOOL) useShaders;
778
779- (void) handleOoliteException:(NSException *)ooliteException;
780
782- (void) setAirResistanceFactor:(GLfloat)newFactor;
783
784// speech routines
785//
786- (void) startSpeakingString:(NSString *) text;
787//
788- (void) stopSpeaking;
789//
790- (BOOL) isSpeaking;
791//
792#if OOLITE_ESPEAK
793- (NSString *) voiceName:(unsigned int) index;
794- (unsigned int) voiceNumber:(NSString *) name;
795- (unsigned int) nextVoice:(unsigned int) index;
796- (unsigned int) prevVoice:(unsigned int) index;
797- (unsigned int) setVoice:(unsigned int) index withGenderM:(BOOL) isMale;
798#endif
799- (int) nextColorblindMode:(int) index;
800- (int) prevColorblindMode:(int) index;
802//
804
805//autosave
806- (void) setAutoSaveNow:(BOOL) value;
807- (BOOL) autoSaveNow;
808
811
812// True if textual pause message (as opposed to overlay) is being shown.
813- (BOOL) pauseMessageVisible;
814- (void) setPauseMessageVisible:(BOOL)value;
815
816- (BOOL) permanentCommLog;
817- (void) setPermanentCommLog:(BOOL)value;
818- (void) setAutoCommLog:(BOOL)value;
819- (BOOL) permanentMessageLog;
820- (void) setPermanentMessageLog:(BOOL)value;
821- (BOOL) autoMessageLogBg;
822- (void) setAutoMessageLogBg:(BOOL)value;
823
825- (void) setBlockJSPlayerShipProps:(BOOL)value;
826
827- (void) loadConditionScripts;
828- (void) addConditionScripts:(NSEnumerator *)scripts;
829- (OOJSScript *) getConditionScript:(NSString *)scriptname;
830
831@end
832
833
834/* Use UNIVERSE to refer to the global universe object.
835 The purpose of this is that it makes UNIVERSE essentially a read-only
836 global with zero overhead.
837*/
840{
842 return gSharedUniverse;
843}
844#define UNIVERSE OOGetUniverse()
845
846
847// Only for use with string literals, and only for looking up strings.
848// DESC() is deprecated in favour of OOExpandKey() except in known performance-
849// critical contexts.
850#define DESC(key) (OOLookUpDescriptionPRIV(key ""))
851#define DESC_PLURAL(key,count) (OOLookUpPluralDescriptionPRIV(key "", count))
852
853// Not for direct use.
854NSComparisonResult populatorPrioritySort(id a, id b, void *context);
855NSComparisonResult equipmentSort(id a, id b, void *context);
856NSComparisonResult equipmentSortOutfitting(id a, id b, void *context);
857NSString *OOLookUpDescriptionPRIV(NSString *key);
858NSString *OOLookUpPluralDescriptionPRIV(NSString *key, NSInteger count);
859
860@interface OOSound (OOCustomSounds)
861
862+ (id) soundWithCustomSoundKey:(NSString *)key;
863- (id) initWithCustomSoundKey:(NSString *)key;
864
865@end
866
867
868@interface OOSoundSource (OOCustomSounds)
869
870+ (id) sourceWithCustomSoundKey:(NSString *)key;
871- (id) initWithCustomSoundKey:(NSString *)key;
872
873- (void) playCustomSoundWithKey:(NSString *)key;
874
875@end
876
877
OOScanClass
Definition Entity.h:71
NSString * OODisplayStringFromEconomyID(OOEconomyID economy)
NSString * OODisplayStringFromGovernmentID(OOGovernmentID government)
#define INLINE_CONST_FUNC
#define OOINLINE
unsigned count
NSString * OOCommodityType
Definition OOTypes.h:106
OORouteType
Definition OOTypes.h:33
OOGraphicsDetail
Definition OOTypes.h:243
OOViewID
Definition OOTypes.h:43
uint64_t OOCreditsQuantity
Definition OOTypes.h:182
uint16_t OOUniversalID
Definition OOTypes.h:189
NSUInteger OOTechLevelID
Definition OOTypes.h:204
int16_t OOSystemID
Definition OOTypes.h:211
uint8_t OOGalaxyID
Definition OOTypes.h:210
uint32_t OOCargoQuantity
Definition OOTypes.h:176
double OOTimeDelta
Definition OOTypes.h:224
uint8_t OOGovernmentID
Definition OOTypes.h:206
double OOTimeAbsolute
Definition OOTypes.h:223
OOWeaponFacing
Definition OOTypes.h:228
uint8_t OOEconomyID
Definition OOTypes.h:207
@ OO_POSTFX_COLORBLINDNESS_PROTAN
Definition Universe.h:95
@ OO_POSTFX_ENDOFLIST
Definition Universe.h:103
@ OO_POSTFX_COLORBLINDNESS_TRITAN
Definition Universe.h:97
@ OO_POSTFX_CRT
Definition Universe.h:101
@ OO_POSTFX_COLORBLINDNESS_DEUTER
Definition Universe.h:96
@ OO_POSTFX_GRAYSCALE
Definition Universe.h:99
@ OO_POSTFX_OLDMOVIE
Definition Universe.h:100
@ OO_POSTFX_NONE
Definition Universe.h:94
@ OO_POSTFX_CRTBADSIGNAL
Definition Universe.h:102
@ OO_POSTFX_CLOAK
Definition Universe.h:98
OOINLINE Universe * OOGetUniverse(void) INLINE_CONST_FUNC
Definition Universe.h:839
@ MARKET_QUANTITY
Definition Universe.h:69
@ MARKET_ECO_ADJUST_QUANTITY
Definition Universe.h:73
@ MARKET_MASK_PRICE
Definition Universe.h:75
@ MARKET_ECO_ADJUST_PRICE
Definition Universe.h:72
@ MARKET_NAME
Definition Universe.h:68
@ MARKET_UNITS
Definition Universe.h:77
@ MARKET_BASE_PRICE
Definition Universe.h:71
@ MARKET_BASE_QUANTITY
Definition Universe.h:74
@ MARKET_PRICE
Definition Universe.h:70
@ MARKET_MASK_QUANTITY
Definition Universe.h:76
@ EQUIPMENT_SHORT_DESC_INDEX
Definition Universe.h:85
@ EQUIPMENT_LONG_DESC_INDEX
Definition Universe.h:87
@ EQUIPMENT_TECH_LEVEL_INDEX
Definition Universe.h:83
@ EQUIPMENT_KEY_INDEX
Definition Universe.h:86
@ EQUIPMENT_PRICE_INDEX
Definition Universe.h:84
@ EQUIPMENT_EXTRA_INFO_INDEX
Definition Universe.h:88
NSString * OOLookUpDescriptionPRIV(NSString *key)
Definition Universe.m:11184
NSString * OOLookUpPluralDescriptionPRIV(NSString *key, NSInteger count)
Definition Universe.m:11193
NSComparisonResult populatorPrioritySort(id a, id b, void *context)
Definition Universe.m:11120
NSComparisonResult equipmentSortOutfitting(id a, id b, void *context)
Definition Universe.m:11158
NSComparisonResult equipmentSort(id a, id b, void *context)
Definition Universe.m:11132
BOOL(* EntityFilterPredicate)(Entity *entity, void *parameter)
Definition Universe.h:56
Universe * gSharedUniverse
Definition Universe.m:138
GLuint targetDepthBufferID
Definition Universe.h:370
NSArray * speechArray
Definition Universe.h:343
NSSpeechSynthesizer * speechSynthesizer
Definition Universe.h:338
OOGraphicsDetail detailLevel
Definition Universe.m:10066
GLuint pingpongColorbuffers[2]
Definition Universe.h:379
Random_Seed marketSeed()
Definition Universe.m:8997
unsigned n_entities
Definition Universe.h:196
GLuint msaaDepthBufferID
Definition Universe.h:369
OOShaderProgram * finalProgram
Definition Universe.h:375
void populateNormalSpace()
Definition Universe.m:1701
OOWeakReference * _firstBeacon
Definition Universe.h:225
Entity< OOBeaconEntity > * lastBeacon()
Definition Universe.m:3776
NSMutableDictionary * conditionScripts
Definition Universe.h:353
Entity * firstEntityTargetedByPlayerPrecisely()
Definition Universe.m:6315
BOOL useShaders()
Definition Universe.m:10072
OOGalaxyID galaxyID
Definition Universe.h:288
OOSunEntity * sun()
Definition Universe.m:3693
NSArray * demo_ships
Definition Universe.h:261
void pauseGame()
Definition Universe.m:1017
OOTimeDelta getTimeDelta()
Definition Universe.m:6658
BOOL _autoMessageLogBg
Definition Universe.h:358
OOSystemID systemID
Definition Universe.h:289
void setUpUniverseFromWitchspace()
Definition Universe.m:1199
void resetCommsLogColor()
Definition Universe.m:9958
BOOL * systemsFound()
Definition Universe.m:8672
BOOL reducedDetail()
Definition Universe.m:10026
NSString * collisionDescription()
Definition Universe.m:6685
BOOL autoSaveNow
Definition Universe.m:10007
BOOL _doingStartUp
Definition Universe.h:362
GLuint msaaTextureID
Definition Universe.h:364
BOOL autoMessageLogBg()
Definition Universe.m:10256
NSString * system_repopulator
Definition Universe.h:309
OOTimeAbsolute demo_start_time
Definition Universe.h:256
OOSystemID targetSystemID
Definition Universe.h:290
void setLighting()
Definition Universe.m:2030
GLuint quadTextureVAO
Definition Universe.h:376
BOOL ECMVisualFXEnabled
Definition Universe.m:7413
NSString * system_names[256]
Definition Universe.h:292
void setUpSpace()
Definition Universe.m:1381
NSString * useAddOns
Definition Universe.m:954
GLfloat sun_diffuse[4]
Definition Universe.h:209
void selectIntro2Previous()
Definition Universe.m:3593
GuiDisplayGen * messageGUI()
Definition Universe.m:9942
void forceWitchspaceEntries()
Definition Universe.m:3026
NSUInteger demo_ship_index
Definition Universe.h:259
BOOL dockingClearanceProtocolActive()
Definition Universe.m:3162
Entity * y_list_start
Definition Universe.h:201
NSDictionary * customSounds
Definition Universe.h:272
BOOL doProcedurallyTexturedPlanets
Definition Universe.m:941
NSDictionary * currentSystemData()
Definition Universe.m:8181
NSDictionary * descriptions()
Definition Universe.m:7996
OOCommodities * commodities
Definition Universe.m:4251
OOShaderProgram * blurProgram
Definition Universe.h:374
NSArray * stations()
Definition Universe.m:3709
NSMutableSet * allStations
Definition Universe.h:303
NSDictionary * roleCategories
Definition Universe.h:281
GuiDisplayGen * comm_log_gui
Definition Universe.h:237
GLfloat sun_specular[4]
Definition Universe.h:210
void removeAllEntitiesExceptPlayer()
Definition Universe.m:5720
OOTimeAbsolute getTime()
Definition Universe.m:6652
NSUInteger demo_ship_subindex
Definition Universe.h:260
NSDictionary * gameSettings()
Definition Universe.m:4505
BOOL breakPatternHide()
Definition Universe.m:3896
GLuint targetFramebufferID
Definition Universe.h:371
NSDictionary * _descriptions
Definition Universe.h:271
NSDictionary * cargoPods
Definition Universe.h:286
NSArray * equipmentData
Definition Universe.m:8898
int cursor_row
Definition Universe.h:198
void resetFramesDoneThisUpdate()
Definition Universe.m:5306
int demo_stage
Definition Universe.h:258
BOOL doLinkedListMaintenanceThisUpdate
Definition Universe.h:331
NSArray * getStationMarkets()
Definition Universe.m:9047
NSDictionary * characters
Definition Universe.m:8109
void setUpSettings()
Definition Universe.m:10305
NSMutableDictionary * waypoints
Definition Universe.h:227
OOShaderProgram * textureProgram
Definition Universe.h:373
int next_universal_id
Definition Universe.h:220
BOOL wasDisplayGUI
Definition Universe.h:240
OOTimeAbsolute demo_stage_time
Definition Universe.h:255
BOOL _pauseMessage
Definition Universe.h:355
BOOL no_update
Definition Universe.h:316
OOViewID viewDirection
Definition Universe.m:6698
BOOL deterministic_population
Definition Universe.h:310
BOOL _autoCommLog
Definition Universe.h:356
OOMatrix viewMatrix
Definition Universe.m:5312
void setUpUniverseFromStation()
Definition Universe.m:1115
void selectIntro2Next()
Definition Universe.m:3620
NSMutableDictionary * populatorSettings
Definition Universe.h:307
NSDictionary * screenBackgrounds
Definition Universe.h:283
void unMagicMainStation()
Definition Universe.m:3721
GLuint pingpongFBO[2]
Definition Universe.h:378
NSDictionary * globalSettings
Definition Universe.m:8892
GuiDisplayGen * message_gui
Definition Universe.h:236
OOSunEntity * cachedSun
Definition Universe.h:301
void dumpCollisions()
Definition Universe.m:6692
HPVector getWitchspaceExitPosition()
Definition Universe.m:9785
NSUInteger _sessionID
Definition Universe.h:206
BOOL system_found[256]
Definition Universe.h:293
NSString * currentMessage
Definition Universe.h:231
CollisionRegion * universeRegion
Definition Universe.h:328
NSArray * wormholes()
Definition Universe.m:3715
void setUpUniverseFromMisjump()
Definition Universe.m:1235
void drawMessage()
Definition Universe.m:5318
NSDictionary * explosionSettings
Definition Universe.h:284
void clearSystemPopulator()
Definition Universe.m:1767
OOPlanetEntity * cachedPlanet
Definition Universe.h:300
NSSize targetFramebufferSize
Definition Universe.h:367
NSDictionary * getPopulatorSettings()
Definition Universe.m:1774
NSUInteger entityCount()
Definition Universe.m:980
NSMutableArray * activeWormholes
Definition Universe.h:324
ShipEntity * demo_ship
Definition Universe.h:297
void clearPreviousMessage()
Definition Universe.m:6885
NSMutableArray * entities
Definition Universe.h:223
void defineFrustum()
Definition Universe.m:4720
BOOL deterministicPopulation()
Definition Universe.m:1793
OOPlanetEntity * setUpPlanet()
Definition Universe.m:1343
Entity * firstEntityTargetedByPlayer()
Definition Universe.m:6229
GLfloat skyClearColor[4]
Definition Universe.m:3874
OOCommodityMarket * commodityMarket
Definition Universe.m:8910
OOPlanetEntity * planet()
Definition Universe.m:3683
OOSystemDescriptionManager * systemManager
Definition Universe.m:8141
BOOL _permanentMessageLog
Definition Universe.h:359
BOOL inInterstellarSpace()
Definition Universe.m:8218
GLuint passthroughTextureID[2]
Definition Universe.h:366
BOOL _witchspaceBreakPattern
Definition Universe.h:360
NSArray * closeSystems
Definition Universe.h:312
void loadConditionScripts()
Definition Universe.m:11031
GLuint passthroughFramebufferID
Definition Universe.h:372
NSArray * _scenarios
Definition Universe.h:274
OOTimeDelta next_repopulation
Definition Universe.h:308
GLuint msaaFramebufferID
Definition Universe.h:368
BOOL _bloom
Definition Universe.h:380
double timeAccelerationFactor
Definition Universe.m:7386
OOTimeDelta time_delta
Definition Universe.h:253
void removeDemoShips()
Definition Universe.m:5772
BOOL dumpCollisionInfo
Definition Universe.h:265
Entity * sortedEntities[UNIVERSE_MAX_ENTITIES+1]
Definition Universe.h:195
GLfloat main_light_position[4]
Definition Universe.h:263
BOOL _dockingClearanceProtocolActive
Definition Universe.h:361
void handleGameOver()
Definition Universe.m:3192
BOOL displayFPS
Definition Universe.m:9982
BOOL autoSave
Definition Universe.m:9995
int breakPatternCounter
Definition Universe.h:295
OOTimeAbsolute countdown_messageRepeatTime
Definition Universe.h:233
BOOL _permanentCommLog
Definition Universe.h:357
NSMutableSet * entitiesDeadThisUpdate
Definition Universe.h:333
NSString * getRandomCommodity()
Definition Universe.m:4396
GLfloat stars_ambient[4]
Definition Universe.h:203
NSMutableArray * characterPool
Definition Universe.h:326
MyOpenGLView * gameView
Definition Universe.m:4493
BOOL doingStartUp()
Definition Universe.m:935
GLfloat airResistanceFactor
Definition Universe.m:10100
NSDictionary * autoAIMap
Definition Universe.h:282
NSDictionary * currentWaypoints()
Definition Universe.m:3837
GLuint quadTextureVBO
Definition Universe.h:376
OOTimeAbsolute messageRepeatTime
Definition Universe.h:232
NSMutableArray * allPlanets
Definition Universe.h:302
void stopSpeaking()
Definition Universe.m:10121
GLfloat demo_start_z
Definition Universe.h:257
GLuint targetTextureID
Definition Universe.h:365
GameController * gameController()
Definition Universe.m:4499
void setUpWitchspace()
Definition Universe.m:1270
GLint defaultDrawFBO
Definition Universe.h:377
NSArray * scenarios()
Definition Universe.m:8096
StationEntity * station()
Definition Universe.m:3639
Entity * z_list_start
Definition Universe.h:201
Entity< OOBeaconEntity > * firstBeacon()
Definition Universe.m:3757
GLfloat safeWitchspaceExitDistance()
Definition Universe.m:3059
void forceLightSwitch()
Definition Universe.m:2107
Quaternion getWitchspaceExitRotation()
Definition Universe.m:9791
void selectIntro2NextCategory()
Definition Universe.m:3611
void drawUniverse()
Definition Universe.m:4822
BOOL displayGUI
Definition Universe.m:9970
GLfloat frustum[6][4]
Definition Universe.h:351
int framesDoneThisUpdate
Definition Universe.m:5300
void filterSortedLists()
Definition Universe.m:7425
void clearGUIs()
Definition Universe.m:9948
BOOL blockJSPlayerShipProps()
Definition Universe.m:10286
BOOL permanentMessageLog()
Definition Universe.m:10244
void findCollisionsAndShadows()
Definition Universe.m:6664
Entity * entity_for_uid[MAX_ENTITY_UID]
Definition Universe.h:221
BOOL wireframeGraphics
Definition Universe.m:10020
BOOL pauseMessageVisible()
Definition Universe.m:10232
BOOL breakPatternOver()
Definition Universe.m:3890
OOTimeAbsolute universal_time
Definition Universe.h:252
GuiDisplayGen * commLogGUI()
Definition Universe.m:9936
StationEntity * cachedStation
Definition Universe.h:299
GLuint quadTextureEBO
Definition Universe.h:376
OOWeakReference * _lastBeacon
Definition Universe.h:226
void resetBeacons()
Definition Universe.m:3741
Entity * x_list_start
Definition Universe.h:201
int _currentPostFX
Definition Universe.h:381
OOSystemID currentSystemID()
Definition Universe.m:7990
BOOL isSpeaking()
Definition Universe.m:10134
void preloadSounds()
Definition Universe.m:10745
BOOL witchspaceBreakPattern()
Definition Universe.m:3150
void selectIntro2PreviousCategory()
Definition Universe.m:3602
void debugDumpEntities()
Definition Universe.m:987
BOOL permanentCommLog()
Definition Universe.m:10268
NSDictionary * missiontext
Definition Universe.m:8115
float ambientLightLevel
Definition Universe.m:2024
int _colorblindMode
Definition Universe.h:382
NSArray * planets()
Definition Universe.m:3703
int colorblindMode()
Definition Universe.m:333
NSArray * entityList()
Definition Universe.m:1010
NSArray * equipmentDataOutfitting
Definition Universe.m:8904
GuiDisplayGen * gui
Definition Universe.m:9930
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque