summaryrefslogtreecommitdiff
path: root/src/engine/objects/Thwomp.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-03-05 16:52:14 -0700
committerGitHub <noreply@github.com>2026-03-05 16:52:14 -0700
commit376087be692801e8e2c7fd145fbfdfd720cdea16 (patch)
tree27447311c1e5cd7a18dcee4157a218671eebb0ed /src/engine/objects/Thwomp.cpp
parent000c47e6100770a634fa01a1457c28ca8e2b860e (diff)
Fix Thwomp Collision and Better Interp Tagging for Actors (#665)
* Update actors.c * Update actors.c * actor * Fix bounding box * More interp fix * Update KoopaTroopaBeach.cpp * Update Thwomp.cpp * Update actors.c * Update render.inc.c * Update render.inc.c
Diffstat (limited to 'src/engine/objects/Thwomp.cpp')
-rw-r--r--src/engine/objects/Thwomp.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/engine/objects/Thwomp.cpp b/src/engine/objects/Thwomp.cpp
index 2a19ec7fd..054d8d534 100644
--- a/src/engine/objects/Thwomp.cpp
+++ b/src/engine/objects/Thwomp.cpp
@@ -146,8 +146,10 @@ void OThwomp::Tick60fps() { // func_80081210
player = gPlayerOne;
for (var_s4 = 0; var_s4 < NUM_PLAYERS; var_s4++, player++) {
- player->tyres[FRONT_LEFT].unk_14 &= ~3;
- player->unk_046 &= ~0x0006;
+ if (_idx == 0) { // Clear only once per frame
+ player->tyres[FRONT_LEFT].unk_14 &= ~3;
+ player->unk_046 &= ~0x0006;
+ }
if (!(player->effects & BOO_EFFECT)) {
OThwomp::func_80080B28(_objectIndex, var_s4);
@@ -666,7 +668,7 @@ void OThwomp::func_80080B28(s32 objectIndex, s32 playerId) {
}
} else if ((temp_f0 <= 17.5) && (func_80072320(objectIndex, 1) != 0) &&
(is_within_horizontal_distance_of_player(objectIndex, player,
- (player->speed * 0.5) + BoundingBoxSize) != 0)) {
+ (player->speed * 0.5) + gObjectList[objectIndex].boundingBoxSize) != 0)) {
if ((player->type & PLAYER_EXISTS) && !(player->type & PLAYER_INVISIBLE_OR_BOMB)) {
if (is_obj_flag_status_active(objectIndex, 0x04000000) != 0) {
func_80072180();