Tales of Maj'Eyal

Tales of Maj'Eyal

118 ratings
Marson's UI Modifications
File Size
3.010 MB
Jan 6, 2014 @ 9:18pm
Mar 19, 2015 @ 11:44am
78 Change Notes ( view )

Subscribe to download
Marson's UI Modifications


If you are using an older version of ToME, visit http://te4.org/games/addons/tome/marson-ui and choose an earlier version of this addon.

UI MOD v3.7.0
An attempt to make 1920x1080 easier on my decaying eyesight, plus a few personal preferences. This is a revamp for the Minimalist UI. It may work for Classic, but hasn't been tested for it. Most settings can be found on the UI tab on the Game Options screen.

• Adds a 'Fonts' tab to 'Game Options'. Choose separate font styles and sizes for six categories:
* menus & dialogs
* HUD elements
* tooltips & character sheet
* chat & combat log
* flying text
* lore
• Expanded font size range to 8 - 36 points. (Stock range is 10 - 18)
• Ability to add your own fonts with a fontpack addon.
• Scales most dialog boxes to account for larger fonts.
• Hotkey bar revamp:
* Frame colors: green = activated talent, blue = sustained talent, yellow = equipped item, orange = unequipped item. Colors on talent screen and buff bar changed to match.
* Frame colors do not change when on cooldown.
* All talents/items on cooldown will have a red overlay.
* Z-layer of key text (C8, etc) moved under color overlay to better differentiate from cooldown text.
* Unequipped items get pale yellow color overlay similar to cooldown overlay.
* Right-clicking on an item no longer clears the item; it brings up the hotkey assignment menu. (You may clear it from there, as with talents.)
• 'Use Talent' screen now also lists all usable items, allowing you to associate a hotkey using the dropdown menu. Objects are separated based on whether they are worn or not and display their current cooldowns.
• When assigning a hotkey, the list will show available hotkeys as 1 through 0,-,= with C,S,A,AS, modifiers (example: "Hotkey C7") instead of "Hotkey 1" through "Hotkey 60", so as to match the labels on the hotkey bar.
• Enabled and modified 'Creature List' code that was in stock ToME but not used. Lists NPCs in player's sight along with their remaining energy and distance. Mousing over an NPC in the Creature List will center the screen on that creature. Toggle the list on/off with Ctrl-Tab.
• 'Limit Terrain Height' option will rescale trees and mushrooms to prevent them from overlapping the grid above them. (Will not affect current level until you leave and return.)
• Adds viewport options: 'Original' is the stock behavior from v1.1.5 ToME. The game will use Scroll Distance, but won't show a black border around the map. With a high Scroll Distance, you will remain centered until you get to the edge of the map, at which point the map stops moving and your character moves off-center. 'No Hiding' is now the stock behavior of v1.2.x ToME. It is a bit of a hybrid. The map will scroll similar to 1.1.5, but will show enough of a black border so that your avatar will not hide under UI elements such as the mini-map and hotkey bar. 'Centered' will force the viewport to strictly follow the Scroll Distance setting. If you have it a high number, you will be centered 100% of the time.
• Adds option to enable right-click dragging of the viewport. This will coexist with mouse gestures but may not mix with them in a visually pleasing manner.
• Separate adjustable background transparencies for dialogs, tooltips, combat log, chat, and hotkeys.
• Adjustable tooltip width.
• Ability to change tooltip location: each of the four corners / at mouse cursor / opposite corner from mouse.
• Tooltip will get out of the way of target location via keyboard as well as mouse cursor.
• Ability to disable ambient background noises (dogs barking, water dripping, etc.) on the UI tab in Game Options. Defaults to 'enabled' (no change from stock).
• Shields (damage, temporal, etc.) will play a sound when they expire on a character you are controlling. (I've missed that my antimagic shield went down one too many times.) I've included a couple versions of the sound, including silence.
(shield_off.ogg created by reg7783 and licensed under the Creative Commons 0 License.)
• Adds a choice of tooltip style for the Inventory screen. 'Original' is the same as stock. 'Small Screen' moves the tooltip to either side of the screen so that it obscures less and doesn't bounce around. 'Big Screen' uses a dedicated location between the rag doll and the item list.
• If your character knows the talent 'Extract Gems', a tab will appear on the inventory screen listing all items that may be converted to gems based on your current talent level, including items in the Transmogrification Chest.
• Adds a 'Usable Items' tab to the Inventory screen.
• Adds a 'Preview Talents' button to the character creation screen. This will allow you to view the stats and talents of the current race/class combo without needing to generate a new game.
• Character creation screen will remind you if you are in dev/cheat mode.
• Ability to ESC from character creation screen.
• Alchemist quest shows details about the various rewards you are working towards: "Agrimley the hermit needs your help making an Elixir of Explosive Force, which permanently increase your chance to critically strike with spells by 4%." This will only apply to characters who take the quest after enabling this addon.
(Also available as separate addon.)
• ToME Bugfix: 'Tactical Overlay' dropdown menu.

+ ToME v1.3.0 compatible.
+ Integrated 0player's NPC List speed performance fix.
+ Added frame highlights when mousing over or dragging a hotkey.
Popular Discussions View All (2)
Jan 9, 2017 @ 2:20pm
Possible bug
Nov 13, 2014 @ 5:35am
New game freeze error log
< >
Admiral Billy Oct 24, 2020 @ 1:43pm 
Ooh, considering that it sounds relatively simple I might just give it ago!

And yeah, if I do it I'll 100% give you credit :)
Marson  [author] Oct 24, 2020 @ 8:05am 
Shortening the terrain uses six lines in mod/class/grid.lua. I didn't comment it, but if you search for "marson" you'll find them. If grid.lua hasn't changed much, you can probably insert the same lines in the current version in similar locations. If you take out "config.settings.marson.short_terrain and " from each line, then it won't bother checking for a setting and just do it, which would be appropriate for a stand-alone mod. I don't modify anything else in grid.lua for any other UI settings so it won't conflict with anything else you might want to extract. Since it needs to be overload rather than superload, it should be the first mod that loads. That also means you'll have to check grid.lua for any changes each time there's a version update to ToME.

Feel free to make it a mod yourself — I just ask for credit.
Marson  [author] Oct 24, 2020 @ 6:53am 
One of the things that helped me when picking up Lua was realizing that the only data structure available is a table (associative array). I jumped in without reading up on it and some of the code really had me scratching my head until I saw that.

Marson  [author] Oct 24, 2020 @ 6:47am 
If I remember right, limiting terrain height was pretty straightforward and should be a simple mod to do stand-alone. Unless darkgod added some hooks in there, it will probably need to be done the same way though (overwriting the entire file), so it might not mix well with other mods and need to be updated if the base file is changed in a version update. This is one of the reasons why I didn't break out all the options as separate mods. Each mod that overwrites an entire file needs to be aware of any other mod that overwrites the same file.

The ability bar was a bit more involved. I think it affected a number of files.
Admiral Billy Oct 23, 2020 @ 2:11pm 
Oh yeah don't worry, I'm not criticizing the efforts or anything, I just tried to give a (very) amateur description of what could be going wrong since there's a few pieces of this mod that interest me in particular (limiting terrain height and the borders on abilities)!

I may end up trying to learn lua a bit myself to try and fix it up; I'm a CS major that'll probably need to know it eventually anyways, and lua is a really useful language for modding. I'll let you know if I find out a clean-enough solution!
Marson  [author] Oct 23, 2020 @ 5:41am 
My eyesight has gotten even worse, so that would be really important to me if I were still playing. For the core game to be accessible to someone like me, the windowing system of the game would need to be rewritten to handle a wide range of font sizes.
Marson  [author] Oct 23, 2020 @ 5:40am 
When updating, I found it easiest to use diff to locate the changes in the new game version and migrate those into the mod files, but it was a fair bit of work — especially when the versions were changing so frequently. At this point the game has changed enough that it would probably be easiest to take the appropriate mod changes and find where they should go in the new version of the game files and adapt them accordingly. I think I labeled every change in the comments consistently so someone looking to update can can do a basic search. The area I found most problematic, and why I needed to do entire file overwrites, was dealing with the font size so I could read the text more easily. Changing the font size is easy (and so the font face as well), but having the various windows adapt to the larger sizes was a real bear. It required changes in a lot of different places and some "ugly" fudging of the code.
Marson  [author] Oct 23, 2020 @ 5:40am 
Thanks for looking, AB. One of the big problems is that, in order to do what I wanted with it, I couldn't just throw some lines at the beginning or end of a file after loading it the way most mods work. I had to overwrite entire files at load time. That means that any changes made to that file in new versions of the game get overwritten by the old file unless the mod is updated with those changes. This is also why this mod has to load first before any other mods.
Admiral Billy Oct 22, 2020 @ 8:39pm 
If the Author or someone else wants to take a swing at updating this, I suspect that Fonts are the reason the mod currently doesn't work; the mod tries to hook into engine.ui.FontList, but that "same" file is now in data.font.packages. I managed to get (very few) features of the mod working by just removing everything relating to the Marson global variable and "font" in the load.lua (the colored frames are primarily what seemed to be working).

Someone who knows a bit more about lua than me just taking a sledgehammer to the file's code might be able to tweak it to work properly. There's also a good chance that isn't the only problem, but alas.
Marson  [author] Aug 2, 2019 @ 9:36am 
Sorry. Medical stuff got worse rather than better and I'm also trying to pack for a move. I doubt I'll be working on it in 2019.

I've already handed over a couple of my other addons. I'd be happy to do the same if there's someone who wants to put the effort into updating this one. No one has approached me though.