mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
d0852db127
Co-authored-by: < >
76 lines
2.0 KiB
C++
76 lines
2.0 KiB
C++
|
|
#ifndef D_METRONOME_H
|
|
#define D_METRONOME_H
|
|
|
|
#include "JSystem/JParticle/JPAEmitter.h"
|
|
#include "JSystem/JUtility/TColor.h"
|
|
#include "d/d_drawlist.h"
|
|
#include "f_op/f_op_msg_mng.h"
|
|
#include "m_Do/m_Do_hostIO.h"
|
|
|
|
class dMn_HIO_c : public mDoHIO_entry_c {
|
|
public:
|
|
dMn_HIO_c();
|
|
virtual ~dMn_HIO_c() {}
|
|
|
|
void genMessage(JORMContext* ctx);
|
|
|
|
public:
|
|
/* 0x04 */ f32 mEchoScale;
|
|
/* 0x08 */ s16 mShiftTiming;
|
|
/* 0x0A */ s16 mFlashTiming;
|
|
/* 0x0C */ JUtility::TColor mWhiteColor0;
|
|
/* 0x10 */ JUtility::TColor mWhiteColor1;
|
|
/* 0x14 */ JUtility::TColor mBlackColor0;
|
|
/* 0x18 */ JUtility::TColor mBlackColor1;
|
|
/* 0x1C */ u8 mAlphaOrig;
|
|
/* 0x1D */ u8 mTimingTrail;
|
|
};
|
|
|
|
class dMetronome_c : public dDlst_base_c {
|
|
public:
|
|
void screenSet();
|
|
void metronomeMove();
|
|
void melodyInit(u8);
|
|
void melodyMove();
|
|
void melodyGuideShow(s32, s16);
|
|
void melodyShow();
|
|
void melodyDemo();
|
|
void melodyFlash();
|
|
void melodyShift();
|
|
void initialize();
|
|
void _create();
|
|
void _delete();
|
|
void _move();
|
|
void _draw();
|
|
BOOL _open();
|
|
BOOL _close();
|
|
void draw() { return _draw(); };
|
|
|
|
public:
|
|
/* 0x004 */ J2DScreen* scrn;
|
|
/* 0x008 */ fopMsgM_pane_class pane_cn[7];
|
|
/* 0x190 */ fopMsgM_pane_class pane_wn[7];
|
|
/* 0x318 */ fopMsgM_pane_class pane_pk[7];
|
|
/* 0x4A0 */ fopMsgM_pane_class pane_i12[7];
|
|
/* 0x628 */ fopMsgM_pane_class pane_i11[7];
|
|
/* 0x7B0 */ fopMsgM_pane_class pane_bs[7];
|
|
/* 0x938 */ fopMsgM_pane_class pane_timing[21]; // Metronome dots at the top
|
|
/* 0xDD0 */ fopMsgM_pane_class pane_echo; // Metronome "echo" when it hits the center dot.
|
|
|
|
/* 0xE08 */ JPABaseEmitter * mpEmitter;
|
|
/* 0xE0C */ f32 mCurRate;
|
|
/* 0xE10 */ f32 mPosX;
|
|
/* 0xE14 */ s32 field_0xE14;
|
|
/* 0xE18 */ s32 mNote[7];
|
|
/* 0xE34 */ s32 mCurTimer;
|
|
/* 0xE38 */ u8 field_0xE38;
|
|
/* 0xE39 */ u8 mBeat;
|
|
/* 0xE3A */ u8 mAction;
|
|
/* 0xE3B */ u8 mbOpen;
|
|
};
|
|
|
|
extern dMn_HIO_c g_mnHIO;
|
|
|
|
#endif /* D_METRONOME_H */
|