Oolite Changelog

What's new in Oolite 1.90

May 10, 2023
  • General:
  • Custom sounds for specific lasers and specific hit types are now defined.
  • Increasing opacity of GUI cursor for increased visibility.
  • Basic compass now changes shape when switching from planet to station and vice versa.
  • Cloaked ships do mass lock the player now.
  • The number of turrets on a ship, if they exist, is now shown on the Ship Library screen.
  • Entities designated as excepted for collision with the player will now not limit the torus speed variability.
  • The Javascript runtime size can now be adjusted by the user.
  • Default diffuse light model switched to Oren-Nayar instead of Lambert.
  • Light radiance and exposure introduced on all main shaders.
  • Illumination mapping of the dark side of custom planets is now supported on the diffuse map's alpha channel.
  • Custom planets now support normal maps, with specular on their alpha channel.
  • Visual improvements made on atmospheres. Lave has now a blue atmosphere like Earth, while Reorte now has a blue planet terminator.
  • Visual improvements made on planets, which now use correct reflectivity values for water and land masses for more realistic specular reflections.
  • New nav and witchspace beacons deployed, replacing the previous ones.
  • Added the ability to limit star and nebula textures to particular galaxies, providing the opportunity to make galaxies more visually unique.
  • View Keyboard Settings item from start menu has been replaced with Game Options, which are now accessible from the get-go rather than after starting a game first.
  • Requesting 16 bits per color component from OpenGL during initialization is now an option (-16bpcc startup parameter).
  • Keyboard controls to cycle and select MFDs in reverse.
  • Mac port: Right mouse button to center pitch and roll should now work the same way as in the Windows and Linux ports.
  • Pressing Ctrl while handling the external camera view will now slow rotation and zoom speeds down. Allows for more precise external camera control.
  • Changed appearance of Lave to reflect the rain forests mentioned in its description.
  • Windows port: CPU type and clock speed are now reported at the log header.
  • Added docking clearance joystick button control to stickmapper.
  • Added joystick button support for docking computer (standard and fast).
  • Default ambient light level set to 0.1.
  • Added filmic tonemapping to default shaders.
  • Expansion pack development:
  • Modified Plists:
  • Planetinfo.plist: Reactivated air_color and added air_color_mix_ratio and terminator_threshold_vector keys.
  • Planetinfo.plist: Added texture_normspec key for specifying the normal and specular/gloss maps for custom planets.
  • Equipment.plist: Added the fx_shot_miss_name, fx_shot_hit_name and fx_weapon_launch_name keys for controlling weapon sounds for individual weapons.
  • Customsounds.plist: Added the following keys to point to the new individual weapon and ecm-proof missile launch sounds: [mil-laser-player-laser-miss], [mil-laser-player-laser-hit], [mining-laser-player-laser-miss], [mining-laser-player-laser-hit], [beam-laser-player-laser-miss], [beam-laser-player-laser-hit], [ecm-missile-launch].
  • Shipdata.plist: Added the escape_pod_rescue_time key.
  • Added support for equipment-overrides.plist.
  • Scripting:
  • Planet terminator color and extent is now script controlled via the 'terminatorThresholdVector' JS planet property.
  • Atmosphere color for planets is now fully script controlled via the 'airColor' and 'airColorMixRatio' JS planet properties. No more of that "always white" atmospheres of 1.88.
  • Implemetned an override mechanism for the amount of time a rescue in an escape pod takes by means of the 'escapePodRescueTime' JS player property.
  • Added activeMissile property to allow scripts to know which of the missiles is currently selected.
  • Added 'isSunlit' to JS entity, allowing scripts to determine whether entity is in the shadow or not.
  • Added playerWillBuyNewShip and playerWillReplaceShip world events. Replacing a ship is now considered a different event to buying one.
  • Added EquipmentInfo.calculatedPrice property. This is the calculated price of the equipment item, if the equipment item utilises the updateEquipmentPrice() condition script function.
  • Added amount paid parameter to playerBoughtEquipment event. Gives instant visibility of the actual price paid by the player, taking into account any rebates or adjustments in the purchase.
  • AddShipToShipyard can now look for and add lasers from extras array. This is so a laser weapon can be included in "extras" array and added to the ship.
  • Station shipyard is now accessible from Javascript (station.shipyard).
  • World event "commsMessageReceived" will now be triggered when the "player.commsMessage" function is called. The "sender" argument will be null in this case. Scripts that implement "commsMessageReceived" will need to check for a null value, otherwise an error will occur.
  • Bug fixes:
  • ==========
  • Fixed occasional equipment incompatibility references not being enforced, depending on the order of loading.
  • Fixed kg and g unit commodities not being removed when player ship was being replaced or when a new one was bought and excess kg and g quantities beyond station's capacity remained unsold during the cargo selling phase.
  • Fixed RGB to HSB conversion in OOColor class.
  • Fixed blocked station queues in case where ship in launch queue was too big for a dock and could not be launched.
  • Fixed randomInhabitantsDescription not being able to return the plural form and fixed a typo in its error message.
  • Fixed some quite important typos in the populator script.
  • Fixed scoopOverride causing scoop sound to play once when set to false.
  • Fixed case where an empty cargopod would be generated for specific quantities of precious metals and gemstones.
  • Fixed an 'index out of range' error on F5 Status screen.
  • Fixed issue where sometimes no rows would be selected in the shipyard screen.
  • Docks scripted to not accept player docking now result in autopilot docking rejection also in the case of fast autodock.
  • Fixed native exception when a dictionary was passed to OOIsNumberLiteral by OOJSSystemInfo.
  • Fixed dust color not getting mixed with 50 percent white, as intended when sun color was set manually.
  • Fixed effectRemoved event not triggering when hyperspacing.
  • Fixed bug where credits could be generated by 'failing to buy' multiple mount lasers.
  • Fixed planets' dark side always being completely dark, regardless of the ambient light level setting.

