ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Fri Sep 20, 2019 2:39 pm

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Some Boot Module Addons
PostPosted: Wed Jul 31, 2019 3:53 am 
Offline
Sher'Tul Godslayer

Joined: Thu Jan 23, 2003 8:13 pm
Posts: 1648
Location: A shallow water area south of Bree
It's a little-known feature of the T-Engine that the boot module (which provides the starting screen and various dialogs like New Game, Load Game and Addons) can itself have addons. I've cobbled together a few myself, and with inspiration from a recently proposed idea that could only be implemented with a boot module addon, I decided I'd share what I had.

Be advised, though, some warnings about using boot module addons:
  • There is no interface for managing, enabling or disabling boot module addons short of manually adding/removing the relevant addon files from the addons directory.
  • These addons are not "official" and won't be automatically updated. Since they're not game module addons, though, they won't invalidate your characters.
  • Boot module addons apparently count toward the "soft maximum" number of addons you can have installed (enabled or disabled) before the game starts fairly consistently crashing when you try to load a character.
  • Caveat emptor, use at your own risk, no warranty expressed or implied, if it breaks, you get to keep both pieces.

If that didn't scare you away, :wink: here's what I've got:

ZOmnibus Check (v1.0.0): This was the original boot module addon I mentioned in the above-linked post. It modifies the Addons dialog, adding visual highlighting to addons that would conflict with each other if enabled (as shown below), so that you don't accidentally enable several of them at once. Primarily this covers ZOmnibus/ZOmnibus Lite and their component addons (because even I have trouble keeping track of all of them sometimes :wink: ), but it also covers Proper Possession vs. Possessor Tweaks and Schrödinger's Lore vs. Schrödinger's Lore (Mark 2).
Attachment:
hmm1.jpg
hmm1.jpg [ 169.45 KiB | Viewed 756 times ]


Savefile Notes At the Top (v1.0.0): Requested by astralInferno. This addon interacts with the Savefile Notes addon, moving the savefile note added by that addon from the bottom of the savefile description to the top, so it doesn't get pushed off the screen if you have a lot of addons.

Main Menu Shortcuts (v1.1.0, last update 2019 Aug 01): Requested by nsrr. The goal is to add "shortcuts" to the main menu dialog (hence the name) to bypass the New Game dlalog. Currently, if you have only one game module installed, we modify "New Game" to e.g. "New Game (T.o.M.E.)" and have it skip straight ahead to character creation; if you have more than one game module installed, you can choose a module to be treated as the "default" in this manner via the option "Options | Game Options | UI | "New Game" shortcut module" (only accessible from the startup screen). In theory, we could also add a "Load Game" shortcut if you only have one character (or a most-recently-used-character shortcut, if that information is recorded anywhere).

Sort Addons (v1.0.0): And speaking of having lots of addons… :wink: This addon sorts the addons list in the Addons dialog, to make a particular addon easy to find. DLCs and official addons are kept on top; the rest are sorted alphabetically.

Addon Cleanup (v1.0.0, new as of 2019 Aug 13): Requested by nsrr. Adds two buttons to the Addons dialog: Disable All and Disable Auto:Enabled, which do pretty much what they say. This is useful for setting up addons for a character — you can quickly disable them all and enable only the ones you want to use for this character. If you have addons you want to use for all characters, you can set them to Manual: Enabled and use the Disable Auto:Enabled button to disable the rest.


If I update these addons in the future, or add new boot module addons, I'll update the links up here at the top as needed and add descriptive notes down below.

_________________
"Blessed are the yeeks, for they shall inherit Arda..."


Last edited by Zizzo on Wed Aug 14, 2019 2:10 am, edited 2 times in total.

Top
 Profile  
 
PostPosted: Wed Jul 31, 2019 10:53 am 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 781
Location: Middle of Nowhere
Fantastic work, as always. I am absolutely using the main menu shortcuts, and probably the add-on sorter, too.

This actually reminds me of another idea I had recently that would need a boot add-on to work, and involves the add-on list. So, I always encourage folks who use add-ons to choose their add-ons before any new run, just to make sure there's not something enabled they may not want or could create conflicts. Enable just the add-ons you want for that character. If you want to run a class from an add-on, disable other class addons, and so on. I think it's just generally a good idea given how much time can go into a run; it sucks to have one ended by a conflict with something you forgot about or aren't even using.

