Difference between revisions of "Library OXP"

From Elite Wiki
(Overview: Added configuration oxp list)
(Inserted relevant material filleted from BB Thread)
Line 1: Line 1:
'''Disambiguation''':
+
'''Disambiguation''':
 
+
''Oolite abounds with libraries!''
+
''Oolite abounds with libraries!''
<br>
+
<br>
Are you looking for
+
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:
+
• 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
+
::*Library.oxp - see below on '''this''' page
::*[[Cabal Common Library]].oxp
+
::*[[Cabal Common Library]].oxp
 
+
• A library of books or of ship/station descriptions:
+
• 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]]
+
::*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
+
::*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  
+
::*[[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.
+
::*[[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)
+
::*[[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'''
+
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:Sv pad03.jpg|320px|thumb|right|PAD: GalCop]]
 +
[[Image:Lib_PAD01.png|320px|thumb|right|PAD: Persons]]
 +
[[File:Sv pad08.jpg|320px|thumb|right|PAD: Player data]]
 +
[[Image:Lib_Starmap02.png|320px|thumb|right|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:
+
This oxp also adds the following items to the F4 ship-station interface page
 
*'''Config for AddOns''' (AddOns category) - for tweaking OXPs
 
*'''Config for AddOns''' (AddOns category) - for tweaking OXPs
 
*[[Lib PAD|PAD]] (Captain's Log category) - a personal assistance device with details of naval career, people met, ''etc''.
 
*[[Lib PAD|PAD]] (Captain's Log category) - a personal assistance device with details of naval 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. What I do have right now 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.
 +
: 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:
 
Note: there are several oxp's that allow for configuring other oxp's:
Line 33: Line 48:
  
 
==Features==
 
==Features==
[[Image:Lib_Animator01.png|180px|thumb|right|Animator]][[Image:Lib_PAD01.png|180px|thumb|right|PAD]][[Image:Lib_Starmap02.png|180px|thumb|right|Starmap]]
 
 
For Documentation just follow the links.
 
For Documentation just follow the links.
 
* ''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.
Line 60: Line 74:
 
* [https://app.box.com/s/59vqswqh0wxiccerk7wgxerl0m0wmx20 Animator Demo] (zip, 2.8 MiB)
 
* [https://app.box.com/s/59vqswqh0wxiccerk7wgxerl0m0wmx20 Animator Demo] (zip, 2.8 MiB)
 
* [https://app.box.com/s/xd9hnscxrjlb0p5suz8t00e7m5qo743d Music Demo] (zip, 22.2 MiB)
 
* [https://app.box.com/s/xd9hnscxrjlb0p5suz8t00e7m5qo743d Music Demo] (zip, 22.2 MiB)
* [https://app.box.com/s/0enjeiuyzjkyg36yxc5j04sdjhx9s7aa Starmap Demo] (oxz, 2.4 KB)
+
* [https://app.box.com/s/0enjeiuyzjkyg36yxc5j04sdjhx9s7aa Starmap Demo] (oxz, 2.4 KB) - see [http://aegidian.org/bb/viewtopic.php?p=264969#p264969 explanation]
  
 
===Tools===
 
===Tools===
 
* [https://app.box.com/s/pwttg9nrqvvpqzya0wcpqpc4ly9bov1r Lib_MatFinder 1.1] (oxz, 39.7 KB) - A developer-tool to work out materials entries.
 
* [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).
 +
 +
[[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.
 +
 +
"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
 +
 +
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."
 +
 +
*http://www.keeper1st.com/Oolite/bgs2changedimages.zip
 +
*http://www.keeper1st.com/Oolite/bgs-editedsounds.zip
 +
 +
=== Tweaks ===
 +
*[http://aegidian.org/bb/viewtopic.php?p=252499#p252499 To add a radio channel]
 +
  
 
==Quick Facts==
 
==Quick Facts==

Revision as of 15:56, 11 October 2021

Disambiguation:

Oolite abounds with libraries!

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

IconLib.png
Animator
PAD: GalCop
PAD: Persons
PAD: Player data
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.

This oxp also adds the following items to the F4 ship-station interface page

  • Config for AddOns (AddOns category) - for tweaking OXPs
  • PAD (Captain's Log category) - a personal assistance device with details of naval 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. What I do have right now 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.
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:

  • 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 comprehensible, but alas, only a beta version (2018)

Features

For Documentation just follow the links.

  • 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

ID

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

Requirements

  • Latest version needs Oolite v1.88.

Download

Install like any other OXP.

Demos

Install like any other OXP.

Tools

See here for description re shaders etc. (2 pages, 2018).
Keeper's alternative images

Alternatives

Keeper produced his own set of tailored images & sounds for Library.

"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

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."

Tweaks


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