Tinkerer's Workshop - OXP tweaking for fun and profit!

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

Moderators: winston, another_commander

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

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by another_commander »

Be aware that OXPs may still be affecting your game if they are in the Managed folder. Try in a completely clear game installation.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

I've removed every other installed OXZ from the Manager (and it was only my own OXPs FE Ships and Elite Trader)...

Edit: Well, apart from Basic Debug - should I remove that too?
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

Aha! Now I've nailed it - it was Basic Debug interfering (which is a pity).
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by another_commander »

What? That doesn't make any sense. Basic debug has absolutely nothing to do with any of this. FWIW, I've been running it on my system when I mentioned earlier that it works fine.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

I removed all Managed add-ons from my 'clean' install. When I ran it in Normal start, the bars remained yellow, but when I finally removed Basic Debug, I got my desired changes. I can't explain this either (obviously). Now I'm running 'clean' again, and I no longer see the colour changes in the energy bar. So, that's with no extras installed, including Basic Debug.

I'm totally puzzled by this state of affairs :?
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

Here's my log for the clean install (apart from my HUD OXP), FWIW...

Code: Select all

Opening log for Oolite version 1.90 (x86-32 test release) under Windows 5.1.2600 Service Pack 3 32-bit at 2020-11-25 06:51:03 -0500.
AMD Phenom(tm) II X3 720 Processor 3 processors detected.
Build options: OpenAL, new planets, JavaScript console support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.

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

