Oolite 1.91.0.7745-260117-205bce7
Loading...
Searching...
No Matches
Universe.h File Reference
import "OOCocoa.h"
import "OOOpenGL.h"
import "OOShaderProgram.h"
import "legacy_random.h"
import "OOMaths.h"
import "OOColor.h"
import "OOWeakReference.h"
import "OOTypes.h"
import "OOSound.h"
import "OOJSPropID.h"
import "OOStellarBody.h"
import "OOEntityWithDrawable.h"
import "OOCommodities.h"
import "OOSystemDescriptionManager.h"
Include dependency graph for Universe.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Universe
category  OOSound(OOCustomSounds)
category  OOSoundSource(OOCustomSounds)

Macros

#define OO_SCANCLASS_TYPE
#define CROSSHAIR_SIZE   32.0
#define SHADERS_MIN   SHADERS_OFF
#define MAX_MESSAGES   5
#define PROXIMITY_WARN_DISTANCE   4
#define PROXIMITY_WARN_DISTANCE2   (PROXIMITY_WARN_DISTANCE * PROXIMITY_WARN_DISTANCE)
#define PROXIMITY_AVOID_DISTANCE_FACTOR   10.0
#define SAFE_ADDITION_FACTOR2   800
#define SUN_SKIM_RADIUS_FACTOR   1.15470053838
#define SUN_SPARKS_RADIUS_FACTOR   2.0
#define KEY_TECHLEVEL   @"techlevel"
#define KEY_ECONOMY   @"economy"
#define KEY_ECONOMY_DESC   @"economy_description"
#define KEY_GOVERNMENT   @"government"
#define KEY_GOVERNMENT_DESC   @"government_description"
#define KEY_POPULATION   @"population"
#define KEY_POPULATION_DESC   @"population_description"
#define KEY_PRODUCTIVITY   @"productivity"
#define KEY_RADIUS   @"radius"
#define KEY_NAME   @"name"
#define KEY_INHABITANT   @"inhabitant"
#define KEY_INHABITANTS   @"inhabitants"
#define KEY_DESCRIPTION   @"description"
#define KEY_SHORT_DESCRIPTION   @"short_description"
#define KEY_PLANETNAME   @"planet_name"
#define KEY_SUNNAME   @"sun_name"
#define KEY_CHANCE   @"chance"
#define KEY_PRICE   @"price"
#define KEY_OPTIONAL_EQUIPMENT   @"optional_equipment"
#define KEY_STANDARD_EQUIPMENT   @"standard_equipment"
#define KEY_EQUIPMENT_MISSILES   @"missiles"
#define KEY_EQUIPMENT_FORWARD_WEAPON   @"forward_weapon_type"
#define KEY_EQUIPMENT_AFT_WEAPON   @"aft_weapon_type"
#define KEY_EQUIPMENT_PORT_WEAPON   @"port_weapon_type"
#define KEY_EQUIPMENT_STARBOARD_WEAPON   @"starboard_weapon_type"
#define KEY_EQUIPMENT_EXTRAS   @"extras"
#define KEY_WEAPON_FACINGS   @"weapon_facings"
#define KEY_RENOVATION_MULTIPLIER   @"renovation_multiplier"
#define SHIPYARD_KEY_ID   @"id"
#define SHIPYARD_KEY_SHIPDATA_KEY   @"shipdata_key"
#define SHIPYARD_KEY_SHIP   @"ship"
#define SHIPYARD_KEY_PRICE   @"price"
#define SHIPYARD_KEY_PERSONALITY   @"personality"
#define PASSENGER_BERTH_SPACE   5
#define PLANETINFO_UNIVERSAL_KEY   @"universal"
#define PLANETINFO_INTERSTELLAR_KEY   @"interstellar space"
#define OOLITE_EXCEPTION_LOOPING   @"OoliteLoopingException"
#define OOLITE_EXCEPTION_DATA_NOT_FOUND   @"OoliteDataNotFoundException"
#define OOLITE_EXCEPTION_FATAL   @"OoliteFatalException"
#define BILLBOARD_DEPTH   75000.0
#define TIME_ACCELERATION_FACTOR_MIN   0.0625f
#define TIME_ACCELERATION_FACTOR_DEFAULT   1.0f
#define TIME_ACCELERATION_FACTOR_MAX   16.0f
#define DEMO_LIGHT_POSITION   5000.0f, 25000.0f, -10000.0f
#define MIN_DISTANCE_TO_BUOY   750.0f
#define MIN_DISTANCE_TO_BUOY2   (MIN_DISTANCE_TO_BUOY * MIN_DISTANCE_TO_BUOY)
#define SYSTEM_REPOPULATION_INTERVAL   20.0f;
#define OO_LOCALIZATION_TOOLS   1
#define MASS_DEPENDENT_FUEL_PRICES   1
#define UNIVERSE   OOGetUniverse()
#define DESC(key)
#define DESC_PLURAL(key, count)

Typedefs

typedef BOOL(* EntityFilterPredicate) (Entity *entity, void *parameter)

Enumerations