New in Oolite 1.86 (Dec 4, 2017)

  • OVERHAULED PLANETS:
  • Probably the first thing that you will notice in this release, is how the planets' look has been thoroughly upgraded, receiving the following enhancements:
  • Shader-based atmosphere effects. Atmosphere scattering effects have been implemented and the planets have a new moving clouds layer applied. The combined result can lead to some very interesting new planetary vistas and adds a lot of... atmosphere to the game.
  • New ground textures generator. A new and improved Perlin 3D based algorithm is used for generating the textures for planets. Ground detail is enhanced and features like mountains can now be identified from space. The new textures generator is available at the highest graphics detail level.
  • Lowered the default ambient light in all systems to a quarter of its previous value. With the introduction of the new atmospheric scattering effect, we found that a lower ambient light was improving further the way planets look. The unlit side of planets is now actually dark, creating a more realistic view in space. You can still adjust ambient light levels for each system if you want to though, just like before.
  • 8K UHD SUPPORT:
  • Ready for 8K gaming! Ultra High Definition 4K resolutions are becoming standard for games. We have, therefore, taken an extra step and raised the maximum screen resolution reachable by Oolite to 7680 x 4320 pixels. Reports received from our testers indicate that Oolite loaded with expansion packs easily hits 200 FPS at 4K on an NVidia GTX 1070.
  • "EASY START" OPTION:
  • An alternative starting scenario is now offered to those Harmless Commanders being intimitaded by the game's entry difficulty level. In addition to the classic start at Lave with just 100Cr, you will have the option of starting the game at Tionisla, which is of considerably higher technological level, with ten times as many credits. Spend them wisely and you will be able to equip your ship quickly so that you can survive those first few tough encounters. You will still need to fight a lot and fight hard though!
  • CUSTOMIZATION, SCRIPTING IMPROVEMENTS AND ADDITIONAL FEATURES:
  • For this version, we are providing expansion pack creators with a plethora of scripting enhancements. New events, new methods and more control over game object properties are made available. In addition, more customization options for the player ship's HUD are delivered, making previously unachievable HUD designs now possible.
  • But that's not all. Listening to Commanders and Engineers requests, while anticipating some more, a variety of quality of life features have been added too, such as High-DPI support on Windows, HTTPS support for expansion packs loading, mouse wheel control for changing speed when piloting your ship using a mouse (Windows / Linux), a new option to launch the game in silent mode and more.

