Page 23 of 29

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

Posted: Wed Nov 25, 2020 10:39 am
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.

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

Posted: Wed Nov 25, 2020 10:44 am
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?

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

Posted: Wed Nov 25, 2020 10:49 am
by Reval
Aha! Now I've nailed it - it was Basic Debug interfering (which is a pity).

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

Posted: Wed Nov 25, 2020 11:26 am
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.

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

Posted: Wed Nov 25, 2020 11:43 am
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 :?

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

Posted: Wed Nov 25, 2020 11:54 am
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.


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

Posted: Wed Nov 25, 2020 12:05 pm
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...

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

Posted: Wed Nov 25, 2020 12:13 pm
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.

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

Posted: Wed Dec 02, 2020 6:53 am
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...

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

Posted: Wed Dec 02, 2020 7:20 am
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

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

Posted: Sat Dec 05, 2020 8:55 am
by Reval
In a hud.plist and accompanying script.js, how to conditionally display one of the plist standard elements (eg. missiles)?

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

Posted: Sat Dec 05, 2020 10:17 am
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?

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

Posted: Sat Dec 05, 2020 12:59 pm
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).

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

Posted: Sat Dec 05, 2020 1:11 pm
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 :)

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

Posted: Sat Dec 05, 2020 1:34 pm
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.