This commit is contained in:
dark-samus 2020-11-08 15:23:39 -05:00
parent 783f0a2f83
commit 1e70aa7667
14 changed files with 100 additions and 322 deletions

View File

@ -1,41 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel entity_init_BlueSwitch
/* 103C00 802E2380 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 103C04 802E2384 AFB00010 */ sw $s0, 0x10($sp)
/* 103C08 802E2388 0080802D */ daddu $s0, $a0, $zero
/* 103C0C 802E238C AFBF0018 */ sw $ra, 0x18($sp)
/* 103C10 802E2390 AFB10014 */ sw $s1, 0x14($sp)
/* 103C14 802E2394 0C0B88D3 */ jal func_802E234C
/* 103C18 802E2398 8E110040 */ lw $s1, 0x40($s0)
/* 103C1C 802E239C 3C038016 */ lui $v1, 0x8016
/* 103C20 802E23A0 8C63C7D0 */ lw $v1, -0x3830($v1)
/* 103C24 802E23A4 24020002 */ addiu $v0, $zero, 2
/* 103C28 802E23A8 14620005 */ bne $v1, $v0, .L802E23C0
/* 103C2C 802E23AC 24020001 */ addiu $v0, $zero, 1
/* 103C30 802E23B0 3C01802F */ lui $at, 0x802f
/* 103C34 802E23B4 AC30B3A0 */ sw $s0, -0x4c60($at)
/* 103C38 802E23B8 080B88FD */ j .L802E23F4
/* 103C3C 802E23BC 00000000 */ nop
.L802E23C0:
/* 103C40 802E23C0 1462000A */ bne $v1, $v0, .L802E23EC
/* 103C44 802E23C4 00000000 */ nop
/* 103C48 802E23C8 3C02802F */ lui $v0, 0x802f
/* 103C4C 802E23CC 8C42B3A0 */ lw $v0, -0x4c60($v0)
/* 103C50 802E23D0 10400008 */ beqz $v0, .L802E23F4
/* 103C54 802E23D4 00000000 */ nop
/* 103C58 802E23D8 AE220028 */ sw $v0, 0x28($s1)
/* 103C5C 802E23DC 8E020000 */ lw $v0, ($s0)
/* 103C60 802E23E0 34420001 */ ori $v0, $v0, 1
/* 103C64 802E23E4 080B88FD */ j .L802E23F4
/* 103C68 802E23E8 AE020000 */ sw $v0, ($s0)
.L802E23EC:
/* 103C6C 802E23EC 3C01802F */ lui $at, 0x802f
/* 103C70 802E23F0 AC20B3A0 */ sw $zero, -0x4c60($at)
.L802E23F4:
/* 103C74 802E23F4 8FBF0018 */ lw $ra, 0x18($sp)
/* 103C78 802E23F8 8FB10014 */ lw $s1, 0x14($sp)
/* 103C7C 802E23FC 8FB00010 */ lw $s0, 0x10($sp)
/* 103C80 802E2400 03E00008 */ jr $ra
/* 103C84 802E2404 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel entity_init_HugeBlueSwitch
/* 103C88 802E2408 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 103C8C 802E240C AFB00010 */ sw $s0, 0x10($sp)
/* 103C90 802E2410 AFBF0014 */ sw $ra, 0x14($sp)
/* 103C94 802E2414 0C0B88D3 */ jal func_802E234C
/* 103C98 802E2418 0080802D */ daddu $s0, $a0, $zero
/* 103C9C 802E241C 3C014040 */ lui $at, 0x4040
/* 103CA0 802E2420 44810000 */ mtc1 $at, $f0
/* 103CA4 802E2424 8E020040 */ lw $v0, 0x40($s0)
/* 103CA8 802E2428 E6000054 */ swc1 $f0, 0x54($s0)
/* 103CAC 802E242C E6000058 */ swc1 $f0, 0x58($s0)
/* 103CB0 802E2430 E600005C */ swc1 $f0, 0x5c($s0)
/* 103CB4 802E2434 E4400014 */ swc1 $f0, 0x14($v0)
/* 103CB8 802E2438 E4400018 */ swc1 $f0, 0x18($v0)
/* 103CBC 802E243C E440001C */ swc1 $f0, 0x1c($v0)
/* 103CC0 802E2440 8FBF0014 */ lw $ra, 0x14($sp)
/* 103CC4 802E2444 8FB00010 */ lw $s0, 0x10($sp)
/* 103CC8 802E2448 03E00008 */ jr $ra
/* 103CCC 802E244C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1400
/* 102C80 802E1400 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102C84 802E1404 AFBF0014 */ sw $ra, 0x14($sp)
/* 102C88 802E1408 AFB00010 */ sw $s0, 0x10($sp)
/* 102C8C 802E140C 90820006 */ lbu $v0, 6($a0)
/* 102C90 802E1410 8C900040 */ lw $s0, 0x40($a0)
/* 102C94 802E1414 30420001 */ andi $v0, $v0, 1
/* 102C98 802E1418 1040000D */ beqz $v0, .L802E1450
/* 102C9C 802E141C 00000000 */ nop
/* 102CA0 802E1420 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 102CA4 802E1424 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 102CA8 802E1428 804300B4 */ lb $v1, 0xb4($v0)
/* 102CAC 802E142C 2402000E */ addiu $v0, $zero, 0xe
/* 102CB0 802E1430 10620003 */ beq $v1, $v0, .L802E1440
/* 102CB4 802E1434 24020010 */ addiu $v0, $zero, 0x10
/* 102CB8 802E1438 14620005 */ bne $v1, $v0, .L802E1450
/* 102CBC 802E143C 00000000 */ nop
.L802E1440:
/* 102CC0 802E1440 0C043F5A */ jal func_8010FD68
/* 102CC4 802E1444 00000000 */ nop
/* 102CC8 802E1448 24020008 */ addiu $v0, $zero, 8
/* 102CCC 802E144C A6020022 */ sh $v0, 0x22($s0)
.L802E1450:
/* 102CD0 802E1450 8FBF0014 */ lw $ra, 0x14($sp)
/* 102CD4 802E1454 8FB00010 */ lw $s0, 0x10($sp)
/* 102CD8 802E1458 03E00008 */ jr $ra
/* 102CDC 802E145C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1460
/* 102CE0 802E1460 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 102CE4 802E1464 AFB10014 */ sw $s1, 0x14($sp)
/* 102CE8 802E1468 0080882D */ daddu $s1, $a0, $zero
/* 102CEC 802E146C AFBF0018 */ sw $ra, 0x18($sp)
/* 102CF0 802E1470 AFB00010 */ sw $s0, 0x10($sp)
/* 102CF4 802E1474 8E300040 */ lw $s0, 0x40($s1)
/* 102CF8 802E1478 96020022 */ lhu $v0, 0x22($s0)
/* 102CFC 802E147C 2443FFFF */ addiu $v1, $v0, -1
/* 102D00 802E1480 3042FFFF */ andi $v0, $v0, 0xffff
/* 102D04 802E1484 10400009 */ beqz $v0, .L802E14AC
/* 102D08 802E1488 A6030022 */ sh $v1, 0x22($s0)
/* 102D0C 802E148C C620004C */ lwc1 $f0, 0x4c($s1)
/* 102D10 802E1490 3C01802F */ lui $at, 0x802f
/* 102D14 802E1494 D422B000 */ ldc1 $f2, -0x5000($at)
/* 102D18 802E1498 46000021 */ cvt.d.s $f0, $f0
/* 102D1C 802E149C 46220001 */ sub.d $f0, $f0, $f2
/* 102D20 802E14A0 46200020 */ cvt.s.d $f0, $f0
/* 102D24 802E14A4 080B8531 */ j .L802E14C4
/* 102D28 802E14A8 E620004C */ swc1 $f0, 0x4c($s1)
.L802E14AC:
/* 102D2C 802E14AC 0C04419E */ jal func_80110678
/* 102D30 802E14B0 0220202D */ daddu $a0, $s1, $zero
/* 102D34 802E14B4 0C043F5A */ jal func_8010FD68
/* 102D38 802E14B8 0220202D */ daddu $a0, $s1, $zero
/* 102D3C 802E14BC 24020008 */ addiu $v0, $zero, 8
/* 102D40 802E14C0 A6020022 */ sh $v0, 0x22($s0)
.L802E14C4:
/* 102D44 802E14C4 8FBF0018 */ lw $ra, 0x18($sp)
/* 102D48 802E14C8 8FB10014 */ lw $s1, 0x14($sp)
/* 102D4C 802E14CC 8FB00010 */ lw $s0, 0x10($sp)
/* 102D50 802E14D0 03E00008 */ jr $ra
/* 102D54 802E14D4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,31 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E14D8
/* 102D58 802E14D8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102D5C 802E14DC AFBF0014 */ sw $ra, 0x14($sp)
/* 102D60 802E14E0 AFB00010 */ sw $s0, 0x10($sp)
/* 102D64 802E14E4 8C900040 */ lw $s0, 0x40($a0)
/* 102D68 802E14E8 96020022 */ lhu $v0, 0x22($s0)
/* 102D6C 802E14EC 2443FFFF */ addiu $v1, $v0, -1
/* 102D70 802E14F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 102D74 802E14F4 10400009 */ beqz $v0, .L802E151C
/* 102D78 802E14F8 A6030022 */ sh $v1, 0x22($s0)
/* 102D7C 802E14FC C480004C */ lwc1 $f0, 0x4c($a0)
/* 102D80 802E1500 3C01802F */ lui $at, 0x802f
/* 102D84 802E1504 D422B008 */ ldc1 $f2, -0x4ff8($at)
/* 102D88 802E1508 46000021 */ cvt.d.s $f0, $f0
/* 102D8C 802E150C 46220000 */ add.d $f0, $f0, $f2
/* 102D90 802E1510 46200020 */ cvt.s.d $f0, $f0
/* 102D94 802E1514 080B854B */ j .L802E152C
/* 102D98 802E1518 E480004C */ swc1 $f0, 0x4c($a0)
.L802E151C:
/* 102D9C 802E151C 0C043F5A */ jal func_8010FD68
/* 102DA0 802E1520 00000000 */ nop
/* 102DA4 802E1524 24020008 */ addiu $v0, $zero, 8
/* 102DA8 802E1528 A6020022 */ sh $v0, 0x22($s0)
.L802E152C:
/* 102DAC 802E152C 8FBF0014 */ lw $ra, 0x14($sp)
/* 102DB0 802E1530 8FB00010 */ lw $s0, 0x10($sp)
/* 102DB4 802E1534 03E00008 */ jr $ra
/* 102DB8 802E1538 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,25 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1614
/* 102E94 802E1614 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102E98 802E1618 AFBF0010 */ sw $ra, 0x10($sp)
/* 102E9C 802E161C 90820006 */ lbu $v0, 6($a0)
/* 102EA0 802E1620 30420001 */ andi $v0, $v0, 1
/* 102EA4 802E1624 1040000B */ beqz $v0, .L802E1654
/* 102EA8 802E1628 00000000 */ nop
/* 102EAC 802E162C 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 102EB0 802E1630 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 102EB4 802E1634 804300B4 */ lb $v1, 0xb4($v0)
/* 102EB8 802E1638 2402000E */ addiu $v0, $zero, 0xe
/* 102EBC 802E163C 10620003 */ beq $v1, $v0, .L802E164C
/* 102EC0 802E1640 24020010 */ addiu $v0, $zero, 0x10
/* 102EC4 802E1644 14620003 */ bne $v1, $v0, .L802E1654
/* 102EC8 802E1648 00000000 */ nop
.L802E164C:
/* 102ECC 802E164C 0C043F5A */ jal func_8010FD68
/* 102ED0 802E1650 00000000 */ nop
.L802E1654:
/* 102ED4 802E1654 8FBF0010 */ lw $ra, 0x10($sp)
/* 102ED8 802E1658 03E00008 */ jr $ra
/* 102EDC 802E165C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,16 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1740
/* 102FC0 802E1740 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 102FC4 802E1744 AFBF0010 */ sw $ra, 0x10($sp)
/* 102FC8 802E1748 90820006 */ lbu $v0, 6($a0)
/* 102FCC 802E174C 30420001 */ andi $v0, $v0, 1
/* 102FD0 802E1750 14400003 */ bnez $v0, .L802E1760
/* 102FD4 802E1754 00000000 */ nop
/* 102FD8 802E1758 0C043F5A */ jal func_8010FD68
/* 102FDC 802E175C 00000000 */ nop
.L802E1760:
/* 102FE0 802E1760 8FBF0010 */ lw $ra, 0x10($sp)
/* 102FE4 802E1764 03E00008 */ jr $ra
/* 102FE8 802E1768 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E176C
/* 102FEC 802E176C 8C820040 */ lw $v0, 0x40($a0)
/* 102FF0 802E1770 3C013F80 */ lui $at, 0x3f80
/* 102FF4 802E1774 44810000 */ mtc1 $at, $f0
/* 102FF8 802E1778 3C013DCC */ lui $at, 0x3dcc
/* 102FFC 802E177C 3421CCCD */ ori $at, $at, 0xcccd
/* 103000 802E1780 44811000 */ mtc1 $at, $f2
/* 103004 802E1784 3C01BDCC */ lui $at, 0xbdcc
/* 103008 802E1788 3421CCCD */ ori $at, $at, 0xcccd
/* 10300C 802E178C 44812000 */ mtc1 $at, $f4
/* 103010 802E1790 E4400000 */ swc1 $f0, ($v0)
/* 103014 802E1794 E4420004 */ swc1 $f2, 4($v0)
/* 103018 802E1798 E4440008 */ swc1 $f4, 8($v0)
/* 10301C 802E179C A0400010 */ sb $zero, 0x10($v0)
/* 103020 802E17A0 03E00008 */ jr $ra
/* 103024 802E17A4 A0400011 */ sb $zero, 0x11($v0)

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E1EA8
/* 103728 802E1EA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 10372C 802E1EAC AFB00010 */ sw $s0, 0x10($sp)
/* 103730 802E1EB0 0080802D */ daddu $s0, $a0, $zero
/* 103734 802E1EB4 AFBF0014 */ sw $ra, 0x14($sp)
/* 103738 802E1EB8 8E020040 */ lw $v0, 0x40($s0)
/* 10373C 802E1EBC 0C051568 */ jal set_area_flag
/* 103740 802E1EC0 94440020 */ lhu $a0, 0x20($v0)
/* 103744 802E1EC4 0C04419E */ jal func_80110678
/* 103748 802E1EC8 0200202D */ daddu $a0, $s0, $zero
/* 10374C 802E1ECC 8FBF0014 */ lw $ra, 0x14($sp)
/* 103750 802E1ED0 8FB00010 */ lw $s0, 0x10($sp)
/* 103754 802E1ED4 03E00008 */ jr $ra
/* 103758 802E1ED8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E234C
/* 103BCC 802E234C 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* 103BD0 802E2350 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* 103BD4 802E2354 3C060100 */ lui $a2, 0x100
/* 103BD8 802E2358 8C830040 */ lw $v1, 0x40($a0)
/* 103BDC 802E235C 8CA20004 */ lw $v0, 4($a1)
/* 103BE0 802E2360 3C013F80 */ lui $at, 0x3f80
/* 103BE4 802E2364 44810000 */ mtc1 $at, $f0
/* 103BE8 802E2368 00461025 */ or $v0, $v0, $a2
/* 103BEC 802E236C ACA20004 */ sw $v0, 4($a1)
/* 103BF0 802E2370 E4600014 */ swc1 $f0, 0x14($v1)
/* 103BF4 802E2374 E4600018 */ swc1 $f0, 0x18($v1)
/* 103BF8 802E2378 03E00008 */ jr $ra
/* 103BFC 802E237C E460001C */ swc1 $f0, 0x1c($v1)

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802E2450
/* 103CD0 802E2450 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 103CD4 802E2454 AFBF0010 */ sw $ra, 0x10($sp)
/* 103CD8 802E2458 0C0B8D94 */ jal func_802E3650
/* 103CDC 802E245C 00000000 */ nop
/* 103CE0 802E2460 8FBF0010 */ lw $ra, 0x10($sp)
/* 103CE4 802E2464 03E00008 */ jr $ra
/* 103CE8 802E2468 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -208,13 +208,13 @@ typedef union {
typedef struct Trigger {
/* 0x00 */ TriggerFlags flags;
/* 0x04 */ TriggerParams params1;
/* 0x04 */ TriggerParams params1; // TODO: remove TriggerParams
/* 0x08 */ TriggerParams params2;
/* 0x0C */ UNK_FUN_PTR(functionHandler);
/* 0x10 */ Bytecode* scriptStart;
/* 0x14 */ struct ScriptInstance* runningScript;
/* 0x18 */ s32 priority;
/* 0x1C */ ScriptVariables scriptVars;
/* 0x1C */ ScriptVariables scriptVars; // TODO: remove ScriptVariables
/* 0x28 */ char unk_2C[8];
/* 0x30 */ u8 unk_30;
/* 0x31 */ char unk_31[3];

