# Tileset Editor 1.0 (Proof of Concept)

**URL:** <https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029>\
**Category:** The Lab\
**Created:** [February 10, 2014, 11:40am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029 "2014-02-10T11:40:20Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 13, 2014, 8:04pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/21 "2014-02-13T20:04:14Z")

</div>

Go for version 0.5.  
Version: “What was I doing again?”

Changes:  
Added a “merge identical tiles” function, this compares all the tile images to each other and removes duplicates.  
Implemented the “add missing tiles” function in the edit menu, searches through the json files tor missing types. Vehicles parts are not yet supported (they are a bit more complex).  
Items without images are now highlighted in red on the id list.

[Download Here](http://www.mediafire.com/download/e3zfuwl0q2e513c/cddatse_0.5.zip)

Next Planned:  
Warn about duplicate tiles ids when editing.  
Merge all file chooser last folder selection.  
Options dialog to set location of Cataclysm-DDA, which will save to an options file.

---

<div class="post-metadata">

**Author:** ![StopSignal](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/stopsignal/32/1923_2.png) [@StopSignal](https://discourse.cataclysmdda.org/u/StopSignal)\
**Post date:** [February 13, 2014, 9:13pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/22 "2014-02-13T21:13:43Z")

</div>

Good work, looking forward to this.

---

<div class="post-metadata">

**Author:** ![Sirbab](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/sirbab/32/944_2.png) [@Sirbab](https://discourse.cataclysmdda.org/u/Sirbab)\
**Post date:** [February 14, 2014, 11:21pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/23 "2014-02-14T23:21:59Z")

</div>

Is it possible to export a tile? Great work so far by the way though.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 15, 2014, 11:27pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/24 "2014-02-15T23:27:03Z")

</div>

Exporting isn’t hard, it is just finding a place for it in the UI that is the problem.

---

<div class="post-metadata">

**Author:** ![Soyweiser](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soyweiser/32/37_2.png) [@Soyweiser](https://discourse.cataclysmdda.org/u/Soyweiser)\
**Post date:** [February 18, 2014, 11:56am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/25 "2014-02-18T11:56:35Z")

</div>

[http://en.cataclysmdda.com/pages/16/display](http://en.cataclysmdda.com/pages/16/display) \<-- hint 😉

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 18, 2014, 2:00pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/26 "2014-02-18T14:00:29Z")

</div>

If you are hinting at where in the UI to put it, I figured that out awhile ago, I just haven’t gotten around to updating this yet.

---

<div class="post-metadata">

**Author:** ![Soyweiser](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soyweiser/32/37_2.png) [@Soyweiser](https://discourse.cataclysmdda.org/u/Soyweiser)\
**Post date:** [February 18, 2014, 2:07pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/27 "2014-02-18T14:07:04Z")

</div>

I was hinting that it would be nice to give the site some love, and your tileset editor.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 19, 2014, 5:37am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/28 "2014-02-19T05:37:19Z")

</div>

Here we go, with 0.6  
Version: “Five six, Pick up sticks”

[Download Here](http://www.mediafire.com/download/30ab5tc12h1zq1n/cddatse_0.6.zip)

Changes:  
Made the Tile Chooser slightly more intuitive. This arrangement will also make exporting tiles later a possibility (not in this version).  
Added an options dialog/file. You should set your cataclysm directory, but I don’t require it.  
All file file browsing dialogs are now linked, where ever you leave off with one, will be picked up by the others.  
If you type an id into tile\_chooser that is already used, the text will turn red. This tells you if you are trying to use a name that is already in use.

Notes:  
The program will not prevent you from using two entries with the same id, but if you do the [behavior is undefined](http://en.wikipedia.org/wiki/Undefined_behavior). That is to say, I don’t know offhand what it will do if you do it, it’ll probably save just fine, but cataclysm might puke.

Also, can I get a sticky for this? If not that’s fine.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 20, 2014, 2:50am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/29 "2014-02-20T02:50:41Z")

</div>

0.7, Bugfix Edition

[Download Here](http://www.mediafire.com/download/qug3kxdn74pntb8/cddatse_0.7.zip)

Changes:  
Fixed it so the duplicate id checking actually works!

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 22, 2014, 3:48am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/30 "2014-02-22T03:48:46Z")

</div>

Warning, there is a known bug that can cause all images for an entry to be replaced with one of the given images (usually broken).

I am working on figuring out what is causing this. (I do have a hunch however)

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 22, 2014, 5:26am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/31 "2014-02-22T05:26:14Z")

</div>

Here we go 0.8.  
Version: “One does not simply write bugless code.”

[Download Here](http://www.mediafire.com/download/8854cj8bvku7gcv/cddatse_0.8.zip)

Changes:  
(Hopefully) removed a hard to duplicate bug involving tile index reassignment.  
Made merging duplicate tiles faster. Side effect of above.

---

<div class="post-metadata">

**Author:** ![StopSignal](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/stopsignal/32/1923_2.png) [@StopSignal](https://discourse.cataclysmdda.org/u/StopSignal)\
**Post date:** [February 25, 2014, 5:45pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/32 "2014-02-25T17:45:16Z")

</div>

I need to start using this, when i get free time.

---

<div class="post-metadata">

**Author:** ![ChunkOfMeat](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chunkofmeat/32/11049_2.png) [@ChunkOfMeat](https://discourse.cataclysmdda.org/u/ChunkOfMeat)\
**Post date:** [February 26, 2014, 9:29am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/33 "2014-02-26T09:29:47Z")

</div>

Why not stick the topic?

---

<div class="post-metadata">

**Author:** ![Zireael](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/zireael/32/956_2.png) [@Zireael](https://discourse.cataclysmdda.org/u/Zireael)\
**Post date:** [February 26, 2014, 10:59am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/34 "2014-02-26T10:59:46Z")

</div>

Good point.

---

<div class="post-metadata">

**Author:** ![Sean\_Mirrsen](https://avatars.discourse-cdn.com/v4/letter/s/e47774/32.png) [@Sean\_Mirrsen](https://discourse.cataclysmdda.org/u/Sean_Mirrsen)\
**Post date:** [February 26, 2014, 6:31pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/35 "2014-02-26T18:31:27Z")

</div>

Idea/suggestion: would it be possible to make the program scan existing JSON files for tile data and assign ASCII letters/colors to all objects by default? As in, using an ASCII colorsheet like the one HRose made?

[quote=“HRose, post:111, topic:3676”]Here’s an example:

[![](http://cesspit.net/misc/source.png) ](http://cesspit.net/misc/source.png)

It took less than two minutes to make. Done.[/quote]

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 27, 2014, 12:45am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/36 "2014-02-27T00:45:48Z")

</div>

There are still some bugs I need to quash. So for the moment try to avoid using “Merge identical tiles”. This feature has given me nothing but trouble.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 27, 2014, 1:39am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/37 "2014-02-27T01:39:55Z")

</div>

[quote=“Sean Mirrsen, post:35, topic:5029”]Idea/suggestion: would it be possible to make the program scan existing JSON files for tile data and assign ASCII letters/colors to all objects by default? As in, using an ASCII colorsheet like the one HRose made?

[quote=“HRose, post:111, topic:3676”]Here’s an example:

[![](http://cesspit.net/misc/source.png) ](http://cesspit.net/misc/source.png)

It took less than two minutes to make. Done.[/quote][/quote]

That example isn’t very good. But I get your idea. Something like that should be possible.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 27, 2014, 6:45am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/38 "2014-02-27T06:45:14Z")

</div>

Ugh, OKAY. 0.9 Here we go.  
Version: “Ugh, gawd, is that the time?”

[Download Here](http://www.mediafire.com/download/91t9fmoygzcgozp/cddatse_0.9.zip)

Changes:  
Fixed “Merge identical tiles” menu option. Works this time for real.  
Added “Generate Ascii Tiles” menu option. Generates the ascii tiles for existing entries with no images defined.  
Improved “Add missing tiles” menu option. It now searches through all the json files for id/symbol/color sets to find missing ids.

Next up:  
Ability to see what entries use a given tile of the tileset, and allow you to edit it.

Known Issues:  
"Generate Ascii Tiles"  
Background colors are not handled.  
“highlight\_item” may be generated twice.  
“unknown” entry may not be generated.  
Colors with foreground and backgrounds in the color of the json will be treated as white. I didn’t know about the \_ separator at the time I wrote the code, i’ll fix it in 0.10.

Attempting to use an automatically generated tileset on windows causes cata to crash. I have no idea why off hand.

---

<div class="post-metadata">

**Author:** ![Sean\_Mirrsen](https://avatars.discourse-cdn.com/v4/letter/s/e47774/32.png) [@Sean\_Mirrsen](https://discourse.cataclysmdda.org/u/Sean_Mirrsen)\
**Post date:** [February 27, 2014, 9:07am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/39 "2014-02-27T09:07:37Z")

</div>

Okay, the ASCII generator works, but I was thinking something more along the lines of “use an existing ASCII page”. In my example, I am trying to pad the RetroDays tileset with ASCII from its own source codepage:  
 ![](https://dl.dropboxusercontent.com/u/4152380/10x10.png)

So that the result matches the tileset, and isn’t just a stopgap. It could be a useful tool to tileset makers as it’d allow them to make playable WIPs of their tilesets with only a few objects changed from their ASCII look.

---

<div class="post-metadata">

**Author:** ![Chase](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/chase/32/6463_2.png) [@Chase](https://discourse.cataclysmdda.org/u/Chase)\
**Post date:** [February 27, 2014, 8:01pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/40 "2014-02-27T20:01:41Z")

</div>

Unfortunately that would only work if the size of the tileset is equal to the size of the tiles of the bitmap page in use. Which it generally isn’t. This would result in stretching. I don’t like stretching.

[Previous page](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029.md?page=1)

[Next page](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029.md?page=3)
