Difference between revisions of "Library OXP"

From Elite Wiki
(Added bizarre discoveries)
(Musings)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Disambiguation''':
+
''This page is about the OXP helper expansion pack, Library, for other uses, see [[Library (disambiguation)]].''
+
 
''Oolite abounds with libraries!''
 
<br>
 
Are you looking for
 
 
• A Library in the programmer's sense: reusable code that people writing OXPs can use. That is to say instead of everyone writing a javascript method to land on a planet, one person does so and everyone else uses that:
 
::*Library.oxp - see below on '''this''' page
 
::*[[Cabal Common Library]].oxp
 
 
• A library of books or of ship/station descriptions:
 
::*Ship Library on the starting game screen - descriptions of ships, stations, asteroids and missiles mostly from the [[Vanilla game]]
 
::*View Ship Specifications - as above, but on the F4/4 Ship-Station Interface screen when docked
 
::*[[Gallery]] OXP does something similar to the above but with all encountered items
 
::*[[Technical Reference Library]] OXP - similar to Gallery but includes non-encountered ships.
 
::*[[Ship's Library OXP]]: by Cim (with the '''Ship's Manual'''; a half-dozen library books are addable)
 
The last four are accessed through the F4/4 Ship-Station Interface screen when docked - all under '''Ship Systems'''
 
----
 
 
[[Image:IconLib.png|100px|right]]
 
