WAD/zip file name format causes spawn location bug

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!
User avatar
Clayman_Colony
Posts: 14
Joined: Fri Aug 16, 2024 11:59 pm

WAD/zip file name format causes spawn location bug

Post by Clayman_Colony »

I found a strange bug in GZDOOM G4.13.2 on Linux (might not be limited to Linux systems though if someone else wants to replicate) also present in the latest dev build gzdoom-linux-x64-g4.15pre-1-gd61ec1722.tar.xz

If I rename a zipped WAD file a certain way it causes you to spawn in the wrong location when you start the first map (perhaps others also) even when restarting the map in game (no mods or anything else loading, just the map):

File names (RENAMED AS BELOW) causing spawn location bug I suspect:
  • Miasma - D2, SM, 2016, Cacoward.zip
https://www.doomworld.com/idgames/level ... m-o/miasma
  • Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip
https://www.doomworld.com/idgames/level ... iternityii

Simply adding an "s" to the end of "Cacoward" making it "Cacowards" seems to make it work again. The problem is that I'm not sure what else can be broken by file names that might not be as obvious eg: monsters spawning in wrong locations or not spawning at all or scripts breaking - at least some other maps spawn correctly, but who knows what else is broken then. It is a strange problem and I cannot figure out the real pattern that breaks things. For example, I renamed Miasma to "Test - A2, B, 2016, Cacoward.zip" and that works. There is some underlying file name pattern bug at play breaking WADs. I could not see obvious errors or differences between in the console in any tests though someone might want to re-check that.

I also tried swapping the "broken" file names between Miasma and Eviternity II and they work fine then so it appears the file name bug is tied to the WAD/zip file itself as the "broken" name applied to another WAD/zip does not seem to break it. I downloaded fresh copies to make sure the zip wasn't broken in some way.

It appears if you extract the zip and rename the WADs mentioned earlier to the "broken" file names it works again (though there might be other name patterns that potentially breaks them). Not an ideal work around to have to unzip everything into folders and also the given possibility of file names breaking things is not a good to have.

The problem is also present when not using any launchers like Doom Runner.

Eviternity II correct start spawn location for the first map:


Eviternity II incorrect start spawn on the first map due to file name "Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip" and perhaps other file name patterns:

Last edited by Clayman_Colony on Wed Dec 18, 2024 8:52 pm, edited 2 times in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49204
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: WAD/zip file name format causes spawn location bug

Post by Graf Zahl »

Please post your startup log. The container's file name should not affect its contents, but of course it may cause a file from a different location to be loaded.
In addition, please run 'mapchecksun' for the affected maps at the console to make sure they are identical.
User avatar
Clayman_Colony
Posts: 14
Joined: Fri Aug 16, 2024 11:59 pm

Re: WAD/zip file name format causes spawn location bug

Post by Clayman_Colony »

I tried looking up how to export a text version of the startup log but could not find instructions so had to do screenshots again sorry. I switched back and forth between them quickly and could not see any relevant differences. These tests were done with the same file with only the zip file name being changed as per the original post:

Other source ports like DSDA did not have any issues that I noticed. Again I am not sure if any of this is replicable on non-linux systems.

BROKEN Eviternity II map one startup log and mapchecksum:




WORKING Eviternity II map one startup log and mapchecksum:

Last edited by Clayman_Colony on Wed Dec 18, 2024 4:27 pm, edited 1 time in total.
User avatar
Enjay
 
 
Posts: 26835
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: WAD/zip file name format causes spawn location bug

Post by Enjay »

Clayman_Colony wrote: Wed Dec 18, 2024 4:08 pm I tried looking up how to export a text version of the startup log but could not find instructions
Add +logfile log.txt
to the command line (in a shortcut, or a batch file, or adding it to the parameters of a launcher if you use one, or just at the cmd prompt).

This will save all console output to the file log.txt. You can specify a different name or a path if you want to.

e.g. gzdoom +logfile c:\doom\mynewlog.txt
User avatar
Clayman_Colony
Posts: 14
Joined: Fri Aug 16, 2024 11:59 pm

Re: WAD/zip file name format causes spawn location bug

Post by Clayman_Colony »

Enjay wrote: Wed Dec 18, 2024 7:35 pm Add +logfile log.txt
Thanks for that, I appreciate the tip.

Quick side note: The bug manifesting in the Miasma example is also present in LZDoom so I don't think this is a recent bug - I tried Eviternity II in LZDoom but that does not even load. There is definitely some underlying bug regarding how GZDoom is handling zip files would be my guess unless it is not replicable on other Linux machines.

