sead
Loading...
Searching...
No Matches
sead::GameFrameworkCafe Class Reference

#include <seadGameFrameworkCafe.h>

Inherits sead::GameFramework.

Classes

struct  CreateArg

Public Types

enum  DrawOrder { cDrawOrder_TV_DRC = 0 , cDrawOrder_DRC_TV , cDrawOrder_Num }
typedef void(* DeferredCopyCallback) (s32 stage)
Public Types inherited from sead::Framework
enum  ProcessPriority { cProcessPriority_Idle = 0 , cProcessPriority_Normal = 1 , cProcessPriority_High = 2 , cProcessPriority_RealTime = 3 }

Public Member Functions

 GameFrameworkCafe (const CreateArg &arg)
virtual ~GameFrameworkCafe ()
FrameBuffergetMethodFrameBuffer (s32 method_type) const override
const LogicalFrameBuffergetMethodLogicalFrameBuffer (s32 method_type) const override
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)
void setVBlankWaitInterval (u32 wait_vblank)
f32 calcFps () override
virtual void setCaption (const SafeString &caption)
void setDeferredCopyCallback (DeferredCopyCallback callback)
void setCopyPostDrawAll (bool b)
Public Member Functions inherited from sead::GameFramework
 GameFramework ()
virtual ~GameFramework ()
void startDisplay ()
void createSystemTasks (TaskBase *root_task, const CreateSystemTaskArg &arg) override
virtual void createControllerMgr (TaskBase *root_task)
virtual void createHostIOMgr (TaskBase *root_task, HostIOMgr::Parameter *param)
virtual void createProcessMeter (TaskBase *root_task)
virtual void createSeadMenuMgr (TaskBase *root_task)
virtual void createInfLoopChecker (TaskBase *root_task, const TickSpan &span)
virtual void saveScreenShot (const SafeString &)
virtual bool isScreenShotBusy ()
Public Member Functions inherited from sead::Framework
 Framework ()
virtual ~Framework ()
virtual void run (Heap *heap, const TaskBase::CreateArg &root_create_arg, const RunArg &run_arg)
virtual bool setProcessPriority (ProcessPriority)
virtual void reserveReset (void *param)
TaskMgrgetTaskMgr ()
MethodTreeMgrgetMethodTreeMgr ()

Static Public Member Functions

static void initialize (const InitializeArg &arg)
Static Public Member Functions inherited from sead::GameFramework
static void initialize (const InitializeArg &arg)
Static Public Member Functions inherited from sead::Framework
static void initialize (const InitializeArg &arg)

Protected Types

enum  {
  cGpuCounter_TVDrawBegin , cGpuCounter_TVDrawEnd , cGpuCounter_DRCDrawBegin , cGpuCounter_DRCDrawEnd ,
  cGpuCounter_NumMax
}
Protected Types inherited from sead::GameFramework
enum  DisplayState { cDisplayState_Hide = 0 , cDisplayState_Ready , cDisplayState_Show }
Protected Types inherited from sead::Framework
typedef DelegateEvent< void * > ResetEvent

Protected Member Functions

void initRun_ (Heap *) override
void runImpl_ () override
MethodTreeMgrcreateMethodTreeMgr_ (Heap *) override
virtual void mainLoop_ ()
virtual void procFrame_ ()
virtual void procDraw_ ()
virtual void procCalc_ ()
virtual void waitForNextFrame_ ()
virtual void swapBuffer_ ()
virtual void clearFrameBuffers_ (s32 method_type)
void gpuMesureEnd_ ()
void drawTV_ ()
void copyToTV_ ()
void drawDRC_ ()
void copyToDRC_ ()
Protected Member Functions inherited from sead::GameFramework
virtual void waitStartDisplayLoop_ ()
Protected Member Functions inherited from sead::Framework
virtual void procReset_ ()

Protected Attributes

CreateArg mArg
BitFlag32 mFlag
TickSpan mFrameSpan
TickTime mLastFrameBegin
FrameBuffermDefaultFrameBuffer
FrameBuffermDefaultFrameBufferDRC
LogicalFrameBuffer mLogicalFrameBuffer
LogicalFrameBuffer mLogicalFrameBufferDRC
DrawOrder mDrawOrder
void * mCommandBuffer
GX2ColorBuffer mColorBuffer
GX2ColorBuffer mColorBufferDRC
GX2DepthBuffer mDepthBuffer
GX2DepthBuffer mDepthBufferDRC
DisplayBuffermDisplayBuffer
DisplayBuffermDisplayBufferDRC
FrameBuffermFrameBuffer
FrameBuffermFrameBufferDRC
DeferredCopyCallback mDeferredCopyCallback
bool mCopyPostDrawAll
u64 * mGpuCounters
Protected Attributes inherited from sead::GameFramework
DisplayState mDisplayState
MultiProcessMeterBar< 32 > mCalcMeter
MultiProcessMeterBar< 32 > mDrawMeter
MultiProcessMeterBar< 32 > mGPUMeter
InfLoopCheckerThreadmCheckerThread
Protected Attributes inherited from sead::Framework
bool mReserveReset
void * mResetParameter
ResetEvent mResetEvent
TaskMgrmTaskMgr
MethodTreeMgrmMethodTreeMgr
HeapmMethodTreeMgrHeap

Static Protected Attributes

static const size_t cGpuCounterSize = sizeof(u64) * cGpuCounter_NumMax

Member Typedef Documentation

◆ DeferredCopyCallback

typedef void(* sead::GameFrameworkCafe::DeferredCopyCallback) (s32 stage)

Member Enumeration Documentation

◆ DrawOrder

Enumerator
cDrawOrder_TV_DRC 
cDrawOrder_DRC_TV 
cDrawOrder_Num 

◆ anonymous enum

anonymous enum
protected
Enumerator
cGpuCounter_TVDrawBegin 
cGpuCounter_TVDrawEnd 
cGpuCounter_DRCDrawBegin 
cGpuCounter_DRCDrawEnd 
cGpuCounter_NumMax 

Constructor & Destructor Documentation

◆ GameFrameworkCafe()

sead::GameFrameworkCafe::GameFrameworkCafe ( const CreateArg & arg)

◆ ~GameFrameworkCafe()

sead::GameFrameworkCafe::~GameFrameworkCafe ( )
virtual

Member Function Documentation

◆ initialize()

void sead::GameFrameworkCafe::initialize ( const InitializeArg & arg)
static

◆ getMethodFrameBuffer()

FrameBuffer * sead::GameFrameworkCafe::getMethodFrameBuffer ( s32 method_type) const
overridevirtual

Implements sead::Framework.

◆ getMethodLogicalFrameBuffer()

const LogicalFrameBuffer * sead::GameFrameworkCafe::getMethodLogicalFrameBuffer ( s32 method_type) const
overridevirtual

Reimplemented from sead::Framework.

◆ initializeGraphicsSystem()

void sead::GameFrameworkCafe::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 )

◆ setVBlankWaitInterval()

void sead::GameFrameworkCafe::setVBlankWaitInterval ( u32 wait_vblank)

◆ initRun_()

void sead::GameFrameworkCafe::initRun_ ( Heap * )
overrideprotectedvirtual

Reimplemented from sead::Framework.

◆ runImpl_()

void sead::GameFrameworkCafe::runImpl_ ( )
overrideprotectedvirtual

Reimplemented from sead::Framework.

◆ createMethodTreeMgr_()

MethodTreeMgr * sead::GameFrameworkCafe::createMethodTreeMgr_ ( Heap * heap)
overrideprotectedvirtual

Implements sead::Framework.

◆ calcFps()

f32 sead::GameFrameworkCafe::calcFps ( )
inlineoverridevirtual

Implements sead::GameFramework.

◆ setCaption()

virtual void sead::GameFrameworkCafe::setCaption ( const SafeString & caption)
inlinevirtual

◆ setDeferredCopyCallback()

void sead::GameFrameworkCafe::setDeferredCopyCallback ( DeferredCopyCallback callback)
inline

◆ setCopyPostDrawAll()

void sead::GameFrameworkCafe::setCopyPostDrawAll ( bool b)
inline

◆ mainLoop_()

void sead::GameFrameworkCafe::mainLoop_ ( )
protectedvirtual

◆ procFrame_()

void sead::GameFrameworkCafe::procFrame_ ( )
protectedvirtual

◆ procDraw_()

void sead::GameFrameworkCafe::procDraw_ ( )
protectedvirtual

◆ procCalc_()

void sead::GameFrameworkCafe::procCalc_ ( )
protectedvirtual

◆ waitForNextFrame_()

void sead::GameFrameworkCafe::waitForNextFrame_ ( )
protectedvirtual

◆ swapBuffer_()

void sead::GameFrameworkCafe::swapBuffer_ ( )
protectedvirtual

◆ clearFrameBuffers_()

void sead::GameFrameworkCafe::clearFrameBuffers_ ( s32 method_type)
protectedvirtual

◆ gpuMesureEnd_()

void sead::GameFrameworkCafe::gpuMesureEnd_ ( )
protected

◆ drawTV_()

void sead::GameFrameworkCafe::drawTV_ ( )
protected

◆ copyToTV_()

void sead::GameFrameworkCafe::copyToTV_ ( )
protected

◆ drawDRC_()

void sead::GameFrameworkCafe::drawDRC_ ( )
protected

◆ copyToDRC_()

void sead::GameFrameworkCafe::copyToDRC_ ( )
protected

Member Data Documentation

◆ cGpuCounterSize

const size_t sead::GameFrameworkCafe::cGpuCounterSize = sizeof(u64) * cGpuCounter_NumMax
staticprotected

◆ mArg

CreateArg sead::GameFrameworkCafe::mArg
protected

◆ mFlag

BitFlag32 sead::GameFrameworkCafe::mFlag
protected

◆ mFrameSpan

TickSpan sead::GameFrameworkCafe::mFrameSpan
protected

◆ mLastFrameBegin

TickTime sead::GameFrameworkCafe::mLastFrameBegin
protected

◆ mDefaultFrameBuffer

FrameBuffer* sead::GameFrameworkCafe::mDefaultFrameBuffer
protected

◆ mDefaultFrameBufferDRC

FrameBuffer* sead::GameFrameworkCafe::mDefaultFrameBufferDRC
protected

◆ mLogicalFrameBuffer

LogicalFrameBuffer sead::GameFrameworkCafe::mLogicalFrameBuffer
protected

◆ mLogicalFrameBufferDRC

LogicalFrameBuffer sead::GameFrameworkCafe::mLogicalFrameBufferDRC
protected

◆ mDrawOrder

DrawOrder sead::GameFrameworkCafe::mDrawOrder
protected

◆ mCommandBuffer

void* sead::GameFrameworkCafe::mCommandBuffer
protected

◆ mColorBuffer

GX2ColorBuffer sead::GameFrameworkCafe::mColorBuffer
protected

◆ mColorBufferDRC

GX2ColorBuffer sead::GameFrameworkCafe::mColorBufferDRC
protected

◆ mDepthBuffer

GX2DepthBuffer sead::GameFrameworkCafe::mDepthBuffer
protected

◆ mDepthBufferDRC

GX2DepthBuffer sead::GameFrameworkCafe::mDepthBufferDRC
protected

◆ mDisplayBuffer

DisplayBuffer* sead::GameFrameworkCafe::mDisplayBuffer
protected

◆ mDisplayBufferDRC

DisplayBuffer* sead::GameFrameworkCafe::mDisplayBufferDRC
protected

◆ mFrameBuffer

FrameBuffer* sead::GameFrameworkCafe::mFrameBuffer
protected

◆ mFrameBufferDRC

FrameBuffer* sead::GameFrameworkCafe::mFrameBufferDRC
protected

◆ mDeferredCopyCallback

DeferredCopyCallback sead::GameFrameworkCafe::mDeferredCopyCallback
protected

◆ mCopyPostDrawAll

bool sead::GameFrameworkCafe::mCopyPostDrawAll
protected

◆ mGpuCounters

u64* sead::GameFrameworkCafe::mGpuCounters
protected