Changes since Oolite 1.69.1:
- Greatly enhanced JavaScript scriptability. Ships and planets are now scriptable objects. Every ship now has an attached JavaScript script. Added timers and clock object. The system object provides flexible methods for searching for entities.
- Implemented interactive JavaScript/debug console. Under Mac OS X, this is integrated into the application (when a special OXP is installed). On all platforms, the game can communicate with a separate console program over TCP. Writing a good console is left as a third-party opportunity.
- Fixed inconsistent usage of "role" attribute by splitting it into a set of roles and a primary role.
- New extendable property list, pirate-victim-roles.plist, specifies which (primary) roles pirates will look for when selecting victims. This allows OXP developers to make their special ships potential victims.
- Integrated Commander McLane's external views OXP. It is recommended that the OXP be removed when running Oolite 1.70.
- Added travel time estimate for stars within one jump.
- Split game options out of menu.
- Added option to play in wireframe mode.
- Added option to set shader complexity level (Off/Simple/Full) on shader- capable systems.
- Added default shader, used for all ships in full-shader mode and for materials with smoothing or options in simple-shader mode. Added material options for illumination mapping, glow mapping and specular mapping, currently only implemented with shaders. Made all ships slightly shiny by default.
- New AI methods:
- scanForNearestShipWithPrimaryRole: (new, preferred name for scanForNearestShipWithRole:)
- scanForNearestShipWithAnyPrimaryRole:
- scanForNearestShipWithoutPrimaryRole:
- scanForNearestShipHavingRole:
- scanForNearestShipHavingAnyRole:
- scanForNearestShipNotHavingRole:
- scanForNearestShipWithScanClass:
- scanForNearestShipWithoutScanClass:
- sendScriptMessage:
- Converted several plists to OpenStep format for legibility, and cleaned up some redundant information from shipdata.plist.
- Updated JavaScript engine. JavaScript 1.7 is now supported.
- Legacy script methods awardFuel: and setFuelLeak: now work on the current script target, not always the player.
- Fixed bug where local planetinfo overrides were not being restored from saved games properly.
- Fixed bug where several shipdata attributes were ignored for stations (bug #11684). Added has_npc_traffic attribute to suppress NPC traffic at carriers.
- Fixed bug with stars and nebulae looking wrong when inside an atmosphere.
- Fixed trumble-related crash.
- Added clearMissionScreen scripting method to simplify mission screens.
- Several AI bug fixes contributed by Eric Walch.
- Fix for a certain class of AI crashes (recursive reactToMessage:).
- Made evil XML DTD swizzling hack work with plists generated under Mac OS X 10.5.
- Made asteroids created by scripts behave the same as asteroids created by the system populator.
As with the Mac OS X version, there is a new -verify-oxp command line options. Details on how to use this under Windows would be quite helpful.