NBlood - r12371 - Built: Mon Jul 19 20:53:01 UTC 2021 --- commit 869d85ea10f69b037b51d5aeb5f0232a73379a5a Merge: a1689a4f5 3191b5f41 Author: Evan Ramos Date: Mon Jul 19 15:51:38 2021 -0500 Merge remote-tracking branch 'eduke32/master' commit 3191b5f41670ee9341f0298e155172c0ef760031 Author: sirlemonhead Date: Mon Jul 12 18:18:30 2021 +0100 SW: Scroll through command history in the same order as original release of the game. commit 1a120803e799a905288cf034a5b98354f1e282cb Author: sirlemonhead Date: Mon Jul 12 17:50:28 2021 +0100 SW: Simplify game's command history to remove a bunch of strcpy()s. Also fixes ASAN error. commit 9b7bd5ad77a4ca870d913cc81222e731ea7a8e56 Author: Dino Bollinger Date: Sat Jul 10 18:01:03 2021 +0200 Duke3D: Prevent double allocation of qputs strings inside a switch. Fixes terminx/eduke32#102 commit 2b4fa55fb27a12df023f46e7a0a2050eabf3ac88 Author: sirlemonhead Date: Thu Jul 8 21:25:18 2021 +0100 SW: Prevent invalid array access in drawoverheadmap() commit df7d573e17a865fbd66c494192bdbf19f1eca03b Author: Dino Bollinger Date: Thu Jul 8 09:48:50 2021 +0200 Duke3D: Do not apply crouch speed modifier when shrunk Fixes terminx/eduke32#108 commit 39ac4bc8450cde5e0d63d6f3d0fa1cdf095bdb66 Author: Dino Bollinger Date: Thu Jul 8 18:46:58 2021 +0200 Duke3D: Replace klabs(x) with max(0, x) in overhead sprite computation Fixes terminx/eduke32#139 commit 458cfc8e952f43dc35c77c4d7a472ad512d0377e Author: sirlemonhead Date: Wed Jul 7 21:28:19 2021 +0100 SW: Wrap index to sintable with NORM_ANGLE() in PlayerOnLadder() to prevent overflow. commit 6733535fe04428e32e0ee98e42cd16e5c6b9f7d6 Author: sirlemonhead Date: Wed Jul 7 20:39:29 2021 +0100 SW: Don't allow backspacing on an empty text input buffer commit 73aac5b2dab38a28ec9d81c3f164a96d245aa8e6 Author: Dino Bollinger Date: Mon Jul 5 23:33:34 2021 +0200 Duke3D: Disable midi driver menu items when music is off Changing the values while the music is off is not supposed to be possible. Disable the menu items for consistency. commit b10f9112e1558582358a8a7ef208f830134a0a72 Author: Dino Bollinger Date: Mon Jul 5 22:18:43 2021 +0200 Engine: Fix problems when changing renderer after having seen a mirror If the player saw a mirror at some point while playing in Polymer, his view would get messed up on changing renderer. This fixes that. Fixes terminx/eduke32#49 and terminx/eduke32#50 commit 1c63be27cf75872113b005cb5232b0e04797fe16 Author: Dino Bollinger Date: Tue Jul 6 22:25:30 2021 +0200 Duke3D: Do not spawn the dummyplayer sprite when standing on TROR water Fixes terminx/eduke32#76 and terminx/eduke32#91 commit 1d13a4d4cc1705030be4e764e7cffe8dfe9fe29c Author: Dino Bollinger Date: Tue Jul 6 08:47:29 2021 +0200 Duke3D: Fix bug that prevents active enemies from crushing the player Fixes terminx/eduke32#53 commit 0289282230298c0ded09703319c7815d289a94ee Author: Dino Bollinger Date: Tue Jul 6 16:25:42 2021 +0200 Duke3D: Fix usermap not reloading properly after opening newgame menu Fixes terminx/eduke32#63 commit d89344059c8a98ba68c6290757c617fd70663e48 Author: Dino Bollinger Date: Tue Jul 6 21:55:03 2021 +0200 Duke3D: Fix ST 30 sectors playing the wrong sound after save load Fixes terminx/eduke32#75 commit f4ec044ea0c3b38ee2d992c5e9589e24e850911e Author: Dino Bollinger Date: Tue Jul 6 20:15:43 2021 +0200 Duke3D: Fix GTK window searching wrong path for custom game directories Also made it respect the user_profiles_disabled file. Fixes terminx/eduke32#73 commit 891bbb9276c4ed2d7619b2b8fd3b118ed534854a Author: Dino Bollinger Date: Sat Jul 3 15:38:47 2021 +0200 Alter modeline that causes Vim to complain commit ddb266f0710bb2a35598fc183c5122c4cdb9a081 Author: Dino Bollinger Date: Sat Jul 3 11:40:09 2021 +0200 SW: Clean up boss music code. Remove unnecessary calls and checks commit a29f2436daace535e9059e16e1556cfd15531224 Author: Richard C. Gobeille Date: Thu Jul 1 02:29:41 2021 -0700 mact: don't attempt to decode animation frames at offsets beyond the end of the current page commit 184e64e760bf953ef9c0d18e47695263ef1f1b34 Author: Richard C. Gobeille Date: Wed Jun 30 14:58:14 2021 -0700 Duke3d: make MenuAnimation_t start member uint32_t, remove menu animation reset hacks from demo playback commit 065284b2f9982d042b5a8dd7c26fe7dd33643baa Author: Dino Bollinger Date: Wed Jun 30 18:33:50 2021 +0200 SW: Fix Wangulator crashing on launch commit 65c6a359cd2e6165599ff30fce8b10b3a17468a3 Author: sirlemonhead Date: Wed Jun 30 00:44:40 2021 +0100 SW: When loading a level from the main menu, try play a wave/redbook music track commit a7381d00ce98d6caac33d084877aa7584d785c74 Author: Richard C. Gobeille Date: Wed Jun 30 12:04:27 2021 -0700 engine: revise ae52bec9e6735770c752e9db538e0eb1782a7daa commit 8faeab611a07f707bcab1c9da967a17b55aa9727 Author: Dino Bollinger Date: Wed Jun 30 17:25:27 2021 +0200 Mapster32: log application parameters commit a1fe4ce2147e70d865ee95604beda62a8e2adcf6 Author: Dino Bollinger Date: Wed Jun 30 16:35:37 2021 +0200 Duke3D: Fix RADLOGO not having the sounds of cineov3 This is required for DukeDC's ending sounds to play. Fixes terminx/eduke32#12 commit cd768b4ed0187419604e3eec9655747906666887 Author: Richard C. Gobeille Date: Tue Jun 29 16:41:55 2021 -0700 Duke3d: uncomment DYNTILEREMAP_ENABLE, oops commit f10a3d97201adcab6a6ce9e30f5c773d255f3351 Author: Richard C. Gobeille Date: Tue Jun 29 14:12:24 2021 -0700 Duke3d: rework actor zsum invalidation, skip getzrange for floor sprites in A_CheckNeedZUpdate() Fixes terminx/eduke32#157 commit 87711a7be71386e62fdfebf00f189d0005c1797c Author: Richard C. Gobeille Date: Tue Jun 29 16:04:42 2021 -0700 Duke3d: enable camera smoothing when setting player angles from script Fixes terminx/eduke32#146 commit ad8def49f84c2bbfb7d45a74e94c4d273d588198 Author: Richard C. Gobeille Date: Tue Jun 29 12:42:46 2021 -0700 Duke3d: animate menus independently from totalclock Fixes terminx/eduke32#83 commit 1bc4006f1d1d84411940606f1cfa4b6cb9cc6e94 Author: Richard C. Gobeille Date: Tue Jun 29 12:31:41 2021 -0700 engine: apply 88f90a19 to SDL 1.2 builds commit 307b51de4122c55818263d90eaf0930e81ffef6d Author: Richard C. Gobeille Date: Tue Jun 29 12:30:23 2021 -0700 Duke3d, engine: hijack unused parameter passed to videoShowFrame() A value of -1 now indicates that the GL state should be preserved. This is used to fix terminx/eduke32#159 commit 6144f3be20ce1639b850c31bbfb98163351f7a9b Author: Richard C. Gobeille Date: Tue Jun 29 12:24:54 2021 -0700 engine: fix warnings introduced by e0ee1bfe commit f42e32adb730a1be6f10777b1e54b63f97376c8c Author: Dino Bollinger Date: Tue Jun 29 13:53:41 2021 +0200 Duke3D: Update g_animPtr before and after cutscene loops This will allow all CUTSCENE events to use the ifcutscene command. Before, only EVENT_CUTSCENE for ANM files could use it. commit 8d151022104618a929875d1f3a4fc6a50b0de13f Author: Daniel Gurney Date: Mon Jun 28 23:26:18 2021 +0300 Fix ARM64 Windows build by updating SDL commit 33e98f55a3dba224bedd7ac70e67200a11d7ccc4 Author: sirlemonhead Date: Mon Jun 28 22:52:26 2021 +0100 SW: Set correct user volume when playing non midi music tracks commit d34f542a8b83839e03fed272d34b0baf43c57b1e Author: Richard C. Gobeille Date: Mon Jun 28 23:14:19 2021 -0700 Duke3d: fix stupid typo/copy & paste error commit 08e1ac98b557aa353918f049c718726bf189fc66 Author: Richard C. Gobeille Date: Mon Jun 28 21:10:59 2021 -0700 engine: update to SDL 0c4ac33a on Windows commit 2e8ac3f9cf81a4c84681ef843859c83dfbc72ce9 Author: Richard C. Gobeille Date: Mon Jun 28 20:59:46 2021 -0700 Revert "Duke3d: MASTERSWITCH counting down before activation blocks re-triggering switches" This reverts commit 33d4dc3d3f1ff041491ac61a72076a36dcf4572c. commit 5857f70f189d695b3427fa9be57f4fbca8c72ffe Author: Richard C. Gobeille Date: Mon Jun 28 19:41:24 2021 -0700 engine: fix Polymer rotatesprite texture clamping Fixes terminx/eduke32#150 commit 6ce050b4319bd255e4f7bccdba39857c7340ab52 Author: Richard C. Gobeille Date: Mon Jun 28 13:49:20 2021 -0700 audiolib: replace linear search for voices by handle with a table commit 88f90a193524900ab10ea99795397fe96b843931 Author: Richard C. Gobeille Date: Mon Jun 28 01:55:50 2021 -0700 engine: fix Discord streaming issue Fixes terminx/eduke32#152 commit ae52bec9e6735770c752e9db538e0eb1782a7daa Author: Richard C. Gobeille Date: Mon Jun 28 01:41:46 2021 -0700 engine: remove wrappers around glBindTexture() and glActiveTexture() in favor of explicitly calling polymost_activeTexture() and polymost_bindTexture() This is better for clarity, I think. commit 1d10d93d620551b190cc2c113f076409bc8f2404 Author: Richard C. Gobeille Date: Mon Jun 28 01:38:38 2021 -0700 Remove jwzgles stuff from Visual Studio project commit d3746e924058c75fdeeb1e7d51da59b17983ceb3 Author: Richard C. Gobeille Date: Sun Jun 27 16:11:48 2021 -0700 Duke3d: break from CON while loops on VM_RETURN This should fix terminx/eduke32#16 commit 37da4ebfe555ec3d915cc98ee1561172fd34981c Author: Richard C. Gobeille Date: Sun Jun 27 13:26:04 2021 -0700 engine: add missing check for r_useindexedcolortextures cvar in polymost_usetileshades() Fixes terminx/eduke32#153 commit e0ee1bfe3e69d56b487f6ac6a3a4577aa070b53c Author: Richard C. Gobeille Date: Sat Jun 26 14:25:40 2021 -0700 engine: #ifdef out "POLYMOST2" stuff commit dcdde6cfebd104093cd9a0f598e37b1da5f5fbc3 Author: Richard C. Gobeille Date: Sat Jun 26 01:26:37 2021 -0700 engine: allocate yax_vsp[] on heap according to map requirement commit eb13ca38fc924833e29f8d7a4c63ff377a2e0498 Author: Richard C. Gobeille Date: Sat Jun 26 01:25:17 2021 -0700 engine: fix usage of GrowArray for osdstrings commit 9fcccd073b8f06a1935c7be50d2dd3fe60e7c150 Author: Richard C. Gobeille Date: Sat Jun 26 01:22:56 2021 -0700 engine: fix allocator mismatch in GrowArray commit d4e36c4f8deb0f0a406b7ec36be4db0c9bc40257 Author: Richard C. Gobeille Date: Fri Jun 25 18:41:49 2021 -0700 Update Visual Studio projects Debug is now configured to use AddressSanitizer on 64-bit, and various other build options have been made uniform with each other across all projects. This means 64-bit debug builds built with Visual Studio will only run if the VS ASan dlls are in your PATH, but I believe this is fine as we don't distribute any VS builds. commit bc4358b12f3e331026e481d4b86006bdbfa41954 Author: Richard C. Gobeille Date: Fri Jun 25 17:57:19 2021 -0700 Duke3d: virtual address space bandaid fix I didn't test this. commit 691e3fc19a71d49970343ce33ad0fb5903612601 Author: Richard C. Gobeille Date: Fri Jun 25 02:21:01 2021 -0700 engine: MSVC build fix commit 1c760288c81500cbd119611e8f7d67df36c3129d Author: Richard C. Gobeille Date: Fri Jun 25 01:09:18 2021 -0700 Duke3d: revise dynamic tile mapping commit 180bede4c9520eb99f0865d923ca4e5e1196b598 Author: Richard C. Gobeille Date: Fri Jun 25 01:08:51 2021 -0700 Duke3d: fix overlapping strcpy in startup window commit e8470bd29cb19a4b815bc2bc74e0ac0a8de2a06d Author: Richard C. Gobeille Date: Sun Apr 25 19:36:02 2021 -0700 Duke3d: CON control over player height and other properties You're gonna have to talk to me or read the source for full details on usage, sorry. These are also all still liable to change in future builds, either in name or in functionality. commit 4fdd8dc8c30a05db79fa9fde0d085c0f75210e9e Author: Richard C. Gobeille Date: Thu Apr 22 18:01:21 2021 -0700 Duke3d: per-player gravity control through .gravity member of player struct The default value is 256 (GRAVITATIONALCONSTANT value from USER.CON + 80). commit fc8230b5455c63ad8a93f8cf95ea5b88e4e31237 Author: Richard C. Gobeille Date: Thu Jun 10 11:24:52 2021 -0700 Duke3d: add left and right triggers to controller button setup menu, hide start button commit 37622870d573576f048b6a3fec0362807bed6d53 Author: Richard C. Gobeille Date: Wed Jun 9 13:38:32 2021 -0700 Duke3d: controller hotplug fixes commit 78864da3142c354ee64184584286e1a56c54cfbc Author: Richard C. Gobeille Date: Wed Feb 24 04:21:19 2021 -0800 Duke3d: controller setup menu cleanup This is still technically a work in progress, but it's at the point where it's definitely better than things were before. commit 3b3cd0e0a34c8614f1d89b3f239b41c09233f1a6 Author: Richard C. Gobeille Date: Tue Jun 8 18:49:29 2021 -0700 Duke3d: aim assist for game controllers A helpful side-effect of this commit is that several of the previous changes to how screen re-centering etc work can now be deterministic again, which somewhat fixes demo recording and playback. For now, recording a demo will limit input to the game tickrate like it did in the old days. commit a57a6e1a5b7a4bb80d7a00d73fa4c3f431256382 Author: Richard C. Gobeille Date: Wed Jun 23 23:06:43 2021 -0700 engine: update to SDL 814285d6 on Windows commit 9f75af11197a7735e12d370e791fda8298eb4df9 Author: Richard C. Gobeille Date: Mon Jun 21 19:11:53 2021 -0700 engine: FORCE_INLINE getclipmask() commit d627820304e1604440c21822d74b231fc923f28e Author: Richard C. Gobeille Date: Mon Jun 21 19:11:26 2021 -0700 engine: __fastcall ksqrt(), move ksqrtasm_old() commit d8422c4f155239e094c5b45df09942e904fe20f1 Author: Richard C. Gobeille Date: Sun Jun 20 18:06:12 2021 -0700 engine: remove getkensmessagecrc() It's beyond useless at this point and nobody ever even ported the assembly to C. I left the actual kensmessage string because I didn't want to remove a copyright declaration from the source code. commit 3c908cc578538ea3e64482b4a8c041ae47036858 Author: Richard C. Gobeille Date: Sun Jun 20 16:07:04 2021 -0700 engine: rename clip_nsqrtasm() -> ksqrt_inline() since that's literally what it is This is possibly a good candidate for outright deletion. commit 388457bba9e626e103b0ca3d55181b63f86b2ee1 Author: Richard C. Gobeille Date: Sun Jun 20 15:33:33 2021 -0700 engine: I can think of zero reasons for these to be templates commit 27c3b5ec8b60809656937ec0027fcf079c7870a8 Author: Richard C. Gobeille Date: Sun Jun 20 15:31:35 2021 -0700 engine: don't inline ksqrtasm_old() commit a16687ab145ec9bd9170b942542d8529ee0633ad Author: Richard C. Gobeille Date: Sun Jun 20 15:06:10 2021 -0700 engine: tweak/"optimize" the C version of nsqrtasm() Disassembly of the tweaked version versus the original is very similar, but MSVC doesn't seem to want to inline the original version without forcing it. I tested the performance of the change under GCC using a very large loop and the results were in favor of the tweaked version by a negligible margin. FORCE_INLINE was added after the fact. commit 7d7c1c69cfc082b9de0deb9bbe66d33cc9c10391 Author: Richard C. Gobeille Date: Sun Jun 20 14:25:07 2021 -0700 Duke3d: minor A_GetClipdist() rework This shouldn't have any impact whatsoever on gameplay. The point was simply to eliminate branches that arrive at the same result, and reduce function calls for cases where they aren't needed (i.e. calling A_CheckEnemySprite() for sprites that are STAT_PROJECTILE). commit 814a946260c1e5c329baf01ef1c28fc782019b23 Author: Richard C. Gobeille Date: Wed Jun 16 14:53:12 2021 -0700 Duke3d: address a possible performance issue with the newer swing door changes commit e8f445f215b530b00150ba79ebafd06d6a13333b Author: Richard C. Gobeille Date: Wed Jun 16 13:44:15 2021 -0700 engine: move wallength() helper function from editor into engine commit 93e249fe7b16f3c14a6cad3521e7750bd5cd0a31 Author: Richard C. Gobeille Date: Tue Jun 15 12:03:16 2021 -0700 Duke3d: fix incorrect sound_t struct member type This didn't really affect anything because this functionality isn't exposed to CON yet. commit 4a5e1dbcae168dae7e82c2ca84b0d79832dbeaba Author: Richard C. Gobeille Date: Wed Jun 16 14:59:49 2021 -0700 Duke3d: boost projectile velocity by the velocity of the projectile's owner when PROJECTILE_MOVED is unset This is a hack intended to fix an issue introduced back in SVN r7409, where the reduced speed of a projectile during its first tic (required for fixing the issues with projectiles passing through ledges immediately in front of the player) could inadvertently allow the player to do stuff like SR50 into their own RPGs. commit 8ef01860bf80d0598bcf66a31920c6a3a5002748 Author: Richard C. Gobeille Date: Mon Jun 14 09:26:17 2021 -0700 Duke3d: remove unneeded argument from A_GetClipdist() commit e4edbb17257222256ddb32663dbd70a8c3448223 Author: Richard C. Gobeille Date: Tue Jun 15 12:09:05 2021 -0700 Duke3d: change A_MoveSprite() from taking a ptr to a ref for read-only vector data commit cfe32090aa3be0575e94e5939dee02494d6a6ee6 Author: Richard C. Gobeille Date: Mon Jun 14 09:22:13 2021 -0700 Duke3d: fix hiccup in movement at internal CAMERA1 panning transition points The way this code works is pretty weird. It seems like the movement hiccup here was caused by intentionally skippping the state of the camera where pData[1] == 0, but I can't find anything else in the code that depends on the value of this field for CAMERA1, and fixing the hiccup causes no issues in any of the setups with panning cameras that I looked at for testing. commit 2f920c9c7edec3103837a7a20bf178189306e4d4 Author: Richard C. Gobeille Date: Sun Jun 13 10:40:22 2021 -0700 Duke3d: smooth security camera view angle commit 88f1e53cb5d44b7262d13023352288fe080bacbe Author: Richard C. Gobeille Date: Sat Jun 12 13:12:39 2021 -0700 engine: update SDL to db5cd8c6 on Windows commit b815dca811ad9358666e383c54722c2f98803555 Author: Richard C. Gobeille Date: Fri Feb 26 21:15:20 2021 -0800 Duke3d: improve menu navigation with controller analog stick commit 529fb65c92ba46035f3fd14921d82fb34d589fcc Author: Richard C. Gobeille Date: Wed Jun 9 16:43:36 2021 -0700 Duke3d: fix application of y axis for controllers This shouldn't depend on the variable turning rates imposed by having run mode enabled or not. commit 03f8139413f23c50edd71e6918f8516699e78be8 Author: Richard C. Gobeille Date: Wed Jun 9 17:17:32 2021 -0700 audiolib: don't allow SDL to change the change the playback frequency from what was requested This sounds good in theory, but in practice it can lead to playback rates beyond what is allowed in the menu and beyond what is supported by e.g. libxmp-lite. commit a412a7c8e593cdcfda643e0829ef396f37f86603 Author: Richard C. Gobeille Date: Tue Jun 8 18:39:14 2021 -0700 Duke3d: simplify menu options to reset the controller layout to default, tweak default layout commit 76bc19e2e55023ea5a17c212eab0e1e5db217315 Author: Dino Bollinger Date: Sun Jun 27 20:44:44 2021 +0200 Prevent negative bases for powf in videoSetGamma() Otherwise causes NaN results. Not sure if this algorithm is even doing what it's supposed to do, but this makes the color correction somewhat functional again. commit ec11cbc72e2d68349ee729203e0fafbece356dae Author: sirlemonhead Date: Sat Jun 26 13:58:32 2021 +0100 SW: Play the theme song at the user's specified volume level commit 39e8f1852a9bd967145808d18c7597d47dc8d4a6 Author: Dino Bollinger Date: Wed Jun 23 14:29:32 2021 +0200 SW: Fix commandline parameter inconsistencies and errors. commit 45e167f6db7d1cab731fd0ca49d11d09b575e6f4 Author: Dino Bollinger Date: Sat Jun 12 14:21:41 2021 +0200 Duke3d: Fix typo in G_CheckActivatorMotion() commit 189ed293012c8220d44b7ca53c0c8b3e0a586ae6 Author: Richard C. Gobeille Date: Sun Jun 6 14:56:32 2021 -0700 Duke3d: fix warnings in EDUKE32_STANDALONE build commit 7784da28da11aed1a1e732a50ff77dbd7786a4ad Author: Richard C. Gobeille Date: Sun Jun 6 14:46:37 2021 -0700 Amend library build instructions to specify --disable-libc for SDL and remove instructions for SDL_mixer commit b0b2ac9bfa6649d336422184482bf22f211ff820 Author: Richard C. Gobeille Date: Sun Jun 6 14:41:42 2021 -0700 engine: update SDL to e13b43ac on Windows commit dec2f8b7011a77f496a9f6e1b12b660f6720a921 Author: Richard C. Gobeille Date: Sun Jun 6 14:05:17 2021 -0700 Duke3d: move player jumping_counter check commit 33d4dc3d3f1ff041491ac61a72076a36dcf4572c Author: Richard C. Gobeille Date: Thu May 13 15:30:18 2021 -0700 Duke3d: MASTERSWITCH counting down before activation blocks re-triggering switches commit 97620ffbc7194484d9e7c9fc6cb21c2660d78fa0 Author: Richard C. Gobeille Date: Wed Apr 28 22:37:53 2021 -0700 Duke3d: remove STATIC prefix from the CON dynamic label preprocessor definitions because it's ugly This also adds bounds checking to the DYNAMICSOUNDMAP and DYNAMICTILEMAP macros, and reduces the size of the corresponding arrays to something more reasonable. commit b4e32467f53ab0f34c3e5366bf39ffd595132631 Author: Richard C. Gobeille Date: Tue Apr 27 02:51:45 2021 -0700 Duke3d: preprocessor definitions for extbits, bump extbits up to uint32_t commit c7b180ecf490ba42a77cc10473426473ca28af73 Author: Richard C. Gobeille Date: Thu Apr 22 02:39:43 2021 -0700 Duke3d: preprocessor definitions for a couple more hard-coded constants commit 9f7b817b9317881472b77716fcb3beadd195b468 Author: Richard C. Gobeille Date: Thu Apr 22 02:32:48 2021 -0700 Duke3d: fix a minor refactoring error in the player falling code I don't think this broke anything, but I noticed it when working on the player height stuff. commit bcc1cb0db784aaa094125ccc3c8f65605d6456c5 Author: Richard C. Gobeille Date: Fri May 28 16:53:13 2021 -0700 engine: update to SDL 2af3f64e on Windows commit da291bb1e38a94b0dd10879f2bae968bb615dfb9 Author: Richard C. Gobeille Date: Fri May 28 15:04:56 2021 -0700 Update gamecontrollerdb.txt commit bad1649c00609ccba816de5d5b32a1cd105ad348 Author: Richard C. Gobeille Date: Tue May 25 20:03:53 2021 -0700 Duke3d: revise 06d30fafbcac5fb3b3e9b0ea74bf2906cabc7567 commit 15b657827905d544d8c2327eb1793d80e2be3bd6 Author: Richard C. Gobeille Date: Tue May 25 14:01:31 2021 -0700 engine: move crc16 functions into main engine definitions commit 52d44555591da6bd26ac03011abe76e39b6c5d4e Author: Richard C. Gobeille Date: Thu May 13 15:28:59 2021 -0700 editor: artdump tile range support commit 36416d20d117ae214aff8dce506303591054245a Author: Richard C. Gobeille Date: Tue May 11 03:01:59 2021 -0700 engine: fix sloped sprite drawing error commit fa750c6dbeda6c6cfb230b38e9f5ad4776d40bd0 Author: Richard C. Gobeille Date: Mon May 10 07:56:45 2021 -0700 Duke3d: expose gotsector[] to CON for checking to see if a particular sector was drawn during the last frame commit f66d2f34e05c839f071e6adca2e6291433857415 Author: Richard C. Gobeille Date: Mon May 10 07:56:35 2021 -0700 engine: update gotsector[] in polymer_drawsector() commit f6ee47e2b2c3134255996184b00c5fd271096e63 Author: Richard C. Gobeille Date: Tue Mar 30 23:50:08 2021 -0700 Duke3d: first pass at implementing rotatesprite position interpolation for the weapons and hands and whatnot commit f898677f2e7f5f52aa0b83db234516f0bd62e61f Author: Richard C. Gobeille Date: Tue May 4 14:40:21 2021 -0700 engine: RS_FORCELERP overrides flags check commit b924fabe001f97df50357fe16b276ef3da506ff5 Author: Richard C. Gobeille Date: Tue Mar 30 23:26:38 2021 -0700 engine: basic support for rotatesprite position interpolation This is only really in the engine to avoid codedup across all supported games. commit 8f635826075fde95a0c7d263c2c73c4752357455 Author: Richard C. Gobeille Date: Mon May 3 11:38:38 2021 -0700 Mapster32: fix drawing bug with highlighted sectors in 2d mode commit 55d3b5a280ec5c832e11e7ccddbfc1faa295fd4e Author: Richard C. Gobeille Date: Tue Apr 27 03:00:28 2021 -0700 Duke3d: update SE enums commit fbf4ab5941b117b856c414022bd6c4a337cc6b43 Author: Richard C. Gobeille Date: Tue Apr 27 04:01:26 2021 -0700 Duke3d: ACTIVATOR/MASTERSWITCH parity for SE2, SE3, SE18, SE21, SE31, SE32, and SE36 commit 6111ca311d341bbbfd17cfedc780721ecf72860b Author: Richard C. Gobeille Date: Tue Apr 27 03:59:37 2021 -0700 Duke3d: remove added distance check from sound playback This fixes a longstanding bug with the TELEPORTER sound. Unfortunately, I no longer remember what problem this distance check was added to address. commit 645941b8fee2477e444aeacf20b76e2dc4c8df9c Author: Richard C. Gobeille Date: Tue Apr 27 02:59:29 2021 -0700 Duke3d: change goofy picnum check I didn't like commit ec133d2c23b8ec003bf9b0769ec27db029049e69 Author: Richard C. Gobeille Date: Tue Apr 27 02:56:24 2021 -0700 Duke3d: pal 23 MASTERSWITCH repeat activation commit ab07a4d3a79493249234d2a8e13e2eca93ebef28 Author: Richard C. Gobeille Date: Fri Feb 26 14:33:15 2021 -0800 engine: force feedback support for SDL backend This is most of the work to support force feedback (rumble) for controllers, but it isn't hooked up to anything yet. Your controller will rumble once during game startup. commit 0578f900391713967e094fd00b1e810ce7d9c237 Author: Richard C. Gobeille Date: Thu Apr 22 02:26:42 2021 -0700 Duke3d: reclaim a ridiculous amount of wasted space in the player struct This converts the storage for LOOGIE sprite coordinates to vec2_16_t and reduces the storage to 6 sets of coordinates, the max the game uses. commit c02417145369a28c0a646eb2bdb02196076f5694 Author: Richard C. Gobeille Date: Wed Feb 24 04:16:30 2021 -0800 Duke3d: experimental game controller tweak to level the player's view while moving commit c435ccbf562b85ad76fc6e344b0c93898ea1aa87 Author: Richard C. Gobeille Date: Wed Feb 24 01:34:33 2021 -0800 Duke3d: experimental game controller tweak to weight aiming movement toward whichever axis has the highest input Enable with the 'in_joyweight' cvar. Values are 1-10, 0 for disabled. commit 07ac4ecc4ecb0301a99ae9fe7116f16c9d40b988 Author: Richard C. Gobeille Date: Fri Mar 5 22:22:21 2021 -0800 engine: print game controller s/n to log when initializing controller commit 9221df25d56d61c390d5b51b9e7bf92fbc713ffe Author: Richard C. Gobeille Date: Tue Mar 2 14:20:23 2021 -0800 mact: minor formatting/cleanup commit cc7d7b21dfab83d94de7751f46f94da1f319fbd3 Author: Richard C. Gobeille Date: Sun Mar 7 18:09:19 2021 -0800 Duke3d: hide buttons missing from the current controller in the controller setup menu commit 1c9f53685420fe137abdc74eba1a2efa9ae2e7ae Author: Richard Gobeille Date: Wed Aug 14 14:26:53 2019 +0000 engine: game controller hotplug support commit de0ed7125954b70b5026c55457c128a74bebe96a Author: Richard C. Gobeille Date: Tue Feb 23 23:49:50 2021 -0800 Duke3d: don't show button double press options for controllers in the menu The support will remain internally, but these aren't useful for the vast majority of users using modern controllers, serving only to overwhelm them with options that are of limited use. This has the bonus of letting the entirety of the standard Xbox controller's buttons fit on one screen without scrolling. commit ad6bcb7d505f2cc51a874719c1a309b629432fb9 Author: Richard C. Gobeille Date: Sun Mar 7 18:08:34 2021 -0800 engine: add joyHasButton() function to determine whether a controller has a particular button or not This is needed because not all controllers supported by SDL's game controller API support all buttons exposed by said API, leaving gaps between valid button indexes. commit 3cd951d7fd95d6c313fafdb15f7a4f11665076bc Author: Richard C. Gobeille Date: Wed Feb 24 01:29:11 2021 -0800 Duke3d: reduce default joystick dead zone commit d58318a39a67bc47d6df22eb779aa7ea7581c0c4 Author: Richard C. Gobeille Date: Wed Feb 24 04:17:47 2021 -0800 mact: double MAXCONTROLVALUE to effectively increase the max controller axis sensitivity commit b2ed09c8a590a5ec2682b609f7ee5cb4c7f627b9 Author: Richard C. Gobeille Date: Fri Feb 26 14:21:42 2021 -0800 Duke3d: useless cleanup change to A_DoProjectileEffects() commit 6cbbf2d9102e08487c3826a70057376bff9c52ee Author: Richard C. Gobeille Date: Wed Feb 24 04:19:32 2021 -0800 Duke3d: increase default scale/sensitivity of the x axis on the right analog stick commit 7f8532c26a0fca2bd63126d7be7cec94b4020713 Author: Richard C. Gobeille Date: Tue Feb 23 20:47:48 2021 -0800 Duke3d: fix inconsistent controller analog stick input with fluctuating framerate commit aba6343b873a464f9e8d212cf20aac96cfdb3441 Author: Richard C. Gobeille Date: Tue Feb 23 21:28:17 2021 -0800 engine: add user-friendly names for the rest of the controller buttons exposed by SDL 2.0.14 commit c974c5cfbbcc696e4e8118ce4d9dd3e0f1144e65 Author: Richard C. Gobeille Date: Tue Feb 23 22:09:33 2021 -0800 engine: cap joystick .numAxes and .numButtons to the highest index actually valid for the current controller Since there's no function to just return the number of valid axes and buttons, I suspect SDL expects us to keep track of which indexes are valid ourselves as the range of valid values may not be contiguous. We aren't doing that yet. commit 9326d7a3251c09c14296a0de8abbf705c447189a Author: Richard C. Gobeille Date: Sat Feb 20 00:23:47 2021 -0800 Duke3d: add nullptr checks for joyGetName() return values commit e5f900e9e0ad496ea11113e75b5c47a90d928b8c Author: Richard C. Gobeille Date: Sat Feb 20 00:21:45 2021 -0800 engine: don't return NULL in joyGetName() for valid axes and buttons Instead, return SDL_GameControllerGetStringForAxis()/SDL_GameControllerStringForButton() for axis and button indexes beyond what is provided by axisStrings[]/buttonStrings[]. commit 115f7515800529d88d1f0f59b97238fb5b44b100 Author: Richard C. Gobeille Date: Fri Jan 22 17:16:38 2021 -0800 engine: update to SDL 2.0.14 on Windows The ARM64 Windows libraries still need a rebuild. commit a3dbdea4ae65a2756df13d58bdc80a80ee0c5a3c Author: Richard C. Gobeille Date: Tue Apr 20 15:35:11 2021 -0700 Duke3d: revise a359877b2a01182f06e1db910c660a654a0727a2 commit 83278aecfd0701f16d77fb7af7b671d8ba28e6f9 Author: Richard C. Gobeille Date: Wed Apr 7 01:56:21 2021 -0700 engine: vector type equality operators commit 7ee31baafc29597ee603b74f54fb79102f93d640 Author: Richard C. Gobeille Date: Wed Apr 7 15:46:00 2021 -0700 engine: expand "toggle" console command to also work for cycling through a cvar's allowed range commit 50f2590b47b8d95f0c6cb3fafbf75537f340ab62 Author: Richard C. Gobeille Date: Thu Apr 8 19:51:17 2021 -0700 Duke3d: remove extraneous actor bpos updates These sprites are covered by G_RecordOldSpritePos(). commit 186470142622c9c1034277ec91b8ccea7a4e137d Author: Richard C. Gobeille Date: Wed Mar 31 00:24:29 2021 -0700 Duke3d: fix loogie display bug commit 8e28ea25475ed9af5e2050cc93a1c1097584ec4b Author: Richard C. Gobeille Date: Fri Feb 26 17:01:31 2021 -0800 Duke3d: fix mouse input regression commit 0072a8ce8f3d6c24c54d733e1b3ea0db3f2f399c Author: Richard C. Gobeille Date: Tue Feb 23 23:45:41 2021 -0800 Duke3d: this isn't necessary because these can never return null... commit 97445542a7ba92e717eda2a28e5f7998bbd33de1 Author: Richard C. Gobeille Date: Tue Feb 23 23:24:00 2021 -0800 Duke3d: sort menu mouse button setup entries differently and throw the data into a struct commit b1629dc7a830242fca3243371f6c9de71c81b879 Author: Richard C. Gobeille Date: Fri Jan 22 17:08:44 2021 -0800 engine: slightly simplify texcache_calcid() It's still terrible. commit 6e87c186b68942ccc570394f5d2c85485f52c519 Author: Richard C. Gobeille Date: Wed Feb 17 20:41:37 2021 -0800 engine: update lz4 to a8e888774a5fd2563e6e085e7274465175696476 commit bb429e8f283aa12b341b43ddd2c92978cc0f9c4a Author: Richard C. Gobeille Date: Mon Jan 18 19:30:59 2021 -0800 editor: clamp m32script line drawing color range to 255 instead of 15 commit c9503fc496ce69d7aeb8fa3282477a60672bcbfb Author: Richard C. Gobeille Date: Mon Jan 18 19:29:50 2021 -0800 editor: handle negative color indexes for m32script printext16 the same as the line drawing commands commit 2363635c254b7643fe53f2ed380d662c74f82997 Author: Richard C. Gobeille Date: Tue Jan 19 01:00:46 2021 -0800 engine: bump MAXYDIM to 4320 and fix two marginally related assertions in dorotatesprite() Note that MAXXDIM and MAXYDIM only really control which video modes will be added to the list of available modes found in the startup window and in-game menu, and that the engine itself hasn't had an arbitrary limit imposed on which resolutions are actually supported for a while now. commit 6c1e7f6feaf403e850f7535479a3836d86d102d0 Author: Richard C. Gobeille Date: Wed Jan 27 03:16:35 2021 -0800 Always pass -latomic when linking on Linux, no longer conditional on IMPLICIT_ARCH commit d7bf4d129169adf4ae24024ca15911a2d969d70c Author: Richard C. Gobeille Date: Fri Feb 19 14:55:23 2021 -0800 engine: print warning to console when loading maps that contain extra data appended to the end of the file I think TekWar is the only game that did this, but it's worth detecting since it means even simply re-saving those maps without purposeful changes will break them. commit 44164e5910ef3b0336daeb5dc99742077d43a2a9 Author: Richard C. Gobeille Date: Fri Mar 5 20:46:57 2021 -0800 engine: fix backwards EDUKE32_NO_XINPUT getenv check... commit ae004ec701c3c5c81681c108c758ff5c21168220 Author: Richard C. Gobeille Date: Mon Mar 8 15:32:38 2021 -0800 Duke3d: add ZOFFSET7 preprocessor definition for another hard-coded height offset commit fa0c33eeb62f92d112b22a8f8896d2c63c6c4860 Author: Richard C. Gobeille Date: Tue Mar 16 03:28:53 2021 -0700 Duke3d: demo recording crash fix Note that this does not fix the player input issue. commit fdafd724e1df82ca425356dd2c3bff0002c13676 Author: Richard C. Gobeille Date: Fri Mar 26 12:59:31 2021 -0700 Duke3d: SE_11_SWINGING_DOOR improvements commit 2207d1f34e6ae1ce2694c9b3e5e444c972a35947 Author: Richard C. Gobeille Date: Thu Mar 25 18:12:58 2021 -0700 engine: default value for last argument to addclipline() commit 7974b542837921141e0b294a46060de4daac2485 Author: Richard C. Gobeille Date: Thu Mar 25 18:11:14 2021 -0700 engine: change first argument passed to clipinsidebox() to pass by value instead of a ptr, remove separate clipinsidebox() implementation in favor of clipinsideboxline() commit 71abac33efff3822225d79f001d79658384d87c5 Author: Richard C. Gobeille Date: Thu Mar 25 18:06:45 2021 -0700 engine: fix clipping issue where the player could get squished between a 2-sided blocking wall sprite and a wall in rare instances commit 438238474b4397771c5eef50c7c716ce937d5481 Author: Richard C. Gobeille Date: Fri Mar 19 07:33:59 2021 -0700 engine: don't allow pushmove() to push anything out of bounds commit b1f4766426443af17cb475098bc557b9419ce805 Author: Richard C. Gobeille Date: Fri Mar 19 07:15:56 2021 -0700 editor: the VS debugger says this is used uninitialized but it's not Shut up, VS debugger. commit 7225643e3646b3781bc8c1030310f6761dda67d7 Author: Jordon Moss Date: Sun Apr 4 16:30:27 2021 -0300 Fix undefined behavior/potential OOB access in ST_21_FLOOR_DOOR. g_AnimateGoal does not take a sector number, it takes an animation index, and caps at 1024, not 4096. commit 68a1148547ab886f2e96e22dce24a1c26bb01baf Author: Jordon Moss Date: Sun Apr 4 16:25:09 2021 -0300 Added seed_krand(int32_t* seed), a function for performing RNG that reads from and writes to a custom seed pointer. commit c38987bbb0f2a56f8e914fe6c086087050c80901 Author: Jordon Moss Date: Tue Feb 2 05:23:45 2021 -0400 Move S_DefineSound, S_DefineMusic, and S_DefineAudioIfSupported out of game.cpp and into sounds.cpp, and made CON_DEFINESOUND use S_DefineSound, reducing code duplication. commit 2d6473e4f62029976460878c7ffa459bda5e07f3 Author: Dino Bollinger Date: Wed Mar 17 10:27:30 2021 +0100 Duke3D: Fix default SE26 speed if no GPSPEED tile is present.