mchlnix / SMB3-Foundry

SMB3 Level Editor in Python
GNU General Public License v3.0
93 stars 12 forks source link

Two new commands to view the whole level on one screen without having to use the scroll bar. #137

Open Dariosky-01 opened 3 years ago

Dariosky-01 commented 3 years ago

The first new possible new feature connected to the zoom could be one that allows instead of enlarging or reducing the level with the usual and single lens controlled by the two zoom buttons "zoom -" and "zoom +", thus using already preset fixed zoom levels, it could be a more refined additional functionality with, instead of having a new button in the GUI icons, having a switch, one that, upon activation, functions more refined in managing the zoom, a magnifying glass that associates with the mouse pointer as a lens instead of an arrow (possibly during the active switch) and which can decide the size of the level as follows: If I click and hold the left mouse button down and scroll down the mouse he zooms in on the layer, if I do the opposite (up) he shrinks it. This system is used in other technical graphics software so it is possible to build it in the software.

This idea would be of little use if there wasn't the second idea I'm about to write, because anyway This idea of ​​zoom was born to facilitate the view, and better set the level in the Foundry window, to fill the empty space there could be in the window immediately below the game level open when in landscape level mode.

The other idea is that the level, with a button that can change the display of the level, could also do so to split the level into several parts on a single video screen of the monitor, for example I have a 4/3 monitor quite large, this function, which could be activated with a new button in the GUI, could divide that part of a game level along many video screens (which forces you to use the horizontal scroll bar of the window) in order to position all that part not manageable and not immediately visible on the same video screen and along the empty space below the current level within the Foundry window, in pieces, with still "another layer strip" below,

so that with that zoom functionality I have suggested together with this one you can balance the zoom of the level well to make the whole level coincide better in a single screen frame, in a video screen in a suitable size, without the need to move the entire level to view it with the horizontal scroll bar. Obviously I want to point out that I don't say it has to work so excluding the former display "with only one level strip at the top" for this I mean there should be two new distinct functions, to help get a better display of all the level simultaneously intended without many difficulty to see what's ahead at the same time. Often, for example, in the errors of incompatible enemies, an error that exists in the versions of TheJoeSmo, one of the two enemies is often seen in error and not the other because it often happens that it is positioned in a long level much further ahead and is not understood "on the fly" who is precisely in error together with that other on the right or left placed more towards the end or the beginning of the level, but obviously this display would not only serve this purpose, but also to act on the whole level, in case it is necessary move one or more objects of the layer further away from the screen you are viewing by dragging, then realizing what is ahead and how you are moving it while dragging, making everything easier in the way of use but also in the way to view it if you have availability of a large enough screen or a good video resolution set adequate. It often happened to me that I had to move all the objects and all the enemies, everything that was in the level or more to the right or more to the left, for this reason I had to leave the zoom to the minimum seeing the level miniaturized and difficult to control. , and I had to manage it like this because I needed to see what was happening in the whole level at the same time.

I don't know if it's intended as it should work but these layer strips placed one on top of the other should work more or less like a digital text, a "Word" (Office) text document, depending on how long the text is at the beginning of writing. , which for us would be the entire level, would take one or more staves, in Foundry it would be the same, via a button to change the view or it would be like "notepad" that always writes without going down (unless you press "enter ") or as" Word "which automatically moves to the next line. For the vertical levels it is obviously not complicated to understand how it should work, instead of one on top of the other for the horizontal level, one side to the other for the vertical level, where the lower part and the beginning of the second level strip placed at right side.


So summing up it would be necessary:

1)

A switch to change the use of the pointer so the left click can work as a more precise lens

(if it is possible by changing the image of the pointer at that moment it is inside the working area of ​​the layer);

2)

A simple button to vary the level display, from single that can be viewed via scroll bars or to pieces connected one above the other (or sideways), functionality that makes the above (1) very useful.


To follow below there I leave a video showing the result what the result of the magnifying glass would be if it were made, obviously the magnification differently from the video would make use of wider or narrower level strips to match the maximum space of the Foundry window with the maximum size of the level by plugging the vacuum as much as possible using the variable tractor of the magnifying glass and the static factor that is represented by the level that follows it. I also leave two photos of how much space I have available on my screen to give an idea.

Images:

IMG_20211029_111657

IMG_20211029_111807

Video:

https://user-images.githubusercontent.com/81451904/139452702-5cedc8a2-8a80-415e-ae38-725e5d76ca82.mp4