The Shipyard at the End of the Ooniverse. Modeller's bit.

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

Moderators: winston, another_commander

User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

The dredger-ds from dredgers and the SIRF repair yard from Realistic Shipyards both are ship entities with shipyards. They used to work under v1.71.2, must admit I didn't check on v1.72 yet.

But in any case I've released the OXP (Planetfall OXP). If it needs updating once the shipyard bug is fixed in a released version that can be done. It works for trading on-planet anyway.

And for the re-edit question, the wiki says:

In the wiki someone clever wrote:
hasShipyard
Determines if a station or carrier has a shipyard. By chance factor, or true/false, but value can also be an array of conditions.
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 »

The SIRF-shipyards from RS are working.

Well, except the TL not being used correctly, that is - if you have a system TL of say, 3, and an oxp station TL of say 12 you`ll get TL 3 and 12 ships mixed together in the oxp station instead of only TL 12 ones.

A bug I filed with Berlios and mentioned one or another time here on the boards :wink:

I think the reason they are basically working is that they are written in legacy script - and, I guess, that one works, even if the OpenStep version "hasShipyard" doesn`t.

Cheers 8)

L
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Lestradae is correct (apart from confusing XML plist syntax with legacy scripts, which can be written in any plist syntax): using hasShipyard with <true/>, <false/> or a probability works in XML format but not OpenStep syntax. Using condition terms (hey look, a legacy script) should work in either syntax:

Code: Select all

hasShipyard = ( "galaxy_number lessthan 42" /* always true */ );
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Re: ...

Post by another_commander »

Lestradae wrote:
Well, except the TL not being used correctly, that is - if you have a system TL of say, 3, and an oxp station TL of say 12 you`ll get TL 3 and 12 ships mixed together in the oxp station instead of only TL 12 ones.

A bug I filed with Berlios and mentioned one or another time here on the boards :wink:
Disclaimer: I have not read what is written in the wiki about this and have not had the time to look at the code (nor do I think I will have the time in the immediate future), so I hope to be preemptively excused if what I state is wrong, but:

Why would a TL 12 station not have TL3 (and 4,5,6, etc.) ships in its shipyard? Isn't that expected behaviour?
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

Ahruman wrote:
Lestradae is correct (apart from confusing XML plist syntax with legacy scripts, which can be written in any plist syntax): using hasShipyard with <true/>, <false/> or a probability works in XML format but not OpenStep syntax. Using condition terms (hey look, a legacy script) should work in either syntax:

Code: Select all

hasShipyard = ( "galaxy_number lessthan 42" /* always true */ );
Hmm, just made the game crash for me when I tried it in the Planetfall shipdata.plist and "landed on the planet" (ie docked with the temporary station that has the hasShipyard entry).

Needs a little more investigation methinks.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: ...

Post by Commander McLane »

another_commander wrote:
Lestradae wrote:
Well, except the TL not being used correctly, that is - if you have a system TL of say, 3, and an oxp station TL of say 12 you`ll get TL 3 and 12 ships mixed together in the oxp station instead of only TL 12 ones.

A bug I filed with Berlios and mentioned one or another time here on the boards :wink:
Disclaimer: I have not read what is written in the wiki about this and have not had the time to look at the code (nor do I think I will have the time in the immediate future), so I hope to be preemptively excused if what I state is wrong, but:

