Dragonsbrethren Posted May 24, 2010 I'm working on a new version of the Jaguar TC for Doom 1 and it uses EXMX lump numbers for compatibility with the vanilla exes. For ports that allow it I'd like to have the map set function as a single "episode" like the original game. I can't seem to get this to work with Eternity though, both killfinale and nextlevel are ignored in E1M8 and E2M8, which show their end text and end pics like normal, and never load the next level. Is there anything I need to do to get this working or is doing this simply not supported? My EMAPINFO for them is pretty simple: [E1M8] boss-specials = E1M8 killfinale = true nextlevel = E2M1 [E2M8] killfinale = true nextlevel = E3M1 Now, I got around this by making copies of these two maps with different lump names and having E1M7 and E2M7 exit to those instead. That corrects the end text problem, but the game still acts like it's in E1/E2 when entering the next level. The wrong intermission screen is shown, the wrong level names, etc., and E2M1 will exit to E1M2 if the nextlevel isn't specified. I guess that's my fault for not defining all of those things, but I wanted to bring it up incase it's something unintended. Edit: Yeah, I've pretty much given up on getting this to work with Eternity. I'll still include the lump to give some of the E3 maps their proper sky, but it's going to stay episode based like vanilla. 0 Quote Share this post Link to post
Quasar Posted May 26, 2010 This must be some kind of bug, as far as the finale not disabling. I will try to track that down. But, EE does not support overriding the episode map or any such thing yet. At best all you could do is replace the map with a static background screen for each map. You also need to specify skies for each map if you expect that kind of thing to change in the middle of an episode. Otherwise the default is determined by what episode the game believes it is in. If you start in 1, that stays as 1, and that is by design. EDIT: I found it. G_DoCompleted is setting gameaction to ga_victory if gamemap is 8, unconditionally. I'll fix that up. 0 Quote Share this post Link to post
Dragonsbrethren Posted May 26, 2010 Cool, glad to see it will be fixed, even if I probably won't be taking advantage of it at this time. I think you should consider allowing the episode maps to be specified, however. It was actually ZDoom's behavior with the maps that made me decide to leave them in place, even though the Jaguar version didn't have them. I hadn't intended for it to happen, but when I was testing E1M8 in ZDoom, the E1 map was shown during the stats, then automatically changed over to E2 for the "ENTERING" screen. It's a really cool effect. Anyway, I'll probably be keeping Eternity episode based for now, unless there are plans to allow the interpic variable to override the E1-3 maps. 0 Quote Share this post Link to post
Gez Posted May 26, 2010 It is fixed in build r1181, available now for Win32 at http://svn.drdteam.org/eternity/. 0 Quote Share this post Link to post
Quasar Posted May 26, 2010 Dragonsbrethren said:Anyway, I'll probably be keeping Eternity episode based for now, unless there are plans to allow the interpic variable to override the E1-3 maps. I'll consider fast-tracking this. It's been in the back of my mind for a really long time ;) 0 Quote Share this post Link to post
Dragonsbrethren Posted May 26, 2010 Excellent, thanks Quasar. Is there anyway of overriding the episode selection screen? The wiki mentions an EMENUS lump but there's no information about it that I can see. 0 Quote Share this post Link to post
Quasar Posted May 26, 2010 Dragonsbrethren said:Excellent, thanks Quasar. Is there anyway of overriding the episode selection screen? The wiki mentions an EMENUS lump but there's no information about it that I can see. Here is an example, which overrides the Ultimate Doom episode menu to add a 5th episode:stdinclude("root.edf"); menu Ep5_Episode_Menu { item { type = title; patch = "M_EPISOD" } item { type = gap } item { type = runcmd; patch = "M_EPI1"; cmd = "mn_episode 1" } item { type = runcmd; patch = "M_EPI2"; cmd = "mn_episode 2" } item { type = runcmd; patch = "M_EPI3"; cmd = "mn_episode 3" } item { type = runcmd; patch = "M_EPI4"; cmd = "mn_episode 4" } item { type = runcmd; patch = "M_UNLSHD"; cmd = "mn_start_mapname E5M0" } x = 40; y = 30; first = 2; flags = skullmenu; } mn_episode = Ep5_Episode_Menu; 0 Quote Share this post Link to post
Dragonsbrethren Posted May 26, 2010 Thanks for the example. I tried using it, but Eternity terminates immediately: E_ProcessEDF: Loading root file ./base/root.edf Error at ./base/sprites.edf:15:Same thing with both the 3.37.00 release and the latest SVN build. 0 Quote Share this post Link to post
Quasar Posted May 27, 2010 Dragonsbrethren said:Thanks for the example. I tried using it, but Eternity terminates immediately: E_ProcessEDF: Loading root file ./base/root.edf Error at ./base/sprites.edf:15:Same thing with both the 3.37.00 release and the latest SVN build. What the hell? There's no error message? There's supposed to be a second line of information after that which tells what the actual problem is o_O 0 Quote Share this post Link to post
Dragonsbrethren Posted May 27, 2010 I just realized it does give an error with 3.37.00, just not the SVN build: E_ProcessEDF: Loading root file ./base/root.edf Error at ./base/sprites.edf:15: no such option 'spritenames' SVN cuts off before the error and pops up the endoom window. 0 Quote Share this post Link to post
Dragonsbrethren Posted May 27, 2010 Also, the fix for killfinale seems to prevent switch and walkover exit lines from working in any map with it set. Switches switch but nothing happens, you walk right through a walkover like it's not even there, so you're stuck in the map. 0 Quote Share this post Link to post
Quasar Posted May 27, 2010 Dragonsbrethren said:Also, the fix for killfinale seems to prevent switch and walkover exit lines from working in any map with it set. Switches switch but nothing happens, you walk right through a walkover like it's not even there, so you're stuck in the map. Damn. Any chance you have a wad I can test this out on, so I don't have to make one myself? :P EDIT: Oh also, your syntax problem is you are using stdinclude() inside EMENUS. You don't need to (and cannot, outside of edf-branch) do that. My example was written assuming that you were pasting it into a root EDF, such as a file. Sorry because I should have realized this and told you sooner. SUPER EDIT: Never mind, I have found the problem already. My previous fix ignored the return there, because my eye thought it was a break given its position in a switch statement... >_> 0 Quote Share this post Link to post
Dragonsbrethren Posted May 27, 2010 Great, the menu is working now. I have yet another question, is it possible to change what palette range gets translated for colored text? I have a recolored small font in the wad (using the darker range of reds, to match the large Jaguar font), and none of the menu text is colored. (This also affects PrBoom+ and it's much worse there because you can't even tell what you have selected except for a few pixels I must've missed recoloring.) 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.