Page 4 of 24

Posted: Fri Jul 25, 2008 6:24 am
by Commander McLane
Ramirez wrote:
Been a bit busy with RL recently to do detailed Oolite work, but here are some designs of a ship that I'm provisionally calling the Banshee.

Image

I might make it a high speed cargo runner, better at going in a straight line than getting involved in dogfights.
I'm not completely certain, but I seem to recall that a ship called Banshee (or at least something very similar) already exists (or at least has existed at some point on Oosat2). You should perhaps check that before releasing it under that name.

Posted: Fri Jul 25, 2008 1:02 pm
by Amen Brick
Just in case you didn't know, you can 'lasso' areas of faces to delete/amend for fast editting as well as holding down the left mouse to 'collect' lines and vertices.

This will make editing less of a pain in Wings 3d

@Ramirez: Nice models! :)

Posted: Fri Jul 25, 2008 1:33 pm
by Disembodied
Commander McLane wrote:
I'm not completely certain, but I seem to recall that a ship called Banshee (or at least something very similar) already exists (or at least has existed at some point on Oosat2). You should perhaps check that before releasing it under that name.
I had the same feeling too... but searching around in various locations the closest I've been able to find is a Bandy-Bandy, which is probably what I was remembering. I think "Banshee" is still free. Not a bad name for the ship, either, if it's built for screaming in from out of the void!

Posted: Fri Jul 25, 2008 1:53 pm
by Amen Brick
Maybe we should have a handy thread listing for all ship names. I know we have the list on the wiki, but that's not complete nor as easily editable as the other pages either.

Posted: Sun Aug 03, 2008 9:42 pm
by Thargoid
A couple of quick questions, as I've just about got some ships ready for flight:

  • Is there a "system" OXP or any simple method of getting a specific ship in the game, to check it works and looks OK? Other than just waiting around until one randomly turns up? (and temporarily removing RS to help there).
  • As I'm on a PC, are there any tips or suggestions about putting the OXP files together to be MacOS compatible? I can set it up for a PC, not sure what should be in the Mac part though...
[/color]

Posted: Sun Aug 03, 2008 10:05 pm
by LittleBear
If you do a quick script like this :-

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>testship</key> 
   <array> 
      <dict> 
         <key>conditions</key> 
         <array> 
            <string>status_string equal STATUS_EXITING_WITCHSPACE</string>
         </array> 
         <key>do</key> 
         <array> 
	   <string>addShipsWithinRadius: my_test_ship 1 wpm 1000  1000 1000  4000</string>
	     </array> 
      </dict> 
   </array> 

</dict> 
</plist>

and also give your ship (just for testing) the role my_test_ship, they'll be one by the witchspace point everytime you jump. If you want to test its AI against other ships, you can also add police, military, traders (or whatever) with it.

The OXP format works on all OSs. So if it works on the PC the same files work on the Mac.

[/code]

Posted: Sun Aug 03, 2008 10:42 pm
by JensAyton
Thargoid wrote:
  • Is there a "system" OXP or any simple method of getting a specific ship in the game, to check it works and looks OK?
[/color]
Use the Debug OXP and Debug Console, and a JavaScript command such as:

Code: Select all

system.legacy_addSystemShips("your role", 1, 1)
For those fortunate enough to be using a Mac, the Debug OXP provides a menu item to do this. :-)

Posted: Mon Aug 04, 2008 8:32 am
by Thargoid

Thanks gentlemen. I'm obviously missing something though, as I can't get either to work? (WinXP, Oolite 1.71.2)

LB - is there a specific place/filename that the script needs to be placed? I've tried it under a few names in the config folder, should it be elsewhere, or a specific filename?

Ahruman - Got the console up and running, but the command doesn't seem to do anything (with "your role" replaced by "my_test_ship", from LB's suggestion.

