mirror of
https://github.com/encounter/tww.git
synced 2026-03-30 11:41:09 -07:00
38 lines
931 B
C++
38 lines
931 B
C++
#ifndef JPAKEYBLOCK_H
|
|
#define JPAKEYBLOCK_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
struct JPAKeyBlockData {
|
|
/* 0x00 */ u8 mID;
|
|
/* 0x01 */ u8 m01[0x04 - 0x01];
|
|
/* 0x04 */ u8 mNumber;
|
|
/* 0x05 */ u8 m05[0x06 - 0x05];
|
|
/* 0x06 */ u8 mbLoopEnable;
|
|
};
|
|
|
|
class JPAKeyBlock {
|
|
public:
|
|
virtual ~JPAKeyBlock() {}
|
|
virtual u8 getID() = 0;
|
|
virtual bool isLoopEnable() = 0;
|
|
virtual u8 getNumber() = 0;
|
|
virtual const f32* getKeyDataPtr() = 0;
|
|
};
|
|
|
|
class JPAKeyBlockArc : public JPAKeyBlock {
|
|
public:
|
|
JPAKeyBlockArc(const u8*);
|
|
virtual ~JPAKeyBlockArc() {}
|
|
virtual u8 getID() { return mpData->mID; }
|
|
virtual bool isLoopEnable() { return mpData->mbLoopEnable != 0; }
|
|
virtual u8 getNumber() { return mpData->mNumber; }
|
|
virtual const f32* getKeyDataPtr() { return mpKeyData; }
|
|
|
|
public:
|
|
/* 0x04 */ const JPAKeyBlockData* mpData;
|
|
/* 0x08 */ const f32* mpKeyData;
|
|
};
|
|
|
|
#endif /* JPAKEYBLOCK_H */
|