Another OXP Question

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

Moderators: winston, another_commander

User avatar
Hemlock
Dangerous
Dangerous
Posts: 81
Joined: Tue Apr 11, 2006 12:05 pm
Location: Planet Pittsburgh - Steel System

Another OXP Question

Post by Hemlock »

I have found that on many occasions I have downloaded an expansion pack, unzipped the contents and moved the filename.oxp to my Add Ons folder only to find that for some reason the OXP is not registering and doing what I had expected.

Most notably:

Dragon 1.72.2 (today)
Planetfall - which works on my desktop but not my laptop.

I would much appreciate any pointers as to why this should be.

Any help would be much appreciated.

Thanks
Commander Hemlock
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Are you sure they're not registering? What does Latest.log say? Is it Vista you are on, by any chance, and is your game installed in C:\Program Files\Oolite?
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Post by Micha »

I accidentally stumbled across an issue when loading AddOns under Windows yesterday - if the AddOns folder contains a non-OXP folder, it silently skips loading all of the rest instead of just skipping that one. Haven't looked into whether that's only Windows or other OSs as well.

You can also use the --verify-oxp command-line parameter with Oolite to test an OXP, ie:

oolite.exe --verify-oxp <path to OXP>
The glass is twice as big as it needs to be.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Micha wrote:
I accidentally stumbled across an issue when loading AddOns under Windows yesterday - if the AddOns folder contains a non-OXP folder, it silently skips loading all of the rest instead of just skipping that one. Haven't looked into whether that's only Windows or other OSs as well.
That's strange. My AddOns folder is a mix of enabled and disabled OXPs (ending with .oxp_) and still I get all the enabled ones reported and running without anything being skipped.
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

Likewise mine, although I tend to remove the .oxp from the end to do it. Doesn't give me any problems on XP / 1.72.2.
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Post by Micha »

Hmm, maybe an oddity with my Windows installation then.

I used to disable OXPs by renaming the folder, but can't remember whether I ever did that on Windows or only on Linux (my main environment).
The glass is twice as big as it needs to be.
User avatar
Hemlock
Dangerous
Dangerous
Posts: 81
Joined: Tue Apr 11, 2006 12:05 pm
Location: Planet Pittsburgh - Steel System

Post by Hemlock »

another_commander wrote:
Are you sure they're not registering? What does Latest.log say? Is it Vista you are on, by any chance, and is your game installed in C:\Program Files\Oolite?
Here is "Latest Log"

[log.header]: Opening log for Oolite version 1.72.2 (x86-32 test release) under Windows at 2009-04-17 09:35:22 -0400.
1 processor detected.
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: 1024 x 768
[rendering.opengl.version]: OpenGL renderer version: 2.0.1 ("2.0.1")
Vendor: NVIDIA Corporation
Renderer: GeForce Go 6100/PCI/SSE2/3DNOW!
[rendering.opengl.extensions]: OpenGL extensions (123):
GL_ARB_color_buffer_float GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_half_float_pixel GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_object GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_clear_tag GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_sRGB GL_EXT_timer_query GL_EXT_vertex_array GL_HP_occlusion_test GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NVX_conditional_render GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_EXT_swap_control
[searchPaths.dumpAll]: ---> OXP search paths:
(oolite.app/Resources, AddOns, AddOns/Anarchies2.1.oxp, AddOns/buoyRepair1.02.1.oxp, "AddOns/Captured Thargons 1.00.oxp", AddOns/Commies.oxp, "AddOns/Dictators v1.3.oxp", AddOns/dragon.oxp, AddOns/halsis.oxp, "AddOns/Missile Rack 1.02.oxp", "AddOns/Missiles and Bombs v2.1.oxp", AddOns/mPakRedux.oxp, AddOns/newships.oxp, AddOns/oldships.oxp, "AddOns/PlanetFall 1.12.oxp", "AddOns/Python Class Cruiser 2.6.oxp", AddOns/RandomHits275.oxp, AddOns/RoC.oxp, "AddOns/Saleza v2.oxp", AddOns/terrapin.oxp, AddOns/total_patrol.oxp, "AddOns/UPS-courier v1.5.0.oxp", AddOns/YOUR_AD_HERE.oxp, AddOns/YOUR_AD_HERE_set_A.oxp, "AddOns/Zz-Oo-Haul.oxp")
[dataCache.rebuild.explicitFlush]: Cache explicitly flushed with shift key. Rebuilding from scratch.
[shipData.load.begin]: Loading ship data...
[shipData.merge.failed]: ***** ERROR: one or more shipdata.plist entries have like_ship references that cannot be resolved: ("grs-womasilo", "grs-womasiloRev", "repaired-buoy-docker1", "repaired-buoy-womaRev", "ups-fuelship2", "ups-fuelship4")
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "comlimesc" has a broken subentity definition "*FLASHER* 0.04.42 -1.54 0.0 2" (should have 8 tokens, has 5).
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "comlimesc" has a broken subentity definition "*FLASHER* 3.83 -2.21 -1.54 0.0 2" (should have 8 tokens, has 6).
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "comlimesc" has a broken subentity definition "*FLASHER* -3.83 -2.21 -1.54 0.0 2" (should have 8 tokens, has 6).
[shipData.load.error]: ***** ERROR: the shipdata.plist entry "dock-factory" specifies non-existent model "comfactory_dock.dat".
[script.load.world.listAll]: Loaded 22 world scripts: "Anarchies" 2.1, "buoyRepair" 1.02.1, "communist_population", "CT_Script" 1.0, "dictatorship_population", "Missiles & Bombs" 1.0, "OO-Haul Escort", "oolite-cloaking-device" 1.72.2, "oolite-constrictor-hunt" 1.72.2, "oolite-nova" 1.72.2, "oolite-thargoid-plans" 1.72.2, "oolite-trumbles" 1.72.2, "Pi-Forty-Two Con stores", "PlanetFall" 1.1.2, "Random_Hits", "SalezaPatrol", "total_patrol" 1.1, "ups_container" 1.5.0, "ups_docs" 1.5.0, "ups_parcel" 1.5.0, "ups_slaves" 1.5.0, "ups_sun" 1.5.0
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[shader.compile.fragment.failure]: ***** GLSL fragment shader compilation failed for anarchies-salvager-tunnel.fragment:
>>>>> GLSL log:
(18) : error C0105: Syntax error in #define


