diff --git a/src/main.c b/src/main.c index ed00d15772a3f0fa618746ab30e96420df3459be..fc186fcb9b13d06bb52b17e3c95b575bd6ee2277 100644 --- a/src/main.c +++ b/src/main.c @@ -665,6 +665,8 @@ int main(int argc, char *argv[]) { struct wadfile* wad; // WAD to be created. FILE* wadf; // File pointer for writing the WAD. + char iconlump[9]; + if (argc != 2) { printf("kartmaker <folder>: Converts a structured folder into an SRB2Kart character WAD. (Try dragging the folder onto the EXE!)"); return 1; @@ -739,14 +741,25 @@ int main(int argc, char *argv[]) { // Add sprites into WAD printf("Adding sprites to WAD...\n"); + + if (cJSON_GetObjectItem(metadata, "prefix")) + sprintf(iconlump, "ICOF%s", strupr(cJSON_GetObjectItem(metadata, "prefix")->valuestring)); + else + sprintf(iconlump, "ICOF%s", defprefix); + iconlump[8] = '\0'; + struct RGB_Sprite* sprite = rgb_sprites; while (sprite) { unsigned char* image; size_t size; printf(" Lump %s...\n", sprite->lumpname); image = imageInDoomFormat(sprite, &size); - if (strcmp(sprite->lumpname, "ICOF") == 1) + + if (strcmp(sprite->lumpname, iconlump) == 0) + { add_lump(wad, find_last_lump(wad), "S_END", 0, NULL); + } + add_lump(wad, find_last_lump(wad), sprite->lumpname, size, image); free(image);