by Jimmy » Sat Jul 15, 2017 3:42 am
In Doom 1, IDCLEV takes the player to [episode][levelnum]. In Doom 2 it takes them to [levelnum]. However, map navigation with this cheat becomes impossible if a levelset under the Doom 2 IWAD uses the ExMy convention for its levels. Of course it's still possible to use map, changemap and nextmap, but if a cheat from the original game becomes completely neutered purely because of the level structure of a mapset (one that is identical to Doom 1, especially), I consider that a problem.
It'd be really nice to have a way of specifying a unique number for each level that this cheat warps to. Perhaps there are a couple of ways to address this:
(1) MAPINFO's levelnum and warptrans do not affect this cheat, so it'd be nice to have something called clevnum that changes the behavior of this cheat.
It'd be nice to allow this number to be as long as needed - some mapsets that specify 10 or more maps per episode will need a three-digit clevnum. Duke Nukem 3D handles this with its DNSCOTTY cheat - the number 101 is used for E1L1, 210 for E2L10, etc.
Presumably if the same number is detected multiple times in a MAPINFO lump, ZDoom would throw up an error. The clevnums specified by the IWAD could be cleared with a clearclev flag.
This method is probably more work than the end result is worth, so here's an alternative:
(2) A MAPINFO (gameinfo block) flag that simply specifies if the cheat gets treated the way it is in Doom 1, or Doom 2.
If it's possible for the game to detect the presence of maps like E1M10, etc, the cheat would be treated as a three-digit number, like 101 for E1M1 again, etc.
Thoughts?
In Doom 1, IDCLEV takes the player to [episode][levelnum]. In Doom 2 it takes them to [levelnum]. However, map navigation with this cheat becomes impossible if a levelset under the Doom 2 IWAD uses the ExMy convention for its levels. Of course it's still possible to use map, changemap and nextmap, but if a cheat from the original game becomes completely neutered purely because of the level structure of a mapset (one that is identical to Doom 1, especially), I consider that a problem.
It'd be really nice to have a way of specifying a unique number for each level that this cheat warps to. Perhaps there are a couple of ways to address this:
[b](1)[/b] MAPINFO's [i]levelnum[/i] and [i]warptrans[/i] do not affect this cheat, so it'd be nice to have something called [i]clevnum[/i] that changes the behavior of this cheat.
It'd be nice to allow this number to be as long as needed - some mapsets that specify 10 or more maps per episode will need a three-digit clevnum. Duke Nukem 3D handles this with its DNSCOTTY cheat - the number 101 is used for E1L1, 210 for E2L10, etc.
Presumably if the same number is detected multiple times in a MAPINFO lump, ZDoom would throw up an error. The clevnums specified by the IWAD could be cleared with a [i]clearclev[/i] flag.
This method is probably more work than the end result is worth, so here's an alternative:
[b](2)[/b] A MAPINFO (gameinfo block) flag that simply specifies if the cheat gets treated the way it is in Doom 1, or Doom 2.
If it's possible for the game to detect the presence of maps like E1M10, etc, the cheat would be treated as a three-digit number, like 101 for E1M1 again, etc.
Thoughts?