Galactic Navy JS OXP

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

Moderators: another_commander, winston

User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Galactic Navy JS OXP

Post by Nemoricus »

Over the past several weeks I've been working on converting Galactic Navy's script to JavaScript and rooting out any bugs in it. In addition, I have set things so that missions should only be offered in systems near a given SecCom station. Eric Walch also contributed code that sets up a true carrier battle group.

I haven't been able to contact matt634, though, and my first PM to him was sent almost two weeks ago now. It does not appear that he has even looked at it yet. I'm reluctant to release this without his permission, but if the community approves, I would like to do so.

What does everyone think about this?

Since the opinion appears to be positive, I'm releasing the current beta version of the conversion.

Galactic Navy JS Beta 1.1.2: here

A readme is included in .txt format, along with a number of saves if you want to test various parts of the Galacitc Navy code.
Last edited by Nemoricus on Mon Jun 15, 2009 2:59 am, edited 2 times in total.
Dream as if you'll live forever
Live as if you'll die tomorrow
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

Hi, I sent him a pm on Sun Apr 12, 2009 11:56 am offering fixed plists for the flasher problems, and never got a response.

pm your email address if you want me to email them to you.
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Re: Galactic Navy JS OXP

Post by Screet »

Nemoricus wrote:
I'm reluctant to release this without his permission, but if the community approves, I would like to do so.

What does everyone think about this?
It would be nice if he shows up and comments on it, but if not...the game is free and if things improved, it might even make people more happy with this.

From my testing so far, I cannot report any problems. Will require to do some more missions though...so maybe you should just offer it as beta test package for some time and wait what happens, concerning both Matt and probable bug detection.

Sidenote: The readme is in doc format. Would much be lost by converting it to plain text? That's more easy readable for most people, especially concerning the multi-platform issue.

Screet
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

The flashers are already fixed. I'm including Eric's revised shipdata.plist, which happily fixes that problem along with the Behemoth AI.

Thanks for the offer, though.

I don't think that anything would be lost if I converted it to .txt, so I'll go ahead and do that.
Dream as if you'll live forever
Live as if you'll die tomorrow
Capt. Slog
Dangerous
Dangerous
Posts: 84
Joined: Sun Apr 26, 2009 10:24 pm

Post by Capt. Slog »

From Matt634 9 May
You may be one of the few to actually attempt this mission. Because of the lack of feedback and several interceding Oolite versions, it may not work as it should, but here's some hints on what's supposed to happen based on my initial playtesting.

Spoiler followed, not heard since.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8501
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Galactic Navy JS OXP

Post by DaddyHoggy »

Screet wrote:
Nemoricus wrote:
I'm reluctant to release this without his permission, but if the community approves, I would like to do so.

What does everyone think about this?
It would be nice if he shows up and comments on it, but if not...the game is free and if things improved, it might even make people more happy with this.

From my testing so far, I cannot report any problems. Will require to do some more missions though...so maybe you should just offer it as beta test package for some time and wait what happens, concerning both Matt and probable bug detection.

Sidenote: The readme is in doc format. Would much be lost by converting it to plain text? That's more easy readable for most people, especially concerning the multi-platform issue.

Screet
Could always open the .doc up in OpenOffice and resave as a pdf?
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: Galactic Navy JS OXP

Post by Eric Walch »

DaddyHoggy wrote:
Could always open the .doc up in OpenOffice and resave as a pdf?
I agree, pdf format is easy readable by the default mac texteditor.
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

I already have it in .txt format. Will it hurt anything to leave it that way?

Also, I haven't really gotten a response to my original question, which is whether I should release the conversion.
Dream as if you'll live forever
Live as if you'll die tomorrow
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 »

Nemoricus wrote:
I already have it in .txt format. Will it hurt anything to leave it that way?

Also, I haven't really gotten a response to my original question, which is whether I should release the conversion.
I did suggest to make it a beta for testing. That way you can receive more response and if Matt shows up, decide together which way to go with it. I guess he'd be happy about the conversion and fixes to that oxp. From the previously reported message from him it appears to me that he didn't notice how much his oxp is liked.

Screet
Capt. Slog
Dangerous
Dangerous
Posts: 84
Joined: Sun Apr 26, 2009 10:24 pm

Post by Capt. Slog »

Screet, Nemiricus
I'd hoped that Matt would respond but... I can't see a problem with releasing a version that works. My enjoyment of this oxp was only spoilt by trying to debug it, I also now have the knowledge to cheat with other oxps. The finale had the potential to be an excellent mission and I see no reason why the oxp could not be expanded.
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

Well, the opinion is positive so far, so unless anyone chimes in with a nay, I'll release the beta version on Monday.

Also, I'm currently debugging a fairly distinct change from matt634's script. In the original Galactic Navy OXP, the reserve missions were completed as soon as you entered the mission system. I'm working on revising this so that you actually have to take part in the battle in order to get credit for it.

There is still the possibility that it may conclude without your involvement, even if you are in system.

