# Missing Tile Checker -- A tool for tileset makers

**URL:** https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874
**Category:** The Lab
**Created:** [November 9, 2013, 5:08am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874 "2013-11-09T05:08:27Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 9, 2013, 5:08am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/1 "2013-11-09T05:08:27Z")

</div>

[Download Here!](https://app.box.com/s/qlluxrxbqn9leyn01jv4)

[hr]

UPDATED TO VERSION 1.1  
The program has been updated to Version 1.1 instead of comparing two tile\_config.json files it now compares the tile set’s tile\_config.json file with all .json files located in data\json and data\json\items. This should provide better functionality, as well as make sure every single item id is accounted for.

(Version 1.1.1 released November 10, Fixed a bug where vehicle parts were not accurately checked. Reupped link)

[hr]

I made this tool thanks to an idea from Natures Witness as a tool for tile set makers. What this program does is it looks at your tile set, and tells you what item id’s you are missing from your tile set. This will allow you to quickly update your tile sets as the game updates and new items are added. The program was coded in C# using the .Net 4.0 framework. If request is there, I could maybe rewrite this as a command-line based python program to allow for cross-platform compatibility.

[Download Here!](https://app.box.com/s/qlluxrxbqn9leyn01jv4)

[hr]

Use of this program is simple. Run the program. Select your tile set’s tile\_config.json and point the program to your data/json folder. Click check and the program will scan all relevant json files and create a “missing.txt” file for you. I believe I have it checking all relevant json files, but let me know if I missed one!

Here is a list of all files I check (and they are checked in order and written in order on missing.txt if it help you at all)

```auto
items\ammo.json
items\archery.json
items\armor.json
items\books.json
items\comestibles.json
items\containers.json
items\instruments.json
items\melee.json
items\mods.json
items\ranged.json
items\tools.json
items\vehicle_parts.json
bionics.json
furniture.json
monsters.json
terrain.json
vehicle_parts.json
```

Let me know if any bugs arise, or if there is any requested functionality.

---

<div class="post-metadata">

### Author: ![stone94](https://avatars.discourse-cdn.com/v4/letter/s/f9ae1b/32.png) [@stone94](https://discourse.cataclysmdda.org/u/stone94)
#### Post date: [November 9, 2013, 10:52am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/2 "2013-11-09T10:52:51Z")

</div>

great work this has been much requested 😛

---

<div class="post-metadata">

### Author: ![HRose](https://avatars.discourse-cdn.com/v4/letter/h/ed655f/32.png) [@HRose](https://discourse.cataclysmdda.org/u/HRose)
#### Post date: [November 9, 2013, 11:22am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/3 "2013-11-09T11:22:30Z")

</div>

It doesn’t even look like the “original tile\_config.json file” has all the entries… so.

---

<div class="post-metadata">

### Author: ![Tsu](https://avatars.discourse-cdn.com/v4/letter/t/6a8cbe/32.png) [@Tsu](https://discourse.cataclysmdda.org/u/Tsu)
#### Post date: [November 9, 2013, 4:19pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/4 "2013-11-09T16:19:03Z")

</div>

Is there actually any .json file that has all the entries as of now? Because when I do the comparison it seems to list all the things I have added that the standard one does not have.

---

<div class="post-metadata">

### Author: ![Natures\_Witness](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/natures_witness/32/165_2.png) [@Natures\_Witness](https://discourse.cataclysmdda.org/u/Natures_Witness)
#### Post date: [November 9, 2013, 5:05pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/5 "2013-11-09T17:05:12Z")

</div>

I think we’re going to need to make a focused effort to create an accurate “master list” and keep it up-to-date. BTW jcannon98188, a big thank-you from me and everybody else for making this, it’s going to be a big asset to development.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 9, 2013, 6:51pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/6 "2013-11-09T18:51:11Z")

</div>

Thanks for the feedback everyone! I am rewriting it so it scans all the json files in the json folder, and it will search them for all id’s then check them against your tileset. I also will make it create a new masterlist will everything set to blank “fg: -1 bg:-1 rotates:false” but I will also make it check for multitiles (if I can) and include that. I should have this out in the next day or so if all goes according to plans.

---

<div class="post-metadata">

### Author: ![Tsu](https://avatars.discourse-cdn.com/v4/letter/t/6a8cbe/32.png) [@Tsu](https://discourse.cataclysmdda.org/u/Tsu)
#### Post date: [November 9, 2013, 6:59pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/7 "2013-11-09T18:59:24Z")

</div>

Sweet \<3

---

<div class="post-metadata">

### Author: ![GalenEvil](https://avatars.discourse-cdn.com/v4/letter/g/f04885/32.png) [@GalenEvil](https://discourse.cataclysmdda.org/u/GalenEvil)
#### Post date: [November 9, 2013, 7:47pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/8 "2013-11-09T19:47:55Z")

</div>

make sure to check the entry type, as vehicle parts need to have their tile definitions with a vp\_ prefix on them. That should be the only major separation from the object definitions.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 9, 2013, 8:53pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/9 "2013-11-09T20:53:27Z")

</div>

Thanks for the heads up Galen! I will go ahead and pay attention to that. Question for the modders, how do you determine if something should be multi tile or not? I want to try make this program check those as well.

edit:

Ok, turns out I may be a little over ambitious. Changing the scope of the project once again. Rather than making a new master list, I will simply check the tileset against all .jsons instead. This should still help out though.

---

<div class="post-metadata">

### Author: ![GlyphGryph](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/glyphgryph/32/847_2.png) [@GlyphGryph](https://discourse.cataclysmdda.org/u/GlyphGryph)
#### Post date: [November 10, 2013, 1:53am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/10 "2013-11-10T01:53:25Z")

</div>

Stickying this.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 10, 2013, 6:31am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/11 "2013-11-10T06:31:55Z")

