Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Kirin Sport.oxp

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

Moderators: winston, another_commander

User avatar
ClymAngus
---- E L I T E ----
---- E L I T E ----
Posts: 2508
Joined: Tue Jul 08, 2008 12:31 am
Location: London England
Contact:

Post by ClymAngus »

)h look it's the & problem again. (really got to look at that texture) :D
Right after I've brushed up the dragon. It's looking slinky, might blow up when it hits a fuel tube thought.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Having just now upgraded to 1.74, I find this in my log file:

Code: Select all

[shipData.load.begin]: Loading ship data.
  [plist.parse.failed]: Failed to parse ../AddOns/kirin.oxp/Config/shipdata.plist as a property list.
failed to parse as valid XML matching DTD
  [plist.parse.failed]: Failed to parse ../AddOns/kirin_sport.oxp/Config/shipdata.plist as a property list.
failed to parse as valid XML matching DTD
And a bit further down:

Code: Select all

  [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "kirin-xm-player" does not have a corresponding shipdata.plist entry, ignoring.
  [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "kirin-sport-player" does not have a corresponding shipdata.plist entry, ignoring.
  [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "anaconda-zorgship-player" does not have a corresponding shipdata.plist entry, ignoring.
  [shipData.load.shipyard.unknown]: ----- WARNING: the shipyard.plist entry "kirin-cv-player" does not have a corresponding shipdata.plist entry, ignoring.
The commander I have saved flying a Kirin Sport now shows up with a big fat question mark*.

Is it safe to assume these things are somehow related?
Is it safe to assume this means the different Kirins are not 1.74 compatible?
Is it safe to assume some OXP wizard will materialize within the next 23 minutes with a one-line code fix to the problem?



*It's a beautiful question mark though: Griff's shaderified version.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Post by Smivs »

It looks like the shipdata.plist isn't parsing (sort of checking as correct) and therefore all references to it are invalid.
The DTD is the bit of code at the top of an XML document telling what type of document it is (DTD = Document Type Declaration), so it sounds like the error might be there.
It probably looks like this

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
You could try removing this from the shipdata.plist to see if that helps. Keep a copy in case you need to go back.
Commander Smivs, the friendliest Gourd this side of Riedquat.
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 »

The first part means that there is some fatal syntax error in the shipdata.plists of both kirin.oxp and kirin_sport.oxp that prevents the whole plist from being read by Oolite. Usually this happens if there is a wrong or missing closing bracket, for instance.

The second part comes as no surprise, then. As from Oolite's point of view no shipdata.plist of either OXP exists at all, it's no wonder that Oolite can't find single entries in these non-existing plists.

I just downloaded the current versions of both OXPs. There is no problem in the shipdata.plist of Kirin.oxp on my system, so this one should not give any errors.

The shipdata.plist of Kirin_sport.oxp however contains the following lines (lines 314-315):

Code: Select all

				<key>view_description</key>
				<string>Hold_&_Lower_T</string>
It's not—as I thought—a problem of a missing bracket, but the ampersand-character ("&"). It's illegal to use in XML and has to be masked as "&". So the correct line would be

Code: Select all

				<key>view_description</key>
				<string>Hold_&_Lower_T</string>
You can make this correction yourself, but the OXP-author should be notified as well.

By the way: Kirin.oxp contains the same "Hold & Lower_T" view_description twice, and has the correct masking in both places. Perhaps you are using an older version which still has the same error?

EDIT: And please completely ignore Smivs' advice (no offense meant). A faulty plist doesn't get better if you remove the definition which makes it into a plist. That would be similar to the attempt to remove typos in a business letter by cutting away the letter head. Doesn't make much sense.
Last edited by Commander McLane on Sun Oct 17, 2010 9:36 pm, edited 2 times in total.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Nope. No help. It changed the error message though, so I think you're on the right track:

Code: Select all

  [plist.parse.failed]: Failed to parse ../AddOns/kirin.oxp/Config/shipdata.plist as a property list.
failed to parse as valid XML matching DTD
  [plist.parse.failed]: Failed to parse ../AddOns/kirin_sport.oxp/Config/shipdata.plist as a property list.
Parse failed at line 1 (char 2) - unexpected character (wanted '>')
Note the new error message for the Sport, which was the one I altered.

So, first Wizard appeared at 72 minutes, but didn't quite get the spells right! :wink:


Edit: Ninja'd by second Wizard. Will test this. brb.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Post by Smivs »

Cmd McLane's advice makes a lot more sense. :D
I mess around with html sometimes and the DTD is sort of optional. Sometimes even complete rubbish runs...without a DTD a browser will sometimes just do its best, and that can be good enough. Clearly this isn't the case here, so just ignore me.
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Commander McLane wrote:
By the way: Kirin.oxp contains the same "Hold & Lower_T" view_description twice, and has the correct masking in both places. Perhaps you are using an older version which still has the same error?
One of the first thing I checked was if there were newer versions, but the dates on the Wiki were from before I even knew Oolite existed. This coupled with the fact that both OXPs worked fine on 1.73 led me to the belief that it was related to the 1.74 switch.

Your fix made the Sport turn up, but with all textures missing.
I've downloaded both OXPs and will see what a fresh install will do.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Okay.
Fresh download of Kirin removes any errors in log.
Fresh download of Sport +McClane fix removes any errors in log.

However, the ship now comes with entertaining textures.
On the load commander screen, it uses a texture from the Red background set; In fact it is the very same texture as is in the background on the load screen.
In flight it's a bit harder to tell, but it looks like it uses a different texture from the Red Set.

Removing the Red Set makes it use textures from the standard Blue backgrounds. Note that different saves use different textures, so it appears there is some random factor here.
In flight it looks identical whether Red Set is loaded or not, but the texture is a patterned red/pink/white thing.

Anyway. My alarm goes off in 6 hours, and I have a long day of playing with fire ahead of me, so no more testing.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
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 »

No problems with the textures here.

Wild guess: the Kirin sport (like the other Kirin models) uses a shader named griff-rocket.fragment. It just may be that a new and different version of this shader can be found in some other OXP you have installed which overwrites the shader in the Kirin OXPs. This could lead to messy results.

Generally it's not a good idea to use a shader named griff-rocket for something that clearly isn't a Griff Rocket. If I would design a ship and use this shader, I would rename it uniquely according to my ship, if I don't want someone else to mess with it afterwards.

However, I am by no means sure that in this particular case this is the problem. Still, the general remark about unique file names and identifiers is valid.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

I said no more testing. I lied. It's now 5 hours until alarm goes off. Oh, well.

Removed everything but Sport from OXP folder.
Textures still missing.
In load screen, ship is all black, just like the background.
In flight, it's still pink. Also, the textures change every few minutes.
One of them has a bit of writing: GC-1001
Below that there is what looks like a red pentagram with a white or yellow circle inside - it's hard to tell since everything has a pinkish hue.

For the record, since it appears it may be a local problem: Win XP, ATI Radeon card.


Edit: Tried the obvious thing and turned off shaders. Textures appear as normal. So something must've happened with the shader code between 73.4 and 74.2, because it was not displaying any oddities before the upgrade.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6570
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

CheeseRedux wrote:
I said no more testing. I lied. It's now 5 hours until alarm goes off. Oh, well.
That's all right, it's what we refer to as "The Oolite Effect". Happens to everyone. It usually ends with the alarm going off while you are still playing/testing/whatever.
Edit: Tried the obvious thing and turned off shaders. Textures appear as normal. So something must've happened with the shader code between 73.4 and 74.2, because it was not displaying any oddities before the upgrade.
Actually, the shader code has been bugfixed between the two versions. Maybe it would be a good idea to post the Latest.log.
User avatar
CheeseRedux
---- E L I T E ----
---- E L I T E ----
Posts: 827
Joined: Fri Oct 02, 2009 6:50 pm

Post by CheeseRedux »

Very well. Long day playing with fire over. Ready for another go.

Launched Oolite with nothing but the Sport in the AddOns folder.
Loaded saved Commander.
Launched from station.
Looked at pretty pink textures.
Crashed into NavBuoy.
Survived.
Took potshot at Viper: I got mad and headed straight for me.
Bad idea.
His buddies made mincemeat of my Sport.
Exited Oolite.
Latest log:

Code: Select all

[log.header]: Opening log for Oolite version 1.74.2 (x86-32 test release) under Windows at 2010-10-18 16:37:21 +0200.
2 processors detected.
Oolite options: procedural planet textures, docking clearance, wormhole scanner, target incoming missiles, spoken messages, JavaScript console support, OXP verifier, localization tools, debug GraphViz support.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

[joystickHandler.init]: Number of joysticks detected: 0
[display.mode.list.native]: Windows native resolution detected: 1280 x 800
[dataCache.rebuild.pathsChanged]: Cache is stale (search paths have changed). Rebuilding from scratch.
[searchPaths.dumpAll]: Unrestricted Mode - Resources paths:
    Resources
    ../AddOns
    ../AddOns/kirin_sport.oxp
[rendering.opengl.version]: OpenGL renderer version: 2.1.7169 ("2.1.7169 Release")
Vendor: ATI Technologies Inc.
Renderer: ATI Mobility Radeon X1400 (Omega 3.8.442)
[rendering.opengl.extensions]: OpenGL extensions (82):
GL_ARB_texture_env_crossbar, GL_ARB_shadow, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_EXT_texture_object, GL_ARB_texture_env_add, GL_ATI_meminfo, GL_EXT_texture_cube_map, GL_EXT_texture_env_dot3, GL_ARB_texture_env_dot3, GL_ARB_shadow_ambient, GL_EXT_framebuffer_object, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_ARB_texture_env_combine, GL_EXT_texgen_reflection, GL_SGIS_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_packed_pixels, GL_SGIS_texture_lod, GL_ARB_depth_texture, GL_ARB_transpose_matrix, GL_ARB_occlusion_query, GL_NV_texgen_reflection, GL_ARB_shading_language_100, GL_EXT_rescale_normal, GL_EXT_gpu_program_parameters, GL_ATI_fragment_shader, GL_ATI_texture_float, GL_ARB_pixel_buffer_object, GL_EXT_secondary_color, GL_ARB_texture_mirrored_repeat, GL_EXT_draw_range_elements, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, WGL_EXT_swap_control, GL_SGIS_generate_mipmap, GL_ARB_texture_rectangle, GL_ARB_point_sprite, GL_EXT_texture_compression_s3tc, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_ARB_vertex_buffer_object, GL_WIN_swap_hint, GL_ARB_shader_objects, GL_EXT_texture_mirror_clamp, GL_ATI_separate_stencil, GL_EXT_texture_rectangle, GL_ARB_fragment_shader, GL_KTX_buffer_region, GL_EXT_texture3D, GL_EXT_fog_coord, GL_EXT_subtexture, GL_ARB_window_pos, GL_EXT_point_parameters, GL_ARB_fragment_program, GL_EXT_texture_env_combine, GL_ARB_vertex_program, GL_EXT_compiled_vertex_array, GL_EXT_bgra, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_draw_buffers, GL_EXT_multi_draw_arrays, GL_ATI_draw_buffers, GL_ARB_texture_compression, GL_AMD_performance_monitor, GL_EXT_blend_func_separate, GL_ATI_texture_env_combine3, GL_ARB_texture_float, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_ATI_texture_compression_3dc, GL_EXT_blend_color, GL_NV_blend_square, GL_ATI_envmap_bumpmap
[rendering.opengl.shader.support]: Shaders are supported.
[rendering.opengl.shader.mode]: Shader mode set to SHADERS_FULL.
[shipData.load.begin]: Loading ship data.
[script.load.world.listAll]: Loaded 5 world scripts:
    oolite-cloaking-device 1.74.2
    oolite-constrictor-hunt 1.74.2
    oolite-nova 1.74.2
    oolite-thargoid-plans 1.74.2
    oolite-trumbles 1.74.2
[loading.complete]: ========== Loading complete. ==========
[script.load.world.listAll]: Loaded 5 world scripts:
    oolite-cloaking-device 1.74.2
    oolite-constrictor-hunt 1.74.2
    oolite-nova 1.74.2
    oolite-thargoid-plans 1.74.2
    oolite-trumbles 1.74.2
[PlayerEntity.switchHudTo.failed]: HUD dictionary file milhud.plist to switch to not found or invalid.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_FUELTANK_MINE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_FUELTANK_MINE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[script.load.world.listAll]: Loaded 5 world scripts:
    oolite-cloaking-device 1.74.2
    oolite-constrictor-hunt 1.74.2
    oolite-nova 1.74.2
    oolite-thargoid-plans 1.74.2
    oolite-trumbles 1.74.2
[PlayerEntity.switchHudTo.failed]: HUD dictionary file milhud.plist to switch to not found or invalid.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_FUELTANK_MINE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_FUELTANK_MINE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[load.failed.missileNotFound]: ----- WARNING: couldn't find missile with role 'EQ_MILITARY_MISSILE' in [PlayerEntity setCommanderDataFromDictionary:], missile entry discarded.
[gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2010-10-18 16:40:21 +0200.
"Actually this is a common misconception... I do *not* in fact have a lot of time on my hands at all! I just have a very very very very bad sense of priorities."
--Dean C Engelhardt
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:
The shipdata.plist of Kirin_sport.oxp however contains the following lines (lines 314-315):

Code: Select all

				<key>view_description</key>
				<string>Hold_&_Lower_T</string>
It's not—as I thought—a problem of a missing bracket, but the ampersand-character ("&"). It's illegal to use in XML and has to be masked as "&".
I had something similar yesterday. I had an Ai containing the string:

Code: Select all

"commsMessage: Waiting for impact..."
So far completely legal text, but after starting Oolite it could not open the plist. It took me some time to find the bug. I normally edit my AI-plist with the mac-texteditor. By default it has text-replacement set to true. On saving it changed my three dots: "..." into the single character: "…". It took me some time before I realised an automated replacement took place. And the replacement character is illegal in XML !
User avatar
Tricky
---- E L I T E ----
---- E L I T E ----
Posts: 821
Joined: Sun May 13, 2012 11:12 pm
Location: Bradford, UK. (Anarchic)

Re: Kirin Sport.oxp

Post by Tricky »

Resurrecting this thread because the '&' problem is still in the download linked from the Wiki page.

I also decided to do a bit of shell-fu on my Addons directory to check for other conflicts...

(in the Addons directory)

Code: Select all

$ find . -type f -name "*.plist" -exec grep -FH "&" {} \; | grep -Ev "&[A-Za-z0-9]+;" - | less -
Returns lines that don't have entities ( &...; ) in them. Not pretty but it put my mind at rest. You could also use Firefox to check the plist file. It will quite helpfully point out where the problem is.

Now I just have to hunt down a problem I have with Staer9's asteroids.
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: Kirin Sport.oxp

Post by Norby »

I applied the very important "&" fix into the Kirin_sport.oxz in the wiki so in new downloads works fine from now. The manifest owner could increase the version both in manifest.plist and oxz admin page to flag the availability of a new version for those who already downloaded it.
Post Reply