What do people think of this change? For the record, it won't be part of the beta release on Monday, even if I successfully debug it before then.

EDIT: I'm currently stuck trying to hunt down the source of a shipdata.plist error. The .plist is here.

The error log is:

Code: Select all

[log.header]: Opening log for Oolite version 1.72.2 (x86-32 test release) under Windows at 2009-06-13 21:50:10 -0400.
2 processors 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.1.2 ("2.1.2")
Vendor: NVIDIA Corporation
Renderer: GeForce 7300 LE/PCI/SSE2
[rendering.opengl.extensions]: OpenGL extensions (132):
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_half_float_vertex GL_ARB_framebuffer_object GL_ARB_imaging GL_ARB_map_buffer_range 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_array_object 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_direct_state_access GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_gpu_program_parameters 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_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_texture_swizzle GL_EXT_timer_query GL_EXT_vertex_array GL_EXT_vertex_array_bgra 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_framebuffer_multisample_coverage 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/aegidian-special.oxp", AddOns/Anarchies2.1.oxp, "AddOns/Aquatics 2.00.oxp", "AddOns/AsteroidStorm 3.52.oxp", "AddOns/behemoth 2.5.1.oxp", "AddOns/BigShips 1.01.oxp", AddOns/BountyScanner.oxp, AddOns/buoyRepair1.02.1.oxp, AddOns/Commies.oxp, AddOns/Debug.oxp, "AddOns/DeepSpacePirates 1.1.oxp", "AddOns/Dictators v1.3.oxp", AddOns/dodo_stations.oxp, AddOns/dragon.oxp, "AddOns/Dredgers 2.2.2.oxp", "AddOns/Fuel Station 1.11.oxp", AddOns/Galactic_Navy.oxp, AddOns/GrittyCoriolis.oxp, AddOns/GrittyCoriolis.oxp/GrittyCoriolis.oxp, AddOns/impcourier2.oxp, AddOns/marett_vol1.oxp, "AddOns/MilHUD-new.oxp", "AddOns/neolite-companion.oxp", AddOns/neolite.oxp, AddOns/neolite.oxp/neolite.oxp, "AddOns/new 1.72 only AI 1.4.oxp", AddOns/newships.oxp, AddOns/oldships.oxp, AddOns/Ore_processor.oxp, AddOns/Orisisv1.oxp, AddOns/PAGroove_Stations_v1.2.1.oxp, AddOns/RandomHits1.3.5.oxp, AddOns/System_Redux.oxp, "AddOns/Thorgorn_Threat 1.2.oxp", AddOns/tori.oxp, AddOns/wolfwoods_variants.oxp, "AddOns/x-ships.oxp", AddOns/YOUR_AD_HERE.oxp, AddOns/YOUR_AD_HERE_set_A.oxp, AddOns/YOUR_AD_HERE_set_B.oxp, AddOns/YOUR_AD_HERE_set_C.oxp, AddOns/YOUR_AD_HERE_set_D.oxp, AddOns/YOUR_AD_HERE_set_E.oxp, AddOns/YOUR_AD_HERE_set_F.oxp)
[dataCache.rebuild.explicitFlush]: Cache explicitly flushed with shift key. Rebuilding from scratch.
[gnustep]: 2009-06-13 21:50:11.453 oolite[5524] could not convert to UTF8 string! bytes=059f1c59 len=6

[shipData.load.begin]: Loading ship data...
  [plist.parse.foundation.failed]: Failed to parse AddOns/Galactic_Navy.oxp/Config/shipdata.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite.
