The Oolite Extended Project - Fork, no oxp

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Hmm. I'm having trouble with these hardpirates. They crash my vista64 Oolite.

When I comment them (and their navy counterparts) out in the js, everything is fine.

When I add multiple hardpirates, it's crashing very soon.

Thus I did make a debug build and then run in gdb on my xp32 development environment....but it did not crash there for over one hour. Just when I tried to quit oolite it crashed :? bt however doesn't reveal anything useful.

Please, if someone with a debug environment out there has some time, give it a try: copy the hardpirate lines 20-30 times (as a simple measure to add more of them) and probably 5-10 of the navy...and then run oolite from gdb, launch and simply let the ship fly somewhere (probably cloaked so you won't have to do anything). If it crashes, look at the backtrace (the oolite log most probably won't give any hints).

Screet
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 »

Screet wrote:
Looking at the equipment.plist, it's pretty clear: It's missing the "requires" part for the misjump analyzer in order to show the sell option!
D'uh. D'UH!!!

Must not drink caffeine at the moment due to upset stomach -> Have to stay at home and cure myself due to upset stomach -> Working on OSE as bored otherwise atm -> Need for caffeine arises -> Must not drink caffeine at the moment due to upset stomach -> Image

Repaired that. Thanks, Screet. Btw, at repairing the Caduceus issue right now. Maybe I solved it. Will report back in half an hour or so.
matthewfarmery
Dangerous
Dangerous
Posts: 100
Joined: Sat Oct 10, 2009 7:19 pm

Post by matthewfarmery »

I think my bug hunting skills are paying off, did say I was good, not good at dealing with code, but do have a knack at finding bugs :D
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 »

Yup. I will soon hand out another test version here, one not nicely packaged but as I work on it - just so that the new bigs found are not overlooked by old bugs already squashed over here.

Though running into the strangest logical puzzle with the Caduceus here ... now have an absolutely identical version as in the newest original oxp version in OSE, no double entries too etc., but with the original oxp I can sell Screet's savegame C for money and with OSE it is worth 0 Cr.

No idea why.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Post by Cody »

You need green tea, Lestradae. Sharpens the mind, but relaxes the body.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Re: ...

Post by Screet »

Lestradae wrote:
Yup. I will soon hand out another test version here, one not nicely packaged but as I work on it - just so that the new bigs found are not overlooked by old bugs already squashed over here.
Did you already include the updates OreProcessor? It requires updating the shipdata file...

Aside from that, the really strange thing is that oolite complains that there is no shipyard entry for the caduceus in OSE, however OSE has two such entries, one in shipyard and one in shipyard-overrides...and it does also not help to delete one of those files.

My thought was that there might be a bug somewhere BEFORE the caduceus omega in the shipyard file, so that it's not read. However, then there should be a log entry about a faulty file and I do not get such one.

However, I then had the idea to move the omega to the top of the shipyard files - and voila: suddenly it's recognized!

Thus, there MUST be a bug in both shipyard and shipyard-overrides which prevents oolite from reading the ships but which is NOT logged!

EDIT: I see TWO /dict at the end of the file where I would expect only one...but removing the second one then does cause an error report. Could it be that somewhere far above there's an entry which opens a dict but does not close it, thus making all further ships unreadable without leading to a logged error?

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

Re: ..

Post by Eric Walch »

Screet wrote:
From another similar script I once got the report that ID could not be assigned to ship.target and browsing through other OXPs concluded that it should simply be who, not who.ID. However, that also only does work on some occasions :?

Screet
Or simply update to version 2.5 of that behemoth.oxp. I already announced that oxp at november 2008 in the behemoth topic.
I only can repeat that players are better of when downloading the individual oxps. That way they always know they are using the newest versions.
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 »

Screet, you're positively brilliant and must have found it.

OK. Now we have to find a rogue <dict> too much further up the stream. At least we know what we are looking for.