New in Oolite 1.80 (Jul 19, 2014)

  • Systems, AI and NPCs:
  • One of the things we wanted to do with this release was use the variety already in the galaxy maps a bit more. Previously, one Corporate State was much like another - economy had a small effect, but only a small one - but there's so much more potential in the maps. On the ClymAngus maps of chart 5, Xevera, a Tech 15 Rich Industrial Corporate State, is surrounded by five Anarchy systems in jump range, and the label on the chart just says "The Siege Worlds". You can easily see why it got that name.
  • The siege worlds: Xevera and its nearby anarchies.
  • Previously, though, if you've actually visited Xevera, there's not been anything in-system to distinguish it from any of the other Tech 15 Rich Industrial Corporate States. In 1.80, that's changed - it gets regular raids from the nearby anarchies, and has extremely well-armed Viper Interceptor patrols paid for by the wealthy system government who try to intercept the pirates as soon as they jump in. It's also a favoured base for bounty hunters wanting to turn the tables and carry out strikes on the anarchies, because they can buy lots of equipment, get good repairs, and not have to worry too much about pirates on the way home.
  • Compare this with Ceesxe in chart 1 - same government, economy and tech level, but rather than being an outpost of Cooperative-friendly stability in a dense pirate hub, it's a border system with only three relatively stable neighbours. Very safe, with maybe the occasional pirate raid from nearby Veis, and not particularly popular with bounty hunters because there's hardly anything to hunt.
  • To help with this variety, the NPC AIs have been significantly upgraded, and the sorts of NPCs you'll encounter have been diversified. Pirates, for example, as well as the disorganised bands you saw previously, now sometimes also operate in well-organised packs centred around a heavy freighter - usually still a Python, but you'll also see Boas and occasionally even larger freighters operating out of the roughest systems. A full strength pirate pack can be well over ten fighters in addition to the command ship, as well as a couple of well-armed heavy fighters such as Asps or Fer-de-lances which split off from the main group, and do daring hit-and-run attacks on police and bounty hunter patrols while the rest of the pack go about the business of intimidating traders into giving up their cargo.
  • A pirate fleet attacks.
  • The game also tries to fit the player in a bit better. In Oolite 1.77 the game assumed that the player was basically a trader - pirates would attack you for cargo, and everyone else would mostly ignore you unless there was a bounty to get or you attacked them first. Now, your actions are used to determine what sort of pilot you are (or at least, what the locals have heard about you). Go around trading goods, and the pirates will attack you to steal them. Make a reputation as a fearsome bounty hunter, and they'll actively try to avoid you, unless they think the odds are really in their favour. Gain notoriety as a pirate yourself, and they'll happily let you tag along on their raids and pick up a share of the loot.
  • All the other NPC types make similar judgements about what you've done. Get a reputation as a pirate and then go clean, and the police might not be attacking you, but they might follow you for a bit just to make sure you're staying clean. Make powerful enemies transporting the wrong passengers, and not only will you have to contend with assassins after your clients, but they might put a price on your head after the job's complete too, as a punishment for daring to defy them.
  • Expansion pack format and manager:
  • Another big change has been in significantly simplifying how you install expansion packs. There are over five hundred of them available written by members of the community, and one of the most important features of Oolite is that they're easy to write. However, it's sometimes been more effort than it needs to be to install them, or to find out that there's a new version or a new pack that you're interested in. Unless you read the forum regularly, it's been easy to miss updates.
  • So, there's now a new expansion pack format that puts all the data into a single file, and Oolite can download and install these at your request. If you've already installed it, and there's an update available, this is highlighted too.
  • Expansion pack manager:
  • There are now over two hundred expansion packs ready to download and install without having to leave the game, and more are being converted and written every week.
  • Other updates:
  • There are lots of other changes as well, including:
  • an upgraded joystick config page
  • positional sound up to 7.1 surround or binaural HRTF now supported
  • updated graphics for suns, planets, ships, explosions and more
  • a tutorial for people who've never played the game before
  • saving at (some) secondary stations such as rock hermits
  • more variety in parcel and passenger contracts
  • new HUD elements
  • many more tweaks and bug fixes
  • The tutorial
  • Expansion pack writers have lots of new features as well, including a powerful new AI library which you can use and extend with Javascript, many more properties and methods for customising the game, the ability for expansions to define new starting positions, or add more one-off scenarios alongside the tutorial - and of course, the new expansion pack format to make it even easier to get your creations to a wider audience.
  • Upgrading an existing installation
  • Oolite 1.80 should install straightforwardly and be compatible with almost all the OXPs you already have. However, there are a few things you should be aware of when you upgrade:
  • The default key configuration has changed - a few new keys have been added, and "dump cargo" has been changed from "d" to "shift-D" to reduce accidental jettisoning. If you have a custom keyconfig.plist you will need to add the new key settings to it. Check the new keyboard control summary from the start screen to see your current settings.
  • Other new keys: ';' and ':' control the new HUD multi-function displays in the tutorial or with appropriate expansions installed, and '?' on the long range chart now highlights systems by economy, government or tech level if you have an Advanced Navigation Array fitted.
  • Your Commander name and your save game name are no longer required to be the same - you can set your Commander name in the F4 interfaces screen, then call your save games whatever you like. No more "Hello, Commander Jameson37-backup-2" messages from NPCs.
  • The graphics detail settings have changed a little. If you have a dedicated graphics card - or even a reasonably modern built-in one - then your computer can probably handle the new "Extra Detail" graphics setting with no problems, but Oolite won't enable this for you.
  • If you use a joystick or other controller, the configuration for deadzones and axis response has been significantly upgraded, and you should be able to get much better results. You can update your configuration through Game Options as usual.
  • You can now bind any primable equipment you like to the 'tab' and '0' keys through an interface on the F4 screen. The equipment previously on those keys has been converted to primable equipment.
  • If you were using Strict Mode before, this now only disables expansion packs, and does not make any other game play changes.
  • Expansion pack compatibility:
  • If you have expansion packs in the OXP format already installed, you will need to uninstall them yourself when you install the corresponding OXZ format releases. Oolite cannot automatically determine which OXP folders might correspond to OXZ releases as the OXP format does not contain appropriate metadata. The OXP versions will not show up as already installed in the expansion pack manager, and will potentially cause conflicts if you don't remove them first.
  • While we have tried to keep old ship and shipset OXPs working as much as possible with all the changes made to ship AIs, if you have installed a replacement shipset OXP (i.e. an OXP which replaces the look of the default Oolite ships including the Cobra on the start screen) then you should install the Shipset Compatibility OXZ from the 'Miscellaneous' section of the expansion pack manager. This is only necessary temporarily until the OXP authors release an updated version of the shipset.
  • Most alternative HUD OXPs have not yet been updated to use the new features available in Oolite 1.80. They will still work, but other OXPs - and the new tutorial - may require the new HUD features for proper running. You may find it better to temporarily remove your HUD OXP until an updated version is available, or use one of the other updated HUDs already available in the expansion pack manager.
  • Older versions of the Energy Bomb OXP are not compatible with Oolite 1.80. If you installed this OXP before November 2013, you will need to upgrade to keep this weapon working. The version available in the expansion pack manager works, of course.

