1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-22 21:35:27 +00:00
oot/src/code/z_sample.c
Robin Allen 9984c267d9
Names for some view things (#1191)
* Names for some view things

* Review: ORTHOGRAPHIC → ORTHO

* Review: dirty → dirtyFlags

* Review: Doc comment style

* Review: Define constants in terms of each other

* Review: Rename the ApplyToOverlay functions

* Update include/z64.h

Co-authored-by: fig02 <fig02srl@gmail.com>

* Review: Better View_LookAtInternal doc

* arg1 → mask

* View_LookAtInternal → View_LookAtUnsafe

* Review: View_SanityCheckEyePosition → View_ErrorCheckEyePosition

* sViewNotInitialized → sLogOnNextViewInit

* Remove VIEW_FORCE_ALL

* near/far → zNear/zFar

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* lookAt → at

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* near/far → zNear/zFar

* View_ApplyPerspective/Ortho: Remove from header instead of commenting

* lookAt → at

* Add fwd decls

* Fix external view->at accesses

* Missed these somehow

* lookAt → at

* Omit "Apply" in comments

* dirtyFlags → flags

* View_ApplyScissor → View_ApplyShrinkWindow

* Update src/code/z_view.c

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-04-09 00:50:28 +02:00

101 lines
2.7 KiB
C

#include "global.h"
void Sample_HandleStateChange(SampleContext* this) {
if (CHECK_BTN_ALL(this->state.input[0].press.button, BTN_START)) {
SET_NEXT_GAMESTATE(&this->state, Gameplay_Init, GlobalContext);
this->state.running = false;
}
}
void Sample_Draw(SampleContext* this) {
GraphicsContext* gfxCtx = this->state.gfxCtx;
View* view = &this->view;
OPEN_DISPS(gfxCtx, "../z_sample.c", 62);
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
gSPSegment(POLY_OPA_DISP++, 0x01, this->staticSegment);
func_80095248(gfxCtx, 0, 0, 0);
view->flags = VIEW_VIEWING | VIEW_VIEWPORT | VIEW_PROJECTION_PERSPECTIVE;
View_Apply(view, VIEW_ALL);
{
Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx));
guPosition(mtx, SREG(37), SREG(38), SREG(39), 1.0f, SREG(40), SREG(41), SREG(42));
gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD);
}
POLY_OPA_DISP = Gfx_SetFog2(POLY_OPA_DISP, 255, 255, 255, 0, 0, 0);
func_80093D18(gfxCtx);
gDPSetCycleType(POLY_OPA_DISP++, G_CYC_1CYCLE);
gDPSetRenderMode(POLY_OPA_DISP++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 0, 0);
CLOSE_DISPS(gfxCtx, "../z_sample.c", 111);
}
void Sample_Main(GameState* thisx) {
SampleContext* this = (SampleContext*)thisx;
Sample_Draw(this);
Sample_HandleStateChange(this);
}
void Sample_Destroy(GameState* thisx) {
}
void Sample_SetupView(SampleContext* this) {
View* view = &this->view;
GraphicsContext* gfxCtx = this->state.gfxCtx;
View_Init(view, gfxCtx);
SET_FULLSCREEN_VIEWPORT(view);
View_SetPerspective(view, 60.0f, 10.0f, 12800.0f);
{
Vec3f eye;
Vec3f lookAt;
Vec3f up;
eye.x = 0.0f;
eye.y = 0.0f;
eye.z = 3000.0f;
lookAt.x = 0.0f;
lookAt.y = 0.0f;
lookAt.z = 0.0f;
up.x = 0.0f;
up.z = 0.0f;
up.y = 1.0f;
View_LookAt(view, &eye, &lookAt, &up);
}
}
void Sample_LoadTitleStatic(SampleContext* this) {
u32 size = _title_staticSegmentRomEnd - _title_staticSegmentRomStart;
this->staticSegment = GameState_Alloc(&this->state, size, "../z_sample.c", 163);
DmaMgr_SendRequest1(this->staticSegment, _title_staticSegmentRomStart, size, "../z_sample.c", 164);
}
void Sample_Init(GameState* thisx) {
SampleContext* this = (SampleContext*)thisx;
this->state.main = Sample_Main;
this->state.destroy = Sample_Destroy;
R_UPDATE_RATE = 1;
Sample_SetupView(this);
Sample_LoadTitleStatic(this);
SREG(37) = 0;
SREG(38) = 0;
SREG(39) = 0;
SREG(40) = 0;
SREG(41) = 0;
SREG(42) = 0;
}