Shiftability / modern gcc work (#927)

* cleanup & fixes

* some pointers

* fix some bss syms

* sizes, modern gcc prep, etc

* Fixing errors on modern gcc

* a few fixes

* fixes
This commit is contained in:
Ethan Roseman 2023-01-31 11:12:03 -05:00 committed by GitHub
parent 3c44b74922
commit bc618160ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 203 additions and 216 deletions

View File

@ -21,7 +21,7 @@
/*---------------------------------------------------------------------*
Copyright (C) 1998 Nintendo. (Originated by SGI)
$RCSfile: os_message.h,v $
$Revision: 1.1 $
$Date: 1998/10/09 08:01:15 $
@ -63,7 +63,7 @@ typedef struct OSMesgQueue_s {
s32 first; /* Points to first valid message */
s32 msgCount; /* Contains total # of messages */
OSMesg *msg; /* Points to message buffer array */
} OSMesgQueue;
} OSMesgQueue; // size = 0x18
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */

View File

@ -21,7 +21,7 @@
/*---------------------------------------------------------------------*
Copyright (C) 1998 Nintendo. (Originated by SGI)
$RCSfile: os_thread.h,v $
$Revision: 1.3 $
$Date: 1999/06/15 12:39:40 $
@ -46,19 +46,19 @@ extern "C" {
typedef s32 OSPri;
typedef s32 OSId;
typedef union { struct { f32 f_odd; f32 f_even; } f; f64 d; } __OSfp;
typedef union { struct { f32 f_odd; f32 f_even; } f; f64 d; } __OSfp; // size = 0x8
typedef struct {
u64 at, v0, v1, a0, a1, a2, a3;
u64 t0, t1, t2, t3, t4, t5, t6, t7;
u64 s0, s1, s2, s3, s4, s5, s6, s7;
u64 t8, t9, gp, sp, s8, ra;
u64 lo, hi;
u32 sr, pc, cause, badvaddr, rcp;
u32 fpcsr;
__OSfp fp0, fp2, fp4, fp6, fp8, fp10, fp12, fp14;
__OSfp fp16, fp18, fp20, fp22, fp24, fp26, fp28, fp30;
} __OSThreadContext;
/* 0x000 */ u64 at, v0, v1, a0, a1, a2, a3;
/* 0x038 */ u64 t0, t1, t2, t3, t4, t5, t6, t7;
/* 0x078 */ u64 s0, s1, s2, s3, s4, s5, s6, s7;
/* 0x0B8 */ u64 t8, t9, gp, sp, s8, ra;
/* 0x0E8 */ u64 lo, hi;
/* 0x0F8 */ u32 sr, pc, cause, badvaddr, rcp;
/* 0x10C */ u32 fpcsr;
/* 0x110 */ __OSfp fp0, fp2, fp4, fp6, fp8, fp10, fp12, fp14;
/* 0x150 */ __OSfp fp16, fp18, fp20, fp22, fp24, fp26, fp28, fp30;
} __OSThreadContext; // size = 0x190
typedef struct {
u32 flag;
@ -67,17 +67,17 @@ typedef struct {
} __OSThreadprofile_s;
typedef struct OSThread_s {
struct OSThread_s *next; /* run/mesg queue link */
OSPri priority; /* run/mesg queue priority */
struct OSThread_s **queue; /* queue thread is on */
struct OSThread_s *tlnext; /* all threads queue link */
u16 state; /* OS_STATE_* */
u16 flags; /* flags for rmon */
OSId id; /* id for debugging */
int fp; /* thread has used fp unit */
__OSThreadprofile_s *thprof; /* workarea for thread profiler */
__OSThreadContext context; /* register/interrupt mask */
} OSThread;
/* 0x000 */ struct OSThread_s *next; /* run/mesg queue link */
/* 0x004 */ OSPri priority; /* run/mesg queue priority */
/* 0x008 */ struct OSThread_s **queue; /* queue thread is on */
/* 0x00C */ struct OSThread_s *tlnext; /* all threads queue link */
/* 0x010 */ u16 state; /* OS_STATE_* */
/* 0x012 */ u16 flags; /* flags for rmon */
/* 0x014 */ OSId id; /* id for debugging */
/* 0x018 */ int fp; /* thread has used fp unit */
/* 0x01C */ __OSThreadprofile_s *thprof; /* workarea for thread profiler */
/* 0x020 */ __OSThreadContext context; /* register/interrupt mask */
} OSThread; // size = 0x1B0
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */

View File

@ -33,6 +33,7 @@ void shim_transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32*
s32 shim_npc_raycast_down_sides(s32, f32*, f32*, f32*, f32*);
void shim_sfx_play_sound_at_position(s32 soundID, s32 value2, f32 posX, f32 posY, f32 posZ);
void shim_mdl_draw_hidden_panel_surface(Gfx**, u16 treeIndex);
s32 shim_func_8011CFBC(f32, f32, f32, s32, f32*, f32*);
void shim_draw_box(s32 flags, WindowStyle windowStyle, s32 posX, s32 posY, s32 posZ, s32 width, s32 height, u8 opacity,
u8 darkening, f32 scaleX, f32 scaleY, f32 rotX, f32 rotY, f32 rotZ, void (*fpDrawContents)(void*),
void* drawContentsArg0, Matrix4f rotScaleMtx, s32 translateX, s32 translateY, f32 (*outMtx)[4]);

