# 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:** 4

<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:** [March 5, 2014, 5:27pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/61 "2014-03-05T17:27:55Z")

</div>

Okay, so using messageboxes as ad-hoc signals I was able to pinpoint the problem line, and fix a few other issues. Now it at least completes the whole cycle, although all it manages to do it make the backgrounds. But the foreground not drawing is a problem I at least understand and can work with.

---

<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:** [March 5, 2014, 7:22pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/62 "2014-03-05T19:22:54Z")

</div>

And hopefully not earning an infraction for triple posting - I am prepared to humbly admit victory. 😛

![](https://dl.dropboxusercontent.com/u/4152380/retrodaystiles%20%282%29.png)

Down at the bottom is all the generated tiles. It still needs some polish and proofing against user error (such as selecting a tileset of mismatched dimensions), but it can now autogenerate ASCII tiles from a bitmap file.

[Updated program](https://dl.dropboxusercontent.com/u/4152380/cddatse_0.10_CSJM_Custom.zip)  
[Updated source](https://dl.dropboxusercontent.com/u/4152380/CDDA-Tileset-Editor-master.zip)  
[The RetroDays tileset padded with ASCII](https://dl.dropboxusercontent.com/u/4152380/RetroDaysTileset.zip)

---

<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:** [March 5, 2014, 8:01pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/63 "2014-03-05T20:01:15Z")

</div>

Please do no increment my version number, unless it’s one of my releases. That will only confuse people.

If you want whatever you did in the program, please make a Pull Request.

---

<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:** [March 5, 2014, 8:07pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/64 "2014-03-05T20:07:28Z")

</div>

Fair enough, renamed to “0.10 CSJM Custom”. 😛

I’d make a Pull Request, but I’d need to have properly checked out, branched, and modified your repository. I just downloaded the source as .zip and worked with it.

---

<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:** [March 5, 2014, 8:34pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/65 "2014-03-05T20:34:15Z")

</div>

You can make a fork, pull to your PC and copy and paste over, commit those as changes, and then push for a PR.

Unlike Cataclysm I don’t really care about merging from master (it does complicate things if you plan to make several commits from your fork however).

---

<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:** [March 5, 2014, 9:22pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/66 "2014-03-05T21:22:41Z")

</div>

Updated again. Files in the same places. Noticed that you were horribly off on color names, Chase, which made the tiles a little less colorful than they should have been.

![](https://dl.dropboxusercontent.com/u/4152380/retrodaystiles%20%283%29.png)

(changes: changed gray, dgray, lred, lgreen, lblue, lmagenta to ltgray, dkgray, ltred, ltgreen, ltblue, pink. Added light\_ versions of all “lt” colors, as well as dark\_gray, because it seems interchangeable.)

(I’ll try to figure something out with the commit/pullrequest thing)

---

<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:** [March 6, 2014, 6:35am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/67 "2014-03-06T06:35:54Z")

</div>

Not sure how I am horribly off when I took the values straight from cataclysm.

---

<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:** [March 6, 2014, 6:55am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/68 "2014-03-06T06:55:43Z")

</div>

[quote=“Chase, post:67, topic:5029”]Not sure how I am horribly off when I took the values straight from cataclysm.[/quote]Well, you either took them from the wrong place or the wrong version, then. The item .jsons have the colors I described, not the colors you list. I found it really suspect because the tiles for “tough zombie” and “crawling zombie” ended up as white capital Z’s, when the curses UI clearly shows them as a light-red Z and a bright green Z respectively. I noticed you are checking against the actual color strings in the .json definitions for color, and decided to check - resulting in the changes I mentioned.

---

<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:** [March 6, 2014, 9:51am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/69 "2014-03-06T09:51:38Z")

</div>

Aand did the pull request thing. Feel free to check it and release whenever.

Some testing is required for how the program would handle gradient alpha, but it should probably work well enough.

Addendum: Chase, I’m thinking this program could be brought to “instant tileset” level. I tried it right now, and I’m getting a picture that could reasonably pass for a decent stand-in for SDL tiles, with several important “buts”, namely the walls and similar items.

![](https://dl.dropboxusercontent.com/u/4152380/Screenshots/Screenshot%202014-03-06%2015.48.28.png)

I can’t quite figure out what should be done to make the walls work though. Hmm. Maybe add a vertical slash to the ascii tile ID, signifying that it’s multitile? I.e. “t\_wall\_v|center”? Or does the json parser not understand multitiles yet?

edit2: ah, okay, so there is no such thing as a “multitile” definition in object .jsons. Instead walls are “LINE\_XOXO” and “LINE\_OXOX”, and I presume they are mostly the same except the center tile. Hrm. This is gonna take some doing.

edit3: now with walls! 😃

![](https://dl.dropboxusercontent.com/u/4152380/Screenshots/Screenshot%202014-03-06%2019.02.20.png)

Could have gone for double walls, admittedly, but the game does not provide an easy way to differentiate thick and thin walls (i.e. regular and solid concrete), so this is good enough. All that’s left now is to figure out the vehicle parts (I have an idea there), some of the built-in tiles, and… well, this will more or less be good to go.

---

<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:** [March 6, 2014, 5:40pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/70 "2014-03-06T17:40:50Z")

</div>

And now with cars and stuff. Vehicle tiles set to rotating, conditionally selected vehicle parts have their symbols overridden on generation. Toned down the acid yellow a bit.

![](https://dl.dropboxusercontent.com/u/4152380/Screenshots/Screenshot%202014-03-06%2021.14.55.png)

Everything’s up in the repo, waiting for merge.

---

<div class="post-metadata">

**Author:** ![Robik](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/robik/32/1349_2.png) [@Robik](https://discourse.cataclysmdda.org/u/Robik)\
**Post date:** [March 6, 2014, 6:10pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/71 "2014-03-06T18:10:46Z")

</div>

This looks really cool Sean. Is it done with ‘ASCII tiles’ only, or you are using other tiles as well?

---

<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:** [March 6, 2014, 6:32pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/72 "2014-03-06T18:32:20Z")

</div>

This is entirely ASCII, generated from this tileset for now:

![](https://dl.dropboxusercontent.com/u/4152380/10x10%20%282%29.png)

It works with others, like the 12x12 Herrbdog’s tileset I usually use for Dwarf Fortress:

![](https://dl.dropboxusercontent.com/u/4152380/Herrbdog_144.png)

![](https://dl.dropboxusercontent.com/u/4152380/Screenshots/Screenshot%202014-03-06%2021.29.00.png)

Testing the capabilities revealed that the program doesn’t work with partial transparency too well (it seemingly just ignores any alpha that isn’t 0), and tilesets smaller than 8x8 cannot work. 9x9 works, 6x6 doesn’t. And yes, there are 6x6 tilesets for Dwarf Fortress.

![](http://dwarffortresswiki.org/images/0/0b/Geti_custom_6x6.png)

(Also, 6x6 doesn’t work in that the tileset crashes Cataclysm - the program generates it just fine)

(edit: until Chase releases the next version properly (probably with optimizations), my unofficial version can be found in the same link as above: [Link](https://dl.dropboxusercontent.com/u/4152380/cddatse_0.10_CSJM_Custom.zip).)

---

<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:** [March 7, 2014, 10:48am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/73 "2014-03-07T10:48:40Z")

</div>

Version 0.11  
Pulled his work with his functionality, though I pretty much rewrote half of it.

[Download](https://github.com/Chase-san/CDDA-Tileset-Editor/releases/download/0.11/cddatse_0.11.zip)

---

<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:** [March 7, 2014, 11:13am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/74 "2014-03-07T11:13:41Z")

</div>

Yeah, my implementations are built with all the streamlined grace and elegance of a [classic Russian automobile](http://img02.slando.ua/images_slandocomua/114011379_7_1000x700_vaz-2101-kopeyka-1971-_rev002.jpg). Maybe that’s the reason I never managed to make a game of my own. 😛

I’ve had half a thought of hammering together a sort of a graphic tile editor (i.e. a primitive pixel art drawing window), so that a user could make new tiles or edit existing ones right in the editor without using external programs (making this a complete tileset editing and creation “suite”), but I think I should read up some more on standard Java functions and whatnot before that. Maybe find a Java IDE or something.

---

<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:** [March 7, 2014, 12:09pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/75 "2014-03-07T12:09:13Z")

</div>

[You mean this?](http://docs.oracle.com/javase/7/docs/api/)

---

<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:** [March 7, 2014, 12:36pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/76 "2014-03-07T12:36:37Z")

</div>

That’s the API documentation (and I’ve used it extensively to get my bearings in the code). I mean an IDE, an integrated development environment, like MS Visual Studio. Edit, compile, debug, manage, all from the same program.

---

<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:** [March 7, 2014, 1:11pm UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/77 "2014-03-07T13:11:15Z")

</div>

Off the top of my head, there’s Eclipse, NetBeans, and BlueJ. These are the three I have personally used before (in order of preference).

---

<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:** [March 12, 2014, 5:35am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/78 "2014-03-12T05:35:32Z")

</div>

I am on hiatus from this for probably another week. I am a little tired of looking at it after arguing with someone about a feature in it till I was blue in the face.

---

<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:** [March 12, 2014, 5:47am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/79 "2014-03-12T05:47:05Z")

</div>

Speaking as the mentioned someone, I think I’ll spare you from having to argue over features and I’m going to just officially ask your permission to publish my own version of the program (not sure if I even need to, opensource and all), with full credit given to you for the most of it, me having just hammerbashed in some superfluous bells and whistles.

The ASCII generation feature may as well become useless when the game itself has proper ASCII fallback, but till then there will be a demand for it.

---

<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:** [March 12, 2014, 6:32am UTC](https://discourse.cataclysmdda.org/t/tileset-editor-1-0-proof-of-concept/5029/80 "2014-03-12T06:32:08Z")

</div>

Nope, you don’t have to ask, anything that is on that git you can use under the terms of the licenses. But keep in mind, if you do, you can’t use my icon.

The icon license distinctly prohibits derivatives. This applies to the program as a whole in regard to the use of the icon and not just the image itself. That is because I regard it as an icon (as used in a program) and is licensed under that term, rather then just the image itself (which has no license, which means I retain all rights). That is to say, it can only be used with the unmodified (official) code. But I won’t enforce this for slight modifications (but you are still technically breaking copyright law if you do so).

I use the license so that people can freely reupload the program (with icon) to other places, if somehow my version stopped being available, without breaking the law.

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

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