Here is the output as is, only hostname is redacted:

BROKEN OUTPUT
Log started: 2024-12-19 15:23:13
GZDoom version g4.13.2
W_Init: Init WADfiles.
adding /opt/gzdoom/gzdoom.pk3, 679 lumps
adding /opt/gzdoom/game_support.pk3, 3308 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/MAPS/000 - OFFICIAL - IWADS/doom2.wad, 2928 lumps
adding /opt/gzdoom/lights.pk3, 7 lumps
adding /opt/gzdoom/brightmaps.pk3, 499 lumps
adding /opt/gzdoom/game_widescreen_gfx.pk3, 214 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/UNSORTED/Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip, 4 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/UNSORTED/Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip:eviternity ii.wad, 9460 lumps
S_Init: Setting up sound.
I_InitSound: Initializing OpenAL
Opened device Comet Lake PCH-LP cAVS HDMI / DisplayPort 1 Output
EFX enabled
Using video driver x11
Number of detected displays 1 .
Creating window [1536x864] on adapter 0
GL_VENDOR: Intel
GL_RENDERER: Mesa Intel(R) UHD Graphics (CML GT2)
GL_VERSION: 4.6 (Core Profile) Mesa 22.3.6
GL_SHADING_LANGUAGE_VERSION: 4.60
GL_EXTENSIONS:
GL Version parsed = 4.600000
GL_MAX_TEXTURE_SIZE: 16384
GLES choosing mode: GLES_MODE_OGL3
Resolution: 640 x 480
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
Family 6, Model 142, Stepping 12
Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 F16C FMA3 BMI1 BMI2 HyperThreading
V_Init: allocate screen.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Script error, "Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip:eviternity ii.wad:ZMAPINFO" line 1058:
Unknown property ' - Dragonfly' found in map definition

Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 1428.00 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
Adding dehacked patch Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip:eviternity ii.wad:DEHACKED
Patch installed
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)

----------------------------------------

MAP01 - Elysium

]mapchecksum
8EB38D5289C47BB68D64F2832EFA096D // Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacoward.zip:eviternity ii.wad MAP01




WORKING OUTPUT
Log started: 2024-12-19 15:24:44
GZDoom version g4.13.2
W_Init: Init WADfiles.
adding /opt/gzdoom/gzdoom.pk3, 679 lumps
adding /opt/gzdoom/game_support.pk3, 3308 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/MAPS/000 - OFFICIAL - IWADS/doom2.wad, 2928 lumps
adding /opt/gzdoom/lights.pk3, 7 lumps
adding /opt/gzdoom/brightmaps.pk3, 499 lumps
adding /opt/gzdoom/game_widescreen_gfx.pk3, 214 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/UNSORTED/Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacowards.zip, 4 lumps
adding /home/redacted/Games/001 - DOOM MODS/MODS/UNSORTED/Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacowards.zip:eviternity ii.wad, 9460 lumps
S_Init: Setting up sound.
I_InitSound: Initializing OpenAL
Opened device Comet Lake PCH-LP cAVS HDMI / DisplayPort 1 Output
EFX enabled
Using video driver x11
Number of detected displays 1 .
Creating window [1536x864] on adapter 0
GL_VENDOR: Intel
GL_RENDERER: Mesa Intel(R) UHD Graphics (CML GT2)
GL_VERSION: 4.6 (Core Profile) Mesa 22.3.6
GL_SHADING_LANGUAGE_VERSION: 4.60
GL_EXTENSIONS:
GL Version parsed = 4.600000
GL_MAX_TEXTURE_SIZE: 16384
GLES choosing mode: GLES_MODE_OGL3
Resolution: 640 x 480
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
Family 6, Model 142, Stepping 12
Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 F16C FMA3 BMI1 BMI2 HyperThreading
V_Init: allocate screen.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Script error, "Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacowards.zip:eviternity ii.wad:ZMAPINFO" line 1058:
Unknown property ' - Dragonfly' found in map definition

Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 1332.65 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
Adding dehacked patch Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacowards.zip:eviternity ii.wad:DEHACKED
Patch installed
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)

----------------------------------------

MAP01 - Elysium

]mapchecksum
8EB38D5289C47BB68D64F2832EFA096D // Eviternity II Final - D2, MW-36, Dragonfly et al, 2024, Cacowards.zip:eviternity ii.wad MAP01

Return to “Bugs [GZDoom]”