Files
tp/include/JSystem/JUtility/JUTXfb/JUTXfb.h
T
Erin Moon cba64289a4 JUTXfb: decompile (#38)
* m_Do_Reset: split and (some) decomp

decompiles:
- my_OSCancelAlarmAll()
- destroyVideo()

* mDoRst::reset(): decompile, plus some supporting code

* split DVD* functions to dvd.h

* mDoRst::resetCallBack(): decompile

* JUTXfb: split

* JUTXfb: decompile (except for almost-matching ctor)

Elaborates JUTVideo and some related stuff.
Decompiles the following functions:
- JUTXfb::initiate()
- JUTXfb::createManager()
- JUTXfb::common_init()
- JUTXfb::destroyManager()
- JUTXfb::~JUTXfb()
- JUTXfb::JUTXfb(): *almost* matching up to regalloc

* clang-format and extern label modifications

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2020-12-29 18:01:48 -05:00

35 lines
852 B
C++

#ifndef __JUTILITY_JUTXFB_JUTXFB_H__
#define __JUTILITY_JUTXFB_JUTXFB_H__
#include "JSystem/JKernel/JKRHeap/JKRHeap.h"
#include "dolphin/types.h"
#include "gx/GX.h"
class JUTXfb {
public:
typedef s32 EXfbNumber;
JUTXfb(GXRenderModeObj* obj, JKRHeap* heap, EXfbNumber xfb_number);
~JUTXfb();
void clearIndex();
void common_init(s32 xfb_number);
void delXfb(s32 index);
static JUTXfb* createManager(JKRHeap* heap, EXfbNumber xfb_number);
static void destroyManager();
void initiate(u16 width, u16 height, JKRHeap* heap, JUTXfb::EXfbNumber xfb_number);
private:
void* xfb_buffer[3];
bool is_xfb_allocated[3];
u8 padding_1;
s32 num_xfbs;
s16 active_xfb_index;
s16 last_drawn_xfb_index;
s16 next_xfb_buffer;
u8 padding_2[2];
s32 field_0x1c;
};
extern JUTXfb* lbl_80451550;
#endif