Why would a TL 12 station not have TL3 (and 4,5,6, etc.) ships in its shipyard? Isn't that expected behaviour?
What Lestradae wants to say (I think) is that the equivalent_techlevel-key doesn't influence a scripted station's shipyard, only its equipment department. The choice of ships in any scripted station is only determined by the system's techlevel. Which may look weird, if the scripted techlevel of an additional station is way above (or below) the system's (and therefore main station's) techlevel. So if you have a TL 3 station (or carrier) in a TL 12 system, it will only have low-tech equipment for sale, but high-tech ships.
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 »

Hi guys,

@Ahruman:
apart from confusing XML plist syntax with legacy scripts, which can be written in any plist syntax
I stand corrected :wink:

So, legacy scripts are any Oolite scripts that are not JS, then? Or am I getting it wrong again?

@another_commander:
Why would a TL 12 station not have TL3 (and 4,5,6, etc.) ships in its shipyard? Isn't that expected behaviour?
Just noted that I did not express myself clearly.

The thing is this: If I specify certain ships to be bought only in a span of TLs (i.e., say, only between TL 5 and 9, because it`s too high-tech and can`t yet be built by TL 4- shipyards and is too crappy and dangerous for TL 10+ ones) this works in the main station`s shipyard.

In oxp`ed stations that have a different TL from the system TL the whole trick works with equipment - but not with ships.

So that in the TL 3 and 12 example (assume there were ships that are only available at one of those TLs) the oxp TL 12 station would have TL 3 (system TL) and TL 12 (oxp station TL) ships mixed together.

In equipment shops, the method works as intended for equipment, also in oxp stations.

@Commander McLane:
What Lestradae wants to say (I think) is that the equivalent_techlevel-key doesn't influence a scripted station's shipyard, only its equipment department. ... So if you have a TL 3 station (or carrier) in a TL 12 system, it will only have low-tech equipment for sale, but high-tech ships.
That is what I wanted to say, yes. With the little addition that it will have high-tech and low-tech ships mixed together, which is, for my purposes, not wanted behaviour.

Hope my response was more to the point this time :?: :oops:

L
User avatar
Spite
Mostly Harmless
Mostly Harmless
Posts: 3
Joined: Sun Nov 30, 2008 10:16 am
Location: UK
Contact:

External Views Problem

Post by Spite »

I played Elite way back when on an Electron and looked for something similar a year ago. The nearest I came was Vega Strike but something wasn't quite right. Anyhow whilst browsing through Adept Installer in Ubuntu I found Oolite. Top job all involved.

OK so I started to design my own ship .oxp. I've worked through the help on this forum and wiki with great success so far and after a week I have a ship that works (or is beginning to work). Screenshot below

Image

There's some work to be done in the shipdata.plist file - exhaust positions etc - but the real headache its giving me at present is the lack of external views. I have the custom views pasted in from a Cobra MkIII, however, the "V" key will not show or cycle through the views. The custom views are in there so in theory I thought they should be working.

I'm using Windows XP for the moment and Oolite-1.72-test.
I test the oxp by having a "test save" commander with this ship and the preview rotating image is all working ok and everything I have sorted out so far works. Just not the external views.

Any help would be greatly appreciated.

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">
<dict>
	<key>vindicator</key>
	<dict>
		<key>aft_weapon_type</key>
		<string>WEAPON_MILITARY_LASER</string>
                <key>ai_type</key>
		<string>supercobraAI.plist</string>
		<key>bounty</key>
		<integer>100</integer>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>7</real>
		<key>exhaust</key>
		<array>
			<string>-19 0.0 -21.5 15.0 7.5 20</string>
			<string>19 0.0 -21.5 15.0 7.5 20</string>
		        <string>-42 0.0 -21.5 5 5 15</string>
                        <string>42 0.0 -21.5 5 5 15</string>
                </array>
		<key>forward_weapon_type</key>
		<string>WEAPON_MILITARY_LASER</string>
		<key>has_ecm</key>
		<true/>
		<key>has_escape_pod</key>
		<true/>
		<key>has_fuel_injection</key>
		<true/>	
                <key>has_scoop</key>
		<true/>
		<key>likely_cargo</key>
		<integer>10</integer>
		<key>max_cargo</key>
		<integer>40</integer>
		<key>max_energy</key>
		<real>450</real>
		<key>max_flight_pitch</key>
		<real>1.2</real>
		<key>max_flight_roll</key>
		<real>2.2</real>
		<key>max_flight_speed</key>
		<real>450</real>
		<key>missiles</key>
		<integer>4</integer>
		<key>model</key>
		<string>vindicator.dat</string>
		<key>name</key>
		<string>vindicator</string>
		<key>roles</key>
		<string>vindicator</string>
		<key>thrust</key>
		<real>41</real>
		<key>weapon_energy</key>
		<real>19</real>
		<key>weapon_offset_x</key>
		<real>0</real>
	</dict>
<key>vindicator-player</key>
	<dict>
		<key>energy_recharge_rate</key>
		<real>7</real>
		<key>exhaust</key>
		<array>
			<string>-19 0.0 -21.5 15.0 7.5 20</string>
			<string>19 0.0 -21.5 15.0 7.5 20</string>
                        <string>-42 0.0 -21.5 5 5 15</string>
                        <string>42 0.0 -21.5 5 5 15</string>		
                </array>
		<key>forward_weapon_type</key>
		<string>WEAPON_MILITARY_LASER</string>
		<key>hud</key>
		<string>hud.plist</string>
		<key>laser_color</key>
		<string>redColor</string>
		<key>max_cargo</key>
		<integer>40</integer>
		<key>max_energy</key>
		<real>450</real>
		<key>max_flight_pitch</key>
		<real>1.2</real>
		<key>max_flight_roll</key>
		<real>2.2</real>
		<key>max_flight_speed</key>
		<real>450</real>
		<key>max_missiles</key>
		<integer>4</integer>
		<key>missiles</key>
		<integer>4</integer>
		<key>model</key>
		<string>vindicator.dat</string>
		<key>name</key>
		<string>vindicator</string>
		<key>roles</key>
		<string>player</string>
		<key>thrust</key>
		<real>41</real>
</dict>
<key>custom_views</key>
      <array>
         <dict>
				<key>view_description</key>
				<string>External View 1</string>
				<key>view_position</key>
				<string>0.0 10.0 -100.0</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 2</string>
				<key>view_position</key>
				<string>75 10.0 -75</string>
				<key>view_orientation</key>
				<string>0.9239 0.0 0.3827 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 3</string>
				<key>view_position</key>
				<string>100.0 10.0 0.0</string>
				<key>view_orientation</key>
				<string>0.7071 0.0 0.7071 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 4</string>
				<key>view_position</key>
				<string>75 10.0 75</string>
				<key>view_orientation</key>
				<string>0.3827 0.0 0.9239 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 5</string>
				<key>view_position</key>
				<string>0.0 10.0 100.0</string>
				<key>view_orientation</key>
				<string>0.0 0.0 1.0 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 6</string>
				<key>view_position</key>
				<string>-75 10.0 75</string>
				<key>view_orientation</key>
				<string>0.3827 0.0 -0.9239 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 7</string>
				<key>view_position</key>
				<string>-100.0 10.0 0.0</string>
				<key>view_orientation</key>
				<string>0.7071 0.0 -0.7071 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>External View 8</string>
				<key>view_position</key>
				<string>-75 10.0 -75</string>
				<key>view_orientation</key>
				<string>0.9239 0.0 -0.3827 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
      </array>
</dict>
</plist>
Last edited by Spite on Mon Dec 01, 2008 10:10 am, edited 2 times in total.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Can you please post the shipdata.plist contents? Any messages in Latest.log about failure to parse shipdata?
User avatar
Spite
Mostly Harmless
Mostly Harmless
Posts: 3
Joined: Sun Nov 30, 2008 10:16 am
Location: UK
Contact:

Post by Spite »

Thanks that was quick!!

Yes they are in the above post edited. The forum wouldn't let me post until I had removed them and the URL. My original post did include the ship list.

Code: Select all

[gnustep]: 2008-12-01 10:11:25.937 oolite[2652] File NSBundle.m: 1233. In [NSBundle -initWithPath:] NSBundle -initWithPath: requires absolute path names, given 'oolite.app'

[log.header]: Opening log for Oolite version 1.72 (x86-32 test release) under Windows at 2008-12-01 10:11:25 +0000.
1 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: 1152 x 864
[rendering.opengl.version]: OpenGL renderer version: 1.3.0 ("1.3.0 - Build 4.14.10.4396")
Vendor: Intel
Renderer: Intel 865G
[rendering.opengl.extensions]: OpenGL extensions (41):
GL_ARB_multitexture GL_ARB_point_parameters 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_env_crossbar GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_cull_vertex GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_WIN_swap_hint 
[rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
[searchPaths.dumpAll]: ---> OXP search paths:
(oolite.app/Resources, AddOns, AddOns/Debug.oxp, AddOns/externalviews.oxp, AddOns/FighterHud.oxp, AddOns/jabberwocky.oxp, AddOns/supercobra.oxp, AddOns/System_Redux.oxp, AddOns/Vindicator.oxp, AddOns/Zzzz_Realistic_Shipyards_V3.02b.oxp)
[dataCache.upToDate]: Data cache is up to date.
[script.load.world.listAll]: Loaded 29 world scripts: "clipperschedule", "dredger_appearance", "ExecutiveFlightSchedule", "frog_show", "hatchling_show", "missionaries", "oolite-cloaking-device" 1.72, "oolite-constrictor-hunt" 1.72, "oolite-nova" 1.72, "oolite-thargoid-plans" 1.72, "oolite-trumbles" 1.72, "SalezaPatrol", "SIRFYardStation0", "SIRFYardStation1", "SIRFYardStation10", "SIRFYardStation11", "SIRFYardStation12", "SIRFYardStation13", "SIRFYardStation14", "SIRFYardStation2", "SIRFYardStation3", "SIRFYardStation4", "SIRFYardStation5", "SIRFYardStation6", "SIRFYardStation7", "SIRFYardStation8", "SIRFYardStation9", "supercobra_placement", "System Redux 1.0" 1.2
[debugTCP.disconnect]: Debug console disconnected with message Lost connection to remote debug console. Stream status: 7. Stream error: A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.


[debugTCP.connect.failed]: Failed to connect to debug console at 127.0.0.1:8563.
[dataCache.willWrite]: About to write data cache.
[dataCache.write.success]: Wrote data cache.
[plist.parse.foundation.failed]: Failed to parse C:\Program Files/Oolite/oolite.app/oolite-saves/Chris1.oolite-save 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.
Parse failed at line 1 (char 1) - extra data after parsed string
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (contracts) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (market_rnd) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (max_cargo) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (max_passengers) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missile_roles) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <array>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missiles) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missionDestinations) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (passengers) found when expecting a value, treating as <string>.
  [plist.homebrew.success]: Successfully interpreted property list... for now.
