TilemapEd, Tilemap editor for the X16

Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

I just uploaded version 1.8.156 to GitHub, which has an update to the TileSet window and some minor bugfixes.
(Edit: changed the latest release to 1.8.156 because of some minor bugfixes)

Tiles in the TileSet window can now be moved by holding "Left Shift" while dragging with "Left Mouse Button".
The Source Tile will be moved to the Target Tiles position in the TileSet.

The TileSet window now has the following mouse actions:

"Left Dragging" will swap the Source and Target Tiles.
"LSHIFT" + "Left Dragging" will move the Source Tile to the Target Tiles position.
"LCTRL" + "Left Dragging" will replace the Target Tile with a copy of the Source Tile.
hamtaro126
Posts: 4
Joined: Sun Apr 16, 2023 8:15 am

Heart Re: TilemapEd, Tilemap editor for the X16

Post by hamtaro126 »

I love the concept and usage as well as the ease of this app's main features, But a feature I mainly would like to add is missing,

When you start, It gives you options for Tilemaps of either 16x16, 8x8, or 4x4, but one is missing, and it is the "2x2 tilemap" model, for case use if porting from all sorts of games to CX16 from another oldskool console system, Homebrew games and such in particular need this model...

Good luck!!!
Last edited by hamtaro126 on Sat Oct 14, 2023 9:24 am, edited 1 time in total.
----------------------------------------
Just a common user interested in 6502 stuff, not much to see here folks!!!
----------------------------------------
Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

I love the concept and usage as well as the ease of this app's main features, But a feature I mainly would like to add is missing,
Hello hamtaro126 and thank you for the feedback : )

I'll add "2x2 Empty TileSet" to my list for the next update.

Besides these minor tweaks the plan is to start working on version 2.0 as soon as I'll get the time.
This will mostly be a code update under the hood, but it will make it a lot easier to add support for BPP 1 Tilemaps, which will be the primary feature update in version 2.0
Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

When you start, It gives you options for Tilemaps of either 16x16, 8x8, or 4x4, but one is missing, and it is the "2x2 tilemap" model, for case use if porting from all sorts of games to CX16 from another oldskool console system, Homebrew games and such in particular need this model...
I just uploaded version 1.8.160 to GitHub with some minor updates.

The Create Project Dialog now has an option for creating a 2x2 Empty TileSet.

Project Folders can now be opened as the only CLI argument for the executable.
This works in Win10 etc with Drag & Drop of a Project Folder onto the exe file or a shortcut.
Johan Kårlin
Posts: 292
Joined: Wed Jun 03, 2020 11:33 am
Location: Kalmar, Sweden

Re: TilemapEd, Tilemap editor for the X16

Post by Johan Kårlin »

Hi, I will shortly release my new game Mine Rescue. All graphics are made with TilemapEd, so I have spent quite some time working with your program. There are no big issues, all the functionality I need is there. I am especially glad that you added the possibility to display tile numbers, I use it all the time. It is fantastic to work directly with the native format of the X16. This is so great. Still, here are some more suggestions for improvements:

1. Most of the time I use the ability to edit a selection of tiles because most of my tiles are closely related to each other. Even when editing a solitary tile, I like to see directly how it looks placed beside others. Therefore I find myself switching all the time back and forth between the tilemap and the selection, and very often I change the selection. As we discussed some time before, it would be easier if I could edit the tiles directly in the tilemap. Then all the switching and selecting would be gone. I think you said that would mean a lot of work, but I just wanted to mention it anyway.

2. The palette works fine, but it is a bit difficult to use when fine-tuning colors. I switch to the palette view, I change a color, press "Apply changes", and switch back to the tilemap view to see how it looks. I switch back to the palette view again to make another adjustment and so on. It would be easier if could open the palette as a dialog and still be able to see the tilemap, and immediately see the changes in the tilemap when changing a color value. Probably difficult to implement as well ...

3. I miss a fill function. Sometimes I want to change a color in a tile or sprite to a different color in the palette. Then this would be handy.

4. The program does not track if changes have been made since the project was saved. When I quit, I always get a warning that unsaved changes will be lost. It would be better if I just could quit if there were no unsaved changes and if there were I could get at dialog with the options "Save", "Don't save" and "Cancel". This is how most Windows programs work, like for example Word. Actually, the very best would be if changes were saved automatically like VSCode can, that is very helpful.
Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

Hello Johan

I'm looking forward to seeing your game and I'm glad you still like my program and that I have at least one user besides my self : )