enum  {
  MARKET_NAME = 0 , MARKET_QUANTITY = 1 , MARKET_PRICE = 2 , MARKET_BASE_PRICE = 3 ,
  MARKET_ECO_ADJUST_PRICE = 4 , MARKET_ECO_ADJUST_QUANTITY = 5 , MARKET_BASE_QUANTITY = 6 , MARKET_MASK_PRICE = 7 ,
  MARKET_MASK_QUANTITY = 8 , MARKET_UNITS = 9
}
enum  {
  EQUIPMENT_TECH_LEVEL_INDEX = 0 , EQUIPMENT_PRICE_INDEX = 1 , EQUIPMENT_SHORT_DESC_INDEX = 2 , EQUIPMENT_KEY_INDEX = 3 ,
  EQUIPMENT_LONG_DESC_INDEX = 4 , EQUIPMENT_EXTRA_INFO_INDEX = 5
}
enum  {
  OO_POSTFX_NONE = 0 , OO_POSTFX_COLORBLINDNESS_PROTAN , OO_POSTFX_COLORBLINDNESS_DEUTER , OO_POSTFX_COLORBLINDNESS_TRITAN ,
  OO_POSTFX_CLOAK , OO_POSTFX_GRAYSCALE , OO_POSTFX_OLDMOVIE , OO_POSTFX_CRT ,
  OO_POSTFX_CRTBADSIGNAL , OO_POSTFX_ENDOFLIST
}

Functions

OOINLINE UniverseOOGetUniverse (void) INLINE_CONST_FUNC
NSComparisonResult populatorPrioritySort (id a, id b, void *context)
NSComparisonResult equipmentSort (id a, id b, void *context)
NSComparisonResult equipmentSortOutfitting (id a, id b, void *context)
NSString * OOLookUpDescriptionPRIV (NSString *key)
NSString * OOLookUpPluralDescriptionPRIV (NSString *key, NSInteger count)
NSString * OODisplayStringFromGovernmentID (OOGovernmentID government)
NSString * OODisplayStringFromEconomyID (OOEconomyID economy)

Macro Definition Documentation

◆ BILLBOARD_DEPTH

◆ CROSSHAIR_SIZE

#define CROSSHAIR_SIZE   32.0

Definition at line 64 of file Universe.h.

Referenced by HeadUpDisplay(Private)::drawDirectionCue:.

◆ DEMO_LIGHT_POSITION

#define DEMO_LIGHT_POSITION   5000.0f, 25000.0f, -10000.0f

Definition at line 173 of file Universe.h.

◆ DESC

#define DESC ( key)
Value:
NSString * OOLookUpDescriptionPRIV(NSString *key)
Definition Universe.m:11184

Definition at line 850 of file Universe.h.

Referenced by PlayerEntity(LoadSave)::autosavePlayer, OOOXZManager(NSURLConnectionDataDelegate)::beginDownload:, ClockToString(), PlayerEntity::compassTargetLabel, StickProfileScreen(StickProfileInternal)::currentAxis, Universe::currentSystemData, Universe::describeCommodity:amount:, PlayerEntity::dialTargetName, DisplayStringForMassUnit(), HeadUpDisplay(Private)::drawWeaponsOfflineText:, HeadUpDisplay(Private)::drawWitchspaceDestination:, StickProfileScreen(StickProfileInternal)::graphProfile:at:size:, PlayerEntity(OOControlsPrivate)::handleGameOptionsScreenKeys, OOOXZManager(NSURLConnectionDataDelegate)::humanSize:, ShipEntity::identFromShip:, WormholeEntity::identFromShip:, OOOXZManager(NSURLConnectionDataDelegate)::installStatusForManifest:, PlayerEntity(ScriptMethods)::keyCodeDescription:, PlayerEntity(ScriptMethods)::keyCodeDescriptionShort:, PlayerEntity(LoadSave)::loadPlayerFromFile:asNew:, MyOpenGLView::noteMovedToBadDisplay, OODisplayStringFromShaderSetting(), OOShipLibraryCargo(), OOShipLibraryGenerator(), OOShipLibraryShields(), OOShipLibrarySpeed(), OOShipLibraryTurnRate(), OOShipLibraryWeapons(), OOShipLibraryWitchspace(), PlayerEntity(KeyMapper)::outputKeyDefinition:shift:mod1:mod2:skiprows:, PlayerEntity(OOControlsPrivate)::pollFlightControls:, PlayerEntity(OOControlsPrivate)::pollGuiArrowKeyControls:, PlayerEntity::primedEquipmentName:, StickProfileScreen(StickProfileInternal)::profileType, ShipEntity::scanDescription, PlayerEntity::setGuiToGameOptionsScreen, PlayerEntity::setGuiToIntroFirstGo:, PlayerEntity(KeyMapper)::setGuiToKeyConfigScreen:, PlayerEntity(Contracts)::setGuiToManifestScreen, PlayerEntity::setGuiToStatusScreen, PlayerEntity::setupStartScreenGui, Universe::setViewDirection:, Universe::shortTimeDescription:, OOOXZManager::showInstallOptions, PlayerEntity(OOPrivate)::showMarketScreenDataLine:forGood:inMarket:holdQuantity:, GameController::snapshotsURLCreatingIfNeeded:, OODockTilePlugIn::snapshotsURLCreatingIfNeeded:, SystemGetProperty(), and SystemStaticSystemNameForID().

◆ DESC_PLURAL

#define DESC_PLURAL ( key,
count )
Value:
unsigned count
NSString * OOLookUpPluralDescriptionPRIV(NSString *key, NSInteger count)
Definition Universe.m:11193

Definition at line 851 of file Universe.h.

Referenced by Universe::shipsForSaleForSystem:withTL:atTime:.

◆ KEY_CHANCE

#define KEY_CHANCE   @"chance"

Definition at line 137 of file Universe.h.

Referenced by Universe::shipsForSaleForSystem:withTL:atTime:.

◆ KEY_DESCRIPTION

#define KEY_DESCRIPTION   @"description"

