Oolite test release 1.70 - Role Another Number for the Road Edition is now available from GURPO. This release focuses primarily on scripting features. The updater can be applied to 1.65 and the test release series up to 1.69.1.2 (specifically, version 1.65, 1.67, 1.67.1, 1.68, 1.69, 1.69b, 1.69.1, 1.69.1.1 and 1.69.1.2). Seriously, people, the updater is a lot of work to put together, and it’s about the most reliable part of this thing. Use it. :-)
Changes since Oolite 1.69.1.2:
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.
Fixed bug where cancelling the Open Game dialog caused broken behaviour (Mac OS X only; bug #11691).
Updated scripting documentation and the debug OXP will be rolled out during the week.
Last edited by JensAyton on Sun Apr 20, 2008 4:30 pm, edited 4 times in total.
Oh, I almost forgot… there’s now a -verify-oxp <path> command-line option. In order to use it under Mac OS X:
Open Terminal (in Utilities in the Applications folder)
Drag Oolite to the terminal window. The path to it should appear, followed by a space.
Delete the trailing space, then type “Contents/MacOS/Oolite -verify-oxp ”
Drag your OXP to the terminal window.
Click in the terminal window, and press return.
The command built in this way should be something like “/Applications/Oolite\ 1.70/Oolite.app/Contents/MacOS/Oolite -verify-oxp /Users/yourname/Library/Application\ Support/Oolite/AddOns/yourOXP.oxp”, and will cause Oolite to run for a few seconds and print out diagnostic information about your OXP. It performs a variety of different checks, and currently doesn’t perform an even greater variety.
Unfortunately my MacBook Pro's display currently doesn't work! So I effectively can only use my computer when I connect it to a quite worn-out, old 800x600-monitor at work, which is a serious obstacle for any playing and testing!
It should be noted that another_commander implemented several of these features.
As pointed out in the Windows announcement thread, the OXP verfier disables printing of log message classes, and fails to reenable them when it’s done. This can be fixed with the following terminal command:
Absolutely huge amounts of thanks to Ahruman and Another_commander for all their dedication and hard work in both finding and removing bugs, and for their continued development of the game to allow greater control and flexibility of various game elements!
Thanks guys, your work is hugely appreciated. (where do you want the Xmas hamper delivered to...??? )