Library OXP

From Elite Wiki
Revision as of 21:09, 6 August 2024 by Hiran (talk | contribs) (Musings)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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