I think to make add-on management easier it would be handy to have a 'disable all' button on the add-on list. I can also see an 'enable all' button being useful to some extent, as well. Getting a little more complicated, it would be really convient to have a way to flag an add-on as 'essential', causing it to ignore the 'disable all' button, for use with those QoL add-ons you just can't play without.

Keep up the great work :)


Top
 Profile  
 
PostPosted: Fri Aug 02, 2019 2:53 am 
Offline
Sher'Tul Godslayer

Joined: Thu Jan 23, 2003 8:13 pm
Posts: 1648
Location: A shallow water area south of Bree
nsrr wrote:
This actually reminds me of another idea I had recently that would need a boot add-on to work, and involves the add-on list. So, I always encourage folks who use add-ons to choose their add-ons before any new run, just to make sure there's not something enabled they may not want or could create conflicts. Enable just the add-ons you want for that character. If you want to run a class from an add-on, disable other class addons, and so on. I think it's just generally a good idea given how much time can go into a run; it sucks to have one ended by a conflict with something you forgot about or aren't even using.

…Wait, you mean not everyone does that? :? That just seems obvious. In fact, that was part of the motivation for ZOmnibus Check, to ensure that I didn't accidentally enable a ZOmnibus component during that pre-character-creation addon-juggling sweep.

nsrr wrote:
I think to make add-on management easier it would be handy to have a 'disable all' button on the add-on list. I can also see an 'enable all' button being useful to some extent, as well. Getting a little more complicated, it would be really convient to have a way to flag an add-on as 'essential', causing it to ignore the 'disable all' button, for use with those QoL add-ons you just can't play without.

[sound F/X: source diving] Hmm, adding a new component to the dialog would be tricky; I'd probably have to replace the entire Addons:init() method — and ZOmnibus Check is fiddling around in there too, so I'd have to coordinate the two. Give me time to investigate.

In the meantime, though, further investigation has revealed that your game option idea for the "New Game" action is in fact feasible, so I'm pushing out v1.1.0 of Main Menu Shortcuts with that feature. The relevant new option is "Options | Game Options | UI | "New Game" shortcut module", and can only be set from the startup screen.

_________________
"Blessed are the yeeks, for they shall inherit Arda..."


Top
 Profile  
 
PostPosted: Sun Aug 04, 2019 12:41 pm 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 781
Location: Middle of Nowhere
That's great, because it turns out I actually did have another module installed I had forgotten about. A port of ToME 2 or something, as if anyone would be interested in that ( jokes ;P).


Top
 Profile  
 
PostPosted: Wed Aug 14, 2019 2:02 am 
Offline
Sher'Tul Godslayer

Joined: Thu Jan 23, 2003 8:13 pm
Posts: 1648
Location: A shallow water area south of Bree
Zizzo wrote:
[sound F/X: source diving] Hmm, adding a new component to the dialog would be tricky; I'd probably have to replace the entire Addons:init() method — and ZOmnibus Check is fiddling around in there too, so I'd have to coordinate the two. Give me time to investigate.

[sound F/X: further source diving] …huh. Apparently it's safe to call Dialog:loadUI()/Dialog:setupUI() multiple times, as each call effectively overrides and cleans up behind the previous one. That simplifies matters, since we can just rebuild the component layout from scratch with our buttons in place.

Which means I can release a first pass at an Addon Cleanup boot module addon. For now, we add buttons "Disable All" and "Disable Auto:Enabled" to the addons dialog, so you can effectively flag an addon as "essential" for this purpose by setting it to Manual: Enabled.

_________________
"Blessed are the yeeks, for they shall inherit Arda..."


Top
 Profile  
 
PostPosted: Thu Aug 15, 2019 4:59 pm 
Offline
Uruivellas

Joined: Mon Sep 21, 2015 8:45 pm
Posts: 781
Location: Middle of Nowhere
Zizzo wrote:
Which means I can release a first pass at an Addon Cleanup boot module addon. For now, we add buttons "Disable All" and "Disable Auto:Enabled" to the addons dialog, so you can effectively flag an addon as "essential" for this purpose by setting it to Manual: Enabled.


:D


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group