Merge remote-tracking branch 'Upstream/master'

This commit is contained in:
jdflyer
2022-01-16 15:20:32 -07:00
203 changed files with 4278 additions and 8902 deletions
+109
View File
@@ -1,6 +1,115 @@
#ifndef JFWDISPLAY_H
#define JFWDISPLAY_H
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTDirectPrint.h"
#include "JSystem/JUtility/JUTFader.h"
#include "JSystem/JUtility/JUTProcBar.h"
#include "JSystem/JUtility/JUTXfb.h"
#include "JSystem/JUtility/TColor.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
typedef void (*JFWDisplayUnkFunc)(void);
class JFWAlarm : public OSAlarm {
public:
JFWAlarm() : mLink(this) {}
~JFWAlarm() {}
void createAlarm() { OSCreateAlarm(this); }
void cancelAlarm() { OSCancelAlarm(this); }
void removeLink() { sList.remove(&mLink); }
void appendLink() { sList.append(&mLink); }
OSThread* getThread() const { return mThread; }
void setThread(OSThread* thread) { mThread = thread; }
static JSUList<JFWAlarm> sList;
public:
/* 0x28 */ OSThread* mThread;
/* 0x2C */ JSULink<JFWAlarm> mLink;
};
class JFWDisplay {
public:
enum EDrawDone {
/* 0x0 */ UNK_METHOD_0 = 0,
/* 0x1 */ UNK_METHOD_1 = 1
};
/* 80272040 */ void ctor_subroutine(bool);
/* 802720F8 */ JFWDisplay(JKRHeap*, JUTXfb::EXfbNumber, bool);
/* 802721DC */ static JFWDisplay* createManager(_GXRenderModeObj const*, JKRHeap*,
JUTXfb::EXfbNumber, bool);
/* 802722B8 */ void prepareCopyDisp();
/* 802723AC */ void drawendXfb_single();
/* 802723F4 */ void exchangeXfb_double();
/* 802724FC */ void exchangeXfb_triple();
/* 80272574 */ void copyXfb_triple();
/* 802725F8 */ void preGX();
/* 8027268C */ void endGX();
/* 80272C60 */ void waitBlanking(int);
/* 80272E10 */ void threadSleep(s64);
/* 80272EB8 */ void clearEfb_init();
/* 80272F9C */ void clearEfb(int, int, int, int, _GXColor);
/* 80272F2C */ void clearEfb();
/* 80272F58 */ void clearEfb(_GXColor);
/* 8027331C */ void calcCombinationRatio();
/* 80272798 */ virtual void beginRender();
/* 80272A04 */ virtual void endRender();
/* 80272AB0 */ virtual void endFrame();
/* 80272160 */ virtual ~JFWDisplay();
static JFWDisplay* getManager() { return sManager; }
int startFadeOut(int param_0) {
if (mFader != NULL) {
return mFader->startFadeOut(param_0);
}
return 1;
}
int startFadeIn(int param_0) {
if (mFader != NULL) {
return mFader->startFadeIn(param_0);
}
return 1;
}
static JFWDisplay* sManager;
private:
/* 0x04 */ JUTFader* mFader;
/* 0x08 */ JUtility::TColor mClearColor;
/* 0x0C */ u32 mZClear;
/* 0x10 */ JUTXfb* mXfbManager;
/* 0x14 */ u16 mGamma;
/* 0x18 */ EDrawDone mDrawDoneMethod;
/* 0x1C */ u16 mFrameRate;
/* 0x20 */ u32 mTickRate;
/* 0x24 */ bool mEnableAlpha;
/* 0x26 */ u16 mClamp;
/* 0x28 */ f32 mCombinationRatio;
/* 0x2C */ u32 field_0x2c;
/* 0x30 */ u32 field_0x30;
/* 0x34 */ u32 field_0x34;
/* 0x38 */ int field_0x38;
/* 0x3C */ int field_0x3c;
/* 0x40 */ bool field_0x40;
/* 0x44 */ JFWDisplayUnkFunc field_0x44;
/* 0x48 */ s16 field_0x48;
/* 0x4A */ u8 field_0x4a;
};
inline void JUTChangeFrameBuffer(void* buffer, u16 height, u16 width) {
JUTDirectPrint::getManager()->changeFrameBuffer(buffer, width, height);
}
static void JFWDrawDoneAlarm();
static void JFWThreadAlarmHandler(OSAlarm*, OSContext*);
static void JFWGXAbortAlarmHandler(OSAlarm*, OSContext*);
static void waitForTick(u32, u16);
static void diagnoseGpHang();
#endif /* JFWDISPLAY_H */
+16 -12
View File
@@ -1,12 +1,16 @@
#ifndef JFWSYSTEM_H
#define JFWSYSTEM_H
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRThread.h"
#include "JSystem/JUtility/JUTConsole.h"
#include "JSystem/JUtility/JUTDbPrint.h"
#include "JSystem/JUtility/JUTResFont.h"
#include "dolphin/types.h"
struct JFWSystem {
struct CSetUpParam {
static u32 maxStdHeaps;
static s32 maxStdHeaps;
static u32 sysHeapSize;
static u32 fifoBufSize;
static u32 aramAudioBufSize;
@@ -14,22 +18,22 @@ struct JFWSystem {
static u32 streamPriority;
static u32 decompPriority;
static u32 aPiecePriority;
static void* systemFontRes;
static void* renderMode;
static u32 exConsoleBufferSize[1 + 1 /* padding */];
static ResFONT* systemFontRes;
static GXRenderModeObj* renderMode;
static u32 exConsoleBufferSize;
};
/* 80271CD0 */ void firstInit();
/* 80271D18 */ void init();
/* 80271CD0 */ static void firstInit();
/* 80271D18 */ static void init();
static JUTConsole* getSystemConsole() { return systemConsole; }
static u8 rootHeap[4];
static u8 systemHeap[4];
static u8 mainThread[4];
static u8 debugPrint[4];
static u8 systemFont[4];
static u8 systemConsoleManager[4];
static JKRExpHeap* rootHeap;
static JKRExpHeap* systemHeap;
static JKRThread* mainThread;
static JUTDbPrint* debugPrint;
static JUTResFont* systemFont;
static JUTConsoleManager* systemConsoleManager;
static JUTConsole* systemConsole;
};
+1 -3
View File
@@ -40,9 +40,7 @@ struct TVec3<f32> {
z = z_;
}
void zero() {
x = y = z = 0.0f;
}
void zero() { x = y = z = 0.0f; }
void mul(const TVec3<f32>& a, const TVec3<f32>& b) {
x = a.x * b.x;
+1 -1
View File
@@ -1,8 +1,8 @@
#ifndef JPABASESHAPE_H
#define JPABASESHAPE_H
#include "dolphin/types.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
class JPAEmitterWorkData;
class JKRHeap;
+1 -1
View File
@@ -1,8 +1,8 @@
#ifndef JPACHILDSHAPE_H
#define JPACHILDSHAPE_H
#include "dolphin/types.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
struct JPAChildShapeData {
// Common header.
+3 -1
View File
@@ -26,11 +26,13 @@
// TODO: make it a namespace
struct JUTAssertion {
/* 802E495C */ static void create();
/* 802E4960 */ static void flush_subroutine();
/* 802E4960 */ static u32 flush_subroutine();
/* 802E499C */ static void flushMessage();
/* 802E4A54 */ static void flushMessage_dbPrint();
/* 802E4C34 */ static void setVisible(bool);
/* 802E4C3C */ static void setMessageCount(int);
};
extern bool sAssertVisible;
#endif /* JUTASSERT_H */
+11
View File
@@ -14,6 +14,12 @@ public:
UNK_TYPE2 = 2,
};
enum OutputFlag {
/* 0x0 */ OUTPUT_NONE,
/* 0x1 */ OUTPUT_OSREPORT,
/* 0x2 */ OUTPUT_CONSOLE
};
/* 802E73E4 */ static JUTConsole* create(unsigned int, void*, u32);
/* 802E7354 */ static JUTConsole* create(unsigned int, unsigned int, JKRHeap*);
/* 802E746C */ JUTConsole(unsigned int, unsigned int, bool);
@@ -46,6 +52,11 @@ public:
}
}
void setFont(JUTFont* p_font) {
mFont = p_font;
setFontSize(p_font->getWidth(), p_font->getHeight());
}
u32 getOutput() const { return mOutput; }
int getPositionY() const { return mPositionY; }
int getPositionX() const { return mPositionX; }
+2
View File
@@ -26,7 +26,9 @@ public:
/* 802E0440 */ void drawString(int, int, int, u8 const*);
static JUTDbPrint* getManager() { return sDebugPrint; }
void setVisible(bool visible) { mVisible = visible; }
JUTFont* getFont() const { return mFont; }
static JUTDbPrint* sDebugPrint;
@@ -23,6 +23,7 @@ public:
/* 802E4240 */ static JUTDirectPrint* start();
bool isActive() const { return field_0x00 != 0; }
JUtility::TColor getCharColor() const { return mCharColor; }
static JUTDirectPrint* getManager() { return sDirectPrint; }
+4
View File
@@ -9,6 +9,7 @@ class JUTFader {
public:
enum EStatus {
UNKSTATUS_M1 = -1,
UNKSTATUS_0 = 0,
};
/* 802E5530 */ JUTFader(int, int, int, int, JUtility::TColor);
@@ -20,6 +21,9 @@ public:
/* 802E579C */ virtual bool startFadeOut(int);
/* 802E56DC */ virtual void draw();
s32 getStatus() const { return mStatus; }
void setColor(JUtility::TColor color) { mColor.set(color); }
private:
/* 0x04 */ s32 mStatus;
/* 0x08 */ u16 field_0x8;
+9
View File
@@ -2,6 +2,7 @@
#define JUTFONT_H
#include "JSystem/JUtility/TColor.h"
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/string.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
@@ -88,6 +89,14 @@ public:
void setGradColor(JUtility::TColor col1, JUtility::TColor col2);
f32 drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* a5, u32 usz, bool a7);
void drawString(int param_0, int param_1, const char* str, bool param_3) {
drawString_size(param_0, param_1, str, strlen(str), param_3);
}
void drawString_size(int param_0, int param_1, const char* str, u32 len, bool param_4) {
drawString_size_scale(param_0, param_1, getWidth(), getHeight(), str, len, param_4);
}
/* 0x04 */ bool mValid;
/* 0x05 */ bool mFixed;
/* 0x08 */ int mFixedWidth;
+29
View File
@@ -1,6 +1,35 @@
#ifndef JUTGRAPHFIFO_H
#define JUTGRAPHFIFO_H
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
class JUTGraphFifo {
public:
/* 802DEB58 */ JUTGraphFifo(u32);
/* 802DEC34 */ virtual ~JUTGraphFifo();
void getGpStatus() {
GXGetGPStatus((GXBool*)&mGpStatus[0], (GXBool*)&mGpStatus[1], (GXBool*)&mGpStatus[2],
(GXBool*)&mGpStatus[3], (GXBool*)&mGpStatus[4]);
}
bool isGPActive() {
getGpStatus();
return mGpStatus[2] == false;
}
void save() { GXSaveCPUFifo(this->mFifo); }
static JUTGraphFifo* sCurrentFifo;
static bool mGpStatus[5];
private:
/* 0x04 */ GXFifoObj* mFifo;
/* 0x08 */ void* mBase;
/* 0x0C */ u32 mSize;
/* 0x10 */ u8 field_0x10[0xC];
};
#endif /* JUTGRAPHFIFO_H */
+85
View File
@@ -1,6 +1,91 @@
#ifndef JUTPROCBAR_H
#define JUTPROCBAR_H
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/TColor.h"
#include "dolphin/types.h"
class JUTProcBar {
public:
class CTime {
public:
/* 802E7340 */ CTime();
void start(u8 param_0, u8 param_1, u8 param_2) {
field_0x10 = param_0;
field_0x11 = param_1;
field_0x12 = param_2;
mTick = OSGetTick();
}
void end() {
field_0x4 = ((OSGetTick() - mTick) * 8) / ((*(u32*)0x800000F8 / 4) / 125000);
if (field_0x4 == 0) {
field_0x4 = 1;
}
}
/* 0x00 */ u32 mTick;
/* 0x04 */ u32 field_0x4;
/* 0x08 */ u32 field_0x8;
/* 0x0C */ u32 field_0xc;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u8 field_0x12;
};
class CParamSet {
public:
/* 0x00 */ int mBarWidth;
/* 0x04 */ int mPosX;
/* 0x08 */ int mPosY;
/* 0x0C */ int mWidth;
/* 0x10 */ int mUserPosition;
};
/* 802E5888 */ JUTProcBar();
/* 802E599C */ ~JUTProcBar();
/* 802E59E0 */ static void create();
/* 802E5A28 */ static void destroy();
/* 802E5A60 */ static void clear();
/* 802E5B30 */ void bar_subroutine(int, int, int, int, int, int, int, JUtility::TColor,
JUtility::TColor);
/* 802E5CC4 */ void adjustMeterLength(u32, f32*, f32, f32, int*);
/* 802E5E08 */ void draw();
/* 802E5E3C */ void drawProcessBar();
/* 802E6FA0 */ void drawHeapBar();
void cpuStart() { mCpu.start(255, 129, 30); }
void cpuEnd() { mCpu.end(); }
void gpWaitStart() { mGpWait.start(255, 129, 30); }
void gpWaitEnd() { mGpWait.end(); }
void gpStart() { mGp.start(255, 129, 30); }
void gpEnd() { mGp.end(); }
void wholeLoopStart() { mWholeLoop.start(255, 129, 30); }
void wholeLoopEnd() { mWholeLoop.end(); }
void idleStart() { mIdle.start(255, 129, 30); }
void idleEnd() { mIdle.end(); }
void setCostFrame(int frame) { mCostFrame = frame; }
static JUTProcBar* getManager() { return sManager; }
static JUTProcBar* sManager;
private:
/* 0x000 */ CTime mIdle;
/* 0x014 */ CTime mGp;
/* 0x028 */ CTime mCpu;
/* 0x03C */ CTime mGpWait;
/* 0x050 */ CTime mWholeLoop;
/* 0x064 */ CTime field_0x64[8];
/* 0x104 */ int mCostFrame;
/* 0x108 */ int field_0x108;
/* 0x10C */ bool mVisible;
/* 0x110 */ int field_0x110;
/* 0x114 */ CParamSet field_0x114;
/* 0x128 */ int field_0x128;
/* 0x12C */ JKRHeap* mWatchHeap;
/* 0x130 */ bool mHeapBarVisible;
};
#endif /* JUTPROCBAR_H */
+18 -4
View File
@@ -6,6 +6,8 @@
#include "dolphin/types.h"
#include "dolphin/vi/vi.h"
typedef u8 (*Pattern)[2];
class JUTVideo {
public:
typedef void (*Callback)(u32);
@@ -16,8 +18,8 @@ public:
// TODO: return types not confirmed
/* 802E4C54 */ static JUTVideo* createManager(GXRenderModeObj const*);
/* 802E4CAC */ static void destroyManager();
/* 802E5088 */ void drawDoneStart();
/* 802E50B0 */ void dummyNoDrawWait();
/* 802E5088 */ static void drawDoneStart();
/* 802E50B0 */ static void dummyNoDrawWait();
/* 802E5198 */ void setRenderMode(GXRenderModeObj const*);
/* 802E5210 */ void waitRetraceIfNeed();
@@ -25,10 +27,22 @@ public:
/* 802E5144 */ static void postRetraceProc(u32);
/* 802E50BC */ static void drawDoneCallback();
u32 getFbWidth() const { return mRenderObj->fb_width; }
u32 getEfbHeight() const { return mRenderObj->efb_height; }
u16 getFbWidth() const { return mRenderObj->fb_width; }
u16 getEfbHeight() const { return mRenderObj->efb_height; }
void getBounds(u16& width, u16& height) const {
width = (u16)getFbWidth();
height = (u16)getEfbHeight();
}
u16 getXfbHeight() const { return mRenderObj->xfb_height; }
u32 isAntiAliasing() const { return mRenderObj->antialiasing; }
Pattern getSamplePattern() const { return mRenderObj->sample_pattern; }
u8* getVFilter() const { return mRenderObj->vfilter; }
OSMessageQueue* getMessageQueue() { return &mMessageQueue; }
static JUTVideo* getManager() { return sManager; }
static OSTick getVideoInterval() { return sVideoInterval; }
static OSTick getVideoLastTick() { return sVideoLastTick; }
GXRenderModeObj* getRenderMode() const { return mRenderObj; }
private:
+4 -2
View File
@@ -25,7 +25,7 @@ public:
s32 getBufferNum() const { return mBufferNum; }
s16 getDrawnXfbIndex() const { return mDrawnXfbIndex; }
s16 getDrawningXfbIndex() const { return mDrawingXfbIndex; }
s16 getDrawingXfbIndex() const { return mDrawingXfbIndex; }
s16 getDisplayingXfbIndex() const { return mDisplayingXfbIndex; }
s32 getSDrawingFlag() const { return mSDrawingFlag; }
@@ -35,7 +35,7 @@ public:
return NULL;
}
void* getDrawningXfb() const {
void* getDrawingXfb() const {
if (mDrawingXfbIndex >= 0)
return mBuffer[mDrawingXfbIndex];
return NULL;
@@ -49,6 +49,8 @@ public:
void setDisplayingXfbIndex(s16 index) { mDisplayingXfbIndex = index; }
void setSDrawingFlag(s32 flag) { mSDrawingFlag = flag; }
void setDrawnXfbIndex(s16 index) { mDrawnXfbIndex = index; }
void setDrawingXfbIndex(s16 index) { mDrawingXfbIndex = index; }
static JUTXfb* getManager() { return sManager; }
+23 -2
View File
@@ -229,7 +229,7 @@ public:
JKRExpHeap* getSubExpHeap2D(int idx) { return mSubExpHeap2D[idx]; }
void setSubExpHeap2D(int idx, void* heap) { mSubExpHeap2D[idx] = (JKRExpHeap*)heap; }
void offEnableNextStage() { mNextStage.offEnable(); }
JKRHeap* getExpHeap2D() { return mExpHeap2D; }
JKRExpHeap* getExpHeap2D() { return mExpHeap2D; }
dEvent_manager_c& getEvtManager() { return mEvtManager; }
dAttention_c& getAttention() { return mAttention; }
JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; }
@@ -240,6 +240,7 @@ public:
void* getPlayer(int idx) { return mPlayer[idx]; }
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
JKRArchive* getAnmArchive() { return mAnmArchive; }
JKRArchive* getCollectResArchive() { return mCollectResArchive; }
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
dVibration_c& getVibration() { return mVibration; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
@@ -255,6 +256,7 @@ public:
m3DDirection = direction;
m3DSetFlag = flag;
}
void offPauseFlag() { mPauseFlag = false; }
public:
/* 0x00000 */ dBgS mDBgS;
@@ -506,6 +508,8 @@ STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c));
extern dComIfG_inf_c g_dComIfG_gameInfo;
extern GXColor g_blackColor;
void dComIfGp_setItemLifeCount(float, u8);
void dComIfGp_setItemRupeeCount(long);
int dComIfGs_isItemFirstBit(u8);
@@ -547,6 +551,7 @@ int dComIfGp_getSelectItemMaxNum(int);
void dComIfGp_mapShow();
void dComIfGp_mapHide();
bool dComIfGp_checkMapShow();
s32 dComIfGp_setHeapLockFlag(u8);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -967,7 +972,7 @@ inline int dComIfG_syncObjectRes(const char* name) {
return g_dComIfG_gameInfo.mResControl.syncObjectRes(name);
}
inline JKRHeap* dComIfGp_getExpHeap2D() {
inline JKRExpHeap* dComIfGp_getExpHeap2D() {
return g_dComIfG_gameInfo.play.getExpHeap2D();
}
@@ -1119,6 +1124,10 @@ inline daPy_py_c* dComIfGp_getLinkPlayer() {
return (daPy_py_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
}
inline daPy_py_c* daPy_getLinkPlayerActorClass() {
return dComIfGp_getLinkPlayer();
}
inline daAlink_c* daAlink_getAlinkActorClass() {
return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
}
@@ -1131,6 +1140,10 @@ inline JKRArchive* dComIfGp_getAnmArchive() {
return g_dComIfG_gameInfo.play.getAnmArchive();
}
inline JKRArchive* dComIfGp_getCollectResArchive() {
return g_dComIfG_gameInfo.play.getCollectResArchive();
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}
@@ -1419,8 +1432,16 @@ inline void dComIfGd_set2DOpa(dDlst_base_c* dlst) {
g_dComIfG_gameInfo.drawlist.set2DOpa(dlst);
}
inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) {
g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst);
}
inline dMsgObject_c* dComIfGp_getMsgObjectClass() {
return g_dComIfG_gameInfo.play.getMsgObjectClass();
}
inline void dComIfGp_offPauseFlag() {
g_dComIfG_gameInfo.play.offPauseFlag();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+3 -2
View File
@@ -192,6 +192,7 @@ public:
/* 80056900 */ void calcWipe();
void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); }
void set2DOpaTop(dDlst_base_c* dlst) { set(field_0xac, field_0xb0, dlst); }
static u8 mWipeDlst[72];
static u8 mWipeColor[4];
@@ -226,8 +227,8 @@ private:
/* 0x00068 */ dDlst_list_c** field_0x68;
/* 0x0006C */ dDlst_list_c** field_0x6c; // array?
/* 0x00070 */ u8 field_0x70[0x3C];
/* 0x000AC */ dDlst_list_c* field_0xac;
/* 0x000B0 */ dDlst_list_c** field_0xb0;
/* 0x000AC */ dDlst_base_c** field_0xac;
/* 0x000B0 */ dDlst_base_c** field_0xb0;
/* 0x000B4 */ dDlst_list_c** field_0xb4; // array?
/* 0x000B8 */ u8 field_0xb8[0xFC];
/* 0x001B4 */ dDlst_base_c** field_0x1b4;
+6
View File
@@ -17,6 +17,8 @@ struct STControl {
/* 80032524 */ bool checkUpTrigger();
/* 800325A0 */ bool checkDownTrigger();
void setFirstWaitTime(s16 time) { mFirstWaitTime = time; }
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ u8 field_0x0c;
@@ -40,6 +42,10 @@ struct STControl {
}; // Size = 0x30
struct CSTControl : public STControl {
CSTControl(s16 param_0, s16 param_1, s16 param_2, s16 param_3, f32 param_4, f32 param_5,
s16 param_6, s16 param_7)
: STControl(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7) {}
virtual f32 getValueStick();
virtual s16 getAngleStick();
};
+42
View File
@@ -1,6 +1,48 @@
#ifndef D_D_SELECT_CURSOR_H
#define D_D_SELECT_CURSOR_H
#include "d/d_drawlist.h"
#include "d/d_select_icon.h"
#include "dolphin/types.h"
class dSelect_cursorHIO_c {
public:
/* 801941E4 */ dSelect_cursorHIO_c();
/* 80195978 */ virtual ~dSelect_cursorHIO_c();
private:
/* 0x04 */ u8 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 mXAxisExpansion;
/* 0x10 */ f32 mYAxisExpansion;
/* 0x14 */ f32 mOscillation;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 mRatioX;
/* 0x20 */ f32 mRatioY;
/* 0x24 */ bool mDebugON;
};
class dSelect_cursor_c : public dDlst_base_c {
public:
/* 80194220 */ dSelect_cursor_c(u8, f32, JKRArchive*);
/* 80194CC0 */ void update();
/* 801950F4 */ void setPos(f32, f32, J2DPane*, bool);
/* 801951B0 */ void setParam(f32, f32, f32, f32, f32);
/* 801951C8 */ void setScale(f32);
/* 801952A0 */ void setAlphaRate(f32);
/* 80195330 */ void addAlpha();
/* 801953CC */ void decAlpha();
/* 80195460 */ void setBpkAnimation(J2DAnmColor*);
/* 801955F0 */ void setBtk0Animation(J2DAnmTextureSRTKey*);
/* 80195724 */ void setCursorAnimation();
/* 801958E0 */ void setBckAnimation(J2DAnmTransformKey*);
/* 80195940 */ void moveCenter(J2DPane*, f32, f32);
/* 80194C30 */ virtual void draw();
/* 801949EC */ virtual ~dSelect_cursor_c();
private:
};
#endif /* D_D_SELECT_CURSOR_H */
+1
View File
@@ -84,6 +84,7 @@ public:
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
u8 getMode() const { return mMode; }
u16 checkHind(u16 flag) { return flag & mHindFlag; }
u8 checkCompulsory() { return mCompulsory; }
bool i_isOrderOK() { return field_0xe5 == 0 || field_0xe5 == 2; }

Some files were not shown because too many files have changed in this diff Show More