From 18b9a5886067eb192320e8d4800a9887f1796435 Mon Sep 17 00:00:00 2001 From: chansuke Date: Mon, 3 May 2021 12:55:11 +0900 Subject: [PATCH] disable_actor_blur (#291) * disable_actor_blur * Fix `part->idleAnimations != 0` to `part->idleAnimations != NULL` --- src/182B30.c | 15 ++++++++++- .../nonmatchings/182B30/disable_actor_blur.s | 25 ------------------- 2 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 ver/us/asm/nonmatchings/182B30/disable_actor_blur.s diff --git a/src/182B30.c b/src/182B30.c index 0bc3e98954..2e1e893606 100644 --- a/src/182B30.c +++ b/src/182B30.c @@ -27,7 +27,20 @@ void mtx_mirror_y(Matrix4f arg0) { INCLUDE_ASM(s32, "182B30", enable_actor_blur); -INCLUDE_ASM(s32, "182B30", disable_actor_blur); +void disable_actor_blur(Actor* actor) { + ActorPart* part = actor->partsTable; + + if ((part->idleAnimations != NULL) && !(part->flags & 2)) { + DecorationTable* decorationTable = part->decorationTable; + + if (decorationTable->unk_7DB != 0) { + decorationTable->unk_7DB--; + if (decorationTable->unk_7DB == 0) { + decorationTable->effectType = 0x14; + } + } + } +} INCLUDE_ASM(s32, "182B30", reset_actor_blur); diff --git a/ver/us/asm/nonmatchings/182B30/disable_actor_blur.s b/ver/us/asm/nonmatchings/182B30/disable_actor_blur.s deleted file mode 100644 index 7ab34c05be..0000000000 --- a/ver/us/asm/nonmatchings/182B30/disable_actor_blur.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel disable_actor_blur -/* 182E3C 8025455C 8C8301F4 */ lw $v1, 0x1f4($a0) -/* 182E40 80254560 8C620094 */ lw $v0, 0x94($v1) -/* 182E44 80254564 1040000F */ beqz $v0, .L802545A4 -/* 182E48 80254568 00000000 */ nop -/* 182E4C 8025456C 8C620000 */ lw $v0, ($v1) -/* 182E50 80254570 30420002 */ andi $v0, $v0, 2 -/* 182E54 80254574 1440000B */ bnez $v0, .L802545A4 -/* 182E58 80254578 00000000 */ nop -/* 182E5C 8025457C 8C6400C0 */ lw $a0, 0xc0($v1) -/* 182E60 80254580 808207DB */ lb $v0, 0x7db($a0) -/* 182E64 80254584 908307DB */ lbu $v1, 0x7db($a0) -/* 182E68 80254588 10400006 */ beqz $v0, .L802545A4 -/* 182E6C 8025458C 2462FFFF */ addiu $v0, $v1, -1 -/* 182E70 80254590 A08207DB */ sb $v0, 0x7db($a0) -/* 182E74 80254594 00021600 */ sll $v0, $v0, 0x18 -/* 182E78 80254598 14400002 */ bnez $v0, .L802545A4 -/* 182E7C 8025459C 24020014 */ addiu $v0, $zero, 0x14 -/* 182E80 802545A0 A08208AC */ sb $v0, 0x8ac($a0) -.L802545A4: -/* 182E84 802545A4 03E00008 */ jr $ra -/* 182E88 802545A8 00000000 */ nop