View File

@ -394,7 +394,7 @@ typedef struct st_SCClient { /* Client list structure */
NUScMsg msgType; /* Type of message */
/* NU_SC_RETRACE_MSG or*/
/* NU_SC_PRENMI_MSG */
} NUScClient;
} NUScClient; // size = 0xA
typedef struct st_SCTask { /* Task structure */
struct st_SCTask *next;
@ -409,46 +409,46 @@ typedef struct st_SCTask { /* Task structure */
typedef struct st_Sched { /* Define the Scheduler structure. */
/* message */
NUScMsg retraceMsg;
NUScMsg prenmiMsg;
/* 0x000 */ NUScMsg retraceMsg;
/* 0x002 */ NUScMsg prenmiMsg;
/* Define the Task request queue. */
OSMesgQueue audioRequestMQ;
OSMesg audioRequestBuf[NU_SC_MAX_MESGS];
OSMesgQueue graphicsRequestMQ;
OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS];
/* 0x004 */ OSMesgQueue audioRequestMQ;
/* 0x01C */ OSMesg audioRequestBuf[NU_SC_MAX_MESGS];
/* 0x03C */ OSMesgQueue graphicsRequestMQ;
/* 0x054 */ OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS];
/* Define the message queue. */
OSMesgQueue retraceMQ;
OSMesg retraceMsgBuf[NU_SC_MAX_MESGS];
OSMesgQueue rspMQ;
OSMesg rspMsgBuf[NU_SC_MAX_MESGS];
OSMesgQueue rdpMQ;
OSMesg rdpMsgBuf[NU_SC_MAX_MESGS];
/* 0x074 */ OSMesgQueue retraceMQ;
/* 0x08C */ OSMesg retraceMsgBuf[NU_SC_MAX_MESGS];
/* 0x0AC */ OSMesgQueue rspMQ;
/* 0x0C4 */ OSMesg rspMsgBuf[NU_SC_MAX_MESGS];
/* 0x0E4 */ OSMesgQueue rdpMQ;
/* 0x0FC */ OSMesg rdpMsgBuf[NU_SC_MAX_MESGS];
/* Implement wait for next retrace. */
OSMesgQueue waitMQ;
OSMesg waitMsgBuf[NU_SC_MAX_MESGS];
/* 0x11C */ OSMesgQueue waitMQ;
/* 0x134 */ OSMesg waitMsgBuf[NU_SC_MAX_MESGS];
/* Define threads.*/
OSThread schedulerThread; /* Main thread */
OSThread audioThread; /* Audio */
OSThread graphicsThread; /* Graphics */
/* 0x154 */ OSThread schedulerThread; /* Main thread */
/* 0x304 */ OSThread audioThread; /* Audio */
/* 0x4B4 */ OSThread graphicsThread; /* Graphics */
/* client list */
NUScClient *clientList;
/* 0x664 */ NUScClient *clientList;
/* The graphics task being executed. */
NUScTask *curGraphicsTask;
NUScTask *curAudioTask;
NUScTask *graphicsTaskSuspended;
/* 0x668 */ NUScTask *curGraphicsTask;
/* 0x66C */ NUScTask *curAudioTask;
/* 0x670 */ NUScTask *graphicsTaskSuspended;
u32 retraceCount;
u8 frameRate;
u8 frameBufferNum; /* Number of frame buffers */
/* 0x674 */ u32 retraceCount;
/* 0x678 */ u8 frameRate;
/* 0x679 */ u8 frameBufferNum; /* Number of frame buffers */
} NUSched;
} NUSched; // size = 0x67A
/*--------------------------------------*/

View File

