This commit is contained in:
Ethan Roseman 2020-09-27 13:57:40 -04:00
parent f7d1e4faec
commit 82b3662064
4 changed files with 23 additions and 45 deletions

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80282774
/* 7E35F4 80282774 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7E35F8 80282778 AFBF0014 */ sw $ra, 0x14($sp)
/* 7E35FC 8028277C AFB00010 */ sw $s0, 0x10($sp)
/* 7E3600 80282780 0C04D090 */ jal func_80134240
/* 7E3604 80282784 8C900074 */ lw $s0, 0x74($a0)
/* 7E3608 80282788 86040008 */ lh $a0, 8($s0)
/* 7E360C 8028278C 0C04D08C */ jal func_80134230
/* 7E3610 80282790 A602000A */ sh $v0, 0xa($s0)
/* 7E3614 80282794 8FBF0014 */ lw $ra, 0x14($sp)
/* 7E3618 80282798 8FB00010 */ lw $s0, 0x10($sp)
/* 7E361C 8028279C 24020002 */ addiu $v0, $zero, 2
/* 7E3620 802827A0 03E00008 */ jr $ra
/* 7E3624 802827A4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802827A8
/* 7E3628 802827A8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 7E362C 802827AC AFBF0010 */ sw $ra, 0x10($sp)
/* 7E3630 802827B0 8C820074 */ lw $v0, 0x74($a0)
/* 7E3634 802827B4 0C04D08C */ jal func_80134230
/* 7E3638 802827B8 8444000A */ lh $a0, 0xa($v0)
/* 7E363C 802827BC 8FBF0010 */ lw $ra, 0x10($sp)
/* 7E3640 802827C0 24020002 */ addiu $v0, $zero, 2
/* 7E3644 802827C4 03E00008 */ jr $ra
/* 7E3648 802827C8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -49,6 +49,7 @@ s32 func_800555E4(s32);
s32 osGetId(); s32 osGetId();
s32 func_800EF394(f32); s32 func_800EF394(f32);
s32 does_script_exist(s32 id);
void func_8011B7C0(u16, s32, s32); void func_8011B7C0(u16, s32, s32);
void func_80137D88(s32, f32); void func_80137D88(s32, f32);

View File

@ -1,23 +1,25 @@
#include "common.h" #include "common.h"
typedef struct { typedef struct {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00; // door state? 01 = using door
/* 0x04 */ s32 unk_04; /* 0x04 */ s32 unk_04;
/* 0x08 */ s16 unk_08; /* 0x08 */ s16 unk_08;
/* 0x0A */ s16 unk_0A; /* 0x0A */ s16 unk_0A;
/* 0x0C */ f32 unk_0C; /* 0x0C */ f32 unk_0C; // x pos entry ?
/* 0x10 */ f32 unk_10; /* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14; /* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18; /* 0x18 */ f32 unk_18; // rotation entry
/* 0x1C */ f32 unk_1C; /* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20; /* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24; /* 0x24 */ f32 unk_24; // x pos exit ?
/* 0x28 */ f32 unk_28; /* 0x28 */ f32 unk_28; // rotation exit
/* 0x2C */ s32* unk_2C; /* 0x2C */ s32* unk_2C; // ptr to script
/* 0x30 */ s32* unk_30; /* 0x30 */ s32* unk_30; // ptr to script
/* 0x34 */ s32 unk_34; /* 0x34 */ s32* unk_34; // ptr to ??? (usually null?)
/* 0x38 */ s32* unk_38; /* 0x38 */ s32* unk_38; // ptr to script
/* 0x3C */ s32 unk_3C; /* 0x3C */ s32 unk_3C; //flags (has to do with hiding certain objects)
/* 0x40 */ char unk_40[12];
/* 0x4C */ s32* unk_4C;
} DoorStuff; } DoorStuff;
ApiStatus func_80281C20(ScriptInstance* script, s32 isInitialCall) { ApiStatus func_80281C20(ScriptInstance* script, s32 isInitialCall) {
@ -103,13 +105,18 @@ INCLUDE_ASM(s32, "code_7E2AA0", func_80282634);
INCLUDE_ASM(s32, "code_7E2AA0", func_80282700); INCLUDE_ASM(s32, "code_7E2AA0", func_80282700);
INCLUDE_ASM(s32, "code_7E2AA0", func_80282774); ApiStatus func_80282774(ScriptInstance* script, s32 isInitialCall) {
DoorStuff* doorStuff = (DoorStuff*)script->functionTemp[1];
INCLUDE_ASM(s32, "code_7E2AA0", func_802827A8); doorStuff->unk_0A = func_80134240();
/*ApiStatus func_802827A8(ScriptInstance* script, s32 isInitialCall) { func_80134230(doorStuff->unk_08);
func_80134230(script->functionTemp[1]->unkA);
return ApiStatus_DONE2; return ApiStatus_DONE2;
}*/ }
ApiStatus func_802827A8(ScriptInstance* script, s32 isInitialCall) {
func_80134230(((DoorStuff*)script->functionTemp[1])->unk_0A);
return ApiStatus_DONE2;
}
ApiStatus func_802827CC(ScriptInstance* script, s32 isInitialCall) { ApiStatus func_802827CC(ScriptInstance* script, s32 isInitialCall) {
DoorStuff* temp = script->functionTemp[1]; DoorStuff* temp = script->functionTemp[1];