2007-03-03 15:40:23 +00:00
/* This file controls the visibility of various error messages and groups of
error messages, or “message classes”. It can be selectively overridden
using a dictionary called “logging-enable” in Oolite’ s preferences which
allows you to reduce the flow of log messages to a more managable
quantity.
2007-03-03 19:05:50 +00:00
classes which are related, but not hierarchically, can be controlled using
metaclasses, whose names start with a $. See $error etc. below for
examples.
2007-03-03 15:40:23 +00:00
Log output can be modified using the following preference keys:
logging-show-app-name
logging-show-class
logging-show-function
logging-show-file-and-line
2007-07-08 22:47:30 +00:00
logging-echo-to-stderr
2007-03-03 15:40:23 +00:00
2007-07-08 22:47:30 +00:00
“logging-show-class” defaults to YES. The others default to NO.
“logging-echo-to-stderr” is specific to Mac OS X and causes log
information to be printed to the standard error file (generally viewable
in the Console utility) in addition to the log file.
2007-04-01 11:26:35 +00:00
NOTE: the GNUstep plist parser cannot parse this file, presumably because
of the $s. Until this is properly analyzed, an XML version is used
instead. The XML version is automatically generated from this version when
building with Xcode under OS X.
2007-03-03 15:40:23 +00:00
*/
2007-05-24 10:01:41 +00:00
{
/*** Special message classes ***/
_default = yes; // Fallback value for otherwise undefined classes. Must be yes or no.
// _override = yes; // Use to force display of all messages (or suppress all messages). Must be yes or no.
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
/*** Metaclasses ***/
2007-06-09 10:38:16 +00:00
$error = yes; // Most errors, ranging from minor to major. Should probably always be enabled.
2007-05-24 10:01:41 +00:00
$scriptError = $error;
2007-12-03 17:53:37 +00:00
$aiError = $scriptError;
2007-11-19 18:34:28 +00:00
$shaderError = $error;
2007-05-24 10:01:41 +00:00
$troubleShootingDump = yes;
$entityState = no;
$scriptDebugOn = no; // This metaclass is set by the debugOn and debugOff script actions.
$shaderDebugOn = no; // Enabled by 's' key while paused, disabled by 'n' while paused.
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
/*** Common programming problems ***/
2007-06-09 10:38:16 +00:00
general.error = $error;
2007-05-24 10:01:41 +00:00
general.error.subclassResponsibility = inherit;
general.error.parameterError = inherit;
general.error.deprecatedMethod = inherit;
2007-06-09 10:38:16 +00:00
general.error.inconsistentState = inherit;
2007-05-24 10:01:41 +00:00
exception = yes;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
files.notFound = $error; // Failure to load a file.
files.notLoaded = $error; // A file should have been loaded at some earlier point, but wasn’ t.
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
/*** Old-style logging calls ***/
unclassified = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
/*** Module-specific message classes ***/
2008-03-02 18:56:24 +00:00
ai = yes; // AI messages are sent if a ship's reportAIMessages property is set, for instance through the JavaScript console.
2007-05-24 10:01:41 +00:00
ai.message.receive = inherit;
ai.takeAction.takeAction = inherit;
ai.takeAction.noAction = inherit;
ai.takeAction.orphaned = $error;
ai.takeAction.debugMessage = inherit;
ai.takeAction.badSelector = inherit;
ai.pop = inherit;
2007-12-03 17:53:37 +00:00
ai.error.recursion = $aiError;
ai.setTakeOffFromPlanet.noPlanet = $aiError;
ai.suggestEscort = inherit;
ai.suggestEscort.refused = inherit;
ai.rollD.invalidValue = $aiError;
ai.syntax.setCoordinates = $aiError;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
beacon.list = $scriptDebugOn;
beacon.list.flightTraining = inherit;
2007-06-09 10:38:16 +00:00
2008-02-26 18:07:17 +00:00
character = inherit;
character.load.unknownSystem = inherit;
2007-05-24 10:01:41 +00:00
$dataCacheStatus = yes;
$dataCacheError = $error;
$dataCacheDebug = no;
2008-02-25 16:22:15 +00:00
dataCache.found = no; // $dataCacheStatus; // Generally redundant since it will be folllowed by .upToDate or .rebuild.*
2007-05-24 10:01:41 +00:00
dataCache.upToDate = $dataCacheStatus;
dataCache.notFound = $dataCacheError;
dataCache.rebuild = $dataCacheStatus;
dataCache.rebuild.pathsChanged = inherit;
dataCache.rebuild.datesChanged = inherit;
2007-06-02 20:58:41 +00:00
dataCache.rebuild.explicitFlush = inherit;
2007-05-24 10:01:41 +00:00
dataCache.removedOld = $dataCacheStatus;
dataCache.write.success = $dataCacheStatus;
dataCache.write.buildPath.failed = $dataCacheError;
dataCache.write.failed = $dataCacheError;
dataCache.write.serialize.failed = $dataCacheError;
dataCache.retrieve.success = $dataCacheDebug;
dataCache.retrieve.failed = $dataCacheDebug;
dataCache.set.success = $dataCacheDebug;
dataCache.set.failed = $dataCacheError;
dataCache.remove.success = $dataCacheDebug;
dataCache.clear.success = $dataCacheDebug;
dataCache.prune = $dataCacheDebug;
2007-06-09 10:38:16 +00:00
display.modes.noneFound = $error;
display.context.create.failed = $error;
display.mode.switch.failed = $error;
2007-05-24 10:01:41 +00:00
$linkedListError = $error;
entity.behaviour.changed = $entityState;
entity.linkedList = inherit; // Management/verification of the lists used to track the relative position of entities.
entity.linkedList.add = inherit;
entity.linkedList.add.error = $linkedListError;
entity.linkedList.remove = inherit;
entity.linkedList.remove.error = $linkedListError;
2008-02-22 15:26:40 +00:00
entity.linkedList.verify.error = no; //$linkedListError; // Non-fatal error that looks scary.
2007-05-24 10:01:41 +00:00
entity.linkedList.verify.rebuild = inherit;
entity.linkedList.update.error = $linkedListError;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
equip.buy.mounted = no;
equip.buy.mounted.failed = $scriptError;
2007-06-09 10:38:16 +00:00
2007-07-29 14:17:30 +00:00
gui.reset = no;
2007-05-24 10:01:41 +00:00
input.keyMapping.codeOutOfRange = inherit;
input.keyMapping.keyPress = no;
input.keyMapping.keyPress.keyDown = inherit;
input.keyMapping.keyPress.keyUp = inherit;
2007-06-09 10:38:16 +00:00
iTunesIntegration.failed = $error;
2007-05-24 10:01:41 +00:00
mesh.load.error = $error;
mesh.load.error.fileNotFound = inherit;
mesh.load.error.tooManyVertices = inherit;
mesh.load.error.tooManyFaces = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
oxp.versionMismatch = $error;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
$plistError = $error;
plist.parse.foundation.failed = $plistError;
plist.wrongType = $plistError;
plist.homebrew.badEncoding = $plistError;
plist.homebrew.exception = $plistError;
plist.homebrew.parseError = $plistError;
plist.homebrew.parseWarning = $plistError;
plist.homebrew.tokenize.trace = no; // Log details of first stage of homebrew parsing. Extremely verbose!
plist.homebrew.interpret.trace = no; // Log details of second stage of homebrew parsing. Also extremely verbose!
plist.homebrew.success = yes;
2007-06-09 10:38:16 +00:00
2007-11-19 18:34:28 +00:00
rendering.opengl.error = no; // Test for and display OpenGL errors
2007-05-24 10:01:41 +00:00
rendering.opengl.version = $troubleShootingDump; // Display renderer version information at startup
rendering.opengl.extensions = $troubleShootingDump; // List OpenGL extensions at startup
rendering.opengl.shader.support = $troubleShootingDump; // Messages about factors influencing availability of OpenGL shaders
2007-06-16 18:01:41 +00:00
rendering.opengl.stateDump = yes; // Dump of OpenGL state (debug tool, currently unused)
2007-05-24 10:01:41 +00:00
rendering.opengl.shader.uniform = $shaderDebugOn;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
resourceManager.foundFile = off; // Tells you where all assets (models, textures, sounds) are found. Very verbose!
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
save.failed = yes;
save.success = no;
2007-12-03 17:53:37 +00:00
quickSave.failed = yes;
load.failed = yes;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
setup.ship.badEntry.subentities = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.addShips.failed = $scriptError;
script.missionDescription.noMissionText = inherit;
script.missionDescription.noMissionKey = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.debug = $scriptDebugOn;
script.debug.message = inherit; // debugMessage: script action
script.debug.onOff = inherit; // debugOn/debugOff script actions
script.debug.processSceneString.addScene = inherit;
script.debug.processSceneString.addModel = inherit;
script.debug.processSceneString.addLocalPlanet = inherit;
script.debug.processSceneString.addTargetPlanet = inherit;
script.debug.processSceneString.addBillboard = inherit;
script.debug.setSunNovaIn = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.debug.note = inherit;
script.debug.note.awardCargo = inherit;
script.debug.note.removeAllCargo = inherit;
script.debug.note.useSpecialCargo = inherit;
script.debug.note.addShips = inherit;
script.debug.note.set = inherit;
script.debug.note.showShipyardModel = inherit;
script.debug.note.showShipModel = inherit;
script.debug.note.setFuelLeak = inherit;
script.debug.note.addPlanet = inherit;
script.debug.note.replaceVariablesInString = inherit;
script.debug.note.processSceneString = inherit;
script.debug.note.testCondition = no;
2007-06-09 10:38:16 +00:00
* All ships now have a JavaScript script attached, allowing JS scripts to
add behaviours to any ship.
* Legacy script_actions, setup_actions, launch_actions and death_actions
handled through default JavaScript script.
* In order to implement the above, JS Ship now has a runLegacyScriptActions
method. This is not to be exposed as an "official" method, though, since
we might want to change the mechanism -- for instance, to "compile"
legacy scripts into JS. Handling dynamically-generated legacy scripts in
that case would be a significant complication.
* Updates for Mac OS X 10.5 "Leopard".
- Errors on reading/writing plist will not cause a crash if building
against the Leopard SDK. (I have no intention of requiring Leopard any
time soon, but future-proofing is good.)
- OOWeakReference is now more efficient when running under Leopard, by
implementing the new "fast forwarding" mechanism.
- Threads now have names set under Leopard, which may provide debugging
advantages.
- Fixed some new build warnings for new version of apple-gcc.
- Updated type declarations to identify Oolite saved games as property
lists.
* Cleaned up PlayerEntityControls.m somewhat. Moved method declarations
into files, fixed indentation, broke up monster giant method of doom.
* Script-generated asteroids now behave like system populator-generated
asteroids (As Seen on BB[TM]).
* Minor optimizations and simplifications of legacy script engine.
* JS System.filteredEntities() now has sensible behaviour if predicate
throws an exception: the predicate is not called again, and null is
returned. The exception is reported and not rethrown.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1240 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-23 15:04:14 +00:00
script.debug.trace = off; // Trace messages are very verbose, printing at least one message per script action. They are not available at all in release versions.
script.debug.trace.scriptAction = inherit; // Messages for each legacy script action executed.
script.debug.trace.testCondition = inherit; // Messages for each legacy script condition evaluated.
script.debug.trace.testCondition.checkingVariable = inherit; // Messages for tests of mission/local variables in script conditions.
script.debug.trace.testCondition.testValues = inherit; // Messages for string and number comparisons.
script.debug.trace.testCondition.oneOf = inherit; // Messages for "oneof" tests.
2007-05-24 10:01:41 +00:00
script.debug.syntax = $scriptError; // Messages relating to script formatting
script.debug.syntax.badConditional = inherit;
* All ships now have a JavaScript script attached, allowing JS scripts to
add behaviours to any ship.
* Legacy script_actions, setup_actions, launch_actions and death_actions
handled through default JavaScript script.
* In order to implement the above, JS Ship now has a runLegacyScriptActions
method. This is not to be exposed as an "official" method, though, since
we might want to change the mechanism -- for instance, to "compile"
legacy scripts into JS. Handling dynamically-generated legacy scripts in
that case would be a significant complication.
* Updates for Mac OS X 10.5 "Leopard".
- Errors on reading/writing plist will not cause a crash if building
against the Leopard SDK. (I have no intention of requiring Leopard any
time soon, but future-proofing is good.)
- OOWeakReference is now more efficient when running under Leopard, by
implementing the new "fast forwarding" mechanism.
- Threads now have names set under Leopard, which may provide debugging
advantages.
- Fixed some new build warnings for new version of apple-gcc.
- Updated type declarations to identify Oolite saved games as property
lists.
* Cleaned up PlayerEntityControls.m somewhat. Moved method declarations
into files, fixed indentation, broke up monster giant method of doom.
* Script-generated asteroids now behave like system populator-generated
asteroids (As Seen on BB[TM]).
* Minor optimizations and simplifications of legacy script engine.
* JS System.filteredEntities() now has sensible behaviour if predicate
throws an exception: the predicate is not called again, and null is
returned. The exception is reported and not rethrown.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1240 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-23 15:04:14 +00:00
script.debug.syntax.badComparison = inherit;
2007-05-24 10:01:41 +00:00
script.debug.syntax.action = inherit;
script.debug.syntax.action.noneSpecified = inherit;
script.debug.syntax.action.badSelector = inherit;
* All ships now have a JavaScript script attached, allowing JS scripts to
add behaviours to any ship.
* Legacy script_actions, setup_actions, launch_actions and death_actions
handled through default JavaScript script.
* In order to implement the above, JS Ship now has a runLegacyScriptActions
method. This is not to be exposed as an "official" method, though, since
we might want to change the mechanism -- for instance, to "compile"
legacy scripts into JS. Handling dynamically-generated legacy scripts in
that case would be a significant complication.
* Updates for Mac OS X 10.5 "Leopard".
- Errors on reading/writing plist will not cause a crash if building
against the Leopard SDK. (I have no intention of requiring Leopard any
time soon, but future-proofing is good.)
- OOWeakReference is now more efficient when running under Leopard, by
implementing the new "fast forwarding" mechanism.
- Threads now have names set under Leopard, which may provide debugging
advantages.
- Fixed some new build warnings for new version of apple-gcc.
- Updated type declarations to identify Oolite saved games as property
lists.
* Cleaned up PlayerEntityControls.m somewhat. Moved method declarations
into files, fixed indentation, broke up monster giant method of doom.
* Script-generated asteroids now behave like system populator-generated
asteroids (As Seen on BB[TM]).
* Minor optimizations and simplifications of legacy script engine.
* JS System.filteredEntities() now has sensible behaviour if predicate
throws an exception: the predicate is not called again, and null is
returned. The exception is reported and not rethrown.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1240 127b21dd-08f5-0310-b4b7-95ae10353056
2007-11-23 15:04:14 +00:00
script.debug.syntax.action.badElement = inherit;
2007-05-24 10:01:41 +00:00
script.debug.syntax.scriptCondition.noneSpecified = inherit;
script.debug.syntax.setPlanetInfo = inherit;
script.debug.syntax.awardCargo = inherit;
script.debug.syntax.messageShipAIs = inherit;
script.debug.syntax.addShips = inherit;
script.debug.syntax.set = inherit;
script.debug.syntax.reset = inherit;
2007-12-03 17:53:37 +00:00
script.debug.syntax.subtract = inherit;
2007-06-09 10:38:16 +00:00
2007-07-07 15:44:50 +00:00
script.error = $scriptError;
script.error.removeAllCargo.notDocked = inherit;
2007-12-03 17:53:37 +00:00
script.error.addPlanet.keyNotFound = inherit;
script.error.addPlanet.noPosition = inherit;
2008-02-29 15:48:00 +00:00
script.error.exception = inherit;
2007-07-07 15:44:50 +00:00
2007-05-24 10:01:41 +00:00
script.javaScript.load.success = no;
script.javaScript.load.failed = $scriptError;
script.javaScript.init.success = no;
script.javaScript.init.error = $error; // Fatal start-up error
script.javaScript.call.badSelector = $scriptError;
script.javaScript.error = $scriptError;
script.javaScript.exception = $scriptError;
script.javaScript.warning = $scriptError;
script.javaScript.badParameter = $scriptError;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.load = no;
script.load.badName = $scriptError;
script.load.notFound = $scriptError;
script.load.parseOK = inherit;
script.load.unnamed = $scriptError;
script.load.exception = $error;
script.load.world.listAll = $troubleShootingDump; // List names and versions of all loaded world scripts at startup.
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.plist.run.badTarget = $error;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
script.trace = no;
script.trace.runWorld = inherit;
script.trace.plist.run = inherit;
script.trace.javaScript.call = inherit; // Prints selector and parameter string on Player.call()
2007-06-09 10:38:16 +00:00
2008-03-02 18:56:24 +00:00
script.deprecated.scriptActionOnTarget = $scriptError; // Warning not to use scriptActionOnTarget:
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
searchPaths.dumpAll = $troubleShootingDump;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
$shaderDebug = $shaderDebugOn;
$shaderError = $error;
shader.load.noShader = $error;
shader.uniform = $shaderDebug;
shader.uniform.set = inherit; // Successfully set a uniform.
shader.uniform.unSet = inherit; // A uniform went unset or was cleared (either because there was no matching uniform in the shader, or the new uniform could not be set up).
shader.uniform.badDescription = inherit; // A uniform specified in shipdata.plist could not be set up, because the configuration could not be understood.
shader.uniform.bind.failed = inherit; // Problem setting up uniform bound to an object property.
shader.vessel.init = $shaderDebug;
shader.compile.vertex.failure = $shaderError;
shader.compile.fragment.failure = $shaderError;
shader.link.failure = $shaderError;
2007-06-09 10:38:16 +00:00
* Got Game Options submenu working under OS X.
* Save reduced detail, wireframe and shader settings in preferences.
* Implemented variable shader complexity support.
Added default shader, used for all otherwise-unshaded ships with full shaders on, and for smooth ships or ships with effect maps specified in material dictionary with simple shaders.
* All ships now drawn with slight specular highlight by default (shininess = 10, intensity = 0.2) except in reduced detail mode.
* (JS) Made Ship.shipDescription read-write (except for the player).
* (JS) Added global function ExpandDescription(string : String), to perform substitutions like %H, [commander_name] and so forth.
* (JS) Added global function RandomName(), intended to be like %R substitution. In so doing, I discovered that %R is broken, but left it as-is so it will generate the same name for existing descriptions. Added %X to do the same thing, but without the bugs. RandomName() is different from either in that it doesn't use the "predictable" PRNG, so it will provide a new name each time. To use the "predictable" variant in JavaScript, use ExpandDescription("%X").
* Ships that hyperspace out are no longer replenished in interstellar space.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1228 127b21dd-08f5-0310-b4b7-95ae10353056
2007-10-22 12:18:18 +00:00
ship.noPrimaryRole = no;
2008-03-03 22:43:18 +00:00
sky.setup = no;
2007-05-24 10:01:41 +00:00
strings.conversion = $scriptError; // Conversion of text to values (vectors, quaternions etc)
strings.conversion.vector = inherit;
strings.conversion.quaternion = inherit;
strings.conversion.vectorAndQuaternion = inherit;
strings.conversion.randomSeed = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
texture.planet.generate = inherit;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
$textureDebug = no;
texture.load.noName = $error;
texture.dealloc = $textureDebug;
texture.upload = $textureDebug;
2007-06-09 10:38:16 +00:00
2007-07-17 10:42:36 +00:00
textureCache = $textureDebug;
2007-05-24 10:01:41 +00:00
textureLoader.asyncLoad = $textureDebug;
textureLoader.asyncLoad.done = inherit;
textureLoader.asyncLoad.exception = $error;
textureLoader.block = $textureDebug;
textureLoader.block.done = inherit;
textureLoader.detachThreads.failed = $error;
textureLoader.queueTask.inconsistency = $error;
textureLoader.unknownType = $error;
2007-06-09 10:38:16 +00:00
2008-03-03 20:41:08 +00:00
universe.populate = no; // “Populating a system with…” message when generating a star system
2007-05-24 10:01:41 +00:00
universe.populate.witchspace = inherit;
2008-03-03 20:41:08 +00:00
universe.setup.badStation = $scriptError; // Message generated if the main station turns out not to be a station (for instance, this could happen if a non-station ship had the role coriolis).
2007-06-09 10:38:16 +00:00
2007-07-18 23:53:51 +00:00
verifyOXP.verbose = no;
2007-05-24 10:01:41 +00:00
/*** Mac OS X/Cocoa-specific ***/
growl.error = $error;
growl.debug = no;
2007-06-09 10:38:16 +00:00
2007-05-24 10:01:41 +00:00
$soundError = $error;
$soundDebug = no;
$soundDebugVerbose = $soundDebug;
sound.channel.cleanup.success = $soundDebugVerbose;
sound.channel.cleanup.failed = $soundError;
sound.channel.cleanup.failed.broken = inherit;
sound.channel.cleanup.failed.badState = inherit;
sound.channel.machPortError = $soundError;
sound.initialization = inherit;
sound.initialization.error = $soundError;
sound.load.success = $soundDebug;
sound.load.failed = $soundError;
sound.mixer.outOfChannels = $soundError;
sound.mixer.inspector.loadFailed = $soundError;
sound.mixer.replacingBrokenChannel = $soundDebug;
sound.mixer.failedToConnectChannel = $soundError;
sound.play.success = $soundDebugVerbose;
sound.play.failed = $soundError;
sound.play.failed.badReuse = inherit;
sound.play.failed.setupFailed = inherit;
sound.play.failed.auError = inherit;
sound.render.undexpectedNull = $soundError;
sound.streaming.refill = $soundDebugVerbose;
sound.streaming.loop = $soundDebug;
sound.streaming.underflow = $soundError;
sound.virtualringbuffer = $soundError;
sound.streaming.releaseContext = $soundDebug;
sound.invalidBeep = inherit;
}