Maps that need compatibility settings.

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: GZDoom Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!

Re: Maps that need compatibility settings.

Postby drfrag » Thu May 28, 2020 11:28 am

The problem causing the crash is that the sector is null, in MapLoader::LoadSideDefs2:
Code: Select allExpand view
      if ((unsigned)LittleShort(msd->sector)>=Level->sectors.Size())
      {
         Printf (PRINT_HIGH, "Sidedef %d has a bad sector\n", i);
         sd->sector = sec = nullptr;
      }

So does it make sense using sector 0? Or a fake null sector? :?
Last edited by drfrag on Thu May 28, 2020 4:39 pm, edited 1 time in total.
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Maps that need compatibility settings.

Postby drfrag » Thu May 28, 2020 4:34 pm

PRBoom+ and others (but not Crispy) use sector 0 and that mostly fixes the crash but still crashes at times and crashes earlier.
With:
Code: Select allExpand view
sd->sector = sec = &Level->sectors[0];

Crashes here:
Code: Select allExpand view
sd->SetTextureXOffset(LittleShort(msd->textureoffset));

Code: Select allExpand view
>   lzdoom.exe!MapLoader::LoadSideDefs2(MapData * map, TMap<FString,FMissingCount,THashTraits<FString>,TValueTraits<FMissingCount> > & missingtex) Line 2172   C++
    lzdoom.exe!MapLoader::LoadLevel(MapData * map, const char * lumpname, int position) Line 3012   C++
    lzdoom.exe!P_SetupLevel(FLevelLocals * Level, int position, bool newGame) Line 465   C++
    lzdoom.exe!FLevelLocals::DoLoadLevel(const FString & nextmapname, int position, bool autosave, bool newGame) Line 1165   C++
    [Inline Frame] lzdoom.exe!G_DoLoadLevel(const FString & newGame, int) Line 1039   C++
    lzdoom.exe!G_InitNew(const char * mapname, bool bTitleLevel) Line 552   C++
    lzdoom.exe!G_DoNewGame() Line 422   C++
    lzdoom.exe!G_Ticker() Line 1127   C++
    lzdoom.exe!TryRunTics() Line 1993   C++
    lzdoom.exe!D_DoomLoop() Line 1381   C++
    lzdoom.exe!D_DoomMain_Internal() Line 3660   C++
    lzdoom.exe!GameMain() Line 3673   C++
    lzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 963   C++
    lzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Line 1242   C++
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Maps that need compatibility settings.

Postby Rachael » Thu May 28, 2020 4:39 pm

drfrag wrote:IMO it's not worth adding a compatibility entry for this, it's a random 1994 quality map. I mean the bad reviews discourage dowloading it and it always crashed in ZDoom.

I'm not really sure the quality of the map matters in these decisions...
User avatar
Rachael
Admin
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Maps that need compatibility settings.

Postby drfrag » Fri May 29, 2020 5:26 am

IMO there should be a minimum, Graf said at some time there were already too many compatibility entries. I don't think supporting every random map out there is a good solution.
Anyway it's fixed and i've done a PR.
https://github.com/coelckers/gzdoom/pull/1092
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Maps that need compatibility settings.

Postby drfrag » Fri May 29, 2020 6:40 am

No, it isn't, still crashes from time to time. The texture names change and are random junk.
Code: Select allExpand view
e1m1 - Hangar

Linedef 72 has a bad sidedef
Linedef 74 has a bad sidedef
Sidedef 92 has a bad sector
Unknown middle texture 'ÿ#+ÿ' on second side of linedef 72
Unknown top texture 'ÿOc{ÿ' on second side of linedef 72
Unknown bottom texture '‡Ÿ·ÿ7/ÿ' on second side of linedef 72
Sidedef 95 has a bad sector
Unknown middle texture 'ÿ#+ÿ' on second side of linedef 74
Unknown top texture 'ÿOc{ÿ' on second side of linedef 74
Unknown bottom texture '‡Ÿ·ÿ7/ÿ' on second side of linedef 74
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Maps that need compatibility settings.

Postby drfrag » Fri May 29, 2020 10:59 am

Fixed for real this time, it seems. :) The logic to deal with NO_INDEX is not in, i've used a dummy sidedef.
https://github.com/coelckers/gzdoom/pull/1093
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Maps that need compatibility settings.

Postby ZellSF » Tue Nov 10, 2020 12:33 pm