Definition at line 132 of file Universe.h.

◆ KEY_ECONOMY

#define KEY_ECONOMY   @"economy"

Definition at line 121 of file Universe.h.

Referenced by SystemGetProperty().

◆ KEY_ECONOMY_DESC

#define KEY_ECONOMY_DESC   @"economy_description"

Definition at line 122 of file Universe.h.

◆ KEY_EQUIPMENT_AFT_WEAPON

#define KEY_EQUIPMENT_AFT_WEAPON   @"aft_weapon_type"

Definition at line 143 of file Universe.h.

◆ KEY_EQUIPMENT_EXTRAS

#define KEY_EQUIPMENT_EXTRAS   @"extras"

Definition at line 146 of file Universe.h.

◆ KEY_EQUIPMENT_FORWARD_WEAPON

#define KEY_EQUIPMENT_FORWARD_WEAPON   @"forward_weapon_type"

Definition at line 142 of file Universe.h.

◆ KEY_EQUIPMENT_MISSILES

#define KEY_EQUIPMENT_MISSILES   @"missiles"

Definition at line 141 of file Universe.h.

◆ KEY_EQUIPMENT_PORT_WEAPON

#define KEY_EQUIPMENT_PORT_WEAPON   @"port_weapon_type"

Definition at line 144 of file Universe.h.

◆ KEY_EQUIPMENT_STARBOARD_WEAPON

#define KEY_EQUIPMENT_STARBOARD_WEAPON   @"starboard_weapon_type"

Definition at line 145 of file Universe.h.

◆ KEY_GOVERNMENT

#define KEY_GOVERNMENT   @"government"

Definition at line 123 of file Universe.h.

Referenced by SystemGetProperty().

◆ KEY_GOVERNMENT_DESC

#define KEY_GOVERNMENT_DESC   @"government_description"

Definition at line 124 of file Universe.h.

◆ KEY_INHABITANT

#define KEY_INHABITANT   @"inhabitant"

Definition at line 130 of file Universe.h.

◆ KEY_INHABITANTS

#define KEY_INHABITANTS   @"inhabitants"

Definition at line 131 of file Universe.h.

◆ KEY_NAME

#define KEY_NAME   @"name"

◆ KEY_OPTIONAL_EQUIPMENT

#define KEY_OPTIONAL_EQUIPMENT   @"optional_equipment"

Definition at line 139 of file Universe.h.

◆ KEY_PLANETNAME

#define KEY_PLANETNAME   @"planet_name"

Definition at line 134 of file Universe.h.

◆ KEY_POPULATION

#define KEY_POPULATION   @"population"

Definition at line 125 of file Universe.h.

Referenced by SystemGetProperty().

◆ KEY_POPULATION_DESC

#define KEY_POPULATION_DESC   @"population_description"

Definition at line 126 of file Universe.h.

◆ KEY_PRICE

#define KEY_PRICE   @"price"

Definition at line 138 of file Universe.h.

◆ KEY_PRODUCTIVITY

#define KEY_PRODUCTIVITY   @"productivity"

Definition at line 127 of file Universe.h.

Referenced by SystemGetProperty().

◆ KEY_RADIUS

#define KEY_RADIUS   @"radius"

◆ KEY_RENOVATION_MULTIPLIER

#define KEY_RENOVATION_MULTIPLIER   @"renovation_multiplier"

Definition at line 148 of file Universe.h.

◆ KEY_SHORT_DESCRIPTION

#define KEY_SHORT_DESCRIPTION   @"short_description"

Definition at line 133 of file Universe.h.

Referenced by StationAddShipToShipyard().

◆ KEY_STANDARD_EQUIPMENT

#define KEY_STANDARD_EQUIPMENT   @"standard_equipment"

Definition at line 140 of file Universe.h.

◆ KEY_SUNNAME

#define KEY_SUNNAME   @"sun_name"

Definition at line 135 of file Universe.h.

Referenced by OOSunEntity::changeSunProperty:withDictionary:.

◆ KEY_TECHLEVEL

#define KEY_TECHLEVEL   @"techlevel"

◆ KEY_WEAPON_FACINGS

#define KEY_WEAPON_FACINGS   @"weapon_facings"

Definition at line 147 of file Universe.h.

◆ MASS_DEPENDENT_FUEL_PRICES

#define MASS_DEPENDENT_FUEL_PRICES   1

Definition at line 187 of file Universe.h.

◆ MAX_MESSAGES

#define MAX_MESSAGES   5

Definition at line 110 of file Universe.h.

◆ MIN_DISTANCE_TO_BUOY

#define MIN_DISTANCE_TO_BUOY   750.0f

Definition at line 175 of file Universe.h.

Referenced by Universe::safeWitchspaceExitDistance.

◆ MIN_DISTANCE_TO_BUOY2

#define MIN_DISTANCE_TO_BUOY2   (MIN_DISTANCE_TO_BUOY * MIN_DISTANCE_TO_BUOY)

Definition at line 176 of file Universe.h.

◆ OO_LOCALIZATION_TOOLS

#define OO_LOCALIZATION_TOOLS   1

Definition at line 183 of file Universe.h.

◆ OO_SCANCLASS_TYPE

#define OO_SCANCLASS_TYPE

Definition at line 59 of file Universe.h.

◆ OOLITE_EXCEPTION_DATA_NOT_FOUND

#define OOLITE_EXCEPTION_DATA_NOT_FOUND   @"OoliteDataNotFoundException"

◆ OOLITE_EXCEPTION_FATAL

#define OOLITE_EXCEPTION_FATAL   @"OoliteFatalException"

