diff --git a/asm/nonmatchings/code_190B20/func_802673E4.s b/asm/nonmatchings/code_190B20/func_802673E4.s deleted file mode 100644 index 3c113f58f4..0000000000 --- a/asm/nonmatchings/code_190B20/func_802673E4.s +++ /dev/null @@ -1,32 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802673E4 -/* 195CC4 802673E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 195CC8 802673E8 AFB00010 */ sw $s0, 0x10($sp) -/* 195CCC 802673EC 00A0802D */ daddu $s0, $a1, $zero -/* 195CD0 802673F0 2403FFFB */ addiu $v1, $zero, -5 -/* 195CD4 802673F4 0000202D */ daddu $a0, $zero, $zero -/* 195CD8 802673F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 195CDC 802673FC 8E020000 */ lw $v0, ($s0) -/* 195CE0 80267400 8E050058 */ lw $a1, 0x58($s0) -/* 195CE4 80267404 8E06005C */ lw $a2, 0x5c($s0) -/* 195CE8 80267408 8E070060 */ lw $a3, 0x60($s0) -/* 195CEC 8026740C 00431024 */ and $v0, $v0, $v1 -/* 195CF0 80267410 0C044898 */ jal create_shadow_type -/* 195CF4 80267414 AE020000 */ sw $v0, ($s0) -/* 195CF8 80267418 AE02009C */ sw $v0, 0x9c($s0) -/* 195CFC 8026741C 92020072 */ lbu $v0, 0x72($s0) -/* 195D00 80267420 3C014038 */ lui $at, 0x4038 -/* 195D04 80267424 44811800 */ mtc1 $at, $f3 -/* 195D08 80267428 44801000 */ mtc1 $zero, $f2 -/* 195D0C 8026742C 44820000 */ mtc1 $v0, $f0 -/* 195D10 80267430 00000000 */ nop -/* 195D14 80267434 46800021 */ cvt.d.w $f0, $f0 -/* 195D18 80267438 46220003 */ div.d $f0, $f0, $f2 -/* 195D1C 8026743C 46200020 */ cvt.s.d $f0, $f0 -/* 195D20 80267440 E60000A0 */ swc1 $f0, 0xa0($s0) -/* 195D24 80267444 8FBF0014 */ lw $ra, 0x14($sp) -/* 195D28 80267448 8FB00010 */ lw $s0, 0x10($sp) -/* 195D2C 8026744C 03E00008 */ jr $ra -/* 195D30 80267450 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/code_190B20.c b/src/code_190B20.c index 68748bae45..366b4f4092 100644 --- a/src/code_190B20.c +++ b/src/code_190B20.c @@ -181,7 +181,11 @@ void remove_part_shadow(s32 actorId, s32 partIndex) { func_80112328(part->shadow); } -INCLUDE_ASM(s32, "code_190B20", func_802673E4); +void create_part_shadow_by_ptr(UNK_TYPE unused, ActorPart* part) { + part->flags &= ~4; + part->shadow = create_shadow_type(0, part->currentPos.x, part->currentPos.y, part->currentPos.z); + part->shadowScale = part->size[0] / 24.0; +} INCLUDE_ASM(s32, "code_190B20", remove_player_buffs); diff --git a/src/code_190B20.h b/src/code_190B20.h index 232873b0a7..c295e25345 100644 --- a/src/code_190B20.h +++ b/src/code_190B20.h @@ -18,5 +18,6 @@ s32 heroes_is_ability_active(Actor* actor, Ability ability); void create_part_shadow(s32 actorId, s32 partIndex); void remove_part_shadow(s32 actorId, s32 partIndex); +void create_part_shadow_by_ptr(UNK_TYPE unused, ActorPart* part); #endif diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index cfe9b9120e..eb81c3588d 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -1436,6 +1436,7 @@ remove_item_entity_by_index;0x801339FC remove_item_entity_by_reference;0x80133930 remove_part_decoration;0x80267218 remove_part_shadow;0x802673A0 +create_part_shadow_by_ptr;0x802673E4 remove_player_buffs;0x80267454 render_curtains;0x8002BA80 render_dynamic_entities;0x80123470