EDuke32 issueshttps://voidpoint.io/terminx/eduke32/-/issues2020-05-24T04:10:55-07:00https://voidpoint.io/terminx/eduke32/-/issues/6Change/Feature request : suppress CON code warnings about official GRP's CON ...2020-05-24T04:10:55-07:00LeoDChange/Feature request : suppress CON code warnings about official GRP's CON file issuesAtomic version examples:
- the two "'else' with no 'if'" warnings in the GAME.CON
- two already defined sounds in the GAME.CON
- missing VOC files in USER.CON
Instead: Show only one message (FOOBAR.CON's checksum is known):
"Note: supp...Atomic version examples:
- the two "'else' with no 'if'" warnings in the GAME.CON
- two already defined sounds in the GAME.CON
- missing VOC files in USER.CON
Instead: Show only one message (FOOBAR.CON's checksum is known):
"Note: suppressing warnings about legacy CON code issues in well-known FOOBAR.CON"https://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/33SW multiplayer: Add another way to set the player's nickname from the game2020-05-24T04:09:07-07:00NY00123SW multiplayer: Add another way to set the player's nickname from the gamehttps://voidpoint.io/terminx/eduke32/-/issues/36SW: Screen does not fade to black after beating the final boss in the origina...2021-07-02T12:11:05-07:00MYHOUSE.MAPSW: Screen does not fade to black after beating the final boss in the original campaignWhwen defeating Zilla in the original executable in Code of Honor, the screen fades to black to transition to the cutscene that plays once he is defeated and the player has waited a few seconds after his death animation is done. This doe...Whwen defeating Zilla in the original executable in Code of Honor, the screen fades to black to transition to the cutscene that plays once he is defeated and the player has waited a few seconds after his death animation is done. This does not happen in VoidSW. Instead, the cutscene suddenly plays after a few seconds of waiting after Zilla's death animation is complete.
This problem hapens with Interlopate SO on and off. Version tested is r9028-02eff8c8c.https://voidpoint.io/terminx/eduke32/-/issues/37SW: Unusual boss music issues in level 202021-07-03T02:44:19-07:00MYHOUSE.MAPSW: Unusual boss music issues in level 20In level 20, you refight both the Sumo and Serpent God bosses before dealing with the final boss, Zilla. Normally, the game starts the boss music when the player first enters the boss arena, then stops once the boss' death animation is c...In level 20, you refight both the Sumo and Serpent God bosses before dealing with the final boss, Zilla. Normally, the game starts the boss music when the player first enters the boss arena, then stops once the boss' death animation is complete. However, I've noticed two unusual cases regarding it.
Case 1: The boss music did not stop once the Sumo was defeated. Saving a game after this, then loading it, would play the music at a lower volume, but it was still there. The music would restart at regular volume once entering the Serpent God and Zilla's chambers, but would continue to play after their deaths. This happened twice.
Case 2: The boss music stopped once the Sumo was defeated, but did not start again once the Serpent God nor Zilla were encountered. This happened once.
There dosen't seem to be any way to reliably repeat these issues. I had two testing runs through level 20 where the "boss music never stops" issue did not happen, then it popped up again in the third one. Interlopate SO doesn't seem to have an effect on this, as Case 1 happened with it on and off.
Version used is VoidSW r9028-02eff8c8c.https://voidpoint.io/terminx/eduke32/-/issues/38SW: Game stopping bug in level 20 secret2021-07-01T02:09:51-07:00MYHOUSE.MAPSW: Game stopping bug in level 20 secretIn level 20, there is a secret right at the entrance of the building that leads to the Sumo boss fight. The right tiger print can be used, revealing a secret room. The door to the secret will close after a few seconds of being open. If t...In level 20, there is a secret right at the entrance of the building that leads to the Sumo boss fight. The right tiger print can be used, revealing a secret room. The door to the secret will close after a few seconds of being open. If the player is in the room when the door closes, it is impossible to open the door again because the switch that should open the door in the secret room itself does not work. If this happens, the only way out is via noclip. Players that don't know the noclip cheat code are stuck and must reload a save that was not made in the room.
This is a problem in the original executable as well. I'm not sure if this is a mapping or code error, but I'm making a ticket so the team is aware of it.
Version used is VoidSW r9028-02eff8c8c.https://voidpoint.io/terminx/eduke32/-/issues/44Duke 3D: Normally inaccessible passage can be crouched into on E2L4 (Fusion S...2023-05-20T14:42:36-07:00Dino Bollingerdino.bollinger@gmail.comDuke 3D: Normally inaccessible passage can be crouched into on E2L4 (Fusion Station)Forum thread: https://forums.duke4.net/topic/10914-crouch-clipping-is-too-permissive-as-of-r8494/
This was caused by SVN revision r7488 (commit: [422afced](https://voidpoint.io/terminx/eduke32/-/commit/422afced12d75b29e96dbf5c0aa5bb7ed9...Forum thread: https://forums.duke4.net/topic/10914-crouch-clipping-is-too-permissive-as-of-r8494/
This was caused by SVN revision r7488 (commit: [422afced](https://voidpoint.io/terminx/eduke32/-/commit/422afced12d75b29e96dbf5c0aa5bb7ed920e5e7)). This particular alcove in E2L4 shown in the [screenshot](https://forums.duke4.net/index.php?app=core&module=attach§ion=attach&attach_rel_module=post&attach_id=14494) is not supposed to be accessible, as the player is intended to shoot the switch through it. As it stands however the player can simply walk through unhindered.
Here's a cutout of the offending map portion: [crouch_clipping_check.map](/uploads/b88d13659b6d19b25ea256510d39fc3a/crouch_clipping_check.map)https://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/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/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/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/58Duke3D: Player cannot enter sectors that have a height of 6144 if they are no...2023-05-21T13:07:37-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Player cannot enter sectors that have a height of 6144 if they are not aligned with the floor or the ceiling of the adjacent sectorAnother issue that began with the clipping changes of r7428 (commit d060ca95), the most recent commit that attempted to solve this problem was r8640 (commit 744a46f1). This did solve the problem for all but a single vent in DUKEDC3.map. ...Another issue that began with the clipping changes of r7428 (commit d060ca95), the most recent commit that attempted to solve this problem was r8640 (commit 744a46f1). This did solve the problem for all but a single vent in DUKEDC3.map. Unfortunately this vent happens to be one that leads to the yellow key.
From what I can tell, entry is prevented for any sector that has height of 6144 (1024 * 6) and which does not share a ceiling height or floor height with the adjacent sector. Sectors of this height that do share at least one of the two can be entered by player, albeit with some effort. The attached map showcases this behavior:
[ventcheck02.map](/uploads/452b1b614277ec0a1f7ed653f01464cb/ventcheck02.map)
Also note that sectors of size 7168 (1024 * 7) can always be entered, and sectors of size 5120 (1024*5) can never be entered, even prior to r7428. Since multiples of 1024 are common for sector heights, I believe that there may be usermaps out there that cannot be completed because of this.
Another related, but minor issue is that areas of size 6144 have the player move at crouching speed, whereas previous to r7428, this speed was the same as if the player were standing upright. I haven't encountered any maps where this would become an issue, but I think it's worth pointing this difference out. EDIT: It appears that the crouch speed modifier in tight vents was intentional and added with 744a46f1. Huh. Let's keep it for now until we find a problem with it.Richard Gobeillerichard@voidpoint.comRichard Gobeillerichard@voidpoint.comhttps://voidpoint.io/terminx/eduke32/-/issues/63Duke3D: Opening the newgame menu clears the E1L8 (usermap) slot2023-05-21T13:07:56-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Opening the newgame menu clears the E1L8 (usermap) slotAs reported on the forums, as soon as one confirms the "Abort this game?" dialog and enters the newgame menu, the E1L8 slot is cleared, causing any restarts on death in a usermap to revert to the default E1L8.map.
In fact, this occurs a...As reported on the forums, as soon as one confirms the "Abort this game?" dialog and enters the newgame menu, the E1L8 slot is cleared, causing any restarts on death in a usermap to revert to the default E1L8.map.
In fact, this occurs as soon as `m_volume_number != 0` or `m_level_number != 7`.
From what I can tell, this has been the case for over a decade worth of revisions, so I'm going to assume this has always been the case.Richard Gobeillerichard@voidpoint.comRichard Gobeillerichard@voidpoint.comhttps://voidpoint.io/terminx/eduke32/-/issues/67Audiolib: Overflow in RateScale computation (dependent on sampling rate and p...2023-11-27T11:34:58-08:00Dino Bollingerdino.bollinger@gmail.comAudiolib: Overflow in RateScale computation (dependent on sampling rate and pitch)The following statement is repeated across multiple locations in the audiolib source code:
``` voice->RateScale = divideu32(voice->SamplingRate * voice->PitchScale, MV_MixRate);```
Where `voice->PitchScale` is computed from the pitch o...The following statement is repeated across multiple locations in the audiolib source code:
``` voice->RateScale = divideu32(voice->SamplingRate * voice->PitchScale, MV_MixRate);```
Where `voice->PitchScale` is computed from the pitch offset, which can be specified through `definesound` in CON. `MV_MixRate` is defined in the sound options menu, one of either 22015Hz, 44100Hz or 48000Hz.
Issues occur once one attempts to specify a high pitch offset for soundfiles with a high sampling rate, for example a pitch of 700 with a sampling rate of 44100 Hz. This does occur in practice: for example the EBIKE found in the DNF2013 mod uses increasing offsets to pitch up the engine sound of the bike when it moves, and 44100Hz sounds are commonly used in most games today.
With a pitch_offset of 700, `voice->PitchScale = 98193`, and therefore we have
```voice->SamplingRate * voice->PitchScale = 44'100 * 98'193 = 4'330'311'300 > 2^32```
i.e. we get a uint_32 overflow for the intermediate value, and the resulting RateScale will be incorrect. For lower sampling rates the overflow does not occur, resulting in inconsistent pitch depending on the sampling rate of the file. Of course, having to multiply first is necessary because otherwise we would get rounding errors, so I believe increasing the integer precision for this division is necessary to resolve the issue.
Git blame tells me that this goes all the way back to 1cdd18b016, where audiolib was introduced from JonoF's port.https://voidpoint.io/terminx/eduke32/-/issues/71Duke3D: Clipping issue in Caribbean Secret Level (VACASL.map)2023-05-21T13:08:40-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Clipping issue in Caribbean Secret Level (VACASL.map)Found by Ninety-Six on duke4.
The following table holds a secret and the player should be able to crouch under it: https://i.imgur.com/yyb94bh.png
However, as of the time of writing this is no longer possible, and the player cannot pas...Found by Ninety-Six on duke4.
The following table holds a secret and the player should be able to crouch under it: https://i.imgur.com/yyb94bh.png
However, as of the time of writing this is no longer possible, and the player cannot pass under the table at all.
Originally broken with d060ca95, fixed by 54e67e4b , and then broken again by d2a530cd.
Map file to reproduce: [vaca_clipping03.map](/uploads/2c011f059f5839b3911a003f32983fe8/vaca_clipping03.map)https://voidpoint.io/terminx/eduke32/-/issues/72Duke3D: Minor clipping issue in E1L4 (Toxic Dump)2023-05-21T13:08:21-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Minor clipping issue in E1L4 (Toxic Dump)Just another one of these small differences caused by the clipping overhaul. At least this one doesn't break progression.
The following small opening can be entered by simply walking towards it and crouching (normally obscured by a text...Just another one of these small differences caused by the clipping overhaul. At least this one doesn't break progression.
The following small opening can be entered by simply walking towards it and crouching (normally obscured by a texture): https://imgur.com/huSxECf
Caused by 54e67e4b.
Here's a simplified test map: [e1l4_clipping.map](/uploads/fca1fb79387693d2e1f1226e014e0619/e1l4_clipping.map)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/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/85Feature Request: Greater sound and music control in CON2023-05-21T13:10:20-07:00Dino Bollingerdino.bollinger@gmail.comFeature Request: Greater sound and music control in CONRecently, mods such as the AMC TC, Alien Armageddon and even WGR2020 have begun including voice acting on non-playable characters during gameplay. An example for this is the last mission in Alien Armageddon, where the main villain taunts...Recently, mods such as the AMC TC, Alien Armageddon and even WGR2020 have begun including voice acting on non-playable characters during gameplay. An example for this is the last mission in Alien Armageddon, where the main villain taunts you as you make your escape.
A common problem encountered with this however is that there is a lack of options for volume mixing through CON scripts. Specifically, when a character is talking, one would want to lower the volume of surrounding ambient noise and battle sounds, such that the character can be understood better. At the same time, while no one is talking, sounds and music should be at normal volume rather than being muffled.
This isn't really possible at the moment without suboptimal workarounds. Therefore, additional commands to be able to alter the volume of sounds and music would be greatly appreciated.https://voidpoint.io/terminx/eduke32/-/issues/87Mapster32: game code and data loading issues2023-05-21T13:11:47-07:00Dino Bollingerdino.bollinger@gmail.comMapster32: game code and data loading issuesMapster32's handling of game data and grpinfo is very opaque and leaves the user in the dark as to what exactly is being loaded.
For example, unlike for `eduke32.exe` it isn't possible to specify which game you want to load data or code...Mapster32's handling of game data and grpinfo is very opaque and leaves the user in the dark as to what exactly is being loaded.
For example, unlike for `eduke32.exe` it isn't possible to specify which game you want to load data or code from. This leads to a problem with grpinfo where mapster32 ignores the `GAME.CON` and `DUKE3D.DEF` replacements (specified through `scriptname` and `defname`), and instead uses the default files.
These files can however contain commands used specifically to affect the editor itself (such as line and sprite color or sound definitions), which hence may not be executed or loaded at all.