Suggestions for the map editor

Started by Zeror, June 29, 2015, 09:37:36 PM

Previous topic - Next topic
June 29, 2015, 09:37:36 PM Last Edit: June 30, 2015, 10:12:03 PM by Zeror
Hi dev team of Solarus,

I got a couple of suggestion, which would highly improve the editor, i think.

The first one is a simple one.

1: Easy duplicating selections.
=====================
As far i understand the only way to duplicate items is to copy and paste them. This is convenient, but it can be a lot more convenient.
I use Photoshop a lot and in Photoshop you can duplicate stuff by simply pressing ALT (or OPTION on Mac) and then drag&drop it. It's very handy. This is something i would like to see in the map editor as well.

2: Smart resizing
=============
This one is bit harder maybe, but can be very handy as well. What i mean with this one is that you can select a couple of tiles, then lock the tiles that you don't want to have resized, but you do have them placed at the beginning/end of the row of tiles. Like with the the big trees from the LttP tileset for example. One tree has 8 tiles to make it complete. 4 tiles in the middle, 2 on the left and 2 on the right. When you try to resize the whole thing, it start kinda look weird. With this idea you lock the 2 tiles on the left and the 2 on the right (these are the tiles that you don't want to have resized) and then start resizing it will only resize the middle tiles in this case.
See example:
ONE TREE:

=M=
L=M=R
L=M=R
=M=

LINE OF TREES:

=M==M==M==M==M=
L=M==M==M==M==M=R
L=M==M==M==M==M=R
=M==M==M==M==M=


3. Movement permission viewer
===================
In the tileset properties you can set up what the groundtype is of each tile. Is it traversable, is het a wall or is it a hole, etc... It would be very helpful if there a viewer, an overlay that can be turned on and off like the grid, where you can see what traversable is and what not. Easily check if you've set up your map correctly.

example:

With movement permission viewer on i can easily see what are walls and holes in this example.

What do you think?

June 30, 2015, 08:55:34 AM #1 Last Edit: June 30, 2015, 08:57:10 AM by Christopho
1) Good idea! We will do it in 1.5. But I think that the Ctrl key is more standard than Alt to duplicate the section.
2) Harder yes, but very good idea. It is more complicated than your example though. We also want this to work for dungeon rooms:

C=S=S=S=S=S=C
S=M=M=M=M=M=S
S=M=M=M=M=M=S
S=M=M=M=M=M=S
S=M=M=M=M=M=S
S=M=M=M=M=M=S
C=S=S=S=S=S=C

Here, we want corners to be locked for resizing in both directions, and sides to be locked in only one direction (horizontally or vertically).
This would clearly be a very nice feature, saving a lot of time for the user. But I am not sure how to do it. How would the user specify which tiles to lock? All 3 buttons of the mouse are already used and I don't see a handy way to do it fast, especially with these 3 different types of locks.
If someone has an idea I am very interested :)

What about right-click on the tile and choose "Lock" in the menu.

The second idea can be the other way around as well bij choosing the tiles you want to resize instead.

Even better: maybe this should be configured directly in the tileset.
Tile patterns could have a new property "resizing_mode" equal to "both" (default), "horizontal", "vertical" or "none".
This way we could resize a full room very quickly. I think this will be very nice.

Directly in the tileset is perfect. Good thinking!

And that "Lock" option in the richtclick-menu can still be there to have a tile (or perhaps a selection of tiles) to be absolute locked on their position. For example a door in a dungeon: When you resize a room, you might not want to move the door because of the connected room.

June 30, 2015, 02:13:07 PM #5 Last Edit: June 30, 2015, 02:15:18 PM by Zeror
Quote from: Christopho on June 30, 2015, 08:55:34 AM
1) Good idea! We will do it in 1.5. But I think that the Ctrl key is more standard than Alt to duplicate the section.
I want to answer to this one again. I think ALT key should be used. Dragging to duplicate stuff can be seen as an alternate way of dragging. The ALT key is designed to have alternate key combination for something that is already there. CTRL should be used for main functions and not alternate functions. Ofcourse if this doesn't interfere with other key bindings of the Quest editor.

Dragging: move a selection to different position
ALT + dragging: duplicate a selection to different position

But in all text editors or file explorers I know, it is always the Ctrl key to duplicate while dragging (usually, it shows a plus sign on the mouse pointer). Ctrl is the standard key for that in my opinion.

June 30, 2015, 02:44:13 PM #7 Last Edit: June 30, 2015, 02:46:25 PM by Zeror
I guess it's just what you're used to use in this case then. Just the fact that you'd like to add this feature to the editor is already fine, Christopho. Solarus works really great. :)

Added a third idea to the topicstart.

Also a good idea! And it is already planned in fact. Thanks for the suggestions :)

Just to say, ALT key is used in Adobe's software (Photoshop, Illustrator, InDesign), but I don't know another program that do the same. So, for a graphical point of view, the standard would be ALT (because of Adobe's position of leader in the market), but in text editors it is CTRL. Are Solarus Quest Editor more coders or designers ?  ;)

So Adobe seems be the only software editor who uses alt rather than the standard ctrl to duplicate. I am not sure why we should also do an exception.
The quest editor also has text editors to edit scripts, and a quest tree that will probably one day support mouse dragging. And for them Ctrl is definitely the shortcut to duplicate.

CTRL is fine too  ;)
I only gave my opinion on ALT because that's the key I am familiar with. Yes, i am a designer. Webdesigner actually. So i use Adobe software a lot.

Just to give an update, I am currently working on the resizing mode of tiles, it should be done soon :)

Awesome! I looking forward to it.