</div>

[Download Here!](https://app.box.com/s/qlluxrxbqn9leyn01jv4)

[hr]

UPDATED TO VERSION 1.1  
The program has been updated to Version 1.1 instead of comparing two tile\_config.json files it now compares the tile set’s tile\_config.json file with all .json files located in data\json and data\json\items. This should provide better functionality, as well as make sure every single item id is accounted for.

[hr]

Updated original post and download link as well. As always, let me know if there is any bugs or feature requests. I will be happy to oblige, assuming I have the knowledge to implement. As long as new .json files are not added this program should provide an accurate list of all item id’s missing from your tileset. I will eventually add functionality to be able to add additional .json files to be scanned but I want to look into how to do that a little more.

Oh, and thanks for the sticky. I am glad this is useful to people.

---

<div class="post-metadata">

### Author: ![GalenEvil](https://avatars.discourse-cdn.com/v4/letter/g/f04885/32.png) [@GalenEvil](https://discourse.cataclysmdda.org/u/GalenEvil)
#### Post date: [November 10, 2013, 8:39am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/12 "2013-11-10T08:39:47Z")

</div>

If you look in the file\_finder.cpp file you should be able to use/adapt that to get a list of json files to read from. Then, assuming you are checking the type information, make it ignore abstract types (vehicles, colordef, recipes, etc (also instruments since they are not actually spawned anywhere ever)). Then you would only need to update the read/ignore lists to include new types 😃

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 10, 2013, 8:51am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/13 "2013-11-10T08:51:29Z")

</div>

Hmmm, I am not seeing any of that information actually in file\_finder.cpp or file\_finder.h

What I actually did instead was look through every JSON and manually inspect it to find out if it was something that would have a tile, then had the program pull it’s id and add it to a list. I also had it check if it is a vehicle part and added vp\_ before the id in my list. Then I compared that list with the tile\_config.json file and creates missing.txt next I will have it load the list from a text/json file and load it in, so it will be extendable in case of things like mods.

