I’d like to point out that the -verify-oxp command-line option catches some of the issues Commander McLane mentioned (after the plist is fixed), and some he missed:
Running OXP verifier for /Users/jayton/Downloads/Amen Bricks Megaships.oxp
Scanning files
NOTE: skipping junk file Images/Thumbs.db.
WARNING: apparent Read Me file ("Read Me.txt") inside OXP. This is the wrong place for a Read Me file, because it will not be read.
NOTE: skipping junk file Textures/Thumbs.db.
Checking shipdata.plist
Ship "abBattleship":
WARNING: key "max_missiles" does not apply to this category of ship.
WARNING: unknown key " has_energy_bomb ".
ERROR: case mismatch: request for file "Models/abBattleship.dat" referenced in entry "abBattleship" of shipdata.plist resolved to "Models/abbattleship.dat".
Ship "abBattleshipPirate":
WARNING: key "max_missiles" does not apply to this category of ship.
WARNING: unknown key " has_energy_bomb ".
ERROR: case mismatch: request for file "Models/abBattleshipPirate.dat" referenced in entry "abBattleshipPirate" of shipdata.plist resolved to "Models/abbattleshippirate.dat".
Ship "abBattleshipPolice":
WARNING: key "max_missiles" does not apply to this category of ship.
WARNING: unknown key " has_energy_bomb ".
WARNING: unknown key "isCarrier".
ERROR: case mismatch: request for file "Models/ABBattleshipPolice.dat" referenced in entry "abBattleshipPolice" of shipdata.plist resolved to "Models/abbattleshippolice.dat".
Ship "abHospital":
WARNING: key "max_missiles" does not apply to this category of ship.
ERROR: case mismatch: request for file "Models/ABhospital.dat" referenced in entry "abHospital" of shipdata.plist resolved to "Models/abhospital.dat".
Ship "abYacht":
WARNING: key "max_missiles" does not apply to this category of ship.
ERROR: case mismatch: request for file "Models/abYacht.dat" referenced in entry "abYacht" of shipdata.plist resolved to "Models/abyacht.dat".
ERROR: case mismatch: request for file "Models/Biodome.dat" referenced in entry "Biodome" of shipdata.plist resolved to "Models/biodome.dat".
Ship "Cruiseship":
WARNING: key "max_missiles" does not apply to this category of ship.
ERROR: case mismatch: request for file "Models/Cruiseship.dat" referenced in entry "Cruiseship" of shipdata.plist resolved to "Models/cruiseship.dat".
Ship "Supercargo":
WARNING: key "max_missiles" does not apply to this category of ship.
Ship "Superlifter":
WARNING: key "max_missiles" does not apply to this category of ship.
ERROR: case mismatch: request for file "Models/Superlifter.dat" referenced in entry "Superlifter" of shipdata.plist resolved to "Models/superlifter.dat".
Testing models
TODO: implement model verifier.
Checking demoships.plist
Testing textures and images
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Hospitalship.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Hospitalship.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Supercargo.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Supercargo.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Cruiseship.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Cruiseship.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Yacht.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Yacht.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Battleshippirate.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Battleshippirate.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Biodome.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Biodome.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Battleshipnavy.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Battleshipnavy.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Battleshippolice.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Battleshippolice.jpg could not be read.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Superlifter.jpg as a texture - extension "jpg" does not identify a known type.
ERROR: image Images/Superlifter.jpg could not be read.
Checking for unused files
TODO: implement unused files check.
OXP verification complete.
Some notes:
WARNING: key "max_missiles" does not apply to this category of ship. max_missiles is currently ignored for NPCs. I intend to change that at some point, though.
ERROR: case mismatch: request for file "Models/abBattleship.dat" referenced in entry "abBattleship" of shipdata.plist resolved to "Models/abbattleship.dat".
This will break your OXP on Linux.
WARNING: unknown key "isCarrier".
This is a bug in the verifier (now fixed).
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Hospitalship.jpg as a texture
As McLane said, the game uses the Images directory for images used in mission screens. All textures are required to be in PNG format. (Hmm, this message should use a relative path.)
Is there a list anywhere of such debugging tools? This one and the AI messaging one you mentioned in my Drones thread for two examples? Are there any other command line options? (as the wiki doesn't seem to have any info, nor does the readme file).
Also am I right in presuming by command line option you add this into the runoolite.bat file (in the case of the PC version) or at least kick that bat file off from a DOS prompt rather than a windows click, with those options being picked up by the %1-4 in the bat file itself?
Is there a list anywhere of such debugging tools? This one and the AI messaging one you mentioned in my Drones thread for two examples?
Not that I’m aware of. The OXP verifier has been mentioned in release notes and a number of times on the forum. Are there any other command line options? (as the wiki doesn't seem to have any info, nor does the readme file). reportAIMessages is documented, er, in logcontrol.plist. Oh yeah, and in the Javascript reference.
Better documentation is one of those things that I’d like to focus on after the Mythical Next Stable Release, but a wiki page on debugging and testing OXPs would be a good project for someone else. ;-)
Thargoid wrote:
Also am I right in presuming by command line option you add this into the runoolite.bat file (in the case of the PC version) or at least kick that bat file off from a DOS prompt rather than a windows click, with those options being picked up by the %1-4 in the bat file itself?
Yes, I believe that should work. I’m not big on the Windowsy stuff, though.
I’d like to point out that the -verify-oxp command-line option catches some of the issues Commander McLane mentioned (after the plist is fixed), and some he missed:
Hmmm, actually I don't see any I missed (and I do hope that in general my eyes and brain are just as good an OXP-verifying tool as every other ).
WARNING: key "max_missiles" does not apply to this category of ship. max_missiles is currently ignored for NPCs. I intend to change that at some point, though.
Okay, I didn't know for sure (although I had a vague feeling about it) that it is ignored altogether. The wiki isn't clear on that, for instance it fails to mention that it is meant as a player-only property. Anyway, I mentioned the problem.
Can't use /Users/jayton/Downloads/Amen Bricks Megaships.oxp/Images/Hospitalship.jpg as a texture
As McLane said, the game uses the Images directory for images used in mission screens. All textures are required to be in PNG format. (Hmm, this message should use a relative path.)
Just to clarify again: All textures are in the correct .png-format. The files in the Images-folder are not meant to be textures--nor to be used in any other way by the OXP itself. Therefore my suggestion was to delete the folder altogether and save some 800K of disk-space.
The only thing I didn't mention was the presence of "Thumbs.db". I didn't because Windows will always continue to produce and re-produce this file whenever a user re-opens the folder concerned. And the user won't even know. Only we non-Windows people will ever see the file as a file. So I've given up caring about it.
<path to oolite>RunOolite -verify-oxp AddOns/oxpname.oxp
e.g.
RunOolite -verify-oxp AddOns/MyOxp.oxp
Open the console and step to the folder where Oolite is installed (e.g. cd D:\Oolite) and use the command above.
More infos about cmd.exe: http://en.wikipedia.org/wiki/Command_Prompt_(Windows).
PS: The link does not show correctly because of the brackets.
Commander McLane wrote:
The only thing I didn't mention was the presence of "Thumbs.db". I didn't because Windows will always continue to produce and re-produce this file whenever a user re-opens the folder concerned. And the user won't even know. Only we non-Windows people will ever see the file as a file. So I've given up caring about it.
As most things in Windoof it is possible to configure it. This and a lot of other useful things can be found in WINFAQ (www.winfaq.de) and the Registry Settings Wizard (on the same page) - sorry only german version. I've used it to setup my system, because MS tries to hide a lot of useful features.
But be aware that fiddling around with the Registry can mixup your whole system. So you better do it carefully and if you don't know what a entry will cause or change - don't do it.
This OXP is broken on Linux and other OSes with case-sensitive filesystems due to mismatches between the model filenames in shipdata.plist and what's actually in the Models directory: all of the files' names are lower case, but some of the filenames given in shipdata.plist contain upper-case letters.
(I've fixed this locally by editing shipdata.plist.)
Hi, _ds_, and first of all welcome to the boards, and of course to this great game!
The OXP has some other problems as well, and its author is working on it. However, it would be very helpful to post a list of the filenames concerned. Thanks!
The OXP has some other problems as well, and its author is working on it. However, it would be very helpful to post a list of the filenames concerned. Thanks!
[shipData.load.begin]: Loading ship data.
[plist.parse.failed]: Failed to parse /home/.Oolite/AddOns/Amen Bricks Megaships.oxp/Config/shipdata.plist as a property list.
failed to parse as XML property list
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "frame_itsatrap" specifies non-existent model "Wreck1.dat".
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "adck_bhmBallturret" specifies non-existent model "adck_Ballturret.dat".
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "Spiv-Player" specifies non-existent model "Spiv2.dat".
[shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "Spiv-Player" does not have a corresponding shipdata.plist entry, ignoring.
[shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "abYacht-Player" does not have a corresponding shipdata.plist entry, ignoring.
It was noticed in the "[Release] ADCK's Behemoths" thread in October but hasn't been corrected yet: