1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 07:20:16 +00:00

Decompile z_play.c and Match/Document some of z_view.c (#74)

* Decompile z_play.c and Match/Document some of z_view.c

Also fix the last non matching in z_sample.c and update some game state functions.

* Suggestions from PR #74

* Fix undefined reference to Gameplay_DrawOverlay

* Suggestion from PR #74 (2)

* Fix a fake argument in func_800BC450
This commit is contained in:
Roman971 2020-04-16 23:36:12 +02:00 committed by GitHub
parent 9ac1f8130d
commit 262f6c507c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
278 changed files with 5139 additions and 5939 deletions

View file

@ -7,22 +7,22 @@
#include <ultra64.h>
#include <global.h>
void Opening_SetNextGameState(OpeningContext* this) {
gSaveContext.game_mode = 1;
void Opening_SetupTitleScreen(OpeningContext* this) {
gSaveContext.gameMode = 1;
this->state.running = false;
gSaveContext.link_age = 0;
gSaveContext.linkAge = 0;
func_800A82C8();
gSaveContext.cutscene_index = 0xFFF3;
gSaveContext.scene_setup_index = 7;
SET_NEXT_GAMESTATE(&this->state, func_800BCA64, GlobalContext);
gSaveContext.cutsceneIndex = 0xFFF3;
gSaveContext.sceneSetupIndex = 7;
SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext);
}
void func_80803C5C(OpeningContext* this) {
}
void Opening_Update(OpeningContext* this) {
void Opening_Main(OpeningContext* this) {
func_80095248(this->state.gfxCtx, 0, 0, 0);
Opening_SetNextGameState(this);
Opening_SetupTitleScreen(this);
func_80803C5C(this);
}
@ -32,7 +32,7 @@ void Opening_Destroy(OpeningContext* this) {
void Opening_Init(OpeningContext* this) {
R_UPDATE_RATE = 1;
Matrix_Init(&this->state);
func_800AA278(&this->view, this->state.gfxCtx);
this->state.main = Opening_Update;
View_Init(&this->view, this->state.gfxCtx);
this->state.main = Opening_Main;
this->state.destroy = Opening_Destroy;
}

View file

@ -40,7 +40,7 @@ void Title_Calc(TitleContext* this) {
this->exit = 1;
}
void Title_InitView(TitleContext* this, f32 x, f32 y, f32 z) {
void Title_SetupView(TitleContext* this, f32 x, f32 y, f32 z) {
View* view;
Vec3f v1;
Vec3f v2;
@ -91,7 +91,7 @@ void Title_Draw(TitleContext* this) {
func_8002EABC(&v1, &v2, &v3, this->state.gfxCtx);
gSPSetLights1(gfxCtx->polyOpa.p++, sTitleLights);
Title_InitView(this, 0, 150.0, 300.0);
Title_SetupView(this, 0, 150.0, 300.0);
func_80093D18(this->state.gfxCtx);
Matrix_Translate(-53.0, -5.0, 0, MTXMODE_NEW);
Matrix_Scale(1.0, 1.0, 1.0, MTXMODE_APPLY);
@ -127,12 +127,11 @@ void Title_Draw(TitleContext* this) {
Graph_CloseDisps(dispRefs, this->state.gfxCtx, "../z_title.c", 483);
}
void Title_Update(TitleContext* this) {
void Title_Main(TitleContext* this) {
GraphicsContext* gfxCtx = this->state.gfxCtx;
u32 pad;
Gfx* dispRefs[4];
u32 pad2;
Gfx* gfx[2];
Gfx* dispRefs[5];
u32 pad[2];
Gfx* gfx;
Graph_OpenDisps(dispRefs, this->state.gfxCtx, "../z_title.c", 494);
@ -142,14 +141,14 @@ void Title_Update(TitleContext* this) {
Title_Calc(this);
Title_Draw(this);
if (D_8012DBC0) {
gfx[0] = gfxCtx->polyOpa.p;
gfx = gfxCtx->polyOpa.p;
Title_PrintBuildInfo(&gfx);
gfxCtx->polyOpa.p = gfx[0];
gfxCtx->polyOpa.p = gfx;
}
if (this->exit) {
gSaveContext.seq_index = -1;
gSaveContext.night_sfx = -1;
gSaveContext.game_mode = 1;
gSaveContext.seqIndex = 0xFF;
gSaveContext.nightSeqIndex = 0xFF;
gSaveContext.gameMode = 1;
this->state.running = false;
SET_NEXT_GAMESTATE(&this->state, Opening_Init, OpeningContext);
}
@ -173,11 +172,11 @@ void Title_Init(TitleContext* this) {
DmaMgr_SendRequest1(this->staticSegment, (u32)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", 615);
R_UPDATE_RATE = 1;
Matrix_Init(&this->state);
func_800AA278(&this->view, this->state.gfxCtx);
this->state.main = Title_Update;
View_Init(&this->view, this->state.gfxCtx);
this->state.main = Title_Main;
this->state.destroy = Title_Destroy;
this->exit = false;
gSaveContext.file_num = 0xFF;
gSaveContext.fileNum = 0xFF;
func_800A9CD4(&this->state, &this->sram);
this->ult = 0;
this->unk_1D4 = 0x14;