core1/gu/rotate.c done

This commit is contained in:
Banjo Kazooie
2022-10-26 15:00:50 -05:00
parent a6934f7205
commit 7ee1bdf312
25 changed files with 253 additions and 157 deletions

View File

@@ -1,4 +1,4 @@
# banjo (91.8246%)
# banjo (91.9337%)
<img src="./progress/progress_total.svg">

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#47e000" d="M44 0h67v20H44z"/>
<path fill="#46e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core1</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">84.1199%</text>
<text x="77.5" y="14">84.1199%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">84.3371%</text>
<text x="77.5" y="14">84.3371%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#2de000" d="M44 0h67v20H44z"/>
<path fill="#2ce000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core2</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">89.9820%</text>
<text x="77.5" y="14">89.9820%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">90.1172%</text>
<text x="77.5" y="14">90.1172%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h150v20H0z"/>
<path fill="#25e000" d="M150 0h67v20H150z"/>
<path fill="#24e000" d="M150 0h67v20H150z"/>
<path fill="url(#b)" d="M0 0h217v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">91.8246%</text>
<text x="183.5" y="14">91.8246%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">91.9337%</text>
<text x="183.5" y="14">91.9337%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -4,13 +4,18 @@
#include "ml/mtx.h"
extern Mtx *D_80282FD0;
extern Mtx_t D_80282810;
f32 func_80263FF0(f32);
f32 cosf(f32);
extern f64 D_80278220;
/*.bss*/
Mtx_t D_80282810;
u8 pad_D_80282850[0x780];
Mtx * D_80282FD0;
/*.code*/
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_13990/func_802513B0.s")
#else

View File

