From eb2810449eb757d98f0a3d54407d4129beb2f223 Mon Sep 17 00:00:00 2001 From: Jereth Date: Tue, 14 Oct 2025 03:12:45 +1100 Subject: [PATCH 1/2] Bug fix - when throwing final TD, the empty hand should not show until the throw is complete It appears that lines 1023-1026 may have been added as a temporary hack in commit 0c0ff97a4f43a208538f68e6218589d6d92e9e52 --- TheForceEngine/TFE_DarkForces/weapon.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/TheForceEngine/TFE_DarkForces/weapon.cpp b/TheForceEngine/TFE_DarkForces/weapon.cpp index 5a9ba05ce..0ca46a202 100644 --- a/TheForceEngine/TFE_DarkForces/weapon.cpp +++ b/TheForceEngine/TFE_DarkForces/weapon.cpp @@ -775,7 +775,7 @@ namespace TFE_DarkForces // s_prevWeapon is the weapon we are switching away from. s_weaponAnimState = { - 0, // frame + s_curPlayerWeapon->frame, // frame 30, 40, // startOffsetX, startOffsetY: was 14, 40 -3, -4, // xSpeed, ySpeed 10, s_superCharge ? 1u : 2u // frameCount, ticksPerFrame @@ -1020,10 +1020,6 @@ namespace TFE_DarkForces const u8* atten = RClassic_Fixed::computeLighting(weaponLightingZDist, 0); TextureData* tex = weapon->frames[weapon->frame]; - if (weapon->ammo && *weapon->ammo == 0 && (weapon->ammo == &s_playerInfo.ammoDetonator || weapon->ammo == &s_playerInfo.ammoMine)) - { - tex = s_playerWeaponList[WPN_FIST].frames[0]; - } u32 dispWidth, dispHeight; vfb_getResolution(&dispWidth, &dispHeight); From c8c27748f6a90d9170657d64609bb36d44f6bd01 Mon Sep 17 00:00:00 2001 From: Jereth Date: Tue, 14 Oct 2025 03:14:19 +1100 Subject: [PATCH 2/2] Bug fix - using MAXOUT and POSTAL cheats while mines or TD are selected with no ammo The final else block may have been accidentally missed --- TheForceEngine/TFE_DarkForces/weapon.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TheForceEngine/TFE_DarkForces/weapon.cpp b/TheForceEngine/TFE_DarkForces/weapon.cpp index 0ca46a202..100e6190f 100644 --- a/TheForceEngine/TFE_DarkForces/weapon.cpp +++ b/TheForceEngine/TFE_DarkForces/weapon.cpp @@ -485,6 +485,10 @@ namespace TFE_DarkForces { weapon->frame = 2; } + else + { + weapon->frame = 0; + } } void weapon_computeMatrix(fixed16_16* mtx, angle14_32 pitch, angle14_32 yaw)