From 1a77b8367019c1dda78b06758ab71c46059ee33c Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Thu, 3 Nov 2022 17:28:56 -0500 Subject: [PATCH] core2/code_9E370.c progress --- README.md | 2 +- progress/progress_core2.svg | 6 ++--- progress/progress_total.svg | 4 +-- src/core2/code_72060.c | 2 +- src/core2/code_9E370.c | 49 +++++++++++++++++-------------------- src/core2/code_B1400.c | 2 +- src/core2/code_BD100.c | 4 +-- subyaml/core2.us.v10.yaml | 2 +- 8 files changed, 34 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 6da620fd..0dc5c694 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# banjo (92.6466%) +# banjo (92.6766%) diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg index 93564ca8..78b6c266 100644 --- a/progress/progress_core2.svg +++ b/progress/progress_core2.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ core2 - 90.9578% - 90.9578% + 91.0101% + 91.0101% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index c9b8f30f..3b06e1e8 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 92.6466% - 92.6466% + 92.6766% + 92.6766% \ No newline at end of file diff --git a/src/core2/code_72060.c b/src/core2/code_72060.c index 11396108..f0cc9ee0 100644 --- a/src/core2/code_72060.c +++ b/src/core2/code_72060.c @@ -184,7 +184,7 @@ void func_802F962C(Gfx **gfx, Mtx **mtx, Vtx **vtx) { temp_s3 = (BKVertexList *)((s32)D_80369288 + D_80369288->vtx_list_offset_10); D_8038108C = func_802EC920(temp_s3); func_80349AD0(); - gSPSegment((*gfx)++, 0x01, osVirtualToPhysical(temp_s3 + 1)); + gSPSegment((*gfx)++, 1, osVirtualToPhysical(temp_s3 + 1)); gSPSegment((*gfx)++, 0x02, osVirtualToPhysical((s32)D_80369288 + D_80369288->texture_list_offset_8 + sizeof(BKTextureList) + sizeof(BKTextureHeader))); gSPSetGeometryMode((*gfx)++, G_ZBUFFER); gSPDisplayList((*gfx)++, D_80369290); diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 1752809e..e4e9af50 100644 --- a/src/core2/code_9E370.c +++ b/src/core2/code_9E370.c @@ -48,19 +48,18 @@ typedef struct { }Actorlocal_Core2_9E370; /* .data */ -extern ActorArray *D_8036E560; //actorArrayPtr -extern s32 D_8036E564; -extern s32 D_8036E568; -extern s32 D_8036E56C; -extern void *D_8036E570; -extern u8 D_8036E574; -extern u8 D_8036E578; -extern u8 D_8036E57C; -extern f32 D_8036E580; -extern f32 D_8036E58C[3]; -extern f32 D_8036E598[6]; -extern s32 D_8036E5B0[4]; -extern s32 D_8036E5C0[4]; +ActorArray *D_8036E560 = NULL; //actorArrayPtr +s32 D_8036E564 = 0; +s32 D_8036E568 = 0; +s32 D_8036E56C = 0; +void *D_8036E570 = NULL; +u8 D_8036E574 = 0; +u8 D_8036E578 = 0; +u8 D_8036E57C = 0; +f32 D_8036E580[3] = {0.0f, -8.0f, 0.0f}; +f32 D_8036E58C[3] = {0.0f, -16.0f, 0.0f}; +f32 D_8036E598[4] = {1000.f, 20.0f, 10.5f, 1.0f}; + /* .bss */ @@ -222,7 +221,7 @@ Actor *func_80325888(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { this = func_80325300(marker, sp3C); func_8033A2D4(func_803253A0, this); func_8033A2E8(func_80325794, marker); - func_803391A4(gfx, mtx, this->position, sp3C, this->scale, (this->unk104 != NULL) ? &D_8036E580 : NULL, func_803257B4(marker)); + func_803391A4(gfx, mtx, this->position, sp3C, this->scale, (this->unk104 != NULL) ? D_8036E580 : NULL, func_803257B4(marker)); return this; } @@ -344,7 +343,7 @@ Actor *func_80325E78(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { set_model_render_mode(1); func_8033A2D4(func_803253A0, this); func_8033A2E8(func_80325794, marker); - func_803391A4(gfx, mtx, this->position, rotation, this->scale, (this->unk104 != NULL) ? &D_8036E580 : NULL, func_803257B4(marker)); + func_803391A4(gfx, mtx, this->position, rotation, this->scale, (this->unk104 != NULL) ? D_8036E580 : NULL, func_803257B4(marker)); return this; } @@ -2052,24 +2051,23 @@ void func_8032ACA8(Actor *arg0) { } } -#ifndef NONMATCHING +#ifdef NONMATCHING #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_9E370/func_8032AD7C.s") #else -extern s32 D_8036E5A8; void func_8032AD7C(s32 arg0) { s32 var_s0; + static s32 D_8036E5A8 = 0; if (D_8036E560 != NULL) { if (D_8036E5A8 >= D_8036E560->cnt) { D_8036E5A8 = 0; } - for(var_s0 = 0; var_s0 < (arg0 == 1) ? 0xF : D_8036E560->cnt; var_s0++){ + for(var_s0 = 0; var_s0 < ((arg0 == 1) ? 0xF : D_8036E560->cnt); var_s0++){ if (func_80330E28(&D_8036E560->data[D_8036E5A8]) == NULL) { func_8032ACA8(&D_8036E560->data[D_8036E5A8]); } - D_8036E5A8++; - D_8036E5A8 %= D_8036E560->cnt; + D_8036E5A8 = (D_8036E5A8 + 1) % D_8036E560->cnt; } } } @@ -2085,11 +2083,6 @@ void func_8032AEB4(void) { } } - -#ifndef NONMATCHING -#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_9E370/func_8032AF94.s") -#else -extern s32 D_8036E5AC; void func_8032AF94(void) { AnimCtrl *temp_a0_4; ParticleEmitter *temp_a0_2; @@ -2105,6 +2098,8 @@ void func_8032AF94(void) { s32 var_s1; Actor *temp_s0; void *temp_s0_2; + static s32 D_8036E5AC = 0; + if (D_8036E560 != NULL) { for(var_s1 = 0; var_s1 < 8; var_s1++){ @@ -2157,7 +2152,6 @@ void func_8032AF94(void) { D_8036E570 = func_802F3364(D_8036E570); } } -#endif ActorMarker *func_8032B16C(enum jiggy_e jiggy_id) { Actor *temp_s3; @@ -2201,6 +2195,8 @@ bool func_8032B38C(NodeProp *node, s32 arg1){ void func_8032B3A0(Actor *this, ActorMarker *arg1) { f32 sp54[3]; + static s32 D_8036E5B0[4] = {0xFF, 0xFF, 0xFF, 0xC8}; + if (arg1 != NULL) { sp54[0] = this->position[0]; @@ -2218,6 +2214,7 @@ void func_8032B3A0(Actor *this, ActorMarker *arg1) { void func_8032B4DC(Actor *this, ActorMarker *arg1, s32 arg2) { f32 sp3C[3]; + static s32 D_8036E5C0[4] = {0xFF, 0xFF, 0xFF, 0xC8}; if (arg1 != NULL) { func_8034A174(this->marker->unk44, arg2, &sp3C); diff --git a/src/core2/code_B1400.c b/src/core2/code_B1400.c index 47e05bc2..dc0ceb7f 100644 --- a/src/core2/code_B1400.c +++ b/src/core2/code_B1400.c @@ -899,7 +899,7 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale, }////L80339764 }//L80339764 - gSPSegment((*gfx)++, 0x01, osVirtualToPhysical((void*)((s32)D_80383728 + sizeof(BKVertexList)))); + gSPSegment((*gfx)++, 1, osVirtualToPhysical((void*)((s32)D_80383728 + sizeof(BKVertexList)))); gSPSegment((*gfx)++, 0x02, osVirtualToPhysical((void*)((s32)D_80383720 + D_80383720->cnt_4*sizeof(BKTextureHeader) + sizeof(BKTextureList)))); if(D_80383724){ diff --git a/src/core2/code_BD100.c b/src/core2/code_BD100.c index 81036476..a865de6d 100644 --- a/src/core2/code_BD100.c +++ b/src/core2/code_BD100.c @@ -149,7 +149,7 @@ void func_80344424(BKSpriteDisplayData *arg0, s32 frame, bool mirrored, f32 arg3 mlMtxApply(*mtx); gSPMatrix((*gfx)++, (*mtx)++, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); temp_a3 = (BKSpriteFrameDisplayData *)((s32)arg0 + sizeof(BKSpriteDisplayData) + frame*sizeof(BKSpriteFrameDisplayData)); - gSPSegment((*gfx)++, 0x01, osVirtualToPhysical(temp_a3->vtx)); + gSPSegment((*gfx)++, 1, osVirtualToPhysical(temp_a3->vtx)); gSPDisplayList((*gfx)++, temp_a3->gfx); gSPPopMatrix((*gfx)++, G_MTX_MODELVIEW); func_80349AD0(); @@ -196,7 +196,7 @@ void func_80344720(BKSpriteDisplayData *arg0, s32 frame, bool mirrored, f32 arg3 mlMtxApply(*mtx); gSPMatrix((*gfx)++, (*mtx)++, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); temp_a3 = (BKSpriteFrameDisplayData *)((s32)arg0 + sizeof(BKSpriteDisplayData) + frame*sizeof(BKSpriteFrameDisplayData)); - gSPSegment((*gfx)++, 0x01, osVirtualToPhysical(temp_a3->vtx)); + gSPSegment((*gfx)++, 1, osVirtualToPhysical(temp_a3->vtx)); gSPDisplayList((*gfx)++, temp_a3->gfx); gSPPopMatrix((*gfx)++, G_MTX_MODELVIEW); func_80349AD0(); diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml index ae97b225..cd0bb301 100644 --- a/subyaml/core2.us.v10.yaml +++ b/subyaml/core2.us.v10.yaml @@ -558,7 +558,7 @@ segments: - [0xE6EF0, .data, code_9B650] - [0xE7330, .data, code_9B990] - [0xE7490, .data, code_9D640] - - [0xE75D0, bin, data_E75D0] + - [0xE75D0, .data, code_9E370] - [0xE7640, .data, code_A4D00] - [0xE7820, bin, data_E7820] - [0xE7870, .data, code_A5BC0]