NBlood / Rednukem / PCExhumed - r13623 --- 3843a7f93 | [] Use bitmap_size macro when appropriate 3742bbad2 | [] Improve r_maxfps initialization for menu 2a3439d78 | [] Adjust show weapon position for voxels a43d4e949 | [] Disable play online menu item for non-netcode builds 9151dacfd | [] Fix automap name height offset during multiplayer 2762a5369 | [] Documented CViewMap class 154f0b4eb | [] Set vsync at start 323764f05 | [Evan Ramos] Merge remote-tracking branch 'eduke32/master' c126d1ea3 | [Colin Kinloch] Duke, SW: Fix game data search paths 381b03824 | [Richard Gobeille] engine: uspriteptr_t in spriteGetSlope()/spriteGetZOfSlope() 193f1ed94 | [Richard Gobeille] editor: add map start position to undo/redo state Fixes terminx/eduke32#210 ca4f187a9 | [Richard Gobeille] editor: fix F11 brightness adjustment and enable function in 2D mode ceb67ff6b | [Richard Gobeille] Duke3d: add console error spew for a couple conditions which can cause creating a savegame to fail to capture a meaningful screenshot 5854352bd | [Richard Gobeille] Fix terminx/eduke32#267 b504bbcf1 | [Richard Gobeille] engine: remove unneeded assert 3f4b58bd7 | [Richard Gobeille] Duke: add player actor floorz and ceilingz to cl_showcoords 3b036b612 | [Richard Gobeille] Update gamecontrollerdb.txt e43a642fc | [Evan Ramos] Use std::numeric_limits instead of cfloat's FLT_MAX and DBL_MAX Applies a545fe8b74697926825ba5420ae49caf35f56cf7 to RR and Blood Replaces 0a1dec70ac49a8fb217647214fb22d0c8b725a78 cc1f26e0c | [Evan Ramos] Rednukem: Avoid warning spam in namesdyn.cpp warning: missing field 'staticval_dn64' initializer [-Wmissing-field-initializers] 1483ae40c | [Evan Ramos] Merge remote-tracking branch 'eduke32/master' 873de4072 | [Evan Ramos] debugbreak: Fix building with GCC targeting Apple Silicon 2a27a217f | [Evan Ramos] Disable undefined and signed-integer-overflow sanitizers They make running with LLDB untenable because they constantly fire. 472fa07ad | [Evan Ramos] compat.h: Add CSTD definition for C17 e448d09b3 | [Evan Ramos] SW, KenBuild: Fix Allman brace styling in macOS startup window d3ce7342c | [Evan Ramos] Add bitmap_size macro git grep -E '\+ *7 *\) *>> *3' find: \( *([A-Za-z0-9_]+) *\+ *7 *\) *>> *3 replace: bitmap_size(\1) a545fe8b7 | [Evan Ramos] Use std::numeric_limits instead of cfloat's FLT_MAX and DBL_MAX Reinstates aaca29588a7ee8216ac8beeab41df2f2c45b17be. For some reason adbce8b6cc49b169885624dee8e982cb2dffb222 reverted it. 78a27afc5 | [Evan Ramos] voxmodel: Fix signed integer overflow in setzrange Replaces 8298dd307692a50cc6eab279a460111ac6e273de and f278dd17bf05f0f32b24ab40437a65a545109079 03b11ed58 | [Evan Ramos] capi: Fix unused parameter warning ca4adc83a | [Evan Ramos] weapons.sample.con: Implement EVENT_DISPLAYTIP and EVENT_DISPLAYACCESS 8b8a5d560 | [Evan Ramos] weapons.sample.con: Fix knuckle shade and position 54e335cfd | [Evan Ramos] weapons.sample.con: Replace "ifand N xor N" with "and -N-1" 567aee3b3 | [Evan Ramos] weapons.sample.con: Make use of scalevar where appropriate cc55450b4 | [Evan Ramos] weapons.sample.con: Replace multiplications by -1 with inv and abs 74f5555e4 | [Evan Ramos] weapons.sample.con: Replace "[THISACTOR]" with "[]" 628318877 | [Evan Ramos] weapons.sample.con: Replace "var" and "varvar" tokens with short forms a59ec8ab7 | [Evan Ramos] weapons.sample.con: Implement EVENT_DISPLAYKNUCKLES 49f2dfd8b | [Evan Ramos] weapons.sample.con: Implement Incinerator 5256648b4 | [Evan Ramos] Fixes for MIPS handhelds I had this on a branch in my local tree but can't remember the context. 570d18115 | [NY00123] Extend 7b83289542d69f28addd781196d3764e94f5919c to other games 18df09f03 | [Evan Ramos] RR: Apply ef5f15e456e70a9a65a4623795b74a353c1157aa c12fd165d | [Evan Ramos] Visual Studio build fixes d3429740f | [Evan Ramos] Manual cleanup of vcxproj files 0a1dec70a | [Evan Ramos] Avoid compiler errors due to undeclared identifier FLT_MAX 27301db0b | [Evan Ramos] CI: Add winlayer target 58916f49d | [Evan Ramos] Quick fixes for winlayer 69edd94fc | [Evan Ramos] Merge remote-tracking branch 'eduke32/master' 726e72560 | [Evan Ramos] Quick fixes for winlayer warnings 09361c0fe | [Evan Ramos] Quick fixes for winlayer errors 21bdc910b | [Evan Ramos] SW: Fix minor warnings 259bf7bfe | [Evan Ramos] Fix warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion] d6d19b254 | [Evan Ramos] SW: Fix warning: 'basepal_' violates the C++ One Definition Rule [-Wodr] I don't understand how something in SW's common_game.h could conflict with Duke3D's common_game.h right now, but it did. 99ec1226e | [Evan Ramos] SW: Fix misleading indentation in MP text chat code 15cf6c367 | [Evan Ramos] SW: Remove unused globals relating to mouse axes 456afcf95 | [Evan Ramos] Avoid maybe-uninitialized warning in clip.cpp 1d19882aa | [Evan Ramos] Fix comparison sign mismatch in 2d.cpp 837162979 | [Evan Ramos] SW: Fix warning C4805: '==': unsafe mix of type 'short' and type 'bool' in operation 187cd492d | [Evan Ramos] KenBuild: Fix warning C4804: '<<': unsafe use of type 'bool' in operation 34e915c42 | [Evan Ramos] Rename VS project for kenbuild to ekenbuild 0137f9f13 | [Evan Ramos] SW: Include config.h from network.cpp for CommPlayerName 4f77e7d7d | [Evan Ramos] SW: Remove unnecessary `extern "C"` 71ff7adef | [Evan Ramos] Remove platform/Windows/.gitignore as useless 0038d9792 | [Evan Ramos] Manual cleanup of *.vcxproj f31312731 | [Evan Ramos] Functional fixes to VS projects 83fe7f8a2 | [Evan Ramos] CI: Cleanup 6b9904be8 | [Evan Ramos] CI: Upgrade AppVeyor image to VS 2022 d6877f931 | [Evan Ramos] CI: Add KenBuild 365a59d32 | [Evan Ramos] CI: Reenable macOS builds 1c80eb4fa | [Evan Ramos] More brightness cleanup 7b8328954 | [NY00123] Duke3D: Reset pathsearchmode to the original value after getting mod dir names in the GTK startup window. dd85dc49c | [Evan Ramos] Blood: Fix optimized build on Apple Silicon due to erroneous struct packing If you use `#pragma pack(push, 1)`, you need to ensure any pointers are aligned properly. I've largely opted to just remove the packing from structs that don't need it. All of these changes are in the nnexts. b5747b8b4 | [Evan Ramos] macOS: Implement startwin_isopen 00e181c1b | [Evan Ramos] Merge remote-tracking branch 'eduke32/master' b6998a96d | [Evan Ramos] Makefile: Fix whitespace issues 80fcf208d | [Evan Ramos] Fix USE_OPENGL=0 build ba57bac36 | [nukeykt] slope sprite collision improvements d2a25ef9a | [nukeykt] fix various integer overflows in floor sprite rendering code 231e1c122 | [Evan Ramos] Saturation See 5924cd30096cf6ab67b0ffd09672175c41f2d880 9200b204e | [Evan Ramos] Blood: Remove win_priorityclass aka win_boostpriority from app_main 2a8bbae9f | [Evan Ramos] Merge remote-tracking branch 'eduke32/master' 237ce7d72 | [NY00123] samples: Add screentext.con as previously present under source/duke3d/src/lunatic 8139007c2 | [Evan Ramos] KenBuild: Replace startup window with working code from SW 617196a08 | [Evan Ramos] KenBuild: Add macOS .app bundles 6743dd036 | [Evan Ramos] KenBuild: Replace space in editor's proper name with hyphen e81dd484b | [Evan Ramos] Fix logic of voxflags lookup in polymost_voxdraw, avoiding OOB access 87a67abdc | [Evan Ramos] voxmodel: Cleanup in gloadtex, loadvox, loadkvx, loadkv6 8298dd307 | [Evan Ramos] voxmodel: Factor out variables in setzrange This was in preparation to fix a signed integer overflow, but SW is full of them, so I'm not going to bother for now. runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself 9cdd3aff4 | [Evan Ramos] Fix a small number of whitespace issues b8f3ead32 | [Evan Ramos] Mark nextPow2 CONSTEXPR_CXX14 due to while loop e568a4236 | [Evan Ramos] Avoid signed integer overflow in calc_smoothratio 37416553 * 60 cannot be represented in type 'int' 2f5ab4104 | [Evan Ramos] Bail from buildgl_resetSamplerObjects if !samplerobjects Avoids null pointer deference on glIsSampler 49f5bb3d0 | [Evan Ramos] macOS: Use Xstrdup in osxbits.mm Avoids ASan failures ce682360d | [Evan Ramos] macOS: Implement startwin_isopen See commit b689f9974f32acfa6200ba354ee2e21aea10702d See commit b2e15923a6690653cd51255e839d081551817187 Or, see `git log -S startwin_isopen` 21f6ddbb1 | [Evan Ramos] Makefile: Disable LF on macOS 74bb1083e | [Evan Ramos] Makefile: Improve LF thing d66c843f4 | [Evan Ramos] Makefile: Add consideration of IMPLICIT_ARCH=arm64 to logic Fixes warning: -read_only_relocs cannot be used with arm64 0cdfdfc06 | [Evan Ramos] Makefile: Don't use LLD on macOS d42fe7029 | [Evan Ramos] Makefile: Use correct location of Homebrew when building on Apple Silicon d3719deb6 | [Evan Ramos] macOS: Remove 2D mode selection from editor startup window See commit 495475a6057579e82a8536ca2cf3d73d9f08bf27 8f8a930ee | [Evan Ramos] ebacktrace: Slightly improve generation of ExceptionPrinted message d9586a4e6 | [Evan Ramos] ebacktrace: Fix warning: 'strncpy' specified bound 260 equals destination size [-Wstringop-truncation] a610fe0bb | [Evan Ramos] ebacktrace: Add stub for libintl_asprintf 6f21dba74 | [Evan Ramos] ebacktrace: Replace bfd_get_section_{flags,size,vma} with bfd_section_* 7ca25e437 | [Richard Gobeille] editor: improve 2d mode sprite color calculation to avoid returning illegible colors 15ba761fa | [Richard Gobeille] Fury: change crouch jump handling to short-circuit CON VM "ifp pducking" instead of short-circuiting how the player code chooses which autostep value to use a79c95a1c | [Richard Gobeille] engine: make FATAL and ERROR level log messages purposefully screw up the log formatting a little bit so they stand out more 9863ccc8a | [Richard Gobeille] editor: set asksave to 0 when saving from menu 6a17ae1d4 | [Richard Gobeille] Duke3d: add floorzcutoff and floorzrebound player members to control additional aspects of how the player's position reacts to traversing sectors with differing floor heights Not recommended to use these in mods until after Ion Fury: Aftershock ships because they might still change some. a09df6cee | [Richard Gobeille] Duke3d: add cl_kickmode cvar to select between 1.3D or 1.4+ quick kick behavior ;) 64fc46bd4 | [Richard Gobeille] engine: CONSTEXPR nextPow2 4203dd01d | [Richard Gobeille] engine: fix warning 9dc39417d | [Richard Gobeille] Makefile: silence libxmp warnings b58dd86f5 | [Richard Gobeille] Duke3d: fix overlapping cl_showcoords text, enable sprite counters w/ cl_showcoords 2, add cl_showcoords 3 for the previously unreadable rendering cvar printouts 84fe67ca1 | [Richard Gobeille] Duke3d: fix minor bug with visibility menu option 8111de3ee | [Richard Gobeille] engine: odd-numbered SDL patch levels aren't dev snapshots anymore 7cdc2a168 | [Richard Gobeille] Windows: SDL 2.26.5 1259cc45d | [Richard Gobeille] mimalloc: update to 53433225d3c506b883156230e6f12b2af4296c3b 7857a87e3 | [Richard Gobeille] VS: disable ASan in 64-bit debug 8a90bce05 | [Richard Gobeille] Fury: fix status bar size menu option regression e8cdd3c7c | [Richard Gobeille] Duke3d: fix SE40 drawing oversight found when porting the current version of the effect to the editor 9a205c3ce | [Richard Gobeille] engine: move tile size check in maskwallscan() to occur after the call to setgotpic() like the rest of the drawing functions 530543d90 | [Richard Gobeille] engine: fix warning e1808f2a4 | [Richard Gobeille] editor: add Ctrl+Alt+W hotkey to toggle clipping of sprite insertions against blocking sprite geometry instead of hitscan fd74f07df | [Richard Gobeille] Duke3d: this should be a bitmap 44f4131b1 | [Richard Gobeille] Duke3d: this is hilariously incorrect. 2f323f561 | [Richard Gobeille] editor: fix m32script crash 3091f8bdb | [Richard Gobeille] editor: add file drop callback/SDL_DROPFILE support b0780fa08 | [Richard Gobeille] editor: add Ctrl+Alt+R hotkey to toggle the display of grayed-out sectors 927eaf676 | [Richard Gobeille] editor: skip showing the radii of ambient sounds within grayed-out sectors 7d6e83892 | [Richard Gobeille] Makefile: fix problems with 36af1bb2881ac1ec58d6d80142adc12a285fa7d3 and ee2d323fe0682c3b95d8f85509f289502520318c Now I like it even less, ha. 2d5a7500d | [Richard Gobeille] engine: handle a couple edge cases not covered by ae9b0d412455e36f22139494daa3e8ca8dbea520 6537106e6 | [Richard Gobeille] Duke3d: allow startup window in Steam big picture mode if the -setup parameter is passed This allows the startup window to be used on Steam-based devices like the Steam Deck without switching to desktop mode. e3d151811 | [Richard Gobeille] Update gamecontrollerdb.txt 2aae853d0 | [Richard Gobeille] mimalloc: update to 92556e0e629b0cb59183f264b800cd0f88b14e22 d645be959 | [Richard Gobeille] audiolib: re-enable mus_xmp_interpolation cvar It looks like there were a couple interpolation related fixes in libxmp since the last time we tried enabling this, so maybe it'll work without crackling and crashes this time. bfdf77bf8 | [Richard Gobeille] audiolib: alter libxmp-lite to use the engine's memory allocation routines instead of the system's a41a349bf | [Richard Gobeille] audiolib: update libxmp-lite to 1cb557ce338e86eb1e911e971fdf93674cd4db3b ee2d323fe | [Richard Gobeille] Makefile: this was needed to get automatic dependency generation to work with source files that exist in subdirectories below a target's main source dir, but I don't really like it. a04625087 | [Richard Gobeille] Makefile: parameterize wildcard portion of getfiltered function 0eba55737 | [Richard Gobeille] engine: fix bugged hightile skyboxes in polymer when artmapping is enabled f32e8aef7 | [Richard Gobeille] engine: bump MAXSPRITESONSCREEN to 4096, add r_maxspritesonscreen cvar, improve handling of cutoff fec475c4f | [Richard Gobeille] Duke3d: fix problems with the automatic view angle adjustment for playing without a mouse. This fixes #265. 36af1bb28 | [Richard Gobeille] Makefile: make using LTO=xx for multithreaded linking work on Windows without the error spew, and default it to 12 threads if unspecified 25429273f | [Richard Gobeille] engine: update ImGui to 9e30fb0ec1b44dc1b041db6bdd53b130b2a18509 0f598df4c | [Philipp Kutin] samples: add manual test case 'mask_drawing_order.map' e90e66e26 | [Philipp Kutin] Duke3D: in 'msaveloadtext()', prevent read of 'g_skillNames[-1]', fixing issue #225. Note: 'skill == 0' can be obtained from the command line by either * '-m': "monsters off", or * '-s0': 'ud.m_monsters_off' is *not* set 671a7bcb8 | [Philipp Kutin] Engine: in "draw tsprite before mask?" check, consider tile offsets for sloped sprites. In 'GetCornerPoints()', fix condition for when to use 'get_floorspr_points()' to include sloped sprites as well. 5f5ab3f08 | [Philipp Kutin] Engine: in "draw tsprite before mask?" check, consider offsets for floor sprites. 22d67e275 | [Philipp Kutin] Engine: in "draw tsprite before mask?" check, consider xoffset for wall sprites. (More precisely, in renderDrawMasks()'s check "does the maskwall separate the tsprite center from the camera?".) This provides more reasonable rendering order when the sprite (as drawn) is heavily biased to one side of the maskwall. Note [1]: mask/mask intersections are in general problematic since there is no further subdivision. For opaque objects, the OpenGL modes "work around" the issue thanks to the depth buffer. See: - 'mask_drawing_order.map', the STEAM sprites which by position are all on the other side of the right-hand side fence, but as drawn may or may not be more towards one particular side. (The topmost one with xoffset 50 is the first to be drawn behind it; note that 'picanm[STEAM].xofs == -47'.) - Issue #136, the first example screenshot. However, there, the fence intersects the STEAM sprite quite exactly in the middle (as drawn), so note [1] above applies. f657dabfd | [Philipp Kutin] Editor: in 'editorDraw2dSprite()', don't redundantly (over)draw a line. 5bc03f306 | [Philipp Kutin] Editor: in 'editorDraw2dSprite()', rename '[xy]2' -> 'd[xy]' + other NIFC tweaks. - pull out repeated expression 'spr->ang + angofs' into local 'ang' - tweak 'editorDraw2dScreen()', too 7462fa643 | [Philipp Kutin] Engine: in 'renderDrawMasks()', simplify a condition. 98358b469 | [Philipp Kutin] Editor: fix "search for named tile" [S] in the tile selection view. a9a7441ed | [Philipp Kutin] Editor: NIFC tweaks around tile selection. Background: "search for named tile" does not work as expected. 6fc2c6390 | [Philipp Kutin] Engine: from 'renderDrawMasks()', pull out 'GetCornerPoints()'. ddb6a1afd | [Philipp Kutin] Engine: in mask/tsprite sorting, NIFC tweaks (round 3: common rendering). Meaning the 'while (maskwallcnt) { ... loop over tpsrites ... }' block in 'renderDrawMasks()' that is not conditional on the rendering mode. 13d788c1e | [Philipp Kutin] Engine: in mask/tsprite sorting, NIFC tweaks (round 2: +1 local, +3 functions). - 'PolymostPrepareMasks()' - 'PolymostDrawMasks()' - 'DrawDebugSpriteOutlines()' In passing: - Declare once and reuse 'isPolymost' local - In '#if 0'-d debug code, fix an inconsistency and a call by an obsolete function name cfb8b5b34 | [Philipp Kutin] Engine: in mask/tsprite sorting, NIFC tweaks (round 1: clang-format, locals, const). (NIFC: no intended functional changes) f8e74f376 | [Philipp Kutin] Engine+Duke3D: address various UBSan and [-Wunused-but-set-variable] warnings. source/mimalloc/src/options.c:228:3: runtime error: call to function mi_log(char*, void*) through pointer to incorrect function type 'void (*)(const char *, void *)' source/build/src/osd.cpp:1755:44: runtime error: null pointer passed as argument 2, which is declared to never be null source/build/src/glbuild.cpp:296:9: runtime error: load of value 4294967295, which is not a valid value for type 'glsamplertype' source/duke3d/src/gamestructures.cpp:355:125: runtime error: member access within null pointer of type 'DukePlayer_t' ---- Note: we are also getting e.g. > source/build/include/compat.h:1008:72: runtime error: store to misaligned address 0x(...) > for type 'uint32_t' (aka 'unsigned int'), which requires 4 byte alignment due to '-fsanitize=alignment' implied by '-fsanitize=undefined'. This is left as-is. c522673ba | [Philipp Kutin] Engine+Duke3d: pull out 'find_usermaphack()', also handling '!usermaphacks' case. Exposed by UBSan, e.g.: source/build/src/engine.cpp:11090:67: runtime error: null pointer passed as argument 2, which is declared to never be null 7607d824b | [Philipp Kutin] Common.mak: drop 'unsigned-integer-overflow' and 'float-divide-by-zero' from 'ASAN_FLAGS'. - 'unsigned-integer-overflow': happens too frequently (and is not UB) - 'float-divide-by-zero': see https://reviews.llvm.org/D63793 and D64317 7b6ed0f27 | [Richard Gobeille] Windows: update libcompat-to-msvc to fix linking against the newest SDL with MSVC 1ccfc6fc7 | [Richard Gobeille] SDL: update to 20e17559e545c5d3cfe86c1c4772365e70090779 bab2b458c | [Richard Gobeille] asyncplusplus: use engine memory allocation functions 683f1dec9 | [Richard Gobeille] asyncplusplus: update to 4159da79e20ad6d0eb1f13baa0f10e989edd9fba 62db513f2 | [Richard Gobeille] engine: update minicoro to 8673ca62ed938c0b436bc2a548f172865f65bf1d ae9b0d412 | [Richard Gobeille] engine: fix Linux home directory detection issue, respect XDG_CONFIG_HOME env var 913afa1e8 | [Richard Gobeille] Duke3d: fix mouse sensitivity slider values, allow a vertical sensitivity of 0 86465b525 | [Richard Gobeille] engine: fix crash on old GPUs that don't support GL sampler objects 30ef9f1a7 | [Richard Gobeille] voidwrap: Linux build fix 637ffe4ad | [Richard Gobeille] engine: fix Linux SDL_STATIC=1 builds with newer versions of SDL 1a326fa73 | [Richard Gobeille] Duke3d: remove explicit VM compiler checks at use time for whether a label is a keyword or not This is already covered separately by undefined parameter checks on label use and by keyword checks on label definition. 2c6b2ea63 | [Richard Gobeille] Duke3d: fix copy/paste error on bounds check in CON_GETPLAYER/CON_SETPLAYER bb5ef8ad5 | [Richard Gobeille] editor: add an EVENT_INIT that fires once per explicit `include` of a script filename from the console (including from within m32_autoexec.cfg) 467632cef | [Richard Gobeille] engine: this was supposed to be part of 122aee012e7d45c48636d4e38b5af6c37c1ef8ad ef5f15e45 | [Ricardo Garcia] Duke3D: Fix overwrite confirmation appending to save name 1a90b9883 | [Mitchell Richters] - Duke3D: Ensure player maintains velocity when going through a portal. * 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. 122aee012 | [Jordon Moss] Apply TerminX's rotatesprite interpolation fix. (Fixes interp jitter when framerate is over 120fps) a9c797dcb | [NY00123] Engine: If 8-bpp mode couldn't be initialized using GL, retry without GL (sdlayer.cpp). 810e1c13f | [NY00123] kextract/kgroup: Add call to engineCreateAllocator. This was required for kgroup's call to Bopendir. 2b3f691cd | [Dino Bollinger] Engine: findfrompath() with empty filename immediately returns -1 Fixes a bug where an empty filename is interpreted as the current directory "./", which of course always exists. fd9212c43 | [Dino Bollinger] Engine: Use AppTechnicalName instead of AppProperName for log filename 1585e73fc | [Richard Gobeille] engine: fix polymost masked wall regression introduced in fd598dfe12c6d0af6c65a96b4ee9450e7c1472ec b55eca7f8 | [Richard Gobeille] engine: revert more of 8cc49790938f2419c885167cdb6b732d165191fb 3b1e9e866 | [Richard Gobeille] engine: bail out of voxcache_fetchvoxmodel() if the offsets found in texturecache.index don't lead to the expected data d6813b153 | [Richard Gobeille] engine: disable the rainbow background in the editor in yax_drawrooms() 22f707f9c | [Richard Gobeille] engine: 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 b041aee19 | [Richard Gobeille] engine: fix vox2poly crash caused by part of 8cc49790938f2419c885167cdb6b732d165191fb This worked with all of the voxels I tested it with, but caused issues with some in Alien Armageddon. 68c0a8602 | [Richard Gobeille] engine: fix polymost crash 074a5d635 | [Richard Gobeille] engine: fix warning 5430325de | [Richard Gobeille] engine: fix a couple of Windows API error messages to match the others 32742cb38 | [Richard Gobeille] asyncplusplus: update to bf6c7abd7f315d7f5838ef45f62f5febdce339f2 24bcc8639 | [Richard Gobeille] engine: enable mimalloc abandoned_page_reset option and call mi_collect() during enginePrepareLoadBoard() e957ae57c | [Richard Gobeille] engine: rework win_systemtimermode stuff, enable by default b97e71d99 | [Richard Gobeille] engine: remove precompiled SDL2 and libvpx for Windows on ARM64 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. 511fb13a7 | [Richard Gobeille] engine: use Windows MMCSS API to hint to the OS that we are, in fact, a game 3ac262b08 | [Richard Gobeille] engine: cheap hack to detect if we're using the editor or not a136b019a | [Richard Gobeille] engine: fix issue where sometimes the window didn't think it was focused at startup until focus was lost and regained 2906db3fe | [Richard Gobeille] engine: rename win_priorityclass cvar to win_boostpriority and make the accepted range of values a bit saner fb3322101 | [Richard Gobeille] VS: standardize platform toolset and language settings de0da8afb | [Richard Gobeille] Makefile: make -frounding-math clang-only 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. 0e45842ec | [Richard Gobeille] engine: re-enable voxel model mipmaps in software mode with some changes: -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. 8cc497909 | [Richard Gobeille] engine: minor speed improvements to the voxel -> model conversion process Not particularly exciting or useful now that the converted versions are cached. 617ceff13 | [Richard Gobeille] engine: revert part of e8ea24b8abb701e69be2bb0ab211d7aa8fd8c6e5 84484f5a8 | [Richard Gobeille] engine: remove misplaced MAY_ALIAS f6ab7c7e4 | [Richard Gobeille] engine: don't try to draw voxels in polymer, because we don't support that yet 4b58caf50 | [Richard Gobeille] engine: support sprite and masked wall blending modes in polymer 80c7a5358 | [Richard Gobeille] engine: stupid polymost_bufferVert() optimization 747a0a455 | [Richard Gobeille] loguru: add a handful of fixes from upstream 0ce08032e | [Richard Gobeille] engine: slightly less terrible branching in gloadtile_art() and gloadtile_hi() fd598dfe1 | [Richard Gobeille] engine: GL state fixes Fixes textures with fullbright pixels being drawn completely bright when texture filtering is enabled, and a couple other issues. b188ee81d | [Richard Gobeille] engine: fix bug in polymost_spriteHasTranslucency() 89a226669 | [Richard Gobeille] engine: reset less polymost/GL state between model and voxel draws 8405e59be | [Richard Gobeille] Makefile: rework to use exclusion lists instead of inclusion lists for determining which objects to use as part of the build 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). 57bc78d7f | [Richard Gobeille] engine: clipping change: attempt to apply 5f50a454a65c2e8ecd11ad9aedf6623893ce2f6c to sprites and not just walls Something somewhere is still fucked, though (and was before this commit) 29b18757c | [Richard Gobeille] engine: redo vector types to use templates 0ec92adc4 | [Richard Gobeille] VS bullshit 4b8d181e6 | [Richard Gobeille] engine: fix bug where sometimes samplers would still end up bound to texture units after render mode switches 308172f83 | [Richard Gobeille] Duke3d: resolve defects in sound system d54194b61 | [Richard Gobeille] audiolib: add useCallBack parameter to FX_StopSound() and FX_StopAllSounds() (and, by extension, MV_Kill() and MV_KillAllVoices()) 7721f0c02 | [Richard Gobeille] Makefile: enable ASan with FORCEDEBUG=1, not just FORCEDEBUG=2 9976fb4b0 | [Richard Gobeille] engine: small polymost shader optimizations 7d6a28a6b | [Richard Gobeille] engine: polymer shader optimizations 6084e2401 | [Richard Gobeille] engine: render polymer .art skies with materials 5924cd300 | [Richard Gobeille] engine: implement gamma correction as shader instead of via system gamma ramp manipulation 9ae924b98 | [Dino Bollinger] Duke3D: Fix a minor animation bug with SHOTGUNSHELL sprites Found by Nuke.YKT 06150c1f2 | [NY00123] sw/src/game.h: Remove declaration of CommPlayerName, now conflicting with extern "C" declaration from config.h. The "extern" itself isn't needed, but this is a good chance for removal. c6301cdf0 | [Jonathon Fowler] SW: correctly accept a player name on the command line and save to config d496daf54 | [nukeykt] engine: improve clipping of wall sprite replacement voxels 5e62cf90f | [Colin Kinloch] Makefile: fix tarball version numbering
AUTOBUILDS ARE ON PAUSE
![]() |
![]() |
![]() |
PCExhumed (Port of Powerslave & Exhumed) |
NBlood (Port of Blood) |
Rednukem (Port of Redneck Rampage & Duke Nukem 3D / 64) |
Based on the latest DOS version of Exhumed, please beware of floating beta copies of the game as these will not work | Based on the latest DOS version of Blood and compatible with expansions | A highly accurate Duke 3D port, with additional support for reverse-engineered implementaions of Duke Nukem 64, Redneck Rampage and RR:RA |
32-BIT | 64-BIT | 32-BIT | 64-BIT | 32-BIT | 64-BIT |