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.
And hopefully not earning an infraction for triple posting - I am prepared to humbly admit victory.
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
Updated source
The RetroDays tileset padded with ASCII
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.
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.
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).
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.
(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)
Not sure how I am horribly off when I took the values straight from cataclysm.
[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.
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.
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!
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.
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.
Everythingās up in the repo, waiting for merge.
This looks really cool Sean. Is it done with āASCII tilesā only, or you are using other tiles as well?
This is entirely ASCII, generated from this tileset for now:
It works with others, like the 12x12 Herrbdogās tileset I usually use for Dwarf Fortress:
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.
(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.)
Version 0.11
Pulled his work with his functionality, though I pretty much rewrote half of it.
Yeah, my implementations are built with all the streamlined grace and elegance of a classic Russian automobile. 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.
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.
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).
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.
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.
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.