In all versions of NL so far, when in-game and using full screen mode, the displayed game area is the largest integer multiple of 320x200 that will fit on the screen, which is then centered. This almost always results in some amount of screen space being unused and simply taken up by black borders. How severe this is depends on the user's resolution; 640x480 would have almost no black borders (only 40px above and below the game area, none on the left/right), while the resolution that suffers the most - which is also one that is very commonly used - is 1366x768, which has 84 pixels above and below, and 203 on the left and right), partially due to that this resolution is very close to being able to use a 4x zoom factor, but the height is slightly too small.
Some discussion came up in the release topic, suggesting that a change should be made in this case to make use of the black border area. Due to the need in many cases to tell exactly which pixel is which, resizing by non-integer multiples is probably not practical. The alternative option is to use this extra screen space to display a larger portion of the level area.
Some questions that arise from this are:
1. There's no logical reason that such options should be restricted only to those who use NL in full-screen. Why can't a windowed user who uses a 960x600 window, instead of having a 3x zoom, choose to have a 2x zoom and display a larger portion of the level in that window? But, how should such options be presented?
2. What should be done about the skill panel? Simplest option is to resize as normal, and center it while still leaving some black border area to the sides of the skill panel. Alternatively, as long as the aspect ratio is kept, non-integer scaling of the skill panel will not present the same issues as non-integer scaling of the gameplay area. There might still need to be some degree of black borders to the left and right of the skill panel. A more complex option may be simultaneously displaying both a minimap and the extra buttons if space allows.
Some existing discussion can be found starting from Nepster's post in the release topic: http://www.lemmingsforums.net/index.php?topic=3110.msg62505#msg62505
I would say the "simple" option is the best one here: Display more of the level!
I really want to 100% be able to tell which pixel is which and don't want to loose any accuracy. So why not simply display a little bit more of the level (if the level has more terrain to offer)? ???
The minimal level size can be kept at the current size and only there should we have the "normal" black borders now. I would even argue to make this the standard.
For the skill panel: I think it would be ok to leave it as it is, or maybe move it over to the left edge and see if the black borders can be converted into another button (maybe select walker, another skill or sth) ;)
I've put together an initial implementation candidate for this and will be putting up an experimental for this shortly, so you can try it out and tell me whether you think it's good or needs further improvement.
EDIT: You can get this experimental here: https://www.dropbox.com/s/db9y28z5y9fl1qo/NeoLemmix_10-12-15_cb40193.exe?dl=1 NOTE: The new stable release V10.12.15-C has these features, get it instead.
One small issue with the new experimental version: If a level does not fill the full height, it is not centered vertically, but sits directly above the skill bar. This results in a rather large black strip at the top, and one has to focus one's attention on the lower two thirds of the screen instead on the screen center.
I have no problem with the skill bar always sitting at the very bottom, but I prefer the main level image to be centered.
A tad off topic but, is it possible to say, scroll the preview if it doesn't fit the screen?
Sorry, but I don't quite understand your suggestion? In the experimental version, the whole level gets zoomed such that all of it can be displayed in the preview area. So there is never anything to scroll, because everything is already displayed on the preview screen.
Quote from: Nepster on January 30, 2017, 09:52:01 PM
Sorry, but I don't quite understand your suggestion? In the experimental version, the whole level gets zoomed such that all of it can be displayed in the preview area. So there is never anything to scroll, because everything is already displayed on the preview screen.
What I mean is if you can pan the preview of the level if its too big to fit the preview
But for the experimental version, there is no level that is too big to fit the preview. Huge levels are scaled down until they fit within the preview area.
Quote from: Nepster on January 30, 2017, 10:21:42 PM
But for the experimental version, there is no level that is too big to fit the preview. Huge levels are scaled down until they fit within the preview area.
Okay I see now, my points are now moot
This is even true for the most recent stable versions (V10.12.13 and V10.12.14).
Quote from: Nepster on January 30, 2017, 05:37:45 PM
One small issue with the new experimental version: If a level does not fill the full height, it is not centered vertically, but sits directly above the skill bar. This results in a rather large black strip at the top, and one has to focus one's attention on the lower two thirds of the screen instead on the screen center.
I have no problem with the skill bar always sitting at the very bottom, but I prefer the main level image to be centered.
I thought about that too. I don't know how I feel about having the skill panel "detached" from the game area like that - however, this is now purely a question of cosmetics, as all functional issues that might've been caused by that in past versions are no longer there.. The alternative option would be that the skill panel moves up so that the visible area as a whole is vertically centered.
I encountered some more bugs while playing around with windowed version of the expermental player:
1) In windowed mode, it seems that the option "Use smooth resampling in menus" has no effect at all and the resampler is always used. It might be my personal preference, but I rather liked the sharp edges of the standard zoom without resampling. I haven't tested whether "Use smooth resampling in game" works or not.
2) In windowed mode all menus are missing half of the bottom line, cf. attached screenshot 1. Perhaps a few pixels are missing on the right-hand edge as well?
3) When having a higher window zoom (e.g. 3x) and selecting a lower one (e.g. 1x), the window gets no longer resized. The correct window size only appears upon restarting the player. This results in some rather weird game windows, cf. screenshot 2.
Interestingly the converse still works, i.e. moving from 1x zoom to 3x zoom by switching the game windows.
Finally I attached a screenshot 3, which shows how fullscreen is currently displayed on my laptop. Slightly more than the upper 20% of the screen are completely unused. But as I said before, this is exactly the area that I usually focus on. So if I would really use fullscreen, this would be a major annoyance to me.
I don't have any arguments pro or contra fixing the skill bar at the bottom.
Cannot reproduce issue #1 on backwards-compatible, have not tried on new-formats.
Can confirm issues 2 and 3, and will look into a solution to them, though probably not today.
Quote from: From PMThe only bug I've noticed is the crosshair does not change into a square when on the outer parts of the screen, but that wouldn't even show in my videos anyway.
Leaving this here so I don't forget it. I have noticed similar issues myself but hadn't pinned down any exact cause.
Issue 2 fixed in commit 825d412.
Issue 3 was occuring because, what was kicking in wasn't "increase the window size upon increasing the zoom", but rather the more-general check of "make sure the window size is at least 320x200 x <zoom>". A window that was already this size or larger would not have resized.
I've changed this so that upon changing the zoom, the window always gets resized.
Also - I've now made it so that the change occurs as soon as the config menu is exited, rather than delaying it until the main menu screen is exited. And even better, I fixed that bug that made the game stop working upon a change between windowed and fullscreen mode, so it is now possible to change between the two without restarting NeoLemmix.
A change to the "Use Smooth Resampling In Menus" still doesn't get applied until leaving the main screen - which now that I think about it, could have been why you thought there was a bug there?
Added settings to allow zoom levels lower than (maximum that fits on screen) in fullscreen mode.
On a 1080p display, I can (just!) fit the entirity of LPIV's Insane 20 on the screen at once... while still having a 2x zoom. In fullscreen mode. w00t! :D
The obvious next step would be to allow changing the zoom while in-game.
First step towards in-game zoom changing: Mouse wheels can now be used as hotkeys. This is, of course, intended for the purpose of using them for zooming. But, since NeoLemmix is very flexible on any hotkey (/ hot mouse button) apart from left-click, there is of course nothing stopping someone from instead deciding that, perhaps, they want to use Q and W for in-game zooming, and instead assign the mouse wheel to skill selection or release rate changing or anything else they like.
Alright, it's now fully working, and an experimental version with support for it has been released!
http://www.neolemmix.com/download.php?id=75 NOTE: The new stable release V10.12.15-C has these features, get it instead.
There are some very minor graphical glitches - this is limited to a bit of flickering when changing the zoom during gameplay, no long-term effects. I will look into what can be done to fix this.
Quote from: namida on February 02, 2017, 10:39:05 AM
A change to the "Use Smooth Resampling In Menus" still doesn't get applied until leaving the main screen - which now that I think about it, could have been why you thought there was a bug there?
You are right, I only checked the main screen and did not change to other screens. If I move to a new screen, the correct option gets applied.
Even so, it's better that it takes effect right away, which is why the latest commit makes it do so. :)
Here's the latest experimental (note: does NOT include the fix to make the resampler options take effect immediately).
http://www.neolemmix.com/download.php?id=76 NOTE: The new stable release V10.12.15-C has these features, get it instead.
Let me know if you encounter any issues. Apart from hopefully fixing the flickering, if no further issues are reported this is probably ready for a stable release.
Please note that there's now a stable release which includes the features from these experimentals, V10.12.15-C. If you wanted to try out the feature, you should get that rather than the experimentals. (I'll probably take the exp versions down fairly soon, actually.)