43#include <espeak-ng/speak_lib.h>
54#ifndef OO_SCANCLASS_TYPE
55#define OO_SCANCLASS_TYPE
60#define CROSSHAIR_SIZE 32.0
103#define SHADERS_MIN SHADERS_OFF
106#define MAX_MESSAGES 5
108#define PROXIMITY_WARN_DISTANCE 4
109#define PROXIMITY_WARN_DISTANCE2 (PROXIMITY_WARN_DISTANCE * PROXIMITY_WARN_DISTANCE)
110#define PROXIMITY_AVOID_DISTANCE_FACTOR 10.0
111#define SAFE_ADDITION_FACTOR2 800
113#define SUN_SKIM_RADIUS_FACTOR 1.15470053838
114#define SUN_SPARKS_RADIUS_FACTOR 2.0
116#define KEY_TECHLEVEL @"techlevel"
117#define KEY_ECONOMY @"economy"
118#define KEY_ECONOMY_DESC @"economy_description"
119#define KEY_GOVERNMENT @"government"
120#define KEY_GOVERNMENT_DESC @"government_description"
121#define KEY_POPULATION @"population"
122#define KEY_POPULATION_DESC @"population_description"
123#define KEY_PRODUCTIVITY @"productivity"
124#define KEY_RADIUS @"radius"
125#define KEY_NAME @"name"
126#define KEY_INHABITANT @"inhabitant"
127#define KEY_INHABITANTS @"inhabitants"
128#define KEY_DESCRIPTION @"description"
129#define KEY_SHORT_DESCRIPTION @"short_description"
130#define KEY_PLANETNAME @"planet_name"
131#define KEY_SUNNAME @"sun_name"
133#define KEY_CHANCE @"chance"
134#define KEY_PRICE @"price"
135#define KEY_OPTIONAL_EQUIPMENT @"optional_equipment"
136#define KEY_STANDARD_EQUIPMENT @"standard_equipment"
137#define KEY_EQUIPMENT_MISSILES @"missiles"
138#define KEY_EQUIPMENT_FORWARD_WEAPON @"forward_weapon_type"
139#define KEY_EQUIPMENT_AFT_WEAPON @"aft_weapon_type"
140#define KEY_EQUIPMENT_PORT_WEAPON @"port_weapon_type"
141#define KEY_EQUIPMENT_STARBOARD_WEAPON @"starboard_weapon_type"
142#define KEY_EQUIPMENT_EXTRAS @"extras"
143#define KEY_WEAPON_FACINGS @"weapon_facings"
144#define KEY_RENOVATION_MULTIPLIER @"renovation_multiplier"
146#define SHIPYARD_KEY_ID @"id"
147#define SHIPYARD_KEY_SHIPDATA_KEY @"shipdata_key"
148#define SHIPYARD_KEY_SHIP @"ship"
149#define SHIPYARD_KEY_PRICE @"price"
150#define SHIPYARD_KEY_PERSONALITY @"personality"
152#define PASSENGER_BERTH_SPACE 5
154#define PLANETINFO_UNIVERSAL_KEY @"universal"
155#define PLANETINFO_INTERSTELLAR_KEY @"interstellar space"
157#define OOLITE_EXCEPTION_LOOPING @"OoliteLoopingException"
158#define OOLITE_EXCEPTION_DATA_NOT_FOUND @"OoliteDataNotFoundException"
159#define OOLITE_EXCEPTION_FATAL @"OoliteFatalException"
163#define BILLBOARD_DEPTH 75000.0
165#define TIME_ACCELERATION_FACTOR_MIN 0.0625f
166#define TIME_ACCELERATION_FACTOR_DEFAULT 1.0f
167#define TIME_ACCELERATION_FACTOR_MAX 16.0f
169#define DEMO_LIGHT_POSITION 5000.0f, 25000.0f, -10000.0f
171#define MIN_DISTANCE_TO_BUOY 750.0f
172#define MIN_DISTANCE_TO_BUOY2 (MIN_DISTANCE_TO_BUOY * MIN_DISTANCE_TO_BUOY)
176#define SYSTEM_REPOPULATION_INTERVAL 20.0f;
178#ifndef OO_LOCALIZATION_TOOLS
179#define OO_LOCALIZATION_TOOLS 1
182#ifndef MASS_DEPENDENT_FUEL_PRICES
183#define MASS_DEPENDENT_FUEL_PRICES 1
333#if OOLITE_SPEECH_SYNTH
337 const espeak_VOICE **espeak_voices;
338 unsigned int espeak_voice_count;
344 NSMutableArray *_preloadingPlanetMaterials;
383- (void) setBloom: (BOOL)newBloom;
385- (
int) currentPostFX;
386- (void) setCurrentPostFX: (
int) newCurrentPostFX;
387- (void) terminatePostFX:(
int) postFX;
392- (NSUInteger) sessionID;
394- (BOOL) doProcedurallyTexturedPlanets;
395- (void) setDoProcedurallyTexturedPlanets:(BOOL) value;
397- (NSString *) useAddOns;
398- (BOOL) setUseAddOns:(NSString *)newUse fromSaveGame: (BOOL)saveGame;
399- (BOOL) setUseAddOns:(NSString *) newUse fromSaveGame:(BOOL) saveGame forceReinit:(BOOL)force;
401- (void) setUpSettings;
403- (BOOL) reinitAndShowDemo:(BOOL)showDemo;
405- (BOOL) doingStartUp;
407- (NSUInteger) entityCount;
409- (void) debugDumpEntities;
410- (NSArray *) entityList;
417- (void) setUpUniverseFromStation;
418- (void) setUpUniverseFromWitchspace;
419- (void) setUpUniverseFromMisjump;
420- (void) setUpWitchspace;
423- (void) populateNormalSpace;
424- (void) clearSystemPopulator;
425- (BOOL) deterministicPopulation;
427- (NSDictionary *) getPopulatorSettings;
428- (void) setPopulatorSetting:(NSString *)key to:(NSDictionary *)setting;
430- (void) setAmbientLightLevel:(
float)newValue;
431- (float) ambientLightLevel;
433- (void) forceLightSwitch;
434- (void) setMainLightPosition: (Vector) sunPos;
437- (void) makeSunSkimmer:(
ShipEntity *) ship andSetAI:(BOOL)setAI;
438- (void) addShipWithRole:(NSString *) desc nearRouteOneAt:(
double) route_fraction;
439- (HPVector) coordinatesForPosition:(HPVector) pos withCoordinateSystem:(NSString *) system returningScalar:(GLfloat*) my_scalar;
440- (NSString *) expressPosition:(HPVector) pos inCoordinateSystem:(NSString *) system;
441- (HPVector) legacyPositionFrom:(HPVector) pos asCoordinateSystem:(NSString *) system;
442- (HPVector) coordinatesFromCoordinateSystemString:(NSString *) system_x_y_z;
443- (BOOL) addShipWithRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
444- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc atPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
445- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system;
446- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc nearPosition:(HPVector) pos withCoordinateSystem:(NSString *) system withinRadius:(GLfloat) radius;
447- (BOOL) addShips:(
int) howMany withRole:(NSString *) desc intoBoundingBox:(BoundingBox) bbox;
448- (BOOL) spawnShip:(NSString *) shipdesc;
449- (void) witchspaceShipWithPrimaryRole:(NSString *)role;
453- (
ShipEntity *) addShipAt:(HPVector)pos withRole:(NSString *)role withinRadius:(GLfloat)radius;
454- (NSArray *) addShipsAt:(HPVector)pos withRole:(NSString *)role quantity:(
unsigned)count withinRadius:(GLfloat)radius asGroup:(BOOL)isGroup;
455- (NSArray *) addShipsToRoute:(NSString *)route withRole:(NSString *)role quantity:(
unsigned)count routeFraction:(
double)routeFraction asGroup:(BOOL)isGroup;
457- (BOOL) roleIsPirateVictim:(NSString *)role;
458- (BOOL) role:(NSString *)role isInCategory:(NSString *)category;
460- (void) forceWitchspaceEntries;
461- (void) addWitchspaceJumpEffectForShip:(
ShipEntity *)ship;
462- (GLfloat) safeWitchspaceExitDistance;
464- (void) setUpBreakPattern:(HPVector)pos orientation:(Quaternion)q forDocking:(BOOL)forDocking;
465- (BOOL) witchspaceBreakPattern;
466- (void) setWitchspaceBreakPattern:(BOOL)newValue;
468- (BOOL) dockingClearanceProtocolActive;
469- (void) setDockingClearanceProtocolActive:(BOOL)newValue;
471- (void) handleGameOver;
473- (void) setupIntroFirstGo:(BOOL)justCobra;
474- (void) selectIntro2Previous;
475- (void) selectIntro2Next;
476- (void) selectIntro2PreviousCategory;
477- (void) selectIntro2NextCategory;
482- (NSArray *) planets;
483- (NSArray *) stations;
484- (NSArray *) wormholes;
485- (
StationEntity *) stationWithRole:(NSString *)role andPosition:(HPVector)position;
488- (void) unMagicMainStation;
492- (void) resetBeacons;
493- (
Entity <OOBeaconEntity> *) firstBeacon;
494- (
Entity <OOBeaconEntity> *) lastBeacon;
495- (void) setNextBeacon:(
Entity <OOBeaconEntity> *) beaconShip;
496- (void) clearBeacon:(
Entity <OOBeaconEntity> *) beaconShip;
498- (NSDictionary *) currentWaypoints;
499- (void) defineWaypoint:(NSDictionary *)definition forKey:(NSString *)key;
501- (GLfloat *) skyClearColor;
503- (void) setSkyColorRed:(GLfloat)red green:(GLfloat)green blue:(GLfloat)blue alpha:(GLfloat)alpha;
505- (BOOL) breakPatternOver;
506- (BOOL) breakPatternHide;
508- (NSString *) randomShipKeyForRoleRespectingConditions:(NSString *)role;
509- (
ShipEntity *) newShipWithRole:(NSString *)role OO_RETURNS_RETAINED;
510- (
ShipEntity *) newShipWithName:(NSString *)shipKey OO_RETURNS_RETAINED;
511- (
ShipEntity *) newSubentityWithName:(NSString *)shipKey andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
513- (
DockEntity *) newDockWithName:(NSString *)shipKey andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
514- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy OO_RETURNS_RETAINED;
515- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity OO_RETURNS_RETAINED;
516- (
ShipEntity *) newShipWithName:(NSString *)shipKey usePlayerProxy:(BOOL)usePlayerProxy isSubentity:(BOOL)isSubentity andScaleFactor:(
float)scale OO_RETURNS_RETAINED;
518- (Class) shipClassForShipDictionary:(NSDictionary *)dict;
520- (NSString *)defaultAIForRole:(NSString *)role;
530- (NSArray *) getContainersOfGoods:(
OOCargoQuantity)how_many scarce:(BOOL)scarce legal:(BOOL)legal;
532- (void) fillCargopodWithRandomCargo:(
ShipEntity *)cargopod;
534- (NSString *) getRandomCommodity;
544- (NSDictionary *) gameSettings;
546- (void) useGUILightSource:(BOOL)GUILight;
548- (void) drawUniverse;
550- (void) defineFrustum;
551- (BOOL) viewFrustumIntersectsSphereAt:(Vector)position withRadius:(GLfloat)radius;
555- (void) drawWatermarkString:(NSString *)watermarkString;
558- (OOMatrix) viewMatrix;
562- (BOOL) addEntity:(
Entity *) entity;
563- (BOOL) removeEntity:(
Entity *) entity;
564- (void) ensureEntityReallyRemoved:(
Entity *)entity;
565- (void) removeAllEntitiesExceptPlayer;
566- (void) removeDemoShips;
568- (
ShipEntity *) makeDemoShipWithRole:(NSString *)role spinning:(BOOL)spinning;
570- (BOOL) isVectorClearFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
571- (
Entity*) hazardOnRouteFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
572- (HPVector) getSafeVectorFromEntity:(
Entity *) e1 toDistance:(
double)dist fromPoint:(HPVector) p2;
574- (
ShipEntity *) addWreckageFrom:(
ShipEntity *)ship withRole:(NSString *)wreckRole at:(HPVector)rpos scale:(GLfloat)scale lifetime:(GLfloat)lifetime;
575- (void) addLaserHitEffectsAt:(HPVector)pos against:(
ShipEntity *)target damage:(
float)damage color:(
OOColor *)color;
576- (
ShipEntity *) firstShipHitByLaserFromShip:(
ShipEntity *)srcEntity inDirection:(
OOWeaponFacing)direction offset:(Vector)offset gettingRangeFound:(GLfloat*)range_ptr;
577- (
Entity *) firstEntityTargetedByPlayer;
578- (
Entity *) firstEntityTargetedByPlayerPrecisely;
580- (NSArray *) entitiesWithinRange:(
double)range ofEntity:(
Entity *)entity;
581- (unsigned) countShipsWithRole:(NSString *)role inRange:(
double)range ofEntity:(
Entity *)entity;
582- (unsigned) countShipsWithRole:(NSString *)role;
583- (unsigned) countShipsWithPrimaryRole:(NSString *)role inRange:(
double)range ofEntity:(
Entity *)entity;
584- (unsigned) countShipsWithPrimaryRole:(NSString *)role;
585- (unsigned) countShipsWithScanClass:(
OOScanClass)scanClass inRange:(
double)range ofEntity:(
Entity *)entity;
590 parameter:(
void *)parameter
591 inRange:(
double)range
592 ofEntity:(
Entity *)entity;
594 parameter:(
void *)parameter
595 inRange:(
double)range
596 ofEntity:(
Entity *)entity;
598 parameter:(
void *)parameter
599 inRange:(
double)range
600 ofEntity:(
Entity *)entity;
602 parameter:(
void *)parameter;
604 parameter:(
void *)parameter
605 inRange:(
double)range
606 ofEntity:(
Entity *)entity;
608 parameter:(
void *)parameter
609 inRange:(
double)range
610 ofEntity:(
Entity *)entity;
612 parameter:(
void *)parameter
613 relativeToEntity:(
Entity *)entity;
615 parameter:(
void *)parameter
616 relativeToEntity:(
Entity *)entity;
622- (void) findCollisionsAndShadows;
623- (NSString*) collisionDescription;
624- (void) dumpCollisions;
627- (void) setViewDirection:(
OOViewID)vd;
628- (void) enterGUIViewModeWithMouseInteraction:(BOOL)mouseInteraction;
630- (NSString *) soundNameForCustomSoundKey:(NSString *)key;
631- (NSDictionary *) screenTextureDescriptorForKey:(NSString *)key;
632- (void) setScreenTextureDescriptorForKey:(NSString *) key descriptor:(NSDictionary *)desc;
634- (void) clearPreviousMessage;
635- (void) setMessageGuiBackgroundColor:(
OOColor *) some_color;
636- (void) displayMessage:(NSString *) text forCount:(
OOTimeDelta) count;
637- (void) displayCountdownMessage:(NSString *) text forCount:(
OOTimeDelta) count;
639- (void) addDelayedMessage:(NSDictionary *) textdict;
640- (void) addMessage:(NSString *) text forCount:(
OOTimeDelta) count;
641- (void) addMessage:(NSString *) text forCount:(
OOTimeDelta) count forceDisplay:(BOOL) forceDisplay;
642- (void) addCommsMessage:(NSString *) text forCount:(
OOTimeDelta) count;
643- (void) addCommsMessage:(NSString *) text forCount:(
OOTimeDelta) count andShowComms:(BOOL)showComms logOnly:(BOOL)logOnly;
645- (void) showGUIMessage:(NSString *)text withScroll:(BOOL)scroll andColor:(
OOColor *)selectedColor overDuration:(
OOTimeDelta)how_long;
650- (double) timeAccelerationFactor;
651- (void) setTimeAccelerationFactor:(
double)newTimeAccelerationFactor;
653- (BOOL) ECMVisualFXEnabled;
654- (void) setECMVisualFXEnabled:(BOOL)isEnabled;
656- (void) filterSortedLists;
661- (void) setGalaxyTo:(
OOGalaxyID) g andReinit:(BOOL) forced;
667- (NSDictionary *) descriptions;
668- (NSDictionary *) characters;
669- (NSDictionary *) missiontext;
670- (NSArray *) scenarios;
671- (NSDictionary *) explosionSetting:(NSString *)explosion;
675- (NSString *)descriptionForKey:(NSString *)key;
676- (NSString *)descriptionForArrayKey:(NSString *)key index:(
unsigned)index;
677- (BOOL) descriptionBooleanForKey:(NSString *)key;
681- (NSDictionary *) generateSystemData:(
OOSystemID) s;
682- (NSDictionary *) generateSystemData:(
OOSystemID) s useCache:(BOOL) useCache;
683- (NSDictionary *) currentSystemData;
685- (BOOL) inInterstellarSpace;
687- (void) setSystemDataKey:(NSString*) key value:(NSObject*) object fromManifest:(NSString *)manifest;
688- (void) setSystemDataForGalaxy:(
OOGalaxyID) gnum planet:(
OOSystemID) pnum key:(NSString *)key value:(
id)object fromManifest:(NSString *)manifest forLayer:(
OOSystemLayer)layer;
694- (NSString *) getSystemInhabitants:(
OOSystemID) sys;
695- (NSString *) getSystemInhabitants:(
OOSystemID) sys plural:(BOOL)plural;
697- (NSPoint) coordinatesForSystem:(
OOSystemID)s;
698- (
OOSystemID) findSystemFromName:(NSString *) sysName;
703- (NSMutableArray *) nearbyDestinationsWithinRange:(
double) range;
709- (
OOSystemID) findSystemNumberAtCoords:(NSPoint) coords withGalaxy:(
OOGalaxyID) gal includingHidden:(BOOL)hidden;
710- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix;
711- (NSPoint) findSystemCoordinatesWithPrefix:(NSString *) p_fix exactMatch:(BOOL) exactMatch;
712- (BOOL*) systemsFound;
713- (NSString*) systemNameIndex:(
OOSystemID) index;
715- (NSArray *) neighboursToSystem:(
OOSystemID) system_number;
717- (void) preloadPlanetTexturesForSystem:(
OOSystemID)system;
718- (void) preloadSounds;
720- (NSDictionary *) globalSettings;
722- (NSArray *) equipmentData;
723- (NSArray *) equipmentDataOutfitting;
727- (NSString *) timeDescription:(
OOTimeDelta) interval;
728- (NSString *) shortTimeDescription:(
OOTimeDelta) interval;
730- (void) loadStationMarkets:(NSArray *)marketData;
731- (NSArray *) getStationMarkets;
736- (
OOCreditsQuantity) tradeInValueForCommanderDictionary:(NSDictionary*) cmdr_dict;
738- (NSString*) brochureDescriptionWithDictionary:(NSDictionary*) dict standardEquipment:(NSArray*) extras optionalEquipment:(NSArray*) options;
740- (HPVector) getWitchspaceExitPosition;
741- (Quaternion) getWitchspaceExitRotation;
743- (HPVector) getSunSkimStartPositionForShip:(
ShipEntity*) ship;
744- (HPVector) getSunSkimEndPositionForShip:(
ShipEntity*) ship;
746- (NSArray*) listBeaconsWithCode:(NSString*) code;
748- (void) allShipsDoScriptEvent:(jsid)event andReactToAIMessage:(NSString *)message;
758- (void) resetCommsLogColor;
760- (void) setDisplayText:(BOOL) value;
763- (void) setDisplayFPS:(BOOL) value;
766- (void) setAutoSave:(BOOL) value;
769- (void) setWireframeGraphics:(BOOL) value;
770- (BOOL) wireframeGraphics;
772- (BOOL) reducedDetail;
777- (void) handleOoliteException:(NSException *)ooliteException;
779- (GLfloat)airResistanceFactor;
780- (void) setAirResistanceFactor:(GLfloat)newFactor;
784- (void) startSpeakingString:(NSString *) text;
786- (void) stopSpeaking;
791- (NSString *) voiceName:(
unsigned int) index;
792- (
unsigned int) voiceNumber:(NSString *) name;
793- (
unsigned int) nextVoice:(
unsigned int) index;
794- (
unsigned int) prevVoice:(
unsigned int) index;
795- (
unsigned int) setVoice:(
unsigned int) index withGenderM:(BOOL) isMale;
797- (
int) nextColorblindMode:(
int) index;
798- (
int) prevColorblindMode:(
int) index;
799- (
int) colorblindMode;
804- (void) setAutoSaveNow:(BOOL) value;
807- (
int) framesDoneThisUpdate;
808- (void) resetFramesDoneThisUpdate;
811- (BOOL) pauseMessageVisible;
812- (void) setPauseMessageVisible:(BOOL)value;
814- (BOOL) permanentCommLog;
815- (void) setPermanentCommLog:(BOOL)value;
816- (void) setAutoCommLog:(BOOL)value;
817- (BOOL) permanentMessageLog;
818- (void) setPermanentMessageLog:(BOOL)value;
819- (BOOL) autoMessageLogBg;
820- (void) setAutoMessageLogBg:(BOOL)value;
822- (BOOL) blockJSPlayerShipProps;
823- (void) setBlockJSPlayerShipProps:(BOOL)value;
825- (void) loadConditionScripts;
826- (void) addConditionScripts:(NSEnumerator *)scripts;
827- (
OOJSScript *) getConditionScript:(NSString *)scriptname;
842#define UNIVERSE OOGetUniverse()
848#define DESC(key) (OOLookUpDescriptionPRIV(key ""))
849#define DESC_PLURAL(key,count) (OOLookUpPluralDescriptionPRIV(key "", count))
858@interface OOSound (OOCustomSounds)
860+ (id) soundWithCustomSoundKey:(NSString *)key;
861- (id) initWithCustomSoundKey:(NSString *)key;
866@interface OOSoundSource (OOCustomSounds)
868+ (id) sourceWithCustomSoundKey:(NSString *)key;
869- (id) initWithCustomSoundKey:(NSString *)key;
871- (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)
enum OOScanClass OOScanClass
@ 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