mirror of https://github.com/zeldaret/tp.git
d_debug_camera mostly done (#2695)
* d_debug_camera mostly done * update some alink demo stuff * some misc debug stuff
This commit is contained in:
parent
4635fcb666
commit
9a2df2162b
|
|
@ -18,7 +18,7 @@ m_Do/m_Do_main.cpp:
|
|||
.ctors start:0x8062F7C4 end:0x8062F7C8
|
||||
.data start:0x8065FFA0 end:0x80660CF8
|
||||
.sdata start:0x8073F140 end:0x8073F264
|
||||
.sbss start:0x8074C268 end:0x8074C2A0
|
||||
.sbss start:0x8074C260 end:0x8074C298
|
||||
.sdata2 start:0x8074D740 end:0x8074D768
|
||||
.bss start:0x80753500 end:0x80753980
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ m_Do/m_Do_printf.cpp:
|
|||
.text start:0x8000AF00 end:0x8000B8A0
|
||||
.data start:0x80660CF8 end:0x80660DE8
|
||||
.sdata start:0x8073F264 end:0x8073F268
|
||||
.sbss start:0x8074C2A0 end:0x8074C2C4
|
||||
.sbss start:0x8074C298 end:0x8074C2C4
|
||||
.bss start:0x80753980 end:0x807541A0
|
||||
|
||||
m_Do/m_Do_audio.cpp:
|
||||
|
|
|
|||
|
|
@ -56883,12 +56883,12 @@ TRK_ISR_OFFSETS = .data:0x8073EEB0; // type:object size:0x3C scope:global data:4
|
|||
@stringBase0 = .data:0x8073F0E8; // type:object size:0x30 scope:local data:string_table hash:0xA2308515
|
||||
gTRKExceptionStatus = .data:0x8073F118; // type:object size:0x10 scope:global data:4byte hash:0xD10228AC
|
||||
argument__7mDoMain = .sdata:0x8073F140; // type:object size:0x4 scope:global hash:0x10EF86AC dhash:0xB624F23B
|
||||
lbl_8073F144 = .sdata:0x8073F144; // type:object size:0x1 data:byte hash:0x67DDC94F dhash:0x8D450DB8
|
||||
developmentMode__7mDoMain = .sdata:0x8073F144; // type:object size:0x1 data:byte hash:0x67DDC94F dhash:0x8D450DB8
|
||||
gameHeapSize__7mDoMain = .sdata:0x8073F148; // type:object size:0x4 scope:global data:4byte hash:0x9FF90D88 dhash:0x56A5165F
|
||||
archiveHeapSize__7mDoMain = .sdata:0x8073F14C; // type:object size:0x4 scope:global data:4byte hash:0x3972AEC4 dhash:0xE081FCB3
|
||||
memMargin__7mDoMain = .sdata:0x8073F150; // type:object size:0x4 scope:global data:4byte hash:0x349D2104 dhash:0x250ABCB3
|
||||
e3menu_no__7mDoMain = .sdata:0x8073F154; // type:object size:0x4 scope:global hash:0x124F5384 dhash:0x834B8DF3
|
||||
lbl_8073F158 = .sdata:0x8073F158; // type:object size:0x1 data:byte hash:0x75B08B16
|
||||
mHeapBriefType = .sdata:0x8073F158; // type:object size:0x1 data:byte hash:0x75B08B16
|
||||
@115252 = .sdata:0x8073F15C; // type:object size:0x1 scope:local hash:0xAC938A85
|
||||
@115279 = .sdata:0x8073F160; // type:object size:0x3 scope:local data:string hash:0xAC938A4C
|
||||
@115282 = .sdata:0x8073F164; // type:object size:0x5 scope:local data:string hash:0xAC938B28
|
||||
|
|
|
|||
|
|
@ -654,6 +654,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_eye_hl.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_error_msg.cpp"),
|
||||
Object(NonMatching, "d/d_debug_viewer.cpp"),
|
||||
Object(NonMatching, "d/d_debug_camera.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_alink.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_itembase.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_no_chg_room.cpp"),
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
#define JORMCONTEXT_H
|
||||
|
||||
#include <dolphin.h>
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include <stdint.h>
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
|
||||
#define MCTX_MSG_RESET 0
|
||||
#define MCTX_MSG_GET_ROOT_OBJ 2
|
||||
|
|
@ -30,8 +30,8 @@
|
|||
#define DEFINE_GEN_CHECKBOX(T, kind) \
|
||||
void genCheckBox(const char* label, T* pSrc, T mask, u32 style, JOREventListener* pListener, \
|
||||
u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
genCheckBoxSub(kind, label, (uintptr_t)pSrc, style, *pSrc, mask, pListener, posX, posY, width, \
|
||||
height); \
|
||||
genCheckBoxSub(kind, label, (uintptr_t)pSrc, style, *pSrc, mask, pListener, posX, posY, \
|
||||
width, height); \
|
||||
}
|
||||
|
||||
#define DEFINE_GEN_CHECKBOX_ID(T, kind) \
|
||||
|
|
@ -44,8 +44,8 @@
|
|||
#define DEFINE_GEN_SLIDER(T, kind) \
|
||||
void genSlider(const char* label, T* pSrc, T rangeMin, T rangeMax, u32 style, \
|
||||
JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
genSliderSub(kind, label, (uintptr_t)pSrc, style, *pSrc, rangeMin, rangeMax, pListener, posX, \
|
||||
posY, width, height); \
|
||||
genSliderSub(kind, label, (uintptr_t)pSrc, style, *pSrc, rangeMin, rangeMax, pListener, \
|
||||
posX, posY, width, height); \
|
||||
}
|
||||
|
||||
#define DEFINE_GEN_SLIDER_ID(T, kind) \
|
||||
|
|
@ -55,39 +55,48 @@
|
|||
width, height); \
|
||||
}
|
||||
|
||||
#define DEFINE_START_COMBO_BOX(T, kind) \
|
||||
void startComboBox(const char* label, T* pSrc, u32 style, \
|
||||
JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
startSelectorSub('CMBX', kind, label, (uintptr_t)pSrc, style, *pSrc, pListener, posX, \
|
||||
posY, width, height); \
|
||||
#define DEFINE_START_COMBO_BOX(T, kind) \
|
||||
void startComboBox(const char* label, T* pSrc, u32 style, JOREventListener* pListener, \
|
||||
u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
startSelectorSub('CMBX', kind, label, (uintptr_t)pSrc, style, *pSrc, pListener, posX, \
|
||||
posY, width, height); \
|
||||
}
|
||||
|
||||
#define DEFINE_START_COMBO_BOX_ID(T, kind) \
|
||||
void startComboBoxID(const char* label, u32 id, T data, u32 style, \
|
||||
JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
startSelectorSub('CMBX', kind, label, id, style, data, pListener, posX, \
|
||||
posY, width, height); \
|
||||
#define DEFINE_START_COMBO_BOX_ID(T, kind) \
|
||||
void startComboBoxID(const char* label, u32 id, T data, u32 style, \
|
||||
JOREventListener* pListener, u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
startSelectorSub('CMBX', kind, label, id, style, data, pListener, posX, posY, width, \
|
||||
height); \
|
||||
}
|
||||
|
||||
#define DEFINE_UPDATE_SLIDER(T) \
|
||||
void updateSlider(u32 mode, T* pSrc, T rangeMin, T rangeMax, u32 param_5) { \
|
||||
updateSliderSub(mode, (uintptr_t)pSrc, *pSrc, rangeMin, rangeMax, param_5); \
|
||||
#define DEFINE_UPDATE_SLIDER(T) \
|
||||
void updateSlider(u32 mode, T* pSrc, T rangeMin, T rangeMax, u32 param_5) { \
|
||||
updateSliderSub(mode, (uintptr_t)pSrc, *pSrc, rangeMin, rangeMax, param_5); \
|
||||
}
|
||||
|
||||
#define DEFINE_UPDATE_SLIDER_ID(T) \
|
||||
void updateSliderID(u32 mode, u32 id, T value, T rangeMin, T rangeMax, u32 param_5) { \
|
||||
updateSliderSub(mode, id, value, rangeMin, rangeMax, param_5); \
|
||||
#define DEFINE_UPDATE_SLIDER_ID(T) \
|
||||
void updateSliderID(u32 mode, u32 id, T value, T rangeMin, T rangeMax, u32 param_5) { \
|
||||
updateSliderSub(mode, id, value, rangeMin, rangeMax, param_5); \
|
||||
}
|
||||
|
||||
#define DEFINE_START_RADIO_BUTTON(T, kind) \
|
||||
void startRadioButton(const char* label, T* pSrc, u32 style, JOREventListener* pListener, \
|
||||
u16 posX, u16 posY, u16 width, u16 height) { \
|
||||
startSelectorSub('RBTN', kind, label, (uintptr_t)pSrc, style, *pSrc, pListener, posX, \
|
||||
posY, width, height); \
|
||||
}
|
||||
|
||||
namespace jhostio {
|
||||
enum EKind {
|
||||
EKind_8B = 0x08,
|
||||
EKind_16B = 0x10,
|
||||
EKind_32B = 0x20,
|
||||
};
|
||||
enum EKind {
|
||||
EKind_8B = 0x08,
|
||||
EKind_16B = 0x10,
|
||||
EKind_32B = 0x20,
|
||||
};
|
||||
|
||||
inline u32 GetEKindSize(u32 param_0) { return param_0 & 0xFF; }
|
||||
inline u32 GetEKindSize(u32 param_0) {
|
||||
return param_0 & 0xFF;
|
||||
}
|
||||
} // namespace jhostio
|
||||
|
||||
class JORReflexible;
|
||||
class JORFile;
|
||||
|
|
@ -156,9 +165,7 @@ public:
|
|||
// empty function
|
||||
}
|
||||
|
||||
void startUpdateNode(JORReflexible* obj) {
|
||||
putNode(obj);
|
||||
}
|
||||
void startUpdateNode(JORReflexible* obj) { putNode(obj); }
|
||||
|
||||
void genNodeSub(const char* label, JORReflexible* i_node, u32, u32);
|
||||
void putNode(JORReflexible* obj);
|
||||
|
|
@ -230,14 +237,21 @@ public:
|
|||
|
||||
DEFINE_START_COMBO_BOX_ID(int, JORPropertyEvent::EKind_ValueID)
|
||||
|
||||
void endComboBox() {
|
||||
endSelectorSub();
|
||||
}
|
||||
void endComboBox() { endSelectorSub(); }
|
||||
|
||||
void genComboBoxItem(const char* label, s32 itemNo) {
|
||||
genSelectorItemSub(label, itemNo, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* === RADIO BUTTON ===
|
||||
*/
|
||||
DEFINE_START_RADIO_BUTTON(u8, 0x100 | jhostio::EKind_8B)
|
||||
DEFINE_START_RADIO_BUTTON(s16, jhostio::EKind_16B)
|
||||
DEFINE_START_RADIO_BUTTON(s32, jhostio::EKind_32B)
|
||||
|
||||
void endRadioButton() { endSelectorSub(); }
|
||||
|
||||
void genRadioButtonItem(const char* label, s32 itemNo, u32 param_2, u16 posX, u16 posY,
|
||||
u16 width, u16 height) {
|
||||
genSelectorItemSub(label, itemNo, param_2, posX, posY, width, height);
|
||||
|
|
@ -246,8 +260,7 @@ public:
|
|||
void updateControl(u32 mode, u32 id, u32 param_2);
|
||||
void updateControl(u32 mode, u32 id, const char* param_2);
|
||||
void updateLabel(u32 mode, u32 id, const char* param_2) { updateControl(mode, id, param_2); }
|
||||
void updateSliderSub(u32 mode, u32 id, s32 value, s32 rangeMin, s32 rangeMax,
|
||||
u32 param_5);
|
||||
void updateSliderSub(u32 mode, u32 id, s32 value, s32 rangeMin, s32 rangeMax, u32 param_5);
|
||||
void updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 param_4);
|
||||
void updateSelectorSub(u32 mode, u32 id, s32 value, u32 param_3);
|
||||
void updateEditBoxID(u32 mode, u32 id, const char* string, u32 param_3, u16 length);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public:
|
|||
s32 getUsedSize(u8 groupId) const;
|
||||
s32 getTotalUsedSize(void) const;
|
||||
|
||||
CMemBlock* getHeadUsedList() const { return mHeadUsedList; }
|
||||
CMemBlock* getUsedFirst() { return mHeadUsedList; }
|
||||
void setAllocationMode(EAllocMode mode) {
|
||||
mAllocMode = mode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,12 @@ public:
|
|||
float Sin(void) const;
|
||||
float Cos(void) const;
|
||||
float Tan(void) const;
|
||||
|
||||
operator f32() const { return mDegree; }
|
||||
|
||||
cDegree operator*(float v) const {
|
||||
return cDegree(mDegree * v);
|
||||
}
|
||||
};
|
||||
|
||||
class cSPolar {
|
||||
|
|
|
|||
|
|
@ -224,6 +224,7 @@ public:
|
|||
|
||||
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
|
||||
|
||||
#pragma push
|
||||
#pragma pack(1)
|
||||
class cCcD_ObjAt : public cCcD_ObjCommonBase {
|
||||
public:
|
||||
|
|
@ -247,7 +248,7 @@ protected:
|
|||
/* 0x14 */ u8 mAtp;
|
||||
/* 0x15 */ u8 field_0x15[3];
|
||||
};
|
||||
#pragma pack()
|
||||
#pragma pop
|
||||
|
||||
STATIC_ASSERT(0x18 == sizeof(cCcD_ObjAt));
|
||||
|
||||
|
|
|
|||
|
|
@ -3470,7 +3470,7 @@ public:
|
|||
}
|
||||
|
||||
s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); }
|
||||
BOOL checkSpecialDemoMode() const { return mDemo.getDemoType() == 5; }
|
||||
BOOL checkSpecialDemoMode() const { return mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e; }
|
||||
static bool checkMidnaChargeAttack() { return dComIfGs_isEventBit(0x501); }
|
||||
u16 getMidnaMsgNum() const { return mMidnaMsgNum; }
|
||||
u32 getStartEvent() { return fopAcM_GetParam(this) >> 0x18; }
|
||||
|
|
@ -4286,7 +4286,7 @@ public:
|
|||
/* 0x03178 */ int field_0x3178;
|
||||
/* 0x0317C */ int field_0x317c;
|
||||
/* 0x03180 */ int field_0x3180;
|
||||
/* 0x03184 */ int field_0x3184;
|
||||
/* 0x03184 */ int mAlinkStaffId;
|
||||
/* 0x03188 */ int field_0x3188;
|
||||
/* 0x0318C */ int field_0x318c;
|
||||
/* 0x03190 */ int field_0x3190;
|
||||
|
|
|
|||
|
|
@ -243,15 +243,23 @@ public:
|
|||
DEMO_NEW_ANM0_e = 0x200,
|
||||
};
|
||||
|
||||
enum {
|
||||
DEMO_TYPE_TOOL_e = 1,
|
||||
DEMO_TYPE_SYSTEM_e,
|
||||
DEMO_TYPE_ORIGINAL_e,
|
||||
DEMO_TYPE_START_e,
|
||||
DEMO_TYPE_SPECIAL_e,
|
||||
};
|
||||
|
||||
void setDemoType(u16 pType) { mDemoType = pType; }
|
||||
int getDemoType() const { return mDemoType; }
|
||||
void setDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
u32 getDemoMode() const { return mDemoMode; }
|
||||
int getParam1() const { return mParam1; }
|
||||
s16 getParam2() const { return mParam2; }
|
||||
void setOriginalDemoType() { setDemoType(3); }
|
||||
void setSpecialDemoType() { setDemoType(5); }
|
||||
void setSystemDemoType() { setDemoType(2); }
|
||||
void setOriginalDemoType() { setDemoType(DEMO_TYPE_ORIGINAL_e); }
|
||||
void setSpecialDemoType() { setDemoType(DEMO_TYPE_SPECIAL_e); }
|
||||
void setSystemDemoType() { setDemoType(DEMO_TYPE_SYSTEM_e); }
|
||||
void setStick(f32 stick) { mStick = stick; }
|
||||
void setMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
|
||||
s16 getMoveAngle() const { return mDemoMoveAngle; }
|
||||
|
|
@ -261,13 +269,13 @@ public:
|
|||
void setParam1(int value) { mParam1 = value; }
|
||||
void setParam2(int value) { mParam2 = value; }
|
||||
void setPos0(const cXyz* pos) { mDemoPos0 = *pos; }
|
||||
void setToolDemoType() { setDemoType(1); }
|
||||
void setToolDemoType() { setDemoType(DEMO_TYPE_TOOL_e); }
|
||||
s16 getTimer() const { return mTimer; }
|
||||
void decTimer() { mTimer--; }
|
||||
void setTimer(s16 i_timer) { mTimer = i_timer; }
|
||||
cXyz* getPos0() { return &mDemoPos0; }
|
||||
void resetDemoType() { setDemoType(0); }
|
||||
void setStartDemoType() { setDemoType(4); }
|
||||
void setStartDemoType() { setDemoType(DEMO_TYPE_START_e); }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mDemoType;
|
||||
|
|
|
|||
|
|
@ -1085,6 +1085,20 @@ public:
|
|||
mWindowAspect = param_0 / param_1;
|
||||
}
|
||||
|
||||
f32 R() {
|
||||
if (chkFlag(0x10)) {
|
||||
return mUpOverride.field_0x24.R();
|
||||
} else {
|
||||
return mDirection.R();
|
||||
}
|
||||
}
|
||||
|
||||
cXyz iCenter() { return mViewCache.mCenter; }
|
||||
cXyz iEye() { return mViewCache.mEye; }
|
||||
s16 iU() { return mViewCache.mDirection.U().Inv(); }
|
||||
s16 iV() { return mViewCache.mDirection.V(); }
|
||||
f32 iR() { return mViewCache.mDirection.R(); }
|
||||
|
||||
s16 U2() {
|
||||
if (chkFlag(0x10)) {
|
||||
return mViewCache.mDirection.U();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,186 @@
|
|||
#ifndef D_DEBUG_CAMERA_H
|
||||
#define D_DEBUG_CAMERA_H
|
||||
|
||||
#include "d/d_camera.h"
|
||||
#include "JSystem/JHostIO/JORMContext.h"
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
|
||||
enum dDbgCam_KeyAction {
|
||||
/* | */ dDbgCam_KeyAction_FIXEDFRM,
|
||||
/* ] */ dDbgCam_KeyAction_UNITRANS,
|
||||
/* > */ dDbgCam_KeyAction_BSPLINE,
|
||||
/* - */ dDbgCam_KeyAction_NOACTION,
|
||||
};
|
||||
|
||||
class dDbgCamera_c;
|
||||
|
||||
class dDbgCamKey_c {
|
||||
public:
|
||||
dDbgCamKey_c() {}
|
||||
~dDbgCamKey_c();
|
||||
|
||||
/* 0x00 */ cXyz mCenter;
|
||||
/* 0x0C */ cXyz mEye;
|
||||
/* 0x18 */ f32 mFovy;
|
||||
/* 0x1C */ f32 mBank;
|
||||
struct {
|
||||
/* 0x20 */ fpc_ProcID id;
|
||||
/* 0x24 */ char name[8];
|
||||
} mActorInfo;
|
||||
/* 0x2C */ int mAction;
|
||||
/* 0x30 */ int mTimer;
|
||||
};
|
||||
|
||||
class dDbgCamSetup_c : public JORReflexible {
|
||||
public:
|
||||
dDbgCamSetup_c();
|
||||
~dDbgCamSetup_c() {}
|
||||
|
||||
void Init(dDbgCamera_c*);
|
||||
void Finish();
|
||||
f32 Translate(f32);
|
||||
s16 Rotate(f32);
|
||||
f32 FlatMove(f32);
|
||||
f32 Turbo(f32);
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
|
||||
f32 FovyTick() { return mFovyTick; }
|
||||
f32 RotAccel() { return mRotAccel; }
|
||||
f32 TransAccel() { return mTransAccel; }
|
||||
int CenterMarker() { return mCenterMarker; }
|
||||
f32 CenterBall() { return mCenterBall; }
|
||||
f32 CenterCloss() { return mCenterCross; }
|
||||
|
||||
bool CheckFlag(u16 i_flag) { return (i_flag & mFlag) ? true : false; }
|
||||
|
||||
/* 0x04 */ s32 mActorSrchType;
|
||||
/* 0x08 */ f32 mActorSrchRange;
|
||||
/* 0x0C */ fpc_ProcID mActorID;
|
||||
/* 0x10 */ dDbgCamera_c* mpDbgCam;
|
||||
/* 0x14 */ f32 mMoveSpeed;
|
||||
/* 0x18 */ f32 mMoveTurbo;
|
||||
/* 0x1C */ f32 mMoveParallelShift;
|
||||
/* 0x20 */ f32 mRotateSpeed;
|
||||
/* 0x24 */ f32 mFovyTick;
|
||||
/* 0x28 */ f32 mTransAccel;
|
||||
/* 0x2C */ f32 mRotAccel;
|
||||
/* 0x30 */ f32 mMoveMax;
|
||||
/* 0x34 */ f32 mRotateMax;
|
||||
/* 0x38 */ f32 mUnkMax;
|
||||
/* 0x3C */ f32 mCenterCross;
|
||||
/* 0x40 */ f32 mCenterBall;
|
||||
/* 0x44 */ s32 mCenterMarker;
|
||||
/* 0x48 */ u16 mFlag;
|
||||
/* 0x4C */ cXyz mGazePoint;
|
||||
/* 0x58 */ cXyz mPerspective;
|
||||
/* 0x64 */ f32 mAngle;
|
||||
/* 0x68 */ cXyz field_0x68;
|
||||
/* 0x74 */ cXyz field_0x74;
|
||||
/* 0x80 */ s8 m_childNo;
|
||||
/* 0x84 */ s32 mPosX;
|
||||
/* 0x88 */ s32 mPosY;
|
||||
};
|
||||
|
||||
class dDbgCamera_c {
|
||||
public:
|
||||
dDbgCamera_c() {}
|
||||
~dDbgCamera_c() {}
|
||||
|
||||
void InitlChk();
|
||||
int SetlChk(dBgS_LinChk);
|
||||
|
||||
int moveTool();
|
||||
int cmdTool();
|
||||
int makeZevData();
|
||||
void printZevData();
|
||||
void WriteZevData();
|
||||
void monitor();
|
||||
bool showCenterMarker();
|
||||
bool showCameraPos();
|
||||
bool showIdlCameraPos();
|
||||
void Init(dCamera_c*);
|
||||
void Finish();
|
||||
void Reset(dCamera_c*);
|
||||
int Run();
|
||||
int DrawShape();
|
||||
int Report(int, int, JUtility::TColor, const char*, ...);
|
||||
void OpenFile();
|
||||
void PrintFile(char*, ...);
|
||||
void CloseFile();
|
||||
|
||||
char* ActionName(s32 i_action) {
|
||||
static char* name[] = {
|
||||
"FIXEDFRM",
|
||||
"UNITRANS",
|
||||
"BSPLINE",
|
||||
"NOACTION",
|
||||
};
|
||||
|
||||
return name[i_action];
|
||||
}
|
||||
|
||||
cXyz Center() { return mRunKey.mCenter; }
|
||||
void Fovy(f32 fovy) { mRunKey.mFovy = fovy; };
|
||||
void Eye(const cXyz& eye) { mRunKey.mEye = eye; };
|
||||
void Center(const cXyz& center) { mRunKey.mCenter = center; };
|
||||
f32 Fovy() { return mRunKey.mFovy; }
|
||||
s16 Bank() { return cSAngle(mRunKey.mBank).Val(); }
|
||||
cXyz Up() { return mUp; }
|
||||
cXyz Eye() { return mRunKey.mEye; }
|
||||
bool Playing() { return mIsPlaying; }
|
||||
|
||||
dDbgCamKey_c PlaneKey() {
|
||||
dDbgCamKey_c rt;
|
||||
rt.mCenter = mpCamera->Center();
|
||||
rt.mEye = mpCamera->Eye();
|
||||
rt.mFovy = mpCamera->Fovy();
|
||||
rt.mBank = mpCamera->Bank().Degree();
|
||||
rt.mActorInfo.id = fpcM_ERROR_PROCESS_ID_e;
|
||||
strcpy(rt.mActorInfo.name, "WORLD");
|
||||
rt.mAction = dDbgCam_KeyAction_NOACTION;
|
||||
rt.mTimer = 20;
|
||||
return rt;
|
||||
}
|
||||
|
||||
char ActionSymbol(s32 i_action) { return "|]>-..."[i_action]; }
|
||||
|
||||
/* 0x000 */ dCamera_c* mpCamera;
|
||||
/* 0x004 */ dDbgCamKey_c mRunKey;
|
||||
/* 0x038 */ cXyz mUp;
|
||||
/* 0x044 */ cSGlobe field_0x44;
|
||||
/* 0x04C */ int mPadNo;
|
||||
/* 0x050 */ int field_0x50;
|
||||
/* 0x054 */ u32 field_0x54;
|
||||
/* 0x058 */ int field_0x58;
|
||||
/* 0x05C */ int mCmdMode;
|
||||
/* 0x060 */ char mActionKey[32];
|
||||
/* 0x080 */ u8 field_0x80;
|
||||
/* 0x084 */ dDbgCamKey_c mKeys[32];
|
||||
class {
|
||||
public:
|
||||
/* 0x000 */ int field_0x0;
|
||||
/* 0x004 */ int field_0x4;
|
||||
/* 0x008 */ u8 field_0x8[0x010 - 0x008];
|
||||
/* 0x010 */ cXyz field_0x10[32];
|
||||
/* 0x190 */ cXyz field_0x190[32];
|
||||
} /* 0x704 */ field_0x704;
|
||||
/* 0xA14 */ u8 field_0xA14[0xB14 - 0xA14];
|
||||
/* 0xB14 */ int field_0xb14;
|
||||
/* 0xB18 */ bool mIsPlaying;
|
||||
/* 0xB1C */ dBgS_LinChk mLchk[2];
|
||||
/* 0xBFC */ int mLchkNum;
|
||||
/* 0xC00 */ int field_0xc00;
|
||||
/* 0xC04 */ int field_0xc04;
|
||||
/* 0xC08 */ int field_0xc08;
|
||||
/* 0xC0C */ int field_0xc0c;
|
||||
/* 0xC10 */ f32 field_0xc10;
|
||||
/* 0xC14 */ f32 field_0xc14;
|
||||
/* 0xC18 */ int field_0xc18;
|
||||
/* 0xC1C */ int field_0xc1c;
|
||||
/* 0xC20 */ dDbgCamSetup_c mCamSetup;
|
||||
/* 0xCAC */ JORFile mFile;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -53,6 +53,20 @@ public:
|
|||
/* 0x34 */ u8 field_0x34[12];
|
||||
}; // Size: 0x40
|
||||
|
||||
#if DEBUG
|
||||
class dEvDtData_DBG_c : public dEvDtData_c {
|
||||
public:
|
||||
void Init() {
|
||||
mName[0] = '\0';
|
||||
mIndex = 0;
|
||||
mType = 5;
|
||||
mDataIndex = 0;
|
||||
mNumber = 0;
|
||||
mNext = -1;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class dEvDtCut_c {
|
||||
public:
|
||||
int startCheck();
|
||||
|
|
@ -64,7 +78,6 @@ public:
|
|||
int getStartFlag(int idx) { return mFlags[idx]; }
|
||||
u32 getTagId() { return mTagID; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ char mName[32];
|
||||
/* 0x20 */ u32 mTagID;
|
||||
/* 0x24 */ u32 mIndex;
|
||||
|
|
@ -75,6 +88,27 @@ private:
|
|||
/* 0x40 */ u8 field_0x40[0x10];
|
||||
}; // Size: 0x50
|
||||
|
||||
#if DEBUG
|
||||
class dEvDtCut_DBG_c : public dEvDtCut_c {
|
||||
public:
|
||||
void Init() {
|
||||
int i;
|
||||
|
||||
mName[0] = '\0';
|
||||
mTagID = 0;
|
||||
mIndex = 0;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
mFlags[i] = -1;
|
||||
}
|
||||
|
||||
mFlagId = 0;
|
||||
mDataTop = -1;
|
||||
mNext = -1;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class dEvDtStaff_c {
|
||||
public:
|
||||
enum StaffType {
|
||||
|
|
@ -152,7 +186,7 @@ public:
|
|||
/* 0x28 */ u32 mFlagID;
|
||||
/* 0x2C */ int mType;
|
||||
/* 0x30 */ int mStartCut;
|
||||
/* 0x34 */ u8 field_0x34[2];
|
||||
/* 0x34 */ s16 field_0x34;
|
||||
/* 0x36 */ s16 mWaitTimer;
|
||||
/* 0x38 */ int mCurrentCut;
|
||||
/* 0x3C */ s32 field_0x3c;
|
||||
|
|
@ -163,6 +197,21 @@ public:
|
|||
|
||||
STATIC_ASSERT(sizeof(dEvDtStaff_c) == 0x50);
|
||||
|
||||
#if DEBUG
|
||||
class dEvDtStaff_DBG_c : public dEvDtStaff_c {
|
||||
public:
|
||||
void Init() {
|
||||
mName[0] = '\0';
|
||||
mTagID = 0;
|
||||
mIndex = 0;
|
||||
mFlagID = 0;
|
||||
mType = 13;
|
||||
mStartCut = 0;
|
||||
field_0x34 = 0;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class dEvDtEvent_c {
|
||||
public:
|
||||
int finishCheck();
|
||||
|
|
@ -179,15 +228,48 @@ public:
|
|||
/* 0x28 */ int mPriority;
|
||||
/* 0x2C */ int mStaff[20];
|
||||
/* 0x7C */ int mNStaff;
|
||||
/* 0x80 */ u8 field_0x80[4];
|
||||
/* 0x80 */ int field_0x80;
|
||||
/* 0x84 */ int field_0x84;
|
||||
/* 0x88 */ int mFlags[3];
|
||||
/* 0x94 */ bool mPlaySound;
|
||||
/* 0x95 */ u8 field_0x95[0xF];
|
||||
/* 0x96 */ s16 field_0x96;
|
||||
/* 0x98 */ f32 field_0x98;
|
||||
/* 0x9C */ f32 field_0x9c;
|
||||
/* 0xA0 */ f32 field_0xa0;
|
||||
/* 0xA4 */ int mEventState;
|
||||
/* 0xA8 */ u8 field_0xa8[8];
|
||||
/* 0xA8 */ int field_0xa8;
|
||||
/* 0xAC */ u8 field_0xac[4];
|
||||
}; // Size: 0xB0
|
||||
|
||||
#if DEBUG
|
||||
class dEvDtEvent_DBG_c : public dEvDtEvent_c {
|
||||
public:
|
||||
void Init() {
|
||||
int i;
|
||||
|
||||
mName[0] = '\0';
|
||||
mIndex = 0;
|
||||
mStaff[0] = 0;
|
||||
mNStaff = 0;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
mFlags[i] = -1;
|
||||
}
|
||||
|
||||
field_0x80 = field_0x84 = 0;
|
||||
mPlaySound = false;
|
||||
field_0x24 = 1;
|
||||
mPriority = 0;
|
||||
mEventState = 0;
|
||||
field_0xa8 = 0;
|
||||
field_0x96 = 0;
|
||||
field_0x98 = 0.0f;
|
||||
field_0x9c = 0.0f;
|
||||
field_0xa0 = 0.0f;
|
||||
}
|
||||
}; // Size: 0xB0
|
||||
#endif
|
||||
|
||||
class dEvDtFlag_c {
|
||||
public:
|
||||
dEvDtFlag_c() {}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,14 @@ public:
|
|||
u8 getPalLanguage();
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
static void onOpeningCut() {
|
||||
mOpeningCut = true;
|
||||
}
|
||||
|
||||
static u8 mOpeningCut;
|
||||
#endif
|
||||
|
||||
public:
|
||||
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
|
||||
/* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public:
|
|||
/* 0x0006 */ u8 mPresetData[10000];
|
||||
/* 0x2716 */ u8 field_0x2716;
|
||||
/* 0x2717 */ u8 field_0x2717;
|
||||
/* 0x2718 */ char mFilename[100];
|
||||
/* 0x2718 */ u8 filename_buf[100];
|
||||
};
|
||||
|
||||
class dScnPly_c : public scene_class {
|
||||
|
|
|
|||
|
|
@ -1170,6 +1170,14 @@ public:
|
|||
static u8 mNoChangeRoom;
|
||||
static s8 mRoomReadId;
|
||||
|
||||
#if DEBUG
|
||||
static void onNoArcBank() {
|
||||
mNoArcBank = true;
|
||||
}
|
||||
|
||||
static u8 mNoArcBank;
|
||||
#endif
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 field_0x0[4];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public:
|
|||
/* 0x0C */ f32 mLROnValue;
|
||||
/* 0x10 */ f32 mLROffValue;
|
||||
/* 0x14 */ bool mUsingHostIO;
|
||||
/* 0x15 */ bool mDisplayMeter;
|
||||
/* 0x15 */ u8 mDisplayMeter;
|
||||
/* 0x16 */ u8 mDisplayPrint;
|
||||
/* 0x17 */ bool mDisplay2D;
|
||||
/* 0x18 */ bool mDisplayParticle;
|
||||
|
|
@ -58,7 +58,7 @@ inline bool fapGmHIO_isPrint() {
|
|||
return g_HIO.mDisplayPrint & 1;
|
||||
}
|
||||
|
||||
inline bool fapGmHIO_getMeter() {
|
||||
inline u8 fapGmHIO_getMeter() {
|
||||
return g_HIO.mDisplayMeter;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ class JKRExpHeap;
|
|||
void version_check();
|
||||
s32 LOAD_COPYDATE(void*);
|
||||
|
||||
const int HeapCheckTableNum = 8;
|
||||
|
||||
class HeapCheck {
|
||||
public:
|
||||
HeapCheck(JKRExpHeap* heap, const char* name, const char* jName) {
|
||||
|
|
@ -26,7 +28,7 @@ public:
|
|||
JKRExpHeap* getHeap() { return mHeap; }
|
||||
void setHeap(JKRExpHeap* i_heap) { mHeap = i_heap; }
|
||||
void setHeapSize(u32 i_size) { mTargetHeapSize = i_size; }
|
||||
s32 getMaxTotalUsedSize() { return mMaxTotalUsedSize; }
|
||||
s32 getMaxTotalUsedSize() const { return mMaxTotalUsedSize; }
|
||||
s32 getMaxTotalFreeSize() { return mMaxTotalFreeSize; }
|
||||
const char* getName() const { return mName; }
|
||||
void saveRelBase() {
|
||||
|
|
@ -34,6 +36,8 @@ public:
|
|||
mTotalUsedSize = mHeap->getTotalUsedSize();
|
||||
}
|
||||
|
||||
u32 getTargetHeapSize() const { return mTargetHeapSize; }
|
||||
|
||||
u32 getRelUsedCount() const { return getUsedCount() - mUsedCount; }
|
||||
u32 getRelTotalUsedSize() const { return mHeap->getTotalUsedSize() - mTotalUsedSize; }
|
||||
|
||||
|
|
@ -51,13 +55,15 @@ private:
|
|||
};
|
||||
|
||||
struct mDoMain {
|
||||
static char COPYDATE_STRING[18];
|
||||
static u32 memMargin;
|
||||
#ifdef DEBUG
|
||||
#ifdef DEBUG
|
||||
static int argument;
|
||||
static int e3menu_no;
|
||||
static u32 archiveHeapSize;
|
||||
static u32 gameHeapSize;
|
||||
#endif
|
||||
static u8 mHeapBriefType;
|
||||
#endif
|
||||
|
||||
static char COPYDATE_STRING[18];
|
||||
static u32 memMargin;
|
||||
static OSTime sPowerOnTime;
|
||||
static OSTime sHungUpTime;
|
||||
static s8 developmentMode;
|
||||
|
|
|
|||
|
|
@ -34,9 +34,10 @@ typedef struct {
|
|||
} __wInStrCtrl;
|
||||
|
||||
int __StringRead(void* str, int ch, int behavior);
|
||||
int sscanf(const char* buffer, const char* format, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _MSL_COMMON_SCANF_H */
|
||||
#endif /* _MSL_COMMON_SCANF_H */
|
||||
|
|
|
|||
|
|
@ -5,9 +5,10 @@
|
|||
#include "file_io.h"
|
||||
#include "printf.h"
|
||||
#include "extras.h"
|
||||
#include "scanf.h"
|
||||
|
||||
#define stdin (&__files._stdin)
|
||||
#define stdout (&__files._stdout)
|
||||
#define stderr (&__files._stderr)
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -4375,7 +4375,7 @@ void daAlink_c::playerInit() {
|
|||
mEquipItem = fpcNm_ITEM_NONE;
|
||||
offSwordModel();
|
||||
|
||||
field_0x3184 = -1;
|
||||
mAlinkStaffId = -1;
|
||||
mExitID = 0x3F;
|
||||
onNoResetFlg0(FLG0_SWIM_UP);
|
||||
offOxygenTimer();
|
||||
|
|
@ -5941,7 +5941,7 @@ void daAlink_c::setSwordAtCollision(int param_0) {
|
|||
|
||||
/* 800AA5E8-800AA6B4 0A4F28 00CC+00 4/4 0/0 0/0 .text checkNoCollisionCorret__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkNoCollisionCorret() {
|
||||
if (checkModeFlg(0x12800) || mDemo.getDemoType() == 1 || mProcID == PROC_DOOR_OPEN ||
|
||||
if (checkModeFlg(0x12800) || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e || mProcID == PROC_DOOR_OPEN ||
|
||||
(checkEventRun() &&
|
||||
(!strcmp(dComIfGp_getEventManager().getRunEventName(), "SCENE_EXIT") ||
|
||||
(fopAcM_getTalkEventPartner(this) &&
|
||||
|
|
@ -10356,7 +10356,7 @@ void daAlink_c::decideDoStatus() {
|
|||
BOOL daAlink_c::checkWaitAction() {
|
||||
if (checkWolf()) {
|
||||
if (checkModeFlg(0x01000000)) {
|
||||
if (mDemo.getDemoType() == 4) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e) {
|
||||
return 0;
|
||||
}
|
||||
return procWolfWaitInit();
|
||||
|
|
@ -10412,7 +10412,7 @@ BOOL daAlink_c::checkWaitAction() {
|
|||
return procGrabWaitInit();
|
||||
}
|
||||
|
||||
if (checkModeFlg(0x01000000) && mDemo.getDemoType() == 4) {
|
||||
if (checkModeFlg(0x01000000) && mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -10555,7 +10555,7 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!checkModeFlg(0x70C12) && mProcID != PROC_DOOR_OPEN && mProcID != PROC_WARP && !getSumouMode() && mDemo.getDemoType() != 5 && !checkMagneBootsOn() && !mLinkAcch.ChkGroundHit()) {
|
||||
if (!checkModeFlg(0x70C12) && mProcID != PROC_DOOR_OPEN && mProcID != PROC_WARP && !getSumouMode() && mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_SPECIAL_e && !checkMagneBootsOn() && !mLinkAcch.ChkGroundHit()) {
|
||||
if (checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
speed.y = 0.0f;
|
||||
return procSwimWaitInit(0);
|
||||
|
|
@ -12820,7 +12820,7 @@ void daAlink_c::posMove() {
|
|||
|
||||
if (checkNoResetFlg0(FLG0_SWIM_UP) && mProcID != PROC_SWIM_DIVE) {
|
||||
current.pos.y = mWaterY;
|
||||
} else if (mDemo.getDemoType() == 4 || mProcID == PROC_ELEC_DAMAGE ||
|
||||
} else if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e || mProcID == PROC_ELEC_DAMAGE ||
|
||||
dComIfGp_checkPlayerStatus0(0, 0x10))
|
||||
{
|
||||
speed.y = 0.0f;
|
||||
|
|
@ -15548,7 +15548,7 @@ int daAlink_c::procWaitTurn() {
|
|||
} else if (angle == 0) {
|
||||
if (checkEventRun()) {
|
||||
if (mDemo.getDemoMode() == 5) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (!checkNextAction(0)) {
|
||||
checkWaitAction();
|
||||
}
|
||||
|
|
@ -15742,7 +15742,7 @@ int daAlink_c::procSideStepLand() {
|
|||
|
||||
if (frameCtrl_p->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 16) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -15985,7 +15985,7 @@ int daAlink_c::procFrontRoll() {
|
|||
|
||||
if (frameCtrl_p->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x28) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
if (!checkInputOnR()) {
|
||||
mNormalSpeed -= daAlinkHIO_frontRoll_c0::m.mMinSpeed;
|
||||
|
|
@ -16235,7 +16235,7 @@ int daAlink_c::procSideRoll() {
|
|||
|
||||
if (frameCtrl_p->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x49) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
if (!checkAttentionLock()) {
|
||||
offNoResetFlg2(FLG2_UNK_8000000);
|
||||
|
|
@ -16391,7 +16391,7 @@ int daAlink_c::procBackJumpLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x10) {
|
||||
dComIfGp_getPEvtManager()->cutEnd(field_0x3184);
|
||||
dComIfGp_getPEvtManager()->cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
if (!checkAttentionLock()) {
|
||||
offNoResetFlg2(FLG2_UNK_8000000);
|
||||
|
|
@ -17284,7 +17284,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
if (!checkEventRun()) {
|
||||
checkWaitAction();
|
||||
} else {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -17304,7 +17304,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
mProcVar5.field_0x3012 = 1;
|
||||
|
||||
if (mDemo.getParam0() == 1 && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, -1.0f);
|
||||
|
|
@ -17336,7 +17336,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
mDoMtx_stack_c::multVec(&sp8, ¤t.pos);
|
||||
|
||||
field_0x2f99 = 0xC;
|
||||
if (mDemo.getDemoType() == 3) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_ORIGINAL_e) {
|
||||
mFallVoiceInit = 1;
|
||||
}
|
||||
|
||||
|
|
@ -17350,7 +17350,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
return checkWaitAction();
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkWolf()) {
|
||||
setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, -1.0f);
|
||||
|
|
@ -17477,7 +17477,7 @@ int daAlink_c::procCoMetamorphoseOnly() {
|
|||
}
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -17588,7 +17588,7 @@ int daAlink_c::execute() {
|
|||
setSelectEquipItem(0);
|
||||
|
||||
if (dComIfGp_event_runCheck()) {
|
||||
field_0x3184 = dComIfGp_evmng_getMyStaffId("Alink", this, 0);
|
||||
mAlinkStaffId = dComIfGp_evmng_getMyStaffId("Alink", this, 0);
|
||||
|
||||
if (eventInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(4) &&
|
||||
mEquipItem == 0x102)
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ int daAlink_c::commonBottleDrink(int param_0) {
|
|||
}
|
||||
|
||||
field_0x072c->setFrame(1.0f);
|
||||
if (mDemo.getDemoType() == 5) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e) {
|
||||
dComIfGs_setEquipBottleItemIn(mSelectItemId, fpcNm_ITEM_HALF_MILK_BOTTLE);
|
||||
}
|
||||
} else if (mProcVar2.field_0x300c == 0) {
|
||||
|
|
@ -276,7 +276,7 @@ int daAlink_c::commonBottleDrink(int param_0) {
|
|||
}
|
||||
|
||||
field_0x072c->setFrame(2.0f);
|
||||
if (mDemo.getDemoType() == 5) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e) {
|
||||
dComIfGs_setEquipBottleItemEmpty(mSelectItemId);
|
||||
}
|
||||
|
||||
|
|
@ -404,7 +404,7 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) {
|
|||
/* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */
|
||||
int daAlink_c::procBottleDrink() {
|
||||
if (mProcVar3.field_0x300e != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
mProcVar3.field_0x300e = commonBottleDrink(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -467,7 +467,7 @@ int daAlink_c::procCopyRodRevive() {
|
|||
simpleAnmPlay(field_0x0724);
|
||||
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -981,7 +981,7 @@ int daAlink_c::procCutNormal() {
|
|||
resetCombo(1);
|
||||
|
||||
if (mDemo.getDemoMode() == 0x24 || mDemo.getDemoMode() == 0x54) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -1241,7 +1241,7 @@ int daAlink_c::procCutFinish() {
|
|||
mProcVar0.field_0x3008--;
|
||||
}
|
||||
} else if (mDemo.getDemoMode() == 0x24 || mDemo.getDemoMode() == 0x54) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x2f98 = 2;
|
||||
|
|
@ -1408,7 +1408,7 @@ int daAlink_c::procCutFinishJumpUpLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x52) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (mProcVar0.field_0x3008 > 0) {
|
||||
if (!(frameCtrl->getFrame() > field_0x3484) || !checkCutCancelNextMode(3)) {
|
||||
mProcVar0.field_0x3008--;
|
||||
|
|
@ -1766,7 +1766,7 @@ int daAlink_c::procCutTurn() {
|
|||
mProcVar0.field_0x3008--;
|
||||
}
|
||||
} else if (mDemo.getDemoMode() == 0x24) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
field_0x2f98 = 3;
|
||||
checkNextAction(0);
|
||||
|
|
@ -1903,7 +1903,7 @@ int daAlink_c::procCutTurnMove() {
|
|||
|
||||
if (mDemo.getDemoMode() == 0x5B || mDemo.getDemoMode() == 0x5C) {
|
||||
if (var_r4) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
} else if ((mProcVar2.field_0x300c == 0 && swordButton()) || (mProcVar2.field_0x300c != 0 && doButton())) {
|
||||
f32 var_f30 = 0.0f;
|
||||
|
|
@ -2156,7 +2156,7 @@ int daAlink_c::procCutDownLand() {
|
|||
mProcVar0.field_0x3008--;
|
||||
} else if (mProcVar3.field_0x300e != 0) {
|
||||
if (mDemo.getDemoMode() == 0x51) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
procBackJumpInit(1);
|
||||
}
|
||||
|
|
@ -2296,7 +2296,7 @@ int daAlink_c::procCutHeadLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x53) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -2472,7 +2472,7 @@ int daAlink_c::procCutLargeJumpLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x56) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -2547,7 +2547,7 @@ int daAlink_c::procSwordUnequipSp() {
|
|||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (field_0x3198 != 0) {
|
||||
if (mDemo.getDemoMode() == 0x1E) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -2571,7 +2571,7 @@ int daAlink_c::procSwordUnequipSp() {
|
|||
if (mDemo.getParam0() == 1) {
|
||||
frameCtrl->setFrame(13.0f);
|
||||
frameCtrl->setRate(0.0f);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frameCtrl->getRate() < 0.0099999998f) {
|
||||
setWaterInAnmRate(frameCtrl, daAlinkHIO_cut_c0::m.mFlourishEndAnmSpeed);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1308,7 +1308,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
|
|||
if (param_0 == -5 && mDemo.getParam1() > 0) {
|
||||
mProcVar0.field_0x3008 = mDemo.getParam1();
|
||||
var_f31 = 0.0f;
|
||||
} else if (param_0 == -2 && mDemo.getDemoType() == 1) {
|
||||
} else if (param_0 == -2 && mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e) {
|
||||
mProcVar0.field_0x3008 = 0x1E;
|
||||
var_f31 = 0.0f;
|
||||
} else {
|
||||
|
|
@ -1406,7 +1406,7 @@ int daAlink_c::procLargeDamageUp() {
|
|||
offModeFlg(0x04000000);
|
||||
|
||||
if ((checkEventRun() && mProcVar0.field_0x3008 < 0) || mDemo.getDemoMode() == 0x1B || mDemo.getDemoMode() == 9) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ int daAlink_c::checkDemoAction() {
|
|||
}
|
||||
|
||||
if (checkModeFlg(0x40000)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -315,7 +315,7 @@ int daAlink_c::checkDemoAction() {
|
|||
} else if (demoMode == daPy_demo_c::DEMO_UNK_27_e) {
|
||||
onNoResetFlg0(FLG0_UNK_100000);
|
||||
|
||||
if (mDemo.getDemoType() == 1) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e) {
|
||||
return commonLargeDamageUpInit(-2, 1, 0, 0);
|
||||
} else if (mDemo.getParam0() == 1) {
|
||||
return commonLargeDamageUpInit(-5, 1, 0, 0);
|
||||
|
|
@ -412,7 +412,7 @@ int daAlink_c::checkDemoAction() {
|
|||
return procCoLookWaitInit();
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
} else if (demoMode == daPy_demo_c::DEMO_UNK_7_e) {
|
||||
offNoResetFlg0(FLG0_UNK_100000);
|
||||
|
|
@ -517,7 +517,7 @@ void daAlink_c::setDemoMoveData(u32* o_mode, cXyz const* i_goal) {
|
|||
} else if ((*o_mode == daPy_demo_c::DEMO_UNK_2_e && dist_to_pos < temp_f29) || dist_to_pos < temp_f28) {
|
||||
*o_mode = daPy_demo_c::DEMO_UNK_2_e;
|
||||
mDemo.setStick(0.35000002f);
|
||||
} else if (mDemo.getDemoType() == 3) {
|
||||
} else if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_ORIGINAL_e) {
|
||||
mDemo.setStick(1.0f);
|
||||
}
|
||||
|
||||
|
|
@ -611,15 +611,15 @@ void daAlink_c::setDemoData() {
|
|||
}
|
||||
}
|
||||
|
||||
if (mDemo.getDemoType() == 4 && !dComIfGp_evmng_checkStartDemo()) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e && !dComIfGp_evmng_checkStartDemo()) {
|
||||
mDemo.setSystemDemoType();
|
||||
}
|
||||
|
||||
if (demo_actor_p != NULL) {
|
||||
demo_actor_p->setModel(mpLinkModel);
|
||||
field_0x3184 = -1;
|
||||
mAlinkStaffId = -1;
|
||||
|
||||
if (mDemo.getDemoType() != 1) {
|
||||
if (mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_TOOL_e) {
|
||||
mDemo.setToolDemoType();
|
||||
mDemo.setDemoMode(daPy_demo_c::DEMO_UNK_1_e);
|
||||
freeGrabItem();
|
||||
|
|
@ -681,18 +681,18 @@ void daAlink_c::setDemoData() {
|
|||
}
|
||||
}
|
||||
|
||||
if (field_0x3184 != -1) {
|
||||
if (mAlinkStaffId != -1) {
|
||||
if (mProcID == PROC_DUNGEON_WARP_READY) {
|
||||
mDemo.setSystemDemoType();
|
||||
}
|
||||
|
||||
char* cut_name = dComIfGp_getPEvtManager()->getMyNowCutName(field_0x3184);
|
||||
char* cut_name = dComIfGp_getPEvtManager()->getMyNowCutName(mAlinkStaffId);
|
||||
if (cut_name != NULL) {
|
||||
// Take the first 3 chars in cut_name, convert them to integers, and calculate
|
||||
// demo_mode
|
||||
demo_mode = ((cut_name[0] - '0') * 100) + ((cut_name[1] - '0') * 10) +
|
||||
(cut_name[2] - '0');
|
||||
if (mDemo.getDemoType() != 4 && (demo_mode == daPy_demo_c::DEMO_UNK_1_e || demo_mode == daPy_demo_c::DEMO_UNK_23_e) &&
|
||||
if (mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_START_e && (demo_mode == daPy_demo_c::DEMO_UNK_1_e || demo_mode == daPy_demo_c::DEMO_UNK_23_e) &&
|
||||
mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52))
|
||||
{
|
||||
mNormalSpeed = 0.0f;
|
||||
|
|
@ -703,12 +703,12 @@ void daAlink_c::setDemoData() {
|
|||
demo_mode = daPy_demo_c::DEMO_UNK_1_e;
|
||||
}
|
||||
|
||||
pos_p = dComIfGp_evmng_getMyXyzP(field_0x3184, "pos");
|
||||
pos_p = dComIfGp_evmng_getMyXyzP(mAlinkStaffId, "pos");
|
||||
if (pos_p == NULL) {
|
||||
pos_p = dComIfGp_evmng_getGoal();
|
||||
}
|
||||
|
||||
int* angle_p = dComIfGp_evmng_getMyIntegerP(field_0x3184, "angle");
|
||||
int* angle_p = dComIfGp_evmng_getMyIntegerP(mAlinkStaffId, "angle");
|
||||
if (angle_p != NULL) {
|
||||
angle = *angle_p;
|
||||
} else if (demo_mode == daPy_demo_c::DEMO_WAIT_TURN_e) {
|
||||
|
|
@ -717,11 +717,11 @@ void daAlink_c::setDemoData() {
|
|||
angle = shape_angle.y;
|
||||
}
|
||||
|
||||
prm0_p = dComIfGp_evmng_getMyIntegerP(field_0x3184, "prm0");
|
||||
prm1_p = dComIfGp_evmng_getMyIntegerP(field_0x3184, "prm1");
|
||||
prm0_p = dComIfGp_evmng_getMyIntegerP(mAlinkStaffId, "prm0");
|
||||
prm1_p = dComIfGp_evmng_getMyIntegerP(mAlinkStaffId, "prm1");
|
||||
|
||||
if (mDemo.getDemoType() == 2) {
|
||||
f32* stick_p = dComIfGp_evmng_getMyFloatP(field_0x3184, "stick");
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SYSTEM_e) {
|
||||
f32* stick_p = dComIfGp_evmng_getMyFloatP(mAlinkStaffId, "stick");
|
||||
|
||||
if (stick_p != NULL) {
|
||||
mDemo.setStick(*stick_p);
|
||||
|
|
@ -736,13 +736,13 @@ void daAlink_c::setDemoData() {
|
|||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(pos_p, &goal_pos);
|
||||
dComIfGp_evmng_setGoal(&goal_pos);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((mEquipItem == fpcNm_ITEM_IRONBALL || checkFishingRodItem(mEquipItem)) && demo_mode != daPy_demo_c::DEMO_UNK_1_e &&
|
||||
demo_mode != daPy_demo_c::DEMO_UNK_31_e && (field_0x3184 != -1 || mDemo.getDemoType() == 3) &&
|
||||
demo_mode != daPy_demo_c::DEMO_UNK_31_e && (mAlinkStaffId != -1 || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_ORIGINAL_e) &&
|
||||
(demo_mode != daPy_demo_c::DEMO_UNK_6_e || (var_r28 == 0 && !checkEquipAnime())))
|
||||
{
|
||||
deleteEquipItem(FALSE, TRUE);
|
||||
|
|
@ -752,7 +752,7 @@ void daAlink_c::setDemoData() {
|
|||
}
|
||||
}
|
||||
|
||||
if (mDemo.getDemoType() == 4) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e) {
|
||||
if (mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_14_e) {
|
||||
if (mDemo.getTimer() != 0) {
|
||||
mDemo.decTimer();
|
||||
|
|
@ -760,14 +760,14 @@ void daAlink_c::setDemoData() {
|
|||
cXyz tmp_sp = current.pos - home.pos;
|
||||
if (tmp_sp.abs2XZ() > 90000.0f) {
|
||||
mDemo.setTimer(0);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
} else {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_UNK_1_e || (mDemo.getDemoType() == daPy_demo_c::DEMO_UNK_2_e && field_0x3184 != -1)) {
|
||||
if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e || (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SYSTEM_e && mAlinkStaffId != -1)) {
|
||||
if (prm0_p != NULL) {
|
||||
mDemo.setParam0(*prm0_p);
|
||||
} else {
|
||||
|
|
@ -793,7 +793,7 @@ void daAlink_c::setDemoData() {
|
|||
}
|
||||
|
||||
mDemo.setDemoMode(demo_mode);
|
||||
} else if (mDemo.getDemoType() == 3) {
|
||||
} else if (mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_ORIGINAL_e) {
|
||||
demo_mode = mDemo.getDemoMode();
|
||||
|
||||
if (checkDemoMoveMode(demo_mode)) {
|
||||
|
|
@ -813,13 +813,13 @@ void daAlink_c::setDemoData() {
|
|||
dComIfGp_clearPlayerStatus0(0, 0x10);
|
||||
}
|
||||
|
||||
if (field_0x3184 != -1 &&
|
||||
if (mAlinkStaffId != -1 &&
|
||||
(demo_mode == daPy_demo_c::DEMO_UNK_1_e || demo_mode == daPy_demo_c::DEMO_UNK_4_e || demo_mode == daPy_demo_c::DEMO_UNK_23_e || demo_mode == daPy_demo_c::DEMO_UNK_14_e ||
|
||||
demo_mode == daPy_demo_c::DEMO_UNK_17_e || demo_mode == daPy_demo_c::DEMO_UNK_24_e || demo_mode == daPy_demo_c::DEMO_UNK_7_e || demo_mode == daPy_demo_c::DEMO_UNK_15_e ||
|
||||
demo_mode == daPy_demo_c::DEMO_UNK_21_e || demo_mode == daPy_demo_c::DEMO_UNK_22_e || demo_mode == daPy_demo_c::DEMO_UNK_6_e || demo_mode == daPy_demo_c::DEMO_UNK_8_e ||
|
||||
demo_mode == daPy_demo_c::DEMO_CROUCH_e || demo_mode == daPy_demo_c::DEMO_UNK_18_e))
|
||||
{
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
s16 prm2 = mDemo.getParam2();
|
||||
|
|
@ -911,7 +911,7 @@ void daAlink_c::endDemoMode() {
|
|||
offNoResetFlg0(FLG0_UNK_100000);
|
||||
dComIfGp_clearPlayerStatus0(0, 0x10);
|
||||
|
||||
BOOL temp_r29 = mDemo.getDemoType() == 4;
|
||||
BOOL temp_r29 = mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_START_e;
|
||||
BOOL var_r0 = mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_14_e || mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_26_e;
|
||||
|
||||
mDemo.resetDemoType();
|
||||
|
|
@ -926,7 +926,7 @@ void daAlink_c::endDemoMode() {
|
|||
|
||||
mDemo.setParam2(0);
|
||||
mDemo.setStick(1.0f);
|
||||
field_0x3184 = -1;
|
||||
mAlinkStaffId = -1;
|
||||
|
||||
if (checkReinRide()) {
|
||||
field_0x2fab &= ~0x8;
|
||||
|
|
@ -1470,7 +1470,7 @@ static int daAlink_c_getDemoIDData(dDemo_actor_c* param_0, int* param_1, int* pa
|
|||
|
||||
/* 801195C0-801195F8 113F00 0038+00 7/0 0/0 0/0 .text procDemoCommon__9daAlink_cFv */
|
||||
int daAlink_c::procDemoCommon() {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -1906,7 +1906,7 @@ int daAlink_c::procCoOpenTreasure() {
|
|||
}
|
||||
|
||||
if (checkAnmEnd(mUnderFrameCtrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
mLinkAcch.ClrWallNone();
|
||||
mLinkAcch.OnLineCheck();
|
||||
}
|
||||
|
|
@ -1967,7 +1967,7 @@ int daAlink_c::procCoUnequip() {
|
|||
}
|
||||
|
||||
if (checkNoUpperAnime()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2179,7 +2179,7 @@ int daAlink_c::procCoGetItem() {
|
|||
setSyncRidePos();
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -2266,11 +2266,11 @@ int daAlink_c::procCoGetItem() {
|
|||
|
||||
field_0x2f99 = 12;
|
||||
if (mDemo.getParam1() == 1) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
} else if (mProcVar1.field_0x300a != 0) {
|
||||
if (mDemo.getParam1() == 1 && checkModeFlg(0x400)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
if (mProcVar1.field_0x300a < 0) {
|
||||
|
|
@ -2281,7 +2281,7 @@ int daAlink_c::procCoGetItem() {
|
|||
shape_angle.y = current.angle.y - mProcVar3.field_0x300e;
|
||||
|
||||
if (mDemo.getParam1() == 1) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
} else {
|
||||
shape_angle.y =
|
||||
|
|
@ -2335,7 +2335,7 @@ int daAlink_c::procCoGetItem() {
|
|||
}
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
item_partner_p->dead();
|
||||
field_0x3198 = 1;
|
||||
field_0x2f99 = 12;
|
||||
|
|
@ -2401,9 +2401,9 @@ int daAlink_c::procCoTurnBack() {
|
|||
mProcVar2.field_0x300c = 1;
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (!checkWolf() && frameCtrl_p->getFrame() >= 29.0f) {
|
||||
field_0x2f92 = 1;
|
||||
field_0x2f93 = 6;
|
||||
|
|
@ -2512,7 +2512,7 @@ int daAlink_c::procDoorOpen() {
|
|||
} else {
|
||||
mLinkAcch.ClrWallNone();
|
||||
mLinkAcch.OffLineCheckNone();
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
onModeFlg(1);
|
||||
offModeFlg(0x4000);
|
||||
|
||||
|
|
@ -2530,7 +2530,7 @@ int daAlink_c::procDoorOpen() {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -2586,7 +2586,7 @@ int daAlink_c::procCoLookWait() {
|
|||
cLib_addCalcAngleS(&shape_angle.y, target_angle, 2, 0x800, 0x100);
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -2675,7 +2675,7 @@ int daAlink_c::procMonkeyMoveInit() {
|
|||
|
||||
/* 8011BD18-8011BD6C 116658 0054+00 1/0 0/0 0/0 .text procMonkeyMove__9daAlink_cFv */
|
||||
int daAlink_c::procMonkeyMove() {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (!checkWolf()) {
|
||||
setMonkeyMoveAnime();
|
||||
|
|
@ -2699,7 +2699,7 @@ int daAlink_c::procDemoBoomerangCatchInit() {
|
|||
|
||||
/* 8011BDF0-8011BE54 116730 0064+00 1/0 0/0 0/0 .text procDemoBoomerangCatch__9daAlink_cFv */
|
||||
int daAlink_c::procDemoBoomerangCatch() {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (checkAnmEnd(mUnderFrameCtrl)) {
|
||||
setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
|
|
@ -2945,7 +2945,7 @@ int daAlink_c::procCoLookAround() {
|
|||
}
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (mProcVar3.field_0x300e != 0 && frame_ctrl->checkPass(5.0f)) {
|
||||
voiceStart(Z2SE_AL_V_ENTRANCE);
|
||||
}
|
||||
|
|
@ -3026,7 +3026,7 @@ int daAlink_c::procLookUp() {
|
|||
field_0x2f99 = 4;
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -3057,7 +3057,7 @@ int daAlink_c::procLookUpToGetItem() {
|
|||
setFaceBasicBck(0x133);
|
||||
field_0x2f99 = 12;
|
||||
} else if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -3090,7 +3090,7 @@ int daAlink_c::procHandPat() {
|
|||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
if (checkAnmEnd(frameCtrl_p)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (mProcVar3.field_0x300e == 0) {
|
||||
setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f);
|
||||
|
|
@ -3238,7 +3238,7 @@ int daAlink_c::procCoNod() {
|
|||
}
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -3299,7 +3299,7 @@ int daAlink_c::procCoGlare() {
|
|||
}
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
if (!checkWolf() && frame_ctrl->getFrame() >= 24.0f) {
|
||||
|
|
@ -3331,7 +3331,7 @@ int daAlink_c::procGoatStopReady() {
|
|||
}
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -3376,7 +3376,7 @@ int daAlink_c::procCoGetReadySit() {
|
|||
}
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -3409,7 +3409,7 @@ int daAlink_c::procCoTwGateInit() {
|
|||
/* 8011D7D4-8011D82C 118114 0058+00 1/0 0/0 0/0 .text procCoTwGate__9daAlink_cFv */
|
||||
int daAlink_c::procCoTwGate() {
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
field_0x2f99 = 7;
|
||||
|
|
@ -3439,7 +3439,7 @@ int daAlink_c::procWolfSnowEscape() {
|
|||
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
|
||||
|
||||
if (mProcVar3.field_0x300e != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -3501,7 +3501,7 @@ int daAlink_c::procZoraMoveInit() {
|
|||
|
||||
/* 8011DB9C-8011DDD4 1184DC 0238+00 1/0 0/0 0/0 .text procZoraMove__9daAlink_cFv */
|
||||
int daAlink_c::procZoraMove() {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
fopAc_ac_c* temp_r29 = dComIfGp_event_getPt1();
|
||||
field_0x2f99 = 0x60;
|
||||
|
||||
|
|
@ -3556,7 +3556,7 @@ int daAlink_c::procLookAroundTurn() {
|
|||
daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl;
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frame_ctrl->checkPass(95.0f)) {
|
||||
voiceStart(Z2SE_AL_V_D_MHOP);
|
||||
}
|
||||
|
|
@ -3640,7 +3640,7 @@ int daAlink_c::procTradeItemOut() {
|
|||
|
||||
if (mProcVar3.field_0x300e != 0) {
|
||||
if (mDemo.getParam0() == 1) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
daItemBase_c* item_partner_p = (daItemBase_c*)fopAcM_getItemEventPartner(this);
|
||||
if (item_partner_p != NULL) {
|
||||
|
|
@ -3661,7 +3661,7 @@ int daAlink_c::procTradeItemOut() {
|
|||
}
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3789,9 +3789,9 @@ int daAlink_c::procSwordReady() {
|
|||
}
|
||||
|
||||
mProcVar2.field_0x300c = 1;
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frame_ctrl->checkPass(10.0f)) {
|
||||
voiceStart(Z2SE_AL_V_OUGI_KAMAE);
|
||||
}
|
||||
|
|
@ -3895,7 +3895,7 @@ int daAlink_c::procCutFastReadyInit() {
|
|||
/* 8011EB8C-8011EBDC 1194CC 0050+00 1/0 0/0 0/0 .text procCutFastReady__9daAlink_cFv */
|
||||
int daAlink_c::procCutFastReady() {
|
||||
if (checkAnmEnd(&mUpperFrameCtrl[2])) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -3922,11 +3922,11 @@ int daAlink_c::procMasterSwordStick() {
|
|||
daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl;
|
||||
|
||||
if (mProcVar2.field_0x300c != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (checkAnmEnd(frame_ctrl)) {
|
||||
mProcVar2.field_0x300c = 1;
|
||||
setSingleAnimeBaseMorf(ANM_DEMO_MASTER_SWORD_WAIT, -1.0f);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frame_ctrl->getFrame() >= 32.0f) {
|
||||
field_0x2f93 = 5;
|
||||
}
|
||||
|
|
@ -3953,7 +3953,7 @@ int daAlink_c::procMasterSwordPull() {
|
|||
daPy_frameCtrl_c* frame_ctrl = mUnderFrameCtrl;
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frame_ctrl->getFrame() >= 36.0f) {
|
||||
field_0x2f93 = 10;
|
||||
} else if (frame_ctrl->getFrame() >= 9.0f) {
|
||||
|
|
@ -4514,14 +4514,14 @@ int daAlink_c::procCoWarp() {
|
|||
return commonFallInit(1);
|
||||
}
|
||||
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
return checkWaitAction();
|
||||
}
|
||||
} else if (mProcVar3.field_0x300e != 0) {
|
||||
skipPortalObjWarp();
|
||||
} else {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
} else if (mProcVar2.field_0x300c == 0 && !checkNoResetFlg0(FLG0_PLAYER_NO_DRAW)) {
|
||||
cXyz sp10(current.pos.x, current.pos.y + (field_0x347c - -0.5f) * 30.0f, current.pos.z);
|
||||
|
|
@ -4548,7 +4548,7 @@ int daAlink_c::commonGrabPutInit() {
|
|||
if (mProcID != PROC_GRAB_STAND &&
|
||||
(mProcID != PROC_WOLF_GRAB_PUT || !(mUnderFrameCtrl[0].getFrame() < field_0x3478)))
|
||||
{
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ void daAlink_c::freeGrabItem() {
|
|||
fopAc_ac_c* temp_r3 = mGrabItemAcKeep.getActor();
|
||||
|
||||
if (temp_r3 != NULL) {
|
||||
if (dComIfGp_event_runCheck() || mDemo.getDemoType() == 5) {
|
||||
if (dComIfGp_event_runCheck() || mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_SPECIAL_e) {
|
||||
fopAcM_OnStatus(temp_r3, 0x800);
|
||||
}
|
||||
|
||||
|
|
@ -1176,7 +1176,7 @@ int daAlink_c::procGrabStand() {
|
|||
|
||||
if (checkAnmEnd(temp_r30)) {
|
||||
if (mDemo.getDemoMode() == 0xD) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
@ -1558,7 +1558,7 @@ int daAlink_c::procFmChainStrongPull() {
|
|||
|
||||
if (checkAnmEnd(&mUnderFrameCtrl[0])) {
|
||||
if (mDemo.getDemoMode() == 0x43) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
mNowAnmPackUpper[2].setRatio(1.0f);
|
||||
checkNextAction(0);
|
||||
|
|
|
|||
|
|
@ -478,7 +478,7 @@ int daAlink_c::procGuardAttack() {
|
|||
|
||||
if (checkAnmEnd(temp_r30)) {
|
||||
if (mDemo.getDemoMode() == 0x4B) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2977,7 +2977,7 @@ int daAlink_c::procHorseGetKey() {
|
|||
|
||||
setSyncRidePos();
|
||||
if (checkAnmEnd(frameCtrl_p)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (frameCtrl_p->getFrame() >= 34.0f) {
|
||||
field_0x2f92 = 254;
|
||||
field_0x2f93 = 254;
|
||||
|
|
@ -3013,7 +3013,7 @@ int daAlink_c::procHorseLookDown() {
|
|||
setSyncRidePos();
|
||||
|
||||
if (checkAnmEnd(mUnderFrameCtrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -419,7 +419,7 @@ int daAlink_c::procKandelaarSwing() {
|
|||
|
||||
if (frameCtrl_p->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x27) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -926,7 +926,7 @@ int daAlink_c::procSumouShiko() {
|
|||
field_0x2f93 = 0xFE;
|
||||
}
|
||||
} else {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ int daAlink_c::procHawkCatchInit() {
|
|||
/* 80112220-80112278 10CB60 0058+00 1/0 0/0 0/0 .text procHawkCatch__9daAlink_cFv */
|
||||
int daAlink_c::procHawkCatch() {
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
procHawkSubjectInit();
|
||||
}
|
||||
|
||||
|
|
@ -381,7 +381,7 @@ int daAlink_c::procHawkSubject() {
|
|||
}
|
||||
}
|
||||
} else if (checkEventRun()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
fopAc_ac_c* temp_r29 = field_0x280c.getActor();
|
||||
setGrassCancelStatus(0x12);
|
||||
|
|
|
|||
|
|
@ -2471,7 +2471,7 @@ int daAlink_c::procWolfTiredWait() {
|
|||
/* 8012D050-8012D104 127990 00B4+00 3/2 0/0 0/0 .text procWolfMidnaRideShockInit__9daAlink_cFv */
|
||||
int daAlink_c::procWolfMidnaRideShockInit() {
|
||||
if (!checkWolf()) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return procWaitInit();
|
||||
}
|
||||
|
||||
|
|
@ -2495,7 +2495,7 @@ int daAlink_c::procWolfMidnaRideShock() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x32) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -2858,7 +2858,7 @@ int daAlink_c::procWolfWaitTurn() {
|
|||
if (var_r31 == 0) {
|
||||
if (checkEventRun()) {
|
||||
if (mDemo.getDemoMode() == 5) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -2996,7 +2996,7 @@ int daAlink_c::procWolfSideStepLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x10) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -3107,7 +3107,7 @@ int daAlink_c::procWolfBackJumpLand() {
|
|||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (mDemo.getDemoMode() == 0x10) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -5871,7 +5871,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2,
|
|||
if (getMidnaActor() != NULL) {
|
||||
getMidnaActor()->onForceMorfCancel();
|
||||
}
|
||||
if (mDemo.getDemoType() != 1) {
|
||||
if (mDemo.getDemoType() != daPy_demo_c::DEMO_TYPE_TOOL_e) {
|
||||
mProcVar5.field_0x3012 = 1;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -5891,7 +5891,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2,
|
|||
} else if (param_0 == -5 && mDemo.getParam1() > 0) {
|
||||
mProcVar0.field_0x3008 = mDemo.getParam1();
|
||||
var_f31 = 0.0f;
|
||||
} else if (param_0 == -2 && mDemo.getDemoType() == 1) {
|
||||
} else if (param_0 == -2 && mDemo.getDemoType() == daPy_demo_c::DEMO_TYPE_TOOL_e) {
|
||||
mProcVar0.field_0x3008 = 0x1E;
|
||||
var_f31 = 0.0f;
|
||||
} else {
|
||||
|
|
@ -6008,7 +6008,7 @@ int daAlink_c::procWolfLargeDamageUp() {
|
|||
}
|
||||
|
||||
if (mDemo.getDemoMode() == 0x1B || mDemo.getDemoMode() == 9) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -6376,7 +6376,7 @@ int daAlink_c::procWolfLieMove() {
|
|||
}
|
||||
|
||||
if (mDemo.getDemoMode() == 0x2C) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
}
|
||||
|
||||
cM3dGPla sp70;
|
||||
|
|
@ -7872,7 +7872,7 @@ int daAlink_c::procWolfWaitAttack() {
|
|||
resetCombo(1);
|
||||
|
||||
if (mDemo.getDemoMode() == 0x2B) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else if (mProcVar0.field_0x3008 > 0) {
|
||||
if (!(frameCtrl_p->getFrame() > field_0x3478) || !checkNextActionWolf(1)) {
|
||||
mProcVar0.field_0x3008--;
|
||||
|
|
@ -8684,7 +8684,7 @@ int daAlink_c::procWolfGrabPut() {
|
|||
|
||||
if (checkAnmEnd(frameCtrl_p)) {
|
||||
if (mDemo.getDemoMode() == 13) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
} else {
|
||||
checkNextActionWolf(0);
|
||||
}
|
||||
|
|
@ -8694,7 +8694,7 @@ int daAlink_c::procWolfGrabPut() {
|
|||
} else {
|
||||
if (actor_p == NULL) {
|
||||
if (mDemo.getDemoMode() == 13) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
return 1;
|
||||
} else {
|
||||
return checkNextActionWolf(0);
|
||||
|
|
@ -9595,7 +9595,7 @@ int daAlink_c::procWolfGetSmell() {
|
|||
mDemo.setSystemDemoType();
|
||||
} else if (mDemo.getParam0() == 0) {
|
||||
dComIfGs_onEventBit(field_0x319c);
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
dComIfGp_evmng_cutEnd(mAlinkStaffId);
|
||||
|
||||
if (kytag3_p != NULL) {
|
||||
kytag3_p->field_0x588 = 0;
|
||||
|
|
|
|||
|
|
@ -1341,7 +1341,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
actor_status &= ~0x100;
|
||||
}
|
||||
if (mSecondEncounter) {
|
||||
player->mDemo.setDemoType(3);
|
||||
player->mDemo.setDemoType(daPy_demo_c::DEMO_TYPE_ORIGINAL_e);
|
||||
player->mDemo.setParam0(0);
|
||||
player->mDemo.setDemoMode(4);
|
||||
player->mDemo.setParam0(0);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -15,6 +15,9 @@
|
|||
#include "Z2AudioLib/Z2WolfHowlMgr.h"
|
||||
#include "c/c_dylink.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_logo.h"
|
||||
#include "d/d_s_menu.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "f_ap/f_ap_game.h"
|
||||
#include "m_Do/m_Do_MemCard.h"
|
||||
#include "m_Do/m_Do_Reset.h"
|
||||
|
|
@ -22,9 +25,12 @@
|
|||
#include "m_Do/m_Do_dvd_thread.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include <cstring.h>
|
||||
|
||||
/* 800056C0-80005728 000000 0068+00 1/1 0/0 0/0 .text version_check__Fv */
|
||||
void version_check() {
|
||||
#if !PLATFORM_SHIELD
|
||||
if (!strcmp("20Apr2004", "20Apr2004") && !strcmp("Patch2", "Patch2")) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -33,24 +39,12 @@ void version_check() {
|
|||
OSReport_Error("SDKのバージョンが一致しません。停止します\n");
|
||||
do {
|
||||
} while (true);
|
||||
}
|
||||
|
||||
/* 80005728-8000578C 000068 0064+00 1/1 0/0 0/0 .text CheckHeap1__9HeapCheckFv */
|
||||
void HeapCheck::CheckHeap1() {
|
||||
s32 totalUsedSize = mHeap->getTotalUsedSize();
|
||||
s32 freeSize = mHeap->getFreeSize();
|
||||
|
||||
if (mMaxTotalUsedSize < totalUsedSize)
|
||||
mMaxTotalUsedSize = totalUsedSize;
|
||||
|
||||
if (mMaxTotalFreeSize > freeSize)
|
||||
mMaxTotalFreeSize = freeSize;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 803A2EE0-803A2EF4 000000 0012+02 2/2 1/1 0/0 .data COPYDATE_STRING__7mDoMain */
|
||||
char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??";
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D32E0-803D3308 000000 0028+00 3/2 0/0 0/0 .bss RootHeapCheck */
|
||||
// static HeapCheck RootHeapCheck;
|
||||
static HeapCheck RootHeapCheck = HeapCheck(0,"Root","ルート");
|
||||
|
|
@ -89,21 +83,37 @@ static HeapCheck* HeapCheckTable[8] = {
|
|||
&ArchiveHeapCheck, &J2dHeapCheck, &HostioHeapCheck, &CommandHeapCheck,
|
||||
};
|
||||
|
||||
void printFrameLine() {
|
||||
OSCalendarTime calendar;
|
||||
OSTime time = OSGetTime();
|
||||
u32 retrace = VIGetRetraceCount();
|
||||
OSTicksToCalendarTime(time, &calendar);
|
||||
|
||||
OS_REPORT("\x1b[44m-- %5d - %5d - %3d %d %04d/%02d/%02d %02d:%02d:%02d\'%03d\'\'%03d\n\x1b[m",
|
||||
g_Counter.mCounter0, retrace,
|
||||
calendar.yday, calendar.wday, calendar.year, calendar.mon, calendar.mday,
|
||||
calendar.hour, calendar.min, calendar.sec, calendar.msec, calendar.usec);
|
||||
}
|
||||
|
||||
/* 80005728-8000578C 000068 0064+00 1/1 0/0 0/0 .text CheckHeap1__9HeapCheckFv */
|
||||
void HeapCheck::CheckHeap1() {
|
||||
s32 totalUsedSize = mHeap->getTotalUsedSize();
|
||||
s32 freeSize = mHeap->getFreeSize();
|
||||
|
||||
if (mMaxTotalUsedSize < totalUsedSize)
|
||||
mMaxTotalUsedSize = totalUsedSize;
|
||||
|
||||
if (mMaxTotalFreeSize > freeSize)
|
||||
mMaxTotalFreeSize = freeSize;
|
||||
}
|
||||
|
||||
/* 8000578C-80005848 0000CC 00BC+00 1/1 0/0 0/0 .text CheckHeap__FUl */
|
||||
void CheckHeap(u32 i_padNo) {
|
||||
mDoMch_HeapCheckAll();
|
||||
OSCheckActiveThreads();
|
||||
|
||||
bool comboCheck = false;
|
||||
int saveRel = (mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) && mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z;
|
||||
|
||||
// if L + R + Z is pressed
|
||||
if ((mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z) == (PAD_TRIGGER_L + PAD_TRIGGER_R) &&
|
||||
mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z)
|
||||
{
|
||||
comboCheck = true;
|
||||
}
|
||||
|
||||
int saveRel = comboCheck;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
HeapCheckTable[i]->CheckHeap1();
|
||||
if (saveRel) {
|
||||
|
|
@ -115,13 +125,13 @@ void CheckHeap(u32 i_padNo) {
|
|||
/* 80005848-800058A0 000188 0058+00 2/2 0/0 0/0 .text countUsed__FP10JKRExpHeap */
|
||||
static int countUsed(JKRExpHeap* heap) {
|
||||
OSDisableScheduler();
|
||||
int counter = 0;
|
||||
JKRExpHeap::CMemBlock* used_blocks_head = heap->getHeadUsedList();
|
||||
|
||||
int counter = 0;
|
||||
JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst();
|
||||
while (used_blocks_head) {
|
||||
used_blocks_head = used_blocks_head->getNextBlock();
|
||||
counter++;
|
||||
};
|
||||
used_blocks_head = used_blocks_head->getNextBlock();
|
||||
}
|
||||
|
||||
OSEnableScheduler();
|
||||
return counter;
|
||||
|
|
@ -134,8 +144,8 @@ s32 HeapCheck::getUsedCount() const {
|
|||
|
||||
/* 800058C4-80005AD8 000204 0214+00 1/1 0/0 0/0 .text heapDisplay__9HeapCheckCFv */
|
||||
void HeapCheck::heapDisplay() const {
|
||||
s32 heap_size = mHeap->getSize();
|
||||
s32 used_count = heap_size - mTargetHeapSize;
|
||||
s32 heap_size = mHeap->getHeapSize();
|
||||
s32 used_count = heap_size - getTargetHeapSize();
|
||||
|
||||
s32 total_used_size = mHeap->getTotalUsedSize();
|
||||
s32 total_free_size = mHeap->getTotalFreeSize();
|
||||
|
|
@ -143,39 +153,39 @@ void HeapCheck::heapDisplay() const {
|
|||
|
||||
JUTReport(100, 212, "[%sName]", mName);
|
||||
JUTReport(100, 227, "HeapSize %8ld", heap_size);
|
||||
JUTReport(100, 240, "TargetHeapSize %8ld", mTargetHeapSize);
|
||||
JUTReport(100, 240, "TargetHeapSize %8ld", getTargetHeapSize());
|
||||
JUTReport(100, 253, "TotalFree %8ld", total_free_size - used_count);
|
||||
JUTReport(100, 266, "FreeSize %8ld", heap_free_size - used_count);
|
||||
JUTReport(100, 279, "TotalUsedSize %8ld", total_used_size);
|
||||
JUTReport(100, 292, "TotalUsedRate %3ld%%",
|
||||
(int)(total_used_size * 0x64) / (int)mTargetHeapSize);
|
||||
JUTReport(100, 292, "TotalUsedRate %3ld%%", (int)(total_used_size * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 305, "MaxTotalUsedSize %8ld", mMaxTotalUsedSize);
|
||||
JUTReport(100, 318, "MaxTotalUsedRate %3ld%%",
|
||||
(mMaxTotalUsedSize * 0x64) / (int)mTargetHeapSize);
|
||||
JUTReport(100, 318, "MaxTotalUsedRate %3ld%%", (mMaxTotalUsedSize * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 331, "MinFreeSize %8ld", mMaxTotalFreeSize - used_count);
|
||||
JUTReport(100, 344, "MinFreeRate %3ld%%",
|
||||
((mMaxTotalFreeSize - used_count) * 0x64) / (int)mTargetHeapSize);
|
||||
used_count = countUsed(mHeap);
|
||||
JUTReport(100, 357, "UsedCount %3ld%", used_count);
|
||||
JUTReport(100, 344, "MinFreeRate %3ld%%", ((mMaxTotalFreeSize - used_count) * 100) / (int)getTargetHeapSize());
|
||||
JUTReport(100, 357, "UsedCount %3ld%", countUsed(mHeap));
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
int mDoMain::argument = -1;
|
||||
#endif
|
||||
|
||||
/* 80450580-80450584 000000 0004+00 3/3 6/6 0/0 .sdata None */
|
||||
#ifdef DEBUG
|
||||
s8 mDoMain::developmentMode = 1;
|
||||
#else
|
||||
s8 mDoMain::developmentMode = -1;
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 mDoMain::gameHeapSize = 0xFFFFFFFF;
|
||||
u32 mDoMain::archiveHeapSize = 0xFFFFFFFF;
|
||||
#endif
|
||||
|
||||
/* 80450584-80450588 000004 0004+00 0/0 1/1 0/0 .sdata memMargin__7mDoMain */
|
||||
u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 mDoMain::archiveHeapSize;
|
||||
u32 mDoMain::gameHeapSize;
|
||||
int mDoMain::e3menu_no = -1;
|
||||
#endif
|
||||
|
||||
/* 80450588-80450590 000008 0008+00 2/2 0/0 0/0 .sdata None */
|
||||
u8 mDoMain::mHeapBriefType = 4;
|
||||
u8 mHeapBriefType = 4;
|
||||
|
||||
/* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 fillcheck_check_frame;
|
||||
|
|
@ -188,7 +198,7 @@ OSTime mDoMain::sHungUpTime;
|
|||
|
||||
/* 80450B18-80450B1C -00001 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
/* 80450B18 0001+00 data_80450B18 None */
|
||||
static bool mDisplayHeapSize;
|
||||
static u8 mDisplayHeapSize;
|
||||
|
||||
/* 80450B19 0001+00 data_80450B19 None */
|
||||
static u8 mSelectHeapBar;
|
||||
|
|
@ -210,18 +220,21 @@ void debugDisplay() {
|
|||
HeapCheckTable[mSelectHeapBar - 1]->heapDisplay();
|
||||
}
|
||||
|
||||
if (mDoMain::mHeapBriefType == 5) {
|
||||
if (mHeapBriefType == 5) {
|
||||
JKRAramHeap* heap = JKRAram::getAramHeap();
|
||||
if (heap) {
|
||||
if (heap != NULL) {
|
||||
JUTReport(475, 100, "ARAM Free");
|
||||
JUTReport(475, 114, "%d", heap->getFreeSize());
|
||||
JUTReport(475, 128, "TotalFree");
|
||||
JUTReport(475, 142, "%d", heap->getTotalFreeSize());
|
||||
return;
|
||||
}
|
||||
} else if (mDoMain::mHeapBriefType != 0) {
|
||||
JUTReport(475, 100, "%s", desc1[mDoMain::mHeapBriefType]);
|
||||
JUTReport(475, 114, "%s", desc2[mDoMain::mHeapBriefType]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mHeapBriefType != 0) {
|
||||
JUT_ASSERT(596, mHeapBriefType < HeapCheckTableNum);
|
||||
JUTReport(475, 100, "%s", desc1[mHeapBriefType]);
|
||||
JUTReport(475, 114, "%s", desc2[mHeapBriefType]);
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
HeapCheck* heap_check = HeapCheckTable[i];
|
||||
|
|
@ -229,7 +242,7 @@ void debugDisplay() {
|
|||
|
||||
s32 check1;
|
||||
s32 check2;
|
||||
switch (mDoMain::mHeapBriefType) {
|
||||
switch (mHeapBriefType) {
|
||||
case 1:
|
||||
check1 = expHeap->getTotalFreeSize();
|
||||
check2 = expHeap->getFreeSize();
|
||||
|
|
@ -255,47 +268,31 @@ void debugDisplay() {
|
|||
}
|
||||
}
|
||||
|
||||
void my_genCheckBox(JORMContext* mctx, const char* label, u8* pSrc, u8 mask) {
|
||||
mctx->genCheckBox(label, pSrc, mask, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
}
|
||||
|
||||
/* 80005D4C-8000614C 00068C 0400+00 1/1 0/0 0/0 .text Debug_console__FUl */
|
||||
bool Debug_console(u32 i_padNo) {
|
||||
static f32 console_position_x;
|
||||
static s8 console_x_init;
|
||||
|
||||
static f32 console_position_y;
|
||||
static s8 console_y_init;
|
||||
|
||||
static f32 console_scroll;
|
||||
static s8 console_scroll_init;
|
||||
|
||||
JUTConsole* console = JFWSystem::getSystemConsole();
|
||||
if (console) {
|
||||
if (!console_x_init) {
|
||||
console_position_x = 20.0f;
|
||||
console_x_init = 1;
|
||||
}
|
||||
if (!console_y_init) {
|
||||
console_position_y = 30.0f;
|
||||
console_y_init = 1;
|
||||
}
|
||||
if (!console_scroll_init) {
|
||||
console_scroll = 0.0f;
|
||||
console_scroll_init = 1;
|
||||
}
|
||||
if (console != NULL) {
|
||||
static f32 console_position_x = 20.0f;
|
||||
static f32 console_position_y = 30.0f;
|
||||
static f32 console_scroll = 0.0f;
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z && !(mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z))
|
||||
{
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_TRIGGER_Z && !(mDoCPd_c::getHold(i_padNo) & ~PAD_TRIGGER_Z)) {
|
||||
console->setVisible(console->isVisible() == false);
|
||||
JUTAssertion::setMessageCount(0);
|
||||
}
|
||||
|
||||
if (console->isVisible()) {
|
||||
u32 holdButtons = mDoCPd_c::getHold(i_padNo);
|
||||
if ((holdButtons & PAD_TRIGGER_L && holdButtons & PAD_TRIGGER_R) ||
|
||||
if ((mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_L && mDoCPd_c::getHold(i_padNo) & PAD_TRIGGER_R) ||
|
||||
((mDoCPd_c::getAnalogL(i_padNo) > 0.0f && mDoCPd_c::getAnalogR(i_padNo) > 0.0f)))
|
||||
{
|
||||
f32 stick_x = mDoCPd_c::getStickX(i_padNo);
|
||||
f32 stick_y = mDoCPd_c::getStickY(i_padNo);
|
||||
|
||||
if (holdButtons & (PAD_BUTTON_Y | PAD_BUTTON_X) &&
|
||||
if (mDoCPd_c::getHold(i_padNo) & (PAD_BUTTON_Y | PAD_BUTTON_X) &&
|
||||
mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_START)
|
||||
{
|
||||
console->clear();
|
||||
|
|
@ -338,24 +335,22 @@ bool Debug_console(u32 i_padNo) {
|
|||
JUTReport(30, 420, 1, "SCROLL:%3d %3d %3d Output=%1x", console->getLineOffset(),
|
||||
console->getPositionX(), console->getPositionY(), console->getOutput());
|
||||
} else {
|
||||
u32 pressButtons = mDoCPd_c::getTrig(i_padNo);
|
||||
|
||||
if (pressButtons & PAD_BUTTON_DOWN) {
|
||||
g_HIO.mDisplayMeter ^= 1;
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_DOWN) {
|
||||
g_HIO.mDisplayMeter ^= (u8)1;
|
||||
}
|
||||
|
||||
if (pressButtons & PAD_BUTTON_LEFT) {
|
||||
if (JKRAram::getAramHeap()) {
|
||||
JKRAram::getAramHeap()->dump();
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_LEFT) {
|
||||
JKRAramHeap* aram = JKRAram::getAramHeap();
|
||||
if (aram != NULL) {
|
||||
aram->dump();
|
||||
}
|
||||
|
||||
// dump__24DynamicModuleControlBaseFv();
|
||||
DynamicModuleControlBase::dump();
|
||||
g_dComIfG_gameInfo.mResControl.dump();
|
||||
}
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_RIGHT) {
|
||||
JKRHeap::getSystemHeap()->dump_sort();
|
||||
JKRGetSystemHeap()->dump_sort();
|
||||
}
|
||||
|
||||
if (mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_UP) {
|
||||
|
|
@ -363,29 +358,38 @@ bool Debug_console(u32 i_padNo) {
|
|||
gameHeap->dump_sort();
|
||||
archiveHeap->dump_sort();
|
||||
}
|
||||
|
||||
JUTReport(30, 440, 1, "Press L+R trigger to control console.");
|
||||
JUTReport(30, 450, 1, "Press [Z] trigger to close this window.");
|
||||
}
|
||||
|
||||
console->setPosition(console_position_x, console_position_y);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if PLATFORM_GCN
|
||||
#define COPYDATE_PATH "/str/Final/Release/COPYDATE"
|
||||
#else
|
||||
#define COPYDATE_PATH "/str/RVL/Debug/COPYDATE"
|
||||
#endif
|
||||
|
||||
/* 8000614C-800061C8 000A8C 007C+00 1/1 0/0 0/0 .text LOAD_COPYDATE__FPv */
|
||||
s32 LOAD_COPYDATE(void*) {
|
||||
s32 status;
|
||||
|
||||
DVDFileInfo __attribute__((aligned(0x20))) fileInfo;
|
||||
u8 buffer[0x20];
|
||||
status = DVDOpen("/str/Final/Release/COPYDATE", &fileInfo);
|
||||
DVDFileInfo ALIGN_DECL(32) fileInfo;
|
||||
u8 buffer[32];
|
||||
|
||||
BOOL status = DVDOpen(COPYDATE_PATH, &fileInfo);
|
||||
if (status) {
|
||||
DVDReadPrio(&fileInfo, &buffer, 32, 0, 2);
|
||||
memcpy(mDoMain::COPYDATE_STRING, buffer, 17);
|
||||
s32 rt = DVDReadPrio(&fileInfo, &buffer, sizeof(buffer), 0, 2);
|
||||
memcpy(mDoMain::COPYDATE_STRING, buffer, sizeof(mDoMain::COPYDATE_STRING) - 1);
|
||||
status = DVDClose(&fileInfo);
|
||||
}
|
||||
|
||||
OS_REPORT("\x1b[36mCOPYDATE=[%s]\n\x1b[m", mDoMain::COPYDATE_STRING);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -399,15 +403,14 @@ static void debug() {
|
|||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~PAD_TRIGGER_Z) == PAD_TRIGGER_R &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(PAD_TRIGGER_Z))
|
||||
{
|
||||
mDisplayHeapSize ^= 1;
|
||||
mDisplayHeapSize ^= (u8)1;
|
||||
}
|
||||
|
||||
if (mDisplayHeapSize) {
|
||||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~PAD_TRIGGER_Z) == PAD_TRIGGER_L &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(PAD_TRIGGER_Z))
|
||||
{
|
||||
mDoMain::mHeapBriefType < 5 ? mDoMain::mHeapBriefType++ :
|
||||
mDoMain::mHeapBriefType = 1;
|
||||
mHeapBriefType < 5 ? mHeapBriefType++ : mHeapBriefType = 1;
|
||||
}
|
||||
|
||||
debugDisplay();
|
||||
|
|
@ -500,7 +503,91 @@ void main01(void) {
|
|||
} while (true);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
#if DEBUG
|
||||
// NONMATCHING
|
||||
void parse_args(int argc, const char* argv[]) {
|
||||
int i;
|
||||
|
||||
OS_REPORT("argc = %d\n", argc);
|
||||
for (i = 0; i < argc; i++) {
|
||||
OS_REPORT("argv[%d] = %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], "--noopening") == 0) {
|
||||
dScnLogo_c::onOpeningCut();
|
||||
} else if (strcmp(argv[i], "--nobank") == 0) {
|
||||
dStage_roomControl_c::onNoArcBank();
|
||||
OS_REPORT("\x1b[33mアーカイブバンクを無効にしました\n\x1b[m");
|
||||
} else if (strcmp(argv[i], "--particle254") == 0) {
|
||||
// data_8074c494 = 1;
|
||||
OSReport_Warning("パーティクル254固定にしました\n");
|
||||
} else if (strncmp(argv[i], "--menu=", sizeof("--menu=") - 1) == 0) {
|
||||
char* var_r27 = strchr(argv[i] + 7, ',');
|
||||
if (var_r27 != NULL) {
|
||||
*var_r27 = 0;
|
||||
var_r27++;
|
||||
|
||||
char* var_r26 = std::strchr(var_r27, ',');
|
||||
if (var_r26 != NULL) {
|
||||
*var_r26 = 0;
|
||||
var_r26++;
|
||||
|
||||
char* spC = std::strchr(var_r26, ',');
|
||||
if (spC != NULL) {
|
||||
*spC = 0;
|
||||
spC++;
|
||||
sscanf(spC, "%d", dScnMenu_c::cursolPoint);
|
||||
dScnMenu_c::m_error_flags |= (u8)8;
|
||||
}
|
||||
|
||||
sscanf(var_r26, "%d", dScnMenu_c::cursolLayer);
|
||||
dScnMenu_c::m_error_flags |= (u8)4;
|
||||
}
|
||||
|
||||
sscanf(var_r27, "%d", dScnMenu_c::cursolRoomNo);
|
||||
dScnMenu_c::m_error_flags |= (u8)2;
|
||||
}
|
||||
|
||||
strcpy(dScnMenu_c::cursolStageName, argv[i] + 7);
|
||||
dScnMenu_c::m_error_flags |= (u8)1;
|
||||
|
||||
OS_REPORT("\n\n\ndScnMenu_c::cursolLayer=[%x]", dScnMenu_c::cursolLayer);
|
||||
OS_REPORT("\ndScnMenu_c::cursolRoomNo=[%x]", dScnMenu_c::cursolRoomNo);
|
||||
OS_REPORT("\ndScnMenu_c::cursolStageName=[%s]\n\n", dScnMenu_c::cursolStageName);
|
||||
} else if (strncmp(argv[i], "--situation=", sizeof("--situation=") - 1) == 0) {
|
||||
for (int j = 0; j < 100; j++) {
|
||||
if (argv[i][12 + j] <= ' ') {
|
||||
break;
|
||||
}
|
||||
|
||||
g_presetHIO.filename_buf[j] = argv[i][12 + j];
|
||||
}
|
||||
|
||||
OS_REPORT("\n11 g_presetHIO.filename_buf[0]=[%-100.100s]", g_presetHIO.filename_buf);
|
||||
} else if (strcmp(argv[i], "--noprint") == 0) {
|
||||
OSReportDisable();
|
||||
} else if (strcmp(argv[i], "--develop") == 0) {
|
||||
mDoMain::developmentMode = 1;
|
||||
} else if (strcmp(argv[i], "--nodevelop") == 0) {
|
||||
mDoMain::developmentMode = 0;
|
||||
} else if (strncmp(argv[i], "--e3argument=", sizeof("--e3argument=") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--e3argument=") - 1, "%d", &mDoMain::argument);
|
||||
} else if (strncmp(argv[i], "--gameheapsize=0x", sizeof("--gameheapsize=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--gameheapsize=0x") - 1, "%x", &mDoMain::gameHeapSize);
|
||||
} else if (strncmp(argv[i], "--archiveheapsize=0x", sizeof("--archiveheapsize=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--archiveheapsize=0x") - 1, "%x", &mDoMain::archiveHeapSize);
|
||||
} else if (strncmp(argv[i], "--memmargin=0x", sizeof("--memmargin=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--memmargin=0x") - 1, "%x", &mDoMain::memMargin);
|
||||
} else if (strncmp(argv[i], "--e3menu=0x", sizeof("--e3menu=0x") - 1) == 0) {
|
||||
sscanf(argv[i] + sizeof("--e3menu=0x") - 1, "%x", &mDoMain::e3menu_no);
|
||||
} else {
|
||||
OSReport_Error("unknown argument %d, %s\n", i, argv[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 803D3420-803DB420 000140 8000+00 1/1 0/0 0/0 .bss mainThreadStack */
|
||||
static u8 mainThreadStack[32768];
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue