1#ifndef SEAD_GAME_FRAMEWORK_CAFE_H_
2#define SEAD_GAME_FRAMEWORK_CAFE_H_
4#include <gfx/seadFrameBuffer.h>
5#include <framework/seadGameFramework.h>
36 static_assert(
sizeof(
CreateArg) == 0x24,
"sead::GameFrameworkCafe::CreateArg size mismatch");
44 static_assert(
sizeof(
DrawOrder) == 4,
"sead::GameFrameworkCafe::DrawOrder size mismatch");
57 Heap* heap, s32 argc = 0,
char** argv =
nullptr,
59 Heap* heap_for_display_buffer =
nullptr
72 TickSpan sec_span = TickSpan::makeFromSeconds(1);
73 return static_cast<f32>(sec_span.toS64()) /
static_cast<f32>(mFrameSpan.toS64());
142static_assert(
sizeof(
GameFrameworkCafe) == 0x378,
"sead::GameFrameworkCafe size mismatch");
Definition seadFrameBuffer.h:134
Definition seadFrameBuffer.h:90
Definition seadGameFrameworkCafe.h:10
virtual void procDraw_()
Definition seadGameFrameworkCafe.cpp:241
void drawTV_()
Definition seadGameFrameworkCafe.cpp:287
GX2DepthBuffer mDepthBufferDRC
Definition seadGameFrameworkCafe.h:132
LogicalFrameBuffer mLogicalFrameBuffer
Definition seadGameFrameworkCafe.h:125
void setCopyPostDrawAll(bool b)
Definition seadGameFrameworkCafe.h:86
bool mCopyPostDrawAll
Definition seadGameFrameworkCafe.h:138
FrameBuffer * mDefaultFrameBuffer
Definition seadGameFrameworkCafe.h:123
void copyToDRC_()
Definition seadGameFrameworkCafe.cpp:397
virtual ~GameFrameworkCafe()
Definition seadGameFrameworkCafe.cpp:40
GX2ColorBuffer mColorBufferDRC
Definition seadGameFrameworkCafe.h:130
BitFlag32 mFlag
Definition seadGameFrameworkCafe.h:120
void copyToTV_()
Definition seadGameFrameworkCafe.cpp:381
LogicalFrameBuffer mLogicalFrameBufferDRC
Definition seadGameFrameworkCafe.h:126
DisplayBuffer * mDisplayBuffer
Definition seadGameFrameworkCafe.h:133
void initRun_(Heap *) override
Definition seadGameFrameworkCafe.cpp:142
virtual void mainLoop_()
Definition seadGameFrameworkCafe.cpp:160
void initializeGraphicsSystem(Heap *heap, s32 argc=0, char **argv=nullptr, const Vector2f &tv_virtual_fb_size=Vector2f::zero, const Vector2f &drc_virtual_fb_size=Vector2f(854.0f, 480.0f), Heap *heap_for_display_buffer=nullptr)
Definition seadGameFrameworkCafe.cpp:44
FrameBuffer * mFrameBuffer
Definition seadGameFrameworkCafe.h:135
virtual void swapBuffer_()
Definition seadGameFrameworkCafe.cpp:346
f32 calcFps() override
Definition seadGameFrameworkCafe.h:70
virtual void procFrame_()
Definition seadGameFrameworkCafe.cpp:192
void gpuMesureEnd_()
Definition seadGameFrameworkCafe.cpp:166
virtual void waitForNextFrame_()
Definition seadGameFrameworkCafe.cpp:331
void setVBlankWaitInterval(u32 wait_vblank)
Definition seadGameFrameworkCafe.cpp:424
GX2ColorBuffer mColorBuffer
Definition seadGameFrameworkCafe.h:129
CreateArg mArg
Definition seadGameFrameworkCafe.h:119
void setDeferredCopyCallback(DeferredCopyCallback callback)
Definition seadGameFrameworkCafe.h:81
DrawOrder
Definition seadGameFrameworkCafe.h:39
@ cDrawOrder_TV_DRC
Definition seadGameFrameworkCafe.h:40
@ cDrawOrder_DRC_TV
Definition seadGameFrameworkCafe.h:41
@ cDrawOrder_Num
Definition seadGameFrameworkCafe.h:42
DeferredCopyCallback mDeferredCopyCallback
Definition seadGameFrameworkCafe.h:137
virtual void procCalc_()
Definition seadGameFrameworkCafe.cpp:319
virtual void setCaption(const SafeString &caption)
Definition seadGameFrameworkCafe.h:76
GameFrameworkCafe(const CreateArg &arg)
Definition seadGameFrameworkCafe.cpp:26
MethodTreeMgr * createMethodTreeMgr_(Heap *) override
Definition seadGameFrameworkCafe.cpp:153
DrawOrder mDrawOrder
Definition seadGameFrameworkCafe.h:127
TickSpan mFrameSpan
Definition seadGameFrameworkCafe.h:121
virtual void clearFrameBuffers_(s32 method_type)
Definition seadGameFrameworkCafe.cpp:413
GX2DepthBuffer mDepthBuffer
Definition seadGameFrameworkCafe.h:131
const LogicalFrameBuffer * getMethodLogicalFrameBuffer(s32 method_type) const override
Definition seadGameFrameworkCafe.cpp:465
FrameBuffer * getMethodFrameBuffer(s32 method_type) const override
Definition seadGameFrameworkCafe.cpp:430
TickTime mLastFrameBegin
Definition seadGameFrameworkCafe.h:122
@ cGpuCounter_NumMax
Definition seadGameFrameworkCafe.h:115
@ cGpuCounter_DRCDrawBegin
Definition seadGameFrameworkCafe.h:113
@ cGpuCounter_TVDrawBegin
Definition seadGameFrameworkCafe.h:111
@ cGpuCounter_DRCDrawEnd
Definition seadGameFrameworkCafe.h:114
@ cGpuCounter_TVDrawEnd
Definition seadGameFrameworkCafe.h:112
FrameBuffer * mFrameBufferDRC
Definition seadGameFrameworkCafe.h:136
void runImpl_() override
Definition seadGameFrameworkCafe.cpp:146
void drawDRC_()
Definition seadGameFrameworkCafe.cpp:303
void * mCommandBuffer
Definition seadGameFrameworkCafe.h:128
void(* DeferredCopyCallback)(s32 stage)
Definition seadGameFrameworkCafe.h:47
FrameBuffer * mDefaultFrameBufferDRC
Definition seadGameFrameworkCafe.h:124
u64 * mGpuCounters
Definition seadGameFrameworkCafe.h:139
static void initialize(const InitializeArg &arg)
Definition seadGameFrameworkCafe.cpp:21
DisplayBuffer * mDisplayBufferDRC
Definition seadGameFrameworkCafe.h:134
static const size_t cGpuCounterSize
Definition seadGameFrameworkCafe.h:117
Definition seadGameFramework.h:12
Definition seadFrameBuffer.h:12
Definition seadMethodTreeMgr.h:13
Definition seadTickSpan.h:12
Definition seadAssert.h:44
Vector2< f32 > Vector2f
Definition seadVector.h:238
BitFlag< u32 > BitFlag32
Definition seadBitFlag.h:125
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96
static const Color4f cGray
Definition seadColor.h:63
Definition seadFramework.h:43
Definition seadGameFrameworkCafe.h:18
u32 width
Definition seadGameFrameworkCafe.h:21
u32 cmd_buf_size
Definition seadGameFrameworkCafe.h:23
u32 height
Definition seadGameFrameworkCafe.h:22
bool create_default_framebuffer
Definition seadGameFrameworkCafe.h:24
Color4f clear_color
Definition seadGameFrameworkCafe.h:20
u32 wait_vblank
Definition seadGameFrameworkCafe.h:19
CreateArg()
Definition seadGameFrameworkCafe.h:26