Page 1 of 1

Exterior views

Posted: Mon Feb 05, 2007 3:40 pm
by Cos
Probably a bit of a nooby question but, how would you alter the standard exterior view (say on the cobra mk III at the begining of a game) so that they are not so close to the ship?
Not really a huge problem but I find if you upgrade to anything bigger then you dont get a proper look at your own ship.

Cheers

Cos :) :)

Posted: Tue Feb 06, 2007 8:21 am
by Commander McLane
You can change the external views, but you have to alter the code of the game itself. Don't worry, it's not that hard. The way you get into the game depends on which computer you are playing on. What follows here is an instruction for Mac. Windows or Linux should be different.

I had the same feeling that the viewpoints were to close, so I increased the distance a bit. Also I corrected the small bug with their numeration, where you have EXTERNAL VIEW 3 twice and no 8. And last I added two more views, a DOWN VIEW and an UP VIEW. If you don't like those then just erase the last to blocks of code from <dict> to </dict>.

So what you have to do is to have a look into your Oolite-Application. To do that on a Mac you right-click/ctrl-click on the program and choose "Open Package" from the context menu. It opens like a folder. In that folder you have to open -> Content -> Resources -> Config and find "shipdata.plist". Open it with a text editor.

In shipdata.plist are the definitions of all the original ships in Oolite, non-player and player version. For each player version there is a definition of the external views, so if you want to change them for all ships, you have to find and change them all.

Search for the following lines:

Code: Select all

<key>custom_views</key>
<array>
Then replace everything that follows up to the command

Code: Select all

</array>
with the following code:

Code: Select all

<key>custom_views</key>
      <array> 
         <dict> 
            <key>view_description</key> 
            <string>External View 1</string> 
            <key>view_position</key> 
            <string>0.0 20.0 -141.42</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>100.0 20.0 -100.0</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>141.42 20.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>100.0 20.0 100.0</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 20.0 141.42</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>-100.0 20.0 100.0</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>-141.42 20.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>-100.0 20.0 -100.0</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>Down View</string> 
            <key>view_position</key> 
            <string>0.0 150.0 0.0</string> 
            <key>view_orientation</key> 
            <string>-0.7071 0.7071 0.0 0.0</string> 
            <key>weapon_facing</key> 
            <string>FORWARD</string> 
         </dict> 
         <dict> 
            <key>view_description</key> 
            <string>Up View</string> 
            <key>view_position</key> 
            <string>0.0 -150.0 0.0</string> 
            <key>view_orientation</key> 
            <string>0.0 0.0 0.7071 0.7071</string> 
            <key>weapon_facing</key> 
            <string>FORWARD</string> 
         </dict> 
      </array> 
Remember, you have to do that for ALL appearances of the <key>custom_views</key>-command.

Save your work, and you're finished.

If you at some point choose to buy a ship, which is not from the original game, but from an OXP, you will have to do the same thing with the OXP-file. Open the package, open the shipdata.plist with a text editor, replace the block of code beginning with the <key>custom_views</key>-command. If there are no custom views included yet (especially ships in older OXP don't yet have external views), then you can insert the whole block anywhere in the code of the player ship. (Only the player ship needs it, for non-player ships it's useless.)

Posted: Tue Feb 06, 2007 5:23 pm
by Cos
Thanks Commander, tried it and changed views on the anacondas and Boa's, they look much better now!!

Cheers

Cos :D :D

Posted: Mon Feb 12, 2007 9:43 am
by Commander McLane
Thanks, Cos!

Actually I now had a deeper look into the external view thing and found out that even the increased view distances don't work for all ships. So for the Boas and especially the Anaconda it's better now, but still not good. On the other hand side, the Adder looks too small with the increased distances.

So what I now have done is adjusting the viewpoints to the sizes of the ships for all of the original ships and put that into an oxp. (Just copying the shipdata of all player ships and changing the external views definitions.) I'm going to put it on Oosat as soon as possible. It will be called externalviews.oxp.

But before doing that I guess I have to register at Oosat first, so it can take a little while.

Posted: Mon Feb 12, 2007 12:05 pm
by Dr. Nil
Good job on the views. I used them for the civilian Ray MK-I in Commies