Aprile 2023
-
this was supposed to be part of 122aee012e7d45c48636d4e38b5af6c37c1ef8ad
Marzo 2023
-
Fix overwrite confirmation appending to save name
Gennaio 2023
-
Generale
- Duke3D: Ensure player maintains velocity when going through a portal.
Mostra dettagli
* The current setup that's been long-standing has the player come to a complete stand-still for one tic while transiting through a portal. * By saving off the velocity difference between the player's pos/opos, we can re-apply that to opos to make the portal transition truly seamless.
Dicembre 2022
-
Generale
Apply TerminX's rotatesprite interpolation fix. (Fixes interp jitter when framerate is over 120fps)
Ottobre 2022
-
If 8-bpp mode couldn't be initialized using GL, retry without GL (sdlayer.cpp).
-
Generale
kextract/kgroup: Add call to engineCreateAllocator.
Mostra dettagli
This was required for kgroup's call to Bopendir.
Settembre 2022
-
findfrompath() with empty filename immediately returns -1
Mostra dettagli
Fixes a bug where an empty filename is interpreted as the current directory "./", which of course always exists.
-
Use AppTechnicalName instead of AppProperName for log filename
-
fix polymost masked wall regression introduced in fd598dfe12c6d0af6c65a96b4ee9450e7c1472ec
-
revert more of 8cc49790938f2419c885167cdb6b732d165191fb
-
bail out of voxcache_fetchvoxmodel() if the offsets found in texturecache.index don't lead to the expected data
-
disable the rainbow background in the editor in yax_drawrooms()
-
don't attempt to tear down ImGui in destroy_window_resources() if we didn't even make it far enough through initialization to get it set up
-
fix vox2poly crash caused by part of 8cc49790938f2419c885167cdb6b732d165191fb
Mostra dettagli
This worked with all of the voxels I tested it with, but caused issues with some in Alien Armageddon.
-
fix polymost crash
-
fix warning
-
fix a couple of Windows API error messages to match the others
-
update to bf6c7abd7f315d7f5838ef45f62f5febdce339f2
-
enable mimalloc abandoned_page_reset option and call mi_collect() during enginePrepareLoadBoard()
-
rework win_systemtimermode stuff, enable by default
-
remove precompiled SDL2 and libvpx for Windows on ARM64
Mostra dettagli
The rationale here is that it's better to provide the build instructions for these libraries (as we already do) with no binary than it is to provide outdated binaries that don't actually match the provided headers anymore.
-
use Windows MMCSS API to hint to the OS that we are, in fact, a game
-
cheap hack to detect if we're using the editor or not
-
fix issue where sometimes the window didn't think it was focused at startup until focus was lost and regained
-
rename win_priorityclass cvar to win_boostpriority and make the accepted range of values a bit saner
-
standardize platform toolset and language settings
-
make -frounding-math clang-only
Mostra dettagli
We were only using this to make clang behave like GCC, but some versions of GCC are bugged such that enabling -frounding-math prevents them from correctly handling constexpr float values determined at compile time.
-
re-enable voxel model mipmaps in software mode with some changes:
Mostra dettagli
-Missing mip levels are now drawn by scaling the highest mip level present in the file, not just taking mip 0 when e.g we want mip 4 but 0-3 are available -Algorithm for determining which mip level to use has been adjusted to bias for rendering quality and not just speed (e.g don't display the chunkier mip levels at such close distances) -Mip levels other than the default are now run through a conversion process that standardizes the colors used based on those found in mip 0, to work around issues where the mip levels ended up with fullbright colors substituted in place of regular palette entries when the mips were originally generated by SLABSPRI/SLAB6 -Add terrible heuristic for mip level rejection based on how many visible voxels are present in the higher mip level versus the lower mip levels for the same voxel. This is intended to work around issues where SLABSPRI and SLAB6 both generated their mips by removing cubes a bit too liberally, resulting in any feature of the model that was only 1 voxel thick being completely obliterated by the mip generation process. This can be observed by setting r_novoxmips to 0 in older builds and viewing 8756_FLOORLAMP_ON.kvx from Ion Fury 2.0 or earlier at various distances in-game. Without this heuristic, poorly generated mip levels that end up obliterating the entire lampshade are drawn.
-
minor speed improvements to the voxel -> model conversion process
Mostra dettagli
Not particularly exciting or useful now that the converted versions are cached.
-
revert part of e8ea24b8abb701e69be2bb0ab211d7aa8fd8c6e5
-
remove misplaced MAY_ALIAS
-
don't try to draw voxels in polymer, because we don't support that yet
-
support sprite and masked wall blending modes in polymer
-
stupid polymost_bufferVert() optimization
-
add a handful of fixes from upstream
-
slightly less terrible branching in gloadtile_art() and gloadtile_hi()
-
GL state fixes
Mostra dettagli
Fixes textures with fullbright pixels being drawn completely bright when texture filtering is enabled, and a couple other issues.
-
fix bug in polymost_spriteHasTranslucency()
-
reset less polymost/GL state between model and voxel draws
-
rework to use exclusion lists instead of inclusion lists for determining which objects to use as part of the build
Mostra dettagli
Benefits: almost 200 lines deleted from the Makefile, new source files added to the project require no additional setup. Drawback: you can't leave random shit with .c or .cpp file extensions laying around your source directories (sounds more like another benefit tbh).
-
clipping change: attempt to apply 5f50a454a65c2e8ecd11ad9aedf6623893ce2f6c to sprites and not just walls
Mostra dettagli
Something somewhere is still fucked, though (and was before this commit)
-
redo vector types to use templates
-
Generale
VS bullshit
-
fix bug where sometimes samplers would still end up bound to texture units after render mode switches
-
resolve defects in sound system
-
add useCallBack parameter to FX_StopSound() and FX_StopAllSounds() (and, by extension, MV_Kill() and MV_KillAllVoices())
-
enable ASan with FORCEDEBUG=1, not just FORCEDEBUG=2
-
small polymost shader optimizations
-
polymer shader optimizations
-
render polymer .art skies with materials