43#include <espeak/speak_lib.h>
54#ifndef OO_SCANCLASS_TYPE
55#define OO_SCANCLASS_TYPE
60#define CROSSHAIR_SIZE 32.0
102#define SHADERS_MIN SHADERS_OFF
105#define MAX_MESSAGES 5
107#define PROXIMITY_WARN_DISTANCE 4
108#define PROXIMITY_WARN_DISTANCE2 (PROXIMITY_WARN_DISTANCE * PROXIMITY_WARN_DISTANCE)
109#define PROXIMITY_AVOID_DISTANCE_FACTOR 10.0
110#define SAFE_ADDITION_FACTOR2 800
112#define SUN_SKIM_RADIUS_FACTOR 1.15470053838
113#define SUN_SPARKS_RADIUS_FACTOR 2.0
115#define KEY_TECHLEVEL @"techlevel"
116#define KEY_ECONOMY @"economy"
117#define KEY_ECONOMY_DESC @"economy_description"
118#define KEY_GOVERNMENT @"government"
119#define KEY_GOVERNMENT_DESC @"government_description"
120#define KEY_POPULATION @"population"
121#define KEY_POPULATION_DESC @"population_description"
122#define KEY_PRODUCTIVITY @"productivity"
123#define KEY_RADIUS @"radius"
124#define KEY_NAME @"name"
125#define KEY_INHABITANT @"inhabitant"
126#define KEY_INHABITANTS @"inhabitants"
127#define KEY_DESCRIPTION @"description"
128#define KEY_SHORT_DESCRIPTION @"short_description"
129#define KEY_PLANETNAME @"planet_name"
130#define KEY_SUNNAME @"sun_name"
132#define KEY_CHANCE @"chance"
133#define KEY_PRICE @"price"
134#define KEY_OPTIONAL_EQUIPMENT @"optional_equipment"
135#define KEY_STANDARD_EQUIPMENT @"standard_equipment"
136#define KEY_EQUIPMENT_MISSILES @"missiles"
137#define KEY_EQUIPMENT_FORWARD_WEAPON @"forward_weapon_type"
138#define KEY_EQUIPMENT_AFT_WEAPON @"aft_weapon_type"
139#define KEY_EQUIPMENT_PORT_WEAPON @"port_weapon_type"
140#define KEY_EQUIPMENT_STARBOARD_WEAPON @"starboard_weapon_type"
141#define KEY_EQUIPMENT_EXTRAS @"extras"
142#define KEY_WEAPON_FACINGS @"weapon_facings"
143#define KEY_RENOVATION_MULTIPLIER @"renovation_multiplier"
145#define SHIPYARD_KEY_ID @"id"
146#define SHIPYARD_KEY_SHIPDATA_KEY @"shipdata_key"
147#define SHIPYARD_KEY_SHIP @"ship"
148#define SHIPYARD_KEY_PRICE @"price"
149#define SHIPYARD_KEY_PERSONALITY @"personality"
151#define PASSENGER_BERTH_SPACE 5
153#define PLANETINFO_UNIVERSAL_KEY @"universal"
154#define PLANETINFO_INTERSTELLAR_KEY @"interstellar space"
156#define OOLITE_EXCEPTION_LOOPING @"OoliteLoopingException"
157#define OOLITE_EXCEPTION_DATA_NOT_FOUND @"OoliteDataNotFoundException"
158#define OOLITE_EXCEPTION_FATAL @"OoliteFatalException"
162#define BILLBOARD_DEPTH 75000.0
164#define TIME_ACCELERATION_FACTOR_MIN 0.0625f
165#define TIME_ACCELERATION_FACTOR_DEFAULT 1.0f
166#define TIME_ACCELERATION_FACTOR_MAX 16.0f
168#define DEMO_LIGHT_POSITION 5000.0f, 25000.0f, -10000.0f
170#define MIN_DISTANCE_TO_BUOY 750.0f
171#define MIN_DISTANCE_TO_BUOY2 (MIN_DISTANCE_TO_BUOY * MIN_DISTANCE_TO_BUOY)
175#define SYSTEM_REPOPULATION_INTERVAL 20.0f;
177#ifndef OO_LOCALIZATION_TOOLS
178#define OO_LOCALIZATION_TOOLS 1
181#ifndef MASS_DEPENDENT_FUEL_PRICES
182#define MASS_DEPENDENT_FUEL_PRICES 1
329#if OOLITE_SPEECH_SYNTH
333 const espeak_VOICE **espeak_voices;
334 unsigned int espeak_voice_count;
340 NSMutableArray *_preloadingPlanetMaterials;
379- (void) setBloom: (BOOL)newBloom;
381- (
int) currentPostFX;
382- (void) setCurrentPostFX: (
int) newCurrentPostFX;
387- (NSUInteger) sessionID;
389- (BOOL) doProcedurallyTexturedPlanets;
390- (void) setDoProcedurallyTexturedPlanets:(BOOL) value;
392- (NSString *) useAddOns;
393- (BOOL) setUseAddOns:(NSString *)newUse fromSaveGame: (BOOL)saveGame;
394- (BOOL) setUseAddOns:(NSString *) newUse fromSaveGame:(BOOL) saveGame forceReinit:(BOOL)force;
396- (void) setUpSettings;
398- (BOOL) reinitAndShowDemo:(BOOL)showDemo;
400- (BOOL) doingStartUp;
402- (NSUInteger) entityCount;
404- (void) debugDumpEntities;
405- (NSArray *) entityList;
411- (void) setUpUniverseFromStation;
412- (void) setUpUniverseFromWitchspace;
413- (void) setUpUniverseFromMisjump;
414- (void) setUpWitchspace;
417- (void) populateNormalSpace;
418- (void) clearSystemPopulator;
419- (BOOL) deterministicPopulation;
420- (void) populateSystemFromDictionariesWithSun:(
OOSunEntity *)sun andPlanet:(OOPlanetEntity *)planet;
421- (NSDictionary *) getPopulatorSettings;
422- (void) setPopulatorSetting:(NSString *)key to:(NSDictionary *)setting;
423- (HPVector) locationByCode:(NSString *)code withSun:(
OOSunEntity *)sun andPlanet:(OOPlanetEntity *)planet;
424- (void) setAmbientLightLevel:(
float)newValue;
425- (float) ambientLightLevel;
427- (void) forceLightSwitch;
428- (void) setMainLightPosition: (Vector) sunPos;
429- (OOPlanetEntity *) setUpPlanet;
431- (void) makeSunSkimmer:(
ShipEntity *) ship andSetAI:(BOOL)setAI;
432- (void) addShipWithRole:(NSString *) desc nearRouteOneAt:(
double) route_fraction;
433- (HPVector) coordinatesForPosition:(HPVector) pos withCoordinateSystem:(NSString *) system returningScalar:(GLfloat*) my_scalar;
434- (NSString *) expressPosition:(HPVector) pos inCoordinateSystem:(NSString *) system;
435- (HPVector) legacyPositionFrom:(HPVector) pos asCoordinateSystem:(NSString *) system;
436- (HPVector) coordinatesFromCoordinateSystemString:(NSString *) system_x_y_z;
437- (BOOL) addShipWithRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
438- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc atPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
439- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
440- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system withinRadius:(GLfloat) radius;
441- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc intoBoundingBox:(BoundingBox) bbox;
442- (BOOL) spawnShip:(NSString *) shipdesc;
443- (void) witchspaceShipWithPrimaryRole:(NSString *)role;
447- (
ShipEntity *) addShipAt:(HPVector)pos withRole:(NSString *)role withinRadius:(GLfloat)radius;
448- (NSArray *) addShipsAt:(HPVector)pos withRole:(NSString *)role quantity:(
unsigned)count withinRadius:(GLfloat)radius asGroup:(BOOL)isGroup;
449- (NSArray *) addShipsToRoute:(NSString *)route withRole:(NSString *)role quantity:(
unsigned)count routeFraction:(
double)routeFraction asGroup:(BOOL)isGroup;
451- (BOOL) roleIsPirateVictim:(NSString *)role;
452- (BOOL) role:(NSString *)role isInCategory:(NSString *)category;
454- (void) forceWitchspaceEntries;
455- (void) addWitchspaceJumpEffectForShip:(
ShipEntity *)ship;
456- (GLfloat) safeWitchspaceExitDistance;
458- (void) setUpBreakPattern:(HPVector)pos orientation:(Quaternion)q forDocking:(BOOL)forDocking;
459- (BOOL) witchspaceBreakPattern;
460- (void) setWitchspaceBreakPattern:(BOOL)newValue;
462- (BOOL) dockingClearanceProtocolActive;
463- (void) setDockingClearanceProtocolActive:(BOOL)newValue;
465- (void) handleGameOver;
467- (void) setupIntroFirstGo:(BOOL)justCobra;
468- (void) selectIntro2Previous;
469- (void) selectIntro2Next;
470- (void) selectIntro2PreviousCategory;
471- (void) selectIntro2NextCategory;
474- (OOPlanetEntity *) planet;
476- (NSArray *) planets;
477- (NSArray *) stations;
478- (NSArray *) wormholes;
479- (
StationEntity *) stationWithRole:(NSString *)role andPosition:(HPVector)position;
482- (void) unMagicMainStation;
486- (void) resetBeacons;
487- (
Entity <OOBeaconEntity> *) firstBeacon;
488- (
Entity <OOBeaconEntity> *) lastBeacon;
489- (void) setNextBeacon:(
Entity <OOBeaconEntity> *) beaconShip;
490- (void) clearBeacon:(
Entity <OOBeaconEntity> *) beaconShip;
492- (NSDictionary *) currentWaypoints;
493- (void) defineWaypoint:(NSDictionary *)definition forKey:(NSString *)key;
495- (GLfloat *) skyClearColor;
497- (void) setSkyColorRed:(GLfloat)red green:(GLfloat)green blue:(GLfloat)blue alpha:(GLfloat)alpha;
499- (BOOL) breakPatternOver;
500- (BOOL) breakPatternHide;
502- (NSString *) randomShipKeyForRoleRespectingConditions:(NSString *)role;
503- (
ShipEntity *) newShipWithRole:(NSString *)role OO_RETURNS_RETAINED;
504- (
ShipEntity *) newShipWithName:(NSString *)shipKey OO_RETURNS_RETAINED;
505- (
ShipEntity *) newSubentityWithName:(NSString *)shipKey andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
507- (
DockEntity *) newDockWithName:(NSString *)shipKey andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
508- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy OO_RETURNS_RETAINED;
509- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity OO_RETURNS_RETAINED;
510- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
512- (Class) shipClassForShipDictionary:(NSDictionary *)dict;
514- (NSString *)defaultAIForRole:(NSString *)role;
524- (NSArray *) getContainersOfGoods:(
OOCargoQuantity)how_many scarce:(BOOL)scarce legal:(BOOL)legal;
526- (void) fillCargopodWithRandomCargo:(
ShipEntity *)cargopod;
528- (NSString *) getRandomCommodity;
538- (NSDictionary *) gameSettings;
540- (void) useGUILightSource:(BOOL)GUILight;
542- (void) drawUniverse;
544- (void) defineFrustum;
545- (BOOL) viewFrustumIntersectsSphereAt:(Vector)position withRadius:(GLfloat)radius;
549- (void) drawWatermarkString:(NSString *)watermarkString;
552- (OOMatrix) viewMatrix;
556- (BOOL) addEntity:(
Entity *) entity;
557- (BOOL) removeEntity:(
Entity *) entity;
558- (void) ensureEntityReallyRemoved:(
Entity *)entity;
559- (void) removeAllEntitiesExceptPlayer;
560- (void) removeDemoShips;
562- (
ShipEntity *) makeDemoShipWithRole:(NSString *)role spinning:(BOOL)spinning;
564- (BOOL) isVectorClearFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
565- (
Entity*) hazardOnRouteFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
566- (HPVector) getSafeVectorFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
568- (
ShipEntity *) addWreckageFrom:(
ShipEntity *)ship withRole:(NSString *)wreckRole at:(HPVector)rpos scale:(GLfloat)scale lifetime:(GLfloat)lifetime;
569- (void) addLaserHitEffectsAt:(HPVector)pos against:(
ShipEntity *)target damage:(
float)damage color:(
OOColor *)color;
570- (
ShipEntity *) firstShipHitByLaserFromShip:(
ShipEntity *)srcEntity inDirection:(
OOWeaponFacing)direction offset:(Vector)offset gettingRangeFound:(GLfloat*)range_ptr;
571- (
Entity *) firstEntityTargetedByPlayer;
572- (
Entity *) firstEntityTargetedByPlayerPrecisely;
574- (NSArray *) entitiesWithinRange:(
double)range ofEntity:(
Entity *)entity;
575- (unsigned) countShipsWithRole:(NSString *)role inRange:(
double)range ofEntity:(
Entity *)entity;
576- (unsigned) countShipsWithRole:(NSString *)role;
577- (unsigned) countShipsWithPrimaryRole:(NSString *)role inRange:(
double)range ofEntity:(
Entity *)entity;
578- (unsigned) countShipsWithPrimaryRole:(NSString *)role;
579- (unsigned) countShipsWithScanClass:(
OOScanClass)scanClass inRange:(
double)range ofEntity:(
Entity *)entity;
584 parameter:(
void *)parameter
585 inRange:(
double)range
586 ofEntity:(
Entity *)entity;
588 parameter:(
void *)parameter
589 inRange:(
double)range
590 ofEntity:(
Entity *)entity;
592 parameter:(
void *)parameter
593 inRange:(
double)range
594 ofEntity:(
Entity *)entity;
596 parameter:(
void *)parameter;
598 parameter:(
void *)parameter
599 inRange:(
double)range
600 ofEntity:(
Entity *)entity;
602 parameter:(
void *)parameter
603 inRange:(
double)range
604 ofEntity:(
Entity *)entity;
606 parameter:(
void *)parameter
607 relativeToEntity:(
Entity *)entity;
609 parameter:(
void *)parameter
610 relativeToEntity:(
Entity *)entity;
616- (void) findCollisionsAndShadows;
617- (NSString*) collisionDescription;
618- (void) dumpCollisions;
621- (void) setViewDirection:(
OOViewID)vd;
622- (void) enterGUIViewModeWithMouseInteraction:(BOOL)mouseInteraction;
624- (NSString *) soundNameForCustomSoundKey:(NSString *)key;
625- (NSDictionary *) screenTextureDescriptorForKey:(NSString *)key;
626- (void) setScreenTextureDescriptorForKey:(NSString *) key descriptor:(NSDictionary *)desc;
628- (void) clearPreviousMessage;
629- (void) setMessageGuiBackgroundColor:(
OOColor *) some_color;
630- (void) displayMessage:(NSString *) text forCount:(
OOTimeDelta) count;
631- (void) displayCountdownMessage:(NSString *) text forCount:(
OOTimeDelta) count;
633- (void) addDelayedMessage:(NSDictionary *) textdict;
634- (void) addMessage:(NSString *) text forCount:(
OOTimeDelta) count;
635- (void) addMessage:(NSString *) text forCount:(
OOTimeDelta) count forceDisplay:(BOOL) forceDisplay;
636- (void) addCommsMessage:(NSString *) text forCount:(
OOTimeDelta) count;
637- (void) addCommsMessage:(NSString *) text forCount:(
OOTimeDelta) count andShowComms:(BOOL)showComms logOnly:(BOOL)logOnly;
639- (void) showGUIMessage:(NSString *)text withScroll:(BOOL)scroll andColor:(
OOColor *)selectedColor overDuration:(
OOTimeDelta)how_long;
644- (double) timeAccelerationFactor;
645- (void) setTimeAccelerationFactor:(
double)newTimeAccelerationFactor;
647- (void) filterSortedLists;
652- (void) setGalaxyTo:(
OOGalaxyID) g andReinit:(BOOL) forced;
658- (NSDictionary *) descriptions;
659- (NSDictionary *) characters;
660- (NSDictionary *) missiontext;
661- (NSArray *) scenarios;
662- (NSDictionary *) explosionSetting:(NSString *)explosion;
666- (NSString *)descriptionForKey:(NSString *)key;
667- (NSString *)descriptionForArrayKey:(NSString *)key index:(
unsigned)index;
668- (BOOL) descriptionBooleanForKey:(NSString *)key;
672- (NSDictionary *) generateSystemData:(
OOSystemID) s;
673- (NSDictionary *) generateSystemData:(
OOSystemID) s useCache:(BOOL) useCache;
674- (NSDictionary *) currentSystemData;
676- (BOOL) inInterstellarSpace;
678- (void) setSystemDataKey:(NSString*) key value:(NSObject*) object fromManifest:(NSString *)manifest;
679- (void) setSystemDataForGalaxy:(
OOGalaxyID) gnum planet:(
OOSystemID) pnum key:(NSString *)key value:(
id)object fromManifest:(NSString *)manifest forLayer:(
OOSystemLayer)layer;
685- (NSString *) getSystemInhabitants:(
OOSystemID) sys;
686- (NSString *) getSystemInhabitants:(
OOSystemID) sys plural:(BOOL)plural;
688- (NSPoint) coordinatesForSystem:(
OOSystemID)s;
689- (
OOSystemID) findSystemFromName:(NSString *) sysName;
694- (NSMutableArray *) nearbyDestinationsWithinRange:(
double) range;
700- (
OOSystemID) findSystemNumberAtCoords:(NSPoint) coords withGalaxy:(
OOGalaxyID) gal includingHidden:(BOOL)hidden;
701- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix;
702- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix exactMatch:(BOOL) exactMatch;
703- (BOOL*) systemsFound;
704- (NSString*) systemNameIndex:(
OOSystemID) index;
706- (NSArray *) neighboursToSystem:(
OOSystemID) system_number;
708- (void) preloadPlanetTexturesForSystem:(
OOSystemID)system;
709- (void) preloadSounds;
711- (NSDictionary *) globalSettings;
713- (NSArray *) equipmentData;
714- (NSArray *) equipmentDataOutfitting;
718- (NSString *) timeDescription:(
OOTimeDelta) interval;
719- (NSString *) shortTimeDescription:(
OOTimeDelta) interval;
721- (void) loadStationMarkets:(NSArray *)marketData;
722- (NSArray *) getStationMarkets;
727- (
OOCreditsQuantity) tradeInValueForCommanderDictionary:(NSDictionary*) cmdr_dict;
729- (NSString*) brochureDescriptionWithDictionary:(NSDictionary*) dict standardEquipment:(NSArray*) extras optionalEquipment:(NSArray*) options;
731- (HPVector) getWitchspaceExitPosition;
732- (Quaternion) getWitchspaceExitRotation;
734- (HPVector) getSunSkimStartPositionForShip:(
ShipEntity*) ship;
735- (HPVector) getSunSkimEndPositionForShip:(
ShipEntity*) ship;
737- (NSArray*) listBeaconsWithCode:(NSString*) code;
739- (void) allShipsDoScriptEvent:(jsid)event andReactToAIMessage:(NSString *)message;
749- (void) resetCommsLogColor;
751- (void) setDisplayText:(BOOL) value;
754- (void) setDisplayFPS:(BOOL) value;
757- (void) setAutoSave:(BOOL) value;
760- (void) setWireframeGraphics:(BOOL) value;
761- (BOOL) wireframeGraphics;
763- (BOOL) reducedDetail;
768- (void) handleOoliteException:(NSException *)ooliteException;
770- (GLfloat)airResistanceFactor;
771- (void) setAirResistanceFactor:(GLfloat)newFactor;
775- (void) startSpeakingString:(NSString *) text;
777- (void) stopSpeaking;
782- (NSString *) voiceName:(
unsigned int) index;
783- (
unsigned int) voiceNumber:(NSString *) name;
784- (
unsigned int) nextVoice:(
unsigned int) index;
785- (
unsigned int) prevVoice:(
unsigned int) index;
786- (
unsigned int) setVoice:(
unsigned int) index withGenderM:(BOOL) isMale;
788- (
int) nextColorblindMode:(
int) index;
789- (
int) prevColorblindMode:(
int) index;
790- (
int) colorblindMode;
795- (void) setAutoSaveNow:(BOOL) value;
798- (
int) framesDoneThisUpdate;
799- (void) resetFramesDoneThisUpdate;
802- (BOOL) pauseMessageVisible;
803- (void) setPauseMessageVisible:(BOOL)value;
805- (BOOL) permanentCommLog;
806- (void) setPermanentCommLog:(BOOL)value;
807- (void) setAutoCommLog:(BOOL)value;
808- (BOOL) permanentMessageLog;
809- (void) setPermanentMessageLog:(BOOL)value;
810- (BOOL) autoMessageLogBg;
811- (void) setAutoMessageLogBg:(BOOL)value;
813- (BOOL) blockJSPlayerShipProps;
814- (void) setBlockJSPlayerShipProps:(BOOL)value;
816- (void) loadConditionScripts;
817- (void) addConditionScripts:(NSEnumerator *)scripts;
818- (
OOJSScript *) getConditionScript:(NSString *)scriptname;
833#define UNIVERSE OOGetUniverse()
839#define DESC(key) (OOLookUpDescriptionPRIV(key ""))
840#define DESC_PLURAL(key,count) (OOLookUpPluralDescriptionPRIV(key "", count))
849@interface OOSound (OOCustomSounds)
851+ (id) soundWithCustomSoundKey:(NSString *)key;
852- (id) initWithCustomSoundKey:(NSString *)key;
857@interface OOSoundSource (OOCustomSounds)
859+ (id) sourceWithCustomSoundKey:(NSString *)key;
860- (id) initWithCustomSoundKey:(NSString *)key;
862- (void) playCustomSoundWithKey:(NSString *)key;
NSString * OODisplayStringFromEconomyID(OOEconomyID economy)
NSString * OODisplayStringFromGovernmentID(OOGovernmentID government)
#define INLINE_CONST_FUNC
NSString * OOCommodityType
uint64_t OOCreditsQuantity
OOINLINE Universe * OOGetUniverse(void) INLINE_CONST_FUNC
@ EQUIPMENT_SHORT_DESC_INDEX
@ EQUIPMENT_LONG_DESC_INDEX
@ EQUIPMENT_TECH_LEVEL_INDEX
@ EQUIPMENT_EXTRA_INFO_INDEX
NSString * OOLookUpDescriptionPRIV(NSString *key)
@ OO_POSTFX_COLORBLINDNESS_PROTAN
@ OO_POSTFX_COLORBLINDNESS_TRITAN
@ OO_POSTFX_COLORBLINDNESS_DEUTER
NSString * OOLookUpPluralDescriptionPRIV(NSString *key, NSInteger count)
NSComparisonResult populatorPrioritySort(id a, id b, void *context)
NSComparisonResult equipmentSortOutfitting(id a, id b, void *context)
NSComparisonResult equipmentSort(id a, id b, void *context)
@ MARKET_ECO_ADJUST_QUANTITY
@ MARKET_ECO_ADJUST_PRICE
BOOL(* EntityFilterPredicate)(Entity *entity, void *parameter)
Universe * gSharedUniverse
GLuint targetDepthBufferID
NSSpeechSynthesizer * speechSynthesizer
OOGraphicsDetail detailLevel
GLuint pingpongColorbuffers[2]
OOShaderProgram * finalProgram
OOWeakReference * _firstBeacon
NSMutableDictionary * conditionScripts
NSString * system_repopulator
OOTimeAbsolute demo_start_time
OOSystemID targetSystemID
NSString * system_names[256]
NSUInteger demo_ship_index
NSDictionary * customSounds
BOOL doProcedurallyTexturedPlanets
OOCommodities * commodities
OOShaderProgram * blurProgram
NSMutableSet * allStations
NSDictionary * roleCategories
GuiDisplayGen * comm_log_gui
NSUInteger demo_ship_subindex
GLuint targetFramebufferID
NSDictionary * _descriptions
BOOL doLinkedListMaintenanceThisUpdate
NSDictionary * characters
NSMutableDictionary * waypoints
OOShaderProgram * textureProgram
OOTimeAbsolute demo_stage_time
BOOL deterministic_population
NSMutableDictionary * populatorSettings
NSDictionary * screenBackgrounds
NSDictionary * globalSettings
GuiDisplayGen * message_gui
NSString * currentMessage
CollisionRegion * universeRegion
NSDictionary * explosionSettings
OOPlanetEntity * cachedPlanet
NSSize targetFramebufferSize
NSMutableArray * activeWormholes
NSMutableArray * entities
OOCommodityMarket * commodityMarket
OOSystemDescriptionManager * systemManager
BOOL _permanentMessageLog
GLuint passthroughTextureID[2]
BOOL _witchspaceBreakPattern
GLuint passthroughFramebufferID
OOTimeDelta next_repopulation
double timeAccelerationFactor
Entity * sortedEntities[UNIVERSE_MAX_ENTITIES+1]
GLfloat main_light_position[4]
BOOL _dockingClearanceProtocolActive
OOTimeAbsolute countdown_messageRepeatTime
NSMutableSet * entitiesDeadThisUpdate
NSMutableArray * characterPool
GLfloat airResistanceFactor
OOTimeAbsolute messageRepeatTime
NSMutableArray * allPlanets
Entity * entity_for_uid[MAX_ENTITY_UID]
OOTimeAbsolute universal_time
StationEntity * cachedStation
OOWeakReference * _lastBeacon
NSDictionary * missiontext
NSArray * equipmentDataOutfitting
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque