Ship Respray OXP
About this OXP
This OXP provides a way to quickly switch the style of your ship, using whatever OXP player templates you have installed of the same class type. That is, if you are flying a Cobra Mark III, and you have Z_Groovy's Variety Packs installed, you can quickly and easily give your ship a new paint job, without having to mess about in the save game file.
There are a couple of variations for the Cobra Mark III, Cobra Mark I and the Python that come with Oolite by default, but not that many. For this OXP to do something really useful you need to have some extra ship OXP's installed. For instance:
- Griff Industries
- Staer9's Shipset
- Dertien's Repaint Variety Pack
- Deepspace ships
- gsagostinho's Texture Packs (available in the extension manager in the game)
You can get a lot of additional shipsets from the download manager inside Oolite.
Once this OXP is installed a menu will appear on the ship outfitting screen, labelled "Ship Respray". When you select this, a new screen will appear, listing all the available resprays for your ship. Select one of these, and you can then see what the respray will look like on your ship. Some ship models use the "entityPersonality" to adjust the look of the ship. You can select a random personality by selecting "Change personality".
Once you have selected a model, and found a personality look-and-feel you like, to go ahead with the paint job, select "Purchase this respray" from the menu. The amount of time it will take to do the respray is showing on the menu item, and can be anywhere from 24 to 60 hours, depending on the size of the vessel.
This OXP uses the Ship Storage Helper to update the players ship to the selected model.
This OXP is slightly different to the "Respray for Griffs" OXP by Capt Murphy, as this will work with OXP's other than Griffs, and in no-shader mode.
3rd Party Interfaces
As mentioned, this OXP uses the Ship Storage Helper to switch the player ship between different ship variants. However, there are times when SSH doesn't know of some important configuration setting specific to your OXP. To overcome this scenario and allow an OXP to perform specialised operations before or after the player's ship is stored using the Ship Storage Helper, the following interfaces are provided:
var sr = worldScripts.ShipRespray; sr.$addPreSprayCall("my_worldscript_name", "my_functionname"); sr.$addPostSprayCall("my_worldscript_name", "my_functionname");
The "$addPreSprayCall" adds a worldScript/functionName combination to the list of functions that will be called prior to the respray.
The "$addPostSprayCall" adds a worldScript/functionName combination to the list of functions that will be called after the respray.
This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
The expansion pack was developed by phkb.
Image from https://icons8.com/
- Added the ability to stop the ship model spinning, to make it easier to view a paint job.
- Removed the shipyard.plist entry for the Python Blackdog.
- Changed background overlay image.
- Removed the Python Blackdog from being an equivalent to the standard Python (it has a slightly different body shape).
- Cleaned up the background overlay image.
- Turned off some debug messages.
- Limited respraying services from being offered at rock hermits, as it doesn't seem likely they'd offer the service.
- Added routines to allow 3rd party OXP's to have functions called both pre and post a respray, in case specialised setup needs to be performed before or after changing ships.
- Updated check for "Allow Big GUI".
- Fixed error when leaving the ship respray selection screen without making a selection.
- Added a "job completed" message.
- Changed "==" comparisons to "===" for performance improvements.
- Fixed max_cargo size of oolite-cobra3-alternate-player, which is based on oolite_template_cobra3-alternate, which has a larger than standard max_cargo setting.
- Fixed various settings for the additional player versions of the Cobra Mk1 and Python ships so they match the standard versions of those ships.
- Added a shipdata override for some OXP ships to correct some bugs.
- Small text tweaks.
- Updated screenID's to enable BGS background sounds.
- Renamed background overlay image to prevent possibility of future duplication.
- Toned down overlay image.
- Added overlay background image to initial interface screen.
- Added a missing semi-colon in the manifest file.
- Added routine to use 1.83/4 code to check for big GUI HUD's.
- Fixed shipdata.plist entries for alternate Cobra Mk3's having reduced max speed and thrust.
- Added check for "allo_big_gui" HUD's
- Added menu option to turn on/off view of ship data keys
- Improvements to the auto selection of menu items.
- Removed ship keys from screen interfaces
- Added some extra shipdata.plist and shipyard.plist entries so the player can choose from the built-in variations of the Cobra Mk III, Cobra Mk I, and the Python.
- Fixed a bug where the current page index was not being reset when opening the respray interface.
- For Oolite 1.82 and later, added an "installation_time" of 1 second to the equipment item, so opening the respray screen doesn't take any time.
- For Oolite 1.80, changed the cost of the equipment item to zero, so only 10 minutes of time is taken up when opening the initial page.
- Added a mass-based installation time calculation to the end of the process. So, respraying a Boa takes longer than respraying an Adder.
- The "Purchase this respray" option now also includes the installation time.
- Fixed a bug where doing a respray, buying a new ship and doing another respray could end up with a confused menu.
- Code cleanup
- Initial release
|1.3.3||2017-08-03||CC BY-NC-SA 4.0||Get a new paint job on your ship||Ambience OXPs||phkb||Oolite BB|