Not sure if this is the right place for this, but I can't get Sunlust's (https://www.doomworld.com/idgames/level ... ds/sunlust) map30 to work properly at all.

1 of 2 things happen in Boom (strict) compatibility mode or default compatibility mode. Either the monster spawning starts too early, or it fails to spawn the revenants in the first arena.

Edit: apparently this was mentioned and the monster spawning too early just happens in Boom (strict) (it shouldn't though?). But the revenants failing to spawn happens in both modes + boom.
ZellSF
 
Joined: 13 Aug 2019
Operating System: Windows 10/8.1/8/201x 64-bit
Graphics Processor: nVidia (Modern GZDoom)

Re: Maps that need compatibility settings.

Postby Yarn366 » Tue Jan 12, 2021 10:16 pm

Regarding REKKR E1M3:

To open the door to the freezer room, you're supposed to press the middle button, then the left button, then the right button, in that order. The middle button completely lowers a lift in a hidden room; the left button raises that lift a step; and the right button opens a slit that, if the player pressed the buttons in the correct order, allows a scarecrow-looking thing to shoot a wall that opens up the freezer room.

In GZDoom, the problem isn't that the scarecrow isn't firing (it is), but that it shoots its arrows a bit too low, so they don't pass through the slit. Because of this, the player must press the left button again (to raise the scarecrow's lift more) immediately after entering the correct button combination; this gives the scarecrow a chance to shoot through the slit (due it its extra height), thus opening the freezer room.
Yarn366
 
Joined: 02 Mar 2018

Re: Maps that need compatibility settings.

Postby Warden » Mon May 03, 2021 1:50 am

Played through obtic.wad recently, MAP01 needs compat_shorttex, checksum:
Code: Select allExpand view
41C12F740CD7635E4595D3661237992F
Warden
 
Joined: 24 May 2020

Re: Maps that need compatibility settings.

Postby Rachael » Mon May 03, 2021 3:23 am

I don't have the time to test this, nor the desire to set up Obituary on my system right now - so I've put it in a pull request so it doesn't get lost: https://github.com/coelckers/gzdoom/pull/1381
User avatar
Rachael
Admin
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Maps that need compatibility settings.

Postby Graf Zahl » Mon May 03, 2021 3:29 am

What is it needed for? I also have no desire looking for some random change occurring in that map.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Maps that need compatibility settings.

Postby Warden » Mon May 03, 2021 11:02 pm

Sorry, forgot to mention it's for the yellow key. Without the compat flag, the platform it's on raises up too high when you cross linedef 496 (W1 Floor Raise by Shortest Lower Texture).
Last edited by Warden on Mon May 24, 2021 5:18 pm, edited 2 times in total.
Warden
 
Joined: 24 May 2020

Re: Maps that need compatibility settings.

Postby Warrex » Sat May 22, 2021 2:14 pm

Perdition's Gate (http://visionsofdoom.us/wads/perdgate.zip) Map 07 (https://doomwiki.org/wiki/MAP07:_UAC_Nukage_Areas,_Nukage_Monitor/Flow_Control_Facility_(Perdition%27s_Gate))

The yellow door can only be opened once (Action 34: D1 Door (Yellow) - Open Stay). Reentering the previous area again triggers a linedef that closes the door (Action 107: WR Door Close Stay (fast)) and the yellow key does not work anymore (btw: Why?).
Warrex
 
Joined: 08 Aug 2013

Re: Maps that need compatibility settings.

Postby Warden » Mon May 24, 2021 5:13 pm

Return to Phobos (return01.wad) has an ancient bug in map E1M2 where the switch to raise the exit bridge doesn't work in versions of Doom past patch 1.2. Here's a level_compatibility.zs fix:

Code: Select allExpand view
        case 'E0D747B9EE58A0CB74B9AD54423AC15C': // return01.wad e1m2
        {
            // fix broken switch to raise the exit bridge
            SetLineSpecial(1248, Floor_RaiseByValue, 39, 8, 512);
            break;
        }
Warden
 
Joined: 24 May 2020

Re: Maps that need compatibility settings.

Postby Graf Zahl » Tue May 25, 2021 2:11 am

Yeah, that one. Ran into it in 1995 with no idea why the map was broken.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

PreviousNext

Return to Bugs

Who is online

Users browsing this forum: No registered users and 0 guests