@@ -2,7 +2,7 @@
#include "functions.h"
#include "variables.h"
extern struct {
struct {
u16 *unk0;
int unk4;
} D_80282FE0;

View File

@@ -11,23 +11,27 @@ typedef struct {
s32 unk14;
}Struct_Core1_15B30;
extern Gfx *D_80276580[2];
extern Mtx *D_80282FF0[2];
extern Vtx *D_80282FF8[2];
extern s32 D_80283000;
extern s32 D_80283004;
extern Struct_Core1_15B30 D_80283008[];
extern s32 D_802831E8;
extern OSMesgQueue D_802831F0;
extern OSMesg D_80283208;
extern u16 D_8028320C;
extern u16 D_8028320E;
extern u16 D_80283210;
extern u16 D_80283212;
extern Gfx *D_80283214;
extern u8 D_803A5D00[2][0x1ecc0];
/* .data */
extern Gfx *D_80276580[2];
/* .bss */
Mtx *D_80282FF0[2];
Vtx *D_80282FF8[2];
s32 D_80283000;
s32 D_80283004;
Struct_Core1_15B30 D_80283008[20];
s32 D_802831E8;
OSMesgQueue D_802831F0;
OSMesg D_80283208;
u16 D_8028320C;
u16 D_8028320E;
u16 D_80283210;
u16 D_80283212;
Gfx *D_80283214;
/* .h */
void func_80254348(void);
void func_80254464(void);

View File

@@ -2,11 +2,11 @@
#include "functions.h"
#include "variables.h"
extern u64 D_80283280[];
extern s32 D_80283380;
extern s32 D_80283384;
extern s32 D_80283388;
/* .bss */
u8 D_80283280[0x100];
s32 D_80283380;
s32 D_80283384;
s32 D_80283388;
void func_80255C30(void) {
D_80283384 = *(s32 *)0xA4000000 ^ -1;

View File

@@ -4,7 +4,13 @@
#include "SnS.h"
#include "save.h"
/* .bss */
StopNSwop_Data snsParsedKeys;
struct GlobalSave gSaveData;
s32 snsMinKeyToParse;
s32 snsMaxKeyToParse;
s32 snsParsedCurrPos;
u32 snsBackedUpItems;
void sns_init_parsing_params(s32 min, s32 max)
{

View File

@@ -3,18 +3,20 @@
#include "variables.h"
#include "SnS.h"
/**
* An index used to track the position in the incoming payload
* we should read the next key from.
*/
extern s32 snsPayloadInCurrPos;
/* .data*/
/**
* An index used to track the position in the outgoing payload
* it should write the next key to.
*/
extern s32 snsPayloadOutCurrPos;
/*.bss*/
/**
* An index used to track the position in the incoming payload
* we should read the next key from.
*/
s32 snsPayloadInCurrPos;
struct SnsPayload *snspayload_init_new_payload(struct SnsPayload *payload)
{

View File

@@ -0,0 +1,53 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
// extern f32 D_80285900;
f32 sinf(f32);
f32 cosf(f32);
// MATCHING but need to resolve core1 bss section for static D_80285900
void guRotateF(float mf[4][4], float a, float x, float y, float z)
{
static f32 D_80285900 = 3.1415926 / 180.0;
float sine;
float cosine;
float ab, bc, ca, t;
guNormalize(&x, &y, &z);
a *= D_80285900;
sine = sinf(a);
cosine = cosf(a);
t = (1-cosine);
ab = x*y*t;
bc = y*z*t;
ca = z*x*t;
guMtxIdentF(mf);
t = x*x;
mf[0][0] = t+cosine*(1-t);
mf[2][1] = bc-x*sine;
mf[1][2] = bc+x*sine;
t = y*y;
mf[1][1] = t+cosine*(1-t);
mf[2][0] = ca+y*sine;
mf[0][2] = ca-y*sine;
t = z*z;
mf[2][2] = t+cosine*(1-t);
mf[1][0] = ab-z*sine;
mf[0][1] = ab+z*sine;
}
// MATCHING with -O3, need to resolve bss section
void guRotate(Mtx *m, float a, float x, float y, float z)
{
float mf[4][4];
guRotateF(mf, a, x, y, z);
guMtxF2L(mf, m);
}

View File

@@ -7,10 +7,12 @@ extern u32 __osPiAccessQueueEnabled;
OSDevMgr __osPiDevMgr = {0};
OSPiHandle *__osPiTable = NULL;
OSPiHandle *__osCurrentHandle[2] = {&CartRomHandle, &LeoDiskHandle};
extern OSThread piThread;
extern char piThreadStack[OS_PIM_STACKSIZE];
extern OSMesgQueue piEventQueue;
extern OSMesg piEventBuf;
/* .bss */
OSThread piThread;
char piThreadStack[OS_PIM_STACKSIZE];
OSMesgQueue piEventQueue;
OSMesg piEventBuf;
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt)
{

View File

@@ -5,7 +5,9 @@
{ \
ptr = (void *)osVirtualToPhysical(ptr); \
}
extern OSTask tmp_task; // TODO bss (static)
OSTask tmp_task; // TODO bss (static)
static OSTask *_VirtualToPhysicalTask(OSTask *intp)
{
OSTask *tp;

View File

@@ -4,6 +4,8 @@
#include "osint.h"
OSDevMgr __osViDevMgr = {0};
/* .bss */
/*static*/ OSThread viThread;
/*static*/ unsigned char viThreadStack[OS_VIM_STACKSIZE];
/*static*/ OSMesgQueue viEventQueue;
@@ -54,7 +56,7 @@ void osCreateViManager(OSPri pri)
}
}
}
extern u16 retrace;
u16 retrace;
static void viMgrMain(void *arg)
{
__OSViContext *vc;

View File

@@ -1,5 +1,6 @@
#include <os_internal.h>
#include "osint.h"
__OSEventState __osEventStateTab[OS_NUM_EVENTS];
void osSetEventMesg(OSEvent event, OSMesgQueue *mq, OSMesg msg)
{

View File

@@ -1,55 +0,0 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
extern f32 D_80285900;
f32 sinf(f32);
f32 cosf(f32);
#pragma GLOBAL_ASM("asm/nonmatchings/core1/gu/rotate/guRotateF.s")
// MATCHING but need to resolve core1 bss section for static D_80285900
// void guRotateF(float mf[4][4], float a, float x, float y, float z)
// {
// static f32 D_80285900 = 3.1415926 / 180.0;
// float sine;
// float cosine;
// float ab, bc, ca, t;
// guNormalize(&x, &y, &z);
// a *= D_80285900;
// sine = sinf(a);
// cosine = cosf(a);
// t = (1-cosine);
// ab = x*y*t;
// bc = y*z*t;
// ca = z*x*t;
// guMtxIdentF(mf);
// t = x*x;
// mf[0][0] = t+cosine*(1-t);
// mf[2][1] = bc-x*sine;
// mf[1][2] = bc+x*sine;
// t = y*y;
// mf[1][1] = t+cosine*(1-t);
// mf[2][0] = ca+y*sine;
// mf[0][2] = ca-y*sine;
// t = z*z;
// mf[2][2] = t+cosine*(1-t);
// mf[1][0] = ab-z*sine;
// mf[0][1] = ab+z*sine;
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core1/gu/rotate/guRotate.s")
// MATCHING with -O3, need to resolve bss section
// void guRotate(Mtx *m, float a, float x, float y, float z)
// {
// float mf[4][4];
// guRotateF(mf, a, x, y, z);
// guMtxF2L(mf, m);
// }

View File

@@ -19,7 +19,7 @@ extern void func_80253010(void *dest, void *src, s32 size);
#define HEAP_SIZE 0x210520
#define LAST_HEAP_BLOCK HEAP_SIZE/sizeof(EmptyHeapBlock) - 1
enum {
extern enum {
HEAP_BLOCK_EMPTY = 0,
HEAP_BLOCK_USED = 1,
HEAP_BLOCK_PERM = 2
@@ -46,11 +46,7 @@ extern EmptyHeapBlock D_8023DA00;
extern struct{
bool unk0;
}D_802765B0;
extern void *D_80283224;
extern void *D_80283228;
extern s32 D_8028322C;
extern u32 heap_requested_size;
extern HeapHeader * D_80283234;
extern u32 heap_occupiedBytes; //occupied heap size
extern u8 D_80276594;
extern u8 D_80276598;
@@ -61,8 +57,13 @@ extern void *D_802765A8;
extern s32 D_802765AC;
extern UNK_TYPE(void *) D_802765B4;
extern s32 D_80283220;
extern struct {
s32 D_80283220;
void *D_80283224;
void *D_80283228;
s32 D_8028322C;
u32 heap_requested_size;
HeapHeader * D_80283234;
struct {
void *unk0[0x10];
void **unk40;
}D_80283238;

View File

@@ -20,6 +20,7 @@ OSTime osClockRate = OS_CLOCK_RATE;
s32 osViClock = VI_NTSC_CLOCK;
u32 __osShutdown = 0;
u32 __OSGlobalIntMask = OS_IM_ALL;
/* .bss */
u32 __osFinalrom;
void __osInitialize_common()

View File

@@ -590,37 +590,35 @@ void * func_80303800(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3)
return NULL;
}
//BKCollisionTri *
#ifndef NONMATCHING
BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags);
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303960.s")
#else
BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags) {
s32 cube_indx[3];
s32 min[3];
s32 max[3];
BKCollisionTri *temp_v0;
BKCollisionTri *var_s5;
Cube *cube;
var_s5 = NULL;
cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4);
if(cube_indx);
for(cube_indx[0] = min[0]; cube_indx[0] <= max[0]; cube_indx[0]++){
for(cube_indx[1] = min[1]; cube_indx[1] <= max[1]; cube_indx[1]++){
for(cube_indx[2] = min[2]; cube_indx[2] <= max[2]; cube_indx[2]++){
temp_v0 = func_80331638(cube_atIndices(cube_indx), volume_p1, volume_p2, radius, arg3, arg4, flags);
cube = cube_atIndices(cube_indx);
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
if (temp_v0 != NULL) {
var_s5 = temp_v0;
}
}
}
}
temp_v0 = func_80331638(func_8030364C(), volume_p1, volume_p2, radius, arg3, arg4, flags);
cube = func_8030364C();
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
if (temp_v0 != NULL) {
var_s5 = temp_v0;
}
return var_s5;
}
#endif
//BKCollisionTri *
BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
@@ -1777,13 +1775,57 @@ s32 func_80307164(Struct_core2_7AF80_2 *arg0) {
return -1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307258.s")
s32 func_80307258(f32 arg0[3], s32 arg1, s32 arg2) {
f32 temp_f14;
f32 temp_f2;
Struct_core2_7AF80_2 * temp_a0;
Struct_core2_7AF80_2 *temp_a3;
Struct_core2_7AF80_2 *var_v1;
Struct_core2_7AF80_1 *temp_v0;
temp_v0 = &D_8036A9BC[arg1];
var_v1 = temp_v0->unk8 + arg2;
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
return arg2;
}
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
temp_f2 = arg0[2] - var_v1->unk0[2];
temp_f14 = arg0[0] - var_v1->unk0[0];
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
return var_v1 - temp_v0->unk8;
}
}
return -1;
}
bool func_80307390(s32 arg0, s32 arg1) {
return (D_8036A9BC + arg0)->unk8[arg1].unk10_0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803073CC.s")
s32 func_803073CC(f32 arg0[3], s32 arg1, s32 arg2) {
f32 temp_f14;
f32 temp_f2;
Struct_core2_7AF80_2 * temp_a0;
Struct_core2_7AF80_2 *temp_a3;
Struct_core2_7AF80_2 *var_v1;
Struct_core2_7AF80_1 *temp_v0;
temp_v0 = &D_8036A9D4[arg1];
var_v1 = temp_v0->unk8 + arg2;
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
return arg2;
}
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
temp_f2 = arg0[2] - var_v1->unk0[2];
temp_f14 = arg0[0] - var_v1->unk0[0];
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
return var_v1 - temp_v0->unk8;
}
}
return -1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307504.s")
// s32 func_80307504(f32 arg0[3], s32 arg1, s32 arg2, s32 arg3, s32 arg4) {