Definition at line 163 of file Universe.h.

Referenced by Universe::handleOoliteException:.

◆ OOLITE_EXCEPTION_LOOPING

#define OOLITE_EXCEPTION_LOOPING   @"OoliteLoopingException"

Definition at line 161 of file Universe.h.

◆ PASSENGER_BERTH_SPACE

◆ PLANETINFO_INTERSTELLAR_KEY

#define PLANETINFO_INTERSTELLAR_KEY   @"interstellar space"

Definition at line 159 of file Universe.h.

Referenced by ResourceManager::systemDescriptionManager.

◆ PLANETINFO_UNIVERSAL_KEY

#define PLANETINFO_UNIVERSAL_KEY   @"universal"

Definition at line 158 of file Universe.h.

Referenced by ResourceManager::systemDescriptionManager.

◆ PROXIMITY_AVOID_DISTANCE_FACTOR

#define PROXIMITY_AVOID_DISTANCE_FACTOR   10.0

Definition at line 114 of file Universe.h.

Referenced by ShipEntity::avoidCollision, and ShipEntity::behaviour_avoid_collision:.

◆ PROXIMITY_WARN_DISTANCE

#define PROXIMITY_WARN_DISTANCE   4

Definition at line 112 of file Universe.h.

◆ PROXIMITY_WARN_DISTANCE2

#define PROXIMITY_WARN_DISTANCE2   (PROXIMITY_WARN_DISTANCE * PROXIMITY_WARN_DISTANCE)

Definition at line 113 of file Universe.h.

Referenced by CollisionRegion::findCollisions.

◆ SAFE_ADDITION_FACTOR2

#define SAFE_ADDITION_FACTOR2   800

◆ SHADERS_MIN

#define SHADERS_MIN   SHADERS_OFF

Definition at line 107 of file Universe.h.

◆ SHIPYARD_KEY_ID

#define SHIPYARD_KEY_ID   @"id"

Definition at line 150 of file Universe.h.

◆ SHIPYARD_KEY_PERSONALITY

#define SHIPYARD_KEY_PERSONALITY   @"personality"

Definition at line 154 of file Universe.h.

Referenced by StationAddShipToShipyard().

◆ SHIPYARD_KEY_PRICE

#define SHIPYARD_KEY_PRICE   @"price"

Definition at line 153 of file Universe.h.

Referenced by StationAddShipToShipyard().

◆ SHIPYARD_KEY_SHIP

#define SHIPYARD_KEY_SHIP   @"ship"

Definition at line 152 of file Universe.h.

◆ SHIPYARD_KEY_SHIPDATA_KEY

#define SHIPYARD_KEY_SHIPDATA_KEY   @"shipdata_key"

Definition at line 151 of file Universe.h.

Referenced by StationAddShipToShipyard().

◆ SUN_SKIM_RADIUS_FACTOR

#define SUN_SKIM_RADIUS_FACTOR   1.15470053838

◆ SUN_SPARKS_RADIUS_FACTOR

#define SUN_SPARKS_RADIUS_FACTOR   2.0

Definition at line 118 of file Universe.h.

◆ SYSTEM_REPOPULATION_INTERVAL

#define SYSTEM_REPOPULATION_INTERVAL   20.0f;

◆ TIME_ACCELERATION_FACTOR_DEFAULT

#define TIME_ACCELERATION_FACTOR_DEFAULT   1.0f

Definition at line 170 of file Universe.h.

Referenced by Universe::setTimeAccelerationFactor:.

◆ TIME_ACCELERATION_FACTOR_MAX

#define TIME_ACCELERATION_FACTOR_MAX   16.0f

◆ TIME_ACCELERATION_FACTOR_MIN

#define TIME_ACCELERATION_FACTOR_MIN   0.0625f

Definition at line 169 of file Universe.h.

Referenced by PlayerEntity(OOControlsPrivate)::pollFlightControls:.

◆ UNIVERSE

#define UNIVERSE   OOGetUniverse()

Definition at line 844 of file Universe.h.