failed to parse as valid XML matching DTD
    [plist.homebrew.parseError]: ***** Property list error: closing tag </array> with no opening tag (expected </dict>).
    [plist.homebrew.parseError]: ***** Property list parser error: expected root element tokenization to be NSArray, but got (nil).
  [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")
  [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 "PAGroove-coriolis-reference" specifies no model.
  [shipData.load.error]: ***** ERROR: the shipdata.plist entry "PAGroove-icosahedron-reference" specifies no model.
  [shipData.load.error]: ***** ERROR: the shipdata.plist entry "dock-factory" specifies non-existent model "comfactory_dock.dat".
  [shipData.load.error]: ***** ERROR: the shipdata.plist entry "PAGroove-dodecahedron-reference" specifies no model.
[script.load.world.listAll]: Loaded 25 world scripts: "Anarchies" 2.1, "aquatics_equipment" 1.1, "aquatics_populator" 1.0, "AsteroidStorm" 3.52, "behemoth" 2.5.1, "bigShips_populator" 1.0, "Bounty Scanner" 1.04, "buoyRepair" 1.02, "communist_population", "deep_space_dredger" 2.2.2, "deep_space_pirates" 1.1, "dictatorship_population", "FuelStation-Setup" 1.00, "GalNavy" Build 0112, "hofd" GalNavy Build 102 / HOFD Build 53, "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, "OreProcessorGems" 1.51, "Pi-Forty-Two Con stores" , "Random_Hits", "System Redux 1.2" 1.2, "Thargorn_Witchspace_Battle" 1.2
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[debugTCP.connected]: Connected to external debug console "DebugConsole".
[script.AsteroidStorm.cleanup]: Asteroid Storm finished, or player in another galaxy. Disabling script.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "interceptor", having selected ship "comviper". Now 10 of 77 on slow path (12.987013%).
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'navystat75 1 psu 0 0 0.1' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT 'addShipsWithinRadius: picket-frigate 2 psu 0 0 0.1 5000' (should be 'addShipsWithinRadius: role number coordinate_system x y z r')
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT 'addShipsWithinRadius: picket-minesweeper 2 psu 0 0 0.1 5000' (should be 'addShipsWithinRadius: role number coordinate_system x y z r')
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT 'addShipsWithinRadius: picket-transport 3 psu 0 0 0.1 5000' (should be 'addShipsWithinRadius: role number coordinate_system x y z r')
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'picket-frigate 1 wpu 0 0 0.01' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT 'addShipsWithinRadius: picket-viper 4 wpu 0 0 0.01 500' (should be 'addShipsWithinRadius: role number coordinate_system x y z r')
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'picket-transport 1 psu 0 0 0.11' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.AsteroidStorm.cleanup]: Asteroid Storm finished, or player in another galaxy. Disabling script.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "sunskim-trader", having selected ship "workcom". Now 20 of 127 on slow path (15.748031%).
[bigShips_populator]: 1 big trader(s) added to the Anvere system.
[shipRegistry.selection.profile]: Hit slow path in ship selection for role "rockhermit", having selected ship "astromine". Now 30 of 236 on slow path (12.711864%).
[bigShips_populator]: 1 big trader(s) added to the Cerexe system.
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'navy-behemoth 1 wpu 0.000000 0.000000 0.500000' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'navy-frigate 1 wpu 0.000000 0.000000 0.510000' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'navy-frigate 1 wpu 0.000000 0.000000 0.490000' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT addShipsAtPrecisely: 'reserve-leader 1 wpu 0.000000 0.000000 0.020000' (should be addShipsAtPrecisely: role number coordinate_system x y z)
[script.addShips.failed]: SCRIPT ERROR in <anonymous actions> ***** CANNOT 'addShipsWithinRadius: reserve-ship 4 wpu 0.000000 0.000000 0.010000 1000.000000' (should be 'addShipsWithinRadius: role number coordinate_system x y z r')
I cannot find that missing </dict> anywhere in code.

Will anyone help me find that problem? I've looked multiple times for it myself, but to no avail.
Dream as if you'll live forever
Live as if you'll die tomorrow
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 »

Nemoricus wrote:
There is still the possibility that it may conclude without your involvement, even if you are in system.

What do people think of this change? For the record, it won't be part of the beta release on Monday, even if I successfully debug it before then.
I did wonder about that in the original...I think it would be great if the mission is only removed after finalization, and it would also be great if there were some sort of "hey, don't let us do all the work alone!" sort of message if the player is trying to avoid the battle ;)
Nemoricus wrote:
EDIT: I'm currently stuck trying to hunt down the source of a shipdata.plist error.

I cannot find that missing </dict> anywhere in code.

Will anyone help me find that problem? I've looked multiple times for it myself, but to no avail.
The only difference I see from your plist with other plists is, that you sometimes use dict and /dict within death-actions. Could that be the problem? EDIT: No, should not be it...I just found a similar setup in military fiasco.

Screet
Last edited by Screet on Sun Jun 14, 2009 7:19 am, edited 1 time in total.
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post by Lestradae »

Nemoricus wrote:
Will anyone help me find that problem? I've looked multiple times for it myself, but to no avail.
Morning exercise ...

I think there is no "</dict>" missing, but in line 3321, there is a lonely "</array>" that was never preceded by an "<array>" - take that out and the shipdata.plist should at least have no syntactical errors any more.

Oh, and I suggest to use this here:

http://validator.w3.org/#validate_by_input

... to check plist files - without it I would have gone insane many times.

Hope that helps

L
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6311
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: ..

Post by Diziet Sma »

Lestradae wrote:

Oh, and I suggest to use this here:

http://validator.w3.org/#validate_by_input

... to check plist files - without it I would have gone insane many times.

Hope that helps

L
How do you check a plist with it? When I tried, it just had a hissy-fit.. Well, it did when I uploaded it.. before that, as direct input, it crashed firefox... :evil:
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

Re: ..

Post by Lestradae »

Diziet Sma wrote:
How do you check a plist with it? When I tried, it just had a hissy-fit.. Well, it did when I uploaded it.. before that, as direct input, it crashed firefox... :evil:
Well, I do it via direct input - and I use IE8. %/&$%. Don't ask, but at least the direct input validation works.

Was to remove the rogue "</array>" a working solution?

Cheers

L
Post Reply