Xenon Redux UI OXP
By Nick Rogers

About this OXP
==============
This OXP replaces all background UI screens with a new look and feel, based on the assumption that the Oolite UI screens are accessed through some form of computer terminal. 

The method used to add the backgrounds will mean that the background images of most other OXP's, if they set a background, will be overridden with the Xenon UI images. This is by design. 

If an OXP uses background images to convey important information to the player, and the "mission.runScreen" command in the OXP has a "screenID" parameter attached, it is possible to add exceptions to the override by adding the following code to a worldScript:

	var w = worldScripts.XenonReduxUI;
	if (w) w.$addMissionScreenException("mymissionscreenid");

The OXP is made up of two parts: the main XenonReduxUI.oxz, which holds all the config and code, and the XenonReduxUIResources.oxz, which holds all the images. This will allow fast updates to the code section, which is small, without having to download the large resources file regularly.

The images in this OXP are designed screens narrower than 16:10 (eg. 4:3). For a 16:9 and 16:10 screen version, see the XenonUI.oxz.

BGS 1.10 Compatibility
======================
Xenon Redux UI is compatible with BGS v1.10, but depending on where each one is installed, one OXP may end up taking priority over the other when backgrounds are selected and displayed. When BGS has priority, its images will be displayed ahead of the Xenon Reduc UI images. This will be particular apparent on screens like the title page or the load/save page.

If both OXP's (Xenon Redux UI and BGS) are installed in the Addons folder, Xenon Redux UI will normally take priority over BGS.

If both OXP's are installed via the download manager, again, Xenon Redux UI will normally take priority over BGS.

If BGS is installed via the download manager, and Xenon UI is installed in the AddOns folder, Xenon Redux UI will take priority over BGS.

If Xenon UI is installed via the download manager, and BGS is installed in the AddOns folder, BGS will take priority over Xenon Redux UI.

To ensure the Xenon Redux UI backgrounds appear, the best approach is to make sure they are both installed in the same location.

If you encounter issues where the BGS backgrounds are being displayed rather than the Xenon Redux UI ones, you will need to open the BGS OXP folder, then open the Config folder. Inside Config you will find a 'screenbackgrounds.plist' file. Either remove this or re-name it - perhaps re-name it to 'screenbackgrounds.Xplist' - and the Xenon Redux UI backgrounds will be used without affecting any other aspect of BGS. By re-naming 'screenbackgrounds.plist' rather than removing it you have the option of switching back easily if required.

BGS 2.0 Compatibility
=====================
Xenon Redux UI will hook into Library GUI to register itself as a GUI set. Therefore, you can go to the Library GUI settings and change between BGS 2.0 and Xenon Redux UI anytime you like. 

Because of the way the images are created, Xenon Redux UI is still utilising settings in "screenbackgrounds.plist", which may lead to some inconsistencies. For instance, if Xenon Redux UI and BGS 2.0 are installed, when you start Oolite and select the option to open a saved commander, the background will be Xenon Redux UI. Once you have loaded a game, if you then press F2 to load a new game, you will see the BGS background.

Licence
=======
This OXP is released under the Creative Commons Attribution - Non-Commercial - Share Alike 3.0 license. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/

Briefcase image form http://simpleicon.com/briefcase-3.html
Rocket image form http://simpleicon.com/rocket.html
ID Card from http://simpleicon.com/id_card-2.html
Power icon from http://simpleicon.com/switch_button_1.html
Report icon from http://simpleicon.com/note-11.html
Gears icon from http://simpleicon.com/gear-6.html
Load icon from http://simpleicon.com/upload_2.html
Save icon from http://simpleicon.com/download_2.html
Interface icon from http://simpleicon.com/retweet.html
Settings icon from http://simpleicon.com/setting.html
Keyboard icon from https://commons.wikimedia.org/wiki/File:High-contrast-input-keyboard.svg
Trolley icon from http://simpleicon.com/shopping_trolley_1.html
Clipboard icon from http://simpleicon.com/admite_form_1.html
Tag image from http://simpleicon.com/tag-2.html
Gamepad image from http://simpleicon.com/gaming_remote.html
Question mark image from http://simpleicon.com/question_mark_1.html
Warning image from http://simpleicon.com/warning.html

