#TheFamily - UI tabs to cleanup screen space

1 messages · Page 1 of 1 (latest)

meager dust
#

*temporary name, can be changed in future

Sometimes, mods love add own UI in screen. But what if there's so much mods so there's no space at all? That's what I want to solve with this mod.

Main idea is to have one place with "tabs" which corresponds to some buttons, actions, UIs or menus, ad controls which ones is active in any moment.

For this, will be provided API to add own tab which can be represented as card (center) with some popups, alerts or other additional text.
Since a lot of tabs can be created at the same time, pagination included.

https://github.com/SleepyG11/TheFamilyBalatro

GitHub

Contribute to SleepyG11/TheFamilyBalatro development by creating an account on GitHub.

#

Here's how "tab panel" looks like atm. Each tab can be represented as card with own popup on hover, alert on corner and/or text on card (useful if there's no good center to represent what you need)

agile quail
#

ah is this where those peeking jokers kept coming from

night maple
#

this is SICK

ornate bison
#

this is v cute

harsh saffron
meager dust
#

It uses different approach for different tasks: move stuff instead of controls which one to display.

#

Also it fixes main menu and deck, which I'm not planning to adjust, so it's fine trash

#

And, if mod in result became good and useful, I'll force other mods adds support for it very agressively. Or I'll do it myself

harsh saffron
#

omnimous....

meager dust
#

Now cards scaled properly, so soul sprites displayed correctly too.
And here's another example of practice usage: summon solitaire right in game just for fun
(feat @pliant pelican)

#

Next step will be implementing tabs register API, maybe grouping, user-defined sorting

#

Still WIP but even now you can play around with this one

proven sand
meager dust
#

Because it makes sense

#

Trash bag was temting, but ticket just beter

proven sand
meager dust
#

Last addition which can be useful: I added an option to keep hover popup when card is selected.
Which means player can hover tab to see info, and highlight card to prevnt if from disappearing.
Can work very well with dynatext and dynamic variables.

One idea I want to implement: a tab which displays probabilities for each rarity and card to appear in shop, probabilities for editions, etc
Another idea: tab for speedrunners, which shows probability to The Serpent to appear, how much rerolls needed to guaranteed seprent, and average cost of rerolling

#

And yea, multibox

meager dust
#

Another small update: popup rerenders when tab is highlighted or unhighlighted.
Since you can set popup to not disappear when tab is not hovered, you can put some buttons or cards on it.

#

Maybe it's not necessary but oh well

#

So, mod probably is already working well. Now, I'll write how to use it, and here we go

meager dust
#

@balmy robin

#

Let me know how it feels and any found bugs

meager dust
#

In current implementation, there's no way to display or not display alert text conditionally, which is not good...
I'll try to figure it out next time, I guess

#

...or now

meager dust
#

And since I'm doing this change, maybe I should also make modicon, idk

#

Meh, next time

balmy robin
#

Having a start highlighted by default option would be cool if possible

meager dust
#

Possible, but what if more than 1 tab set this?

#

I think better uer decide which one to open

#

And, right now there's limit to 1 active tab at a time

#

Maybe I should remove it, idk

balmy robin
#

oh is that true, i only tested one as of now

#

but yeah this is mostly for having some tabs act as switches

meager dust
#

We'll see later, maybe I'll add this

balmy robin
#

maybe just a way to indicate "this is meant to be the only tab" that unhighlights all other tabs might work

meager dust
#

Still not sure about this. For now you can in line 59 replace 1 with 20 to have unlimited amout of selected tabs

#

It's lind of thing which require some testing or smth

#

Or maybe it's because 4AM for me

balmy robin
#

go to sleep!

meager dust
#

Theoretically I can limit amount of selected cards in group, make it configurable

#

Some actual use for groups xd

#

Aside of that, so far works fine as I see

#

One idea was keep all tabs from one group in one page. Rn it's not eimplemented, but I think it's needed 100%

#