>>>>> GLSL source code:
#define OO_USER_DEFINED_BINDINGS 1
#define OO_REDUCED_COMPLEXITY 1
#define OO_TEXTURE_UNIT_COUNT 4


// Texture Information from Oolite.

uniform sampler2D tex0; // Difuse and Illumination map



// Uniforms from Oolite

uniform float uTime; //Time from game clock



// Set the Lamp color for the hull spotlights

vec4 LampColor = vec4(0.9926, 0.9686, 0.7325, 1.0);



// Irregular flickering function

#ifdef OO_REDUCED_COMPLEXITY

#define Pulse(v, ts) ((v) * 0.95)

#define Blink_on_off(1.0)

#else



float Pulse(float value, float timeScale)

{

float t = uTime * timeScale;



float s0 = t;

s0 -= floor(s0);

float sum = abs( s0 - 0.5);



float s1 = t * 0.7 - 0.05;

s1 -= floor(s1);

sum += abs(s1 - 0.5) - 0.25;



float s2 = t * 1.3 - 0.3;

s2 -= floor(s2);

sum += abs(s2 - 0.5) - 0.25;



float s3 = t * 5.09 - 0.6;

s3 -= floor(s3);

sum += abs(s3 - 0.5) - 0.25;



return (sum * 0.1 + 0.9) * value;



}

#endif



void main(void)

{



// Load texture data

vec2 texCoord = gl_TexCoord[0].st;

vec4 diffuseMap = texture2D(tex0, texCoord);



// Calculate the fragment color

vec4 color = diffuseMap * diffuseMap.a * 3.0 * LampColor * 5.0 * Pulse(min(1.0, 1.0), 1.0);



// Output final color

gl_FragColor = vec4(color.rgb, 1.0);

}



[shader.compile.fragment.failure]: ***** GLSL fragment shader compilation failed for anarchies-salvager-tunnel-pipes.fragment:
>>>>> GLSL log:
(18) : error C0105: Syntax error in #define


>>>>> GLSL source code:
#define OO_USER_DEFINED_BINDINGS 1
#define OO_REDUCED_COMPLEXITY 1
#define OO_TEXTURE_UNIT_COUNT 4


// Texture Information from Oolite.

uniform sampler2D tex0; // Difuse and Illumination map



// Uniforms from Oolite

uniform float uTime; //Time from game clock



//Set the Lamp color for the hull spotlights

vec4 LampColor = vec4(0.9926, 0.9686, 0.7325, 1.0);



// Irregular flickering function

#ifdef OO_REDUCED_COMPLEXITY

#define Pulse(v, ts) ((v) * 0.95)

#define Blink_on_off(1.0)

#else



float Pulse(float value, float timeScale)

{

float t = uTime * timeScale;



float s0 = t;

s0 -= floor(s0);

float sum = abs( s0 - 0.5);



float s1 = t * 0.7 - 0.05;

s1 -= floor(s1);

sum += abs(s1 - 0.5) - 0.25;



float s2 = t * 1.3 - 0.3;

s2 -= floor(s2);

sum += abs(s2 - 0.5) - 0.25;



float s3 = t * 5.09 - 0.6;

s3 -= floor(s3);

sum += abs(s3 - 0.5) - 0.25;



return (sum * 0.1 + 0.9) * value;

}

#endif



void main(void)

{



// Load texture data

vec2 texCoord = gl_TexCoord[0].st;

vec4 diffuseMap = texture2D(tex0, texCoord);



// Discard any fragment using the clipmap in the alpha channel

if (diffuseMap.a > 0.4) discard;



// Add in the glow effects for simple shader mode

vec4 color = diffuseMap * LampColor * 1.6 * Pulse(min(1.0, 1.0), 1.0);



// Output final color

gl_FragColor = vec4(color.rgb, 1.0);

}



