mirror of
https://github.com/zeldaret/tp
synced 2026-05-22 22:44:28 -04:00
Z2Audio player debug work / fix actor method returns (#3140)
* Z2Audio player debug work * fix actor method returns * wii build fix
This commit is contained in:
@@ -18,10 +18,10 @@ public:
|
||||
SpkTable(void);
|
||||
void setResource(void* res);
|
||||
|
||||
inline s32 getName(s32 num) {
|
||||
inline const char* getName(s32 num) {
|
||||
JUT_ASSERT(0x35, num >= 0);
|
||||
JUT_ASSERT(0x36, num < mNumOfSound);
|
||||
return *(mDataOffsets + num);
|
||||
return (const char*)*(mDataOffsets + num);
|
||||
}
|
||||
inline s32 getNumOfSound() const { return mNumOfSound; }
|
||||
inline bool isValid(void) const { return mIsInitialized; }
|
||||
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
static SpkSoundHandle* getHandleSoundID(s32 soundNum);
|
||||
static SpkSoundHandle* start(s32 id, s32 chan);
|
||||
static SpkSoundHandle* startLevel(s32 id, s32 chan);
|
||||
static s32 getName(s32 num);
|
||||
static const char* getName(s32 num);
|
||||
static s32 getNumOfSound(void);
|
||||
static void stopAll(s32 chan, s32 msec);
|
||||
static void stop(s32 chan);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "JSystem/JAWExtSystem/JAWWindow.h"
|
||||
#include "JSystem/JAudio2/JAISoundHandles.h"
|
||||
#include "JSystem/JAudio2/JAUSoundTable.h"
|
||||
|
||||
class Z2SoundPlayer : public JAWWindow {
|
||||
public:
|
||||
@@ -24,43 +25,32 @@ public:
|
||||
virtual void onKeyRight(const JUTGamePad&);
|
||||
|
||||
u32 getCursorMoveMax(const JUTGamePad&);
|
||||
int getMenuNumberMax();
|
||||
void correctSeNumber();
|
||||
|
||||
/* 0x3ED */ u8 field_0x3ed;
|
||||
/* 0x3EE */ u8 field_0x3ee;
|
||||
/* 0x3EF */ u8 field_0x3ef;
|
||||
/* 0x3F0 */ u8 field_0x3f0;
|
||||
/* 0x3F4 */ const char* field_0x3f4;
|
||||
/* 0x3F8 */ short field_0x3f8;
|
||||
/* 0x3FA */ short field_0x3fa;
|
||||
/* 0x3FC */ short field_0x3fc;
|
||||
/* 0x3FE */ short field_0x3fe;
|
||||
/* 0x400 */ short field_0x400;
|
||||
/* 0x402 */ short field_0x402;
|
||||
/* 0x404 */ const char* field_0x404;
|
||||
/* 0x408 */ const char* field_0x408;
|
||||
/* 0x40C */ const char* field_0x40c;
|
||||
/* 0x410 */ const char* field_0x410;
|
||||
/* 0x414 */ const char* field_0x414;
|
||||
/* 0x418 */ const char* field_0x418;
|
||||
/* 0x41C */ const char* field_0x41c;
|
||||
/* 0x420 */ const char* field_0x420;
|
||||
/* 0x424 */ const char* field_0x424;
|
||||
/* 0x428 */ const char* field_0x428;
|
||||
/* 0x42C */ const char* field_0x42c;
|
||||
/* 0x430 */ const char* field_0x430;
|
||||
/* 0x434 */ const char* field_0x434;
|
||||
/* 0x438 */ const char* field_0x438;
|
||||
/* 0x43C */ const char* field_0x43c;
|
||||
/* 0x440 */ const char* field_0x440;
|
||||
/* 0x444 */ short field_0x444;
|
||||
void onDrawSoundItem(JAWGraphContext*, JAUSoundNameTable*, int, const JUtility::TColor&, const JUtility::TColor&, const char*, u32, u32, u32);
|
||||
|
||||
/* 0x3ED */ bool field_0x3ed;
|
||||
/* 0x3EE */ bool field_0x3ee;
|
||||
/* 0x3EF */ bool field_0x3ef;
|
||||
/* 0x3F0 */ bool field_0x3f0;
|
||||
/* 0x3F4 */ const char* m_name;
|
||||
/* 0x3F8 */ s16 field_0x3f8;
|
||||
/* 0x3FA */ s16 field_0x3fa;
|
||||
/* 0x3FC */ s16 field_0x3fc;
|
||||
/* 0x3FE */ s16 field_0x3fe;
|
||||
/* 0x400 */ s16 field_0x400;
|
||||
/* 0x402 */ s16 m_portNum;
|
||||
/* 0x404 */ const char* m_portNames[16];
|
||||
/* 0x444 */ s16 m_portVal;
|
||||
/* 0x446 */ u8 field_0x446;
|
||||
/* 0x448 */ short* field_0x448[7];
|
||||
/* 0x464 */ int field_0x464;
|
||||
/* 0x468 */ int field_0x468;
|
||||
/* 0x448 */ s16* field_0x448[7];
|
||||
/* 0x464 */ u32 m_cursorY;
|
||||
/* 0x468 */ int m_cursorMax;
|
||||
/* 0x46C */ JAISoundHandle field_0x46c[8];
|
||||
/* 0x48C */ JAISoundHandles field_0x48c;
|
||||
/* 0x494 */ JAISoundHandle field_0x494;
|
||||
/* 0x498 */ JAISoundHandle* field_0x498;
|
||||
/* 0x498 */ JAISoundHandle* mp_subBgmHandle;
|
||||
/* 0x49C */ JAISoundHandle field_0x49c;
|
||||
/* 0x4A0 */ int field_0x4a0;
|
||||
/* 0x4A4 */ f32 field_0x4a4;
|
||||
|
||||
@@ -2,10 +2,39 @@
|
||||
#define Z2WAVEARCLOADER_H
|
||||
|
||||
#include "JSystem/JAWExtSystem/JAWWindow.h"
|
||||
#include "JSystem/JAudio2/JASWaveArcLoader.h"
|
||||
#include "JSystem/JAudio2/JASWaveInfo.h"
|
||||
|
||||
class Z2WaveArcLoader : public JAWWindow {
|
||||
public:
|
||||
Z2WaveArcLoader();
|
||||
virtual ~Z2WaveArcLoader();
|
||||
|
||||
virtual void onDraw(JAWGraphContext*);
|
||||
|
||||
void checkWaveBank();
|
||||
void checkWaveArc();
|
||||
|
||||
virtual void onKeyUp(const JUTGamePad&);
|
||||
virtual void onKeyDown(const JUTGamePad&);
|
||||
virtual void onKeyLeft(const JUTGamePad&);
|
||||
virtual void onKeyRight(const JUTGamePad&);
|
||||
virtual void onTrigA(const JUTGamePad&);
|
||||
virtual void onTrigB(const JUTGamePad&);
|
||||
virtual void onTrigZ(const JUTGamePad&);
|
||||
|
||||
/* 0x3F0 */ JASWaveBank* mpWaveBank;
|
||||
/* 0x3F4 */ JASWaveArc* mpWaveArc;
|
||||
/* 0x3F8 */ u32 mWaveUsedSize;
|
||||
/* 0x3FC */ int mTotalUsedSize;
|
||||
/* 0x400 */ u8 mBankNo;
|
||||
/* 0x404 */ u32 mArcCount;
|
||||
/* 0x408 */ u32 field_0x408;
|
||||
/* 0x40C */ u32 field_0x40c;
|
||||
/* 0x410 */ u32 field_0x410;
|
||||
/* 0x414 */ u8 field_0x414;
|
||||
/* 0x415 */ u8 field_0x415;
|
||||
/* 0x416 */ bool mIsLoadTail;
|
||||
};
|
||||
|
||||
#endif /* Z2WAVEARCLOADER_H */
|
||||
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
int CreateHeap();
|
||||
int Delete();
|
||||
int Execute();
|
||||
void Draw();
|
||||
int Draw();
|
||||
static BOOL createHeapCallBack(fopAc_ac_c*);
|
||||
static BOOL ctrlJointCallBack(J3DJoint*, int);
|
||||
bool getType();
|
||||
|
||||
@@ -24,6 +24,15 @@ public:
|
||||
void setGXforPrint();
|
||||
void setGXforDraw();
|
||||
|
||||
void color(const JUtility::TColor& color0, const JUtility::TColor& color1) {
|
||||
color(color0, color1, color0, color1);
|
||||
}
|
||||
|
||||
void lineWidth(u8 width) {
|
||||
field_0x16 = width;
|
||||
GXSetLineWidth(field_0x16, GX_TO_ZERO);
|
||||
}
|
||||
|
||||
/* 0x00 */ J2DPrint* field_0x0;
|
||||
/* 0x04 */ JUtility::TColor field_0x4;
|
||||
/* 0x08 */ JUtility::TColor field_0x8;
|
||||
|
||||
@@ -16,8 +16,8 @@ public:
|
||||
y = i_y;
|
||||
}
|
||||
|
||||
/* 0x00*/ int x;
|
||||
/* 0x04*/ int y;
|
||||
/* 0x00 */ int x;
|
||||
/* 0x04 */ int y;
|
||||
};
|
||||
|
||||
class JAWWindow {
|
||||
@@ -29,9 +29,9 @@ public:
|
||||
virtual void drawSelf(f32, f32);
|
||||
virtual void drawSelf(f32, f32, Mtx*);
|
||||
|
||||
/* 0x0FC */ JAWGraphContext field_0xfc;
|
||||
/* 0x0FC */ JAWGraphContext m_graf;
|
||||
/* 0x118 */ JAWWindow* m_pParent;
|
||||
/* 0x11C */ JUTPoint field_0x11c;
|
||||
/* 0x11C */ JUTPoint m_point;
|
||||
};
|
||||
|
||||
class TJ2DWindowDraw : public J2DWindow {
|
||||
@@ -94,21 +94,29 @@ public:
|
||||
static JUtility::TColor convJudaColor(u16);
|
||||
void padProc(const JUTGamePad&);
|
||||
|
||||
void setWindowColor(const JUtility::TColor& color) {
|
||||
setWindowColor(color, color, color, color);
|
||||
}
|
||||
|
||||
void setWindowColor(u8 r, u8 g, u8 b, u8 a) {
|
||||
setWindowColor(JUtility::TColor(r, g, b, a));
|
||||
}
|
||||
|
||||
/* 0x004 */ Mtx mMatrix;
|
||||
/* 0x034 */ u8 field_0x34[0x38 - 0x34];
|
||||
/* 0x038 */ TJ2DWindowDraw field_0x38;
|
||||
/* 0x180 */ J2DTextBox field_0x180;
|
||||
/* 0x2B0 */ TWindowText field_0x2b0;
|
||||
/* 0x3D8 */ JUtility::TColor field_0x3d8;
|
||||
/* 0x3DC */ JUtility::TColor field_0x3dc;
|
||||
/* 0x3E0 */ JUtility::TColor field_0x3e0;
|
||||
/* 0x3E4 */ JUtility::TColor field_0x3e4;
|
||||
/* 0x038 */ TJ2DWindowDraw m_drawWindow;
|
||||
/* 0x180 */ J2DTextBox m_titleText;
|
||||
/* 0x2B0 */ TWindowText m_windowText;
|
||||
/* 0x3D8 */ JUtility::TColor m_windowColor0;
|
||||
/* 0x3DC */ JUtility::TColor m_windowColor1;
|
||||
/* 0x3E0 */ JUtility::TColor m_windowColor2;
|
||||
/* 0x3E4 */ JUtility::TColor m_windowColor3;
|
||||
/* 0x3E8 */ int field_0x3e8;
|
||||
/* 0x3EC */ u8 field_0x3ec;
|
||||
/* 0x3EC */ u8 m_isInit;
|
||||
|
||||
void setMatrix(Mtx mtx) { MTXCopy(mtx, mMatrix); }
|
||||
void setAlpha(u8 alpha) { field_0x38.setAlpha(alpha); }
|
||||
void draw(int x, int y, const J2DGrafContext* p_grafCtx) { field_0x38.drawPane(x, y, p_grafCtx); }
|
||||
void setAlpha(u8 alpha) { m_drawWindow.setAlpha(alpha); }
|
||||
void draw(int x, int y, const J2DGrafContext* p_grafCtx) { m_drawWindow.drawPane(x, y, p_grafCtx); }
|
||||
};
|
||||
|
||||
#endif /* JAWWINDOW_H */
|
||||
|
||||
@@ -49,6 +49,12 @@ public:
|
||||
|
||||
JAISoundID(const JAISoundID& other) { id_.composite_ = other.id_.composite_; };
|
||||
|
||||
JAISoundID(unsigned int sectionID, unsigned int groupID, unsigned int waveID) {
|
||||
id_.info.type.parts.sectionID = sectionID;
|
||||
id_.info.type.parts.groupID = groupID;
|
||||
id_.info.waveID = waveID;
|
||||
}
|
||||
|
||||
JAISoundID() {}
|
||||
|
||||
bool isAnonymous() const { return id_.composite_ == -1; }
|
||||
@@ -322,6 +328,8 @@ public:
|
||||
status_.field_0x0.flags.paused = param_0;
|
||||
}
|
||||
|
||||
bool isPaused() const { return status_.field_0x0.flags.paused; }
|
||||
|
||||
void updateLifeTime(u32 lifeTime) {
|
||||
if (lifeTime > lifeTime_) {
|
||||
lifeTime_ = lifeTime;
|
||||
|
||||
@@ -33,6 +33,9 @@ public:
|
||||
bool isAllocated() const { return mBase; }
|
||||
u32 getSize() const { return mSize; }
|
||||
|
||||
JSUTree<JASHeap>* getFirstChild() { return mTree.getFirstChild(); }
|
||||
JSUTree<JASHeap>* getEndChild() { return mTree.getEndChild(); }
|
||||
|
||||
/* 0x00 */ JSUTree<JASHeap> mTree;
|
||||
/* 0x1C */ OSMutex mMutex;
|
||||
/* 0x34 */ JASDisposer* mDisposer;
|
||||
|
||||
@@ -54,6 +54,8 @@ struct JASWaveArc : JASDisposer {
|
||||
virtual void onEraseDone() {}
|
||||
|
||||
s32 getStatus() const { return mStatus; }
|
||||
u32 getFileSize() const { return mFileLength; }
|
||||
JASHeap* getHeap() { return &mHeap; }
|
||||
|
||||
struct loadToAramCallbackParams {
|
||||
// not official struct name
|
||||
|
||||
@@ -148,6 +148,8 @@ struct JAUSoundTable : public JASGlobalInstance<JAUSoundTable> {
|
||||
void init(void const*);
|
||||
u8 getTypeID(JAISoundID) const;
|
||||
JAUSoundTableItem* getData(JAISoundID) const;
|
||||
int getNumGroups_inSection(u8) const;
|
||||
int getNumItems_inGroup(u8, u8) const;
|
||||
|
||||
JAUSoundTableItem* getItem(JAUSoundTableGroup* group, int index) const {
|
||||
u32 offset = group->getItemOffset(index);
|
||||
|
||||
@@ -230,6 +230,8 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
operator int() { return (int)mTree; }
|
||||
|
||||
T* getObject() const { return this->mTree->getObject(); }
|
||||
|
||||
bool operator==(const JSUTree<T>* other) const { return this->mTree == other; }
|
||||
|
||||
@@ -6,29 +6,29 @@
|
||||
#include "JSystem/JGeometry.h"
|
||||
|
||||
JAWWindow::JAWWindow(const char* param_1, int param_2, int param_3) :
|
||||
field_0x38('WIN1', JGeometry::TBox2<f32>(0.0f, 0.0f, param_2, param_3), "frame_lu.bti"),
|
||||
field_0x180('TITL', JGeometry::TBox2<f32>(10.0f, 10.0f, 640.0f, 170.0f), (const ResFONT*)JUTResFONT_Ascfont_fix16, param_1, -1, HBIND_LEFT, VBIND_TOP),
|
||||
field_0x2b0(this),
|
||||
field_0x3d8(JUtility::TColor(0, 0, 0, 255)),
|
||||
field_0x3dc(JUtility::TColor(0, 0, 0, 255)),
|
||||
field_0x3e0(JUtility::TColor(0, 0, 0, 255)),
|
||||
field_0x3e4(JUtility::TColor(0, 0, 0, 255)) {
|
||||
m_drawWindow('WIN1', JGeometry::TBox2<f32>(0.0f, 0.0f, param_2, param_3), "frame_lu.bti"),
|
||||
m_titleText('TITL', JGeometry::TBox2<f32>(10.0f, 10.0f, 640.0f, 170.0f), (const ResFONT*)JUTResFONT_Ascfont_fix16, param_1, -1, HBIND_LEFT, VBIND_TOP),
|
||||
m_windowText(this),
|
||||
m_windowColor0(JUtility::TColor(0, 0, 0, 255)),
|
||||
m_windowColor1(JUtility::TColor(0, 0, 0, 255)),
|
||||
m_windowColor2(JUtility::TColor(0, 0, 0, 255)),
|
||||
m_windowColor3(JUtility::TColor(0, 0, 0, 255)) {
|
||||
field_0x3e8 = 0;
|
||||
field_0x3ec = 0;
|
||||
field_0x38.setContentsColor(field_0x3d8, field_0x3e0, field_0x3dc, field_0x3e4);
|
||||
field_0x180.setCharColor(JUtility::TColor(0, 255, 0, 255));
|
||||
field_0x180.setGradColor(JUtility::TColor(255, 255, 255, 255));
|
||||
field_0x38.appendChild(&field_0x180);
|
||||
field_0x38.appendChild(&field_0x2b0);
|
||||
m_isInit = FALSE;
|
||||
m_drawWindow.setContentsColor(m_windowColor0, m_windowColor2, m_windowColor1, m_windowColor3);
|
||||
m_titleText.setCharColor(JUtility::TColor(0, 255, 0, 255));
|
||||
m_titleText.setGradColor(JUtility::TColor(255, 255, 255, 255));
|
||||
m_drawWindow.appendChild(&m_titleText);
|
||||
m_drawWindow.appendChild(&m_windowText);
|
||||
}
|
||||
|
||||
JAWWindow::~JAWWindow() {}
|
||||
|
||||
BOOL JAWWindow::initIf() {
|
||||
if (field_0x3ec) {
|
||||
if (m_isInit) {
|
||||
return TRUE;
|
||||
} else {
|
||||
field_0x3ec = TRUE;
|
||||
m_isInit = TRUE;
|
||||
return onInit();
|
||||
}
|
||||
}
|
||||
@@ -36,30 +36,30 @@ BOOL JAWWindow::initIf() {
|
||||
BOOL JAWWindow::onInit() { return TRUE; }
|
||||
|
||||
void JAWWindow::setTitleColor(const JUtility::TColor& param_1, const JUtility::TColor& param_2) {
|
||||
field_0x180.setCharColor(param_1);
|
||||
field_0x180.setGradColor(param_2);
|
||||
m_titleText.setCharColor(param_1);
|
||||
m_titleText.setGradColor(param_2);
|
||||
}
|
||||
|
||||
void JAWWindow::setWindowColor(const JUtility::TColor& param_1, const JUtility::TColor& param_2, const JUtility::TColor& param_3, const JUtility::TColor& param_4) {
|
||||
field_0x3d8 = param_1;
|
||||
field_0x3dc = param_2;
|
||||
field_0x3e0 = param_3;
|
||||
field_0x3e4 = param_4;
|
||||
field_0x38.setContentsColor(field_0x3d8, field_0x3e0, field_0x3dc, field_0x3e4);
|
||||
m_windowColor0 = param_1;
|
||||
m_windowColor1 = param_2;
|
||||
m_windowColor2 = param_3;
|
||||
m_windowColor3 = param_4;
|
||||
m_drawWindow.setContentsColor(m_windowColor0, m_windowColor2, m_windowColor1, m_windowColor3);
|
||||
}
|
||||
|
||||
void JAWWindow::onDraw(JAWGraphContext*) {}
|
||||
|
||||
void JAWWindow::move(f32 param_1, f32 param_2) {
|
||||
field_0x38.move(param_1, param_2);
|
||||
m_drawWindow.move(param_1, param_2);
|
||||
}
|
||||
|
||||
void JAWWindow::addPosition(f32 param_1, f32 param_2) {
|
||||
field_0x38.add(param_1, param_2);
|
||||
m_drawWindow.add(param_1, param_2);
|
||||
}
|
||||
|
||||
void JAWWindow::addSize(f32 width, f32 height) {
|
||||
JGeometry::TBox2<f32> bounds = field_0x38.getBounds();
|
||||
JGeometry::TBox2<f32> bounds = m_drawWindow.getBounds();
|
||||
f32 newWidth = width + bounds.getWidth();
|
||||
f32 newHeight = height + bounds.getHeight();
|
||||
if (newWidth < 36.0f) {
|
||||
@@ -72,7 +72,7 @@ void JAWWindow::addSize(f32 width, f32 height) {
|
||||
} else if (newHeight > 480.0f) {
|
||||
newHeight = 480.0f;
|
||||
}
|
||||
field_0x38.resize(newWidth, newHeight);
|
||||
m_drawWindow.resize(newWidth, newHeight);
|
||||
}
|
||||
|
||||
JUtility::TColor JAWWindow::convJudaColor(u16 param_1) {
|
||||
@@ -189,7 +189,7 @@ void JAWWindow::padProc(const JUTGamePad& pad) {
|
||||
JAWWindow::TWindowText::TWindowText(JAWWindow* window) :
|
||||
J2DPane('TEXT', JGeometry::TBox2<f32>(10.0f, 30.0f, 650.0f, 510.0f)),
|
||||
m_pParent(window),
|
||||
field_0x11c(0, 0) {
|
||||
m_point(0, 0) {
|
||||
}
|
||||
|
||||
JAWWindow::TWindowText::~TWindowText() {}
|
||||
@@ -201,15 +201,15 @@ void JAWWindow::TWindowText::drawSelf(f32 param_1, f32 param_2) {
|
||||
}
|
||||
|
||||
void JAWWindow::TWindowText::drawSelf(f32, f32, Mtx* param_3) {
|
||||
field_0xfc.reset();
|
||||
MTXTrans(*param_3, -field_0x11c.x, -field_0x11c.y, 0.0f);
|
||||
m_graf.reset();
|
||||
MTXTrans(*param_3, -m_point.x, -m_point.y, 0.0f);
|
||||
Mtx stack_48;
|
||||
MTXConcat(*param_3, mGlobalMtx, stack_48);
|
||||
GXLoadPosMtxImm(stack_48, 0);
|
||||
field_0xfc.setParentAlpha(mColorAlpha);
|
||||
m_graf.setParentAlpha(mColorAlpha);
|
||||
JUT_ASSERT(209, m_pParent != NULL);
|
||||
m_pParent->setMatrix(stack_48);
|
||||
m_pParent->onDraw(&field_0xfc);
|
||||
m_pParent->onDraw(&m_graf);
|
||||
}
|
||||
|
||||
static void dummy(J2DPane* pane, J2DWindow* window) {
|
||||
|
||||
@@ -127,12 +127,12 @@ SpkSoundHandle* Z2AudioCS::startLevel(s32 id, s32 chan) {
|
||||
return handle;
|
||||
}
|
||||
|
||||
s32 Z2AudioCS::getName(s32 num) {
|
||||
const char* Z2AudioCS::getName(s32 num) {
|
||||
if (JASGlobalInstance<SpkSystem>::getInstance() == NULL) {
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
if (JASGlobalInstance<SpkSystem>::getInstance()->getData() == NULL) {
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return JASGlobalInstance<SpkSystem>::getInstance()->getData()->getTableMgr().getName(num);
|
||||
|
||||
@@ -1,46 +1,55 @@
|
||||
#include "Z2AudioLib/Z2SoundPlayer.h"
|
||||
#include "Z2AudioLib/Z2SeqMgr.h"
|
||||
#include "Z2AudioLib/Z2AudioMgr.h"
|
||||
#include "Z2AudioCS/Z2AudioCS.h"
|
||||
#include "JSystem/JUtility/JUTGamePad.h"
|
||||
|
||||
Z2SoundPlayer::Z2SoundPlayer(const char* param_1) : JAWWindow("Player for JAudio2", 500, 140), field_0x48c(field_0x46c, 8) {
|
||||
field_0x3ed = 0;
|
||||
field_0x3ee = 0;
|
||||
field_0x3ef = 0;
|
||||
field_0x3f0 = 0;
|
||||
field_0x3f4 = param_1;
|
||||
Z2SoundPlayer::Z2SoundPlayer(const char* projectName)
|
||||
: JAWWindow("Player for JAudio2", 500, 140),
|
||||
field_0x48c(field_0x46c, 8)
|
||||
{
|
||||
field_0x3ed = false;
|
||||
field_0x3ee = false;
|
||||
field_0x3ef = false;
|
||||
field_0x3f0 = false;
|
||||
|
||||
m_name = projectName;
|
||||
field_0x3f8 = 0;
|
||||
field_0x3fc = 0;
|
||||
field_0x3fa = 0;
|
||||
field_0x3fe = 0;
|
||||
field_0x400 = 0;
|
||||
field_0x402 = 0;
|
||||
field_0x444 = 0;
|
||||
m_portNum = 0;
|
||||
m_portVal = 0;
|
||||
field_0x446 = 0;
|
||||
field_0x404 = "CMD_PORT";
|
||||
field_0x408 = "END_PORT";
|
||||
field_0x40c = "STA_PORT";
|
||||
field_0x410 = "WAIT_PORT";
|
||||
field_0x414 = "NUM_PORT";
|
||||
field_0x418 = "PORT_5";
|
||||
field_0x41c = "MAP_PORT";
|
||||
field_0x420 = "NOTE_PORT";
|
||||
field_0x424 = "SE_SELECT_PORT";
|
||||
field_0x428 = "BGM_STATUS_PORT";
|
||||
field_0x42c = "BGM_PORT2";
|
||||
field_0x430 = "BGM_PORT3";
|
||||
field_0x434 = "PORT12";
|
||||
field_0x438 = "PORT13";
|
||||
field_0x43c = "FILTER_PORT";
|
||||
field_0x440 = "FX_PORT";
|
||||
|
||||
m_portNames[0] = "CMD_PORT";
|
||||
m_portNames[1] = "END_PORT";
|
||||
m_portNames[2] = "STA_PORT";
|
||||
m_portNames[3] = "WAIT_PORT";
|
||||
m_portNames[4] = "NUM_PORT";
|
||||
m_portNames[5] = "PORT_5";
|
||||
m_portNames[6] = "MAP_PORT";
|
||||
m_portNames[7] = "NOTE_PORT";
|
||||
m_portNames[8] = "SE_SELECT_PORT";
|
||||
m_portNames[9] = "BGM_STATUS_PORT";
|
||||
m_portNames[10] = "BGM_PORT2";
|
||||
m_portNames[11] = "BGM_PORT3";
|
||||
m_portNames[12] = "PORT12";
|
||||
m_portNames[13] = "PORT13";
|
||||
m_portNames[14] = "FILTER_PORT";
|
||||
m_portNames[15] = "FX_PORT";
|
||||
|
||||
u8 r30 = 0;
|
||||
field_0x448[r30++] = &field_0x3f8;
|
||||
field_0x448[r30++] = &field_0x3fa;
|
||||
field_0x448[r30++] = &field_0x3fc;
|
||||
field_0x448[r30++] = &field_0x3fe;
|
||||
field_0x448[r30++] = &field_0x400;
|
||||
field_0x448[r30++] = &field_0x402;
|
||||
field_0x448[r30] = &field_0x444;
|
||||
field_0x464 = 0;
|
||||
field_0x468 = 7;
|
||||
field_0x448[r30++] = &m_portNum;
|
||||
field_0x448[r30] = &m_portVal;
|
||||
|
||||
m_cursorY = 0;
|
||||
m_cursorMax = 7;
|
||||
field_0x4a0 = 0;
|
||||
field_0x4a4 = 1.0f;
|
||||
field_0x4a8 = 0.5f;
|
||||
@@ -48,65 +57,446 @@ Z2SoundPlayer::Z2SoundPlayer(const char* param_1) : JAWWindow("Player for JAudio
|
||||
field_0x4b0 = 0.0f;
|
||||
field_0x4b4 = 0.0f;
|
||||
field_0x4b8 = 1.0f;
|
||||
field_0x498 = Z2GetSeqMgr()->getSubBgmHandle();
|
||||
|
||||
mp_subBgmHandle = Z2GetSeqMgr()->getSubBgmHandle();
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onDraw(JAWGraphContext*) {
|
||||
void Z2SoundPlayer::onDraw(JAWGraphContext* graf) {
|
||||
JAUSoundNameTable* soundTable = JASGlobalInstance<JAUSoundNameTable>::getInstance();
|
||||
|
||||
int var_r27 = 0;
|
||||
if (field_0x3ed) {
|
||||
var_r27 = 2;
|
||||
}
|
||||
|
||||
u8 cursorY = 0;
|
||||
|
||||
graf->color(JUtility::TColor(0, 0x7F, 0xFF, 0xFF), JUtility::TColor(0, 0xFF, 0x7F, 0xFF));
|
||||
graf->print(1, cursorY++, "Project: %s", m_name);
|
||||
|
||||
graf->color(0xFF >> (u8)var_r27, 0xFF >> (u8)var_r27, 0xFF >> (u8)var_r27, 0xFF);
|
||||
graf->print(0, m_cursorY + 1, ">");
|
||||
|
||||
JUtility::TColor sp28(0xFF >> (u8)var_r27, 0xFF >> (u8)var_r27, 0xFF >> (u8)var_r27, 0xFF);
|
||||
JUtility::TColor sp24(0, 0xFF >> (u8)var_r27, 0, 0xFF);
|
||||
|
||||
onDrawSoundItem(graf, soundTable, cursorY++,
|
||||
sp28,
|
||||
sp24,
|
||||
"SEQ NUM ",
|
||||
1, 0, field_0x3f8
|
||||
);
|
||||
|
||||
graf->color(sp28);
|
||||
const char* cateName;
|
||||
if (soundTable != NULL) {
|
||||
cateName = soundTable->getGroupName(JAISoundID(0, field_0x3fa & 0xFF, 0));
|
||||
} else {
|
||||
cateName = "";
|
||||
}
|
||||
graf->print(1, cursorY++, "SE CATE %03x %s", field_0x3fa, cateName);
|
||||
|
||||
onDrawSoundItem(graf, soundTable, cursorY++,
|
||||
sp28,
|
||||
sp24,
|
||||
"SE NUM ",
|
||||
0, field_0x3fa & 0xFF, field_0x3fc
|
||||
);
|
||||
onDrawSoundItem(graf, soundTable, cursorY++,
|
||||
sp28,
|
||||
sp24,
|
||||
"STRM NUM",
|
||||
2, 0, field_0x3fe
|
||||
);
|
||||
|
||||
graf->color(sp28);
|
||||
graf->print(1, cursorY++, "CORE_SPK %03x %s", field_0x400, Z2AudioCS::getName(field_0x400));
|
||||
|
||||
graf->color(field_0x446 + 0xC0, 0xC0, 0xC0, 0xFF);
|
||||
graf->print(1, cursorY++, "PORT NUM %03x %s", m_portNum, m_portNames[m_portNum]);
|
||||
graf->print(1, cursorY++, "PORT VAL %03x", m_portVal);
|
||||
|
||||
graf->color(0, 0x50, 0xC8, 0xFF);
|
||||
if (field_0x3ee) {
|
||||
graf->print(1, cursorY, "DOLBY ON\n");
|
||||
}
|
||||
|
||||
graf->color(0xC8, 0x50, 0, 0xFF);
|
||||
if (field_0x3f0) {
|
||||
graf->print(10, cursorY, "LEVEL SE CALL");
|
||||
}
|
||||
|
||||
graf->color(0xFF, 0, 0, 0xFF);
|
||||
graf->print(0x16, cursorY, "%s", field_0x3ed ? "PAUSE ON" : "");
|
||||
|
||||
graf->color(0, 0xC8, (field_0x4a0 * 200) / 30, 0xFF);
|
||||
if (field_0x3ef) {
|
||||
graf->print(0x16, cursorY, "RESET %d\n", field_0x4a0);
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onTrigA(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onTrigA(const JUTGamePad& pad) {
|
||||
switch (m_cursorY) {
|
||||
case 0: {
|
||||
JAISoundID sp24(1, 0, (u16)field_0x3f8);
|
||||
switch (sp24) {
|
||||
case 0x100000a:
|
||||
case 0x100000b:
|
||||
case 0x100000f:
|
||||
case 0x1000012:
|
||||
case 0x1000014:
|
||||
case 0x100001b:
|
||||
case 0x100001c:
|
||||
case 0x1000024:
|
||||
Z2GetSoundMgr()->startSound(sp24, mp_subBgmHandle, NULL);
|
||||
break;
|
||||
default:
|
||||
Z2GetSoundMgr()->startSound(sp24, &field_0x494, NULL);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 2:
|
||||
if (!field_0x3f0) {
|
||||
JAISoundHandle* handle = field_0x48c.getFreeHandle();
|
||||
JAISoundID sp20(0, field_0x3fa & 0xFF, (u16)field_0x3fc);
|
||||
if (handle != NULL) {
|
||||
Z2GetSoundStarter()->startSound(sp20, handle, NULL);
|
||||
if (*handle) {
|
||||
Z2GetSoundStarter()->setPortData(handle, m_portNum, m_portVal, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
Z2GetSoundMgr()->startSound(JAISoundID(2, 0, (u16)field_0x3fe), &field_0x49c, NULL);
|
||||
break;
|
||||
case 4:
|
||||
if (!field_0x3f0) {
|
||||
Z2AudioCS::start(field_0x400, 0);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
field_0x446 = 64;
|
||||
if (m_portNum < 9) {
|
||||
JAISoundHandle* handle = field_0x48c.getFreeHandle();
|
||||
JAISoundID sp1C(0, field_0x3fa & 0xFF, (u16)field_0x3fc);
|
||||
if (handle != NULL) {
|
||||
Z2GetSoundStarter()->startSound(sp1C, handle, NULL);
|
||||
if (*handle) {
|
||||
Z2GetSoundStarter()->setPortData(handle, m_portNum, m_portVal, -1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x494) {
|
||||
Z2GetSoundStarter()->setPortData(&field_0x494, m_portNum, m_portVal, -1);
|
||||
}
|
||||
|
||||
if (mp_subBgmHandle->isSoundAttached()) {
|
||||
Z2GetSoundStarter()->setPortData(mp_subBgmHandle, m_portNum, m_portVal, -1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onTrigB(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onTrigB(const JUTGamePad& pad) {
|
||||
switch (m_cursorY) {
|
||||
case 0: {
|
||||
if (field_0x494) {
|
||||
field_0x494->stop(0);
|
||||
}
|
||||
|
||||
field_0x494.releaseSound();
|
||||
|
||||
if (mp_subBgmHandle->isSoundAttached()) {
|
||||
(*mp_subBgmHandle)->stop();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 2: {
|
||||
JAISoundHandle* handle = field_0x48c.getHandleSoundID(JAISoundID(0, field_0x3fa & 0xFF, (u16)field_0x3fc));
|
||||
if (handle) {
|
||||
(*handle)->stop();
|
||||
handle->releaseSound();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
if (field_0x49c) {
|
||||
field_0x49c->stop();
|
||||
}
|
||||
|
||||
field_0x49c.releaseSound();
|
||||
break;
|
||||
case 4:
|
||||
Z2AudioCS::stop(0);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
m_portVal = 0;
|
||||
field_0x446 = 0;
|
||||
|
||||
if (field_0x494) {
|
||||
Z2GetSoundStarter()->setPortData(&field_0x494, m_portNum, m_portVal, -1);
|
||||
}
|
||||
|
||||
if (mp_subBgmHandle->isSoundAttached()) {
|
||||
Z2GetSoundStarter()->setPortData(mp_subBgmHandle, m_portNum, m_portVal, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::frameWork() {
|
||||
switch (m_cursorY) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
|
||||
if (field_0x3ef) {
|
||||
field_0x4a0++;
|
||||
|
||||
if (Z2GetAudioMgr()->hasReset()) {
|
||||
Z2GetAudioMgr()->resetRecover();
|
||||
field_0x3ef = false;
|
||||
OS_REPORT("RESET END \n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onPadProc(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onPadProc(const JUTGamePad& pad) {
|
||||
if (field_0x3f0 && pad.testButton(PAD_BUTTON_A)) {
|
||||
switch (m_cursorY) {
|
||||
case 2: {
|
||||
JAISoundID sp14(0, field_0x3fa & 0xFF, (u16)field_0x3fc);
|
||||
JAISoundHandle* handle = field_0x48c.getHandleSoundID(sp14);
|
||||
if (handle == NULL) {
|
||||
handle = field_0x48c.getFreeHandle();
|
||||
}
|
||||
|
||||
if (handle != NULL) {
|
||||
Z2GetAudioMgr()->startLevelSound(sp14, handle, NULL);
|
||||
}
|
||||
|
||||
if (*handle) {
|
||||
Z2GetSoundStarter()->setPortData(handle, m_portNum, m_portVal, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
Z2AudioCS::startLevel(field_0x400, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onTrigX(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onTrigX(const JUTGamePad& pad) {
|
||||
switch (m_cursorY) {
|
||||
case 0: {
|
||||
if (field_0x494) {
|
||||
field_0x494->pause(!field_0x494->isPaused());
|
||||
}
|
||||
|
||||
if (mp_subBgmHandle->isSoundAttached()) {
|
||||
(*mp_subBgmHandle)->pause(!(*mp_subBgmHandle)->isPaused());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 2: {
|
||||
JAISoundHandle* handle = field_0x48c.getHandleSoundID(JAISoundID(0, field_0x3fa & 0xFF, (u16)field_0x3fc));
|
||||
if (handle) {
|
||||
(*handle)->pause(!(*handle)->isPaused());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
if (field_0x49c) {
|
||||
(field_0x49c)->pause(!(field_0x49c)->isPaused());
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
Z2AudioCS::stop(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onTrigY(const JUTGamePad&) {
|
||||
|
||||
|
||||
}
|
||||
void Z2SoundPlayer::onTrigZ(const JUTGamePad&) {
|
||||
|
||||
|
||||
}
|
||||
void Z2SoundPlayer::onTrigL(const JUTGamePad&) {
|
||||
|
||||
void Z2SoundPlayer::onTrigY(const JUTGamePad& pad) {
|
||||
if (!field_0x3ef) {
|
||||
Z2GetAudioMgr()->resetProcess(30, false);
|
||||
field_0x3ef = true;
|
||||
field_0x4a0 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyLeft(const JUTGamePad&) {
|
||||
|
||||
void Z2SoundPlayer::onTrigZ(const JUTGamePad& pad) {
|
||||
bool* pvar = &field_0x3f0;
|
||||
bool newValue = *pvar ^ 1;
|
||||
*pvar = newValue;
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyRight(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onTrigL(const JUTGamePad& pad) {
|
||||
bool* pvar = &field_0x3ee;
|
||||
bool newValue = *pvar ^ 1;
|
||||
*pvar = newValue;
|
||||
|
||||
if (field_0x3ee) {
|
||||
Z2GetAudioMgr()->setOutputMode(2);
|
||||
} else {
|
||||
Z2GetAudioMgr()->setOutputMode(1);
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyUp(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onKeyLeft(const JUTGamePad& pad) {
|
||||
int moveMax = getCursorMoveMax(pad);
|
||||
int menuMax = getMenuNumberMax();
|
||||
|
||||
if (moveMax >= menuMax) {
|
||||
moveMax = 1;
|
||||
}
|
||||
|
||||
if (*field_0x448[m_cursorY] > moveMax - 1) {
|
||||
*field_0x448[m_cursorY] -= (s16)moveMax;
|
||||
} else {
|
||||
*field_0x448[m_cursorY] = (*field_0x448[m_cursorY] + menuMax) - moveMax;
|
||||
}
|
||||
|
||||
if (m_cursorY == 1) {
|
||||
correctSeNumber();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyDown(const JUTGamePad&) {
|
||||
void Z2SoundPlayer::onKeyRight(const JUTGamePad& pad) {
|
||||
int moveMax = getCursorMoveMax(pad);
|
||||
int menuMax = getMenuNumberMax();
|
||||
|
||||
if (moveMax >= menuMax) {
|
||||
moveMax = 1;
|
||||
}
|
||||
|
||||
if (*field_0x448[m_cursorY] < menuMax - moveMax) {
|
||||
*field_0x448[m_cursorY] += (s16)moveMax;
|
||||
} else {
|
||||
*field_0x448[m_cursorY] = (*field_0x448[m_cursorY] + moveMax) - menuMax;
|
||||
}
|
||||
|
||||
if (m_cursorY == 1) {
|
||||
correctSeNumber();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyMenu(const JUTGamePad&) {
|
||||
|
||||
void Z2SoundPlayer::onKeyUp(const JUTGamePad& pad) {
|
||||
if (m_cursorY != 0) {
|
||||
m_cursorY--;
|
||||
} else {
|
||||
m_cursorY = m_cursorMax - 1;
|
||||
}
|
||||
}
|
||||
|
||||
u32 Z2SoundPlayer::getCursorMoveMax(const JUTGamePad&) {
|
||||
|
||||
void Z2SoundPlayer::onKeyDown(const JUTGamePad& pad) {
|
||||
if (m_cursorY < m_cursorMax - 1) {
|
||||
m_cursorY++;
|
||||
} else {
|
||||
m_cursorY = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onKeyMenu(const JUTGamePad& pad) {
|
||||
bool* pvar = &field_0x3ed;
|
||||
bool newValue = *pvar ^ 1;
|
||||
*pvar = newValue;
|
||||
|
||||
Z2GetSoundMgr()->pauseAllGameSound(field_0x3ed);
|
||||
}
|
||||
|
||||
u32 Z2SoundPlayer::getCursorMoveMax(const JUTGamePad& pad) {
|
||||
u32 num = 1;
|
||||
|
||||
if (pad.testButton(PAD_TRIGGER_Z) && pad.testButton(PAD_BUTTON_X)) {
|
||||
num = 128;
|
||||
} else if (pad.testButton(PAD_TRIGGER_Z)) {
|
||||
num = 16;
|
||||
} else if (pad.testButton(PAD_BUTTON_X)) {
|
||||
num = 8;
|
||||
}
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
int Z2SoundPlayer::getMenuNumberMax() {
|
||||
JAUSoundTable* soundTable = JASGlobalInstance<JAUSoundTable>::getInstance();
|
||||
JUT_ASSERT(550, soundTable);
|
||||
|
||||
int num = 0;
|
||||
switch (m_cursorY) {
|
||||
case 0:
|
||||
num = soundTable->getNumItems_inGroup(1, 0);
|
||||
break;
|
||||
case 1:
|
||||
num = soundTable->getNumGroups_inSection(0);
|
||||
break;
|
||||
case 2:
|
||||
num = soundTable->getNumItems_inGroup(0, field_0x3fa);
|
||||
break;
|
||||
case 3:
|
||||
num = soundTable->getNumItems_inGroup(2, 0);
|
||||
break;
|
||||
case 4:
|
||||
num = Z2AudioCS::getNumOfSound();
|
||||
break;
|
||||
case 5:
|
||||
num = 16;
|
||||
break;
|
||||
case 6:
|
||||
num = 128;
|
||||
break;
|
||||
}
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::correctSeNumber() {
|
||||
JAUSoundTable* soundTable = JASGlobalInstance<JAUSoundTable>::getInstance();
|
||||
JUT_ASSERT(594, soundTable);
|
||||
|
||||
int num = soundTable->getNumItems_inGroup(0, field_0x3fa);
|
||||
if (num == 0) {
|
||||
field_0x3fc = 0;
|
||||
} else if (field_0x3fc >= num) {
|
||||
field_0x3fc = num - 1;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2SoundPlayer::onDrawSoundItem(JAWGraphContext* graf, JAUSoundNameTable* nameTable, int cursorY,
|
||||
const JUtility::TColor& color0, const JUtility::TColor& color1,
|
||||
const char* label, u32 sectionID, u32 groupID, u32 waveID)
|
||||
{
|
||||
static const char szNoEntry[] = "(NO ENTRY)";
|
||||
|
||||
const char* soundName = "";
|
||||
if (nameTable != NULL) {
|
||||
soundName = nameTable->getName(JAISoundID(sectionID, groupID, waveID));
|
||||
if (*soundName == 0) {
|
||||
soundName = szNoEntry;
|
||||
}
|
||||
} else {
|
||||
soundName = "";
|
||||
}
|
||||
|
||||
// !@bug comparing strings directly instead of using strcmp
|
||||
if (soundName == szNoEntry) {
|
||||
graf->color(color1);
|
||||
} else {
|
||||
graf->color(color0);
|
||||
}
|
||||
|
||||
graf->print(1, cursorY, "%s %03x %s", label, waveID, soundName);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,335 @@
|
||||
#include "Z2AudioLib/Z2WaveArcLoader.h"
|
||||
#include "JSystem/JAudio2/JAUSectionHeap.h"
|
||||
#include "JSystem/JAudio2/JASWaveInfo.h"
|
||||
|
||||
#include <bitset>
|
||||
|
||||
static f32 cStatusBar_X1 = 8.0f;
|
||||
static f32 cStatusBar_X2 = 16.0f;
|
||||
static f32 cWaveBar_X1 = 30.0f;
|
||||
static f32 cWaveBar_X2 = 80.0f;
|
||||
static f32 cBar_Y = 5.0f;
|
||||
static f32 cBarHeight = 310.0f;
|
||||
|
||||
static u8 lbl_8074A738 = 10;
|
||||
static u8 lbl_8074A739 = 23;
|
||||
|
||||
static u32 cWaveArcListSize = 10;
|
||||
|
||||
Z2WaveArcLoader::Z2WaveArcLoader() :
|
||||
JAWWindow("Z2WaveArcLoader", 420, 365)
|
||||
{
|
||||
setWindowColor(0, 0, 0x50, 0xFF);
|
||||
|
||||
mpWaveBank = NULL;
|
||||
mpWaveArc = NULL;
|
||||
mWaveUsedSize = 0;
|
||||
mTotalUsedSize = 0;
|
||||
mBankNo = 0;
|
||||
mArcCount = 0;
|
||||
field_0x408 = 0;
|
||||
field_0x40c = 0;
|
||||
field_0x410 = 0;
|
||||
field_0x414 = 0;
|
||||
mIsLoadTail = false;
|
||||
|
||||
checkWaveBank();
|
||||
checkWaveArc();
|
||||
}
|
||||
|
||||
Z2WaveArcLoader::~Z2WaveArcLoader() {}
|
||||
|
||||
// nonmatching with tree iterator stuff
|
||||
void Z2WaveArcLoader::onDraw(JAWGraphContext* graf) {
|
||||
int cursorX = 8;
|
||||
JASHeap* rootheap = JASWaveArcLoader::getRootHeap();
|
||||
u32 aramsize = JASKernel::getAramSize();
|
||||
|
||||
mWaveUsedSize = 0;
|
||||
|
||||
for (u32 i = 0; i < 255; i++) {
|
||||
JASWaveBank* bank = JASGlobalInstance<JAUSectionHeap>::getInstance()->getWaveBankTable().getWaveBank(i);
|
||||
if (bank != NULL) {
|
||||
u32 arcCount = bank->getArcCount();
|
||||
for (int j = 0; j < arcCount; j++) {
|
||||
JASWaveArc* arc = bank->getWaveArc(j);
|
||||
if (arc != NULL && arc->getStatus() == 2) {
|
||||
mWaveUsedSize += arc->getFileSize();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u32 otherUsedSize = mTotalUsedSize - mWaveUsedSize;
|
||||
u32 totalFree = rootheap->getTotalFreeSize();
|
||||
u32 linearFreeSize = rootheap->getFreeSize();
|
||||
u32 sp54 = totalFree - linearFreeSize;
|
||||
|
||||
graf->color(JUtility::TColor(0x32, 0x96, 0xFF, 0xFF), JUtility::TColor(0xC8, 0xC8, 0xFF, 0xFF));
|
||||
graf->print(cursorX, 0, "ARAM STATUS\n");
|
||||
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
graf->print(cursorX, 1, " total used : %8d\n", mTotalUsedSize);
|
||||
|
||||
graf->color(0xFF, 0x40, 0x40, 0xFF);
|
||||
graf->print(cursorX, 2, " wave used : %8d\n", mWaveUsedSize);
|
||||
|
||||
graf->color(0xFF, 0xFF, 0x40, 0xFF);
|
||||
graf->print(cursorX, 3, " other used : %8d\n", otherUsedSize);
|
||||
|
||||
graf->color(0x40, 0xFF, 0x40, 0xFF);
|
||||
graf->print(cursorX, 4, " linear free : %8d\n", linearFreeSize);
|
||||
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
graf->print(cursorX, 5, " total free : %8d\n", totalFree);
|
||||
graf->print(cursorX, 6, " ------------------------\n");
|
||||
graf->print(cursorX, 7, " aram size : %8d\n", aramsize);
|
||||
|
||||
graf->color(0xFF, 0xFF, 0x20, 0xFF);
|
||||
f32 var_f30 = cBar_Y;
|
||||
f32 var_f31 = var_f30 + (((f32)otherUsedSize / (f32)aramsize) * cBarHeight);
|
||||
graf->fillBox(JGeometry::TBox2<f32>(cStatusBar_X1, var_f30, cStatusBar_X2, var_f31));
|
||||
|
||||
graf->color(0xFF, 0x20, 0x20, 0xFF);
|
||||
var_f30 = var_f31;
|
||||
var_f31 += ((f32)mWaveUsedSize / (f32)aramsize) * cBarHeight;
|
||||
graf->fillBox(JGeometry::TBox2<f32>(cStatusBar_X1, var_f30, cStatusBar_X2, var_f31));
|
||||
|
||||
graf->color(0x20, 0xFF, 0x20, 0xFF);
|
||||
var_f30 = var_f31;
|
||||
var_f31 += ((f32)linearFreeSize / (f32)aramsize) * cBarHeight;
|
||||
graf->fillBox(JGeometry::TBox2<f32>(cStatusBar_X1, var_f30, cStatusBar_X2, var_f31));
|
||||
|
||||
graf->color(0x20, 0x20, 0xFF, 0xFF);
|
||||
var_f30 = var_f31;
|
||||
var_f31 += ((f32)sp54 / (f32)aramsize) * cBarHeight;
|
||||
graf->fillBox(JGeometry::TBox2<f32>(cStatusBar_X1, var_f30, cStatusBar_X2, var_f31));
|
||||
|
||||
graf->color(0x40, 0x40, 0xFF, 0xFF);
|
||||
graf->fillBox(JGeometry::TBox2<f32>(cWaveBar_X1, cBar_Y, cWaveBar_X2, cBar_Y + cBarHeight));
|
||||
|
||||
void* pbase = rootheap->getBase();
|
||||
u32 heapSize = rootheap->getSize();
|
||||
int sp48 = 0;
|
||||
|
||||
mTotalUsedSize = 0;
|
||||
|
||||
for (JSUTreeIterator<JASHeap> i = rootheap->getFirstChild(); (int)i != (int)rootheap->getEndChild(); ++i) {
|
||||
intptr_t sp40 = (char*)i->getBase() - (char*)pbase;
|
||||
u32 sp3C = i->getSize();
|
||||
mTotalUsedSize += sp3C;
|
||||
|
||||
int sp38 = (sp40 * cBarHeight) / heapSize;
|
||||
int sp34 = (sp3C * cBarHeight) / heapSize;
|
||||
JGeometry::TBox2<f32> spD0(cWaveBar_X1, cBar_Y + (f32)sp38, cWaveBar_X2, (f32)sp34 + (cBar_Y + (f32)sp38));
|
||||
u8 sp9 = 0xFF;
|
||||
sp9 = sp48 % 2 ? (u8)0xC0 : (u8)0x80;
|
||||
graf->color(0xFF, sp9, 0x40, 0xFF);
|
||||
graf->fillBox(spD0);
|
||||
|
||||
if (mpWaveArc != NULL) {
|
||||
if (mpWaveArc->getHeap() == i.getObject()) {
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
graf->lineWidth(15);
|
||||
graf->drawFrame(spD0);
|
||||
}
|
||||
}
|
||||
|
||||
sp48++;
|
||||
}
|
||||
|
||||
graf->color(JUtility::TColor(0xC8, 0xC8, 0xFF, 0xFF), JUtility::TColor(0x32, 0x96, 0xFF, 0xFF));
|
||||
if (mIsLoadTail) {
|
||||
graf->print(cursorX, 9, "WAVE BANK LOAD:Tail");
|
||||
} else {
|
||||
graf->print(cursorX, 9, "WAVE BANK LOAD:Linear");
|
||||
}
|
||||
|
||||
int var_r26 = lbl_8074A738;
|
||||
|
||||
if (mpWaveBank == NULL) {
|
||||
graf->color(0x64, 0x64, 0x64, 0xFF);
|
||||
graf->print(cursorX, var_r26, " ws:%3d Not Registerd", mBankNo);
|
||||
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
graf->print(cursorX, var_r26, ">");
|
||||
} else {
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
if (field_0x414 < 2) {
|
||||
graf->print(cursorX, field_0x414 + var_r26, ">");
|
||||
} else {
|
||||
graf->print(cursorX, field_0x414 + (var_r26 + 1), ">");
|
||||
}
|
||||
|
||||
graf->print(cursorX, var_r26++, " ws:%3d", mBankNo);
|
||||
graf->print(cursorX, var_r26++, " aw:%3d-%3d /%3d", field_0x40c, field_0x410, mArcCount - 1);
|
||||
|
||||
graf->color(0xFF, 0xA0, 0x64, 0xFF);
|
||||
graf->print(cursorX, var_r26++, " aw_status aw_size");
|
||||
|
||||
graf->color(0xFF, 0xFF, 0xFF, 0xFF);
|
||||
|
||||
for (int i = field_0x40c; i < field_0x410 + 1; i++) {
|
||||
JASWaveArc* arc = mpWaveBank->getWaveArc(i);
|
||||
if (arc == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
switch (arc->getStatus()) {
|
||||
case 0:
|
||||
graf->color(0x64, 0x64, 0x64, 0xFF);
|
||||
graf->print(cursorX, var_r26, "%3d: NOT_LOAD %8d", i, arc->getFileSize());
|
||||
break;
|
||||
case 1:
|
||||
graf->color(0xFF, 0x64, 0x64, 0xFF);
|
||||
graf->print(cursorX, var_r26, "%3d: WAIT_LOAD %8d", i, arc->getFileSize());
|
||||
break;
|
||||
case 2:
|
||||
graf->color(0xFF, 0xFF, 0xC8, 0xFF);
|
||||
graf->print(cursorX, var_r26, "%3d: LOAD %8d", i, arc->getFileSize());
|
||||
break;
|
||||
}
|
||||
|
||||
var_r26++;
|
||||
}
|
||||
}
|
||||
|
||||
var_r26 = lbl_8074A739;
|
||||
graf->color(0x96, 0x96, 0xE1, 0xFF);
|
||||
graf->print(cursorX, var_r26++, "-----------------");
|
||||
graf->print(cursorX, var_r26++, " A -> LOAD WAVE");
|
||||
graf->print(cursorX, var_r26++, " B -> ERASE WAVE");
|
||||
graf->print(cursorX, var_r26++, "-----------------");
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::checkWaveBank() {
|
||||
JAUSectionHeap* sectionHeap = JASGlobalInstance<JAUSectionHeap>::getInstance();
|
||||
const JAUSectionHeap::TSectionHeapData& heapData = sectionHeap->getSectionHeapData();
|
||||
const JAUSection::TSectionData& sectionData = sectionHeap->getSectionData();
|
||||
|
||||
if (sectionData.registeredWaveBankTables.test(mBankNo)) {
|
||||
mpWaveBank = heapData.waveBankTable.getWaveBank(mBankNo);
|
||||
mArcCount = mpWaveBank->getArcCount();
|
||||
} else {
|
||||
mpWaveBank = NULL;
|
||||
mArcCount = 0;
|
||||
}
|
||||
|
||||
if (mBankNo == 1) {
|
||||
mIsLoadTail = true;
|
||||
} else {
|
||||
mIsLoadTail = false;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::checkWaveArc() {
|
||||
field_0x40c = field_0x408 * cWaveArcListSize;
|
||||
if (field_0x40c > mArcCount - 1) {
|
||||
field_0x408--;
|
||||
field_0x40c = field_0x408 * cWaveArcListSize;
|
||||
}
|
||||
|
||||
field_0x410 = (field_0x408 + 1) * cWaveArcListSize - 1;
|
||||
|
||||
if (field_0x410 > mArcCount - 1) {
|
||||
field_0x410 = mArcCount - 1;
|
||||
}
|
||||
|
||||
if (field_0x414 > 1) {
|
||||
if ((field_0x40c + field_0x414) - 2 > field_0x410) {
|
||||
field_0x414 = (field_0x410 - field_0x40c) + 2;
|
||||
}
|
||||
|
||||
mpWaveArc = mpWaveBank->getWaveArc(field_0x40c + field_0x414 - 2);
|
||||
} else {
|
||||
mpWaveArc = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onKeyUp(const JUTGamePad&) {
|
||||
if (mpWaveBank == NULL) {
|
||||
field_0x414 = 0;
|
||||
} else {
|
||||
if (field_0x414 != 0) {
|
||||
field_0x414--;
|
||||
} else {
|
||||
field_0x414 = 11;
|
||||
}
|
||||
|
||||
checkWaveArc();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onKeyDown(const JUTGamePad&) {
|
||||
if (mpWaveBank == NULL) {
|
||||
field_0x414 = 0;
|
||||
} else {
|
||||
if (field_0x414 < 11) {
|
||||
field_0x414++;
|
||||
} else {
|
||||
field_0x414 = 0;
|
||||
}
|
||||
|
||||
checkWaveArc();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onKeyLeft(const JUTGamePad&) {
|
||||
if (field_0x414 == 0) {
|
||||
if (mBankNo != 0) {
|
||||
mBankNo--;
|
||||
} else {
|
||||
mBankNo = 0;
|
||||
}
|
||||
|
||||
checkWaveBank();
|
||||
} else if (mpWaveBank != NULL) {
|
||||
if (field_0x408 != 0) {
|
||||
field_0x408--;
|
||||
} else {
|
||||
field_0x408 = 0;
|
||||
}
|
||||
|
||||
checkWaveArc();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onKeyRight(const JUTGamePad&) {
|
||||
if (field_0x414 == 0) {
|
||||
if (mBankNo < 255) {
|
||||
mBankNo++;
|
||||
} else {
|
||||
mBankNo = 255;
|
||||
}
|
||||
|
||||
checkWaveBank();
|
||||
} else if (mpWaveBank != NULL) {
|
||||
if (field_0x408 < 255) {
|
||||
field_0x408++;
|
||||
} else {
|
||||
field_0x408 = 255;
|
||||
}
|
||||
|
||||
checkWaveArc();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onTrigA(const JUTGamePad&) {
|
||||
if (mpWaveArc != NULL && mpWaveArc->getStatus() == 0) {
|
||||
if (mIsLoadTail) {
|
||||
mpWaveArc->loadTail(NULL);
|
||||
} else {
|
||||
mpWaveArc->load(NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onTrigB(const JUTGamePad&) {
|
||||
if (mpWaveArc != NULL && mpWaveArc->getStatus() == 2) {
|
||||
mpWaveArc->erase();
|
||||
}
|
||||
}
|
||||
|
||||
void Z2WaveArcLoader::onTrigZ(const JUTGamePad&) {
|
||||
mIsLoadTail = !mIsLoadTail;
|
||||
}
|
||||
+514
-509
File diff suppressed because it is too large
Load Diff
+10
-10
@@ -189,8 +189,8 @@ int daE_OC_c::draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daE_OC_Draw(daE_OC_c* i_this) {
|
||||
i_this->draw();
|
||||
static int daE_OC_Draw(daE_OC_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
daE_OC_c* E_OC_n::m_battle_oc;
|
||||
@@ -2639,12 +2639,12 @@ int daE_OC_c::execute() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daE_OC_Execute(daE_OC_c* i_this) {
|
||||
i_this->execute();
|
||||
static int daE_OC_Execute(daE_OC_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
static bool daE_OC_IsDelete(daE_OC_c* param_0) {
|
||||
return true;
|
||||
static int daE_OC_IsDelete(daE_OC_c* param_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int daE_OC_c::_delete() {
|
||||
@@ -2662,9 +2662,9 @@ int daE_OC_c::_delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daE_OC_Delete(daE_OC_c* i_this) {
|
||||
static int daE_OC_Delete(daE_OC_c* i_this) {
|
||||
fopAcM_RegisterDeleteID(i_this, "E_OC");
|
||||
i_this->_delete();
|
||||
return i_this->_delete();
|
||||
}
|
||||
|
||||
int daE_OC_c::CreateHeap() {
|
||||
@@ -2833,8 +2833,8 @@ cPhs_Step daE_OC_c::create() {
|
||||
return phase;
|
||||
}
|
||||
|
||||
static void daE_OC_Create(daE_OC_c* i_this) {
|
||||
i_this->create();
|
||||
static int daE_OC_Create(daE_OC_c* i_this) {
|
||||
return i_this->create();
|
||||
}
|
||||
|
||||
static actor_method_class l_daE_OC_Method = {
|
||||
|
||||
@@ -495,8 +495,8 @@ int daE_ZS_c::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void useHeapInit(fopAc_ac_c* i_this) {
|
||||
static_cast<daE_ZS_c*>(i_this)->CreateHeap();
|
||||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
return static_cast<daE_ZS_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
int daE_ZS_c::create() {
|
||||
@@ -504,7 +504,7 @@ int daE_ZS_c::create() {
|
||||
int phase = dComIfG_resLoad(&mPhase, "E_ZS");
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
OS_REPORT("E_ZS PARAM %x\n", fopAcM_GetParam(this));
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)useHeapInit, 0xFC0)) {
|
||||
if (!fopAcM_entrySolidHeap(this, useHeapInit, 0xFC0)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -74,9 +74,9 @@ static char* l_bckFileNameTBL[] = {
|
||||
|
||||
static char* l_btpFileNameTBL[] = {"MYNA.btp"};
|
||||
|
||||
static void createHeapCallBack(fopAc_ac_c* i_this) {
|
||||
static int createHeapCallBack(fopAc_ac_c* i_this) {
|
||||
daMyna_c* a_this = static_cast<daMyna_c*>(i_this);
|
||||
a_this->createHeap();
|
||||
return a_this->createHeap();
|
||||
}
|
||||
|
||||
static int jntNodeCallBack(J3DJoint* i_jnt, int param_1) {
|
||||
@@ -339,7 +339,7 @@ int daMyna_c::create() {
|
||||
return phase;
|
||||
}
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)&createHeapCallBack, 0x21F0)) {
|
||||
if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x21F0)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
|
||||
@@ -194,14 +194,13 @@ int daNpc_solA_c::Execute() {
|
||||
return execute();
|
||||
}
|
||||
|
||||
void daNpc_solA_c::Draw() {
|
||||
int daNpc_solA_c::Draw() {
|
||||
if (mpMatAnm[0] != NULL) {
|
||||
J3DModelData* mdlData_p = mpMorf[0]->getModel()->getModelData();
|
||||
mdlData_p->getMaterialNodePointer(getEyeballMaterialNo())->setMaterialAnm(mpMatAnm[0]);
|
||||
}
|
||||
draw(FALSE, FALSE, mpHIO->m.common.real_shadow_size, NULL, 100.0f, FALSE, FALSE,
|
||||
FALSE);
|
||||
return;
|
||||
|
||||
return draw(FALSE, FALSE, mpHIO->m.common.real_shadow_size, NULL, 100.0f, FALSE, FALSE, FALSE);
|
||||
}
|
||||
|
||||
BOOL daNpc_solA_c::createHeapCallBack(fopAc_ac_c* a_this) {
|
||||
@@ -481,12 +480,12 @@ static int daNpc_solA_Execute(void* param_0) {
|
||||
return static_cast<daNpc_solA_c*>(param_0)->Execute();
|
||||
}
|
||||
|
||||
static void daNpc_solA_Draw(void* param_0) {
|
||||
static int daNpc_solA_Draw(void* param_0) {
|
||||
return static_cast<daNpc_solA_c*>(param_0)->Draw();
|
||||
}
|
||||
|
||||
static bool daNpc_solA_IsDelete(void* param_0) {
|
||||
return true;
|
||||
static int daNpc_solA_IsDelete(void* param_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static actor_method_class daNpc_solA_MethodTable = {
|
||||
|
||||
@@ -356,21 +356,21 @@ int daObjYtaihou_c::Delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daObjYtaihou_create1st(daObjYtaihou_c* i_this) {
|
||||
static int daObjYtaihou_create1st(daObjYtaihou_c* i_this) {
|
||||
fopAcM_ct(i_this, daObjYtaihou_c);
|
||||
i_this->create1st();
|
||||
return i_this->create1st();
|
||||
}
|
||||
|
||||
static void daObjYtaihou_MoveBGDelete(daObjYtaihou_c* i_this) {
|
||||
i_this->MoveBGDelete();
|
||||
static int daObjYtaihou_MoveBGDelete(daObjYtaihou_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
static void daObjYtaihou_MoveBGExecute(daObjYtaihou_c* i_this) {
|
||||
i_this->MoveBGExecute();
|
||||
static int daObjYtaihou_MoveBGExecute(daObjYtaihou_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
static void daObjYtaihou_MoveBGDraw(daObjYtaihou_c* i_this) {
|
||||
i_this->Draw();
|
||||
static int daObjYtaihou_MoveBGDraw(daObjYtaihou_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
static actor_method_class daObjYtaihou_METHODS = {
|
||||
|
||||
@@ -310,9 +310,9 @@ int daObjFan_c::Delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daObjFan_create1st(daObjFan_c* param_0) {
|
||||
static int daObjFan_create1st(daObjFan_c* param_0) {
|
||||
fopAcM_ct(param_0, daObjFan_c);
|
||||
param_0->create1st();
|
||||
return param_0->create1st();
|
||||
}
|
||||
|
||||
static int daObjFan_MoveBGDelete(daObjFan_c* param_0) {
|
||||
|
||||
@@ -89,8 +89,8 @@ static void* s_boar_sub(void* i_actor, void* i_data) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
static_cast<daObjIBone_c*>(i_this)->CreateHeap();
|
||||
static int CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjIBone_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
void daObjIBone_c::initBaseMtx() {
|
||||
@@ -150,7 +150,7 @@ int daObjIBone_c::create() {
|
||||
int result = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
|
||||
if (result == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x860)) {
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x860)) {
|
||||
return cPhs_ERROR_e;
|
||||
} else if (!Create()) {
|
||||
return cPhs_ERROR_e;
|
||||
|
||||
@@ -198,24 +198,24 @@ void daObj_Stick_c::setMtx() {
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
static u32 daObj_Stick_Create(void* i_this) {
|
||||
static int daObj_Stick_Create(void* i_this) {
|
||||
return static_cast<daObj_Stick_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
static void daObj_Stick_Delete(void* param_0) {
|
||||
static_cast<daObj_Stick_c*>(param_0)->Delete();
|
||||
static int daObj_Stick_Delete(void* param_0) {
|
||||
return static_cast<daObj_Stick_c*>(param_0)->Delete();
|
||||
}
|
||||
|
||||
static void daObj_Stick_Execute(void* param_0) {
|
||||
static_cast<daObj_Stick_c*>(param_0)->Execute();
|
||||
static int daObj_Stick_Execute(void* param_0) {
|
||||
return static_cast<daObj_Stick_c*>(param_0)->Execute();
|
||||
}
|
||||
|
||||
static void daObj_Stick_Draw(void* param_0) {
|
||||
static_cast<daObj_Stick_c*>(param_0)->Draw();
|
||||
static int daObj_Stick_Draw(void* param_0) {
|
||||
return static_cast<daObj_Stick_c*>(param_0)->Draw();
|
||||
}
|
||||
|
||||
static bool daObj_Stick_IsDelete(void* param_0) {
|
||||
return true;
|
||||
static int daObj_Stick_IsDelete(void* param_0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static actor_method_class daObj_Stick_MethodTable = {
|
||||
|
||||
+28
-48
@@ -34,60 +34,40 @@ static s8* l_loadResPtrnList[3] = {
|
||||
l_loadResPtrn0,
|
||||
};
|
||||
|
||||
static u8 l_faceMotionAnmData[140] = {
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[5] = {
|
||||
{-1, 0, 0, 30, 2, 1, 1},
|
||||
{10, 0, 1, 30, 2, 1, 1},
|
||||
{8, 2, 1, 32, 2, 1, 0},
|
||||
{9, 0, 1, 33, 0, 1, 0},
|
||||
{7, 0, 1, 31, 0, 1, 0},
|
||||
};
|
||||
|
||||
static u8 l_motionAnmData[308] = {
|
||||
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
|
||||
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00,
|
||||
static daNpcT_motionAnmData_c l_motionAnmData[11] = {
|
||||
{20, 2, 1, 27, 0, 1, 1, 0},
|
||||
{17, 2, 1, 27, 0, 1, 1, 0},
|
||||
{18, 2, 1, 27, 0, 1, 1, 0},
|
||||
{21, 2, 1, 27, 0, 1, 1, 0},
|
||||
{16, 2, 1, 27, 0, 1, 1, 0},
|
||||
{15, 2, 1, 27, 0, 1, 1, 0},
|
||||
{19, 0, 1, 27, 0, 1, 1, 0},
|
||||
{13, 0, 1, 27, 0, 1, 1, 0},
|
||||
{14, 2, 1, 27, 0, 1, 1, 0},
|
||||
{12, 0, 1, 27, 0, 1, 1, 0},
|
||||
{11, 0, 1, 27, 0, 1, 1, 0},
|
||||
};
|
||||
|
||||
static u8 l_faceMotionSequenceData[80] = {
|
||||
0x00, 0x01, 0xFF, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_faceMotionSequenceData[20] = {
|
||||
{1, -1, 1}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
};
|
||||
|
||||
static u8 l_motionSequenceData[160] = {
|
||||
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x01, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x02, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x05, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x06, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x07, 0xFF, 0x00, 0x00, 0x08, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x09, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x0A, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x03, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x04, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
|
||||
static daNpcT_MotionSeqMngr_c::sequenceStepData_c l_motionSequenceData[40] = {
|
||||
{0, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {1, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{2, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {5, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{6, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {7, -1, 0}, {8, -1, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{9, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {10, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
{3, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0}, {4, -1, 0}, {-1, 0, 0}, {-1, 0, 0}, {-1, 0, 0},
|
||||
};
|
||||
|
||||
const char* daPeru_c::mCutNameList[3] = {
|
||||
|
||||
@@ -44,15 +44,15 @@ int daTagMagne_c::_delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void daTagMagne_Delete(daTagMagne_c* i_this) {
|
||||
static int daTagMagne_Delete(daTagMagne_c* i_this) {
|
||||
int id = fopAcM_GetID(i_this);
|
||||
i_this->_delete();
|
||||
return i_this->_delete();
|
||||
}
|
||||
|
||||
static void daTagMagne_Create(fopAc_ac_c* i_this) {
|
||||
static int daTagMagne_Create(fopAc_ac_c* i_this) {
|
||||
daTagMagne_c* magne = static_cast<daTagMagne_c*>(i_this);
|
||||
int id = fopAcM_GetID(i_this);
|
||||
magne->create();
|
||||
return magne->create();
|
||||
}
|
||||
|
||||
static actor_method_class l_daTagMagne_Method = {
|
||||
|
||||
@@ -315,7 +315,7 @@ void dCsr_mng_c::bloObj_c::calcPaneObjNum(J2DPane* i_pane) {
|
||||
}
|
||||
|
||||
JSUTreeIterator<J2DPane> iter = i_pane->getPaneTree()->getFirstChild();
|
||||
while (iter != NULL) {
|
||||
while (iter) {
|
||||
calcPaneObjNum(*iter);
|
||||
++iter;
|
||||
}
|
||||
@@ -331,7 +331,7 @@ void dCsr_mng_c::bloObj_c::createPaneObj(paneObj_c** i_panes, J2DPane* i_pane) {
|
||||
}
|
||||
|
||||
JSUTreeIterator<J2DPane> iter = i_pane->getPaneTree()->getFirstChild();
|
||||
while (iter != NULL) {
|
||||
while (iter) {
|
||||
createPaneObj(i_panes, *iter);
|
||||
++iter;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user