06:51:04.093 [display.mode.list.native]: Windows native resolution detected: 1680 x 1050
06:51:04.812 [joystick.init]: Number of joysticks detected: 1
06:51:04.812 [rendering.opengl.version]: OpenGL renderer version: 3.3.11005 ("3.3.11005 Compatibility Profile Context"). Vendor: "ATI Technologies Inc.". Renderer: "ATI Radeon HD 3300 Graphics".
06:51:04.812 [rendering.opengl.extensions]: OpenGL extensions (176):
GL_ATI_texture_mirror_once, GL_ARB_framebuffer_sRGB, GL_AMD_draw_buffers_blend, GL_ARB_depth_texture, GL_ARB_texture_env_add, GL_NV_texture_barrier, GL_EXT_pixel_buffer_object, GL_ARB_draw_instanced, GL_EXT_texture_compression_rgtc, GL_ARB_half_float_vertex, GL_EXT_texture3D, GL_EXT_compiled_vertex_array, GL_EXT_texture_shared_exponent, GL_EXT_separate_specular_color, GL_ARB_framebuffer_object, GL_EXT_shadow_funcs, GL_EXT_texture_cube_map, GL_EXT_rescale_normal, GL_ARB_shader_texture_lod, GL_ATI_draw_buffers, GL_ARB_transpose_matrix, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_compression_rgtc, GL_ARB_texture_border_clamp, GL_ARB_multisample, GL_ARB_half_float_pixel, GL_ATI_separate_stencil, GL_ARB_texture_non_power_of_two, GL_EXT_bgra, GL_ARB_sync, GL_EXT_texture_env_dot3, GL_EXT_direct_state_access, GL_EXT_provoking_vertex, GL_SUN_multi_draw_arrays, GL_ARB_sampler_objects, GL_ARB_vertex_shader, GL_ARB_shader_objects, GL_ARB_map_buffer_range, GL_NV_texgen_reflection, GL_EXT_multi_draw_arrays, GL_AMDX_debug_output, GL_EXT_texture_object, GL_ARB_vertex_program, GL_KTX_buffer_region, GL_EXT_framebuffer_sRGB, GL_ATI_texture_env_combine3, GL_ARB_get_program_binary, GL_ARB_texture_float, GL_ARB_imaging, GL_AMD_sample_positions, GL_ATI_texture_compression_3dc, GL_ARB_draw_buffers_blend, GL_AMD_shader_stencil_export, GL_ARB_fragment_coord_conventions, GL_EXT_stencil_wrap, GL_EXT_bindable_uniform, GL_EXT_texture_swizzle, GL_NV_primitive_restart, GL_EXT_framebuffer_blit, GL_ARB_uniform_buffer_object, GL_ARB_shader_precision, GL_ARB_vertex_array_bgra, GL_ARB_texture_compression, GL_EXT_blend_color, GL_ARB_vertex_array_object, GL_EXT_blend_minmax, GL_EXT_texture_integer, GL_EXT_gpu_shader4, GL_EXT_transform_feedback, GL_ARB_shader_bit_encoding, GL_EXT_texture_lod, GL_EXT_texture_compression_s3tc, GL_EXT_subtexture, GL_ARB_occlusion_query2, GL_ARB_timer_query, GL_ARB_point_sprite, GL_ARB_depth_clamp, GL_EXT_vertex_array, GL_EXT_abgr, GL_NV_blend_square, GL_ARB_vertex_buffer_object, GL_ARB_instanced_arrays, GL_EXT_framebuffer_multisample, GL_ATI_envmap_bumpmap, GL_NV_conditional_render, GL_ARB_multitexture, GL_EXT_vertex_array_bgra, GL_ARB_seamless_cube_map, GL_ARB_copy_buffer, GL_ARB_draw_elements_base_vertex, GL_ARB_transform_feedback2, GL_ARB_geometry_shader4, GL_ARB_transform_feedback3, GL_ARB_viewport_array, GL_ARB_shadow, GL_EXT_draw_instanced, GL_EXT_blend_subtract, GL_AMD_pinned_memory, GL_ARB_fragment_program_shadow, GL_ARB_shader_stencil_export, GL_ARB_window_pos, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_lod_bias, GL_ATI_meminfo, GL_ARB_texture_multisample, GL_AMD_depth_clamp_separate, GL_EXT_texture_snorm, WGL_EXT_swap_control, GL_ARB_texture_env_crossbar, GL_ARB_point_parameters, GL_ARB_shadow_ambient, GL_ARB_depth_buffer_float, GL_NV_float_buffer, GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_timer_query, GL_EXT_texture_edge_clamp, GL_EXT_copy_texture, GL_ARB_texture_rg, GL_EXT_texture_sRGB, GL_ARB_texture_env_combine, GL_WIN_swap_hint, GL_ARB_fragment_program, GL_AMD_performance_monitor, GL_ARB_explicit_attrib_location, GL_EXT_packed_float, GL_EXT_texture_filter_anisotropic, GL_EXT_texgen_reflection, GL_ARB_texture_buffer_object_rgb32, GL_EXT_histogram, GL_ATI_fragment_shader, GL_EXT_draw_range_elements, GL_ARB_pixel_buffer_object, GL_EXT_texture_buffer_object, GL_EXT_copy_buffer, GL_EXT_packed_depth_stencil, GL_ARB_texture_snorm, GL_ARB_texture_rectangle, GL_EXT_geometry_shader4, GL_EXT_fog_coord, GL_ARB_separate_shader_objects, GL_AMD_conservative_depth, GL_NV_half_float, GL_SGIS_texture_lod, GL_ARB_ES2_compatibility, GL_EXT_gpu_program_parameters, GL_ARB_fragment_shader, GL_ARB_shading_language_100, GL_EXT_secondary_color, GL_AMD_debug_output, GL_EXT_point_parameters, GL_ARB_draw_buffers, GL_SGIS_generate_mipmap, GL_NV_copy_depth_to_color, GL_EXT_texture_rectangle, GL_EXT_draw_buffers2, GL_ARB_blend_func_extended, GL_AMD_name_gen_delete, GL_NV_explicit_multisample, GL_EXT_blend_func_separate, GL_ARB_texture_cube_map, GL_ARB_texture_buffer_object, GL_EXT_texture_array, GL_ARB_occlusion_query, GL_EXT_texture_mirror_clamp, GL_EXT_packed_pixels, GL_EXT_framebuffer_object, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_env_dot3, GL_EXT_texture_compression_latc, GL_ARB_provoking_vertex, GL_EXT_blend_equation_separate, GL_ATI_texture_float, GL_ARB_color_buffer_float, GL_EXT_texture_env_add, GL_SGIS_texture_edge_clamp, GL_EXT_texture_env_combine
06:51:04.828 [rendering.opengl.shader.support]: Shaders are supported.
06:51:04.906 [dataCache.rebuild.explicitFlush]: Cache explicitly flushed with shift key. Rebuilding from scratch.
06:51:04.906 [dataCache.rebuild.explicitFlush]: Cache explicitly flushed with shift key. Rebuilding from scratch.
06:51:04.906 [searchPaths.dumpAll]: Resource paths: 
    Resources
    M:\Programs/Oolite-1.90-Barebones/oolite.app/GNUstep/Library/ApplicationSupport/Oolite/ManagedAddOns
    ../AddOns
    ../AddOns/GETTER_HUD.oxp
    ../AddOns/GETTER_HUD.oxp/GETTER_HUD.oxz
