What permissions do you give others to modify and/or maintain your submission?
Modify: ASK ME - Maintain: NO - Others must ask me for permission before modifying my submission or use it in their own work, and I reserve the right to say no for any reason. No, others may not maintain my submission, even in my absence.
Kartmaker is a fantastic and invaluable command-line tool for the SRB2Kart modding community which allows one to automatically assemble a WAD representing a character for SRB2Kart in as simple as a click and a drag of a directory onto the Kartmaker tool's executable. The tool itself is programmed in C and being so close to direct memory manipulation one can imagine that it's blazing fast. For veterans, nothing will replace Kartmaker for simple character WADs. Whilst the tool is designed with drag-'n'-drop in mind, it can be used as a typical command line executable all the same and is in fact the only way to get any humanly readable feedback on if Kartmaker is succeeding or failing in interpreting one's own mod files as a DOOM WAD.
But what if one is a newcomer? What if one had never had to use a command-line tool before? What if the idea of opening up a terminal and operating Kartmaker in that way just to get the most basic of progress reports on if any of one's mod files are reasonable tender to become a DOOM WAD intimidates one more than one's own artistic abilities to make such a mod drives one's self to do so? This is a frequent issue that I as the author of this page have noted over the years and one I aim to resolve with the tool that this submission represents...

Introducing KartmakerGUI
Basically, KartmakerGUI is exactly the same as Kartmaker except now you have windows and buttons to make it all go whizz-bang-whallop instead of drag-'n'-drop functionality. In more technical terms, KartmakerGUI is a ground-up C# recreation of Kartmaker's WAD generation algorithm C source (with what should be 100% compatability for all existing Kartmaker templates) as part of the back-end (in combination with a bespoke WAD manipulation DLL) to a new GUI front-end which will guide the user in correcting every possible error or caution they made have made during the development of the files behind their character WAD.


Through KartmakerGUI, a WAD will only be generated from the data a user provides to the program after that user has worked through all errors produced from the data in their files as reported in plain English to the user by KartmakerGUI.

Once those errors have been resolved by the user, the user may also experience a catalogue of warnings with their data which are features of their data that won't prevent generation of a valid SRB2Kart character WAD but may lead to unintended gameplay experiences up to the discretion of the user to resolve (should the situation not be possible for KartmakerGUI to resolve automatically).

Known Issues
As of right now, the only known issue is that some (potentially all) graphics lumps in WADs generated by KartmakerGUI who just so happen to have exactly 8 characters of text in their lump name will throw a 'Bad Sprite Name' Warning when the WAD that they are in is loaded in SRB2Kart. The good news (and what's important to you the reader) is that from testing, this has no effect on the character WAD beyond this warning being displayed on-screen upon loading the character WAD and whatever issue this warning presents is auto-resolved by SRB2Kart itself. I'm quite sure the reason this is happening is because lump names are designed to be null-terminated in the WAD format if they come in at under 8 characters in length with 8 characters also being the maximum length of a lump name. When the lump name itself is 8 characters, the lump name cannot be null-terminated without dislocating bytes in the WAD header and the DOOM wiki documentation on the format does not clarify what one is to do when programming for this specific situation. If I ever come with with a fix for this in my WADLibrary DLL, expect a minor update to this tool.
Extension type
File size
323.5 KB
MD5 Hash
First release
Last update
4.50 star(s) 2 ratings

More resources from SpringEThing

Share this resource

Latest updates

  1. A Flippin' Slip-Up

    ~ The 'flip' optional boolean parameter for each frame defined in a Kartmaker template was...
  2. Last-Minute Post-Launch Change

    - Removed the warning boxes that appear when one clicks an elipses button to open a file...

Latest reviews

Nice improvement for Kartmaker that lowers the barrier of entry about as low as it can go. New error displays make troubleshooting easy, and the GUI solves the "I opened Kartmaker and it didn't do anything!" problem instantly.
Thanks very much for the compliments! Most of all the goal of this project whatever form it eventually took was to make sure nobody could possibly be confused or misled as to why a WAD wasn't generating. Originally, the interface was an entire workstation, but plans for that had to be scaled back for various reasons I won't bother rattling off about here. Anyway, hope it can be of use to you and especially newcomers!
Upvote 0
I can see this being pretty useful for people who are just starting to get in the modding scene. Excelent work!
That's the plan, glad you like it!
Upvote 0