New in Oolite 1.77 Dev (Feb 7, 2013)

  • Debug OXP and Debug Console are supported.
  • OXP Verifier functionality is included.
  • Localization tools support is included.
  • AI Graphviz support is included.
  • Debug information is added. (e.g. AI stack, collision, dump target state, entities, memory usage, script tracing etc.)
  • JS monitor support is enabled.
  • The JS method takeSnapshot() is enabled.
  • Shift-F displays FPS, entities, coordinates and TAF info.
  • TAF is enabled.
  • Sanity checks are included.

New in Oolite 1.76.1 (May 28, 2012)

  • Fixed potential bug loading player with no mission_variables dictionary.
  • player.ship.launch() can now also be used within the shipWillDockWithStation and the shipDockedWithStation handler without side effects.
  • Ships that have a specific commodity defined as cargo, no longer get their bounty reduced to 10% when the pilot ejects.
  • The scoop icon now correctly shows a full cargo hold when special cargo is transported.
  • Fixed a problem with the shipyard screen when a ship with chance=1 defined non-installed optional equipment.
  • Don't disgorge and revive dead ships from wormholes.
  • 32-bit GL contexts are now strongly preferred on SDL systems, with 16-bit fallback.
  • Fixed weapon facing not resetting to forward view when launching from station.
  • takeSnapShot() is excluded from the JavaScript time limiter.
  • Added code to prevent overcorrection pitch and roll with low frame rates. Should lower the chance of ships jumping between two headings, without proceeding.
  • weapon_range and weapon_energy keys in the turret subentity declaration now work as intended. Values are maximised at 7500 and 100 respectively.
  • Buggy consoleMessage() behaviour when called from JS debug console has been rectified.
  • JS debug console macros are saved when Oolite exits to desktop in all platforms, as originally intended.
  • Regression fix: in the log, the searchPaths.dumpAll is shown once every time searchPaths change (strict/unrestricted mode).
  • No more negative ship distances, see http://aegidian.org/bb/viewtopic.php?t=11785
  • Fix for guiScreenWillChange for system data screen not firing when double clicking on systems.
  • Fixed crash with malformed gui declarations inside hud plists.
  • Fixed timer related crashes.
  • The Windows Oolite executable is now large address aware, allowing for more than 2GB of memory to be allocated to the game.
  • Fix for bug where standard subentities defined after any turret subentity would exhibit turret behaviour.
  • Savefiles with wrong passengers and/or passengers berths data are now handled a bit better.
  • Fix bug where equipment depending on currently damaged equipment would be silently removed from the player's ship on game load.
  • Target system memory expansion doesn't try to restore locks on cloaked ships anymore.
  • Fixed bug with resetting of passenger contracts on ship change.
  • Fixed Nav Array not showing distance and time information when target system was selected by using the Find Planet method.
  • Frame Callbacks now transfer the correct time difference when timeAccelerationFactor is active.
  • The available_to_all key is now also respected by JS methods that add equipment.
  • Improved the docking approach when arriving from the backside of a station.
  • Fixed fuel scoops sound loop issue, discussed in http://www.aegidian.org/bb/viewtopic.php?f=4&t=11611
  • Fixed intermittent crash on missile removal.

