Difference between revisions of "Library OXP"
Cholmondely (talk | contribs) (→Features: Added note) |
Cholmondely (talk | contribs) (Added error and fix) |
||
Line 146: | Line 146: | ||
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. | 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. | ||
+ | |||
+ | === Possible Error === | ||
+ | *[http://aegidian.org/bb/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), | ||
==Quick Facts== | ==Quick Facts== |
Revision as of 18:38, 31 December 2023
This page is about the OXP helper expansion pack, Library, for other uses, see Library (disambiguation).
Contents
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.
- Can be used by mission oxp's to display instructions (see Starmap below)
- Can be used to show 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 (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 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. 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.
- 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 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 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: 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):
- Lib Music Orchestral Demo: Svengali's original classical music .oxp (2016: 22Mb)
- Contextual Jukebox OXP by Arquebus of YouTube fame (2021: 115Mb)
- DIY kit: Dangerous Background Music OXP: Tsoj (2021)
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.
- 2) Library_devtools.oxp (look in Test OXP's) - Something peculiar!
- On starting a game (if you have Library running too):
- On your F4 screen (if you have Library running too) under "Lib_MatEditor":
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
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
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.
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),
Quick Facts
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 |