EDuke32 merge requestshttps://voidpoint.io/terminx/eduke32/-/merge_requests2024-03-16T00:33:52-07:00https://voidpoint.io/terminx/eduke32/-/merge_requests/333Duke3D: Fix playback volumes of "Duke-Tag!" announcement sounds2024-03-16T00:33:52-07:00NY00123Duke3D: Fix playback volumes of "Duke-Tag!" announcement soundsThe modified code has an unconditional call to S_PlaySound from S_PlaySound3D with no check of the flag SF_GLOBAL. This is also done with a higher priority than Duke Talk sounds now, which should similarly match DOS v1.5.
I'm not entire...The modified code has an unconditional call to S_PlaySound from S_PlaySound3D with no check of the flag SF_GLOBAL. This is also done with a higher priority than Duke Talk sounds now, which should similarly match DOS v1.5.
I'm not entirely sure this is the correct approach, and also don't know how often is the SF_DTAG flag used in mods made for EDuke32, but these edits (short of the priority change) fixed the problem in E4L10 under fake multiplayer mode.
For reference, I'll list a subset of past commits changing the code in question:
- 95466d90c30197f63ebb9a5dc9d652305c918803: Looks like refactoring to me.
- 1571e6746b4f3c75a62e47d3bab2d936cfded442 (r7914): This commit combined the SF_GLOBAL and SF_DTAG flags to get Duke3D explosion sound behavior, among other possible edits. I reverted just the change to S_PlaySound3D in this MR.
- da9168b62443460e0e8b0be721772427fd065014 (r6877) had some cleanup, including the increase of SF_TALK's priority over SF_DTAG's in the tests. I reverted this priority change.
- There were other changes done in earlier commits, like 708515707507ffe60bc94559d4569048256560cd (r1667).https://voidpoint.io/terminx/eduke32/-/merge_requests/331Duke3D: Remove several unused variables and definitions2024-03-05T17:52:45-08:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Remove several unused variables and definitionsIncluding a leftover T_RENAMEFILE definition that was removed long agoIncluding a leftover T_RENAMEFILE definition that was removed long agoDino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/330Duke3D: Separate viewscreen reset out into its own function2024-03-05T17:52:37-08:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Separate viewscreen reset out into its own functionDino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/329Duke3D: Refresh "gotsector", "radiusdmgstatnums" and "show2dsector" in Gv_Ref...2024-03-05T17:52:26-08:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Refresh "gotsector", "radiusdmgstatnums" and "show2dsector" in Gv_RefreshPointers()Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/326startgtk: Check if grp is null2024-01-19T03:57:45-08:00Colin Kinlochstartgtk: Check if grp is nullCurrently if there are no game files startgtk segfaults.
With this change eduke32 gets far enough to let the user know why it's going to crash.Currently if there are no game files startgtk segfaults.
With this change eduke32 gets far enough to let the user know why it's going to crash.https://voidpoint.io/terminx/eduke32/-/merge_requests/166Duke3D: Make CON_GETGAMEFUNCBIND properly detect and return mouse binds2023-12-06T01:58:33-08:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Make CON_GETGAMEFUNCBIND properly detect and return mouse bindsPreviously, it was not able to detect whether a gamefunc has been bound to a mouse button. This should resolve this problem.Previously, it was not able to detect whether a gamefunc has been bound to a mouse button. This should resolve this problem.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/74Menu fixes2023-11-24T03:27:29-08:00NY00123Menu fixesFor testing empty skill names, the following Suburbs TC archive can be used: http://www.mediafire.com/file/wnw4dwnx37to4af/suburbs_eduke32.zip/fileFor testing empty skill names, the following Suburbs TC archive can be used: http://www.mediafire.com/file/wnw4dwnx37to4af/suburbs_eduke32.zip/filehttps://voidpoint.io/terminx/eduke32/-/merge_requests/327Engine: If the texturecache.index file cannot be read, invalidate it2023-11-13T22:26:44-08:00Dino Bollingerdino.bollinger@gmail.comEngine: If the texturecache.index file cannot be read, invalidate itThis fixes a problem where the texcache file could grow without limit
if something managed to corrupt the texcache index.This fixes a problem where the texcache file could grow without limit
if something managed to corrupt the texcache index.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/324Engine: Increase YAX_MAXCLIPSECTORS from 64 to 2562023-09-26T00:18:33-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Increase YAX_MAXCLIPSECTORS from 64 to 256Some TROR layers were blocking hitscan shots because of the low limit.Some TROR layers were blocking hitscan shots because of the low limit.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/323Duke3D: Comment out log message in appendstate/prependstate2023-09-25T02:09:04-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Comment out log message in appendstate/prependstateDino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/322Engine/Duke3D: Several changes to TROR traversal in clipping functions2023-09-18T00:23:00-07:00Dino Bollingerdino.bollinger@gmail.comEngine/Duke3D: Several changes to TROR traversal in clipping functions* clipmove() - No longer traverses sectors once a distance limit is
exceeded, and at most traverses 64 TROR sectors at once.
* hitscan() - TROR sectors added to clipsectlist after regular next
sectors. Only adds TROR sectors in a sin...* clipmove() - No longer traverses sectors once a distance limit is
exceeded, and at most traverses 64 TROR sectors at once.
* hitscan() - TROR sectors added to clipsectlist after regular next
sectors. Only adds TROR sectors in a single direction, and at most 64
at once.
* A_RadiusDamage - only add TROR sectors if inside damage radius.
Also increase MAXDAMAGESECTORS to 512, same as MAXCLIPSECTORS.
Fixes glitches and error spam in maps that make heavy use of TROR.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/321Duke3D: Only store boardfilename in the savegame if we have a usermap2023-09-18T00:21:03-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Only store boardfilename in the savegame if we have a usermapFixes #287Fixes #287Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/320Engine: Don't try to interpolate rotatesprite calls if the clock difference i...2023-09-16T12:47:44-07:00Jordon MossEngine: Don't try to interpolate rotatesprite calls if the clock difference is negative.https://voidpoint.io/terminx/eduke32/-/merge_requests/319EDuke32: Blackhole any accumulated input when clearing the input FIFO.2023-09-10T00:00:33-07:00Jordon MossEDuke32: Blackhole any accumulated input when clearing the input FIFO.EDuke32: Blackhole any accumulated input when clearing the input FIFO/starting a level, prevents you from being spun around the wrong way when you spawn in.EDuke32: Blackhole any accumulated input when clearing the input FIFO/starting a level, prevents you from being spun around the wrong way when you spawn in.https://voidpoint.io/terminx/eduke32/-/merge_requests/318Duke3D: Fix CON_EXIT not working correctly in while loops2023-09-06T14:49:44-07:00Dino Bollingerdino.bollinger@gmail.comDuke3D: Fix CON_EXIT not working correctly in while loopsThe instruction pointer wasn't being updated properly.The instruction pointer wasn't being updated properly.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/315Mapster32: Fix globalsound being broken in 3D Mode2023-09-05T21:23:23-07:00Dino Bollingerdino.bollinger@gmail.comMapster32: Fix globalsound being broken in 3D ModeThis would previously attempt invalid array access with index -1.This would previously attempt invalid array access with index -1.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/317Engine: Revert clipupdatesector() changes from df868267 and replace with a di...2023-09-05T21:22:07-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Revert clipupdatesector() changes from df868267 and replace with a different approachIf the sector contains a TROR bunch, then whenever clipupdatesector()
would normally return 1, instead run updatesector() and return 0 instead.
The old approach did not work out in all situations. In Fury, certain
flying enemies could n...If the sector contains a TROR bunch, then whenever clipupdatesector()
would normally return 1, instead run updatesector() and return 0 instead.
The old approach did not work out in all situations. In Fury, certain
flying enemies could not pass some TROR layers properly, and in AMC,
trying to submerge in TROR water had the player glitch out on the surface.
This exact approach had previously been used in AMC without any major
issues for 2 years, before the recent TROR changes.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/316Engine: Rework the cansee() changes from 86e5fe7f to only affect TROR transit...2023-09-05T21:21:49-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Rework the cansee() changes from 86e5fe7f to only affect TROR transitionsThe problem with the previous version was that it didn't take
overlapping geometry into account.
This should be a more conservative approach that doesn't affect
non-TROR uses of the cansee() function.The problem with the previous version was that it didn't take
overlapping geometry into account.
This should be a more conservative approach that doesn't affect
non-TROR uses of the cansee() function.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/314Engine: Fix hitscan() and clipmove() by checking for invalid sectnums2023-09-05T21:21:21-07:00Dino Bollingerdino.bollinger@gmail.comEngine: Fix hitscan() and clipmove() by checking for invalid sectnumsInvalid sectnums could previously be added to the clipsectlist if a hitscan shot passed a tror layer.
Fixes a crash found in mapster32 when placing sprites in some AMC Squad maps.Invalid sectnums could previously be added to the clipsectlist if a hitscan shot passed a tror layer.
Fixes a crash found in mapster32 when placing sprites in some AMC Squad maps.Dino Bollingerdino.bollinger@gmail.comDino Bollingerdino.bollinger@gmail.comhttps://voidpoint.io/terminx/eduke32/-/merge_requests/313Add missing GAMEVAR_RAWQ16PTR case in VM_GAMEVAR_OPERATOR.2023-09-04T23:43:41-07:00Jordon MossAdd missing GAMEVAR_RAWQ16PTR case in VM_GAMEVAR_OPERATOR.