[[Image:IconLib.png|100px|right]]
[[Image:Lib_Animator01.png|320px|thumb|right|Animator]]
+
[[Image:Library (Config for AddOns Settings List).png|320px|thumb|Config for AddOns (List of OXPs with settings)]]
[[Image:Sv pad03.jpg|320px|thumb|right|PAD: GalCop]]
+
[[Image:Library (BGS Config Flags).png|320px|thumb|Config for AddOns (example: BGS flags settings)<br>'''Flags''' are On/Off options, Values give a numerical range. (Old Hyperspace is added by Tsoj's newest version of BGS)]]
[[Image:Lib_PAD01.png|320px|thumb|right|PAD: Persons]]
+
[[Image:Library (BGS Config Values).png|320px|thumb|Config for AddOns (example: BGS values settings)<br>'''Values''' ('''D''' is the default setting, '''R''' shows the range)]]
 +
[[Image:Sv pad03.jpg|320px|thumb|right|PAD: GalCop (showing Galactic Navy integration)]]
 +
[[Image:Lib_PAD01.png|320px|thumb|right|PAD: Persons (showing Vanilla game integration)]]
 
[[File:Sv pad08.jpg|320px|thumb|right|PAD: Player data]]
 
[[File:Sv pad08.jpg|320px|thumb|right|PAD: Player data]]
[[Image:Lib_Starmap02.png|320px|thumb|right|Starmap]]
+
[[Image:Lib_Animator01.png|320px|thumb|right|Demos: Animator]]
 +
[[Image:Lib_Starmap02.png|320px|thumb|right|Demos: Starmap]]
 +
 
 
==Overview==
 
==Overview==
 
Reinventing the wheel is not everybody's taste, so here comes a collection of useful snippets and helpers.
 
Reinventing the wheel is not everybody's taste, so here comes a collection of useful snippets and helpers.
 +
 
Its main purpose is to simplify or unify some common tasks used by OXPers. Library is the successor to [[CCL]], [[Hyperradio]] and [[OXPConfig]]. The library does not alter any native JS objects (like Array or String) to avoid clashes and does not clutter the global namespace.
 
Its main purpose is to simplify or unify some common tasks used by OXPers. Library is the successor to [[CCL]], [[Hyperradio]] and [[OXPConfig]]. The library does not alter any native JS objects (like Array or String) to avoid clashes and does not clutter the global namespace.
  
This oxp also adds the following items to the F4 ship-station interface page
+
*Adds '''Config for AddOns'''  to the [[F4 page (ship and system interfaces)|F4 ship-station interface]] screen (allows tweaking of compatible oxp's in-game)
*'''Config for AddOns''' (AddOns category) - for tweaking OXPs
+
*Adds a '''PAD''' to the [[F4 page (ship and system interfaces)|F4 ship-station interface]] screen (for personal details, recalling (GNN) news flashes, storing data, ''etc''.)
*[[Lib PAD|PAD]] (Captain's Log category) - a personal assistance device with details of naval career, people met, ''etc''.
+
*Plays music during your game (which can be contextual, changing if inside the [[aegis]] or if attacked) - but needs a compatible music .oxp installed - see below for list
 +
 
 +
*''Can'' be used by mission oxp's to display instructions (see Starmap below)
 +
*''Can'' be used to show an animated display and possibly even a [[Cutscene]] (see Animator below)
 +
*''Can'' be used by other oxp's to display information on the PAD about Guild memberships, NPC's met, peculiarities of systems, ''etc''. It already does this for the [[Galactic Navy OXP]].
 +
*''Can'' be used by OXP ship designers to help display ships, exhausts, materials ''etc''. (see MatFinder and devtools below).
 +
 
 +
=== Config for AddOns ===
 +
'''Config for AddOns''' (Library Config) appears on your Docked F4 screen "AddOns" category.
 +
:for tweaking OXPs while ''inside'' the game (and docked!) - ''here are some examples''
 +
*[[BGS]]: (see the 3 screen shots on top right), where one select the effects one desires - station chatter, graphics for hyperspace jump ''etc''.).
 +
*[[Email System OXP]] - listed as "GalCop Admin Services" - one can select categories of e-mails which one wishes not to be sent
 +
*[[Risky Business]] - one can select either or both of the "Risky Business" or the "Risk Based Economy]] effects to alter the trading profits in one's game.
 +
*[[Satellites]] - one can select the planets at which they appear, and the number appearing
 +
*[[Station Dock Control]] - one can control many aspects of what information is presented about docking/docked ships
 +
*[[Xenon UI]] - one can select the amber background alternative instead of the blue
  
The P.A.D. (or Personal Assistance Device) ships functionality to display different sorts of data, sorted by categories. Every category may contain several pages (or subcategories) - which can also be implemented by AddOns. What I do have right now are categories for
+
=== PAD (Personal Assistance Device) ===
: GALCOP: A standard entry, but after doing specific jobs it will contain an entry for the Navy as well. Other AddOns may add more.
+
[[Lib PAD|PAD]] (Captain's Log category) - a Personal Assistance Device with details of your [[Galactic Navy OXP]] career, people met, ''etc''.
: GUILDS: An empty entry at the moment. Could be used e.g. by RandomHits, Feudal States and other AddOns which do have a membership.
 
: INFOS: A category for special events, news, etc. Could be useful e.g. for BloombergMarkets, ''etc''.
 
: LOGBOOK: A category for standard events like rescued escape pods, bailed out, fined, etc. Could be used for contracts as well.
 
: PERSONS: A category for characters you have met.
 
: SYSTEMS: A category for special systems like Tianve, Tionisla, ''etc''.
 
: SEARCH
 
: PLAYER DATA
 
The PAD also ships with search functionality and some categories do allow the player to add custom notes. The display of these pages is based on templates, so all pages in a category will have the same layout. AddOns can add data easily to existing pages or add a new page in existing categories. Another feature is to set player specific data, like origin, species, gender, age and a custom picture.
 
  
Note: there are several oxp's that allow for configuring other oxp's:
+
:The P.A.D. (or Personal Assistance Device) ships functionality to display different sorts of data, sorted by categories. Every category may contain several pages (or subcategories) - which can also be implemented by AddOns. Currently there are categories for
*Library (the most recent, done via the F4 page when docked) by Svengali
+
:: GALCOP: A standard entry, but after doing specific jobs it will contain an entry for the Navy as well. Other AddOns may add more.
*[[OXPConfig]] (done via the F2 page - press F7 when told to) by Svengali
+
:: GUILDS: An empty entry at the moment. Could be used e.g. by RandomHits, Feudal States and other AddOns which do have a membership.
*[http://www.aegidian.org/bb/viewtopic.php?f=4&t=19650 Station Options] by cag: this one is comprehensible, but alas, only a beta version (2018)
+
:: INFOS: A category for special events, news, etc. Could be useful e.g. for BloombergMarkets, ''etc''.
 +
:: LOGBOOK: A category for standard events like rescued escape pods, bailed out, fined, etc. Could be used for contracts as well.
 +
:: PERSONS: A category for characters you have met. Currently only used for the vanilla game missions.
 +
:: SYSTEMS: An empty category at the moment. Usable for special systems like Tianve, Tionisla, ''etc''.
 +
:: SEARCH
 +
:: PLAYER DATA
 +
:The PAD also ships with search functionality and some categories do allow the player to add custom notes. The display of these pages is based on templates, so all pages in a category will have the same layout. AddOns can add data easily to existing pages or add a new page in existing categories. Another feature is to set player specific data, like origin, species, gender, age and a custom picture.
 +
 
 +
Note: there are currently several oxp's that allow for configuring other oxp's:
 +
*Library (the most recent, done via the F4 page when docked) by Svengali
 +
*[[OXPConfig]] (done via the F2 page - press F7 when told to) by Svengali
 +
*[[Station Options]] by cag: this one is actually comprehensible! But the fabulous flood of detail for [[Telescope]]...
  
 
==Features==
 
==Features==
For Documentation just follow the links.
+
For Documentation just follow the links. There is more material tucked inside the Library OXZ - and some examples in the Demos
 
* ''Lib_2DCollision.js'' - Methods for checking if point is in bounding-box, on line or in poly.
 
* ''Lib_2DCollision.js'' - Methods for checking if point is in bounding-box, on line or in poly.
 
* ''Lib_Animator.js'' - Tool to create animations on missionscreens (see [[#Demos|Demos]]).
 
* ''Lib_Animator.js'' - Tool to create animations on missionscreens (see [[#Demos|Demos]]).
Line 60: Line 67:
 
* ''[[Lib_Starmap|Lib_Starmap.js]]'' - In-System-Maps in 3D (docked and inflight) (see [[#Demos|Demos]]). {{AV|1.7}}
 
* ''[[Lib_Starmap|Lib_Starmap.js]]'' - In-System-Maps in 3D (docked and inflight) (see [[#Demos|Demos]]). {{AV|1.7}}
  
== ID ==
+
== Integration ==
identifier = "oolite.oxp.Svengali.Library";
+
=== Config for AddOns ===
 +
Over 30 OXP's use Library's "Config for AddOns" option on the F4 screen to allow configuration. Click this: [[File:IconLib.png|30px]] for a partial list.
 +
 
 +
=== Music ===
 +
Library can introduce music (as well as sound effects). For a full list of all such OXP's see [[:Category:Sound Sets OXPs]]<br>
  
==Requirements==
+
Music for playing the game to (these three need Library to function):
* Latest version needs Oolite v1.88.
+
*[https://app.box.com/s/xd9hnscxrjlb0p5suz8t00e7m5qo743d Lib Music Orchestral Demo]: [[User:Svengali|Svengali]]'s original classical music .oxp (2016: 22Mb)
 +
*[[Contextual Jukebox OXP]] by Arquebus of [https://bb.oolite.space/viewtopic.php?f=2&t=21111  YouTube fame] (2021: 115Mb)
 +
*DIY kit: [https://bb.oolite.space/viewtopic.php?f=4&t=21127 Dangerous Background Music OXP]: [[User:Tsoj|Tsoj]] (2021)
  
==Download==
+
=== OXP's & Vanilla game integration for P.A.D. ===
Install like any other [[OXP]].
+
*[[Vanilla game]] missions have been integrated into Library.oxp
* [https://app.box.com/s/gqfc5nxse0k9yipm93wrjra7nqjzy89y Library 1.7.1] (oxz, 4.9 MiB)
+
*[[Galactic Navy OXP]] has been integrated into Library.oxp
 +
*[[GNN]] has been integrated into Library.oxp (the most recent new item is displayed on the PAD)
 +
*[[User:Phkb|Phkb]] has updated the [[Cataclysm OXP]] mission and included Library integration - ''this'' is where to look to see how to do it!
  
===Demos===
+
=== Demos ===
Install like any other [[OXP]].
+
Designed to show how to integrate other OXP's with Library; Install like any other [[OXP]].
* [https://app.box.com/s/59vqswqh0wxiccerk7wgxerl0m0wmx20 Animator Demo] (zip, 2.8 MiB)
+
* [https://app.box.com/s/59vqswqh0wxiccerk7wgxerl0m0wmx20 Animator Demo] (zip, 2.8 MiB): a helper for animations on mission screens
* [https://app.box.com/s/xd9hnscxrjlb0p5suz8t00e7m5qo743d Music Demo] (zip, 22.2 MiB)
+
* [https://app.box.com/s/xd9hnscxrjlb0p5suz8t00e7m5qo743d Lib Music Orchestral Demo]: [[User:Svengali|Svengali]]'s original music .oxp (2016: 22Mb)
* [https://app.box.com/s/0enjeiuyzjkyg36yxc5j04sdjhx9s7aa Starmap Demo] (oxz, 2.4 KB) - see [http://aegidian.org/bb/viewtopic.php?p=264969#p264969 explanation]
+
* [https://app.box.com/s/0enjeiuyzjkyg36yxc5j04sdjhx9s7aa Starmap Demo] (oxz, 2.4 KB) - see [https://bb.oolite.space/viewtopic.php?p=264969#p264969 explanation]: Lib_Starmap introduces In-System-Maps in 3D (or 2.5D *sigh*). These maps can be shown on missionScreens and inflight. On missionScreens they can be animated (''eg'' through Lib_Animator). Inflight users can control them via the Advanced Space Compass. Usage for OXP's is easy.
  
===Tools===
+
''Apart from the demos, nothing yet uses Library's Animator & Star Map functions.''
  
 +
=== Tools ===
 
There are two tools tucked away in diverse locations:
 
There are two tools tucked away in diverse locations:
  
* [https://app.box.com/s/pwttg9nrqvvpqzya0wcpqpc4ly9bov1r Lib_MatFinder 1.1] (oxz, 39.7 KB) - A developer-tool to work out materials entries.
+
* 1) [https://app.box.com/s/pwttg9nrqvvpqzya0wcpqpc4ly9bov1r Lib_MatFinder 1.1] (oxz, 39.7 KB) - A developer-tool to work out materials entries.
:See [http://aegidian.org/bb/viewtopic.php?p=265566#p265566 here] for description ''re'' shaders ''etc''. (2 pages, 2018).
+
The whole thing started when I looked in some older OXPs. Pretty often they don't have later implemented stuff (materials, custom views), but creating these entries eats a lot of time and needs a lot of testruns/finetuning. It was meant for my personal use only to speed up the updating orgy I've had in mind, but in the end it got better than expected, so I released it as helper. [https://bb.oolite.space/viewtopic.php?p=154692#p154692 Svengali 2011]
 +
:See [[MatFinder]] for more detail (culled from BB and put in order)
 +
:See [https://bb.oolite.space/viewtopic.php?p=265566#p265566 here] for original BB description. (2 pages, 2018).
  
::On your F4 screen (if you have Library running too) under Developer:
+
::Once you load the .oxp, see your F4 screen (if you have Library.oxp running too) under "Developer" to access this tool.
 
[[File:Lib MatFinder Pos01.png|150px]]
 
[[File:Lib MatFinder Pos01.png|150px]]
 
[[File:Lib MatFinder Pos02.png|150px]]
 
[[File:Lib MatFinder Pos02.png|150px]]
Line 89: Line 107:
  
  
 
+
* 2) [https://app.box.net/s/h78y01lg9b Library_devtools.oxp] (look in Test OXP's) - Something peculiar!
* [https://app.box.net/s/h78y01lg9b Library_devtools.oxp] (look in Test OXP's) - Something peculiar
 
  
 
::On starting a game (if you have Library running too):
 
::On starting a game (if you have Library running too):
Line 97: Line 114:
 
[[File:Library_devtools.values.png|150px]]
 
[[File:Library_devtools.values.png|150px]]
  
::On your F4 screen (if you have Library running too) under Lib_MatEditor:
+
::On your F4 screen (if you have Library running too) under "Lib_MatEditor":
 
[[File:Lib_MatEditor_%281%29.png|150px]]
 
[[File:Lib_MatEditor_%281%29.png|150px]]
 
[[File:Lib_MatEditor_%282%29.png|150px]]
 
[[File:Lib_MatEditor_%282%29.png|150px]]
  
[[File:Keeper's Library images pack.png|thumb|right|450px|Keeper's alternative images]]
+
----
===Alternatives===
+
 
[[Keeper]] produced his own set of tailored images & sounds for Library.
+
== ID ==
 +
identifier = "oolite.oxp.Svengali.Library";
 +
 
 +
== Requirements ==
 +
* Latest version needs Oolite v1.88.
 +
 
 +
== Download ==
 +
Install like any other [[OXP]]. Library is on the in-game [[Expansions Manager]]. Or, if you prefer, [https://app.box.com/s/gqfc5nxse0k9yipm93wrjra7nqjzy89y Library 1.7.1] (oxz, 4.9 MiB)
 +
 
 +
== Tweaks ==
 +
*[https://bb.oolite.space/viewtopic.php?p=252499#p252499 To add a radio channel]
  
"The screens have a bit of the "legend" icons showing the relative order of government and economy types, as well as a function key menu with English labels (the old menu from the previous BGS set but with text added by myself -- now blended over the new backgrounds nicely). Here's a 16:10 screenshot: http://www.keeper1st.com/Oolite/bgsexample.png
+
*Possible Error
 +
:[https://bb.oolite.space/viewtopic.php?p=270334#p270334 Error followed by Phkb's fix] (2020)
 +
Replace Lib_GUI code, line 311 with
 +
ex = (this.$noEx.indexOf(id)===-1 && this.$IDsExt[id]?this.$IDsExt[id]:null),
  
For the sounds, I replaced the "Item Sold" and "Item Bort" (?!) with nice little chimes (can't remember where they came from -- original Oolite?), changed things like "Ortopilot activated" into "Autopilot activated", trimmed some dead air (e.g. so instead of "missile......armed" it's "missile armed"), removed all instances of Majel Barrett from Star Trek (nothing against the late Ms Barrett or Star Trek; I just think the second voice is unnecessary), and greatly changed the extremely long and drawn-out game-over sound into a rather rapid explosion then sudden expulsion of air into silence, which is rather more shocking and realistic."
+
== Musings ==
 +
[[User:Cholmondely|Cholmondely]] writes: '''this OXP is a tragedy'''. It is ''so'' powerful and can add ''so'' much to the game and nobody did anything with it. [[User:Svengali|Svengali]] died before he could update his old broken missions ([[Vector]] & [[Localhero OXP]]) to run on the newer versions of Oolite and to use it (''all'' the necessary elements are already built in for them). And nobody else has used it either - apart from the "Config for AddOns" element. In 2022 one music .oxp appeared which uses it (as does another DIY oxp), but the other elements languish in the dust.
  
*http://www.keeper1st.com/Oolite/bgs2changedimages.zip
+
There are also a number of abilities lurking in the precursor CCL which were probably inherited by Library.oxp:
*http://www.keeper1st.com/Oolite/bgs-editedsounds.zip
+
:[[Cabal_Common_Library_Doc_Briefing|Cabal_Common_Briefing]], enhance mission screens
 +
:[[Cabal_Common_Library_Doc_Comms|Cabal_Common_Comms]], inflight communication
 +
:[[Cabal_Common_Library_Doc_Functions|Cabal_Common_Functions]], generic function library
 +
:[[Cabal_Common_Library_Doc_Keyboard|Cabal_Common_Keyboard]], user input
 +
:[[Cabal_Common_Library_Doc_MissionHandling|Cabal_Common_MissionHandling]], start OXPs based on system descriptions
 +
:[[Cabal_Common_Library_Doc_Music|Cabal_Common_Music]], inflight event driven music
 +
:[[Cabal_Common_Library_Doc_Overlay|Cabal_Common_Overlay]], inflight overlays
 +
:[[Cabal_Common_Library_Doc_SpecialMarkets|Cabal_Common_SpecialMarkets]], trading special goods
 +
:[[Cabal_Common_Library_Doc_OXPStrength|Cabal_Common_Strength]], environment control
 +
:''somewhere in all this is a ''random integer function'' which is used by [[Factions]] and is presumably still in Library somewhere... (like https://wiki.alioth.net/index.php/Cabal_Common_Library_Doc_Functions#rand.28.29)
  
=== Tweaks ===
+
The one change which ''would'' be very useful would be the ability to recall more than just the ''one'' most recent GNN news broadcast in the PAD.
*[http://aegidian.org/bb/viewtopic.php?p=252499#p252499 To add a radio channel]
 
  
 +
== Links ==
 +
*[https://bb.oolite.space/viewtopic.php?t=21449 Library OXP logos and images] (2023-34)
  
 
==Quick Facts==
 
==Quick Facts==
Line 137: Line 178:
 
|author = BlackWolf & Svengali
 
|author = BlackWolf & Svengali
 
|download = [[#Download|See Download]]
 
|download = [[#Download|See Download]]
|feedback = [http://aegidian.org/bb/viewtopic.php?f=4&t=18248 BB-Link]
+
|feedback = [https://bb.oolite.space/viewtopic.php?f=4&t=18248 BB-Link]
 
}}
 
}}
  
 
[[Category:Oolite utilities]]
 
[[Category:Oolite utilities]]

Latest revision as of 20:09, 6 August 2024

This page is about the OXP helper expansion pack, Library, for other uses, see Library (disambiguation).

IconLib.png
Config for AddOns (List of OXPs with settings)
Config for AddOns (example: BGS flags settings)
Flags are On/Off options, Values give a numerical range. (Old Hyperspace is added by Tsoj's newest version of BGS)
Config for AddOns (example: BGS values settings)
Values (D is the default setting, R shows the range)
PAD: GalCop (showing Galactic Navy integration)
PAD: Persons (showing Vanilla game integration)
PAD: Player data
Demos: Animator
Demos: Starmap

Overview

Reinventing the wheel is not everybody's taste, so here comes a collection of useful snippets and helpers.

Its main purpose is to simplify or unify some common tasks used by OXPers. Library is the successor to CCL, Hyperradio and OXPConfig. The library does not alter any native JS objects (like Array or String) to avoid clashes and does not clutter the global namespace.

  • Adds Config for AddOns to the F4 ship-station interface screen (allows tweaking of compatible oxp's in-game)
  • Adds a PAD to the F4 ship-station interface screen (for personal details, recalling (GNN) news flashes, storing data, etc.)
  • Plays music during your game (which can be contextual, changing if inside the aegis or if attacked) - but needs a compatible music .oxp installed - see below for list
  • Can be used by mission oxp's to display instructions (see Starmap below)
  • Can be used to show an animated display and possibly even a Cutscene (see Animator below)
  • Can be used by other oxp's to display information on the PAD about Guild memberships, NPC's met, peculiarities of systems, etc. It already does this for the Galactic Navy OXP.
  • Can be used by OXP ship designers to help display ships, exhausts, materials etc. (see MatFinder and devtools below).

Config for AddOns

Config for AddOns (Library Config) appears on your Docked F4 screen "AddOns" category.

for tweaking OXPs while inside the game (and docked!) - here are some examples
  • BGS: (see the 3 screen shots on top right), where one select the effects one desires - station chatter, graphics for hyperspace jump etc.).
  • Email System OXP - listed as "GalCop Admin Services" - one can select categories of e-mails which one wishes not to be sent
  • Risky Business - one can select either or both of the "Risky Business" or the "Risk Based Economy]] effects to alter the trading profits in one's game.
  • Satellites - one can select the planets at which they appear, and the number appearing
  • Station Dock Control - one can control many aspects of what information is presented about docking/docked ships
  • Xenon UI - one can select the amber background alternative instead of the blue

PAD (Personal Assistance Device)

PAD (Captain's Log category) - a Personal Assistance Device with details of your Galactic Navy OXP career, people met, etc.

The P.A.D. (or Personal Assistance Device) ships functionality to display different sorts of data, sorted by categories. Every category may contain several pages (or subcategories) - which can also be implemented by AddOns. Currently there are categories for
GALCOP: A standard entry, but after doing specific jobs it will contain an entry for the Navy as well. Other AddOns may add more.
GUILDS: An empty entry at the moment. Could be used e.g. by RandomHits, Feudal States and other AddOns which do have a membership.
INFOS: A category for special events, news, etc. Could be useful e.g. for BloombergMarkets, etc.
LOGBOOK: A category for standard events like rescued escape pods, bailed out, fined, etc. Could be used for contracts as well.
PERSONS: A category for characters you have met. Currently only used for the vanilla game missions.
SYSTEMS: An empty category at the moment. Usable for special systems like Tianve, Tionisla, etc.
SEARCH
PLAYER DATA
The PAD also ships with search functionality and some categories do allow the player to add custom notes. The display of these pages is based on templates, so all pages in a category will have the same layout. AddOns can add data easily to existing pages or add a new page in existing categories. Another feature is to set player specific data, like origin, species, gender, age and a custom picture.
Note: there are currently several oxp's that allow for configuring other oxp's:
*Library (the most recent, done via the F4 page when docked) by Svengali
*OXPConfig (done via the F2 page - press F7 when told to) by Svengali
*Station Options by cag: this one is actually comprehensible! But the fabulous flood of detail for Telescope...

Features

For Documentation just follow the links. There is more material tucked inside the Library OXZ - and some examples in the Demos

  • Lib_2DCollision.js - Methods for checking if point is in bounding-box, on line or in poly.
  • Lib_Animator.js - Tool to create animations on missionscreens (see Demos).
  • Lib_BinSearch.js - Instantiated search tree.
  • Lib_Config.js - Configuration interface for AddOns.
  • Lib_Crypt.js - De-/Encryption for strings.
  • Lib_GUI.js - Unified GUI image, sound and music handling.
  • Lib_Main.js - Generic functions for various tasks.
  • Lib_Music.js - Unified event driven and generic music handling (see Demos).
  • Lib_PAD.js - Unified logbook, mission-log, diary and interface. Added in v1.7
  • Lib_Starmap.js - In-System-Maps in 3D (docked and inflight) (see Demos). Added in v1.7

Integration

Config for AddOns

Over 30 OXP's use Library's "Config for AddOns" option on the F4 screen to allow configuration. Click this: IconLib.png for a partial list.

Music

Library can introduce music (as well as sound effects). For a full list of all such OXP's see Category:Sound Sets OXPs

Music for playing the game to (these three need Library to function):

OXP's & Vanilla game integration for P.A.D.

  • Vanilla game missions have been integrated into Library.oxp
  • Galactic Navy OXP has been integrated into Library.oxp
  • GNN has been integrated into Library.oxp (the most recent new item is displayed on the PAD)
  • Phkb has updated the Cataclysm OXP mission and included Library integration - this is where to look to see how to do it!

Demos

Designed to show how to integrate other OXP's with Library; Install like any other OXP.

  • Animator Demo (zip, 2.8 MiB): a helper for animations on mission screens
  • Lib Music Orchestral Demo: Svengali's original music .oxp (2016: 22Mb)
  • Starmap Demo (oxz, 2.4 KB) - see explanation: Lib_Starmap introduces In-System-Maps in 3D (or 2.5D *sigh*). These maps can be shown on missionScreens and inflight. On missionScreens they can be animated (eg through Lib_Animator). Inflight users can control them via the Advanced Space Compass. Usage for OXP's is easy.

Apart from the demos, nothing yet uses Library's Animator & Star Map functions.

Tools

There are two tools tucked away in diverse locations:

  • 1) Lib_MatFinder 1.1 (oxz, 39.7 KB) - A developer-tool to work out materials entries.
The whole thing started when I looked in some older OXPs. Pretty often they don't have later implemented stuff (materials, custom views), but creating these entries eats a lot of time and needs a lot of testruns/finetuning. It was meant for my personal use only to speed up the updating orgy I've had in mind, but in the end it got better than expected, so I released it as helper. Svengali 2011
See MatFinder for more detail (culled from BB and put in order)
See here for original BB description. (2 pages, 2018).
Once you load the .oxp, see your F4 screen (if you have Library.oxp running too) under "Developer" to access this tool.

Lib MatFinder Pos01.png Lib MatFinder Pos02.png Lib MatFinder.png


On starting a game (if you have Library running too):

Library devtools switches.png Library devtools.png Library devtools.values.png

On your F4 screen (if you have Library running too) under "Lib_MatEditor":

Lib MatEditor (1).png Lib MatEditor (2).png


ID

identifier = "oolite.oxp.Svengali.Library";

Requirements

  • Latest version needs Oolite v1.88.

Download

Install like any other OXP. Library is on the in-game Expansions Manager. Or, if you prefer, Library 1.7.1 (oxz, 4.9 MiB)

Tweaks

  • Possible Error
Error followed by Phkb's fix (2020)
Replace Lib_GUI code, line 311 with
	ex = (this.$noEx.indexOf(id)===-1 && this.$IDsExt[id]?this.$IDsExt[id]:null),

Musings

Cholmondely writes: this OXP is a tragedy. It is so powerful and can add so much to the game and nobody did anything with it. Svengali died before he could update his old broken missions (Vector & Localhero OXP) to run on the newer versions of Oolite and to use it (all the necessary elements are already built in for them). And nobody else has used it either - apart from the "Config for AddOns" element. In 2022 one music .oxp appeared which uses it (as does another DIY oxp), but the other elements languish in the dust.

There are also a number of abilities lurking in the precursor CCL which were probably inherited by Library.oxp:

Cabal_Common_Briefing, enhance mission screens
Cabal_Common_Comms, inflight communication
Cabal_Common_Functions, generic function library
Cabal_Common_Keyboard, user input
Cabal_Common_MissionHandling, start OXPs based on system descriptions
Cabal_Common_Music, inflight event driven music
Cabal_Common_Overlay, inflight overlays
Cabal_Common_SpecialMarkets, trading special goods
Cabal_Common_Strength, environment control
somewhere in all this is a random integer function which is used by Factions and is presumably still in Library somewhere... (like https://wiki.alioth.net/index.php/Cabal_Common_Library_Doc_Functions#rand.28.29)

The one change which would be very useful would be the ability to recall more than just the one most recent GNN news broadcast in the PAD.

Links

Quick Facts

Levelindicator0.png
0-{{{2}}}

Minimum Oolite versionCPU usage mediumMemory usage averageGPU usage averageisParentisAPIisDocumentedisConfigurable

Version Released License Features Category Author(s) Feedback
1.7.1 2018-11-19 CC-by-nc-sa-4.0 Helper for OXPs Misc OXPs BlackWolf & Svengali BB-Link