Oolite test release 1.72

Discussion and announcements regarding the Mac port… er, original version of Oolite.

Moderators: winston, another_commander

Locked
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Oolite test release 1.72

Post by JensAyton »

Oolite test release 1.72 – What, It’s Autumn Already? Edition is now available from GURPO. This release adds numerous new features, especially on the scripting side, just not the ones we were expecting to add. The updater can be applied to 1.65 and the test release series up to and including 1.71 (specifically, versions 1.65, 1.67, 1.67.1, 1.68, 1.69, 1.69b, 1.69.1, 1.69.1.1, 1.69.1.2, 1.70, 1.71, 1.71.1 and 1.71.2).

Changes since Oolite 1.71.2:
  • New "ship registry" handles ship types and ship roles more robustly and efficiently. Benefits include less stutter when generating ships (especially traders and pirates) and various shipdata.plist errors being reported up front (when rebuilding cache). Also adds new shipdata-overrides.plist and shipyard-override.plist, which can be used to selectively override certain properties of ships without redefining them completely. Overrides are silently ignored for ships that don't have a "primary" shipdata.plist/shipyard.plist entry.
  • New equipment type handling. This is less far-reaching than the ship registry, and isn't used everywhere, but it's exposed to JavaScript as EquipmentInfo objects (see EliteWiki for documentation).
  • Missiles no longer collide with parent on launch.
  • Disarmed missiles now stay disarmed when cycling through targets with Target System Memory Expansion.
  • Workaround for key conflict in old BBC key config files: if both roll and yaw are assigned to ,/. keys, yaw is disabled.
  • Fix for NPCs becoming offenders when counterattacking player.
  • Only one energy unit is allowed at a time. Thargoid Plans mission script now reflects this.
  • Approaching non-main planets (including the sun) no longer points compass at main station.
  • Player ship turrets now work.
  • Escort turrets now work.
  • Carriers can now control their launched defenders.
  • Miniature planets from F7 screen no longer float around invisibly mass-locking you.
  • (Non-Mac) Fix failure to launch when cache is corrupt.
  • Fixed rounding behaviour of some currency displays.
  • Suppressed pointless "Cannot iterate into directory" messages.
  • (Non-Mac) Support for joysticks with up to 16 axes and 64 buttons. If you need more than 16 axes, I shall require photo evidence.
  • More (all?) sound goes through customsounds.plist.
  • (Non-Mac) SDL sound code rewritten to be more like Mac code. Most noticeable effect is that more than one instance of a sound can be played at once. As a result, afterburner2.ogg is no longer needed.
  • (Non-Mac) Logs are now written to ~/.Oolite/Logs/under Linux and <app directory>\Oolite\Logs\ under Windows. (Oh yes, I intended to change it to GNUstep default locations. Oh well.) OXP verifier logs also end up there, named by OXP.
  • (Mac only) Updated Smart Crash Reports to 1.5 for Leopard compatibility.
  • Similarly, showShipModel: no longer generates escorts.
  • More stuff made localizable.
  • New is_template shipdata.plist property. Set this to yes/<true/> for ships which are only used through like_ships and are not intended to be used directly. If your (otherwise working) OXP generates warnings about ships with no roles or model attribute, you probably need this.
  • New is_submunition shipdata.plist property for cluster weapons. Missiles with this property inherit their launcher's current target.
  • New shipdata.plist key hyperspace_motor_spin_time to modify jump countdown time.
  • New planetinfo.plist keys star_count_multiplier and nebula_count_multiplier. (Can be used in universal section to modify overall star and nebula density.)
  • Putting planets in interstellar space no longer breaks the game.
  • Failure to set up a station is now handled somewhat more gracefully, with useful diagnostic log messages.
  • Added commsMessageByUnpiloted: for AIs and legacy scripts.
  • switchLightsOn/Off now applies to subentities.
  • Fixed some spurious errors in OXP verifier.
  • Condition flags for equipment are now enforced when adding items directly, not only when shopping. More condition flags are now available. The full list is: available_to_all, requires_empty_pylon, requires_mounted_pylon, requires_clean, requires_not_clean, portable_between_ships, requires_free_passenger_berth, requires_full_fuel, requires_non_full_fuel. Other types of condition are: requires_cargo_space, requires_equipment, requires_any_equipment, incompatible_with_equipment. Legacy script conditions can also be used (only apply to player).
  • New HUD plist key reticle_target_sensitive makes target selection box go red when active target is in position (requires Scanner Targeting Enhancement). Also exposed to JS as player.ship.reticleTargetSensitive.
  • Fix for the occasional 15-20 seconds slowdowns experienced during gameplay.
  • Some AI tweaks from Eric, and general cleanup of AI formatting.
  • Docking clearance support, see https://bb.oolite.space/viewtopic.php?t=5060.
  • Oolite now builds for Irix, but (last I heard) doesn't run due to threading issues in GNUstep.
  • New shader uniform types randomFloat, randomUnitVector, randomVectorSpatial, randomVectorRadial and randomQuaternion (which supports asMatrix option, default is true).
  • Various changes for 64-bit compatibility under OS X and Linux. This release is not 64-bit, though.
  • Oolite can now correctly count CPUs under Linux, not that this makes much difference.
  • New web site at oolite.org. (Hey, it's in the subversion log.)
  • Spot the graphical tweaks!
JavaScript changes:
  • Potential crashing bugs throughout JS code fixed (exceptions weren't being handled properly). Also added more and better JS error checking.
  • missionVariables object no longer treats strings starting with digits but containing letters as numbers.
  • AI sendScriptMessage: can now pass parameters. The AI statement "sendScriptMessage: foo bar baz" is equivalent to the JS ship.script.foo(["bar", "baz"]). Note that the parameters are passed as an array of words.
  • Debug console now allows definitions to be split over several lines; for instance, you can type "this.test = function() {" on one line and "return 3: }" on the next. Enter an empty line to cancel multi-line input. Lines which are considered "incomplete" are echoed with a _ prefix instead of >. (Mac-only: the integrated console also supports multi-line input using option-return, as it always has.)
  • New global function randomInhabitantsDescription(plural : Boolean) : String.
  • Entity.call() is now only available when debug OXP is active.
  • Entity.isValid now works for invalid entities.
  • New Ship properties and methods: desiredSpeed, cargoSpaceUsed, availableCargoSpace, passengerCount, passengerCapacity, remove().
  • Renamed Ship properties: maxCargo -> cargoCapacity, shipDescription -> name, shipDisplayName -> displayName.
  • player split into player and player.ship. All Entity/Ship methods now live in player.ship. There are compatibility accessors in player, which will be removed in future (and generate warnings).
  • New Player properties and methods: contractReputation, passengerReputation, increaseContractReputation(), decreaseContractReputation(), increasePassengerReputation(), decreasePassengerReputation(), reticleTargetSensitive, rank, legalStatus, forwardShield, aftShield, maxForwardShield, maxAftShield, forwardShieldRechargeRate, aftShieldRechargeRate.
  • player.orientation is now right way around.
  • New System properties and methods: info and infoForSystem(), equivalent to legact setPlanetInfo: and setSpecificPlanetInfo:. For example, system.info["foo"] = "bar" is equivalent to "setPlanetInfo: foo bar". Currently, values can only be written, not read. Also countShipsWithPrimaryRole(), pseudoRandomNumber, pseudoRandom100, pseudoRandom256.
  • system.setSunNova() deprecated in favour of system.sun.goNova().
  • Better error messages for legacy_addShip*() family.
  • system properties now make some sort of sense in interstellar space.
  • Vector renamed to Vector3D.
  • Ability to pass several numbers instead of a vector or quaternion is deprecated. Use an array or Vector3D instead. (For instance, instead of ship.position.add(100, 0, 0) use ship.position.add([100, 0, 0]).)
  • New script events: playerBoughtEquipment(equipmentKey), equipmentDamaged(eqipmentKey), equipmentDestroyed(equipmentKey).
  • New events for approaching and leaving planets: shipEnteredPlanetaryVicinity(planet)/shipExitedPlanetaryVicinity(planet) for JS, CLOSE_TO_PLANET/AWAY_FROM_PLANET for AIs. (Actually, I'm not clear on how CLOSE_TO_PLANET differs from AEGIS_CLOSE_TO_PLANET. If none, suggest removing CLOSE_TO_PLANET. Kaks?)
  • shipLaunchedEscapePod() is now triggered slightly earlier, before resetting legal status and trumbles.
NOTE: one warning generated by the ship registry is disabled by default for the benefit of the Realistic Shipyards OXP, namely the warning when a shipyard.plist entry does not correspond to a shipdata.plist entry. This warning will be enabled by default in 1.73. To enable it, change shipData.load.shipyard.unknown to yes in logcontrol.plist.
Last edited by JensAyton on Fri Dec 12, 2008 2:30 pm, edited 5 times in total.
User avatar
FSOneblin
---- E L I T E ----
---- E L I T E ----
Posts: 460
Joined: Tue Oct 30, 2007 12:15 am
Location: Yes, That is True

Post by FSOneblin »

:D :D :D :D :D :D I'm so happy! How do I access the universal planetinfo.plst? (For manual docking clearance)

FSOneblin

Edit: What happened to this? Jerk!
http://oolite.org/images/gallery/full-of-stars.jpg
Don't panic

Now an "adult!"
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

another_commander pointed out a couple of things that got lost in the svn logs:
  • Fix for tharglet AI. Thargons do not open fire against their motherships anymore.
  • Fix for trader ships launching straight to the nav buoys.
User avatar
Rimbaud
Dangerous
Dangerous
Posts: 86
Joined: Fri Dec 23, 2005 7:32 pm
Location: London
Contact:

Post by Rimbaud »

AWESOME! Well done guys.
User avatar
nijineko
---- E L I T E ----
---- E L I T E ----
Posts: 353
Joined: Wed Jul 04, 2007 3:37 pm
Location: two strange quarks short of a graviton....
Contact:

Post by nijineko »

wow. supremely impressive. ^^
arukibito ga michi wo erabu no ka, michi ga arukibito wo erabu no deshou ka?

Image
Play games. Win Amazon gift cards! Brag. Repeat.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Looks good! Can't wait to test it out! :D

(And then back to my OXP-development-desk, and make everything 1.72-ready. Which means some work for me :sigh: and at least a new release for Anarchies probably quite soon :) .)
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

What about Debug.oxp? Is it safe to raise its max_version to 1.72? Or is there a new version upcoming?
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Sorry for triple post, I just want to make sure nothing gets overlooked.

Question: Is the split of the player property into player and player.ship already documented in the wiki? If not, it would be extremely helpful in order to revise old scripts. And I don't seem to see it.
User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1760
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

Yay! :D

Congratulations!
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Commander McLane wrote:
Sorry for triple post, I just want to make sure nothing gets overlooked.

Question: Is the split of the player property into player and player.ship already documented in the wiki? If not, it would be extremely helpful in order to revise old scripts. And I don't seem to see it.
It's at least mentioned in the "progress thread".

Great this new release. I can't wait to see it in action.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Due to a wee smidgen of a snafu, docking clearance support is not enabled in 1.72 for Mac OS X. This will be remedied in the now-traditional bug fix release within a week or two.
ovvldc
---- E L I T E ----
---- E L I T E ----
Posts: 344
Joined: Sat Apr 02, 2005 9:32 am
Location: Netherlands

Post by ovvldc »

Sweet 8)
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

There’s another little Mac-specific bug in 1.72 where it consistently crashes the fourth time it tries to play breakpattern.ogg, the sound associated with the tunnel effect. (You’d think someone would notice…)

The workaround is to copy a shorter Ogg Vorbis file into your AddOns directory and name it breakpattern.ogg – for instance, this one.
User avatar
goran
---- E L I T E ----
---- E L I T E ----
Posts: 294
Joined: Sat Feb 23, 2008 12:32 am
Location: Zagreb, Croatia
Contact:

Post by goran »

Ahruman wrote:
There’s another little Mac-specific bug in 1.72 where it consistently crashes the fourth time it tries to play breakpattern.ogg, the sound associated with the tunnel effect. (You’d think someone would notice…)

The workaround is to copy a shorter Ogg Vorbis file into your AddOns directory and name it breakpattern.ogg – for instance, this one.
Been playing for hours on 1.72 and no crash. Sound or no sound related. SVN however crashes when trying to dock after hyperspace. So that's 3rd time - 1. launch, 2. hyper, 3. CRASH when shift-d pressed near the station.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Huh. There I go not testing things again. I can’t find any relevant changes since before the release, though. Software’s weird stuff.

Edit: Anywho, fixed in trunk and 1.72-maintenance.
Locked