View File

@ -95,6 +95,15 @@ extern s32 D_802E99DC;
extern f64 D_802EB000;
extern f64 D_802EB008;
extern UNK_TYPE D_0A0031E0;
extern UNK_TYPE D_0A001508;
extern UNK_TYPE D_0A0031B0;
extern UNK_TYPE D_0A0014D8;
extern UNK_TYPE D_0A002F78;
extern UNK_TYPE D_0A001218;
extern UNK_TYPE D_0A003F70;
extern UNK_TYPE D_0A002318;
// Triggers
extern s16 gTriggerCount;
extern TriggerList gTriggerList1;

View File

@ -1,82 +1,127 @@
#include "common.h"
typedef struct substruct802E176C {
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ char unk_0C[4];
/* 0x10 */ s8 unk_10;
/* 0x11 */ s8 unk_11;
/* 0x14 */ Vec3f unk_14;
/* 0x20 */ u16 unk_20;
/* 0x22 */ char unk_22[6];
/* 0x28 */ struct struct802E176C* unk_28;
/* 0x2C */ char unk_2C[12];
/* 0x38 */ f32 unk_38;
/* 0x000 */ Vec3f unk_00;
/* 0x00C */ char unk_0C[4];
/* 0x010 */ s8 unk_10;
/* 0x011 */ s8 unk_11;
/* 0x014 */ Vec3f unk_14;
/* 0x020 */ u16 unk_20;
/* 0x022 */ s16 unk_22;
/* 0x024 */ char unk_24[4];
/* 0x028 */ struct struct802E176C* unk_28;
/* 0x02C */ char unk_2C[12];
/* 0x038 */ f32 unk_38;
} substruct802E176C;
typedef struct struct802E176C {
/* 0x00 */ s32 flags;
/* 0x04 */ u8 unk_04;
/* 0x05 */ char unk_05[0x3B];
/* 0x05 */ char unk_05;
/* 0x06 */ u8 unk_06;
/* 0x07 */ char unk_07[0x39];
/* 0x40 */ substruct802E176C* unk_40;
/* 0x44 */ char unk_44[4];
/* 0x48 */ Vec3f unk_48;
/* 0x54 */ Vec3f unk_54;
} struct802E176C;
void func_802E1400(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
Trigger* trigger = entity->trigger;
void func_802E246C(struct802E176C* arg0, void* arg1, void* arg2);
if (entity->unk_06 & 1) {
void func_802E1400(struct802E176C* arg0) {
PlayerStatus* playerStatus = &gPlayerStatus;
substruct802E176C* temp = arg0->unk_40;
if (arg0->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND) || (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68();
trigger->scriptVars.s[3] = 8;
func_8010FD68(arg0);
temp->unk_22 = 8;
}
}
}
void func_802E1460(Entity* entity) {
Trigger* trigger = entity->trigger;
u16 var = trigger->scriptVars.s[3]--;
void func_802E1460(struct802E176C* arg0) {
substruct802E176C* temp = arg0->unk_40;
u16 var = temp->unk_22--;
if (var) {
entity->position.y -= D_802EB000;
arg0->unk_48.y -= D_802EB000;
return;
}
func_80110678(entity);
func_8010FD68(entity);
trigger->scriptVars.s[3] = 8;
func_80110678(arg0);
func_8010FD68(arg0);
temp->unk_22 = 8;
}
void func_802E14D8(Entity* entity) {
Trigger* trigger = entity->trigger;
u16 var = trigger->scriptVars.s[3]--;
void func_802E14D8(struct802E176C* arg0) {
substruct802E176C* temp = arg0->unk_40;
u16 var = temp->unk_22--;
if (var) {
entity->position.y += D_802EB008;
arg0->unk_48.y += D_802EB008;
return;
}
func_8010FD68(entity);
trigger->scriptVars.s[3] = 8;
func_8010FD68(arg0);
temp->unk_22 = 8;
}
INCLUDE_ASM(s32, "code_102c80", func_802E153C);
void func_802E1614(Entity* entity) {
void func_802E1614(struct802E176C* arg0) {
PlayerStatus* playerStatus = &gPlayerStatus;
if (entity->unk_06 & 1) {
if (arg0->unk_06 & 1) {
if ((playerStatus->actionState == ActionState_GROUND_POUND) || (playerStatus->actionState == ActionState_ULTRA_POUND)) {
func_8010FD68();
func_8010FD68(arg0);
}
}
}
INCLUDE_ASM(s32, "code_102c80", func_802E1660);
void func_802E1660(struct802E176C* arg0) {
substruct802E176C* temp = arg0->unk_40;
PlayerStatus* playerStatus = &gPlayerStatus;
s8* temp2 = D_8010EBB0;
void func_802E1740(Entity* entity) {
if (!(entity->unk_06 & 1)) {
func_8010FD68();
func_802E153C(arg0);
if(arg0->unk_06 & 0x40) {
if(playerStatus->actionState == ActionState_HAMMER) {
if(gPlayerData.hammerLevel < 0) {
return;
}
goto label;
}
}
if(playerStatus->actionState == ActionState_SPIN_JUMP) {
return;
}
if(temp2[3] == 4) {
if(temp2[0] != 0) {
return;
}
}
if(!(arg0->unk_06 & 1)) {
if(!(arg0->unk_06 & 0x80)) {
return;
}
}
label:
func_8010FD68(arg0);
if(temp->unk_28 == NULL) {
return;
}
func_8010FD68(temp->unk_28);
}
void func_802E1740(struct802E176C* arg0) {
if (!(arg0->unk_06 & 1)) {
func_8010FD68(arg0);
}
}
@ -99,7 +144,6 @@ void func_802E1EA8(struct802E176C* arg0) {
INCLUDE_ASM(s32, "code_102c80", func_802E1EDC);
//INCLUDE_ASM(s32, "code_102c80", func_802E234C);
void func_802E234C(struct802E176C* arg0) {
PlayerStatus* playerStatus = &gPlayerStatus;
substruct802E176C* temp = arg0->unk_40;
@ -151,7 +195,6 @@ void func_802E2450(void) {
func_802E3650();
}
void func_802E246C(struct802E176C* arg0, void* arg1, void* arg2);
INCLUDE_ASM(void, "code_102c80", func_802E246C, struct802E176C* arg0, void* arg1, void* arg2);
@ -159,15 +202,6 @@ INCLUDE_ASM(s32, "code_102c80", func_802E263C);
INCLUDE_ASM(s32, "code_102c80", func_802E2BA4);
extern UNK_TYPE D_0A0031E0;
extern UNK_TYPE D_0A001508;
extern UNK_TYPE D_0A0031B0;
extern UNK_TYPE D_0A0014D8;
extern UNK_TYPE D_0A002F78;
extern UNK_TYPE D_0A001218;
extern UNK_TYPE D_0A003F70;
extern UNK_TYPE D_0A002318;
#ifdef NON_MATCHING
// Needs rodata support
void func_802E2EB0(struct802E176C* arg0) {
@ -224,13 +258,13 @@ void func_802E2EB0(struct802E176C* arg0) {
INCLUDE_ASM(void, "code_102c80", func_802E2EB0, struct802E176C* arg0);
#endif
s32 D_802E9C8C[1] = { 0 }; // TODO: correct data here.
s32 D_802E9CF8[1] = { 0 }; // TODO: correct data here.
s32 D_802E9CB0[1] = { 0 }; // TODO: correct data here.
s32 D_802E9D1C[1] = { 0 }; // TODO: correct data here.
s32 D_802E9CD4[1] = { 0 }; // TODO: correct data here.
s32 D_802E9D40[1] = { 0 }; // TODO: correct data here.
s32 D_802E9D64[1] = { 0 }; // TODO: correct data here.
s32 D_802E9C8C = 0 ; // TODO: correct data here.
s32 D_802E9CF8 = 0 ; // TODO: correct data here.
s32 D_802E9CB0 = 0 ; // TODO: correct data here.
s32 D_802E9D1C = 0 ; // TODO: correct data here.
s32 D_802E9CD4 = 0 ; // TODO: correct data here.
s32 D_802E9D40 = 0 ; // TODO: correct data here.
s32 D_802E9D64 = 0 ; // TODO: correct data here.
#ifdef NON_MATCHING
//Needs rodata support