I will upload the newest OSE version I have now. It's V0.70.09. The rogue <dict> and the ore processor issue are unresolved as of yet, and my Misjump Analyser seems to have stopped working, too :(

I'll upload, note these three bugs and then call it a day.

Thanks for you invaluable help, gentlemen, including the green tea suggestion, will do so.

Good n8

L

PS: Eric, I believed I already included that newest version - but on second look found out that I must have used the other, older version also on that wiki page. So no upload today - will look into these issues come next week and hopefully find solutions.
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Re: ..

Post by Screet »

GOTCHA!!!

bugs in shipyard files (both):

1)<key>oohauler-player</key>
This one does not have a dict for extra equipment. Seems that this stops everything already.

2)<key>viper-pursuit-player</key>
This one does not close it's ship dict!

3) the Lestradae3 condor (already removed, thus can't give it's exact name)

4) [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "mango-ururoa-pirate-player" does not have a corresponding shipdata.plist entry, ignoring.

5) [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "taniwa1-player" does not have a corresponding shipdata.plist entry, ignoring.

6) [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "taniwa2-player" does not have a corresponding shipdata.plist entry, ignoring.

...and that should be it. Even with the omega as last entry, I now get a price and can buy/repair ECM ;)

Screet
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 »

Hehee ... so much for sleep. Couldn't anyways.

Very cool, Screet. I'll repair the stuff first thing when I find time again (tomorrow, I'll have to work again :( )

Cheers :D

L
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Confirmed: The crashes which I did experience with OSE adding hardpirates were from the timers. The workaround is to disable Data Execution Prevention (for Oolite) in Windows.

I can now happily fly with several times the normal OSE load of ships!

Since it's only two scripts in OSE which make this unsafe timer use (unless I missed something, but I'm really sure that's it), it should be possible to fix them in order to prevent problems in the future.

One is the behemoth ship script and the other is that from the buzzer.

Screet
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 »

Oolite Shipyards Extension V0.7 is ready for download & testing.

Changes since V0.69 include:

Buggy behaviours fixed:
* Repaired nukeSubMunition.js, line 16.
* Fixed a double typo for buzzer-base shipdata entry
* Added a "traderAI" for the Griffin2
* Removed an OSE-deprecated player Condor version
* Applied Ramirez' suggested fixes to OSE's law and override missiles
* Removed yet another potential NEU bug from OSE equipment.plist
* Altered a potentially buggy line in the fuel collector script according to suggestions of Cmd. Cheyd & Kaks
* Exchanged an old behemoth java script with the new one created by Eric
* Fixed a bug by creating a shuttleAI for the Lambda Shuttle
* Repaired a bug concerning OSE's player escorts that allowed them being offered again after they were already hired
* Fixed a bug-creating typo in OSEhiredGuns_escort.js
* Removed the option to sell the Large Cargo Bay
* Upgraded aegidian's Asp Mk II Special with Kaks' new model and texture
* Applied Screet's stack overflow fixed to the law missile and override scripts and another fix to the fuel collector script
* Removed doubled Eric's Harpoon Torpedoes, now only new versions available
* Upgraded the OSE-merged neocaduceus oxp to version 11-10-2009
* Corrected a stupid infinite-money cheat bug when selling the Misjump Analyser
* Big shipyard bug found by Screet that made some ships appear as "0 Cr" and selling of equipment impossible repaired

Additional materials included:
* Included the griff_python_normalmapped ship
* Included Griff's Coriolis (now Griff's normalmapped ship's oxp is completely merged)
* Updated the Ore Processor to the newest version available on 11-10-2009
* Included the following eight oxps (which contain the last two equipment oxps not merged - dredgers and planetfall - and the oxps they are dependent upon): Dredgers 2.2.5, Oo-Haul, PlanetFall 1.23, PlanetFall Link - Black Monks 1.0, PlanetFall Mission - Oo-Haul 1.0.0, Planetfall Mission - Taxi 1.0.1, PlanetFall Link - hOopy Casino 1.0 & Shady_blackmonks
* Updated the Orisis oxp to version 1.2

