Special testing request
Please try playing with this OXP. If it crashes within ten seconds of launch, we want to hear about it. If it just spews a lot of JavaScript error messages to your log, that’s fine and you can throw it out.
Changes since Oolite 1.72.2:
Gameplay
- Made procedurally textured planets a game option. Can be switched on/off in settings. (This feature is currently not available on the Mac environment.)
- Added splash screen and application icon to Windows and Linux versions.
- Added support for tangent space effects in shaders, including normal mapping.
- Default shader now supports normal mapping and parallax mapping options.
- Game over screen now displays ranking as well as credits.
- Made passenger carrier market a bit more interesting by rewarding long taxi runs. Credits paid increase exponentially with number of hops required. Reputation of player is also taken into account.
- Interface change: While in flight, pressing H from the local galaxy map will initiate hyperspace jumps - before, the player had to exit the map to do so.
- Added new equipment: Wormhole Scanner.
- Implemented targetting of nearest incoming missile. This is activated using Shift+T or an assigned joystick button.
- Sell/buy as much as possible on the F8 screen via Shift+left/right. Prefer to buy with Shift+Return.
- Time Acceleration Factor. Activated while in pause mode with left and right arrow keys. Can be from 1/16 to 16 times the normal time. TAF is visible in the FPS display.
- Raised the limit on gold, platinum and gemstones to 10000 units.
- Various AI changes. Most noticeable is that docking ships are now more likely to react to attacks, and less likely to crash during the final docking stage with bigger ships.
- Find systems on the long range chart screen: all possible matches now highlighted while typing.
- Last save directory is now saved in prefs; oolite-saves is only created when defaulting to it.
- Repositioned message row. Messages are now fully readable in standard Oolite.
- Equipment on the status screen now displays on multiple screens when needed, instead of overwriting the message and HUD areas.
- Repeating messages: after 6 seconds of displaying a message, the same message is shown again. They're discarded otherwise, as before.
- Game settings screen: Mac fullscreen resolution changes are now immediate.
- If no external views are defined for player ships, the cobra3 ones are used instead.
- The left and right square bracket keys can now be used as controls.
- Icons and symbols can now be associated to beacons, and will be shown on the advanced compass.
- Subentity definitions in shipData can now be dictionaries.
- Introduced the cloak_passive ship dictionary key. When set to true (or yes), it will cause the cloaking device to be deactivated whenever a main weapon or missile is fired, making the cloak somewhat less of a superweapon. Default is no.
- CLASS_NO_DRAW can be used inside plists for specific (ghost?) ships again, as in 1.65 and before. However, the system populator still overrides CLASS_NO_DRAW for incoming ships.
- Customsounds.plist now accepts arrays, in a similar way to descriptions.plist.
- Added new system settings to planetinfo.plist: "sun_radius" (float), "sun_color" = (any colour specifier), "corona_shimmer" = (float: 0-1), "corona_hues" = (float: 0-1), "corona_flare" = (float: 0-1). Two more settings: "texture" = (string), "texture_hsb_color" = (hsb color) available when procedural textures are active.
- Renamed planets: %H and %I now use scripted planet names, including inside planet descriptions.
- Plural handling for languages with more than one plural form.
- requires_equipment, requires_any_equipment and incompatible_with_equipment restrictions now work for weapons.
- New %J token for string expansion: expands %J000 to %J255 to its corresponding system name.
- Implemented the key cloak_indicator_on_status_light in hud.plist (Off by default).
- Added example of drawing a yaw indicator bar (disabled by default).
- Work towards securing legacy scripts, AIs and shader uniform bindings by whitelisting methods. Game will now print an error message in the log if non-whitelisted methods are used in legacy scripts or AIs.
- Added class ShipGroup. Groups are now defined in a different way than previously. ShipGroups are exposed to JS as a property of ships.
- Made time acceleration factor controllable by JavaScript using the read/write timeAccelerationFactor global property for bullet-time-like effects.
- PlayerShip.removeEquipment() now works for missiles. Also, awardEquipment()ing a missile when the player has none now causes the new missile to be selected.
- Reworked Aegis messages. sun aegis is recognised, approaching planet event is restored, all handlers have a planet or station as argument.
- Added the JavaScript read/write player ship property scriptedMisjump. Boolean value, scripted misjumps have a lifespan of one jump only. After that, auto reset occurs and subsequent jumps become normal ones again.
- Bounty for script added pirates and traders now follow populator rules when auto_ai is true.
- JavaScript system.info.xx & system.infoForSystem([present galaxy],[system number]).xx are read/write now. Reading infoForSystem values from outside the present galaxy is not supported and will return null. However, writing system info anywhere in all galaxies is fully supported at all times.
- stationLaunchedShip(ship)
- playerWillEnterWitchspace()
- playerTargetedMissile(missile)
- playerBoughtNewShip(ship)
- arrivalReportScreenEnded()
- ship.setAIState()
- ship.fireECM()
- player.ship.galaxyCoordinates()
- player.ship.cursorCoordinates()
- station.dockPlayer()
- player.addMessageToArrivalReport(message)
- dropMessages
- debugDumpPendingMessages
- exitAIWithMessage:
- messageSelf:
- abortAllDockings
- throwSparks
- randomPauseAI:
- launchIndependentShipWithRole:
- checkOwnLegalStatus
- setSpeedToCruiseSpeed
- Added delay parameter to playerStartedJumpCountdown event.
- Made Entity.position and Entity.orienation read/write, and deprecated Entity.setPosition() and Entity.setOrientation()
- Ship.exitAI() now can specify a message. Default is RESTARTED.
- Deprecated system.goingNova and system.goneNova in favour of existing Sun equivalents.
- Fixed far away docking of ships. Ships that start the dockingAI further away than 2.5 times scanner distance from a station are sent back to their original AI.
- SDL & Windows fixes: reworked Windows port to resize game view without texture loss. Splash screen for both Linux and Windows. When switching fullscreen resolutions using F11 Oolite now saves the new fullscreen resolution.
- Fixed negative cargo bug shown in shipyard for ships with cargo capacity less than 5t that had EQ_PASSENGER_BERTH as optional equipment.
- Oolite now takes incompatible equipment into account when generating ships for sale.
- Fixed weapon position. It now follows the defined position in shipData instead of always using the default one.
- Fixed an inconsistency in oolite-font.plist.
- Prevent ships from escorting things with different scan classes.
- Pirates returning to their own pirate cove are now correctly added to the station defence ships.
- Cloak no longer works as an energy generator when not cloaked.
- Escorts cannot have escorts of their own anymore. This avoids memory overflows in cases of recursive escort-ship, escort-role and mutual escort ship references between two or more ships.
- Motherships with a clean legal status now only accept clean escorts.
- Fixed hasShipyard.
- Fixed crash when max_missiles is set to higher than maximum allowed (16).
- Fixed bug in performFaceDestination where a ship would hang still in space.
- launchTrader now launches traders with correct escorts for that ship type.
- sun_radius loop bug: should now cope with all sun_radius values.
- Limited checkcourseToDestination to scanner range so it only changes course when it actually "sees" something.
- scanForOffenders no longer finds fellow group members.
- Minimum player-bouy distance when entering system raised from 500 to 750 metres.
- Resolved bug that caused ships with subentities to explode inside closed structures and other sudden collisions near bigger ships.
- More systemInfo changes for the current system are now validated and are effective immediately, including most sun settings, main planet texture, and derivative ones (ie commodity market/economy, ship and equipment markets/ techlevel). Properties not yet effective immediately produce a warning.
- AI command setCourseToPlanet no longer sets course to moons, only to the closest planet.