Referenced by StationEntity(OOAIPrivate)::acceptDistressMessageFrom:, StationEntity::acceptDockingClearanceRequestFrom:, PlayerEntity(Scripting)::addMoon:, PlayerEntity(Scripting)::addPlanet:, PlayerEntity::addRoleForAggression:, PlayerEntity(Scripting)::addShipsAt:, PlayerEntity(Scripting)::addShipsAtPrecisely:, PlayerEntity(Scripting)::addShipsWithinRadius:, DockEntity(OOPrivate)::addShipToShipsOnApproach:, Entity::addToLinkedLists, StationEntity::adjustVelocity:, OOSystemInfo::allKeys, ShipEntity::AuthorityPredicate, PlayerEntity(Scripting)::awardCargo:, PlayerEntity(ScriptMethods)::awardCommodityType:amount:, PlayerEntity(Contracts)::awardContract:commodity:start:destination:eta:fee:premium:, StationEntity::becomeEnergyBlast, ShipEntity::becomeExplosion, StationEntity::becomeExplosion, StationEntity::becomeLargeExplosion:, ShipEntity(PureAI)::becomeUncontrolledThargon, ShipEntity::broadcastHitByLaserFrom:, PlayerEntity::buySelectedItem, PlayerEntity(Contracts)::buySelectedShip, WormholeEntity::canCollide, ShipEntity::checkForAegis, ShipEntity(PureAI)::checkForNormalSpace, Entity(OOPrivate)::checkLinkedLists, PlayerEntity(Contracts)::checkPassengerContracts, ShipEntity::checkShipsInVicinityForWitchJumpExit, DockEntity::clearDockingCorridor, StationEntity::clearDockingCorridor, ClockGetProperty(), PlayerEntity::collectBountyFor:, PlayerEntity::commanderDataDictionary, ConsoleGetProperty(), OOSystemInfo::coordinates, PlayerEntity::createDoppelganger, PlayerEntity(ScriptMethods)::currentSystemID, PlayerEntity::dialAltitude, PlayerEntity::dialHyperRange, WormholeEntity::disgorgeShips, DisplayStringForMassUnitForCommodity(), PlayerEntity::doBookkeeping:, PlayerEntity::docked, DockEntity::dockingCorridorIsEmpty, StationEntity::dockingCorridorIsEmpty, GuiDisplayGen(Internal)::drawAdvancedNavArrayAtX:y:z:alpha:usingRoute:optimizedBy:zoom:, HeadUpDisplay(Private)::drawAegis:, HeadUpDisplay(Private)::drawAltitudeBar:, HeadUpDisplay(Private)::drawCabinTempBar:, HeadUpDisplay(Private)::drawCrosshairs, HeadUpDisplay(Private)::drawDirectionCue:, GuiDisplayGen(Internal)::drawEquipmentList:z:, HeadUpDisplay(Private)::drawFPSInfoCounter:, GuiDisplayGen(Internal)::drawGLDisplay:x:y:z:, GuiDisplayGen::drawGUI:drawCursor:, DustEntity::drawImmediate:translucent:, OOEntityWithDrawable::drawImmediate:translucent:, OOLaserShotEntity::drawImmediate:translucent:, OOLightParticleEntity::drawImmediate:translucent:, OOParticleSystem::drawImmediate:translucent:, OOQuiriumCascadeEntity::drawImmediate:translucent:, OORingEffectEntity::drawImmediate:translucent:, OOSunEntity::drawImmediate:translucent:, PlanetEntity::drawImmediate:translucent:, PlayerEntity::drawImmediate:translucent:, SkyEntity::drawImmediate:translucent:, WormholeEntity::drawImmediate:translucent:, OOSunEntity(Private)::drawOpaqueParts, HeadUpDisplay(Private)::drawScanner:, GuiDisplayGen(Internal)::drawStarChart:x:y:z:alpha:, HeadUpDisplay(Private)::drawStatusLight:, OOExhaustPlumeEntity::drawSubEntityImmediate:translucent:, OOLightParticleEntity::drawSubEntityImmediate:translucent:, OOSunEntity(Private)::drawTranslucentParts, PlanetEntity::drawUnconditionally, HeadUpDisplay(Private)::drawWeaponsOfflineText:, ShipEntity::dumpCargoItem:, WormholeEntity::dumpSelfState, PlayerEntity::enterGalacticWitchspace, ShipEntity(AI)::enterTargetWormhole, ShipEntity::enterWitchspace, ShipEntity::findNearestPlanet, CollisionRegion::findShadowedEntities, ShipEntity::fireMissileWithIdentifier:andTarget:, PlayerEntity(OOPrivate)::gameOverFadeToBW, PlayerEntity::getDestroyedBy:damageType:, PlayerEntity::getFined, OOSystemDescriptionManager::getRandomSeedForCurrentSystem, Universe::getStationMarkets, ShipEntity(PureAI)::getWitchspaceEntryCoordinates, GlobalGetProperty(), GlobalSetScreenBackground(), GlobalSetScreenOverlay(), PlayerEntity(OOControlsPrivate)::handleAutopilotOn:, PlayerEntity(OOControlsPrivate)::handleGameOptionsScreenKeys, PlayerEntity(Controls)::handleGUIUpDownArrowKeys, PlayerEntity(OOControlsPrivate)::handleKeyboardLayoutKeys, PlayerEntity(OOControlsPrivate)::handleKeyMapperScreenKeys, PlayerEntity(OOControlsPrivate)::handleStickMapperScreenKeys, PlayerEntity(OOControlsPrivate)::handleUndockControl, StationEntity::hasShipyard, HeadUpDisplay::hudDrawReticleOnTarget, HeadUpDisplay::hudRotateViewpointForVirtualDepth, PlayerEntity(OOPrivate)::hyperspaceJumpDistance, OOSkyDrawable::initWithColor1:Color2:Color3:Color4:starCount:nebulaCount:nebulaHueFix:clusterFactor:alpha:scale:, SkyEntity::initWithColors:col1:andSystemInfo:, PlayerEntity::insideAtmosphereFraction, StationEntity::launchDefenseShip, PlayerEntity::launchEscapeCapsule, PlayerEntity(Scripting)::launchFromStation, StationEntity::launchPirateShip, StationEntity::launchPolice, PlayerEntity(LoadSave)::loadPlayer, PlayerEntity(LoadSave)::loadPlayerFromFile:asNew:, Universe::loadStationMarkets:, GameController::logProgress:, PlayerEntity::lookingAtSunWithThresholdAngleCos:, PlayerEntity::loseTargetStatus, ManifestGetProperty(), ShipEntity::markAsOffender:withReason:, PlayerEntity::marketScreenTitle, OOMaterial(OOConvenienceCreators)::materialWithName:cacheKey:configuration:macros:bindingTarget:forSmoothedMesh:, OOMaterial(OOConvenienceCreators)::materialWithName:cacheKey:materialDictionary:shadersDictionary:macros:bindingTarget:forSmoothedMesh:, PlayerEntity::noteGUIDidChangeFrom:to:refresh:, ShipEntity::noteTakingDamage:from:type:, NSDictionary(OOMateralProperties)::oo_specularExponent, OOApplyTextureOptionDefaults(), OoliteGetProperty(), PlayerEntity(OOPrivate)::performDeadUpdates:, PlayerEntity(OOPrivate)::performDockingUpdates:, PlayerEntity(OOPrivate)::performLaunchingUpdates:, PlayerEntity(OOPrivate)::performWitchspaceExitUpdates:, PlanetGetProperty(), PlayerSetEscapePodDestination(), PlayerShipGetProperty(), PlayerShipResetCustomView(), PlayerShipSetCustomView(), PlayerStopAudioMessage(), PlayerEntity(OOControlsPrivate)::pollApplicationControls, PlayerEntity(OOControlsPrivate)::pollAutopilotControls:, PlayerEntity(OOControlsPrivate)::pollCustomViewControls, PlayerEntity(OOControlsPrivate)::pollDockedControls:, PlayerEntity(OOControlsPrivate)::pollFlightControls:, PlayerEntity(OOControlsPrivate)::pollViewControls, PlayerEntity(Contracts)::processEscapePods, PlayerEntity(Scripting)::processSceneString:atOffset:, DockEntity::pruneAndCountShipsOnApproach, PlayerEntity(Contracts)::removeContract:destination:, Entity::removeFromLinkedLists, PlayerEntity::removeMissiles, RemoveOrExplodeShip(), OOCrosshairs::render, HeadUpDisplay::resetGuis:, PlayerEntity(LoadSave)::savePlayer, ShipEntity(PureAI)::scanForOffenders, PlayerEntity(Scripting)::sendAllShipsAway, Universe::setAmbientLightLevel:, PlayerEntity(Scripting)::setBackgroundFromDescriptionsKey:, PlayerEntity::setCommanderDataFromDictionary:, ShipEntity(PureAI)::setCourseToWitchpoint, ShipEntity(PureAI)::setDestinationToStationBeacon, PlayerEntity::setGuiToEquipShipScreen:selectingFacingFor:, PlayerEntity::setGuiToGameOptionsScreen, PlayerEntity::setGuiToLoadSaveScreen, PlayerEntity::setGuiToStatusScreen, PlayerEntity(Scripting)::setMissionDescription:forMission:, PlayerEntity::setNextCompassMode, GuiDisplayGen::setStarChartTitle, ShipEntity(PureAI)::setSunSkimEndCoordinates, ShipEntity(PureAI)::setSunSkimStartCoordinates, PlayerEntity::setSystemID:, PlayerEntity::setTargetSystemID:, ShipEntity::setTargetToNearestStationIncludingHostiles:, ShipEntity(PureAI)::setTargetToRandomStation, PlanetEntity(OOPrivate)::setTextureColorForPlanet:inSystem:, GameController::setUpBasicOpenGLStateWithSize:, ShipEntity::setUpEscorts, ShipEntity::setUpShipFromDictionary:, ShipSetCargo(), ShipStaticRoleIsInCategory(), PlayerEntity(OOLoadSavePrivate)::showCommanderShip:, PlayerEntity(Scripting)::spawnShip:, OOCharacter::species, StationGetProperty(), StationSetMarketPrice(), StationSetMarketQuantity(), PlayerEntity(StickMapper)::stickMapperInputHandler:view:, WormholeEntity::suckInShip:, PlayerEntity(Scripting)::sunGoneNova_bool, PlayerEntity(Scripting)::sunWillGoNova_bool, PlayerEntity(OOControlsPrivate)::switchToThisView:fromView:andProcessWeaponFacing:justNotify:, OOMaterial(OOConvenienceCreators)::synthesizeMaterialDictionaryWithName:configuration:macros:, SystemGetProperty(), SystemInfoSamplePrice(), PlayerEntity(ScriptMethods)::systemPseudoRandom100, PlayerEntity(ScriptMethods)::systemPseudoRandom256, PlayerEntity(ScriptMethods)::systemPseudoRandomFloat, SystemStaticSystemNameForID(), ShipEntity::takeEnergyDamage:from:becauseOf:weaponIdentifier:, StationEntity::takeEnergyDamage:from:becauseOf:weaponIdentifier:, StationEntity::takeHeatDamage:, StationEntity::takeScrapeDamage:from:, GuiDisplayGen::TextureForGUITexture, Universe::tradeInValueForCommanderDictionary:, ShipEntity::transitionToAegisNone, PlayerEntity::tryBuyingCommodity:all:, PlayerEntity::trySellingCommodity:all:, OOExhaustPlumeEntity::update:, OOSunEntity::update:, ShipEntity::update:, PlayerEntity(OOPrivate)::updateAlertConditionForNearbyEntities, PlayerEntity(OOPrivate)::updateClocks:, Entity::updateLinkedLists, MyOpenGLView::updateScreenWithVideoMode:, OOTrumble::updateTrumble:, OODebugController::validateMenuItem:, OOSystemInfo::valueForKey:, PlayerEntity::viewpointOffset, PlayerEntity::witchJumpChecklist:, PlayerEntity(OOPrivate)::witchJumpTo:misjump:, and ShipEntity::witchspaceLeavingEffects.