New features:
* Added the special OSE equipment to the repair options of the repair bots script
* Changed the SIRFYards half-docked "repaired ships" into Griff and Simon versions
* Landing on planets
* Salvage wrecked ships
* Replaced the older version with Screet's more agressive take on the pirateCoveAI

Miscallenous:
* Took out the wreck-creation for Dredgers 2.2.2 as Oolite 1.73+ does that on its own
* Partially replaced the legacy OSE-XML.plist script with pmw57's OSE.js java script translation
* Did a missiles rework - specific missiles-per-ship are used much more sparingly

There follows a list of new oxps that were merged into OSE since V0.69. I am quite sorry to say that these oxps are incompatible with OSE and it is an either-or decision: Either you use the original oxps without OSE or OSE without these oxps. I want to add that there is no 'ideological' reason for that but simply the technical fact that the old "overwrite" strategy of the XML/OpenStep past no longer works with java scripts as far as I know/have experienced - so sadly, what I originally had in mind (total combinability) won't work :(

Dredgers 2.2.2, Oo-Haul, PlanetFall 1.23, PlanetFall Link - Black Monks 1.0, PlanetFall Link - hOopy Casino 1.0, PlanetFall Mission - Oo-Haul 1.0.0, Planetfall Mission - Taxi 1.0.1 & shady_black_monks

New OSE WiP V0.7 download:

Oolite version "1.73.4" is nescessary for playtesting this WiP, it simply won't run correctly with any lower versions!

Oolite Shipyards Extension WiP V0.7: http://www.box.net/shared/static/306vnoxkt8.zip
(The actual Test WiP - warning, download size is ~ 383 MB)
Open the folder. Put all three oxps inside into your AddOns folder together. They are three oxps because they are parcelled into pieces I am working upon. Together, they form the OSE WiP meta-oxp.

Hope to get the sort of feedback I am asking for, it is of interest to anyone who likes this meta-oxp and wants to play a finished version one day that I do.

Cheers

L

PS: IMPORTANT INFO FOR WINDOWS USERS (NOT ONLY OSE USERS, THIS IS A GENERAL VISTA PROBLEM!):

Computer>Properties> new window called
System Properties
Advanced>Performance settings>new window called
Performance Options
data execution prevention

tick oolite.exe

No other oolite files need to be ticked.

... DO THE ABOVE TO PREVENT REGULAR CRASHES DUE TO WINDOWS 'SECURITY FEATURES' :evil:
Last edited by Lestradae on Mon Oct 12, 2009 10:19 am, edited 1 time in total.
matthewfarmery
Dangerous
Dangerous
Posts: 100
Joined: Sat Oct 10, 2009 7:19 pm

Post by matthewfarmery »

downloading and will test it out,
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

matthewfarmery wrote:
downloading and will test it out,
IMPORTANT:
If you are using Windows, please ensure that Data Execution Prevention is turned OFF for Oolite (or in general).

This is not an issue of OSE, but of several OXPs - it can arise with all shipscripts that use timers.

Screet
pmw57
---- E L I T E ----
---- E L I T E ----
Posts: 389
Joined: Sat Sep 26, 2009 2:14 pm
Location: Christchurch, New Zealand

Post by pmw57 »

Screet wrote:
matthewfarmery wrote:
downloading and will test it out,
IMPORTANT:
If you are using Windows, please ensure that Data Execution Prevention is turned OFF for Oolite (or in general).

This is not an issue of OSE, but of several OXPs - it can arise with all shipscripts that use timers.

Screet[/b]
Dur... is that a Control panel setting, or in the BIOS?
A trumble a day keeps the doctor away, and the tax man;
even the Grim Reaper keeps his distance.
-- Paul Wilkins
Post Reply