mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-12-05 01:17:29 +00:00
52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
|
/**
|
||
|
* @file DisplayList.h
|
||
|
* @brief Defines a display list for the GPU.
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "types.h"
|
||
|
#include "agl/gpu.h"
|
||
|
#include "sead/heap/seadHeap.h"
|
||
|
|
||
|
namespace agl
|
||
|
{
|
||
|
class DisplayList
|
||
|
{
|
||
|
public:
|
||
|
DisplayList();
|
||
|
|
||
|
virtual ~DisplayList();
|
||
|
|
||
|
void setControlMemeory(void *, s32);
|
||
|
void clear();
|
||
|
void setBuffer(agl::GPUMemAddr<u8>, u64);
|
||
|
void setValidSize(u64 size);
|
||
|
void copyTo(agl::DisplayList *) const;
|
||
|
void beginDisplayList();
|
||
|
void endDisplayList();
|
||
|
bool beginDisplayListBuffer(agl::GPUMemAddr<u8>, u64, bool);
|
||
|
void endDisplayListBuffer(sead::Heap *);
|
||
|
void adjustValueSize();
|
||
|
void invalidateCPUCache() const;
|
||
|
void dump() const;
|
||
|
bool suspend(void **);
|
||
|
void resume(void *, u64);
|
||
|
u64 calcRemainingSize();
|
||
|
|
||
|
u64 _8;
|
||
|
u64 _10;
|
||
|
u64 _18;
|
||
|
u32 mUsedSize; // _20
|
||
|
u32 _24;
|
||
|
u32 mSize; // _28
|
||
|
u32 _2C;
|
||
|
u64 _30;
|
||
|
u64 _38;
|
||
|
u8 _40[0x248-0x40]; // todo; what is here?
|
||
|
u32 _248; // init'd to 0x200
|
||
|
u32 _24C;
|
||
|
u64 _250;
|
||
|
char* mDisplayName; // _258
|
||
|
};
|
||
|
};
|