For reference, the shipdata.plist for the ships is:

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>Manta</key>
	<dict>
		<key>aft_eject_position</key>
		<string>-0.488 -0.47 -13.5</string>
		<key>ai_type</key>
		<string>pirateAI.plist</string>
		<key>bounty</key>
		<integer>20</integer>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>10</real>
		<key>exhaust</key>
		<array>
			<string>6 -1.85 -9.6 6.0 3.9 10.0</string>
			<string>-6 -1.85 -9.6 6.0 3.9 10.0</string>
		</array>
	    <key>subentities</key>
	    <array>
   		   <string>*FLASHER* 4 5.6 -11 30.0 1 0.0 12</string>
   		   <string>*FLASHER* -4 5.6 -11 30.0 1 0.0 12</string>
       </array>
		<key>forward_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>rear_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>fuel</key>
		<integer>70</integer>
		<key>has_ecm</key>
		<true/>
		<key>has_escape_pod</key>
		<real>0.5</real>
		<key>has_fuel_injection</key>
		<true/>
		<key>has_scoop</key>
		<true/>
		<key>likely_cargo</key>
		<integer>4</integer>
		<key>max_cargo</key>
		<integer>6</integer>
		<key>max_energy</key>
		<real>256</real>
		<key>max_flight_pitch</key>
		<real>1.4</real>
		<key>max_flight_roll</key>
		<real>2.4</real>
		<key>max_flight_speed</key>
		<real>370</real>
		<key>max_missiles</key>
		<integer>4</integer>
		<key>missiles</key>
		<integer>4</integer>
		<key>missile_launch_position</key>
		<string>0.0 -1.68 10.5</string>
		<key>model</key>
		<string>Manta.dat</string>
		<key>name</key>
		<string>Manta</string>
		<key>roles</key>
		<string>my_test_ship pirate(0.25) hunter(0.25) trader</string>
		<key>thrust</key>
		<real>40</real>
		<key>view_position_aft</key>
		<string>0.0 -0.5 -25</string>
		<key>view_position_forward</key>
		<string>0.0 -0.5 45.0</string>
		<key>view_position_port</key>
		<string>-23.4 -0.6 -3.3</string>
		<key>view_position_starboard</key>
		<string>23.4 -0.6 -3.3</string>
		<key>weapon_position_aft</key>
		<string>0.0 0.0 -12.5</string>
		<key>weapon_position_forward</key>
		<string>0.0 0.0 41.166667</string>
		<key>weapon_position_port</key>
		<string>-13.4 -0.6 -3.3</string>
		<key>weapon_position_starboard</key>
		<string>13.4 -0.6 -3.3</string>
	</dict>
	<key>Shark</key>
	<dict>
		<key>aft_eject_position</key>
		<string>-0 -2.4 -9</string>
		<key>ai_type</key>
		<string>pirateAI.plist</string>
		<key>bounty</key>
		<integer>20</integer>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>10</real>
		<key>exhaust</key>
		<array>
			<string>0 0 -9.8 11.3 2.66 10.0</string>
		</array>
	    <key>subentities</key>
	    <array>
   		   <string>*FLASHER* 0 4.7 -5.83 30.0 1 0.0 12</string>
       </array>
		<key>forward_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>rear_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>fuel</key>
		<integer>70</integer>
		<key>has_ecm</key>
		<true/>
		<key>has_escape_pod</key>
		<real>0.2</real>
		<key>has_fuel_injection</key>
		<real>0.5</real>
		<key>has_scoop</key>
		<true/>
		<key>likely_cargo</key>
		<integer>4</integer>
		<key>max_cargo</key>
		<integer>10</integer>
		<key>max_energy</key>
		<real>300</real>
		<key>max_flight_pitch</key>
		<real>1.4</real>
		<key>max_flight_roll</key>
		<real>2.4</real>
		<key>max_flight_speed</key>
		<real>370</real>
		<key>max_missiles</key>
		<integer>4</integer>
		<key>missiles</key>
		<integer>4</integer>
		<key>missile_launch_position</key>
		<string>0.0 -1.6 5.76</string>
		<key>model</key>
		<string>Shark.dat</string>
		<key>name</key>
		<string>Shark</string>
		<key>roles</key>
		<string>my_test_ship2 pirate(0.15) hunter(0.15) trader</string>
		<key>thrust</key>
		<real>40</real>
		<key>view_position_aft</key>
		<string>0.0 0.0 -20</string>
		<key>view_position_forward</key>
		<string>0.0 0.0 20.0</string>
		<key>view_position_port</key>
		<string>-15 0.0 -0</string>
		<key>view_position_starboard</key>
		<string>15 0 0</string>
		<key>weapon_position_aft</key>
		<string>0 3 -9.3</string>
		<key>weapon_position_forward</key>
		<string>0.0 0.0 12.4</string>
		<key>weapon_position_port</key>
		<string>-9.8 -0.06 -6.56</string>
		<key>weapon_position_starboard</key>
		<string>9.8 -0.06 -6.56</string>
	</dict>
</dict>
</plist>

Based on the outrider.oxp shiplist, as that was the closest one I had to hand as an example.[/color]

Posted: Mon Aug 04, 2008 8:39 am
by LittleBear
In a script.plist in the OXP's Config folder should work. Try it just with the role my_test_ship in shipdata. If there is something wrong with your ship though, it won't appear and you'll get an error message logged to the stdrr file, but should tell you whats up with it.

Posted: Mon Aug 04, 2008 9:12 am
by Thargoid
Hmm, that's where I tried it.

Looking in Stdrr, looks like there's a problem in the plist somewhere:

Stdrr wrote:
2008-08-04 10:02:38.500 oolite.exe[3048] [plist.parse.foundation.failed]: Failed to parse AddOns/Aquatics.oxp/Config/script.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
2008-08-04 10:02:38.500 oolite.exe[3048] [plist.homebrew.parseError]: Property list isn't in XML format, homebrew parser can't help you.



Posted: Mon Aug 04, 2008 9:19 am
by JensAyton
The script LB posted is a valid XML property list, so you shouldn’t get that error. Possibly there are junk characters in the file, most likely at the beginning?

Posted: Mon Aug 04, 2008 9:43 am
by LittleBear
If you take an existing script.plist from an OXP that you know works. Then copy it to your OXP's config folder. Delete all the text from it and paste in the new stuff, that should work. Because .plist is a Mac format, I've found on the PC you need to take a file that was saved on a Mac and then mod it (by deleting all the text and starting again) in order to keep the right file format. Most PC text editors won't save it in a readable format by just calling a new file .plist.

Posted: Mon Aug 04, 2008 9:48 am
by Thargoid
OK, now we're getting somewhere.

I've recopied the script into a fresh file via notepad, and now the Shark("my_test_ship2") is working.

The Manta still isn't, but it looks like from Stdrr that there's a problem with the texture, as it's not showing up in the dat file for some reason. Maybe the ship's too complex (241 polygons, 485 edges, 246 vertices). Will simplify it and carry on playing.

Posted: Mon Aug 04, 2008 11:10 am
by Commander McLane
Thargoid wrote:
Maybe the ship's too complex (241 polygons, 485 edges, 246 vertices). Will simplify it and carry on playing.
I hope you are aware that Oolite doesn't accept "polygons", only triangles? Otherwise the numbers seem to be within the limits.

Posted: Mon Aug 04, 2008 11:36 am
by Thargoid
I am, that's the data from Wings.

The dat file says 246 verts and 484 faces, I think the latter being the problem? I'll try tesselating it and then seeing what can be removed.

The Manta is quite a complex shape, a little more than the Shark.