Hey folks
I made application for tileset makers. It should help them with their task, which is as I can imagine not easy one…
Requirements:
[ul][li]Windows (made it on x64 7, hopefully it will work on different versions too)[/li]
[li].NET Framework 4.5[/li][/ul]
Installation
[ul][li]extract where you want[/li]
[li]set your cataclysm folder in CataTilesetStudio.exe.config[/li][/ul]
Picture how it looks is here (Updated for 0.3)
Functionality:
[ul][li]shows game objects - loaded from game files and mod files, hardcoded objects are loaded from System.json in app folder (you can add more inside) and are shown in Game/System[/li]
[li]Import tileset - it will generate new project into AppFolder/Projects/NameOfTileset, it will open it after import is done[/li]
[li]Open project - you can open existing project[/li]
[li]Export project - it will override tileset in game folder, you can alter project.json in project folder to change export name / location[/li]
[li]Link tiles to objects - just select object (left tree) and drag tile (right tree) into foregroung / background of selected object (middle of the screen)[/li]
[li]Edit tile in external editor - it will open tile in defined application (the one you have set to open .png files), will refresh image after file is saved in editor[/li]
[li]Clone tile - clone tile and change link to the newly created tile[/li]
[li]Rename tile - you can rename tile (and / or move it to different project folder)[/li]
[li]Filters - you can filter respective tree with them, if you press enter, trees are expanded (branches with 20 or less items inside)[/li]
[li]you can select object (to appear in middle part of screen) by selecting object in object tree (blue rows) or by selecting link to object in tile tree (blue row again)[/li]
[li]project respects changes in folder structure, tweak folders in file manager while project is closed, tiles will be in correct folders after you open project again (tiles must not be directly in the root project folder to load)[/li]
[li]all data about tile are stored in pair of files (tilename.png and tilename.json), if you need to share some tiles with someone, just zip these pairs of files, recipient just unpack them in their project folder and done (good for teams of authors collaborating on one tileset, or if someone just helps with few tiles here and there)[/li]
[li]imported tiles not linked to object are in unused folder, tiles linked to nonexistant objet (not in game / mod files or System.json) are in undefined folder[/li]
[li]…most likely missed something…[/li][/ul]
Missing features:
[ul][li]New project - just import one and alter project.json[/li]
[li]New tile - cloning existing one works just fine for now[/li]
[li]renaming folders, workaround - close project, use file manager, open project[/li]
[li]if you are a tileset maker and are using / plan to use this app and need something implemented, just ask[/li][/ul]
Warning: I did test the application… still, I am sure there are bugs inside.
Workflow (as I use the app)
- playing the game until I found tile I want to replace - I check the name of it, save and quit the game
- unless it is running already, start Tilestet studio, open project you are working in
- find the game object you want add tile to, filter under Object tree comes handy
- drag&drop similar tile from Tiles tree into the object foreground
- clone it (middle one of small buttons near the tile image), it does two operations
[ul][li]creates a copy of tile - you can change name and directrory, fitting ones are suggested though[/li]
[li]links selected object foreground to newly cloned tile[/li][/ul]
- edit the newly cloned tile (top of tiny buttons) in external graphics editor (the one you selected as default in windows for .png), save (you can keep editor running)
- check that saved tile, if is correctly drawn in tileset studio, press Ctrl+E for export (keep studio running)
- start the game, load save, check if tile looks good in game
- if tile is ok, return to step 1), else return to step 6)
Protips
[ul][li]if you click on tile on selected object (middle of the screen), it will locate the tile in Tiles Tree for you (unless Tiles tree filter prohibits it, you may need to clear it first)[/li]
[li]if you expand tile in Tile tree, it will show you all objects it is used in (linked objects)[/li]
[li]if you click on linked object, it will be selected to middle of the screen[/li][/ul]
Filter switches
[ul][li]ObjectTree[/li]
[list]
[li]:n - use object name instead of object id for filtering, “:n jackrabbit” will find object with id mon_hare[/li]
[li]:e - show only objects without links (without any attached tiles), this filter takes some computer power, give it few seconds[/li]
[/list]
[li]TileTree[/li]
[list]
[li]:u - show only tiles without links (without any attached objects), good for finding unused tiles[/li]
[/list][/ul]
Planned features
[ul][li]show Foreground and Background as one image, somewhere[/li]
[li]better tooltips[/li]
[li]new tile function[/li][/ul]
Changelog for 0.2
[ul][li]added symbol and description info to the selected object[/li]
[li]object id of selected object is now hyperlink to Item Browser by Sheco[/li]
[li]import and export now running in separate thread (messages like “Importing tileset…” are now actually shown before the work is finished)[/li]
[li]first tile (zero index) of exported tileset is transparent tile now… reasons explained here: http://smf.cataclysmdda.com/index.php?topic=5309.msg98813#msg98813[/li]
[li]various bugfixes[/li][/ul]
Changelog for 0.3
[ul][li]support for CIB’s overlays: https://github.com/CleverRaven/Cataclysm-DDA/pull/8993[/li]
[list]
[li]for items, Worn and Wielded overlays can be added in middle section in Worn & Wielded part [/li]
[li]mutations are added in Game Objects Tree, Game->mutation, for adding mutation overlay you need to add it in Foreground part (Fg)[/li]
[/list]
[li]support for Seasonal Tiles (aka Winter is coming): https://github.com/CleverRaven/Cataclysm-DDA/pull/9200[/li]
[list]
[li]middle section now contain tabs[/li]
[li]General tab is for tiles independent of season, it is rendered when there is no seasonal tile specified for current season[/li]
[li]Spring, Summer, Autumn and Winter are seasonal tabs, if you add tile here, it will be shown in game instead of general tile at time of respective season[/li]
[/list]
[li]updated system objects list[/li]
[li]support for ascii fallback[/li]
[li]can import only tilesets in new format - these containing element ‘tiles-new’ in tileset.json, like MShock and Retrodays[/li][/ul]
Changelog for 0.4
[ul][li]support for Overlays Tweak (gender specific overlays): https://github.com/CleverRaven/Cataclysm-DDA/pull/9257[/li]
[li]mutation overlays should now be set into Worn, Male Worn and Female Worn instead of Foreground [/li]
[li]bug fix of importing tilesets with multiple .png files[/li][/ul]
Changelog for 0.5
[ul][li]bug fix of removing link on seasonal tabs, it could result in[/li]
[list]
[li]if there was no corresponding link on General tab, log showing System.InvalidOperationException: Sequence contains no matching element[/li]
[li]if there was corresponding link on General tab, removing this link instead[/li]
[/list][/ul]
Changelog for 0.6
[ul][li]suggested file name when cloning overlay tiles is now similar to names in exported .json[/li]
[li]selected tile can now be deleted inside of editor (Tile->Delete or Ctrl+Del), it is possible to delete tile with links, so be careful[/li]
[li]links in TileTree are shown as seasonal, if they are (summer foreground) instead of (foreground), for example[/li]
[li]when you select link in TileTree, it will also select correct season tab, not just linked object[/li]
[li]added filter switches, description is in section Filter switches[/li]
[list]
[li]ObjectTree - :n :e[/li]
[li]TileTree - :u[/li]
[/list][/ul]
Changelog for 0.7
[ul][li]filtering in ObjectTree made faster (on multicore processers), noticeable difference is with :e switch, rest was fast enough anyway[/li][/ul]
Changelog for 0.8
[ul][li]new System tiles “explosion_medium” and “explosion_weak”[/li][/ul]
Changelog for 0.9
[ul][li]fix of importing and exporting bug due to changed paths to tileset files
http://smf.cataclysmdda.com/index.php?topic=11005.0[/li][/ul]
Changelog for 0.10
[ul][li]support for items with “copy-from” attribute[/li][/ul]
You can download latest version of the application here: https://drive.google.com/drive/folders/0B6HiQfak4JQSSUxVN1Rqc3dDcHM