# HG changeset patch # User Matti Hamalainen # Date 1317050277 -10800 # Node ID c518e08d596103d593fe864a62d96ac10d547725 # Parent 002bc70a3982c78736d98d1c84f569d8e9069454 More logic cleanups. diff -r 002bc70a3982 -r c518e08d5961 src/imgspect.cc --- a/src/imgspect.cc Mon Sep 26 18:06:30 2011 +0300 +++ b/src/imgspect.cc Mon Sep 26 18:17:57 2011 +0300 @@ -40,10 +40,9 @@ int x, y; u8 grey; -// FIXME this is gross - if (!strncmp(cfg.Game, "doom", 4)) + if (cfg.GameId == IWAD_DOOM1 || cfg.GameId == IWAD_DOOM2) grey = 104; - else if (!strcmp(cfg.Game, "heretic")) + else if (cfg.GameId == IWAD_HERETIC) grey = 8; else { diff -r 002bc70a3982 -r c518e08d5961 src/levels.cc --- a/src/levels.cc Mon Sep 26 18:06:30 2011 +0300 +++ b/src/levels.cc Mon Sep 26 18:17:57 2011 +0300 @@ -195,7 +195,7 @@ { offset = dir->dir.start; length = dir->dir.size; - if (cfg.MainWad == cfg.iwadnames[IWAD_HEXEN]) // Hexen mode + if (cfg.GameId == IWAD_HEXEN) // Hexen mode { NumThings = (int) (length / WAD_HEXEN_THING_BYTES); if ((i32) (NumThings * WAD_HEXEN_THING_BYTES) != length) @@ -231,7 +231,7 @@ rc = 1; if (cfg.error_res <= 3) goto byebye; } - if (cfg.MainWad == cfg.iwadnames[IWAD_HEXEN]) // Hexen mode + if (cfg.GameId == IWAD_HEXEN) // Hexen mode for (long n = 0; n < NumThings; n++) { u8 dummy2[6]; @@ -280,7 +280,7 @@ NumLineDefs = 0; else { - if (cfg.MainWad == cfg.iwadnames[IWAD_HEXEN]) // Hexen mode + if (cfg.GameId == IWAD_HEXEN) // Hexen mode { NumLineDefs = (int) (dir->dir.size / WAD_HEXEN_LINEDEF_BYTES); if ((i32) (NumLineDefs * WAD_HEXEN_LINEDEF_BYTES) != @@ -308,7 +308,7 @@ rc = 1; if (cfg.error_res <= 3) goto byebye; } - if (cfg.MainWad == cfg.iwadnames[IWAD_HEXEN]) // Hexen mode + if (cfg.GameId == IWAD_HEXEN) // Hexen mode for (long n = 0; n < NumLineDefs; n++) { u8 dummy[6]; @@ -1023,7 +1023,7 @@ size_t lump_size[WAD_LL__]; wad_level_lump_no_t l; - if (yg_level_format == YGLF_HEXEN || !strcmp(cfg.Game, "hexen")) + if (yg_level_format == YGLF_HEXEN || cfg.GameId == IWAD_HEXEN) { Notify(-1, -1, "I refuse to save. Hexen mode is still", "too badly broken. You would lose data."); diff -r 002bc70a3982 -r c518e08d5961 src/wads2.cc --- a/src/wads2.cc Mon Sep 26 18:06:30 2011 +0300 +++ b/src/wads2.cc Mon Sep 26 18:17:57 2011 +0300 @@ -84,10 +84,10 @@ if (FindMasterDir(cfg.MasterDir, "E2M1") == NULL && FindMasterDir(cfg.MasterDir, "MAP01") == NULL && FindMasterDir(cfg.MasterDir, "MAP33") == NULL - && strcmp(cfg.Game, "doom02") - && strcmp(cfg.Game, "doom04") - && strcmp(cfg.Game, "doom05") - && strcmp(cfg.Game, "doompr")) + && cfg.GameId != IWAD_DOOM02 + && cfg.GameId != IWAD_DOOM04 + && cfg.GameId != IWAD_DOOM05 + && cfg.GameId != IWAD_DOOMPR) { printf(" *-----------------------------------------------------*\n"); printf(" | Warning: this is the shareware version of the game. |\n"); @@ -608,13 +608,14 @@ else printf("Building a new Main Wad file \"%s\" (size approx 10 MB)\n", filename); + if (FindMasterDir(cfg.MasterDir, "E2M4") == NULL - && FindMasterDir(cfg.MasterDir, "MAP01") == NULL - && FindMasterDir(cfg.MasterDir, "MAP33") == NULL - && strcmp(cfg.Game, "doom02") - && strcmp(cfg.Game, "doom04") - && strcmp(cfg.Game, "doom05") - && strcmp(cfg.Game, "doompr")) + && FindMasterDir(cfg.MasterDir, "MAP02") == NULL + && FindMasterDir(cfg.MasterDir, "MAP32") == NULL + && cfg.GameId != IWAD_DOOM02 + && cfg.GameId != IWAD_DOOM04 + && cfg.GameId != IWAD_DOOM05 + && cfg.GameId != IWAD_DOOMPR) fatal_error("You were warned: you are not allowed to do this."); if ((file = fopen(filename, "wb")) == NULL) diff -r 002bc70a3982 -r c518e08d5961 src/yadex.cc --- a/src/yadex.cc Mon Sep 26 18:06:30 2011 +0300 +++ b/src/yadex.cc Mon Sep 26 18:17:57 2011 +0300 @@ -280,6 +280,7 @@ n + 1, n + 1); exit(1); } + cfg.GameId = n; cfg.MainWad = cfg.iwadnames[n]; } } @@ -360,16 +361,20 @@ if (cfg.welcome_message) print_welcome(stdout); - if (strcmp(cfg.Game, "hexen") == 0) + if (cfg.GameId == IWAD_HEXEN) + { printf ("WARNING: Hexen mode is experimental. Don't expect to be able to do any\n" "real Hexen editing with it. You can edit levels but you can't save them.\n" "And there might be other bugs... BE CAREFUL !\n\n"); - - if (strcmp(cfg.Game, "strife") == 0) + } + else + if (cfg.GameId == IWAD_STRIFE) + { printf ("WARNING: Strife mode is experimental. Many thing types, linedef types,\n" "etc. are missing or wrong. And be careful, there might be bugs.\n\n"); + } /* all systems go! */ MainLoop();