(that's why groups was maded in a first place)

#

Anyway, enough for now

balmy robin
#

I was thinking maybe tab types like type = 'switch' or type = 'overlay', the first one can have multiple selected at a time while the second is only one at the time
so you can have switches to show areas and overlays for stuff like solitaire

meager dust
meager dust
balmy robin
#

uhh small issue

#

(those are the cards for the tabs i made)

meager dust
#

Probably forgot to add some args when creating cards or smth

#

Me too

#

I see, because cards not created in menu, game think that they're used

#

Should be easy to fix

#

Fixed

meager dust
#

First my actually useful tab

#

Pushed it, so you can take a look

#

Also I guess I can do smth like this

#

TheFamily - Ui tabs to cleanup screen

#

TheFamily - Ui tabs to cleanup screen space

meager dust
#

Now, I need somehow make other developers aware about this mod and what it provides, and why they should consider it in a first place

#

This even harder than UI trash

#

Also I added functons to rerender things

meager dust
#

Also I added function to determine should this tab (or entire group) be created. As an example, for Multiplayer, show tab only when it's multiplayer match

paper sky
meager dust
#

I'll make docs later. For now, only example and types (you can find them in index.lua file)

#

Actually I'll move types in separate file, because it makes sense

meager dust
#

Such an easy mod starts to become a bit complicated. I should probably make as a classes instead of just tables and make a bunch of methods which will control all state changes, popups etc.
I was trying to add force_highlight function but it's require execute logic for deselecting already selected cards, which is placed only in one place. Kinda blunder from me

#

I'll do it next time, since I need to do some work

#

Right now, I'll make small update and add README and documentation

#

What is really nice is that last updates is basically additions, not major changes of already maded api

#

Enough updates for a while sleepwell

meager dust
#

I have an idea. When I'll add options, I'll implement vertical scrolling as an alternative for pages

#

Should be look and feel cool

meager dust
#

I did nothing, but debug menu conveniently leaves space for my things. Lucky!

#

Question. Which one should have higher priority: can_highlight or force_highlight?

#

Logically can_highlight should limit force_highlight

#

Btw I fully refactored mod, now it's not looking like random spaghetti, at least a bit less

worn quest
#

What mods use this?

meager dust
#

When it will be in decent state, I'll advertise add support for it to other devs

worn quest
#

Ahh

meager dust
#

Soon™

#

@balmy robin may I ask you try dev branch before I go sleep? Theoretically all should work without any changes for you

balmy robin
#

it works perfectly fine

meager dust
#

TheFamily - UI tabs to cleanup screen space

#

One damn small letter

#

Anyway, cool

#

I added a lot of new stuff, force_highlight, open and close

balmy robin
#

force_highlight doesnt seem to work for me unless im doing something wrong

meager dust
#

conditional function

balmy robin
#

ohh

#

lsp didnt autocomplete, weird

meager dust
#

Also keys is not prefixed..

balmy robin
#

which

meager dust
#

All of them, group and tab ones

balmy robin
#

thats not my prefix i like snake case

meager dust
#

I mean field_area

balmy robin
#

yeah thats the name i chose

#

or are you saying i need to prefix it

meager dust
#

For now - yes

balmy robin
#

ohh ok

meager dust
#

Theoretically I can add group key as a prefix, or even use SMODS thing if present

#

not sure yet

#

I'll think about it next time

meager dust
#

Cool

meager dust
#

@balmy robin same thing, another refactor, check is it working fine for you. Thanks

#

Should be last one. Now code not sucks at all

balmy robin
#

will check in a bit 👍

meager dust
#

Also code review is welcome

balmy robin
#

works fine and now it seems to work well with my overlay menus too, nice

meager dust
#

I set higher instance type yea

worn elbow
#

I like it

#

👍

meager dust
#

Now I need to make it also draggable somehow. Or maybe don't, since dragging leads to click, and some tabs can set click event, ambiguous behaviour

#

Next one will be make this card area place in any side of screen

#

Still not sure what exactly top most card should so

#

Theoretically when it's selected, as an alert add mod config button

stone kayak
#

Hey, I was looking for a mod like that and I wonder if you do just ingame UI clean up ?

#

Cause, the setting run menu could be also cleaned

#

this one

meager dust
#

for this use Galdur

stone kayak
#

but I really like your mod it help a lot with UI

meager dust
#

Also I need to add some sort of "tag system"

#

Where tab have tag corresponds to smth like "play_discard_buttons", "top_bar", "score_preview", "hand", "jokers", "consumables"

#

No idea how to make them not trigger cascade each other, but that's a problem for future's me

meager dust
#

Problem. Setting overlay value too high makes tabs accessible on pause

#

And if I make it too low, card popups lower than other screen content

#

So, maybe I prevent any updates on pause, or provide smth like active_on_pause to alow tabs be active on pause

#

Nvm, too complicated, just stop displaying during pause

meager dust
#

Now need properly reset state of this thing between rerenders

#

Things not rotated in first frame pisses me off

meager dust
#

I pushed this one

#

Enough for today

#

@uneven shadow is was hard to implement textures sorting by using card area in Malverk? Is there anything I should be ready for?

uneven shadow
#

Malverk just changes the textures from left to right as you've selected them, so it overwrites any of the "lower" priority

meager dust
#

Hm, okay

#

I'm planning implement smth similar for tab groups sorting

meager dust
#

Goddamn, I can just don't pause a game when mod settings opened, why I forgot about this

#

This resolves a lot of potential issues

meager dust
#

Yea that works well. Now, safe rerender and this big issue is solved

meager dust
#

But cards still don't want to rotate properly on first frame. This makes me crazy

#

I need make mod icon at some point

#

But in plans right now is make placing on all edges of screen, and some options for custom rotating

meager dust
#

Next ones - bottom I guess

meager dust
#

..or maybe next time, more complicated than I expect

#

I should do real work, but instead I cannot stop making mods, help RUN

meager dust
meager dust
#

Since I made a lot of stuff already, maybe someone have suggestions or requests? trash

light basin
#

like for ideas of what to put in tabs?

meager dust
#

Well no but actually why not

#

I already have some ideas which own tabs to add

#

For speedruns ones, shop pools probabilities, etc

light basin
#

chance of getting a poker hand in your initial hand? ie. "x% chance of drawing a flush in first hand" or something like that?

#

as far as i know literally no other mod does anything like that so

meager dust
#

Yea I was thinking about that, probabilities to draw specific hand

#

It's kinda complicated tho

light basin
#

very significantly harder idea: that, but also chance to be holding any poker hand after every play/discard

light basin
meager dust
#

I like how more people appear in this thread, despite me making an API mod in very WIP state with no content

#

Crazy

balmy robin
#

it's pretty cool

light basin
#

its a neat mod ok

#

another idea: tab showing level chips and mult for hands. i dont think any mod does that yet either somehow

#

afaik cryptid devs seemed to kinda want to add something for that a while ago but i dont think they ever actually did it

meager dust
#

Like numbers displayed on planet?

#

+35 chips and +3 mult in saturn?

light basin
#

yeah

#

some mods edit those values so it would be nice to see em still

meager dust
#

I guess run info fits for this better

light basin
#

i agree but i figured i would throw the idea out there anyways

meager dust
#

My own tabs will be low priority since this can spend more time implementing them than adding new features for API

#

Mod refactor 100% was good decision, much easier to implement stuff

meager dust
#

Goddamnit this release have crash which idk how appears at all

#

My oversight I guess

meager dust
#

@balmy robin

balmy robin
#

nice

meager dust
#

Also I fixed crash, lul

#

aiko spotted

wary slate
meager dust
#

Oh I see, it's vanilla thing

#

Never noticed it

#

According to game's code, it should be removed like any other element as usual

meager dust
#

@fluid moth one small thing you need to fix. Instead of manually highlight card, use definition:open() or definition:close(), because possible moments when card is not present but tab still updates, and this functions handle all this stuff for you

#

Theoretically I can store reference for removed card, but eh, additional problems for me

frosty matrix
meager dust
#

almost was, now it's correct

meager dust
#

I successfully fixed alert not rotated properly on first frame. That's already huge

#

Now I need to do same for card somehow, and that's victory

meager dust
#

No, that's not victory. Even setting rotation for front, center and back manually basically do nothing

#

I'm out of ideas how to fix it

#

Sad (

fluid moth
#

im familying it

meager dust
#

And replace my instances of using dynatext

meager dust
#

Yea, now front_label accepts everything text node (G.UIT.T) does

#

So now passing ref_table and ref_value will work

#

Personally I was thinking about front_label as unchangeable label but oh well

meager dust
meager dust
#

One of the first my ideas for tabs

meager dust
#

Yooooooooo

meager dust
fluid moth
#

im familying it

meager dust
#

Next one will be for editions

timid sandal
#

oh is this like

#

a lot of info stuff

timid sandal
balmy robin
#

you can add your own

timid sandal
#

i mean yeah but what about the rarity stuff

balmy robin
#

its just extra stuff sleepy is adding to it

timid sandal
#

oh nice

meager dust
#

Here we go again

#

Values when Glow Up redeemed btw

#

*order fixed

#

Yea it's done

#

Also pushed

#

Today I'm cooking good

#

But I think enough for now

#

Next one will be rates of jokers, consumables, planets, etc in shop

#

Actually, issue in calculations, need to fix rq

#

He-heee

#

What to do when will be so mech editions I'll figure out later

#

Sagly all editions have same colour for badge, not so good looking as rarities

meager dust
#

Next one also makes sense

#

You know what? With name, this popup looks sexy

#

Enhancements and seals left...?

#

For custom types idk how to implement this

#

Actually I can try merge current edition popup with all other this types of things

worn quest
#

This is coming along nicely

meager dust
#

Since edition rates in different contexts different, I should add abilitiy to choose what to display

#

Neex to exclude negative for playing cards tho

#

Done

wary slate
#

I don't think weight is a percentage is it?

meager dust
#

Yes, but I convert them to percents, because easier to understand

#

I can display actual weight but I think it's not really needed

#

todo: add money stats, like "how much money spent on shop", "how much on rerolls", "how much gained from hand" etc

#

I'm not using localization because I'm lazy. Am I cooked?

inner oasis
#

I would like to add support for this mod with my Horoscopes CardArea. Is there any documentation? I took a look at the examples but they weren't really of much help

meager dust
inner oasis
#

This gives me values for the tab options which is all well and good, but this doesn't tell me how to make it work with a card area

meager dust
#

2 ways:

  • change .states.visible
  • change config.offset
#

Hide area, or move it out of screen, up to you

inner oasis
#

I see, alright

meager dust
#

I'll update examples and, possibly, add full documentation in short term

inner oasis
#

I was a little disappointed to find out this doesn't work

#

Got the cardarea showing/hiding to work tho

meager dust
#

Well, yea, not sure how properly add this formatting in vanilla game without using localization

#

With SMODS it's easier for sure

#

If I'll find where it is in SMODs I'll copy-paste in just in case

#

@balmy robin maybe you know?

#

I found SMODS.localize_box but it looks like for parsed string

#

Actually I'll try one thing

#

Okay I figure out how to parse 1 line with smods, but not multiple

meager dust
# inner oasis I was a little disappointed to find out this doesn't work

You can use smth like this for now:

return {
    name = {
        {
            n = G.UIT.T,
            config = {
                text = "Shop probabilities: Card types",
                scale = 0.35,
                colour = G.C.WHITE,
            },
        },
    },
    description = {
        SMODS.localize_box(loc_parse_string("{C:attention}Ha-ha!{}, you found me!"), {
            default_col = G.C.UI.TEXT_DARK,
        }),
    },
}
#

Until I find better solution

#

Yea that's definitely a thing I need to figure out

#

But only tomorrow then

balmy robin
meager dust
#

I made a function for localizing stuff

fluid moth
#

im familying it

meager dust
#

yay we familying

#

In dev branch already

#

Today I'll probably make some cleanups, update and make more examples, and maybe add documentation on github page

meager dust
#

Maybe I should do some optimizations, like do not call front_label function every frame

meager dust
#

Big update for types is coming

meager dust
#

I found one oversight. When creating alert with definition_function, element n = G.UIT.ROOT with transpacent color and align = "cm" is added too

#

I'll fix that, since main idea for definition_function is return full definition for UIBox to pass

#

Kinda breaking change, oopsie

#

I'll add backwards compatibility

#

We're saved

meager dust
#

@pliant pelican

pliant pelican
#

:3

meager dust
#

I made a much better types and examples with a lot of comments and explanations

#

I tried to explain everything you need to know to make own tab easily

#

At least not really complicated ones

#

Check folder types and examples

inner oasis
#

I think your screen position options are flipped lol

#

Unless this was fixed and I'm on an outdated version

meager dust
#

You're right, label on this toggle is incorrect. I added a function to render formatted text btw.

meager dust
meager dust
#

All left for shop is probably booster packs probabilities

fluid moth
#

im familying it

meager dust
elfin sail
#

Possibly add an option to toggle the time display that shows when not hovering? and/or 24hr time?

meager dust
#

Never checked it with other mods actually. Works fine

#

Same for new thing

meager dust
#

And vouchers - also done!

meager dust
meager dust
#

Plans for mod in near future:

  • Add config for sorting groups similar to Malverk, where you can provide card which will represent group, and user by moving them will change display order
  • Possibly, implement ability to enable/disable group individually in mod config. May be a problem because mods may rely on a tab as a single option to reach some UI. So maybe I can allow to definge group as non-disableable
  • Implement tag system, which will allows to tabs with type = switch behave similar to type = overlay, which can be useful when multiple mods will trying, for example, try to hide joker slots or deck
  • Add few tabs which useful for naneinf runs, maybe some more
stone kayak
#

So, I know I have some other mods but by stacking each thing its going out of the screen, so maybe you can add page-like or something like this. And I don't know why but I keep crashing by hovering the edition tab

meager dust
meager dust
#

Log is not informative tho, need bottom part

stone kayak
#

here

#

It crash when I go on edition, booster and voucher

meager dust
# stone kayak

This crash caused by issue in edition's mod itself. Specifically, UNIK's mod

#

Like, lol

stone kayak
#

Ok I update UNIK and nothing change

meager dust
#

Because it's present in github rn

#

I reported it in mod thread rn

#

Nothing I can do here

stone kayak
#

Ok

meager dust
#

You can fix it manually tho

stone kayak
#

But is the second log from UNIK too ?

meager dust
#

No, second one I'm checking

stone kayak
#

Ok cool

meager dust
#

What a heck...

stone kayak
#

What

meager dust
stone kayak
#

It doesn't work either

meager dust
#

oh I see, one sec

#

Try again

stone kayak
#

Yeah it work now

#

but Voucher no

#

its probably the same issue for voucher

meager dust
#

What's wrong with vouchers

stone kayak
#

wait I giving you the crash log in 2 sec

#

plus some booster do not show their name

meager dust
#

Try again

stone kayak
#

okok

#

Yeeeeeeeeeeeeeeah

#

Now no crash

#

but the name of the Booster that was error before just show a empty box

meager dust
stone kayak
#

okok

meager dust
stone kayak
meager dust
#

Even boosters names?

stone kayak
#

Yeah kinda

meager dust
#

Good enough for me

stone kayak
#

like some have error but like 2 of them only

#

it was like 15 before

#

At least, the most important one for me (the booster from my own mod) works

meager dust
#

cool

#

Someone requester select time format for first tab

#

Quickly add this and call it a new release

stone kayak
#

ok cool

meager dust
meager dust
elfin sail
meager dust
#

Implement tag system, which will allows to tabs with type = switch behave similar to type = overlay, which can be useful when multiple mods will trying, for example, try to hide joker slots or deck
Done

#

Here's a list of this "switch overlays" I add by default. Any string can be used, but have some sort of pre-defined ones can be useful.

#

Here's how it looks like in code. Providing this will close all tabs with similar switch_overlays so make sure that only one tab which occupy this area is opened (unless they're force_highlighted)

fluid moth
#

im familying it

meager dust
#

Yayyy

meager dust
#

Next thing I'll add will be probably groups sorting and enabling/disabling

meager dust
uneven shadow
#

that's a nice cardarea limit you've got there

meager dust
#

I think this will be enough for all possible needs

#

I need to add hover popup which will show info about group, but for today I'm lazy

#

Next time

#

On top of that, write types and examples for how define group's card/info/etc

#

A lot of work with this one

#

And localization support too Trolge

meager dust
#

Well, yea, smth like this. Even SMODS badge is working

#

I very like how it was implemented in Malverk, want smth similar

meager dust
#

Already in dev branch btw

fluid moth
#

im..... familying..... it

meager dust
#

sleepwell yay

meager dust
meager dust
#

Next one will be probably toggling/sorting tabs inside groups

#

Technically, all I did is not that impressive, but I just like to post how my development process going trash

#

Helps to be on track

balmy robin
#

everything you do is impressive, you do a great job

modest iris
#

i love checking on here every few hours

#

reminds me that im a much worse coder compared to you, give me that necessary motivation to code more :3

meager dust
#

That was easy too

#

I need somehow optimize it in a way that cards rearrance does not call full area rerender

#

But I'm lazy

#

Same thing here, loc_txt for tabs

#

With some fallbacks based on front_label aswell

meager dust
#

Pushed to dev branch

#

Good night sleepwell

meager dust
#

Following fox

fluid moth
#

im familying it

#

i added a description for this now btw

#

and changed the mod badge name because i dont like the marquee effect

meager dust
uneven shadow
meager dust
#

Small reminder that this can happen outside of game (SMODS config menu) so G.STAGE == G.STAGES.RUN check is required

meager dust
#

Oopsie

#

Not description, text

#

That's unfortunate

#

But that's okay, I found approach

meager dust
#

nvm, I preffer consistency. So instead of description in loc_txt use text, just like for any other balala thing

meager dust
#

Now localization from file also supported

#
return {
    descriptions = {
        TheFamily_Tab = {
            thefamily_pools = {
                name = "Pools",
                text = {
                    "Blala"
                }
            }
        },
        TheFamily_Group {
            thefamily_shop = {
                name = "Shop probabilities",
                text = {
                    "Balala"
                }
            }
        }
    }
}
fluid moth
#

im.... familying it?

meager dust
#

That's possible

meager dust
#

Technology

modest iris
#

technologia

meager dust
#

This badge looks evil. I take it

fluid moth
#

im..... what was i gonna say again

meager dust
#

Random crashes, my beloved lumodance

#

I have random crash in rearrange thing which I can't reproduce consistently and basically impossible to debug

#

Let's goooooooooo

#

Whatever, new release incoming

#

I hope further updated for SMODS mod badge will not come Lumaflute

fluid moth
#

evil eremel updating smods

meager dust
#

I'm slowly run out of ideas what I want to add

#

And it's a good thing, I like when mod feels completed

#

From todo list, I added everything except more tabs, which personally don't feel to do rn

#

So next one probably will be some docs

stone kayak
meager dust
#

That's actually good

meager dust
#

Small code cleanup

modest iris
#

we are a family

meager dust
#

Since idk what to add for now, I'd like to take suggestions

frosty matrix
# meager dust Since idk what to add for now, I'd like to take suggestions

probabilities of drawing specific hands / cards to hand (if selected cards are played/discarded)
maybe not all since thats too clunky but maybe like most played hand / hand that scores enough
and maybe specific values in accordance to owned jokers eg, 6s for sixth sense or whatever rebate lands on etc.

#

and just the card you have most of

meager dust
#

Doesn't really sounds useful

silent hamlet
frosty matrix
meager dust
# frosty matrix dont get how this is any less useful than anything you've done but ig if ur not ...

Let me explain.

  1. probs to draw specific hand - hard to implement because leads to a lot of math and counting cards, let alone implying joker effects
  2. probs to draw specific card - kind of information which affects your decisions too much in moment. It's the same why Balatro doesn't have score preview - prevent people min-maxing each move instead of playing a game.
  3. specific cards for specific jokers - same thing as previous + you can just check how much rank left in your deck and assume probs to draw them
  4. cards you have most - just open your deck lol
sleek zephyr
#

you should make it so that if front_label is a string instead of a function in create_tab it auto generates the function for you with some default boilerplate for consistency, probably easier than copy pasting the same boilerplate over and over

#

or ig theres something similar

#

but this could probably be just text still

meager dust
#

Makes sense. Easy to do

#

Function allows to implement localization, custom color etc.

#

But for simplicity string can be good yea

sleek zephyr
#

oh right localisation that makes sense

#

i mean

#

im literally using localisation so

#

idk why i didnt think about that

meager dust
#

That's because I in my own examples doesn't use it

#

I'm lazy a bit

sleek zephyr
#

is there a way i can update the description when clicking on it even if i have to force unhighlight and rehighlight it

#

wait

#

these are just cards arentthey

meager dust
#

Basically

#

When card highlighted this popup rerenders automatically

#

You better use highlight thing for this one

#

Since other mods theoretically can use tags area for own needs

sleek zephyr
#

im just trying to make the enabled/disabled update without having to move the mouse

meager dust
#

store tab reference

#

And then you can call tab:open(), tab:close()

#

It's save to open already opened tab, all checks in place

#

Just in case, you can find types folder with full explanations for all useful methods for you

sleek zephyr
#

also is it possible to add a config to change the offset from the right of the screen

#

like i actually dont know if you could do that

meager dust
#

Ofc I can

#

But when you see all cardarea not cutted, it looks kinda ugly

#

Was attemt to implement top-bottom variants, on hold temporary

lyric knoll
#

Does this mod add better UI or is just WIP for now?

#

As in, does it function?

meager dust
#

It's more like API

lyric knoll
#

Ah

meager dust
#

Yes it's working

lyric knoll
#

Does it like have features I mean.
Can I use it right now and have better UI in game?

meager dust
#

It doesn't adjust existion vanilla UI, only when other mods have support for it

#

It's main idea

#

But mod itself adds few tabs with some info

lyric knoll
#

Do any mods use it right now?

meager dust
#

Few, since mod is new

lyric knoll
#

Ah, okay.

meager dust
#

When it will be in good condition I'll advertise it "agressively"

lyric knoll
#

Nice

meager dust
#

Okay, as far as I understand, game have limited window where mouse events can occur

#

Okay, I found a "fix" for this

#

It's a single global value

#

I'm lucky!

#

Not sure about prefixes, should I

#

@sleek zephyr in dev branch I pushed a thing which, I hope, will make area interactable in wide monitor like yours

sleek zephyr
#

alr

#

let me test

meager dust
#

Your monitos is 21x9 right?

sleek zephyr
#

16:9 apparantly

meager dust
sleek zephyr
meager dust
#

Hm, weird, okay

#

So, in your case, 3rd example most suitable, preffer this approach

#

Like toggle visibility tags/runes by highlightning tab

#

All other logic already covered by me card area

sleek zephyr
#

ive figured it all out anyway

#

this might not be the best way to do it but it does work

meager dust
#

self:rerender_popup

sleek zephyr
#

is that actually a thing

meager dust
#

Ofc

sleek zephyr
#

i should really setup lsp stuff at some point

meager dust
#

Maybe

#

But for now just check folder types rq

sleek zephyr
#

i dont really have any other tabs to make rn anyway

meager dust
#

Also, just in case, possible moments when tab exist and working, but card doesn't exist, so in callbacks it will be nil

#

It's not an issue, it's a case where you open another page

#

But luckily for you all methods for render/rerender/open/close do all checks

#

Sorry for some confusions, I'll account them when I'll write mod docs

sleek zephyr
#

its alright

#

i mean you should write the docs

#

but it probably matters more because of other people and less because of me

meager dust
#

I know, it's in my plans

sleek zephyr
#

i will figure it out eventually just from reading the source

meager dust
#

Aside of that, is things understandable enough and fullfils all your needs, at least for now?

#

Since idk what else I can add in terms of API, I implemented everything from my mind

sleek zephyr
#

its good for me

meager dust
#

Also, code review in general is welcome. But it's fully optional

#

gn sleepwell

meager dust
#

Okay it' tiiiime

meager dust
#

@sleek zephyr I updated mod alongside with my vision of runes tab. PR or I'll just send a ready file in DMs?

sleek zephyr
#

you can do a pr

meager dust
#

It needs few tweaks from you tho (localization ones)

sleek zephyr
#

thats alr i can edit it and stuff

meager dust
#

Use recent mod verson from dev branch tho, I implemented tab:load function in it

#

Sorry to be a bit annoying with this thing trash

#

And, I hope, you tested it

sleek zephyr
#

works fine for me

meager dust
#

Do you like it?

sleek zephyr
#

its cool

meager dust
#

Yayyyy

meager dust
#

One step further in right direction lumodance

lyric knoll
#

Why is Right on Left and Left on Right
Fix it please
This is going to haunt my dreams

#

Anyways this mod is actually really good
Unfortunately, I can't use it in windowed mode.

lyric knoll
# meager dust why?

It doesn't let me hover over or interact with any of the things.
They do show up though.
Also, it lags my game a lot in windowed mode (and fullscreen)

meager dust
#

Yea, possible some problems with performance, I'll try to optimize them when I can

meager dust
lyric knoll
meager dust
lyric knoll
meager dust
#

nvm

lyric knoll
#

@meager dust I started a run, and it was lagging so bad that my game crashed.
I don't think windowed mode likes it

meager dust
#

crash-log?

lyric knoll
#

It won't tell you anything, but sure.
It was just lag, so it doesn't actually show what happened

meager dust
#

Looks like you have a lot of mods

lyric knoll
#

Well actually 104 (not including The Family)

#

Or wait no 105

uneven shadow
#

I wonder which one is spamming the debug logs

meager dust
#

Good question

#

It's calling some SMODS util function right?

#

Basically some mod calls prints a lot of time per second, which can cause fps drop

#

I'll check my mod in case of leaking moveables or memory

lyric knoll
#

I very highly doubt your mod is causing the spam.
This has been happening for a while now and this is the first time I've used The Family.

meager dust
#

I'm not printing any debug info in code at all

#

As fas as I see some tabs leaves dead moveables, but that's about it

#

According to profiler other things does not impact performance, or do it insignificantly

meager dust
#

@lyric knoll search in your mods folder for usage of sendMessageToConsole function. Some mod very like to spam with it

#

Or sendInfoMessage, thats' more our case

lyric knoll
#

I'm making a new modpack because the other one was too unstable.
I'm going to try this mod again and see if it works now.

#

How easy would it be to create stuff for this mod?
I've honestly been looking at it for a bit now and it looks promising.

#

I could create stuff for it, mainly because Unjankify doesn't save with Mod Profiles installed.

meager dust
#

Relatively easy, but require a bit if UI knowledge

lyric knoll
#

Nice!
I'm going to start on that in a bit.

meager dust
#

At some point someone should make collection of tabs with different games to play

meager dust
#

Like Solitaire

lyric knoll
#

Aikoyori's Shenanigans has that lol (in the mod page)
I'll add that actually

lyric knoll
#

Okay yeah with the dev branch I can use the tabs in windowed
I honestly forgot to grab from dev and used main and then had to re-grab the mod.

lyric knoll
#

@meager dust Hey, I can use the mod in windowed mode, but I have the weirdest resolution on my TV, so it ends up making the UI weird when I'm in windowed fullscreen because the taskbar makes it smaller.
This is an issue because I can only use the mod if I make the window smaller for a second. I'll send an image in just a second.

meager dust
#

Do you use last version from dev branch?

lyric knoll
lyric knoll
#

It works now btw

meager dust
#

Cool

meager dust
#

I do belive this thread is dead. Time to revie it a little bit, I guess

#

Since it makes sense, now tabs also can be loaded in main menu stage

#

How this can be used? Up to you, but can be good apportunity to solve an issue where different mods want to show popup on game start (yes, aiko?)
Also someone suggested changelogs. Why not!

#

What else I should add vsepohano

ornate bison
#

idle game for while your hand is scoring

#

embedded browser to open the wiki

#

ip address viewer so it's a fun little minigame not to doxx yourself

#

live malverk/whatever-the-thing-for-sound-effects-is-called/trance/collab reconfigurer

#

timer/stopwatch

#

jokerforge so you can test your designs instantly

#

menu where you can apply pointless post-processing shaders to "improve" how the game looks

#

subway surfers videos on a loop

#

aggregated balatest stats (okay this one is something I should do myself)

#

live save switcher to go to the saved game on the other two profiles

meager dust
#

last 2 makes sense

#

timer/stopwatch maybe