Dicembre 2024
-
Failed tripbomb placements no longer consume ammo (accurate to Duke 1.5)
Mostra dettagli
- Risolve
- terminx/eduke32#316
Marzo 2024
Dicembre 2023
-
Make CON_GETGAMEFUNCBIND properly detect and return mouse binds
Novembre 2023
-
If the texturecache.index file cannot be read, invalidate it
Mostra dettagli
This fixes a problem where the texcache file could grow without limit if something managed to corrupt the texcache index.
Settembre 2023
-
Increase YAX_MAXCLIPSECTORS from 64 to 256
Mostra dettagli
Some TROR layers were blocking hitscan shots because of the low limit.
-
Comment out log message in appendstate/prependstate
-
Generale
Engine/Duke3D: Several changes to TROR traversal in clipping functions
Mostra dettagli
* 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.
-
Only store boardfilename in the savegame if we have a usermap
-
Fix CON_EXIT not working correctly in while loops
Mostra dettagli
The instruction pointer wasn't being updated properly.
-
Fix globalsound being broken in 3D Mode
Mostra dettagli
This would previously attempt invalid array access with index -1.
-
Revert clipupdatesector() changes from df868267 and replace with a different approach
Mostra dettagli
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.
-
Rework the cansee() changes from 86e5fe7f to only affect TROR transitions
Mostra dettagli
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.
-
Add same sectnum checks as in hitscan() to A_RadiusDamage()
-
Fix hitscan() and clipmove() by checking for invalid sectnums
Mostra dettagli
Invalid sectnums could previously be added to the clipsectlist if a hitscan shot passed a tror layer.
-
fix actors on lotag 1 sectors not being squishable
Mostra dettagli
Squishing is now prevented if SE7 is present (as previously intended), or when the actor is standing on submergible TROR water.
- Risolve
- terminx/eduke32#283
-
fix regressions with clipupdatesector() from df868267
Mostra dettagli
This resolves a bug in Duke3D where the player couldn't move while shrunk if a TROR sector was present on the map. It also ensures that the original clipping is used if no TROR bunch is present inside the sector in question. This should reduce the amount of backwards-compatibility problems.
-
Fix clipmove() problems with TROR wall geometry resulting from commit 7f00d5ce
Mostra dettagli
The changes are now more conservative and only affect sprites on TROR layers.
-
Improvements to A_RadiusDamage()
Mostra dettagli
- Add TROR-awareness in similar fashion to clipmove() and hitscan() - Continue scanning walls to damage even if MAXDAMAGESECTORS is reached - Increase MAXDAMAGESECTORS from 128 to 256
-
Fix many cases in which cansee() would fail with TROR
Mostra dettagli
This commit adds a failsafe which corrects the given origin and destination sectnums of the "cansee()" function, by checking if the corresponding (x,y,z) coordinates are actually contained within the given sectors. The problem with TROR in particular was that the calculation done to determine the point of intersection on the TROR layer requires the coordinates to be within the given sectnums. Else, cansee() would simply return 0, even if there was a clear line of sight. This should also implicitly fix any other cases where the coordinates of the cansee() call do not exactly match up with the given sectnums.
-
Properly split TROR code from commit 19fd0915 into YAX_ENABLE blocks
Mostra dettagli
And fix problems introduced by 9070cd2bff6d4547f0765fc483ffd4f923e24383.
-
Fix sprite shadows being drawn on transparent TROR layers
Mostra dettagli
Also fixes sprite shadows being drawn floating above floor slopes.
-
Fix "return to center" triggering after CON_SAVE is executed
-
Account for floor and ceiling slopes in renderAddTsprite
-
Fix tsprite cutoff if the sprite stretches across multiple TROR layers
Mostra dettagli
The sprite is now properly copied for each sector it stretches across.
-
Overhaul TROR handling for hitscan() and clipmove()
Mostra dettagli
- Vertically attached sectors are now added to the clipsectorlist - Entirely remove the previous TROR hack from hitscan() - Instead, hitscan() now also uses clipsectorlist, and detects whether a TROR transition floor or ceiling was hit. If so, any subsequent wall hits in the same sector are skipped. This fixes the following: - Collision and hitscan checks where a sprite stretches vertically across more than 2 TROR layers. - Hitscan shots being unable to clear sloped TROR surfaces. - A potential out-of-bounds array access in hitscan()
-
Add TROR-awareness to sprite clipping in hitscan()
Mostra dettagli
Analogous to the previous commit, it also checks the sprites of the upper and lower TROR bunch of the sector. This handles the case where a sprite is intersecting layers, and fixes hitscan shots not hitting enemies properly in such cases.
-
Add TROR-awareness to sprite clipping in clipmove()
Mostra dettagli
This makes it so that the sprites of the ceiling and floor bunch sectors of the sector being checked are also iterated over. This handles the case where a sprite is intersecting TROR layers, and fixes projectiles not hitting enemies properly in such cases.
-
Make clipupdatesector() TROR-aware with compatibility ENGINE_EDUKE32
Mostra dettagli
When checking if a point (x,y,z) is contained within a sector, then if x,y is contained, but z is not, it also checks all attached TROR layers. This fixes terminx/eduke32#24
-
Generale
Fix build failure and warnings if YAX_ENABLE is undefined
-
Fix build error that originated from commit 003320f1
-
Disable Loguru's unsafe signal handler
Mostra dettagli
With this enabled, a interrupt signal would lead to an infinite loop.
-
Fix mapart tiles not reloading properly on map change in Polymost
Mostra dettagli
This only occurred between two maps that had mapart defined each.
- Risolve
- terminx/eduke32#220
-
Allow decreasing sprite repeat down to size of 1x1 in 3D mode
Mostra dettagli
Note: this was already possible by manually editing the repeat.
-
Don't lock up the editor while testing a map
-
Add new tsprite flag TSPR_FLAGS_NO_GLOW (32, hex: 0x20)
Mostra dettagli
Prevents the game from showing the glowmap defined for the sprite. Applied to sprite shadows in Duke3D.
-
Completely revert attempted jitter fix from 5977025e
Mostra dettagli
This caused two problems: - The change with AC_FZOFFSET caused BLOODPOOL to jitter in Duke3D - The change with water floors caused various actors to jitter in Fury More trouble than it's worth.
Agosto 2023
-
Properly reset Viewscreens when loading a savegame
Mostra dettagli
Previously, they would get stuck in a deactivated state while the player was still in range.
-
Fix keyboard function override message not showing the keys
Mostra dettagli
And apply some cleanup to the code in question.
- Risolve
- terminx/eduke32#275
- Coautore
- Evan Ramos
-
Skip screentextRender() if provided zoom smaller or equal zero
Mostra dettagli
This fixes a division by zero crash if zoom == 0.
- Risolve
- terminx/eduke32#272
-
Display r_maxfps == -1 as "Auto" on the display menu
Mostra dettagli
Previously, this would be the default selection and say "CVAR"
- Risolve
- terminx/eduke32#273
-
Fix savegames made before floorzrebound and floorzcutoff were introduced.
Mostra dettagli
These would default to 0 after loading the savegame.
-
Revert interpolation changes on non-water VM_Fall cases
-
Fix z interpolation problems in VM_Fall() and A_Fall()
Mostra dettagli
This prevents a visual jitter effect from sprites that aren't moving, but use the "fall" command in a water sector (zombie actors, pickups, etc).
-
Fix pathsearchmode when using a .def which loads a GRP
Mostra dettagli
Same fix as applied for Mapster32 in c7aa59b001
-
Remove "pathsearchmode" backup from menuselect()
Mostra dettagli
Hitting CTRL+F in Mapster32's map load menu, then exiting it with ESC would result in the next menu opening at the filesystem's root path, and not in the previously open folder.
-
Initialize mysock in mmulti.cpp with INVALID_SOCKET
-
Generale
Purge trailing whitespaces from audiolib, duke3d, sw, mact and build folder.
-
Replace remaining instances of MV_Printf with LOG_F