Merge pull request #35 from Faschz/unknown_001050

Decomp func_80000FDC
This commit is contained in:
David Benepe
2020-07-16 15:52:28 -05:00
committed by GitHub
2 changed files with 30 additions and 50 deletions
@@ -1,32 +0,0 @@
glabel func_80000FDC
/* 001BDC 80000FDC 44866000 */ mtc1 $a2, $f12
/* 001BE0 80000FE0 3C06800E */ lui $a2, %hi(D_800DC658) # $a2, 0x800e
/* 001BE4 80000FE4 24C6C658 */ addiu $a2, %lo(D_800DC658) # addiu $a2, $a2, -0x39a8
/* 001BE8 80000FE8 8CC20000 */ lw $v0, ($a2)
/* 001BEC 80000FEC AFA40000 */ sw $a0, ($sp)
/* 001BF0 80000FF0 28410008 */ slti $at, $v0, 8
/* 001BF4 80000FF4 10200014 */ beqz $at, .L80001048
/* 001BF8 80000FF8 308EFFFF */ andi $t6, $a0, 0xffff
/* 001BFC 80000FFC 3C014270 */ li $at, 0x42700000 # 60.000000
/* 001C00 80001000 44812000 */ mtc1 $at, $f4
/* 001C04 80001004 3C188011 */ lui $t8, %hi(D_80115D48) # $t8, 0x8011
/* 001C08 80001008 46046182 */ mul.s $f6, $f12, $f4
/* 001C0C 8000100C 27185D48 */ addiu $t8, %lo(D_80115D48) # addiu $t8, $t8, 0x5d48
/* 001C10 80001010 000278C0 */ sll $t7, $v0, 3
/* 001C14 80001014 01F81821 */ addu $v1, $t7, $t8
/* 001C18 80001018 4459F800 */ cfc1 $t9, $31
/* 001C1C 8000101C 24490001 */ addiu $t1, $v0, 1
/* 001C20 80001020 37210003 */ ori $at, $t9, 3
/* 001C24 80001024 38210002 */ xori $at, $at, 2
/* 001C28 80001028 44C1F800 */ ctc1 $at, $31
/* 001C2C 8000102C A46E0000 */ sh $t6, ($v1)
/* 001C30 80001030 46003224 */ cvt.w.s $f8, $f6
/* 001C34 80001034 AC650004 */ sw $a1, 4($v1)
/* 001C38 80001038 44084000 */ mfc1 $t0, $f8
/* 001C3C 8000103C 44D9F800 */ ctc1 $t9, $31
/* 001C40 80001040 ACC90000 */ sw $t1, ($a2)
/* 001C44 80001044 A4680002 */ sh $t0, 2($v1)
.L80001048:
/* 001C48 80001048 03E00008 */ jr $ra
/* 001C4C 8000104C 00000000 */ nop
+30 -18
View File
@@ -4,23 +4,26 @@
#include "types.h"
#include "macros.h"
extern u8 D_800DC638;
extern u8 D_800DC63C;
extern u8 D_800DC640;
extern s8 D_800DC670;
extern u8 D_80115D04;
extern u8 D_80115D05;
extern u8 D_80115D40;
extern u8 D_80115D41;
extern s8 D_80115F79;
extern s16 D_80115D30;
/* Size: 0x08 bytes */
typedef struct unk80115D48 {
/* 0x00 */ u16 unk0;
/* 0x02 */ s16 unk2;
/* 0x04 */ s32 unk4;
} unk80115D48;
extern s32* D_800DC630;
extern s32* D_800DC634;
extern u8 D_800DC638;
extern u8 D_800DC63C;
extern u8 D_800DC640;
extern s32 D_800DC648;
extern s32 D_800DC64C;
extern f32 D_800DC650;
extern s32 D_800DC654;
extern s32 D_800DC658;
extern s8 D_800DC670;
extern u8 D_80115D04;
extern u8 D_80115D05;
extern s32 D_80115D08;
extern s32 D_80115D18;
extern s32 D_80115D1C;
@@ -28,15 +31,15 @@ extern s32 D_80115D20;
extern s32 D_80115D24;
extern s32 D_80115D28;
extern s32 D_80115D2C;
extern s16 D_80115D30;
extern s32 D_80115D38;
extern s32 D_80115D3C;
extern u8 D_80115D40;
extern u8 D_80115D41;
extern unk80115D48 D_80115D48[8];
extern s8 D_80115F79;
extern s32 D_80115F7C;
extern s32* D_800DC630;
extern s32* D_800DC634;
extern f32 D_800DC650;
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000450.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000890.s")
@@ -95,6 +98,7 @@ void func_80000B34(u8 arg0) {
D_80115F7C = -1;
}
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000BE0.s")
void func_80000C1C(void) {
@@ -124,7 +128,15 @@ void func_80000CBC(void) {
}
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000D00.s")
GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000FDC.s")
void func_80000FDC(u16 arg0, s32 arg1, f32 arg2) {
if (D_800DC658 < 8) {
D_80115D48[D_800DC658].unk0 = arg0;
D_80115D48[D_800DC658].unk4 = arg1;
D_80115D48[D_800DC658].unk2 = arg2 * 60.0f;
D_800DC658++;
}
}
void func_80001050(void) {
D_800DC658 = 0;