mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-01 03:10:14 -04:00
More work on z_scene_proc.c 31/36 matching, 3 non-matching, 2 not attempted
This commit is contained in:
+6
-6
@@ -2732,12 +2732,12 @@ _DW({ \
|
||||
#endif /* F3DEX_GBI_2 */
|
||||
|
||||
#define gSPEndDisplayList(pkt) \
|
||||
{ \
|
||||
_DW({ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_ENDDL, 24, 8); \
|
||||
_g->words.w1 = 0; \
|
||||
}
|
||||
})
|
||||
|
||||
#define gsSPEndDisplayList() \
|
||||
{ \
|
||||
@@ -3035,12 +3035,12 @@ _DW({ \
|
||||
#define gsDPSetCombineMode(a, b) gsDPSetCombineLERP(a, b)
|
||||
|
||||
#define gDPSetColor(pkt, c, d) \
|
||||
{ \
|
||||
_DW({ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(c, 24, 8); \
|
||||
_g->words.w1 = (unsigned int)(d); \
|
||||
}
|
||||
})
|
||||
|
||||
#define gsDPSetColor(c, d) \
|
||||
{ \
|
||||
@@ -4325,12 +4325,12 @@ _DW({ \
|
||||
}
|
||||
|
||||
#define gDPNoParam(pkt, cmd) \
|
||||
{ \
|
||||
_DW({ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(cmd, 24, 8); \
|
||||
_g->words.w1 = 0; \
|
||||
}
|
||||
})
|
||||
|
||||
#define gsDPNoParam(cmd) \
|
||||
{ \
|
||||
|
||||
+37
-34
@@ -484,6 +484,7 @@ void func_80096410(void); // func_80096410
|
||||
void func_800964D0(void); // func_800964D0
|
||||
s32 __osSpSetPc(u32 data); // func_80096510
|
||||
void func_80096540(void); // func_80096540
|
||||
// UNK_RET func_80096770(UNK_ARGS);
|
||||
void func_800967A0(void); // func_800967A0
|
||||
u32 __osGetWatchLo(void); // func_80096810
|
||||
void __osSetWatchLo(u32 value); // func_80096820
|
||||
@@ -1860,10 +1861,10 @@ void Lib_TranslateAndRotateYVec3f(Vector3f* translation, s16 rotation, Vector3f*
|
||||
void Lib_LerpRGB(RGB* a, RGB* b, f32 t, RGB* dst); // func_801001B8
|
||||
f32 Lib_PushAwayVec3f(Vector3f* start, Vector3f* pusher, f32 distanceToApproach); // func_80100448
|
||||
void Lib_Nop801004FC(void); // func_801004FC
|
||||
u32 Lib_PtrSegToVirt(u32 ptr); // func_80100504
|
||||
u32 Lib_PtrSegToVirtNull(u32 ptr); // func_8010053C
|
||||
u32 Lib_PtrSegToK0(u32 ptr); // func_80100584
|
||||
u32 Lib_PtrSegToK0Null(u32 ptr); // func_801005A0
|
||||
u32 Lib_PtrSegToVirt(void* ptr); // func_80100504
|
||||
u32 Lib_PtrSegToVirtNull(void* ptr); // func_8010053C
|
||||
u32 Lib_PtrSegToK0(void* ptr); // func_80100584
|
||||
u32 Lib_PtrSegToK0Null(void* ptr); // func_801005A0
|
||||
void LifeMeter_Init(GlobalContext* ctxt); // func_801005C0
|
||||
void LifeMeter_UpdateColors(GlobalContext* ctxt); // func_8010069C
|
||||
UNK_TYPE4 func_80100A80(GlobalContext* ctxt); // func_80100A80
|
||||
@@ -2439,42 +2440,42 @@ void func_801306A4(GlobalContext* ctxt); // func_801306A4
|
||||
s32 Scene_ProcessHeader(GlobalContext* ctxt, SceneHeaderEntry* header); // func_801306E8
|
||||
u32 Scene_CreateEntrance(u32 sceneIndex, u32 spawnIndex, u32 offset); // func_80130768
|
||||
void func_80130784(void); // func_80130784
|
||||
void func_801307C0(GlobalContext* ctxt); // func_801307C0
|
||||
void func_801307F4(GlobalContext* ctxt); // func_801307F4
|
||||
void func_80130834(void); // func_80130834
|
||||
void SceneProc_DrawType0Texture(GlobalContext* ctxt, unsigned int param_2, UNK_TYPE4 param_3); // func_801308A0
|
||||
void func_80130940(void); // func_80130940
|
||||
void SceneProc_DrawType1Texture(void); // func_801309F4
|
||||
void func_80130A94(GlobalContext* ctxt, unsigned int param_2, u8* param_3, u8* param_4); // func_80130A94
|
||||
void SceneProc_DrawType2Texture(void); // func_80130C5C
|
||||
void func_80130D0C(void); // func_80130D0C
|
||||
void SceneProc_DrawType3Texture(void); // func_80130D3C
|
||||
void func_80130F58(void); // func_80130F58
|
||||
void func_8013115C(void); // func_8013115C
|
||||
void SceneProc_DrawType4Texture(void); // func_801311B4
|
||||
void SceneProc_DrawType5Texture(void); // func_80131580
|
||||
void SceneProc_DrawAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures, f32 param_3, u32 step, u32 flags); // func_80131690
|
||||
void SceneProc_DrawCurrentSceneAnimatedTextures(GlobalContext* ctxt); // func_801307C0
|
||||
void SceneProc_DrawSceneConfig0(GlobalContext* ctxt); // func_801307F4
|
||||
Gfx* SceneProc_SetTile1Layer(GlobalContext* ctxt, ScrollingTextureParams* params); // func_80130834
|
||||
void SceneProc_DrawType0Texture(GlobalContext* ctxt, u32 segment, ScrollingTextureParams* params); // func_801308A0
|
||||
Gfx* SceneProc_SetTile2Layers(GlobalContext* ctxt, ScrollingTextureParams* params); // func_80130940
|
||||
void SceneProc_DrawType1Texture(GlobalContext* ctxt, u32 segment, ScrollingTextureParams* params); // func_801309F4
|
||||
void SceneProc_DrawFlashingTexture(GlobalContext* ctxt, u32 segment, FlashingTexturePrimColor* primColor, RGBA8* envColor); // func_80130A94
|
||||
void SceneProc_DrawType2Texture(GlobalContext* ctxt, u32 segment, FlashingTextureParams* params); // func_80130C5C
|
||||
s32 SceneProc_Lerp(s32 a, s32 b, f32 t); // func_80130D0C
|
||||
void SceneProc_DrawType3Texture(GlobalContext* ctxt, u32 segment, FlashingTextureParams* params); // func_80130D3C
|
||||
f32 SceneProc_Interpolate(u32 numKeyFrames, f32* keyFrames, f32* values, f32 frame); // func_80130F58
|
||||
u8 SceneProc_InterpolateClamped(u32 numKeyFrames, f32* keyFrames, f32* values, f32 frame); // func_8013115C
|
||||
void SceneProc_DrawType4Texture(GlobalContext* ctxt, u32 segment, FlashingTextureParams* params); // func_801311B4
|
||||
void SceneProc_DrawType5Texture(GlobalContext* ctxt, u32 segment, CyclingTextureParams* params); // func_80131580
|
||||
void SceneProc_DrawAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures, f32 flashingAlpha, u32 step, u32 flags); // func_80131690
|
||||
void SceneProc_DrawAllSceneAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures); // func_80131758
|
||||
void SceneProc_DrawOpaqueSceneAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures); // func_8013178C
|
||||
void SceneProc_DrawTranslucentSceneAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures); // func_801317C0
|
||||
void func_801317F4(void); // func_801317F4
|
||||
void func_8013182C(void); // func_8013182C
|
||||
void func_80131864(void); // func_80131864
|
||||
void SceneProc_DrawAllSceneAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha); // func_801317F4
|
||||
void SceneProc_DrawOpaqueSceneAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha); // func_8013182C
|
||||
void SceneProc_DrawTranslucentSceneAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha); // func_80131864
|
||||
void SceneProc_DrawAllAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures, u32 step); // func_8013189C
|
||||
void SceneProc_DrawOpaqueAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures, u32 step); // func_801318C8
|
||||
void SceneProc_DrawTranslucentAnimatedTextures(GlobalContext* ctxt, AnimatedTexture* textures, u32 step); // func_801318F4
|
||||
void func_80131920(void); // func_80131920
|
||||
void func_8013194C(void); // func_8013194C
|
||||
void func_80131978(void); // func_80131978
|
||||
void func_801319A4(GlobalContext* ctxt); // func_801319A4
|
||||
void func_801319CC(GlobalContext* ctxt); // func_801319CC
|
||||
void func_80131CDC(GlobalContext* ctxt); // func_80131CDC
|
||||
void func_80131DE4(GlobalContext* ctxt); // func_80131DE4
|
||||
void func_80131DF0(void); // func_80131DF0
|
||||
void func_80131E58(s32* param_1, s32 param_2, u32 param_3); // func_80131E58
|
||||
void func_80131EC0(GlobalContext* ctxt); // func_80131EC0
|
||||
void func_80131F90(GlobalContext* ctxt); // func_80131F90
|
||||
void func_80131FC0(GlobalContext* ctxt); // func_80131FC0
|
||||
void SceneProc_DrawAllAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha, u32 step); // func_80131920
|
||||
void SceneProc_DrawOpaqueAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha, u32 step); // func_8013194C
|
||||
void SceneProc_DrawTranslucentAnimatedTexturesWithAlpha(GlobalContext* ctxt, AnimatedTexture* textures, f32 alpha, u32 step); // func_80131978
|
||||
void SceneProc_DrawSceneConfig1(GlobalContext* ctxt); // func_801319A4
|
||||
void SceneProc_DrawSceneConfig3(GlobalContext* ctxt); // func_801319CC
|
||||
void SceneProc_DrawSceneConfig4(GlobalContext* ctxt); // func_80131CDC
|
||||
void SceneProc_DrawSceneConfig2(GlobalContext* ctxt); // func_80131DE4
|
||||
void func_80131DF0(GlobalContext* ctxt, u32 param_2, u32 flags); // func_80131DF0
|
||||
void func_80131E58(GlobalContext* ctxt, u32 param_2, u32 flags); // func_80131E58
|
||||
void SceneProc_DrawSceneConfig5(GlobalContext* ctxt); // func_80131EC0
|
||||
void SceneProc_DrawSceneConfig7(GlobalContext* ctxt); // func_80131F90
|
||||
void SceneProc_DrawSceneConfig6(GlobalContext* ctxt); // func_80131FC0
|
||||
EntranceRecord* SceneTable_LookupEntrance(u32 entrance); // func_801322C0
|
||||
s32 SceneTable_LookupEntranceScene(u32 entrance); // func_8013230C
|
||||
s32 SceneTable_LookupEntranceAbsoluteScene(u32 entrance); // func_80132338
|
||||
@@ -3735,6 +3736,8 @@ void func_8019AB40(void); // func_8019AB40
|
||||
void func_8019AC10(void); // func_8019AC10
|
||||
void func_8019ACEC(void); // func_8019ACEC
|
||||
void func_8019ADBC(void); // func_8019ADBC
|
||||
// UNK_RET func_8019AE40(UNK_ARGS);
|
||||
// UNK_RET func_8019AEC0(UNK_ARGS);
|
||||
void func_8019AF00(void); // func_8019AF00
|
||||
void func_8019AF58(void); // func_8019AF58
|
||||
void func_8019AFE8(void); // func_8019AFE8
|
||||
|
||||
+41
-3
@@ -48,7 +48,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 segment;
|
||||
/* 0x2 */ s16 type;
|
||||
/* 0x4 */ u32 params;
|
||||
/* 0x4 */ void* params;
|
||||
} AnimatedTexture;
|
||||
|
||||
typedef struct {
|
||||
@@ -188,6 +188,12 @@ typedef struct {
|
||||
/* 0x10 */ u32 collectibleFlags;
|
||||
} CycleSceneFlags;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 cycleLength;
|
||||
/* 0x4 */ Gfx** textureDls;
|
||||
/* 0x8 */ u8* textureDlOffsets;
|
||||
} CyclingTextureParams;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 size;
|
||||
/* 0x4 */ void* unk4;
|
||||
@@ -308,6 +314,14 @@ typedef struct {
|
||||
/* 0x7 */ u8 unk7;
|
||||
} FireObjLightParams;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 red;
|
||||
/* 0x1 */ u8 green;
|
||||
/* 0x2 */ u8 blue;
|
||||
/* 0x3 */ u8 alpha;
|
||||
/* 0x4 */ u8 lodFrac;
|
||||
} FlashingTexturePrimColor;
|
||||
|
||||
// Font textures are loaded into here
|
||||
typedef struct {
|
||||
/* 0x0000 */ u8 unk0[2][120][128];
|
||||
@@ -442,6 +456,13 @@ typedef struct {
|
||||
/* 0x2 */ u8 blue;
|
||||
} RGB;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 red;
|
||||
/* 0x1 */ u8 green;
|
||||
/* 0x2 */ u8 blue;
|
||||
/* 0x3 */ u8 alpha;
|
||||
} RGBA8;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 intPart[16];
|
||||
/* 0x20 */ u16 fracPart[16];
|
||||
@@ -538,12 +559,19 @@ typedef struct {
|
||||
/* 0x0 */ u32 romStart;
|
||||
/* 0x4 */ u32 romEnd;
|
||||
/* 0x8 */ UNK_TYPE1 pad8[3];
|
||||
/* 0xB */ u8 unkB;
|
||||
/* 0xB */ u8 sceneConfig; // TODO: This at least controls the behavior of animated textures. Does it do more?
|
||||
/* 0xC */ UNK_TYPE1 padC[1];
|
||||
/* 0xD */ u8 unkD;
|
||||
/* 0xE */ UNK_TYPE1 padE[2];
|
||||
} SceneTableEntry;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 xStep;
|
||||
/* 0x1 */ s8 yStep;
|
||||
/* 0x2 */ u8 width;
|
||||
/* 0x3 */ u8 height;
|
||||
} ScrollingTextureParams;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 letterboxTarget;
|
||||
/* 0x1 */ s8 letterboxMagnitude;
|
||||
@@ -892,6 +920,14 @@ typedef union {
|
||||
/* 0x0 */ F3DVertexNormal normal;
|
||||
} F3DVertex;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u16 cycleLength;
|
||||
/* 0x2 */ u16 numKeyFrames;
|
||||
/* 0x4 */ FlashingTexturePrimColor* primColors;
|
||||
/* 0x8 */ RGBA8* envColors;
|
||||
/* 0xC */ u16* keyFrames;
|
||||
} FlashingTextureParams;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 ramLocation;
|
||||
/* 0x04 */ u32 vromStart;
|
||||
@@ -1564,6 +1600,8 @@ typedef struct {
|
||||
|
||||
typedef void(*scene_header_func)(GlobalContext* ctxt, SceneHeaderEntry* entry);
|
||||
|
||||
typedef void(*scene_proc_draw_func)(GlobalContext* ctxt, u32 segment, void* params);
|
||||
|
||||
typedef struct LightsList LightsList;
|
||||
|
||||
typedef struct LoadedParticleEntry LoadedParticleEntry;
|
||||
@@ -1913,7 +1951,7 @@ struct ActorPostDrawParams {
|
||||
struct GlobalContext {
|
||||
/* 0x00000 */ ContextCommon common;
|
||||
/* 0x000A4 */ s16 currentScene;
|
||||
/* 0x000A6 */ u8 unkA6;
|
||||
/* 0x000A6 */ u8 sceneConfig; // TODO: This at least controls the behavior of animated textures. Does it do more?
|
||||
/* 0x000A7 */ UNK_TYPE1 padA7[9];
|
||||
/* 0x000B0 */ void* currentSceneVram;
|
||||
/* 0x000B4 */ UNK_TYPE1 padB4[4];
|
||||
|
||||
+8
-8
@@ -1023,12 +1023,12 @@ extern UNK_TYPE1 D_801C2660; // D_801C2660
|
||||
extern scene_header_func sceneHeaderFuncTable[31]; // D_801C26A8
|
||||
extern UNK_TYPE1 D_801C2730; // D_801C2730
|
||||
extern ObjectFileTableEntry objectFileTable[643]; // D_801C2740
|
||||
extern Gfx D_801C3B60[11]; // D_801C3B60
|
||||
extern global_context_func D_801C3BB8[8]; // D_801C3BB8
|
||||
extern UNK_PTR gSceneProcDrawFuncs; // D_801C3BD8
|
||||
extern UNK_TYPE1 D_801C3C50; // D_801C3C50
|
||||
extern UNK_TYPE1 D_801C3C80; // D_801C3C80
|
||||
extern UNK_TYPE1 D_801C3C88; // D_801C3C88
|
||||
extern Gfx gSceneProcDefaultDl[11]; // D_801C3B60
|
||||
extern global_context_func gSceneProcSceneDrawFuncs[8]; // D_801C3BB8
|
||||
extern scene_proc_draw_func gSceneProcDrawFuncs[6]; // D_801C3BD8
|
||||
extern Gfx* D_801C3C50[3]; // D_801C3C50
|
||||
extern Gfx* D_801C3C80[2]; // D_801C3C80
|
||||
extern Gfx D_801C3C88[2]; // D_801C3C88
|
||||
extern SceneTableEntry gSceneTable[113]; // D_801C3CA0
|
||||
extern SceneEntranceTableEnty gSceneEntranceTable[110]; // D_801C5720
|
||||
extern UNK_PTR D_801C5C50; // D_801C5C50
|
||||
@@ -2710,9 +2710,9 @@ extern UNK_TYPE1 D_801F5A2C; // D_801F5A2C
|
||||
extern GlobalContext* D_801F5A90; // D_801F5A90
|
||||
extern UNK_TYPE1 D_801F5A96; // D_801F5A96
|
||||
extern UNK_TYPE2 D_801F5A98; // D_801F5A98
|
||||
extern u32 gSceneProcStep; // D_801F5AA0
|
||||
extern s32 gSceneProcStep; // D_801F5AA0
|
||||
extern u32 gSceneProcFlags; // D_801F5AA4
|
||||
extern UNK_TYPE1 D_801F5AA8; // D_801F5AA8
|
||||
extern f32 gSceneProcFlashingAlpha; // D_801F5AA8
|
||||
extern UNK_TYPE1 D_801F5AB0; // D_801F5AB0
|
||||
extern UNK_TYPE1 D_801F5AB4; // D_801F5AB4
|
||||
extern UNK_TYPE1 D_801F5AC0; // D_801F5AC0
|
||||
|
||||
Reference in New Issue
Block a user