View File

@@ -42,6 +42,7 @@ typedef union{
typedef bool( *Method_Core2_A5BC0)(NodeProp *, s32);
s32 func_80330974(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3);
s32 func_80320DB0(f32[3], f32, f32[3], u32);
extern void func_80320EB0(ActorMarker *, f32, s32);
extern void func_80320ED8(ActorMarker *, f32, s32);
@@ -51,13 +52,15 @@ void func_8032CD60(Prop *);
f32 func_8033A244(f32);
void func_8032F64C(f32 *pos, ActorMarker * marker);
/* .data */
extern s32 D_8036E7B0;
extern ModelCache *modelCache; //D_8036E7C0 //model pointer array pointer
extern u8 *D_8036E7C4;
extern ActorMarker *D_8036E7C8;
extern s16 D_8036E7E0[];
extern s16 D_8036E7FC[];
extern Struct6Cs D_8036E7D0; //= {NULL, NULL, NULL, func_80330974};
extern s16 D_8036E7E0[];//= {0x2D2, 0x2DD, 0x580, 0x6D1, 0x6D6, 0x6D7, 0x364, 0x2E8, 0x309, 0x30A, 0x704, 0x30D, 0x6C7, -1};
extern s16 D_8036E7FC[]; //={-1};
//extern s32 D_8036E800;
// extern u32 D_8036E804[8];
@@ -969,12 +972,8 @@ void func_8032F194(ActorMarker *marker, s32 position[3], Cube *cube) {
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_8032F21C.s")
#else
s32 func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
void func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
ActorProp *sp1C;
u8 temp_t0;
u8 temp_t2;
u8 temp_t6;
u8 temp_t8;
sp1C = func_8032D80C(cube);
sp1C->unk8_0 = TRUE;
@@ -982,8 +981,8 @@ s32 func_8032F21C(Cube *cube, s32 position[3], ActorMarker *marker, bool arg3) {
sp1C->y = (s16) position[1];
sp1C->z = (s16) position[2];
sp1C->marker = marker;
sp1C->unk8_15 = 0;
sp1C->unk8_1 = arg3;
sp1C->unk8_15 = 0;
sp1C->unk8_5 = FALSE;
sp1C->unk8_10 = (func_802E4A08(position)) ? 0xF : (u8)(randf() * 32);
@@ -1460,8 +1459,9 @@ s32 func_80330974(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3) {
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330B10.s")
Struct6Cs *func_80330B10(void){
return &D_8036E7D0;
}
//marker_loadModelBin
BKModelBin *func_80330B1C(ActorMarker *this){
@@ -1589,6 +1589,7 @@ s32 func_80330F94(NodeProp *arg0, s32 arg1[3]){
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_80330FC4.s")
void func_80330FCC(ActorMarker *marker, s32 arg1[3]){
arg1[0] = marker->propPtr->x;
arg1[1] = marker->propPtr->y;

View File

@@ -7,7 +7,7 @@
typedef s32 (*FuncUnk40)(ActorMarker *, s32, f32[3]);
typedef struct particle_struct_0_s{
typedef struct particle_struct_1_s{
f32 unk0[3];
f32 unkC[3];
u8 pad18[8];
@@ -24,6 +24,29 @@ typedef struct particle_struct_0_s{
u8 unk45;
u8 unk46;
u8 unk47;
} ParticleStruct1s;
typedef struct particle_struct_0_s{
f32 unk0;
f32 unk4;
f32 unk8;
f32 unkC;
f32 unk10;
f32 unk14;
u8 pad18[8];
s32 unk20;
s32 unk24;
s32 unk28;
u8 pad24[0x4];
ActorMarker *marker_30;
struct54s *unk34;
ActorMarker *unk38;
s32 unk3C;
FuncUnk40 unk40;
u8 unk44;
u8 unk45;
u8 unk46;
u8 unk47;
} ParticleStruct0s;
ActorMarker *func_8033E864(void);

View File

@@ -30,7 +30,7 @@ void func_803546E8(void) {
u8 sp4F;
struct54s* sp48;
u8 sp47;
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
f32 sp34[3];
f32 sp28[3];
@@ -64,7 +64,7 @@ void func_803546E8(void) {
}
void func_8035489C(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
u8 temp_v0;
f32 playerVelocity[3];
f32 playerPosition[3];
@@ -98,7 +98,7 @@ void func_80354998(void) {
ActorMarker *sp50;
struct54s *sp4C;
u8 sp4B;
ParticleStruct0s *temp_s0;
ParticleStruct1s *temp_s0;
f32 sp38[3];
f32 sp2C[3];
s32 sp28;
@@ -170,7 +170,7 @@ void func_80354998(void) {
}
void func_80354C18(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
s32 pad;
ActorMarker *sp4C;
u8 sp4B;
@@ -221,7 +221,7 @@ void func_80354C18(void) {
void func_80354DC8(void){}
void func_80354DD0(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
struct54s* sp40;
u8 sp3F;
u8 pad3C[3];
@@ -253,7 +253,7 @@ void func_80354DD0(void) {
}
void func_80354EEC(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
s32 pad;
ActorMarker *sp3C;
FuncUnk40 sp38;
@@ -293,7 +293,7 @@ void func_8035500C(void) {
u8 sp47;
struct54s* sp40;
u8 sp3F;
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
f32 sp2C[3];
f32 sp20[3];
@@ -322,7 +322,7 @@ void func_8035500C(void) {
}
void func_80355134(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
u8 temp_s1;
ActorMarker *sp3C;
FuncUnk40 sp38;
@@ -364,7 +364,7 @@ void func_8035529C(void) {
u8 sp4F;
struct54s* sp48;
u8 sp47;
ParticleStruct0s* sp40;
ParticleStruct1s* sp40;
f32 sp34[3];
f32 sp28[3];
@@ -393,7 +393,7 @@ void func_8035529C(void) {
}
void func_803553E8(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
u8 temp_s1;
ActorMarker *sp3C;
FuncUnk40 sp38;
@@ -436,7 +436,7 @@ void func_80355550(void) {
u8 sp3F;
struct54s *sp38;
u8 sp37;
ParticleStruct0s *sp30;
ParticleStruct1s *sp30;
f32 sp24[3];
f32 sp18[3];
@@ -474,7 +474,7 @@ void func_80355550(void) {
}
void func_8035570C(void) {
ParticleStruct0s* temp_s0;
ParticleStruct1s* temp_s0;
u8 temp_s1;
ActorMarker *sp3C;
FuncUnk40 sp38;
@@ -517,7 +517,7 @@ void func_80355864(void) {
static s32 D_803863E4;
f32 var_f2;
Actor *sp4C;
ParticleStruct0s *sp48;
ParticleStruct1s *sp48;
s32 sp44;
f32 sp38[3];
f32 sp2C[3];
@@ -559,7 +559,7 @@ void func_80355864(void) {
}
void func_80355B00(void) {
ParticleStruct0s *sp44;
ParticleStruct1s *sp44;
u8 sp43;
ActorMarker *pad40;
Actor *sp38;

View File

@@ -802,24 +802,17 @@ s32 gcpausemenu_getMaxPage(void){
return D_80383010.page_cnt;
}
#ifndef NONMATCHING
void gcpausemenu_getNextPage(s32);
#pragma GLOBAL_ASM("asm/nonmatchings/core2/gc/pauseMenu/gcpausemenu_getNextPage.s")
#else
void gcpausemenu_getNextPage(s32 arg0) {
D_80383010.unk9 = D_80383010.selection;
do{
D_80383010.unk9 += arg0;
if((D_80383010.unk39 != 0) && (D_80383010.unk9 == 0xC))
break;
}
while(((D_80383010.unk39 == 0) || (D_80383010.unk9 != 0xC))
&& (D_80383010.unk9 != 0)
&& itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0
);
while( (D_80383010.unk9 != 0) && itemscore_timeScores_get(D_8036C58C[D_80383010.unk9].level_id) == 0);
gcPauseMenu_setState((D_80383010.unk9 == 0xC) ? 0xA : 0xC);
D_80383010.unk7 = 6;
}
#endif
void gcpausemenu_updateBButtonAndJoystickSprites(void) {
f32 temp_f12;

View File

@@ -160,7 +160,7 @@ segments:
- [0x28AD0, c, done/io/viblack] #DONE
- [0x28B40, c, done/gu/ortho] #DONE
- [0x28D00, c, done/gu/translate] #DONE
- [0x28DA0, c, gu/rotate]
- [0x28DA0, c, done/gu/rotate]
- [0x28F90, c, done/io/contreaddata] #DONE
- [0x291F0, c, done/io/controller] #DONE
- [0x295B0, c, done/io/contsetch] #DONE
@@ -307,7 +307,7 @@ segments:
- [0x3B190, .rodata, done/gu/sinf]
- [0x3B1E0, .rodata, done/audio/cents2ratio]
- [0x3B1F0, bin, data_3B1F0] # .rodata, ultra/setintmask] # splat bug preventing this from linking correctly
- [0x3B2C0, bin, data_3B2C0] # .rodata, gu/rotate] # need to resolve .data section first
- [0x3B2C0, .rodata, done/gu/rotate] # need to resolve .data section first
- [0x3B2D0, .rodata, done/audio/cseq]
- [0x3B2E0, .rodata, done/audio/drvrNew]
- [0x3B300, .rodata, done/audio/reverb]
@@ -342,4 +342,17 @@ segments:
- [0x3c710, .bss, code_12F10]
- [0x3c710, .bss, code_13640]
- [0x3c710, .bss, code_136D0]
- [0x3c710, .bss, code_13990]
- [0x3c710, .bss, code_15770]
- [0x3c710, .bss, code_15B30]
- [0x3c710, .bss, memory]
- [0x3c710, .bss, code_18210]
- [0x3c710, .bss, code_1D5D0]
- [0x3c710, .bss, done/code_1E360]
- [0x3c710, .bss, os/initialize]
- [0x3c710, .bss, done/io/pimgr]
- [0x3c710, .bss, done/io/sptask]
- [0x3c710, .bss, done/os/seteventmesg]
- [0x3c710, .bss, done/io/vimgr]
- [0x3c710, .bss, done/gu/rotate]
- [0x3c710] # core1 end

View File

@@ -295,7 +295,7 @@ segments:
- [0x857B0, c, code_857B0] #DONE
- [0x85800, c, code_85800] #DONE
- [0x87E30, c, code_87E30]
- [0x8A7B0, c, gc/pauseMenu]
- [0x8A7B0, c, gc/pauseMenu] #DONE
- [0x8DC20, c, code_8DC20]
- [0x8E270, c, gc/zoombox] #DONE
- [0x91E10, c, code_91E10]