Rangi42 / tilemap-studio

A tilemap editor for Game Boy, Color, Advance, DS, and SNES projects. Written in C++ with FLTK.
https://hax.iimarckus.org/topic/7691/
Other
390 stars 32 forks source link

Add support for rearranging tiles #3

Closed huderlem closed 4 years ago

huderlem commented 4 years ago

I would like to be able to move around tiles in the tileset. When I move tiles, it should also update the tilemap wherever those tiles are currently used.

Rangi42 commented 4 years ago

I don't plan to add any functionality for editing tileset images; but if you edit one in Paint or whatever and do Ctrl+R to reload, all of the tilesets you've Loaded/Added will be reloaded. Then if you've swapped tile IDs $AA and $BB, select tile $AA and Alt+click tile any $BB in the tilemap to swap all of them.

huderlem commented 4 years ago

Supporting this in the UI would be pretty hairy, in any case. A lot of the issues I'm dealing with right now are that Pinball loads a full set of 256 tiles from a single image into VRAM starting at $8800. This means the tilemaps generated my Image to Tiles are all "flipped" by a value of 0x80. I've written a script to accomodate my needs, but maybe there's an opportunity for Tilemap Studio there.

Example of that one image being loaded into the middle of VRAM: image

Rangi42 commented 4 years ago

Yeah, this happens with pokecrystal's gfx/intro/suicune_close.tilemap too.

image

image

I think that an option to handle this would be pretty awkward (presumably it would make Load Tileset start at $0:80 and wrap around to $0:00? What about bank 1? What about non-GBC formats? Should Add Tileset be affected?) so I hope that the .tileset files mentioned in #2 will be a good solution.

Rangi42 commented 4 years ago

Closing this since a sufficient resolution is listed in TODO.md (".tileset files").