Typedef Documentation

◆ EntityFilterPredicate

typedef BOOL(* EntityFilterPredicate) (Entity *entity, void *parameter)

Definition at line 56 of file Universe.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
EQUIPMENT_TECH_LEVEL_INDEX 
EQUIPMENT_PRICE_INDEX 
EQUIPMENT_SHORT_DESC_INDEX 
EQUIPMENT_KEY_INDEX 
EQUIPMENT_LONG_DESC_INDEX 
EQUIPMENT_EXTRA_INFO_INDEX 

Definition at line 81 of file Universe.h.

82{
89};
@ 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

◆ anonymous enum

anonymous enum
Enumerator
OO_POSTFX_NONE 
OO_POSTFX_COLORBLINDNESS_PROTAN 
OO_POSTFX_COLORBLINDNESS_DEUTER 
OO_POSTFX_COLORBLINDNESS_TRITAN 
OO_POSTFX_CLOAK 
OO_POSTFX_GRAYSCALE 
OO_POSTFX_OLDMOVIE 
OO_POSTFX_CRT 
OO_POSTFX_CRTBADSIGNAL 
OO_POSTFX_ENDOFLIST 

Definition at line 92 of file Universe.h.

93{
103 OO_POSTFX_ENDOFLIST // keep this for last
104};
@ 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

