Page 2 of 2

Posted: Mon Nov 16, 2009 10:42 am
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.

Posted: Sun Oct 17, 2010 8:05 pm
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.

Posted: Sun Oct 17, 2010 9:17 pm
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.

Posted: Sun Oct 17, 2010 9:29 pm
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.

Posted: Sun Oct 17, 2010 9:31 pm
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.

Posted: Sun Oct 17, 2010 9:43 pm
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.

Posted: Sun Oct 17, 2010 9:59 pm
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.

Posted: Sun Oct 17, 2010 10:31 pm
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.

Posted: Sun Oct 17, 2010 11:08 pm
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.

Posted: Sun Oct 17, 2010 11:35 pm
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.

Posted: Mon Oct 18, 2010 6:16 am
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.

Posted: Mon Oct 18, 2010 2:48 pm
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.

Posted: Thu Oct 21, 2010 7:05 pm
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 !

Re: Kirin Sport.oxp

Posted: Fri May 18, 2012 6:47 am
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.

Re: Kirin Sport.oxp

Posted: Mon Feb 01, 2016 8:58 pm
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.