New in Oolite 1.75.3 Beta (Jul 18, 2011)

  • Subentities are now set up correctly when buying a new ship.
  • Ships now take subentities into account when deciding whether they can dock.
  • Fixed ghost wormholes. Wormholes can no longer have a jump range of zero.
  • The fuel indicator is now drawn correctly in interstellar space.
  • Additional guards against out-of-range targets for the player.
  • Sounds now stop playing when starting a new game. (Bug #18108)
  • [Mac] Growl display support is disabled due to upcoming changes to Growl.
  • Ships with sun skimmer AI in interstellar space no longer cause errors in the log, and AIs can handle the situation by responding to NO_SUN_FOUND.
  • "sunskim-trader" added to default pirate victim roles.
  • interstellar_undocking now works when in interstellar space 0 LY from a system.
  • HUD changes are now deferred, so changing HUDs during HUD drawing is safe.
  • The debugging function callObjC() has been disabled.

New in Oolite 1.75.2 Beta (May 9, 2011)

  • Less crash-prone, more efficient and supports far more expansion packs, so it is strongly recommended.

New in Oolite 1.73.4 (Sep 24, 2009)

  • Fixed nova mission.
  • Fixed missing planet name in Constrictor Hunt mission.
  • Fixed bug where subentities of sold ships could come back to haunt your log.
  • When buying a ship which does not specify a HUD, the default HUD is now used
  • immediately.
  • Scooping can no longer overfill your cargo bay.
  • Fixed some cosmetic issues with equipment list UIs.
  • removeEquipment scripting method now works with damaged equipment.
  • awardEquipment scripting method now works with EQ_REMOVE_MISSILES.
  • Fixed spurious OXP verifier warning about display_name key.
  • Hyperspeed is now turned off when dying.
  • [Windows] Installer now uninstalls old versions correctly.
  • [Mac] Fixed an error where random (often very loud) noise could be played
  • through the right channel at the end of long sounds.
  • [Mac] Game now starts in full-screen mode if it was in full-screen mode when
  • last quit.
  • [Non-Mac] Fixed a problem with mouse control.
  • [Non-Mac] Added option to suppress splash screen, which forces the game to run
  • with software rendering on some systems.

New in Oolite 1.73.3 (Sep 24, 2009)

  • Fixed failure on startup when two OXPs define the same equipment.
  • Partial fix for bug where the system data screen showed a planet in systems
  • that had gone nova.
  • Fixed AI habit of trying to steal cargo right out of other ships' scoops,
  • with hilarious results.
  • [Mac] Docking clearance, the wormhole scanner and targeting of incoming
  • missiles are now enabled.
  • [Mac] Fixed incompatibility with Debug OXP.
  • [Mac] Fixed minor leak in Snow Leopard resulting from the recent crash report
  • enhancement.

New in Oolite 1.73.2 Test (Sep 7, 2009)

  • Fixed incorrect counting of cargo when docked, which partially resulted in misbehaviour of -availableCargoSpace.
  • Fixed laser purchasing bug.
  • Fixed bug whereby after buying an item, the equip ship screen would be refreshed, even if this screen had ceased to be the active one.
  • Various cosmetic and spelling errors fixed (especially 'targetting').
  • Improvements to Mac OS X 10.6 crash reports.
  • Legacy scripts inside CARGO_SCRIPTED_ITEMs now work again. (bug #15454)
  • Fixed bug that allowed players to get rich quickly by selling missiles at start of game and then going to the shipyard screen.
  • [Mac-specific] Missing file traderInterceptAI.plist is now included.