Oolite test release 1.72

News and discussion of the PC port of Oolite.

Moderators: winston, another_commander

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.

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 6:07 pm, edited 3 times in total.
User avatar
Svengali
Commander
Commander
Posts: 2370
Joined: Sat Oct 20, 2007 2:52 pm

Post by Svengali »

Damn!! What a list. So it's time for some rock'n'roll!

Thanks a lot - dear dev-team :-)
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
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

I bow to the gods that are the Dev. Team. 8)
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

...

Post by Lestradae »

Awesome! Respect to the developers team!

And already the first nagging questions:

1. Has the issue been dealt with, that not only equipment items, but also ships themselves are sorted by differently from system defined TL in the shipyards?

2. I have the got both energy units issue - what will happen to my game when I load it with 1.72? Will one of the two disappear? Will there be a problem?

And thanks for the Realistic Shipyards tweak concerning shipdata/shipyard disparities. The 1.72 release comes at a very practical moment for me - the successor of Realistic Shipyards will, with the help of the shipyard-override.plist probably no longer generate a disparity. I hope.

:D :D :D

L
User avatar
TGHC
---- E L I T E ----
---- E L I T E ----
Posts: 2157
Joined: Mon Jan 31, 2005 4:16 pm
Location: Berkshire, UK

Post by TGHC »

Rapturous applause.

Heartfelt thanks to all the devs

Oh yeah and a little bit of that to all the OXP writers too
The Grey Haired Commander has spoken!
OK so I'm a PC user - "you know whats scary? Out of billions of sperm I was the fastest"
barabis
Above Average
Above Average
Posts: 20
Joined: Tue Mar 29, 2005 12:09 pm

Post by barabis »

I am getting the following error when i try to start oolite 1.72

2008-11-03 09:28:45.152 oolite[4844] File NSUserDefaults.m: 626. In [NSUserDefaults +standardUserDefaults] Improper installation: No language locale found


This is on a 32 bit vista installation.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

It's a harmless warning. The game runs regardless, correct?
barabis
Above Average
Above Average
Posts: 20
Joined: Tue Mar 29, 2005 12:09 pm

Post by barabis »

hi thanks for the quick reply. No it doesnt, it quickly opens the oolite window then almost instantly closes it. I was running the stable release no problem. Just to confirm, is the 1.72 a standalone install? Or does is update a previous release?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

If you downloaded the 20 Meg exe file, then it is stand-alone. Do NOT install this over a previous installation of the game. First uninstall the previous one, then install this. In theory, you should have a file called Latest.log inside [Oolite Install Dir]\oolite.app\Logs. Please post its contents.

Also, please post your exact system specs, if possible.
barabis
Above Average
Above Average
Posts: 20
Joined: Tue Mar 29, 2005 12:09 pm

Post by barabis »

I did uninstall previous version but decided to start again so I have now done a new installation of 1.72 and all is good. The logs folder and GNU folders were missing from my previous 1.72 install I now realise with this workin install tho!

I don't know whether this is relevant or not but my previous install was on D:/Program Files/oolite but the current working install is D:/oolite. The "D" drive being a partition on my main drive.

Anyway thanks very much for your help :)
barabis
Above Average
Above Average
Posts: 20
Joined: Tue Mar 29, 2005 12:09 pm

Post by barabis »

quick update, tried again to install to D:/program files/oolite and again the folders are missing
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Vista will write program generated files in a different, system folder (Vista security, yay!). No idea why your game does not want to run from D:\Program Files\Oolite. I just made a test installation on this very same path and all went well. I'm on XP, though.
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2882
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Wow this is FAST!!!

Been playtesting 1.72 near a RH space bar. Even with a load of pirates and about 20 hunters in a pitched battle, it was still clipping along at a (for my system) very respectable 40 fps. The stuttering during flight seems to have almost gone. Gotta find me a player ship with turrets now to test that out! Might finally be time to trade in my trusty Imperial Courier.

BTW my laptop is Vista, but I used the full install rather than the updater. It installed to the path I told it to.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Two details that have not been metnioned before:
1. As of v1.72, we have upgraded the Windows port to run under gnustep 1.15.3. This alone has resulted in a significant performance boost. This is why you get 40fps with heavy action going on, LB.

2. The game will try to set vertical sync to on during startup. If your card/drivers support this, then your framerate will be synchronized with the refresh rate of your monitor. This gets rid of tearing effects, which were sometimes visible on previous versions, resulting in smoother animation overall.

Hope you enjoy it. ;-)
Post Reply