1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-11 03:39:59 +00:00
This commit is contained in:
Ethan Roseman 2020-03-21 17:33:39 -04:00
parent 61a32a5820
commit bb5ce4a656
4 changed files with 30 additions and 97 deletions

View file

@ -1,59 +0,0 @@
.rdata
glabel D_80978658
.asciz "../z_demo_geff.c"
.balign 4
glabel D_8097866C
.asciz "../z_demo_geff.c"
.balign 4
.text
glabel func_80977F80
/* 00140 80977F80 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00144 80977F84 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00148 80977F88 AFA40048 */ sw $a0, 0x0048($sp)
/* 0014C 80977F8C AFA5004C */ sw $a1, 0x004C($sp)
/* 00150 80977F90 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
/* 00154 80977F94 3C068098 */ lui $a2, %hi(D_80978658) ## $a2 = 80980000
/* 00158 80977F98 24C68658 */ addiu $a2, $a2, %lo(D_80978658) ## $a2 = 80978658
/* 0015C 80977F9C AFAF003C */ sw $t7, 0x003C($sp)
/* 00160 80977FA0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00164 80977FA4 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
/* 00168 80977FA8 240700CC */ addiu $a3, $zero, 0x00CC ## $a3 = 000000CC
/* 0016C 80977FAC 0C031AB1 */ jal func_800C6AC4
/* 00170 80977FB0 AFA50038 */ sw $a1, 0x0038($sp)
/* 00174 80977FB4 8FA50038 */ lw $a1, 0x0038($sp)
/* 00178 80977FB8 8FA6004C */ lw $a2, 0x004C($sp)
/* 0017C 80977FBC 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 00180 80977FC0 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 00184 80977FC4 35080018 */ ori $t0, $t0, 0x0018 ## $t0 = DB060018
/* 00188 80977FC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0018C 80977FCC 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 00190 80977FD0 ACB902C0 */ sw $t9, 0x02C0($a1) ## 000002C0
/* 00194 80977FD4 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 00198 80977FD8 8FA9003C */ lw $t1, 0x003C($sp)
/* 0019C 80977FDC 240700D4 */ addiu $a3, $zero, 0x00D4 ## $a3 = 000000D4
/* 001A0 80977FE0 00095100 */ sll $t2, $t1, 4
/* 001A4 80977FE4 01495021 */ addu $t2, $t2, $t1
/* 001A8 80977FE8 000A5080 */ sll $t2, $t2, 2
/* 001AC 80977FEC 00CA2021 */ addu $a0, $a2, $t2
/* 001B0 80977FF0 00812021 */ addu $a0, $a0, $at
/* 001B4 80977FF4 8C8B17B4 */ lw $t3, 0x17B4($a0) ## 000017B4
/* 001B8 80977FF8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 001BC 80977FFC 3C068098 */ lui $a2, %hi(D_8097866C) ## $a2 = 80980000
/* 001C0 80978000 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 001C4 80978004 8C8C17B4 */ lw $t4, 0x17B4($a0) ## 000017B4
/* 001C8 80978008 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
/* 001CC 8097800C 24C6866C */ addiu $a2, $a2, %lo(D_8097866C) ## $a2 = 8097866C
/* 001D0 80978010 01816821 */ addu $t5, $t4, $at
/* 001D4 80978014 3C018016 */ lui $at, 0x8016 ## $at = 80160000
/* 001D8 80978018 0C031AD5 */ jal func_800C6B54
/* 001DC 8097801C AC2D6FC0 */ sw $t5, 0x6FC0($at) ## 80166FC0
/* 001E0 80978020 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001E4 80978024 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 001E8 80978028 03E00008 */ jr $ra
/* 001EC 8097802C 00000000 */ nop

View file

@ -1,11 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
glabel D_809787C0
.incbin "baserom/ovl_Demo_Geff", 0x980, 0x00000170

2
spec
View file

