EDuke32 issueshttps://voidpoint.io/terminx/eduke32/-/issues2023-05-21T13:36:22-07:00https://voidpoint.io/terminx/eduke32/-/issues/124Duke3D: Texture (DEF) glowmaps display on actor shadows2023-05-21T13:36:22-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Texture (DEF) glowmaps display on actor shadowsUsing the DEF command `texture`, one can define a glowmap for sprites. In the case of actors, this glowmap displays on their shadows as well:
![glowtile_bug02](/uploads/66c59150e4efb4e49292b051aeaaa249/glowtile_bug02.png)
The following...Using the DEF command `texture`, one can define a glowmap for sprites. In the case of actors, this glowmap displays on their shadows as well:
![glowtile_bug02](/uploads/66c59150e4efb4e49292b051aeaaa249/glowtile_bug02.png)
The following zip defines glowmaps for the Octabrain actor and can be used to test this bug:
[octabrain_glowtiles.zip](/uploads/f754b15e607fc4fa2922e459c8f94b4c/octabrain_glowtiles.zip)https://voidpoint.io/terminx/eduke32/-/issues/118Windows: WindowsMME music halting has chance to freeze the game2023-05-21T13:34:43-07:00Dino Bollingerdino.bollinger@gmail.comWindows: WindowsMME music halting has chance to freeze the gameThis is a problem that occurs when stopping the playback of **midi** files using WindowsMME. It does not occur with SF2, OPL3, ogg or flac playback. I have also had other users report the same problem while testing WGRealms 2.
Typically...This is a problem that occurs when stopping the playback of **midi** files using WindowsMME. It does not occur with SF2, OPL3, ogg or flac playback. I have also had other users report the same problem while testing WGRealms 2.
Typically after some time has passed playing the same track, the game will freeze as it attempts to shut down the playback. This freeze exclusively occurred on stopping playback, and never on the loop of a currently playing midi.
The following is a backtrace of when the error occurred. The trace indicates a deadlock of some form, though the condition that is being waited on is unknown to me:
[freeze_bug_bt.txt](/uploads/f48d9473edbb013b38468e294637e4f2/freeze_bug_bt.txt)https://voidpoint.io/terminx/eduke32/-/issues/117MacOS: Cannot launch Mapster32.app over Finder (closes immediately without an...2023-05-21T13:34:30-07:00Dino Bollingerdino.bollinger@gmail.comMacOS: Cannot launch Mapster32.app over Finder (closes immediately without any errors)This is an odd one. First, it only occurs with Mapster32.app, and not EDuke32.app.
If one launches the application, it briefly appears to start, but closes shortly afterwards with no error messages or crashlogs. This occurs even when c...This is an odd one. First, it only occurs with Mapster32.app, and not EDuke32.app.
If one launches the application, it briefly appears to start, but closes shortly afterwards with no error messages or crashlogs. This occurs even when compiling with `STARTUP_WINDOW=0`, hence it appears to be unrelated to #114.
Even more strangely, launching it over lldb appears to work fine, and mapster32 will work as expected.
I have verified this problem on both a MacOS Catalina 10.15.5 VM as well as on a physical Mac.https://voidpoint.io/terminx/eduke32/-/issues/116MacOS: Keyboard inputs are directed to the terminal, rather than to the game ...2023-05-21T13:34:13-07:00Dino Bollingerdino.bollinger@gmail.comMacOS: Keyboard inputs are directed to the terminal, rather than to the game windowWhen launching eduke32 or mapster32 over the terminal on MacOS, all inputs end up going to the terminal in the background, rather than the game itself. Furthermore it is apparently not possible to have the window refocus and the inputs b...When launching eduke32 or mapster32 over the terminal on MacOS, all inputs end up going to the terminal in the background, rather than the game itself. Furthermore it is apparently not possible to have the window refocus and the inputs be directed to the game.
This is according to a user who would like to use mapster32 on a Mac machine (temporarily).
Even if this turns out not to be a bug, I would be happy to know any possible solutions or workarounds for this problem.https://voidpoint.io/terminx/eduke32/-/issues/115MacOS: eduke32 and mapster32 ignore the -cwd parameter and the `user_profiles...2023-05-21T13:33:55-07:00Dino Bollingerdino.bollinger@gmail.comMacOS: eduke32 and mapster32 ignore the -cwd parameter and the `user_profiles_disabled` fileSee title.
This can be a nuisance if one intends to play a mod such as Alien Armageddon on Mac, which dumps all of its data in subfolders in the base directory.See title.
This can be a nuisance if one intends to play a mod such as Alien Armageddon on Mac, which dumps all of its data in subfolders in the base directory.https://voidpoint.io/terminx/eduke32/-/issues/114MacOS: Crash related to startup window2023-05-21T13:16:19-07:00Dino Bollingerdino.bollinger@gmail.comMacOS: Crash related to startup windowWhen toggling the fullscreen checkbox in the MacOS startup window after launching either Mapster32.app or EDuke32.app, I receive the following error:
[MACOS_ERROR.TXT](/uploads/163e475c38cb486a7296ef5ec9b7387b/MACOS_ERROR.TXT)
Here's a...When toggling the fullscreen checkbox in the MacOS startup window after launching either Mapster32.app or EDuke32.app, I receive the following error:
[MACOS_ERROR.TXT](/uploads/163e475c38cb486a7296ef5ec9b7387b/MACOS_ERROR.TXT)
Here's a backtrace of the issue:
[bt_macos.txt](/uploads/8e14942010a20e21c5e101c5a45170be/bt_macos.txt)
This occurred using a MacOS Catalina 10.15.5 VM on Virtualbox. I also have a report of this exact error occurring on a physical Mac, where the crash even happens without needing to toggle the button. Compiling using `STARTUP_WINDOW=0` resolves the problem in this case.https://voidpoint.io/terminx/eduke32/-/issues/104Repeated quotes suppressed from log even after being redefined2023-05-21T13:13:38-07:00Rob AnybodyRepeated quotes suppressed from log even after being redefinedWhen the same quote is displayed more than once, it only gets logged the first time although it appears on-screen every time. This seems intentional, so that for example standing on a slime floor with boots doesn't spam the log with the ...When the same quote is displayed more than once, it only gets logged the first time although it appears on-screen every time. This seems intentional, so that for example standing on a slime floor with boots doesn't spam the log with the same message over and over.
Unfortunately this also happens when the same quote is reused to display different text (e.g. "TQUOTE" from the examples, using `qputs` or `qsprintf`). Since the message has changed, it should probably be logged each time.https://voidpoint.io/terminx/eduke32/-/issues/77Engine: Polymer has major issues rendering surfaces in NAM2023-05-21T13:09:16-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Polymer has major issues rendering surfaces in NAMThis goes back to the very first versions of Polymer, and maybe the levels were badly designed.
The following screenshots were taken in the first level of NAM:
* Polymost: https://imgur.com/gTauq6o
* Polymer: https://imgur.com/hHR96Ux
...This goes back to the very first versions of Polymer, and maybe the levels were badly designed.
The following screenshots were taken in the first level of NAM:
* Polymost: https://imgur.com/gTauq6o
* Polymer: https://imgur.com/hHR96Ux
These floors seem to be rendered as parallax skies rather than grass. The sky also appears to be oddly shifted down.
Additionally, level geometry is visible through parallax skies in Polymer:
* Polymost: https://imgur.com/bnCtivN
* Polymer: https://imgur.com/rf5K4gJ
I know that Polymer isn't really maintained anymore, but this may be useful for projects that are based on Polymer, e.g. the experimental Direct3D 12/Vulkan renderer from ICD, should that ever go anywhere.https://voidpoint.io/terminx/eduke32/-/issues/74Engine: Certain mirrors are rendered incorrectly in Polymost2023-05-21T13:09:02-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Certain mirrors are rendered incorrectly in PolymostOriginally reported here: https://forum.zdoom.org/viewtopic.php?f=340&t=67621
If there are multiple mirror textures adjacent to the same "mirror sector" (separated only by vertices) then only one of the mirrors is rendered correctly. Al...Originally reported here: https://forum.zdoom.org/viewtopic.php?f=340&t=67621
If there are multiple mirror textures adjacent to the same "mirror sector" (separated only by vertices) then only one of the mirrors is rendered correctly. All others result in a glitchy HOM effect. This only happens in Polymost, both Classic and Polymer are unaffected.
Example: https://imgur.com/ciZF5X4 , https://imgur.com/82iEPTj
This problem was introduced in SVN r7736 (commit e18c561f).
Demo map: [amass_mirrors.map](/uploads/86dcf95a04643b49d2b6fc18527f14b5/amass_mirrors.map)https://voidpoint.io/terminx/eduke32/-/issues/54Engine: Rare palette issue when switching from Polymer to Polymost2023-05-21T13:07:16-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Rare palette issue when switching from Polymer to PolymostForum thread: https://forums.duke4.net/topic/10936-switching-from-polymer-to-polymost-after-changing-the-screen-resolution-screws-the-palette-up/
Another edge case, but performing the steps as described in the thread results in either a...Forum thread: https://forums.duke4.net/topic/10936-switching-from-polymer-to-polymost-after-changing-the-screen-resolution-screws-the-palette-up/
Another edge case, but performing the steps as described in the thread results in either a black screen or a screwed up palette.
Started with r6777 (commit 1fc78c3b) and still occurs at the time of writing.https://voidpoint.io/terminx/eduke32/-/issues/52Duke3D/Engine: Extremely specific OPL3 crash when replacing grabbag.mid with ...2023-05-21T13:07:04-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D/Engine: Extremely specific OPL3 crash when replacing grabbag.mid with an OGGSo this is kind the edge case to end all edge cases, but if one replaces `grabbag.mid` with any OGG file (either through CON or directly), and then loads the OPL3 emulator exactly 6 times, then the game will crash to desktop.
Here's the...So this is kind the edge case to end all edge cases, but if one replaces `grabbag.mid` with any OGG file (either through CON or directly), and then loads the OPL3 emulator exactly 6 times, then the game will crash to desktop.
Here's the CON + example OGG to test this: [beetlejuice.zip](/uploads/e35296b67ca699cc111fdd80f222b974/beetlejuice.zip)
And here's the crashlog: [eduke32.crash.log](/uploads/8b4abb513c5817e617b4809411b3906c/eduke32.crash.log)https://voidpoint.io/terminx/eduke32/-/issues/48Engine: OPL3 emulation produces note that plays indefinitely on certain midi ...2023-05-21T13:06:34-07:00Dino Bollingerdino.bollinger@gmail.comEngine: OPL3 emulation produces note that plays indefinitely on certain midi tracksThe midi file in the attachment is from Jimmy's DukeDC music pack. When played in OPL3 emulation, one of the last notes in the track gets stuck when the track is looped, causing it to play throughout the entirety of the next loop. This g...The midi file in the attachment is from Jimmy's DukeDC music pack. When played in OPL3 emulation, one of the last notes in the track gets stuck when the track is looped, causing it to play throughout the entirety of the next loop. This gets rather annoying, very fast.
The midi plays flawlessly in Windows MME, and interestingly, GZDoom's Nuked OPL3 emulation also has no issues with it, so I'm tending towards this being a problem with the emulator as implemented in eduke32, rather than the file itself.
Like issue #47, this has also been present since the introduction of OPL3 to eduke32.
[dethtoll.mid](/uploads/bf90ac1c07c16a2c96caa1ad02214016/dethtoll.mid)nukeyktnukeykthttps://voidpoint.io/terminx/eduke32/-/issues/47Engine: Game freezes when trying to play certain midi tracks through OPL3 Emu...2023-05-20T14:45:09-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Game freezes when trying to play certain midi tracks through OPL3 EmulationThe midi file in the attachment crashes the game on the first note when played using OPL3 emulation.
Windows MME does not have any problems playing this midi.
Crash has been present since OPL3 emulation was introduced.
[dethtoll.mid](/...The midi file in the attachment crashes the game on the first note when played using OPL3 emulation.
Windows MME does not have any problems playing this midi.
Crash has been present since OPL3 emulation was introduced.
[dethtoll.mid](/uploads/7d16e87caf32b295db3d85e5c4154716/dethtoll.mid)nukeyktnukeykthttps://voidpoint.io/terminx/eduke32/-/issues/10Backtrace DLLs fail to build on Win10/MSYS22023-08-16T23:45:19-07:00LeoDBacktrace DLLs fail to build on Win10/MSYS2"make ebacktrace" fails on current Win10/MSYS2.
It used to build up to the last GCC release from the MinGW-w64 project (8.1.0):
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-bui..."make ebacktrace" fails on current Win10/MSYS2.
It used to build up to the last GCC release from the MinGW-w64 project (8.1.0):
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh
While I could fix compiling with the GCC 9.x that comes with MSYS2, the resulting DLL doesn't actually work:
Fix (64bit): > pacman -S mingw-w64-x86_64-expat mingw-w64-x86_64-gettext
Working command line (64bit): > gcc -O2 -std=gnu99 -ggdb -shared -Wall -Wextra -static-libgcc -o ebacktrace1-64.dll platform/Windows/src/backtrace.c -I/mingw64/include/binutils/ -L/mingw64/lib/binutils/ -lbfd -liberty -limagehlp -lintlhttps://voidpoint.io/terminx/eduke32/-/issues/299Crash from startup window if no GRP is found2024-01-19T03:57:45-08:00NY00123Crash from startup window if no GRP is foundAs far as I can tell, this holds to Windows and GTK altogether, and was introduced in fec7d30e6929e99cef7aad47d2c6d75b65dfaf59.
A partial fix for the GTK startup window was accepted from https://voidpoint.io/terminx/eduke32/-/merge_requ...As far as I can tell, this holds to Windows and GTK altogether, and was introduced in fec7d30e6929e99cef7aad47d2c6d75b65dfaf59.
A partial fix for the GTK startup window was accepted from https://voidpoint.io/terminx/eduke32/-/merge_requests/326, but I still got crashes with the last revision (manual Linux build + Windows auto-build).
To reproduce, you can start EDuke32 with `-usecwd` from a directory with a standalone game that doesn't use any grp or equivalent file.https://voidpoint.io/terminx/eduke32/-/issues/293(Potential buffer over-read) Ensure the string g_player[i].wchoice is properl...2023-11-01T15:27:57-07:00NY00123(Potential buffer over-read) Ensure the string g_player[i].wchoice is properly formatted.This was originally reproduced as a crash in NetDuke32, but may potentially be a problem in EDuke32 as well.
I don't know the exact cause of having wchoice set as described here - could be a random cfg corruption of a known kind - but I...This was originally reproduced as a crash in NetDuke32, but may potentially be a problem in EDuke32 as well.
I don't know the exact cause of having wchoice set as described here - could be a random cfg corruption of a known kind - but I had wchoice set to the string "secwd22221" for NetDuke32. EDuke32 also allows this, including a change from the console.
Within `P_CheckWeapon`, this can lead to a buffer over-read (or at least, integer shift count overflow). It's possible this was manifested as a crash in NetDuke32 due to the `gotweapon` field still being an array, but even with EDuke32's form, this might be a problem.https://voidpoint.io/terminx/eduke32/-/issues/283Duke3D: Actors can't be crushed in sloped lotag 1 sectors2023-09-05T12:50:54-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Actors can't be crushed in sloped lotag 1 sectorsThis problem originates from r5657:
```
commit 4795b68823df59c0c15f9d88d97bcc59b6a2d61e
Author: Richard Gobeille <terminx@gmail.com>
Date: Mon Mar 14 00:07:12 2016 +0000
Don't squish the player in lotag 1 sectors that have a SE7.
...This problem originates from r5657:
```
commit 4795b68823df59c0c15f9d88d97bcc59b6a2d61e
Author: Richard Gobeille <terminx@gmail.com>
Date: Mon Mar 14 00:07:12 2016 +0000
Don't squish the player in lotag 1 sectors that have a SE7.
From-SVN: r5657
```
It was caused by a misinterpretation of the function "A_CheckNoSE7Water()":
```diff
diff --git a/polymer/eduke32/source/gameexec.c b/polymer/eduke32/source/gameexec.c
index 214743a29..f8813967a 100644
--- a/polymer/eduke32/source/gameexec.c
+++ b/polymer/eduke32/source/gameexec.c
@@ -239,26 +239,27 @@ static int32_t VM_CheckSquished(void)
{
sectortype const * const sc = §or[vm.g_sp->sectnum];
- if (sc->lotag == ST_23_SWINGING_DOOR || EDUKE32_PREDICT_FALSE(vm.g_sp->picnum == APLAYER && ud.noclip))
+ if (sc->lotag == ST_23_SWINGING_DOOR ||
+ (sc->lotag == ST_1_ABOVE_WATER && !A_CheckNoSE7Water(vm.g_sp, vm.g_sp->sectnum, sc->lotag, NULL)) ||
+ (vm.g_sp->picnum == APLAYER && ud.noclip))
return 0;
```
This is a TROR-specific function, which return 1 if the sector contains a floor bunch that the player can submerge into (i.e. submergible TROR water that does not use SE7), and 0 otherwise.
Therefore, this prevents actors from being crushed if the actor is in a lotag 1 sector that isn't submergible TROR water. Therefore, any regular lotag 1 sectors, with or without SE7, prevent crushing -- contrary to what the commit message states.,
Furthermore, the actor will get crushed on submergible TROR water -- which is also a case that shouldn't actually be occurring.
Crushers in lotag 1 sectors without SE7, (in other words, shallow water) should still allow crushing. This was the behavior in DOS Duke3D, and also the behavior in eduke32 up and until r5657 in 2016.
The following map (cut out of E1L7) demonstrates the problem:
[water_crusher.map](/uploads/91f600564546476a7c9e77eeea156fa4/water_crusher.map)
Fixing this of course comes with a caveat: In the 7 years since this change was introduced, maps may have been created that rely on this bug to allow player progression. In other words, maps since 2016 may have assumed that it is safe for the player to walk through crusher areas with water floors.https://voidpoint.io/terminx/eduke32/-/issues/266Specifying game directory on Windows network share doesn't work2023-05-21T15:06:36-07:00John KlimekSpecifying game directory on Windows network share doesn't workI'm running EDuke32 r10167-1a90b9883 with the following command-line:
`eduke32 -game_dir "\\debian\tank_software\Classic Games - Required Files\Duke Nukem 3D - 20th Anniversary World Tour"`
The message log displays the following:
```
S...I'm running EDuke32 r10167-1a90b9883 with the following command-line:
`eduke32 -game_dir "\\debian\tank_software\Classic Games - Required Files\Duke Nukem 3D - 20th Anniversary World Tour"`
The message log displays the following:
```
Started at 2023-03-06 10:58:53.072
EDuke32 r10167-1a90b9883
Built Jan 23 2023 22:28:37, GCC 12.0.0, 64-bit
Using directory C:/Program Files (x86)/Steam/steamapps/common/Ion Fury/
Application parameters: -game_dir \\debian\tank_software\Classic Games - Required Files\Duke Nukem 3D - 20th Anniversary World Tour
Using directory E:/Emulators/eduke32/
Using directory /debian/tank_software/Classic Games - Required Files/Duke Nukem 3D - 20th Anniversary World Tour/
OS: Windows 10 (build 10.0.22621)
CPU: 13th Gen Intel(R) Core(TM) i7-13700K
Initializing SDL 2.0.22
Detecting video modes for display 0 (Generic PnP Monitor)...
Searching for game data...
```
I've also tried specifying the GRP directly:
`eduke32 -gamegrp "\\debian\tank_software\Classic Games - Required Files\Duke Nukem 3D - 20th Anniversary World Tour\DUKE3D.GRP"`
However, if I use a local directory (ie. "C:\Game Files\Duke3D") then it works fine. It also works if I map the network share to a drive letter (ie. "net use S: \\debian\tank_software\...") so I wonder if the problem is the backslash escape character?https://voidpoint.io/terminx/eduke32/-/issues/262Action with out of bounds offset causes ungraceful crash2023-05-21T15:05:57-07:00Michelle SleeperAction with out of bounds offset causes ungraceful crashAn action with a tile offset beyond MAXTILES will cause the engine to hard crash. No messages are displayed in the log file, the error only appears using the debug engine version.
From game.cpp:
```
t->picnum += frameOffset...An action with a tile offset beyond MAXTILES will cause the engine to hard crash. No messages are displayed in the log file, the error only appears using the debug engine version.
From game.cpp:
```
t->picnum += frameOffset + apScript[scrofs_action + ACTION_STARTFRAME] + viewtype*curframe;
// XXX: t->picnum can be out-of-bounds by bad user code.
Bassert((unsigned)t->picnum < MAXTILES);
```
This was identified here, playing the 2011 mod "A.Dream trilogy" (conversation continues on to next page):
https://forums.duke4.net/topic/7640-release-eduke32-addon-compilation/page__st__1770__p__376737#entry376737
The modder is using an action with an offset to a tile ID with no art in order to make the actor appear invisible. While this is a valid (if non-typical) way to achieve that result, they did so by using an offset of 32768, putting the new picnum way beyond MAXTILES. Apparently this worked without issue upon release and all the way up until recently. Another user reports version r9651 is where the crash began, but I have not verified this myself.
Possible solution: Clamp t->picnum to MAXTILES and throw a log error, and/or write the error to log before crashing?https://voidpoint.io/terminx/eduke32/-/issues/256Classic - Music does not play on title screen when using '-nologo' parameter2023-05-21T15:01:19-07:00DrUm78Classic - Music does not play on title screen when using '-nologo' parameter- Platform: Windows 11
- Build: eduke32_win32_20221018-10164-810e1c13f
Description
When using '-nologo' command, music does not play on the title screen as it seems to be initialized during the logo sequence in the normal scenario, whic...- Platform: Windows 11
- Build: eduke32_win32_20221018-10164-810e1c13f
Description
When using '-nologo' command, music does not play on the title screen as it seems to be initialized during the logo sequence in the normal scenario, which seems a bit strange here. Same occurs when going back from a game to the title screen.
Workaround
The only way to enable music is to disable/enable it in the menu but you will have to repeat this step each time you reach the title screen.
Steps to reproduce
1. Launch EDuke32 with '-nologo' parameter and music on
2. Notice that you do not hear any music on the title screen
3. Launch a game then go back to the title screen
4. Still no music
5. Enter sound menu and disable/enable music
6. It now plays