◆ anonymous enum

anonymous enum
Enumerator
MARKET_NAME 
MARKET_QUANTITY 
MARKET_PRICE 
MARKET_BASE_PRICE 
MARKET_ECO_ADJUST_PRICE 
MARKET_ECO_ADJUST_QUANTITY 
MARKET_BASE_QUANTITY 
MARKET_MASK_PRICE 
MARKET_MASK_QUANTITY 
MARKET_UNITS 

Definition at line 66 of file Universe.h.

67{
68 MARKET_NAME = 0,
70 MARKET_PRICE = 2,
77 MARKET_UNITS = 9
78};
@ 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

Function Documentation

◆ equipmentSort()

NSComparisonResult equipmentSort ( id a,
id b,
void * context )

Definition at line 11132 of file Universe.m.

11133{
11134 NSArray *one = (NSArray *)a;
11135 NSArray *two = (NSArray *)b;
11136
11137 /* Sort by explicit sort_order, then tech level, then price */
11138
11139 OOCreditsQuantity comp1 = [[one oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"sort_order" defaultValue:1000];
11140 OOCreditsQuantity comp2 = [[two oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"sort_order" defaultValue:1000];
11141 if (comp1 < comp2) return NSOrderedAscending;
11142 if (comp1 > comp2) return NSOrderedDescending;
11143
11144 comp1 = [one oo_unsignedLongLongAtIndex:EQUIPMENT_TECH_LEVEL_INDEX];
11145 comp2 = [two oo_unsignedLongLongAtIndex:EQUIPMENT_TECH_LEVEL_INDEX];
11146 if (comp1 < comp2) return NSOrderedAscending;
11147 if (comp1 > comp2) return NSOrderedDescending;
11148
11149 comp1 = [one oo_unsignedLongLongAtIndex:EQUIPMENT_PRICE_INDEX];
11150 comp2 = [two oo_unsignedLongLongAtIndex:EQUIPMENT_PRICE_INDEX];
11151 if (comp1 < comp2) return NSOrderedAscending;
11152 if (comp1 > comp2) return NSOrderedDescending;
11153
11154 return NSOrderedSame;
11155}
uint64_t OOCreditsQuantity
Definition OOTypes.h:182

◆ equipmentSortOutfitting()

NSComparisonResult equipmentSortOutfitting ( id a,
id b,
void * context )

Definition at line 11158 of file Universe.m.

11159{
11160 NSArray *one = (NSArray *)a;
11161 NSArray *two = (NSArray *)b;
11162
11163 /* Sort by explicit sort_order, then tech level, then price */
11164
11165 OOCreditsQuantity comp1 = [[one oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"purchase_sort_order" defaultValue:[[one oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"sort_order" defaultValue:1000]];
11166 OOCreditsQuantity comp2 = [[two oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"purchase_sort_order" defaultValue:[[two oo_dictionaryAtIndex:EQUIPMENT_EXTRA_INFO_INDEX] oo_unsignedLongLongForKey:@"sort_order" defaultValue:1000]];
11167 if (comp1 < comp2) return NSOrderedAscending;
11168 if (comp1 > comp2) return NSOrderedDescending;
11169
11170 comp1 = [one oo_unsignedLongLongAtIndex:EQUIPMENT_TECH_LEVEL_INDEX];
11171 comp2 = [two oo_unsignedLongLongAtIndex:EQUIPMENT_TECH_LEVEL_INDEX];
11172 if (comp1 < comp2) return NSOrderedAscending;
11173 if (comp1 > comp2) return NSOrderedDescending;
11174
11175 comp1 = [one oo_unsignedLongLongAtIndex:EQUIPMENT_PRICE_INDEX];
11176 comp2 = [two oo_unsignedLongLongAtIndex:EQUIPMENT_PRICE_INDEX];
11177 if (comp1 < comp2) return NSOrderedAscending;
11178 if (comp1 > comp2) return NSOrderedDescending;
11179
11180 return NSOrderedSame;
11181}

◆ OODisplayStringFromEconomyID()

NSString * OODisplayStringFromEconomyID ( OOEconomyID economy)

Definition at line 230 of file OOConstToString.m.

231{
232 NSArray *strings = nil;
233 NSString *value = nil;
234
235 strings = [[UNIVERSE descriptions] objectForKey:@"economy"];
236 if ([strings isKindOfClass:[NSArray class]] && economy < [strings count])
237 {
238 value = [strings objectAtIndex:economy];
239 if ([value isKindOfClass:[NSString class]]) return value;
240 }
241
242 return nil;
243}
return nil
#define UNIVERSE
Definition Universe.h:844

References count, and nil.

Referenced by PlayerEntity(Scripting)::systemEconomy_string, and SystemGetProperty().

Here is the caller graph for this function:

◆ OODisplayStringFromGovernmentID()

NSString * OODisplayStringFromGovernmentID ( OOGovernmentID government)

Definition at line 214 of file OOConstToString.m.

215{
216 NSArray *strings = nil;
217 NSString *value = nil;
218
219 strings = [[UNIVERSE descriptions] objectForKey:@"government"];
220 if ([strings isKindOfClass:[NSArray class]] && government < [strings count])
221 {
222 value = [strings objectAtIndex:government];
223 if ([value isKindOfClass:[NSString class]]) return value;
224 }
225
226 return nil;
227}

References count, and nil.

Referenced by SystemGetProperty(), and PlayerEntity(Scripting)::systemGovernment_string.

Here is the caller graph for this function:

◆ OOGetUniverse()

OOINLINE Universe * OOGetUniverse ( void )

Definition at line 839 of file Universe.h.

840{
842 return gSharedUniverse;
843}
Universe * gSharedUniverse
Definition Universe.m:138

References gSharedUniverse, and OOINLINE.

◆ OOLookUpDescriptionPRIV()

NSString * OOLookUpDescriptionPRIV ( NSString * key)

Definition at line 11184 of file Universe.m.

11185{
11186 NSString *result = [UNIVERSE descriptionForKey:key];
11187 if (result == nil) result = key;
11188 return result;
11189}

References nil.

Referenced by OOLookUpPluralDescriptionPRIV().

Here is the caller graph for this function:

◆ OOLookUpPluralDescriptionPRIV()

NSString * OOLookUpPluralDescriptionPRIV ( NSString * key,
NSInteger count )

Definition at line 11193 of file Universe.m.

11194{
11195 NSArray *conditions = [[UNIVERSE descriptions] oo_arrayForKey:@"plural-rules"];
11196
11197 // are we using an older descriptions.plist (1.72.x) ?
11198 NSString *tmp = [UNIVERSE descriptionForKey:key];
11199 if (tmp != nil)
11200 {
11201 static NSMutableSet *warned = nil;
11202
11203 if (![warned containsObject:tmp])
11204 {
11205 OOLogWARN(@"localization.plurals", @"'%@' found in descriptions.plist, should be '%@%%0'. Localization data needs updating.",key,key);
11206 if (warned == nil) warned = [[NSMutableSet alloc] init];
11207 [warned addObject:tmp];
11208 }
11209 }
11210
11211 if (conditions == nil)
11212 {
11213 if (tmp == nil) // this should mean that descriptions.plist is from 1.73 or above.
11214 return OOLookUpDescriptionPRIV([NSString stringWithFormat:@"%@%%%d", key, count != 1]);
11215 // still using an older descriptions.plist
11216 return tmp;
11217 }
11218 int unsigned i;
11219 long int index;
11220
11221 for (index = i = 0; i < [conditions count]; ++index, ++i)
11222 {
11223 const char *cond = [[conditions oo_stringAtIndex:i] UTF8String];
11224 if (!cond)
11225 break;
11226
11227 long int input = count;
11228 BOOL flag = NO; // we XOR test results with this
11229
11230 while (isspace (*cond))
11231 ++cond;
11232
11233 for (;;)
11234 {
11235 while (isspace (*cond))
11236 ++cond;
11237
11238 char command = *cond++;
11239
11240 switch (command)
11241 {
11242 case 0:
11243 goto passed; // end of string
11244
11245 case '~':
11246 flag = !flag;
11247 continue;
11248 }
11249
11250 long int param = strtol(cond, (char **)&cond, 10);
11251
11252 switch (command)
11253 {
11254 case '#':
11255 index = param;
11256 continue;
11257
11258 case '%':
11259 if (param < 2)
11260 break; // ouch - fail this!
11261 input %= param;
11262 continue;
11263
11264 case '=':
11265 if (flag ^ (input == param))
11266 continue;
11267 break;
11268 case '!':
11269 if (flag ^ (input != param))
11270 continue;
11271 break;
11272
11273 case '<':
11274 if (flag ^ (input < param))
11275 continue;
11276 break;
11277 case '>':
11278 if (flag ^ (input > param))
11279 continue;
11280 break;
11281 }
11282 // if we arrive here, we have an unknown test or a test has failed
11283 break;
11284 }
11285 }
11286
11287passed:
11288 return OOLookUpDescriptionPRIV([NSString stringWithFormat:@"%@%%%ld", key, index]);
11289}
#define OOLogWARN(class, format,...)
Definition OOLogging.h:113
NSString * OOLookUpDescriptionPRIV(NSString *key)
Definition Universe.m:11184

References count, nil, OOLogWARN, and OOLookUpDescriptionPRIV().

Here is the call graph for this function:

◆ populatorPrioritySort()

NSComparisonResult populatorPrioritySort ( id a,
id b,
void * context )

Definition at line 11120 of file Universe.m.

11121{
11122 NSDictionary *one = (NSDictionary *)a;
11123 NSDictionary *two = (NSDictionary *)b;
11124 int pri_one = [one oo_intForKey:@"priority" defaultValue:100];
11125 int pri_two = [two oo_intForKey:@"priority" defaultValue:100];
11126 if (pri_one < pri_two) return NSOrderedAscending;
11127 if (pri_one > pri_two) return NSOrderedDescending;
11128 return NSOrderedSame;
11129}