@ -346,8 +346,6 @@ void spr_load_npc_extra_anims(SpriteAnimData* header, u32* extraAnimList) {
SpriteComponent** spr_allocate_components(s32 count) {
s32 listSize;
void** heap;
SpriteComponent **new_var;
SpriteComponent** listStart;
SpriteComponent* component;
SpriteComponent** listPos;
@ -361,10 +359,12 @@ SpriteComponent** spr_allocate_components(s32 count) {
if (spr_allocateBtlComponentsOnWorldHeap) {
listStart = _heap_malloc(&heap_generalHead, totalSize);
component = (SpriteComponent*) listPos = listStart;
listPos = listStart;
component = (SpriteComponent*) listPos;
} else {
listStart = _heap_malloc(&gSpriteHeapPtr, totalSize);
component = (SpriteComponent*) listPos = listStart;
listPos = listStart;
component = (SpriteComponent*) listPos;
}
component = (SpriteComponent*)((s32)(component) + (listSize / 4) * 4);

View File

@ -3,6 +3,7 @@
extern u8 obfuscated_create_audio_system[];
#ifdef SHIFT
void create_audio_system(void);
void func_80200000(void) {
create_audio_system();
}

View File

@ -5,6 +5,7 @@
extern u8 obfuscated_load_engine_data[];
#ifdef SHIFT
void load_engine_data(void);
void func_80200080(void) {
load_engine_data();
}

View File

@ -3648,7 +3648,7 @@ void func_80114B58(u32 romOffset, TextureHandle* handle, TextureHeader* header,
handle->gfx = (Gfx*) mdl_nextTextureAddress;
memcpy(&handle->header, header, sizeof(*header));
func_801180E8(header, (Gfx**)&mdl_nextTextureAddress, handle->raster, handle->palette, handle->auxRaster, handle->auxPalette, 0, 0, 0, 0);
gSPEndDisplayList(((Gfx*) mdl_nextTextureAddress)++);
gSPEndDisplayList(((Gfx*)mdl_nextTextureAddress)++);
}
void load_tile_header(ModelNodeProperty* propertyName, s32 romOffset, s32 size) {

View File

@ -25,7 +25,6 @@ extern NUDMABuffer* D_800A3BD4;
extern NUDMABuffer nuAuDmaBufList[50];
extern AuSynDriver auSynDriver;
extern u64 rspbootUcodeBuffer[];
extern OSMesgQueue D_800DA444;
extern s32 AlNumFields;
extern u64 n_aspMain_text_bin[];
extern u64 n_aspMain_data_bin[];
@ -132,7 +131,7 @@ void nuAuMgr(void* arg) {
D_800A3520[cmdListIndex].msgQ = &auRtnMesgQ;
D_800A3520[cmdListIndex].list.t.data_ptr = (u64*)cmdListBuf;
D_800A3520[cmdListIndex].list.t.data_size = (cmdListAfter_ptr - cmdListBuf) * sizeof(Acmd);
osSendMesg(&D_800DA444, &D_800A3520[cmdListIndex], OS_MESG_BLOCK);
osSendMesg(&nusched.audioRequestMQ, &D_800A3520[cmdListIndex], OS_MESG_BLOCK);
nuAuCleanDMABuffers();
osRecvMesg(&auRtnMesgQ, NULL, 1);
if (++bufferIndex == 3) {

View File

@ -115,7 +115,7 @@ extern StaticAnimatorNode* N(anim1)[];
extern StaticAnimatorNode* N(AnimModel_MainHeadVine)[];
extern StaticAnimatorNode* N(AnimModel_SideHeadVine)[];
extern StaticAnimatorNode* N(AnimModel_ExtraVine)[];
extern AnimScript N(anim1_8021A364)[];
extern AnimScript N(anim1_8021A364);
extern s32 b_area_kzn2_lava_bud_idleAnimations_fiery[];
extern s32 N(defenseTable_fiery)[];

View File

@ -16,7 +16,7 @@ extern Gfx D_090015D0_37EFA0[];
extern Gfx D_09001648_37F018[];
extern Gfx D_090016C0_37F090[];
extern Gfx D_09001738_37F108[];
extern Gfx D_090017B0_37F190[];
extern Gfx D_090017B0_37F180[];
Gfx* D_E007C510[] = {
D_09001378_37ED48, D_090013F0_37EDC0, D_09001468_37EE38,
@ -95,19 +95,16 @@ void blast_render(EffectInstance* effect) {
#ifdef NON_MATCHING
void blast_appendGfx(void* effect) {
Matrix4f sp18, sp58, sp98;
Gfx* dlist = D_090017B0_37F190;
BlastFXData* data = ((EffectInstance*)effect)->data.blast;
s32 temp_f4;
s32 alpha;
f32 new_var;
new_var = (temp_f4 = data->unk_20);
alpha = (new_var - ((s32) data->unk_20)) * 256.0f;
Gfx* dlist = D_090017B0_37F180;
s32 unk_20 = data->unk_20;
f32 unk_20f = unk_20;
s32 envAlpha = (unk_20f - unk_20) * 256.0f;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09001300_37ECD0);
gSPDisplayList(gMasterGfxPos++, D_E007C510[temp_f4]);
gSPDisplayList(gMasterGfxPos++, D_E007C510[unk_20]);
shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
@ -126,7 +123,7 @@ void blast_appendGfx(void* effect) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 128, 127);
}
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 139, alpha);
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 139, envAlpha);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);

View File

@ -17,8 +17,8 @@ extern Gfx D_09001570_37C340[];
extern Gfx D_09001618_37C3E8[];
extern Gfx D_090016C0_37C490[];
Gfx* D_E0078900[] = {
D_09001400_37C1D0, D_090014B8_37C288, D_09001570_37C340, D_09001618_37C3E8, D_090016C0_37C490, D_09001570_37C340
Gfx* D_E0078900[] = {
D_09001400_37C1D0, D_090014B8_37C288, D_09001570_37C340, D_09001618_37C3E8, D_090016C0_37C490, D_09001570_37C340
};
UnkBulbGlow D_E0078918[] = {
@ -157,33 +157,27 @@ void bulb_glow_appendGfx(void* effect) {
f32 sp18;
f32 sp1C;
s32 sp20;
s32 sp24;
s32 sp28;
EffectInstance* effectTemp = effect;
BulbGlowFXData* data = effectTemp->data.bulbGlow;
Gfx* temp_a0_4;
Gfx* temp_a1;
Gfx* temp_a3;
Gfx* temp_a3_2;
Gfx* temp_v1;
s32 sp30;
BulbGlowFXData* data = ((EffectInstance*) effect)->data.bulbGlow;
s32 unk_10;
s32 unk_00;
UnkBulbGlow* temp_s1;
s32 temp_s3;
s32 temp_s6;
s32 i;
s32 j;
f32 temp_f0;
f32 temp_f4;
s32 temp_a0_3;
s32 temp_a2;
s32 temp_a0_2;
s32 temp_f6;
s32 temp_lo;
s32 temp_s0_2;
s32 temp_s2;
s32 temp_s2_2;
s32 temp_s3;
s32 temp_s6;
s32 temp_s6_2;
s32 temp_t0;
s32 temp_t5;
s32 var_s4;
s32 var_t2;
s32 var_t3;
s32 var_t4;
s32 var_t5;
s32 var_t7;
@ -192,44 +186,42 @@ void bulb_glow_appendGfx(void* effect) {
u32 temp_t6;
u8* temp_v0;
s32 j;
var_s4 = data->unk_10;
temp_s2 = data->unk_00;
if (var_s4 > 127) {
var_s4 = 127;
unk_10 = data->unk_10;
unk_00 = data->unk_00;
if (unk_10 > 127) {
unk_10 = 127;
}
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
temp_s1 = &D_E0078918[temp_s2];
temp_s1 = &D_E0078918[unk_00];
temp_s6 = temp_s1->unk_10;
temp_s3 = temp_s1->unk_14;
var_v1 = shim_func_8011CFBC(data->pos.x, data->pos.y);
if (temp_s2 == 5) {
var_v1 = shim_func_8011CFBC(data->pos.x, data->pos.y, data->pos.z, data->unk_1C, &sp18, &sp1C);
if (unk_00 == 5) {
var_v1 = 1;
}
if ((var_v1 != 0) && !(sp18 < 0.0f) && !(sp1C < 0.0f) && !(sp18 >= 320.0f) && !(sp1C >= 240.0f)) {
gSPDisplayList(gMasterGfxPos++, D_E0078900[temp_s2]);
u8 r, g, b;
temp_v0 = D_E00789AC[data->unk_20 * 3];
temp_t0 = var_s4 * 2;
temp_f0 = (f32) temp_s6;
sp20 = (s32) (sp18 - temp_f0);
temp_a0_3 = temp_s6 * 2;
var_t7 = sp20 + temp_a0_3;
temp_f6 = (s32) (sp1C - temp_f0);
var_t4 = temp_f6 + temp_a0_3;
gSPDisplayList(gMasterGfxPos++, D_E0078900[unk_00]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0,
(temp_v0[0] * temp_t0) / 255,
(temp_v0[1] * temp_t0) / 255,
(temp_v0[2] * temp_t0) / 255,
127
);
temp_v0 = &D_E00789AC[data->unk_20 * 3];
temp_t0 = unk_10 * 2;
r = temp_v0[0] * temp_t0 / 255;
g = temp_v0[1] * temp_t0 / 255;
b = temp_v0[2] * temp_t0 / 255;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, r, g, b, 127);
sp20 = sp18 - temp_s6;
var_t7 = sp20 + temp_s6 * 2;
temp_f6 = sp1C - temp_s6;
var_t4 = temp_f6 + temp_s6 * 2;
var_t5 = 0;
if (sp20 < 0) {
@ -239,69 +231,37 @@ void bulb_glow_appendGfx(void* effect) {
if (temp_f6 < 0) {
var_v1_2 = -temp_f6;
}
if (var_t7 > SCREEN_WIDTH) {
var_t7 = SCREEN_WIDTH - 1;
if (var_t7 > 320) {
var_t7 = 319;
}
if (var_t4 > SCREEN_HEIGHT) {
var_t4 = SCREEN_HEIGHT - 1;
if (var_t4 > 240) {
var_t4 = 239;
}
var_t3 = var_v1_2 / temp_s3;
temp_lo = (s32) (var_t4 - temp_f6) / temp_s3;
sp24 = temp_lo;
if (var_t3 < temp_lo) {
temp_s6_2 = sp20 + var_t5;
sp28 = (var_t7 - temp_s6_2) * 2;
var_t2 = (var_t3 * temp_s3) + temp_f6;
loop_19:
if ((var_t2 + temp_s3) < 0xF0) {
temp_f4 = (f32) sp20;
temp_t5 = ((temp_s6_2 * 4) & 0xFFF) << 0xC;
temp_s2_2 = (((var_t7 - 1) * 4) & 0xFFF) << 0xC;
temp_s0_2 = ((temp_s3 - 1) * 4) & 0xFFF;
temp_a3_2->words.w0 = ((((s32) (temp_f4 * temp_s1->unk_08) * 4) & 0xFFF) << 0xC) | ((((s32) ((f32) (temp_s1->unk_04 * 0x14) - ((f32) (var_t3 * temp_s1->unk_14) * temp_s1->unk_0C)) * 4) & 0xFFF) | 0xF2000000);
temp_a3_2->words.w1 = ((((s32) ((temp_f4 * temp_s1->unk_08) + (f32) temp_s1->unk_00) * 4) & 0xFFF) << 0xC) | (((s32) ((f32) (temp_s1->unk_04 * 0x15) - ((f32) (var_t3 * temp_s1->unk_14) * temp_s1->unk_0C)) * 4) & 0xFFF);
for (i = var_v1_2 / temp_s3; i < temp_lo; i++) {
if ((i + 1) * temp_s3 + temp_f6 >= 240) {
break;
}
for (j = 0; j < 1; j++) {
temp_a0_4->words.w0 = 0xFD10013F;
temp_a0_4->words.w1 = (u32) (nuGfxCfb_ptr + (var_t2 * 0x280) + 0x80000000);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(s32) (sp20 * temp_s1->unk_08) * 4,
(s32) (temp_s1->unk_04 * 0x14 - i * temp_s1->unk_14 * temp_s1->unk_0C) * 4,
(s32) (sp20 * temp_s1->unk_08 + temp_s1->unk_00) * 4,
(s32) (temp_s1->unk_04 * 0x15 - i * temp_s1->unk_14 * temp_s1->unk_0C) * 4);
temp_a1->words.w0 = ((((s32) (sp28 + 7) >> 3) & 0x1FF) << 9) | 0xF5100100;
temp_a1->words.w1 = 07020090
temp_a1->unk8 = E600000000000000
temp_a2 = var_t2 + temp_s3;
temp_a1->unk10 = temp_t5 | 0xF4000000;
temp_a1->unk14 = (s32) (temp_s2_2 | (temp_s0_2 | 0x07000000));
temp_a1->unk18 = E700000000000000
temp_a1->unk20 = ((((s32) (sp28 + 7) >> 3) & 0x1FF) << 9) | 0xF5100100;
temp_a1->unk24 = 0x01020090;
temp_a1->unk28 = (s32) (temp_t5 | 0xF2000000);
temp_a1->unk2C = (s32) (temp_s2_2 | (temp_s0_2 | 0x01000000));
temp_a1->unk30 = (s32) ((((var_t7 * 4) & 0xFFF) << 0xC) | (((temp_a2 * 4) & 0xFFF) | 0xE4000000));
temp_a1->unk34 = (s32) (temp_t5 | ((var_t2 * 4) & 0xFFF));
temp_a1->unk38 = E1000000
temp_a1->unk3C = (s32) ((temp_s6_2 & 0x1FF) << 0x15);
temp_a1->unk40 = F100000004000400
temp_a1->unk48 = E700000000000000
}
var_t3 += 1;
var_t2 = temp_a2;
if (var_t3 < sp24) {
goto loop_19;
}
for (j = 0; j < 1; j++) {
gDPLoadMultiTile(gMasterGfxPos++, VIRTUAL_TO_PHYSICAL(nuGfxCfb_ptr + (i * temp_s3 + temp_f6) * 0x280),
0x0100, 1, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 0, sp20 + var_t5, 0, var_t7 - 1, temp_s3 - 1,
0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 9, 8, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gMasterGfxPos++, (sp20 + var_t5) * 4, (i * temp_s3 + temp_f6) * 4, var_t7 * 4, ((i + 1) * temp_s3 + temp_f6) * 4, G_TX_RENDERTILE, sp20 + var_t5, 0, 0x0400, 0x0400);
gDPPipeSync(gMasterGfxPos++);
}
}
}
}
#else
INCLUDE_ASM(s32, "effects/bulb_glow", bulb_glow_appendGfx);
#endif

View File

@ -22,7 +22,7 @@
#include "effects/gfx/D_09001648_37F018.gfx.inc.c"
#include "effects/gfx/D_090016C0_37F090.gfx.inc.c"
#include "effects/gfx/D_09001738_37F108.gfx.inc.c"
#include "effects/gfx/D_090017A0_37F180.gfx.inc.c"
#include "effects/gfx/D_090017B0_37F180.gfx.inc.c"
#include "effects/gfx/D_090017D0_37F1A0.gfx.inc.c"
#include "effects/gfx/D_090018C0_37F290.gfx.inc.c"

View File

@ -168,7 +168,6 @@ s32 ALT_load_entity_model(EntityModelScript* cmdList) {
void exec_entity_model_commandlist(s32 idx) {
EntityModel* entityModel;
void* temp_v0_2;
if (!gGameStatusPtr->isBattle || (idx & BATTLE_ENTITY_ID_MASK)) {
idx &= ~BATTLE_ENTITY_ID_MASK;

View File

@ -282,7 +282,7 @@ void filemenu_yesno_handle_input(MenuPanel* menu) {
clear_player_data();
clear_saved_variables();
gGameStatusPtr->areaID = 0;
gGameStatusPtr->mapID = 0xB;
gGameStatusPtr->mapID = 11;
gGameStatusPtr->entryID = 0;
evt_set_variable(NULL, GB_StoryProgress, STORY_INTRO);

View File

@ -23,12 +23,21 @@ typedef union {
#define __ll_lowpart(t) ((USItype) (t) % __ll_B)
#define __ll_highpart(t) ((USItype) (t) / __ll_B)
#ifdef SHIFT
#define umul_ppmm(w1, w0, u, v) \
do { \
UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \
(w1) = (USItype) (__x >> 32); \
(w0) = (USItype) (__x); \
} while (0)
#else
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3" \
: "=l" ((USItype) (w0)), \
"=h" ((USItype) (w1)) \
: "d" ((USItype) (u)), \
"d" ((USItype) (v)))
#endif
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
do { \

View File

@ -1356,6 +1356,7 @@ void dma_load_msg(u32 msgID, void* dest) {
dma_copy(MSG_ROM_START + offset[0], MSG_ROM_START + offset[1], dest);
}
#else
void dma_load_msg(u32 msgID, void* dest);
INCLUDE_ASM_SHIFT(void, "msg", dma_load_msg);
#endif

View File

@ -16,7 +16,6 @@ extern NUScTask nuGfxTask[NU_GFX_TASK_NUM];
extern s32 D_800DA040;
extern s32 D_800B91D0;
extern u8 rspbootUcodeBuffer[];
extern OSMesgQueue D_800DA47C;
void nuGfxTaskMgr(void* data) {
NUScTask* task;
@ -116,6 +115,6 @@ void nuGfxTaskStart(Gfx* gfxList_ptr, u32 gfxListSize, u32 ucode, u32 flag) {
nuGfxTaskSpool++;
osSetIntMask(mask);
osWritebackDCacheAll();
osSendMesg(&D_800DA47C, (void*) nuGfxTask_ptr, OS_MESG_BLOCK);
osSendMesg(&nusched.graphicsRequestMQ, (void*) nuGfxTask_ptr, OS_MESG_BLOCK);
nuGfxTask_ptr = nuGfxTask_ptr->next;
}

View File

@ -131,7 +131,8 @@ BSS s32 D_8024F448[10];
BSS s32 D_8024F470_hos_bss[10];
BSS s32 D_8024F498[10];
BSS s32 hos_05_D_8024F4C0[10];
BSS s32 D_8024F4E8[34];
BSS s32 D_8024F4E8[10];
BSS s32 D_8024F510[24];
ApiStatus func_80240880_A2AAC0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;

View File

@ -78,7 +78,7 @@ ApiStatus func_802403A0_D36690(Evt* script, s32 isInitialCall) {
s32 len = 92;
s32 i;
script->varTable[0] = (s32) array = heap_malloc(92 * sizeof(*array));
script->varTablePtr[0] = array = heap_malloc(92 * sizeof(*array));
for (i = 0; i < 91; i++) {
array[i] = 128 + i;
}

View File

@ -43,7 +43,7 @@ EvtScript N(EVS_NpcHit_Magikoopa) = {
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER)
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER)
EVT_CALL(GetSelfAnimationFromTable, 7, LVar0)
EVT_EXEC_WAIT(0x800936DC)
EVT_EXEC_WAIT(EVS_NpcHitRecoil)
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_RETURN

View File

@ -490,7 +490,7 @@ MapConfig hos_maps[] = {
{ MAP(hos_02), .bgName = "hos_bg" },
{ MAP(hos_03), .bgName = "hos_bg" },
{ MAP_UNSPLIT(hos_04, 0x80240EE0), .bgName = "hos_bg" },
{ MAP_UNSPLIT(hos_05, 0x80245910), .bgName = "hos_bg", .songVariation = 1, .sfxReverb = 2 },
{ MAP(hos_05), .bgName = "hos_bg", .songVariation = 1, .sfxReverb = 2 },
{ MAP_UNSPLIT(hos_06, 0x80242570), .bgName = "hos_bg" },
{ MAP_UNSPLIT(hos_10, 0x80240CE0), .bgName = "hos_bg", .init = (MapInit)0x80240000 },
{ MAP_UNSPLIT(hos_20, 0x80240390), .bgName = "hos_bg" },

View File

@ -53,6 +53,7 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
cross = "mips-linux-gnu-"
cc = f"{BUILD_TOOLS}/cc/gcc/gcc"
cc_modern = f"mips-linux-gnu-gcc"
cc_ido = f"{BUILD_TOOLS}/cc/ido5.3/cc"
cc_272_dir = f"{BUILD_TOOLS}/cc/gcc2.7.2/"
cc_272 = f"{cc_272_dir}/gcc"
@ -67,6 +68,7 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
"-DVERSION=$version -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc"
cflags = f"-c -G0 -O2 -gdwarf-2 -x c -B {BUILD_TOOLS}/cc/gcc/ {extra_cflags}"
cflags_modern = f"-c -G0 -fno-builtin-bcopy -fno-tree-loop-distribute-patterns -funsigned-char -mabi=32 -mgp32 -mfp32 -mno-gpopt -mabi=32 -mfix4300 -fno-toplevel-reorder -mno-abicalls -fno-pic -fno-exceptions -fno-stack-protector -fno-zero-initialized-in-bss -O2 -march=vr4300 -w -gdwarf-2 -x c {extra_cflags}"
cflags_272 = f"-c -G0 -mgp32 -mfp32 -mips3 {extra_cflags}"
cflags_272 = cflags_272.replace("-ggdb3","-g1")
@ -102,6 +104,13 @@ def write_ninja_rules(ninja: ninja_syntax.Writer, cpp: str, cppflags: str, extra
deps="gcc",
)
ninja.rule("cc_modern",
description="gcc $in",
command=f"bash -o pipefail -c '{cpp} {CPPFLAGS} {cppflags} $cppflags -MD -MF $out.d $in -o - | {iconv} | {ccache}{cc_modern} {cflags_modern} $cflags - -o $out'",
depfile="$out.d",
deps="gcc",
)
ninja.rule("cc_ido",
description="ido $in",
command=f"{ccache}{cc_ido} -w {CPPFLAGS_COMMON} {cppflags} $cppflags -c -mips1 -O0 -G0 -non_shared -Xfullwarn -Xcpluscomm -o $out $in",
@ -342,7 +351,7 @@ class Configure:
if task == "yay0":
implicit.append(YAY0_COMPRESS_TOOL)
elif task in ["cc", "cxx"]:
elif task in ["cc", "cxx", "cc_modern"]:
order_only.append("generated_headers_" + self.version)
ninja.build(
@ -384,6 +393,10 @@ class Configure:
if entry.src_paths[0].suffixes[-1] == ".cpp":
task = "cxx"
top_lev_name = seg.get_most_parent().name
# if "evt" in top_lev_name:
# task = "cc_modern"
if seg.name.endswith("osFlash"):
task = "cc_ido"
elif "gcc_272" in cflags:

View File

@ -1001,31 +1001,13 @@ dlabel D_800DA040
.space 0x00000400
dlabel nusched
.space 4
dlabel D_800DA444
.space 0x00000038
dlabel D_800DA47C
.space 0x00000038
dlabel D_800DA4B4
.space 0x000000a8
dlabel D_800DA55C
.space 0x0000054c
dlabel D_800DAAA8
.space 0x00000010
.space 0x678
dlabel AlNumFields
.space 4
dlabel D_800DAABC
.space 1
dlabel D_800DAABD
.space 3
.space 4
dlabel __osEepromTimerQ
.space 0x00000018

View File

@ -3,7 +3,13 @@
.section .data
dlabel D_80245860_A2FAA0
.word 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x442F0000, 0x00000000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43B10000, 0x00000000, 0x43930000, 0x42EA0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80245B34, D_80245860_A2FAA0, 0x0000000B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190021
.word 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x442F0000, 0x00000000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x42AA0000, 0x43C30000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x43B10000, 0x00000000, 0x43930000, 0x42EA0000
dlabel hos_05_settings
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80245B34_A2FD74, D_80245860_A2FAA0, 0x0000000B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190021
dlabel D_80245950_A2FB90
.word 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x000007EE, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000001, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000001, 0x00000008, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, D_80245950_A2FB90, 0x00000016, 0x00000001, 0x00000004, 0x0000001C, 0x00000000, 0x0000000A, 0x00000002, 0xF9718935, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000063, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000
.word 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x000007EE, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000095, 0x00000001, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802459B0_A2FBF0
.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000062, 0x00000001, 0x00000008, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000016, 0x00000001, 0x00000003, 0x00000044, 0x00000001, D_80245950_A2FB90, 0x00000016, 0x00000001, 0x00000004, 0x0000001C, 0x00000000, 0x0000000A, 0x00000002, 0xF9718935, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000063, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x80000065, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -6,13 +6,16 @@ dlabel D_80245A90_A2FCD0
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x8024F1C0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80245AEC_A2FD2C
.word 0x00000047, 0x00000005, D_80245A90_A2FCD0, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x8024E828, 0x00000080, 0x0000000D, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802494C0, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802494E4, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80245E0C_A3004C, 0x00000046, 0x00000001, 0x802459B0, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000024, 0x00000002, 0xFE363C80, D_80245AEC_A2FD2C, 0x00000044, 0x00000001, EnterWalk, 0x00000016, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000046, 0x00000001, 0x8024ED24, 0x00000044, 0x00000001, D_80245AEC_A2FD2C, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, 0x8024ACC0, 0x00000023, 0x00000000, 0x00000044, 0x00000001, 0x8024DBDC, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000092, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000021, 0x00000002, 0x00000000, 0x00000001, 0x00000044, 0x00000001, 0x8024E00C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000047, 0x00000005, D_80245A90_A2FCD0, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024E828_A38A68, 0x00000080, 0x0000000D, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80245B34_A2FD74
.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802494C0_A33600, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, D_802494E4_A33624, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80245E0C_A3004C, 0x00000046, 0x00000001, D_802459B0_A2FBF0, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8480, 0x00000024, 0x00000002, 0xFE363C80, D_80245AEC_A2FD2C, 0x00000044, 0x00000001, EnterWalk, 0x00000016, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000046, 0x00000001, D_8024ED24_A38F64, 0x00000044, 0x00000001, D_80245AEC_A2FD2C, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, 0x8024ACC0, 0x00000023, 0x00000000, 0x00000044, 0x00000001, D_8024DBDC_A37E1C, 0x00000043, 0x00000003, EnableGroup, 0x00000090, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000092, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000021, 0x00000002, 0x00000000, 0x00000001, 0x00000044, 0x00000001, D_8024E00C_A3824C, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80245D70_A2FFB0
.word 0x0000004D, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C86, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C87, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000001, 0x00000043, 0x00000001, hos_05_UpdateTexturePanSmooth, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, hos_05_UpdateTexturePanStepped, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80245E0C_A3004C
.word 0x00000044, 0x00000001, 0x8024DF28, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000064, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFCE, 0x00000024, 0x00000002, 0xFE363C84, 0x00000078, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000019, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C82, 0x0000008C, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000000F, 0x0000000C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000044, 0x00000001, D_8024DF28_A38168, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000064, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFCE, 0x00000024, 0x00000002, 0xFE363C84, 0x00000078, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000019, 0x00000001, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFB0, 0x00000024, 0x00000002, 0xFE363C82, 0x0000008C, 0x00000024, 0x00000002, 0xFE363C83, 0x00000050, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C86, 0x00000001, 0x00000024, 0x00000002, 0xFE363C87, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x00000001, 0x00000024, 0x00000002, 0xFE363C89, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000044, 0x00000001, D_80245D70_A2FFB0, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000000F, 0x0000000C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80246028_A30268
.word 0x00000043, 0x00000001, func_80240690_A2A8D0, 0x00000003, 0x00000001, 0x00000000, 0x0000002C, 0x00000002, 0xFE363C8B, 0xFE363C8D, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8B, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, TranslateModel, 0xFE363C80, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000006, 0xFE363C82, 0x00000029, 0x00000002, 0xFE363C86, 0xFE363C86, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000007, 0xFE363C84, 0x00000029, 0x00000002, 0xFE363C87, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C87, 0x0000000C, 0x00000002, 0xFE363C86, 0x00002710, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C83, 0x0000000C, 0x00000002, 0xFE363C85, 0x00000088, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C8B, 0x0000000C, 0x00000002, 0xFE363C85, 0x00000000, 0x0000002E, 0x00000002, 0xFE363C8B, 0xF24A7680, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000005, 0xFE363C82, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000006, 0xFE363C83, 0x00000043, 0x00000003, func_80240634_A2A874, 0x00000007, 0xFE363C84, 0x0000000C, 0x00000002, 0xFE363C86, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C86, 0x0000012C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C85, 0xFFFFFED4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C85, 0x0000012C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xFE363C87, 0xFFFFFED4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000D, 0x00000002, 0xFE363C87, 0x00000258, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -41,8 +41,8 @@ glabel blast_appendGfx
/* 37D714 E007C284 3C06DE00 */ lui $a2, 0xde00
/* 37D718 E007C288 AE820000 */ sw $v0, ($s4)
/* 37D71C E007C28C 8CA5001C */ lw $a1, 0x1c($a1)
/* 37D720 E007C290 3C020900 */ lui $v0, 0x900
/* 37D724 E007C294 24421300 */ addiu $v0, $v0, 0x1300
/* 37D720 E007C290 3C020900 */ lui $v0, %hi(D_09001300_37ECD0)
/* 37D724 E007C294 24421300 */ addiu $v0, $v0, %lo(D_09001300_37ECD0)
/* 37D728 E007C298 AC62000C */ sw $v0, 0xc($v1)
/* 37D72C E007C29C 3C028000 */ lui $v0, 0x8000
/* 37D730 E007C2A0 AC660008 */ sw $a2, 8($v1)
@ -180,8 +180,8 @@ glabel blast_appendGfx
/* 37D938 E007C4A8 ACA20000 */ sw $v0, ($a1)
/* 37D93C E007C4AC 3C02DE00 */ lui $v0, 0xde00
/* 37D940 E007C4B0 AC820000 */ sw $v0, ($a0)
/* 37D944 E007C4B4 3C020900 */ lui $v0, 0x900
/* 37D948 E007C4B8 244217B0 */ addiu $v0, $v0, 0x17b0
/* 37D944 E007C4B4 3C020900 */ lui $v0, %hi(D_090017B0_37F180)
/* 37D948 E007C4B8 244217B0 */ addiu $v0, $v0, %lo(D_090017B0_37F180)
/* 37D94C E007C4BC AC820004 */ sw $v0, 4($a0)
/* 37D950 E007C4C0 24820010 */ addiu $v0, $a0, 0x10
/* 37D954 E007C4C4 ACA20000 */ sw $v0, ($a1)

View File

@ -148,7 +148,7 @@ glabel au_engine_init
/* 2E488 80053088 0000282D */ daddu $a1, $zero, $zero
/* 2E48C 8005308C 0200202D */ daddu $a0, $s0, $zero
/* 2E490 80053090 8E850004 */ lw $a1, 4($s4)
/* 2E494 80053094 0C015C89 */ jal au_pvoice_set_filter_wavetable
/* 2E494 80053094 0C015C89 */ jal au_syn_set_wavetable
/* 2E498 80053098 26730001 */ addiu $s3, $s3, 1
/* 2E49C 8005309C 02911021 */ addu $v0, $s4, $s1
/* 2E4A0 800530A0 AC400000 */ sw $zero, ($v0)

View File

@ -4263,7 +4263,7 @@ segments:
- [0x37F018, gfx, D_09001648_37F018]
- [0x37F090, gfx, D_090016C0_37F090]
- [0x37F108, gfx, D_09001738_37F108]
- [0x37F180, gfx, D_090017A0_37F180]
- [0x37F180, gfx, D_090017B0_37F180]
- [0x37F1A0, gfx, D_090017D0_37F1A0]
- [0x37F290, gfx, D_090018C0_37F290]
- [0x37F2B0, vtx, D_090018E0_37F2B0]

View File

@ -4113,16 +4113,10 @@ D_800DA040 = 0x800DA040; // type:data rom:0xB5440
animator_update_model_transforms = 0x8011F058; // type:func rom:0xB5758
animator_node_update_model_transform = 0x8011F118; // type:func rom:0xB5818
nusched = 0x800DA440; // rom:0xB5840
D_800DA444 = 0x800DA444; // type:data rom:0xB5844
D_800DA47C = 0x800DA47C; // type:data rom:0xB587C
D_800DA4B4 = 0x800DA4B4; // type:data rom:0xB58B4
D_800DA55C = 0x800DA55C; // type:data rom:0xB595C
render_animated_model = 0x8011F304; // type:func rom:0xB5A04
render_animated_model_with_vertices = 0x8011F3E8; // type:func rom:0xB5AE8
appendGfx_animator = 0x8011F4D4; // type:func rom:0xB5BD4
D_800DAAA8 = 0x800DAAA8; // type:data rom:0xB5EA8
AlNumFields = 0x800DAAB8; // type:data rom:0xB5EB8
D_800DAABD = 0x800DAABD; // type:data rom:0xB5EBD
D_800DAAC0 = 0x800DAAC0; // type:data rom:0xB5EC0
nuContPfs = 0x800DAAD8; // rom:0xB5ED8
nuSiMesgQ = 0x800DAC78; // rom:0xB6078