---

<div class="post-metadata">

### Author: ![GalenEvil](https://avatars.discourse-cdn.com/v4/letter/g/f04885/32.png) [@GalenEvil](https://discourse.cataclysmdda.org/u/GalenEvil)
#### Post date: [November 10, 2013, 9:31am UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/14 "2013-11-10T09:31:24Z")

</div>

file\_finder::get\_files\_from\_path(std::string extension, std::string root\_path, bool recursive\_search) – the extension would be “.json”, root\_path would be “./data/json” or wherever the json files are located, and for this search recursive\_search should be true. Calling it with those parameters would output a vector of all .json files starting from the root\_path through its subdirectories. The only reason I mentioned it was so that you could dynamically populate the list of json files to read through instead of hardcoding it all.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 10, 2013, 6:09pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/15 "2013-11-10T18:09:00Z")

</div>

Ahhhh ok I get you now. The reason why I don’t just have it search ever json file is because some files (for example martialarts.json) have a id field, but have no graphical representation and so I don’t want to include those in the searches. Same with vehicles.json, skills.json, and the like.

---

<div class="post-metadata">

### Author: ![TheNineRings](https://avatars.discourse-cdn.com/v4/letter/t/8e8cbc/32.png) [@TheNineRings](https://discourse.cataclysmdda.org/u/TheNineRings)
#### Post date: [November 10, 2013, 6:18pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/16 "2013-11-10T18:18:40Z")

</div>

Give us Linux users some love too! D: I really want to use this program, but I can’t because it isn’t cross platform. :\ Still, it looks like this should be really useful.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 10, 2013, 7:12pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/17 "2013-11-10T19:12:31Z")

</div>

I will look into converting this to use mono instead of .net4 I can’t make any promises though. At very least I can write a CL version in python of something

If you download [mono](http://www.mono-project.com) you should be able to run the program using scripts located [HERE](https://app.box.com/s/xdfna6nemcsvjdgmybjt)

This SHOULD work. If not, let me know. I don’t have a computer running linux and I don’t have ubuntu downloaded to run a VM off of. If it doesn’t I will dl ubuntu, setup a vm and see about getting this supported more.

---

<div class="post-metadata">

### Author: ![Tsu](https://avatars.discourse-cdn.com/v4/letter/t/6a8cbe/32.png) [@Tsu](https://discourse.cataclysmdda.org/u/Tsu)
#### Post date: [November 10, 2013, 7:53pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/18 "2013-11-10T19:53:33Z")

</div>

The tilechecker at the moment lists all the VP\_ prefixes for my tileset, most(if not all ) of which I know I have implemented already. Otherwise I’m not able to tell you if there are any more bugs just now.

Otherwise though it looks like it could be a very neat tool to work with.

---

<div class="post-metadata">

### Author: ![jcannon98188](https://avatars.discourse-cdn.com/v4/letter/j/ba9def/32.png) [@jcannon98188](https://discourse.cataclysmdda.org/u/jcannon98188)
#### Post date: [November 10, 2013, 8:04pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/19 "2013-11-10T20:04:11Z")

</div>

Oops thanks for spotting that. I found the issue and will re upload in a minute with the fix.

Edit: Fixed. Feel free to redownload.

---

<div class="post-metadata">

### Author: ![Tsu](https://avatars.discourse-cdn.com/v4/letter/t/6a8cbe/32.png) [@Tsu](https://discourse.cataclysmdda.org/u/Tsu)
#### Post date: [November 15, 2013, 4:24pm UTC](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874/20 "2013-11-15T16:24:16Z")

</div>

Vp thing seems to be fixed now, Thanks 🙂

It’s finding 349 things not tiled in my set. So basically there’s more than 2000 things to individually tile at this point. Jeebus Creebus.

[Next page](https://discourse.cataclysmdda.org/t/missing-tile-checker-a-tool-for-tileset-makers/3874.md?page=2)
