mchlnix / SMB3-Foundry

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

Notification of key behavior anomalies and other anomalies of display and use of errors. #127

Open Dariosky-01 opened 3 years ago

Dariosky-01 commented 3 years ago

There are small problems in the keyboard selection inside the object list and enemies is produced when creating the level, the list I mean is the one on the right inner window above the zone setting for level jumps. I saw that it is possible to use ctrl in the new beta version which helps the selection of multiple objects or enemies by holding this key and clicking on the objects or enemies in the level is developing with the left mouse button, it is something fantastic, I was looking for this function and I'm glad it exists now, because it's like selecting icons inside windows which is a very intuitive and simple thing, but Foundry has a problem when selecting from this big list using shift. The problem arises from the need to select multiple objects in this window with the help of the shift key as you do it with icons in a list inside a Windows folder, but this is impossible to do as the internal system of the Foundry software works in different way, I give an example, if I am with Windows inside a folder and I am for example on the tenth icon in a folder with the files displayed for details and I press shift + down arrow I would be able, from the tenth file, to scroll down, or upwards by going to the first on the list by changing only the arrow and using the "up" one, but with Foundry this is not possible in this item and enemy list. What happens, starting for example from the tenth object or enemy of the highlighted list, having chosen it with a click of the left mouse button, then holding down shift + down arrow, with a stroke of the arrow (down) always leaves me highlighted the tenth but expands the highlighted list with the first in addition (thus having the first and tenth of the list), with the second stroke I close the first highlighted object with another kind of different selection that appears as a dashed frame in the perimeter of the name of the object or enemy that first appeared only highlighted (of the selected windows color), with the third shot the frame goes away but highlights the second object or enemy of the list (therefore highlighted 1, 2 and 10), with the fourth arrow shot of the keyboard (always with shift held down), the "frame" returns to the first highlighted then with a fifth stroke the frame switches to the second highlighted, with the sixth stroke it highlights the third of the list and the frame goes away or it disappears better (now the highlighted part that the software uses for the management of the second user command, in a few words the real selection considers Foundry now appears in evidence 1,2,3 and 10), if you continue to press the arrow it would scroll forward with this method up to the tenth and perhaps beyond, indeed very likely. Here it works like this currently, obviously it is not normal and it should be easy to understand, from where I click in the item list or enemies of the level, in an element if I press shift + "an arrow", (or up or down) it should advance to one a one so that with each stroke of the arrow, if the tenth in the list is highlighted, it goes to the eleventh, with a second to the twelfth and so on.

There is also another problem that always affects this list and is related to the error list. Currently in the new beta version it has been chosen to highlight in such a way that, by scrolling the pointer inside the error list, the errors in the object and enemy list are highlighted in real time, then it is updated on the list always with a new (momentary) selection if the pointer hovers over errors, the problem is that there is no way to lock the highlighting or selection within errors by left clicking an error in its error list, if the pointer scrolls down the list while the list was open to other errors, because the other objects or enemies would be highlighted in the list of level elements, updating but always without being able to block them. Wanting a way there would be only that to lock them with the selection with ctrl but you do not click with the mouse one by one the interested ones but holding down ctrl and selecting all those where the pointer scrolls over them, a pretty bad thing I would say. The fact that it is possible to see them in the list is a good thing, but if this necessarily changes the selection in the level elements list I would propose that you remove this function, and I would recommend the possibility of being able to block them highlighted on the "level elements" list by clicking the button left the mouse on an error in the list, inside the error list, to block the elements in error in the list by holding down ctrl adding more elements that are in error making them be selected in the list of level elements (objects or enemies).

Dariosky-01 commented 3 years ago

Previously in some other publication I remember I had talked about this problem, also of the fact that if there are many errors and with a long name they could cover the whole window on the right, even coming out of the window at the bottom, I saw that Joe Smo made a change which helps, a modification that has not yet come out in any version yet, I do not know if you others know it but it is one that has limited the size of the list by establishing the maximum size and putting two scroll bars, one vertical and one horizontal, even if it is a little bad the result in my opinion is very useful. I would like to repeat my idea mentioned in another publication here in the comments so as not to make it a request but only a suggestion. My alternative idea would be, to at least avoid the horizontal bar (which is not very nice to look at and only serves to read the entire title of the error), it would be to put two buttons in it for each error line (actually one would be one a button and the other a switch, meaning that once pressed one returns to its original rest state and one remains pressed).

It should look like this:

In this error list on the left the X and Y positions should be visible divided by a "," of the object or enemy in error, and if more than one (if the error is created by a link) separate the pairs ( x, y) from a ";" in each line contains an error (example: x, y; x, y). A possible alternative would be to display the icon of the object or enemy in error, following its position x, y a ";" another icon associated with the first and after the second position x, y for a quick understanding of the elements in error.

With on the right on an error line, 1 button for the error specifications, which opens a window to inform the user of the type of error and a switch to hook each single error to be chosen among the different ones in the list (to make it easier for the user to view what he is really required in the selection and what he is not).

<< This "error info" button would limit the size of the error name horizontally in the list and then solve the visibility problems with a window informing about the type of error chosen and the "switch" would definitely resolve any possible misunderstanding about what is really selected in the element list of the level and what was not.

It would also be useful for not having to select them one by one but for if you wanted to select them all, put a button to do this in one go, to begin with it would be useful for an immediate visual distinction if the first line were darker, and there was written (instead of the numerical values ​​X and Y of each error) a message "select all" on the left, and on the right in the column on the top as a capital therefore in line with the others, which however would be selection switches for the individual elements in error, there should be a special button to activate all the errors in one stroke and then select under all the switches below for the selection of the individual errors , or for the opposite effect, remove them all from the selection with another click of the left mouse button.

https://user-images.githubusercontent.com/81451904/117538948-6a9f8c00-b008-11eb-8381-9cee93e2eedc.mp4

https://user-images.githubusercontent.com/81451904/117538965-7ee38900-b008-11eb-8b56-bfb65dbf37ae.mp4