[shipRegistry.selection.profile]: Hit slow path in ship selection for role "trader", having selected ship "workcom_1". Now 10 of 182 on slow path (5.494505%).
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "police", having selected ship "guard". Now 20 of 361 on slow path (5.540166%).
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "rockhermit", having selected ship "astromine". Now 30 of 492 on slow path (6.097561%).
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "police", having selected ship "quaestor". Now 40 of 517 on slow path (7.736944%).
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "wingman", having selected ship "comviper". Now 50 of 596 on slow path (8.389262%).
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "interceptor", having selected ship "comviper". Now 60 of 627 on slow path (9.569378%).
[script.debug.syntax.addShips]: ***** Could not spawn: 'qbomb 1 (0.1)' (must be two tokens, role and number)
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[gameController.exitApp]: .GNUstepDefaults synchronized.


Hope someone can help...


Thank You
Closing log at 2009-04-17 09:57:18 -0400.
Commander Hemlock
User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2483
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

I can help with the error in the anarchies-salvager-tunnel.fragment shader file, i've made a mistake in it, line 20 which reads:
#define Blink_on_off(1.0)
should read:
#define Blink_on_off(value) (1.0)

I've uploaded a fixed version of the shader here, http://www.box.net/shared/hmtteleo9e

edit: the anarchies-salvager-tunnel-pipes.fragment has the same error too, fixed version here:
http://www.box.net/shared/q0ma8v82p2

I'd better PM Commander McLane with the fixed shader in case he wants to include it in any updates he makes to the oxp.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

From the log it is obvious that both the dragon and the planetfall OXPs are recognized and loaded by the game. There are also a few errors coming apparently from buoyRepair and Commies that would need either fixing or a newer OXP version.

In the vast majority of cases, a failure to recognize an OXP is due to an error in the OXP itself.
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

Right, I have found and fixed errors in assassins, galactic-navy and commies. If anyone wants the fixed plistds, pm me and I will email them.

I dont want to upload my versions anywhere really, Id prefer to leave "official" changes to the original authors.
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 »

another_commander wrote:
There are also a few errors coming apparently from buoyRepair and .... that would need either fixing or a newer OXP version.
BuoyRepair needs no fixing. The errors are faulty. The code itself looks if the necessary external oxp is loaded. If not it will never try to add those ships with dependencies. For Oolite it is not possible to see if the oxp takes this into account and always generates an error out of precaution.

Therefor Ahruman added code that allowed suppression of this error message when "is_external_dependency = 1;" But maybe I should have used is_external_dependency = true;
The use of fuzzy booleans sometimes a bit confusing as in most cases you can use 1 as true but not always.

I'll look into it. When there is an error it is only in the code to suppress the error.
Its probably because I wrote this plist in open step format. Normally I write in XML and than I can specific set a key as boolean in the plist editor.
stanley1100
Competent
Competent
Posts: 50
Joined: Fri Mar 06, 2009 10:20 pm
Location: Look behind you...

Post by stanley1100 »

I am also having problems with my OXPs. I did mention this before but not in a very well explained way so here we go again:
When I downloaded the OXPs I wanted I then went inside them (I run Vista), took out the folder with folders AI, CONFIG and other things that I'll never understand and placed it in the AddOn folder. I then realised I had to rename everything as otherwise Vista skips them and doesn't move them. So I renamed it AI2, CONFIG2 and so on and managed to move them all without incident.
However, since then (about a month) I have only SEEN buoyrepair in action. (I love the Armidillo! :D ) Any ideas?

Thanks!
Freddies little pets like trousers. Sometimes Freddie doesn't have enough though so he relies on the neighbours...

"YOUR PET IS EATING MY TROUSERS!"
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

When you unzip the download, there should be a folder called, for example

Code: Select all

buoyRepair1.02.1.oxp
. You should not need to do anything other than move it into AddOns.

It sounds to me like the oolite cache is not being rebuilt, so you only see changes when you rename files. Please try holding shift when oolite is starting, which I think will sort this 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 »

stanley1100 wrote:
However, since then (about a month) I have only SEEN buoyrepair in action. (I love the Armidillo! :D ) Any ideas?
Did you install to Program Files? If so, Vista creates a virtual folder for your game, including a virtual addon-folder.

That does cause massive trouble if you ever change things, like editing or updating files...thus, if you did install to that location, it'd be best to install oolite to a different directory like C:\games\oolite and then manually move the save-files and addon folder contents there.

Screet
stanley1100
Competent
Competent
Posts: 50
Joined: Fri Mar 06, 2009 10:20 pm
Location: Look behind you...

Post by stanley1100 »

So, I reinstall Oolite to anywhere but program files, move my savefiles and addons over. (Do I leave them renamed?)
Oh yeah, and then hold shift whilst it's loading. *phew* Glad I got that over :)
Freddies little pets like trousers. Sometimes Freddie doesn't have enough though so he relies on the neighbours...

"YOUR PET IS EATING MY TROUSERS!"
Post Reply