[plist.parse.foundation.failed]: Failed to parse C:\Program Files/Oolite/oolite.app/oolite-saves/Copy of Chris.oolite-save 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.
Parse failed at line 1 (char 1) - extra data after parsed string
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (contracts) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (market_rnd) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (max_cargo) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (max_passengers) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missile_roles) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <array>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missiles) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: expected <key>, got <integer>. Allowing for backwards compatibility, but the property list will not function as intended.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (missionDestinations) found when expecting a value, treating as <string>.
  [plist.homebrew.parseWarning]: ----- Bad property list: <key> element (passengers) found when expecting a value, treating as <string>.
  [plist.homebrew.success]: Successfully interpreted property list... for now.
[mesh.load.failed.fileNotFound]: ERROR - could not find Tester.dat
[files.notFound]: ----- WARNING: Could not find texture file "Glass2". Used default no textures material instead.
[files.notFound]: ----- WARNING: Could not find texture file "Glass2". Used default no textures material instead.
[ship.sanityCheck.failed]: Ship <ShipEntity 0xb66e5d8>{"Navy Juggernaut" ID: 0 position: (0, 0, 0) scanClass: CLASS_NOT_SET status: STATUS_IN_FLIGHT} generated with missing subentity behe-dockv2!
[gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2008-12-01 10:12:11 +0000.
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

You've got a </dict> key just above the custom view key that's in the wrong place. It should go at the bottom below the custom view keys array. Basically the <dict></dict> keys should surround the whole list, and then there should also be pairs for each ship entity (e.g. one for the vindicator and one for the vindicator-player one). At the moment as your </dict> key is in the wrong place it's separating the custom view key from the player ship entity, hence why it's not showing up.

If you remove the </dict> from just above the custom view key and put it in at the bottom of the file near the existing </dict> key (so there will be two </dict> entries and a </plist> one) then you should have more success.

The custom view key has to be defined separately for each ship that has them (and it's only relevant for player ships) as the view positions can vary from ship to ship.
User avatar
Spite
Mostly Harmless
Mostly Harmless
Posts: 3
Joined: Sun Nov 30, 2008 10:16 am
Location: UK
Contact:

Post by Spite »

Many thanks that's resolved it. One too many [dict]s - what a dict head I've been.
"Son of a gun we'll have big fun in the BIOS"
User avatar
Selezen
---- E L I T E ----
---- E L I T E ----
Posts: 2530
Joined: Tue Mar 29, 2005 9:14 am
Location: Tionisla
Contact:

Post by Selezen »

There are a LOT of darned good textures cropping up these days - far better than anything I've been coming up with. Are people making these from scrath? If so, is there any chance of a tutorial so I can try and improve my texturing abilities? :-)
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

Simple question, are there any other shipdata.plist keys for docking/docks except "port_radius" and "port_dimensions"? As there's nothing in the wiki (those two aren't even listed).

I'm curious as I'm trying to get a fairly large rectangular ship together with a dock, but the docking ship flies through the dock and docks "within" the ship at a distance port_radius from its centre (or seems to).

I could make port_radius larger, but then if you approach the ship from the side aiming at it's middle you'll probably end up docking. Or is this a limitation and why dockable entities tend to be fairly rectangular or quasi-spherical?

If I make a "separate" entity for the dock with port_radius in it then everything works, but if I then incorporate that entity (minus excess keys) into the ship as a subentity (still with the port_radius key in the now subentity) the radius is now centred upon the centre of the "main" ship, rather than the subentity. Ergo I dock in the middle of the ship not the middle of the dock :evil:

Is there a key to (re)define the centre of the port_radius away from the centre of the main entity ship's centre?
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

port_radius is deprecated. If there is a subentity whose name starts with “dock” (lowercase), its position and orientation are used and port_radius is ignored. port_dimensions is still used, though (default: 69x69x250).
Post Reply