@ -1789,7 +1789,7 @@ endseg
beginseg beginseg
name "ovl_Demo_Geff" name "ovl_Demo_Geff"
include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.o" include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.o"
include "build/data/overlays/actors/z_demo_geff.reloc.o" include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff_reloc.o"
endseg endseg
beginseg beginseg

View file

@ -11,18 +11,18 @@
#define ROOM 0x00 #define ROOM 0x00
#define FLAGS 0x00000030 #define FLAGS 0x00000030
void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx); static void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx); static void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx); static void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx); static void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_SetScale(DemoGeff* this, GlobalContext* globalCtx); static void DemoGeff_SetScale(DemoGeff* this, GlobalContext* globalCtx);
void func_809783D4(DemoGeff* this, GlobalContext* globalCtx); static void func_809783D4(DemoGeff* this, GlobalContext* globalCtx);
void func_80978308(DemoGeff* this, GlobalContext* globalCtx); static void func_80978308(DemoGeff* this, GlobalContext* globalCtx);
void func_809784D4(DemoGeff* this, GlobalContext* globalCtx); static void func_809784D4(DemoGeff* this, GlobalContext* globalCtx);
void func_80978344(DemoGeff* this, GlobalContext* globalCtx); static void func_80978344(DemoGeff* this, GlobalContext* globalCtx);
s16 objectIds[] = { OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, s16 objectIds[] = { OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF,
OBJECT_GEFF, OBJECT_GEFF, OBJECT_UNSET_0, }; OBJECT_GEFF, OBJECT_GEFF, OBJECT_UNSET_0, };
@ -49,11 +49,11 @@ const ActorInit Demo_Geff_InitVars =
extern UNK_TYPE D_06000EA0; extern UNK_TYPE D_06000EA0;
void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx) { static void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx) {
} }
void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx) { static void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx) {
if (this->actor.params < 0 || this->actor.params >= 9) { if (this->actor.params < 0 || this->actor.params >= 9) {
osSyncPrintf(VT_FGCOL(RED) "Demo_Geff_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n" VT_RST); osSyncPrintf(VT_FGCOL(RED) "Demo_Geff_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n" VT_RST);
Actor_Kill(&this->actor); Actor_Kill(&this->actor);
@ -63,7 +63,7 @@ void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx) {
this->drawConfig = 0; this->drawConfig = 0;
} }
void func_80977EA8(GlobalContext* globalCtx, u32 dlist) { static void func_80977EA8(GlobalContext* globalCtx, u32 dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
s16 pad; s16 pad;
Gfx* gfxArr[4]; Gfx* gfxArr[4];
@ -79,8 +79,7 @@ void func_80977EA8(GlobalContext* globalCtx, u32 dlist) {
func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 188); func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 188);
} }
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80977F80.s") static void func_80977F80(DemoGeff* this, GlobalContext* globalCtx) {
/*void func_80977F80(DemoGeff* this, GlobalContext* globalCtx) {
s32 pad[2]; s32 pad[2];
s32 objBankIndex = this->objBankIndex; s32 objBankIndex = this->objBankIndex;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
@ -92,10 +91,14 @@ void func_80977EA8(GlobalContext* globalCtx, u32 dlist) {
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment); gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment); gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment);
func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 212); if (!globalCtx) {
}*/
void DemoGeff_SetScale(DemoGeff* this, GlobalContext* globalCtx) { }
func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 212);
}
static void DemoGeff_SetScale(DemoGeff* this, GlobalContext* globalCtx) {
Vec3f* thisScale = &this->actor.scale; Vec3f* thisScale = &this->actor.scale;
this->action = 1; this->action = 1;
this->drawConfig = 1; this->drawConfig = 1;
@ -123,7 +126,7 @@ void DemoGeff_SetScale(DemoGeff* this, GlobalContext* globalCtx) {
} }
} }
void func_809781FC(DemoGeff* this, GlobalContext* globalCtx) { static void func_809781FC(DemoGeff* this, GlobalContext* globalCtx) {
s32 targetParams = 2; s32 targetParams = 2;
Actor* propIt; Actor* propIt;
@ -146,7 +149,7 @@ void func_809781FC(DemoGeff* this, GlobalContext* globalCtx) {
} }
} }
void func_809782A0(DemoGeff* this, GlobalContext* globalCtx) { static void func_809782A0(DemoGeff* this, GlobalContext* globalCtx) {
DemoGt* demoGt = this->demoGt; DemoGt* demoGt = this->demoGt;
s16 params = this->actor.params; s16 params = this->actor.params;
if (demoGt != NULL && (params != 6) && (params != 7) && (params != 8)) { if (demoGt != NULL && (params != 6) && (params != 7) && (params != 8)) {
@ -156,17 +159,17 @@ void func_809782A0(DemoGeff* this, GlobalContext* globalCtx) {
} }
} }
void func_80978308(DemoGeff* this, GlobalContext* globalCtx) { static void func_80978308(DemoGeff* this, GlobalContext* globalCtx) {
func_809781FC(this, globalCtx); func_809781FC(this, globalCtx);
func_809782A0(this, globalCtx); func_809782A0(this, globalCtx);
DemoGeff_SetScale(this, globalCtx); DemoGeff_SetScale(this, globalCtx);
} }
void func_80978344(DemoGeff* this, GlobalContext* globalCtx) { static void func_80978344(DemoGeff* this, GlobalContext* globalCtx) {
func_80977EA8(globalCtx, &D_06000EA0); func_80977EA8(globalCtx, &D_06000EA0);
} }
void func_80978370(DemoGeff* this, GlobalContext* globalCtx) { static void func_80978370(DemoGeff* this, GlobalContext* globalCtx) {
s16 params = this->actor.params; s16 params = this->actor.params;
ActorFunc actorFunc = scaleFuncs[params]; ActorFunc actorFunc = scaleFuncs[params];
if (actorFunc == NULL) { if (actorFunc == NULL) {
@ -177,7 +180,7 @@ void func_80978370(DemoGeff* this, GlobalContext* globalCtx) {
actorFunc(this, globalCtx); actorFunc(this, globalCtx);
} }
void func_809783D4(DemoGeff* this, GlobalContext* globalCtx) { static void func_809783D4(DemoGeff* this, GlobalContext* globalCtx) {
ObjectContext* objCtx = &globalCtx->objectCtx; ObjectContext* objCtx = &globalCtx->objectCtx;
Actor* thisx = &this->actor; Actor* thisx = &this->actor;
s32 params = thisx->params; s32 params = thisx->params;
@ -196,7 +199,7 @@ void func_809783D4(DemoGeff* this, GlobalContext* globalCtx) {
} }
} }
void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx) { static void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx) {
if (this->action < 0 || this->action >= 2 || actionFuncs[this->action] == NULL) { if (this->action < 0 || this->action >= 2 || actionFuncs[this->action] == NULL) {
osSyncPrintf(VT_FGCOL(RED) "メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST); osSyncPrintf(VT_FGCOL(RED) "メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
return; return;
@ -204,11 +207,11 @@ void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx) {
actionFuncs[this->action](this, globalCtx); actionFuncs[this->action](this, globalCtx);
} }
void func_809784D4(DemoGeff* this, GlobalContext* globalCtx) { static void func_809784D4(DemoGeff* this, GlobalContext* globalCtx) {
} }
void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx) { static void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx) {
s32 drawConfig = this->drawConfig; s32 drawConfig = this->drawConfig;
s16 pad; s16 pad;
if (drawConfig < 0 || drawConfig >= 2 || drawFuncs[drawConfig] == NULL) { if (drawConfig < 0 || drawConfig >= 2 || drawFuncs[drawConfig] == NULL) {