Version History
===============
3.6 
- Added fix for issue where the HUD being turned on/off could result in the wrong size UI screen being shown.

3.5
- Bug fixes.

3.4
- Bug fixes.

3.3
- Fixes for Ships Library, Sothis TC, New Cargoes and Iron Raven to restore background images.

3.2
- Improvements in BGS compatibility.

3.1
- Updated compatibility with Library 1.7.

3.0
- Added "Amber" background option (selectable via Library Config).
- Code refactoring.

2.1.5
- Improvements in Library GUI integration.

2.1.4
- Improved coverage of different mission screen sequencing scenarios. (Oolite 1.85/86 required)
- Improved integration with XenonUI via Library GUI.
- Applied new screenbackgrounds added in v1.87 ("custom_chart_mission").

2.1.3
- Fixed incorrect key lookup with mission screen overlays.
- Fixed issue with turning off overlay images with Library GUI.
- Disabling background images on a mission screen will now also disable any overlays as well.
- Bug fixes.

2.1.2
- Bug fixes.
- Included check for resources pack during startup.

2.1.1
- Rejigged connection to Library GUI for nicer handovers when GUI's change.

2.1.0
- Updated for simpler integration with Library GUI.
- Code refactoring.

2.0.4
- Adjusted the Random Hits screen ID exception.

2.0.3
- Hopefully fixed issues with mission screens losing the Xenon Redux UI theme.

2.0.2
- Updated title screen image.

2.0.1
- Fixed compatibility issue with HDBG when using Library GUI.

2.0.0
- Made compatible with Library GUI, and enabled it to be installed alongside Xenon UI, if required.
- Added some configuration settings to Library Config.
- Added additional overlays to various data screens.
- Fixed some image file naming errors.
- Code cleanup.

1.3.4
- Added "oxz-manager" to screenbackgrounds.plist.
- Changed "==" comparisons to "===" for performance improvements.

1.3.3
- Fixed "p is null" error.

1.3.2
- Update Nova Mission screen ID's to match core.

1.3.1
- Updated check for "Allow Big GUI".

1.3.0
- Changed new game background to the 'no hud' variant.
- New title screen image.
- Added mission screen overlays. Can be disabled by setting "this._disableOverlays = true;" in "xenonreduxui.js".
- Fixed issue with BGS where the F6 overlay image was being removed.
- Fixed issue where exiting the Ship Library screen would sometimes show the wrong background.
- Added mission screen exception for Random Hits.

1.2.1
- Added screenID exceptions for UPS Courier.
- Added screedID exceptions for Escort Contracts (v1.6.3).
- Added routine to use 1.83/4 code to check for big GUI HUD's.

1.2.0
- Updated all images to be 2048x1024 to stop Oolite from rescaling them. Results in a much cleaner image
- Checks for the "allow_big_gui" option on HUD's. Uses the "nohud" background variations when found.
- Fixed issue where the wrong background was being selected going to or from the F8 Market screen if Market Observer is installed.
- Fixed issue with mission screens that exit to the short or long range chart, where the wrong background was being displayed.
- Added screenID's to nova mission screens.
- Added screenID exceptions for Rescue Stations.
- Added screenID exceptions for Blackmonks.

1.1.3
- Adjusted the main title colour to match with the background.
- Fixed issue with Trumbles and Nova missions not showing proper background image.
- Changed license of code section to CC-BY-NC-SA 3.0 due to inclusion of trumbles and nova mission code.

1.1.2
- Changed manifest identifier to try and position the OXP at the bottom of the install list

1.1.1
- Fixed bug where "." is missing before "indexOf".

1.1.0
- Split OXZ into two, one for resources (music and images), one for the code and config.
- Fixed file name issue for one of the files.
- Code improvements as suggested by Wildeblood.
- Added exception for Norby's forthcoming OXP (HDBG)
- Added some BGS override exceptions

1.0
- Initial release.