I haven't had much time to work on TilemapEd lately, but I'll consider your suggestions to when I get back to working on it.
These are my current thoughts.
1. Most of the time I use the ability to edit a selection of tiles because most of my tiles are closely related to each other. Even when editing a solitary tile, I like to see directly how it looks placed beside others. Therefore I find myself switching all the time back and forth between the tilemap and the selection, and very often I change the selection. As we discussed some time before, it would be easier if I could edit the tiles directly in the tilemap. Then all the switching and selecting would be gone. I think you said that would mean a lot of work, but I just wanted to mention it anyway.
The problem is that Tiles in a TileMap are rendered as plain old 2d textures, where the different Tile/Sprite editors work using a Pixel class that is rendered with various SDL_Rect's. There's far to many Pixels in a TileMap to render it this way, which would be needed to edit directly in the TileMap.
However I've been considering an option that can be enabled so when a user has zoomed far enough into a TileMap the Selection could be shown and then a keyboard shortcut could bring up the Selection Editor with the current zoomed content of the TileMap. After this "SPACE" can again be used to swap between the Selection Editor and the TileMap with the current selection.
2. The palette works fine, but it is a bit difficult to use when fine-tuning colors. I switch to the palette view, I change a color, press "Apply changes", and switch back to the tilemap view to see how it looks. I switch back to the palette view again to make another adjustment and so on. It would be easier if could open the palette as a dialog and still be able to see the tilemap, and immediately see the changes in the tilemap when changing a color value. Probably difficult to implement as well ...
It would be possible to make a stripped down version of the Edit Mode of the Palette and then have an option for showing this in the TileMap Editor. However I wouldn't try making this work for the different Tile/Sprite editors since they use the Palette to select the current color and the Palette works very differently when in Edit Mode.
3. I miss a fill function. Sometimes I want to change a color in a tile or sprite to a different color in the palette. Then this would be handy.
If I understand you correctly then this feature already exists.
When in a Tile/Sprite editor you can press "S" to show all Pixels of the selected Color. Then you can "Right Click" a Color in the Palette and all selected Pixels will be replaced with the chosen Color.
You can also select a group of Pixels with "LSHIFT" + "Left Mouse Dragging" and change the Selection by "Right Clicking" a Color in the Palette.
Also all Pixels can be selected by pressing "A" and the selection can be inverted by pressing "I" and dropped by pressing "N".
Pressing "S" and "Right Clicking" also works for Tiles in a TileMap.
4. The program does not track if changes have been made since the project was saved. When I quit, I always get a warning that unsaved changes will be lost. It would be better if I just could quit if there were no unsaved changes and if there were I could get at dialog with the options "Save", "Don't save" and "Cancel". This is how most Windows programs work, like for example Word. Actually, the very best would be if changes were saved automatically like VSCode can, that is very helpful.
The reason for the Quit Dialog is mostly to make sure the user doesn't exit accidentally, but this could be a Program INI setting.
I wouldn't make an auto save feature since I like that unwanted changes can be discarded. I could however relatively easy modify the UndoStack class to set a bool flag in the Global Settings to show that the Project has been changed.
There are only a few functions in the UndoStack class that when called would indicate that the Project has been changed, so its not that difficult. Then I could create a second Quit Dialog as you suggested that allows to "Save and Quit" or "Discard and Quit".
In the meantime you can quit the program quite quickly by pressing "ESC" and then "ENTER".
Johan Kårlin
Posts: 292
Joined: Wed Jun 03, 2020 11:33 am
Location: Kalmar, Sweden

Re: TilemapEd, Tilemap editor for the X16

Post by Johan Kårlin »

Thanks for your answers. It sounds good all of it, you have good plans how to improve it in the best way. Yes, I missed that a fill function exists, thanks for enlightening me! A dialog with "Save and Quit" or "Discard and Quit" will be good.

It is really fun making games for the X16. The winning combination of the emulator, cc65, VSCode, Furnace Tracker and TilemapEd is all you need. And you can work with native formats all the way : ).
Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

It is really fun making games for the X16. The winning combination of the emulator, cc65, VSCode, Furnace Tracker and TilemapEd is all you need. And you can work with native formats all the way : ).
Thank you for the feedback : )

I've just uploaded version 1.8.164 to GitHub, which has an initial attempt at keeping track of Project changes as well as a "Save & Quit" and "Discard & Quit" dialog.

What I'm doing is simply having a "Dirty Counter", which is zeroed on Project Save and then incremented/decremented on Undo/Redo plus a bool "Dirty Flag" for actions that reset any UndoStack, which means the Project is changed.
I'm not sure how robust my solution is, but it will keep track of a few Undo/Redo's across the "Save Point".

There's also a Program INI Setting to disable the "Quit Dialog" when the Project isn't changed.

For your other suggestions I think they'll have to wait until I start working on v2.0, since they would include part of the code that I intend to refactor in v2.0.
Dacobi
Posts: 292
Joined: Sun Dec 19, 2021 1:44 am
Location: Samsø, Denmark
Contact:

Re: TilemapEd, Tilemap editor for the X16

Post by Dacobi »

I just uploaded version 1.8.166, where the Close Project Dialog now also checks for Project Changes and where the default Close Project Dialog is enabled/disabled by the "Warn Before Quit" INI setting.
Johan Kårlin
Posts: 292
Joined: Wed Jun 03, 2020 11:33 am
Location: Kalmar, Sweden

Re: TilemapEd, Tilemap editor for the X16

Post by Johan Kårlin »

This sounds great. And regarding other improvements, you of course decide what is best, possible and realistic to do.
Post Reply