06:51:05.093 [shipData.load.begin]: Loading ship data.
06:51:07.312 [startup.complete]: ========== Loading complete in 3.44 seconds. ==========
06:51:12.390 [shipData.load.begin]: Loading ship data.
06:51:14.343 [script.load.world.listAll]: Loaded 17 world scripts:
    GET_HUD 1.0
    Oolite Equipment Control 1.90
    Oolite Ship Library 1.90
    oolite-cloaking-device 1.90
    oolite-constrictor-hunt 1.90
    oolite-contracts-cargo 1.90
    oolite-contracts-helpers 1.90
    oolite-contracts-parcels 1.90
    oolite-contracts-passengers 1.90
    oolite-libPriorityAI 1.90
    oolite-nova 1.90
    oolite-populator 1.90
    oolite-primable-equipment-register 1.90
    oolite-registership 1.90
    oolite-thargoid-plans 1.90
    oolite-trumbles 1.90
    oolite-tutorial 1.90
06:51:38.156 [exit.context]: Exiting: Shift-escape pressed.
06:51:38.171 [gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2020-11-25 06:51:38 -0500.

Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

Oops... there was an OXZ in the HUD OXP root, which was probably pre-change. Now I'm seeing the orange colour for energy. Thanks for your help and suggestions! We learn even from these very silly and obvious lapses...
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by another_commander »

Rule of Life: When absurd problems arise, it is normally something silly and obvious in hindsight that is causing them.

Glad you are back on track.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

What would be the easiest method to count the number of missiles/mines currently fitted to a ship? - I've been unable to find a handler or property to do this directly, but still wonder if one exists...
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by another_commander »

Code: Select all

> PS.missiles
[[EquipmentInfo EQ_HARDENED_MISSILE "ECM Hardened Missile"], [EquipmentInfo EQ_HARDENED_MISSILE "ECM Hardened Missile"], [EquipmentInfo EQ_HARDENED_MISSILE "ECM Hardened Missile"], [EquipmentInfo EQ_QC_MINE "Quirium Cascade Mine"]]
> PS.missiles.length
4
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

In a hud.plist and accompanying script.js, how to conditionally display one of the plist standard elements (eg. missiles)?
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

I need to declare my own station variables. The JS Wiki refers to Station as an Entity, which descends from Object. Is it correct to write

Code: Select all

this.$etLastStation = new Object;
? or should that be new Entity?

Once declared, is an acceptable way to populate it

Code: Select all

this.$etLastStation = player.ship.dockedStation;
?

And, for comparisons, will

Code: Select all

if (this.$etLastStation==player.ship.dockedStation) {}
give sensible results?
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by dybal »

Reval wrote: Sat Dec 05, 2020 10:17 am
I need to declare my own station variables. The JS Wiki refers to Station as an Entity, which descends from Object. Is it correct to write

Code: Select all

this.$etLastStation = new Object;
? or should that be new Entity?

Once declared, is an acceptable way to populate it

Code: Select all

this.$etLastStation = player.ship.dockedStation;
?

And, for comparisons, will

Code: Select all

if (this.$etLastStation==player.ship.dockedStation) {}
give sensible results?
If you want to store a reference for an existing station, just declare a variable and assign the reference to it:

Code: Select all

var last_station = player.ship.dockedStation;
If you want to create new stations, use system.addShips to create them. I would also use the [EliteWiki] Oolite system populator functions to do that - you might look at any of the OXP that introduce new stations for examples ( I recommend WildShips OXP).
User avatar
Reval
---- E L I T E ----
---- E L I T E ----
Posts: 402
Joined: Thu Oct 29, 2020 3:14 am
Location: At home in the Xexedi Cluster, driving an FE Asp II, Laenina's Flux.

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by Reval »

Thanks. That's a nice simple approach. But what if I did actually need to declare a fresh last_station variable on startup, as a matter of interest, do I declare a new Entity or new Object?

Creating stations sounds a fascinating proposition: I really must try it :)
Dor 'call me Grocer' Reval (a Xexedian Laver) was always considered a little backward.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: Tinkerer's Workshop - OXP tweaking for fun and profit!

Post by dybal »

Reval wrote: Sat Dec 05, 2020 1:11 pm
Thanks. That's a nice simple approach. But what if I did actually need to declare a fresh last_station variable on startup, as a matter of interest, do I declare a new Entity or new Object?
Just declare it. You define it's type when you assign something to it... you can even change it's type by assigning different thing to it as time goes by.
Post Reply