[SUG][PLAYER] Skill panel zoom setting independent from level zoom

Started by namida, December 09, 2020, 12:51:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

(See also: Proxima's topic More options for layout customisation, which this was split off from.)

Currently, the zoom for the skill panel is determined as follows at any given time:

1. Start with the zoom the level is set to
2. If this is less than the player's initial zoom setting for levels, set it to that instead
3. If this is too big to fit on the screen / in the window, reduce it to the highest zoom that will fit

However, the idea has been expressed that the skill panel's zoom should be an independent setting, and I agree with this.

The simplest implementation would be that the skill panel's zoom can be adjusted in the settings menu, but is fixed once in-game (though of course once you exit to the postview screen, you could open the settings menu and change it again). A more complex implementation could allow for the panel's zoom to be adjusted in-game, independently of the level's zoom; though I'm not really convinced there would be much point to doing this.

Any thoughts?
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

WillLem

How about something like this:



What I'm imagining is that only the selected items will be displayed, and the resulting panel can be zoomed to the user's liking. Obviously, the more buttons checked, the less zoom capacity.

Not sure how difficult this would be to implement, but it would certainly solve a lot of screen-size issues that people seem to be having, and be a nice customisation option to boot.

Re: zooming the panel in-game; I can imagine this being fairly frustrating if you keep doing it by accident (as sometimes happens with the level itself), so it would really depend how it's implemented.

namida

Fully customizable panel is not on the table. This is purely about how to handle the skill panel's zooming. The only other thing that's feasible (feel free to create a topic if you have a proposal + reasoning) is the addition of an extra button to the full-size panel.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Proxima

As I mentioned in the other topic, the issue with the current system is that sometimes you want 3x level and 2x skill panel because that fits the size of your window; but with those settings, the skill panel expands itself to 3x if it can, causing a default (160-tall) level to become vertically scrolling. This will be a problem if the window height is just below a multiple of 200, since 600 would be enough to fit both 3x level and 3x skill panel, 800 would be enough for 4x, and so on.

So, there are two possible ways I can see to fix this. Either let the user set the skill panel's zoom separately; or include another check in the algorithm, i.e. don't allow the skill panel to expand if this would reduce the level height below (160 x zoom level).

I think the latter would be an adequate solution, so making it a separate setting is perhaps not necessary.

namida

The latter may not suit all users, though. So instead, I would prefer going with the former (letting the user set the panel's zoom seperately).

But yeah - is it likely to be adjusted at runtime, or will it be acceptable if the panel's zoom can only be changed when outside of gameplay? The latter would be much, much less work to implement.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)


WillLem


namida

Okay, so it appears everyone who's interested in this at all, is fine with it being editable only outside of gameplay. This is easy enough to do, I'll probably implement it later today.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Implemented in commit b0e4c36.

Note that of course, the skill panel size is still constrained by the window / screen size. Usually, NL will not present you with an option that does not fit, but of course this situation could arise by editing the config file by hand, or resizing the window while in-game. But the only connection it has to the level's zoom now is "if loading a config file that doesn't contain a panel zoom setting, default to whatever the level zoom is set to".
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)