This commit is contained in:
TakaRikka 2021-11-10 23:54:31 -08:00
parent 74ed2da8bc
commit 70eabb12bd
47 changed files with 3777 additions and 3726 deletions

View File

@ -299,6 +299,8 @@ public:
virtual ~J3DFrameCtrl() {}
f32 getRate() const { return mRate; }
f32 getFrame() const { return mFrame; }
u8 getAttribute() const { return mAttribute; }
void setAttribute(u8 attr) { mAttribute = attr; }
void setEnd(s16 end) { mEnd = end; }
void setRate(f32 rate) { mRate = rate; }

View File

@ -124,6 +124,8 @@ public:
/* 800A4820 */ virtual ~J3DMaterialAnm();
/* 8032C3C4 */ virtual void calc(J3DMaterial*) const;
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
private:
/* 0x04 */ J3DMatColorAnm mMatColorAnm[2];
/* 0x14 */ J3DTexMtxAnm mTexMtxAnm[8];

View File

@ -34,7 +34,7 @@ public:
/* 803281B4 */ void calcBumpMtx();
/* 803282B8 */ void calcBBoardMtx();
/* 803282EC */ void prepareShapePackets();
Mtx* getAnmMtx(int);
MtxP getAnmMtx(int);
/* 80327CA4 */ virtual void update();
/* 80327E4C */ virtual void entry();
@ -48,6 +48,7 @@ public:
void onFlag(u32 flag) { mFlags |= flag; }
void offFlag(u32 flag) { mFlags &= ~flag; }
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
Mtx& getBaseTRMtx() { return mBaseTransformMtx; }
// is there a better way to handle inlines with same name as non-inlines?
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }

View File

@ -49,6 +49,7 @@ public:
J3DColorBlock* getColorBlock() const { return mColorBlock; }
J3DTexGenBlock* getTexGenBlock() const { return mTexGenBlock; }
J3DDisplayListObj* getSharedDisplayListObj() const { return mSharedDLObj; }
J3DShape* getShape() { return mShape; }
J3DMaterialAnm* getMaterialAnm() const {
if ((u32)mMaterialAnm < 0xC0000000) {
return mMaterialAnm;

View File

@ -48,6 +48,8 @@ public:
void setVertexDataPointer(J3DVertexData* pVtxData) { mVertexData = pVtxData; }
void* getVcdVatCmd() const { return mVcdVatCmd; }
void setVcdVatCmd(void* pVatCmd) { mVcdVatCmd = pVatCmd; }
void show() { offFlag(1); }
void hide() { onFlag(1); }
static void resetVcdVatCache() { sOldVcdVatCmd = NULL; }

View File

@ -10,6 +10,14 @@ inline f32 JMAFastReciprocal(f32 value) {
return __fres(value);
}
inline f32 JMAFastSqrt(f32 input) {
if (input > 0.0f) {
f64 tmp = __frsqrte(input);
return tmp * input;
}
return input;
}
namespace JMath {
inline f32 fastReciprocal(f32 value) {

View File

@ -273,6 +273,7 @@ public:
u8 GetWeightUc() const { return mWeight; }
void SetWeight(u8 weight) { mWeight = weight; }
fopAc_ac_c* GetAc() { return mActor; }
void SetActor(void* ac) { mActor = (fopAc_ac_c*)ac; }
}; // Size = 0x1C
STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
@ -281,8 +282,8 @@ class cCcD_Obj; // placeholder
class cCcD_ObjCommonBase {
protected:
/* 0x00 */ int mSPrm;
/* 0x04 */ int mRPrm;
/* 0x00 */ u32 mSPrm;
/* 0x04 */ u32 mRPrm;
/* 0x08 */ cCcD_Obj* mHitObj;
/* 0x0C vtable */
public:
@ -295,6 +296,8 @@ public:
s32 getRPrm() const { return mRPrm; }
cCcD_Obj* getHitObj() { return mHitObj; }
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
};
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
@ -311,6 +314,8 @@ public:
bool ChkSet() const { return MskSPrm(1); }
u8 GetAtp() const { return mAtp; }
u32 MskType(u32 msk) const { return mType & msk; }
void SetType(u32 type) { mType = type; }
void SetAtp(int atp) { mAtp = atp; }
protected:
/* 0x10 */ int mType;
@ -388,6 +393,11 @@ public:
bool ChkAtType(u32 type) const { return mObjAt.MskType(type); }
u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
void OnAtSPrmBit(u32 flag) { mObjAt.OnSPrmBit(flag); }
void OffAtSPrmBit(u32 flag) { mObjAt.OffSPrmBit(flag); }
void SetAtType(u32 type) { mObjAt.SetType(type); }
void OnAtSetBit() { mObjAt.OnSPrmBit(1); }
void SetAtAtp(int atp) { mObjAt.SetAtp(atp); }
}; // Size = 0x40

View File

@ -42,6 +42,18 @@ inline u8 cLib_checkBit(u8& pVar, u8 pBit) {
return pVar & pBit;
}
template<typename T>
inline T cLib_minMaxLimit(T param_0, T min, T max) {
if (param_0 < min) {
return max;
}
min = param_0;
if (min > max) {
min = max;
}
return min;
}
void MtxInit(void);
void MtxTrans(float, float, float, unsigned char);
void MtxScale(float, float, float, unsigned char);

View File

@ -2,6 +2,7 @@
#define C_XYZ_H
#include "dolphin/mtx/vec.h"
#include "msl_c/math.h"
#include "global.h"
struct cXyz : Vec {
@ -116,6 +117,10 @@ struct cXyz : Vec {
cXyz tmp2(other.x, 0, other.z);
return tmp.abs2(tmp2);
}
f32 absXZ(const Vec& other) const {
f32 abs = abs2XZ(other);
return sqrtf(abs);
}
f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); }
};

File diff suppressed because it is too large Load Diff

View File

@ -27,11 +27,18 @@ private:
/* 0x48 */ ResTIMG* field_0x48;
};
struct daPy_boomerangMove_c {
class daPy_boomerangMove_c {
public:
/* 8015E5B0 */ void initOffset(cXyz const*);
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
};
private:
/* 0x0 */ u8 field_0x0;
/* 0x2 */ u16 field_0x2;
/* 0x4 */ f32 field_0x4;
/* 0x8 */ f32 field_0x8;
}; // Size: 0xC
class daPy_anmHeap_c {
public:
@ -66,14 +73,15 @@ private:
class daPy_actorKeep_c {
public:
daPy_actorKeep_c(void);
void setActor(void);
daPy_actorKeep_c();
void setActor();
void setData(fopAc_ac_c*);
void clearData(void);
void clearData();
u32 getID(void) const { return mID; }
u32 getID() const { return mID; }
void setID(u32 id) { mID = id; }
fopAc_ac_c* getActor(void) const { return mActor; }
fopAc_ac_c* getActor() const { return mActor; }
fopAc_ac_c* getActorConst() const { return mActor; }
private:
u32 mID;
@ -84,8 +92,8 @@ class daPy_frameCtrl_c : public J3DFrameCtrl {
public:
/* 80140D24 */ ~daPy_frameCtrl_c();
/* 80140D80 */ daPy_frameCtrl_c();
bool checkAnmEnd(void);
void updateFrame(void);
bool checkAnmEnd();
void updateFrame();
void setFrameCtrl(u8, short, short, float, float);
u16 getEndFlg() { return mEndFlg; }
@ -103,12 +111,17 @@ private:
/* 0x16 */ u16 mNowSetFlg;
};
class Z2WolfHowlMgr;
class daBoomerang_c;
class daPy_demo_c {
public:
void setSpecialDemoType();
void setDemoType(u16 pType) { mDemoType = pType; }
u16 getDemoType() const { return mDemoType; }
void setDemoMode(u32 mode) { mDemoMode = mode; }
u32 getDemoMode() const { return mDemoMode; }
private:
/* 0x00 */ u16 mDemoType;
@ -117,24 +130,32 @@ private:
/* 0x06 */ s16 mParam2;
/* 0x08 */ int mParam0;
/* 0x0C */ int mParam1;
/* 0x10 */ int mDemoMode;
/* 0x10 */ u32 mDemoMode;
/* 0x14 */ float mStick;
/* 0x18 */ cXyz mDemoPos0;
}; // Size = 0x24
}; // Size: 0x24
class daPy_py_c : public fopAc_ac_c {
public:
/* 0x0568 */ u8 field_0x568[8];
/* 0x0570 */ int mNoResetFlg0;
/* 0x0574 */ int mNoResetFlg1;
/* 0x0578 */ int mNoResetFlg2;
/* 0x057C */ int mNoResetFlg3;
/* 0x0580 */ int mResetFlg0;
/* 0x0584 */ int mResetFlg1;
/* 0x0588 */ int mEndResetFlg0;
/* 0x058C */ int mEndResetFlg1;
/* 0x0590 */ int mEndResetFlg2;
/* 0x0594 */ u8 field_0x594[0x10];
/* 0x0568 */ u8 mCutType;
/* 0x0569 */ u8 mComboCutCount;
/* 0x056A */ u8 mSpecialMode; // maybe needs better name
/* 0x056B */ u8 field_0x56b;
/* 0x056C */ s16 mDamageTimer;
/* 0x056E */ u8 field_0x56e[2];
/* 0x0570 */ u32 mNoResetFlg0;
/* 0x0574 */ u32 mNoResetFlg1;
/* 0x0578 */ u32 mNoResetFlg2;
/* 0x057C */ u32 mNoResetFlg3;
/* 0x0580 */ u32 mResetFlg0;
/* 0x0584 */ u32 mResetFlg1;
/* 0x0588 */ u32 mEndResetFlg0;
/* 0x058C */ u32 mEndResetFlg1;
/* 0x0590 */ u32 mEndResetFlg2;
/* 0x0594 */ f32 field_0x594;
/* 0x0598 */ u8 field_0x598[0x4];
/* 0x059C */ s16 mLookAngleY;
/* 0x059E */ u8 field_0x59e[0x6];
/* 0x05A4 */ cXyz mHeadTopPos;
/* 0x05B0 */ cXyz mItemPos;
/* 0x05BC */ cXyz mSwordTopPos;
@ -147,23 +168,67 @@ public:
public:
enum daPy_FLG0 {
EquipHeavyBoots = 0x2000000,
MagneBootsOn = 0x1000,
UnkFrollCrashFlg2 = 0x10,
UnkFrollCrashFlg1 = 0x8
EQUIP_HEAVY_BOOTS = 0x2000000,
FLG0_UNK_8000000 = 0x8000000,
FLG0_UNK_1000000 = 0x1000000,
UNDER_WATER_MOVEMENT = 0x800000,
FLG0_UNK_80000 = 0x80000,
FLG0_UNK_8000 = 0x8000,
MAGNE_BOOTS_ON = 0x1000,
FLG0_UNK_40 = 0x40,
UNK_F_ROLL_CRASH_2 = 0x10,
UNK_F_ROLL_CRASH_1 = 0x8
};
enum daPy_FLG1 { Wolf = 0x2000000, ThrowDamage = 0x4000 };
enum daPy_FLG2 { BoarSingleBattle = 0x1800000, UnkArmor = 0x80000, Unk = 1 };
enum daPy_FLG3 { CopyRodThrowAfter = 0x40000 };
enum daPy_ERFLG0 {};
enum daPy_ERFLG1 { GanonFinish = 0x80000000, UnkForcePutPos = 0x2000 };
enum daPy_FLG1 { IS_WOLF = 0x2000000, THROW_DAMAGE = 0x4000 };
enum daPy_FLG2 { FLG2_UNK_4080000 = 0x4080000, FLG2_UNK_2080000 = 0x2080000, BOAR_SINGLE_BATTLE = 0x1800000, STATUS_WINDOW_DRAW = 0x400000, UNK_ARMOR = 0x80000, UNK_FLG2_2 = 2, UNK_DAPY_FLG2_1 = 1 };
enum daPy_FLG3 { FLG3_UNK_100000 = 0x100000, COPY_ROD_THROW_AFTER = 0x40000 };
enum daPy_ERFLG0 { ERFLG0_UNK_8000000 = 0x8000000, ERFLG0_UNK_1000000 = 0x1000000, ERFLG0_UNK_100000 = 0x100000, };
enum daPy_ERFLG1 { GANON_FINISH = 0x80000000, UNK_FORCE_PUT_POS = 0x2000 };
enum daPy_ERFLG2 {};
enum daPy_RFLG0 {};
enum daPy_RFLG0 {
RFLG0_UNK_8000000 = 0x8000000,
RFLG0_UNK_80 = 0x80,
RFLG0_UNK_40 = 0x40,
RFLG0_UNK_2 = 0x2,
};
enum {
/* 0x01 */ SMODE_SUMO_READY = 1,
/* 0x25 */ SMODE_SUMO_LOSE = 37,
/* 0x2A */ SMODE_GOAT_STOP = 42,
/* 0x2B */ SMODE_GORON_THROW,
/* 0x2C */ SMODE_CARGO_CARRY,
};
enum CutType {
/* 0x01 */ TYPE_CUT_VERTICAL = 1,
/* 0x02 */ TYPE_CUT_STAB,
/* 0x03 */ TYPE_CUT_SWEEP,
/* 0x04 */ TYPE_CUT_HORIZONTAL,
/* 0x05 */ TYPE_CUT_HEAD, // Helm Splitter
/* 0x06 */ TYPE_CUT_LEFT_SWEEP_FINISH,
/* 0x07 */ TYPE_CUT_DOWN_FINISH,
/* 0x08 */ TYPE_CUT_TURN_RIGHT,
/* 0x0A */ TYPE_CUT_JUMP = 10,
/* 0x10 */ TYPE_CUT_AIR = 0x10,
/* 0x12 */ TYPE_CUT_LARGE_JUMP_INIT = 0x12,
/* 0x13 */ TYPE_CUT_LARGE_JUMP,
/* 0x14 */ TYPE_CUT_LARGE_JUMP_FINISH,
/* 0x15 */ TYPE_CUT_RIGHT_SWEEP_FINISH,
/* 0x16 */ TYPE_CUT_TURN_LEFT,
/* 0x17 */ TYPE_CUT_LARGE_TURN_LEFT,
/* 0x18 */ TYPE_CUT_LARGE_TURN_RIGHT,
/* 0x1A */ TYPE_CUT_FAST_MOVE = 0x1A,
/* 0x1E */ TYPE_CUT_TWIRL = 0x1E, // Back Slice
/* 0x1F */ TYPE_CUT_FAST,
/* 0x20 */ TYPE_CUT_STAB_FINISH,
/* 0x21 */ TYPE_CUT_STAB_COMBO,
};
void setParamData(int, int, int, int);
int checkFishingRodItem(int);
void checkBombItem(int);
void checkBottleItem(int);
static BOOL checkBombItem(int);
static BOOL checkBottleItem(int);
void checkDrinkBottleItem(int);
static BOOL checkOilBottleItem(int);
static BOOL checkOpenBottleItem(int);
@ -171,7 +236,7 @@ public:
static BOOL checkHookshotItem(int);
static BOOL checkTradeItem(int);
static BOOL checkDungeonWarpItem(int);
BOOL checkMasterSwordEquip();
static BOOL checkMasterSwordEquip();
void checkWoodShieldEquip();
f32 getAttentionOffsetY();
s16 checkNowWolfEyeUp();
@ -183,105 +248,104 @@ public:
void linkGrabSubjectNoDraw(fopAc_ac_c*);
void wolfGrabSubjectNoDraw(fopAc_ac_c*);
void checkRoomRestartStart();
void checkCarryStartLightBallA();
void checkCarryStartLightBallB();
static u32 checkCarryStartLightBallA();
static u32 checkCarryStartLightBallB();
float getSpinnerRideSpeed() const;
void checkSpinnerReflectEffect();
void checkBoomerangCharge();
bool checkBoomerangChargeTime();
void getThrowBoomerangActor();
static daBoomerang_c* getThrowBoomerangActor();
void cancelBoomerangLockActor(fopAc_ac_c*);
void setPlayerDamage(int, int);
void setMidnaMotionNum(int);
void setMidnaFaceNum(int);
int checkNoResetFlg0(daPy_FLG0) const;
int checkEquipHeavyBoots() const;
int checkBoarSingleBattle(void) const;
int checkBoarSingleBattle() const;
int checkEndResetFlg0(daPy_ERFLG0) const;
void onNoResetFlg2(daPy_py_c::daPy_FLG2);
void offNoResetFlg0(daPy_py_c::daPy_FLG0);
int checkEndResetFlg2(daPy_py_c::daPy_ERFLG2) const;
bool getSumouMode() const;
int checkNoResetFlg3(daPy_py_c::daPy_FLG3) const;
void checkShieldGet();
BOOL checkShieldGet();
void onNoResetFlg0(daPy_py_c::daPy_FLG0);
int checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const;
void offNoResetFlg1(daPy_py_c::daPy_FLG1);
void offNoResetFlg2(daPy_py_c::daPy_FLG2);
int checkWolf() const;
void checkSwordGet();
BOOL checkSwordGet();
int checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
int checkMagneBootsOn() const;
virtual void unk();
virtual bool getMidnaAtnPos(void) const;
virtual cXyz* getMidnaAtnPos() const;
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
virtual Mtx* getModelMtx(void);
virtual Mtx* getInvMtx(void);
virtual cXyz* getShadowTalkAtnPos(void);
virtual float getGroundY();
virtual Mtx* getLeftItemMatrix(void);
virtual Mtx* getRightItemMatrix(void);
virtual Mtx* getLeftHandMatrix(void);
virtual Mtx* getRightHandMatrix(void);
virtual Mtx* getLinkBackBone1Matrix(void);
virtual Mtx* getWolfMouthMatrix(void);
virtual Mtx* getWolfBackbone2Matrix(void);
virtual bool getBottleMtx(void);
virtual bool checkPlayerGuard(void) const;
virtual bool checkPlayerFly() const;
virtual bool checkFrontRoll() const;
virtual bool checkWolfDash() const;
virtual bool checkAutoJump(void) const;
virtual bool checkSideStep(void) const;
virtual bool checkWolfTriggerJump(void) const;
virtual bool checkGuardBreakMode(void) const;
virtual bool checkLv3Slide(void) const;
virtual bool checkWolfHowlDemoMode(void) const;
virtual bool checkChainBlockPushPull(void);
virtual bool checkElecDamage(void) const;
virtual bool checkEmptyBottleSwing(void) const;
virtual bool checkBottleSwingMode(void) const;
virtual bool checkHawkWait(void) const;
virtual bool checkGoatThrow(void) const;
virtual bool checkGoatThrowAfter(void) const;
virtual bool checkWolfTagLockJump(void) const;
virtual bool checkWolfTagLockJumpLand(void) const;
virtual bool checkWolfRope(void);
virtual bool checkWolfRopeHang(void) const;
virtual bool checkRollJump(void) const;
virtual bool checkGoronRideWait(void) const;
virtual bool checkWolfChain(void) const;
virtual bool checkWolfWait(void) const;
virtual bool checkWolfJumpAttack(void) const;
virtual bool checkWolfRSit(void) const;
virtual bool checkBubbleFly(void) const;
virtual bool checkBottleDrinkEnd(void) const;
virtual bool checkWolfDig(void) const;
virtual bool checkCutCharge(void) const;
virtual bool checkCutTurnCharge(void) const;
virtual bool checkCutLargeJumpCharge(void) const;
virtual MtxP getModelMtx();
virtual MtxP getInvMtx();
virtual cXyz* getShadowTalkAtnPos();
virtual f32 getGroundY();
virtual MtxP getLeftItemMatrix();
virtual MtxP getRightItemMatrix();
virtual MtxP getLeftHandMatrix();
virtual MtxP getRightHandMatrix();
virtual MtxP getLinkBackBone1Matrix();
virtual MtxP getWolfMouthMatrix();
virtual MtxP getWolfBackbone2Matrix();
virtual MtxP getBottleMtx();
virtual BOOL checkPlayerGuard() const;
virtual u32 checkPlayerFly() const;
virtual BOOL checkFrontRoll() const;
virtual BOOL checkWolfDash() const;
virtual BOOL checkAutoJump() const;
virtual bool checkSideStep() const;
virtual bool checkWolfTriggerJump() const;
virtual BOOL checkGuardBreakMode() const;
virtual bool checkLv3Slide() const;
virtual bool checkWolfHowlDemoMode() const;
virtual bool checkChainBlockPushPull();
virtual BOOL checkElecDamage() const;
virtual BOOL checkEmptyBottleSwing() const;
virtual BOOL checkBottleSwingMode() const;
virtual BOOL checkHawkWait() const;
virtual BOOL checkGoatThrow() const;
virtual BOOL checkGoatThrowAfter() const;
virtual BOOL checkWolfTagLockJump() const;
virtual BOOL checkWolfTagLockJumpLand() const;
virtual bool checkWolfRope();
virtual BOOL checkWolfRopeHang() const;
virtual BOOL checkRollJump() const;
virtual BOOL checkGoronRideWait() const;
virtual BOOL checkWolfChain() const;
virtual BOOL checkWolfWait() const;
virtual BOOL checkWolfJumpAttack() const;
virtual BOOL checkWolfRSit() const;
virtual bool checkBubbleFly() const;
virtual BOOL checkBottleDrinkEnd() const;
virtual BOOL checkWolfDig() const;
virtual BOOL checkCutCharge() const;
virtual BOOL checkCutTurnCharge() const;
virtual BOOL checkCutLargeJumpCharge() const;
virtual bool getBokoFlamePos(cXyz*);
virtual bool checkComboCutTurn(void) const;
virtual bool checkClimbMove(void) const;
virtual bool checkGrassWhistle(void) const;
virtual bool checkBoarRun(void) const;
virtual bool checkFmChainPut(void) const;
virtual bool checkHorseElecDamage(void) const;
virtual float getBaseAnimeFrameRate(void) const;
virtual float getBaseAnimeFrame(void) const;
virtual BOOL checkComboCutTurn() const;
virtual BOOL checkClimbMove() const;
virtual BOOL checkGrassWhistle() const;
virtual BOOL checkBoarRun() const;
virtual bool checkFmChainPut() const;
virtual bool checkHorseElecDamage() const;
virtual float getBaseAnimeFrameRate() const;
virtual float getBaseAnimeFrame() const;
virtual void setAnimeFrame(float);
virtual bool checkWolfLock(fopAc_ac_c*) const;
virtual bool cancelWolfLock(fopAc_ac_c*);
virtual bool getAtnActorID(void) const;
virtual s32 getItemID(void) const;
virtual bool getGrabActorID(void) const;
virtual s32 getAtnActorID() const;
virtual s32 getItemID() const;
virtual s32 getGrabActorID() const;
virtual bool exchangeGrabActor(fopAc_ac_c*);
virtual bool setForceGrab(fopAc_ac_c*, int, int);
virtual void setForcePutPos(cXyz const&);
virtual bool checkPlayerNoDraw(void);
virtual bool checkRopeTag(void);
virtual bool checkPlayerNoDraw();
virtual bool checkRopeTag();
virtual void voiceStart(u32);
virtual void seStartOnlyReverb(u32);
virtual void seStartOnlyReverbLevel(u32);
@ -289,14 +353,14 @@ public:
virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*);
virtual void onMagneGrab(float, float);
virtual void onFrollCrashFlg(u8, int);
virtual bool getModelJointMtx(u16);
virtual bool getHeadMtx(void);
virtual MtxP getModelJointMtx(u16);
virtual MtxP getHeadMtx();
virtual bool setHookshotCarryOffset(unsigned int, cXyz const*);
// virtual void checkCutJumpCancelTurn() const;
virtual bool checkIronBallReturn(void) const;
virtual bool checkIronBallGroundStop(void) const;
virtual bool checkSingleBoarBattleSecondBowReady(void) const;
virtual bool checkPointSubWindowMode(void) const;
virtual BOOL checkCutJumpCancelTurn() const;
virtual bool checkIronBallReturn() const;
virtual bool checkIronBallGroundStop() const;
virtual BOOL checkSingleBoarBattleSecondBowReady() const;
virtual bool checkPointSubWindowMode() const;
virtual void setClothesChange(int);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
@ -306,27 +370,27 @@ public:
virtual bool setRollJump(float, float, short);
virtual void playerStartCollisionSE(u32, u32);
virtual void changeTextureAnime(u16, u16, int);
virtual void cancelChangeTextureAnime(void);
virtual void cancelDungeonWarpReadyNeck(void);
virtual void cancelChangeTextureAnime();
virtual void cancelDungeonWarpReadyNeck();
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*);
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*);
virtual void onSceneChangeDead(u8, int);
virtual bool checkHorseRide() const;
virtual bool checkBoarRide() const;
virtual bool checkCanoeRide() const;
virtual bool checkBoardRide() const;
virtual u32 checkHorseRide() const;
virtual u32 checkBoarRide() const;
virtual u32 checkCanoeRide() const;
virtual u32 checkBoardRide() const;
virtual u32 checkSpinnerRide() const;
virtual bool getSpinnerActor(void);
virtual bool checkHorseRideNotReady(void) const;
virtual bool checkArrowChargeEnd(void) const;
virtual void getSearchBallScale(void) const;
virtual bool checkFastShotTime(void);
virtual bool checkNoEquipItem(void) const;
virtual bool checkFireMaterial(void) const;
virtual fopAc_ac_c* getSpinnerActor();
virtual BOOL checkHorseRideNotReady() const;
virtual bool checkArrowChargeEnd() const;
virtual f32 getSearchBallScale() const;
virtual s16 checkFastShotTime();
virtual bool checkNoEquipItem() const;
virtual bool checkFireMaterial() const;
virtual bool checkKandelaarSwing(int) const;
virtual bool getBoardCutTurnOffsetAngleY(void) const;
virtual cXyz* getMagneHitPos(void);
virtual cXyz* getMagneBootsTopVec(void);
virtual s16 getBoardCutTurnOffsetAngleY() const;
virtual cXyz* getMagneHitPos();
virtual cXyz* getMagneBootsTopVec();
virtual bool getKandelaarFlamePos();
virtual bool checkUseKandelaar(int);
virtual void setDkCaught(fopAc_ac_c*);
@ -337,53 +401,53 @@ public:
virtual void setWolfEnemyHangBiteAngle(short);
virtual void setKandelaarMtx(float (*)[4], int, int);
virtual bool getStickAngleFromPlayerShape(short*) const;
virtual bool checkSpinnerPathMove(void);
virtual bool checkSpinnerTriggerAttack(void);
virtual void onSpinnerPathForceRemove(void);
virtual bool getIronBallBgHit(void) const;
virtual bool getIronBallCenterPos(void);
virtual bool checkCanoeFishingGetLeft(void) const;
virtual bool checkCanoeFishingGetRight(void) const;
virtual bool checkBeeChildDrink(void) const;
virtual void skipPortalObjWarp(void);
virtual bool checkSpinnerPathMove();
virtual bool checkSpinnerTriggerAttack();
virtual void onSpinnerPathForceRemove();
virtual bool getIronBallBgHit() const;
virtual bool getIronBallCenterPos();
virtual bool checkCanoeFishingGetLeft() const;
virtual bool checkCanoeFishingGetRight() const;
virtual u8 checkBeeChildDrink() const;
virtual void skipPortalObjWarp();
virtual bool checkTreasureRupeeReturn(int) const;
virtual void setSumouReady(fopAc_ac_c*);
virtual bool checkAcceptDungeonWarpAlink(int);
virtual bool getSumouCounter(void) const;
virtual bool checkSumouWithstand(void) const;
virtual void cancelGoronThrowEvent(void);
virtual s16 getSumouCounter() const;
virtual s16 checkSumouWithstand() const;
virtual void cancelGoronThrowEvent();
virtual void setSumouGraspCancelCount(int);
virtual void setSumouPushBackDirection(short);
virtual void setSumouLoseHeadUp(void);
virtual s16 getGiantPuzzleAimAngle(void) const;
virtual void setSumouLoseHeadUp();
virtual s16 getGiantPuzzleAimAngle() const;
virtual void setGoronSideMove(fopAc_ac_c*);
virtual void setCargoCarry(fopAc_ac_c*);
virtual bool getDpdFarFlg(void) const;
virtual bool getHookshotTopPos(void);
virtual bool checkHookshotReturnMode(void) const;
virtual bool checkHookshotShootReturnMode(void) const;
virtual bool checkOctaIealHang(void) const;
virtual void cancelOctaIealHang(void);
virtual void cancelDragonHangBackJump(void);
virtual void setOctaIealWildHang(void);
virtual bool checkDragonHangRide(void) const;
virtual bool getDpdFarFlg() const;
virtual bool getHookshotTopPos();
virtual bool checkHookshotReturnMode() const;
virtual bool checkHookshotShootReturnMode() const;
virtual bool checkOctaIealHang() const;
virtual void cancelOctaIealHang();
virtual void cancelDragonHangBackJump();
virtual void setOctaIealWildHang();
virtual bool checkDragonHangRide() const;
virtual void changeDragonActor(fopAc_ac_c*);
virtual bool getClothesChangeWaitTimer(void) const;
virtual bool getShieldChangeWaitTimer(void) const;
virtual bool getSwordChangeWaitTimer(void) const;
virtual bool checkMetamorphose(void) const;
virtual bool checkWolfDownAttackPullOut(void) const;
virtual bool checkBootsOrArmorHeavy(void) const;
virtual s32 getBottleOpenAppearItem(void) const;
virtual bool checkItemSwordEquip(void) const;
virtual float getSinkShapeOffset(void) const;
virtual bool checkSinkDead(void) const;
virtual bool checkHorseStart(void);
virtual bool getWolfHowlMgrP(void);
virtual bool checkWolfHowlSuccessAnime(void) const;
virtual bool checkCopyRodTopUse(void);
virtual bool checkCopyRodEquip(void) const;
virtual bool checkCutJumpMode(void) const;
virtual u8 getClothesChangeWaitTimer() const;
virtual u8 getShieldChangeWaitTimer() const;
virtual u8 getSwordChangeWaitTimer() const;
virtual BOOL checkMetamorphose() const;
virtual BOOL checkWolfDownAttackPullOut() const;
virtual BOOL checkBootsOrArmorHeavy() const;
virtual s32 getBottleOpenAppearItem() const;
virtual bool checkItemSwordEquip() const;
virtual float getSinkShapeOffset() const;
virtual BOOL checkSinkDead() const;
virtual BOOL checkHorseStart();
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
virtual BOOL checkWolfHowlSuccessAnime() const;
virtual bool checkCopyRodTopUse();
virtual bool checkCopyRodEquip() const;
virtual BOOL checkCutJumpMode() const;
bool getSumouCameraMode() const {
bool sumouCameraMode = false;
@ -393,18 +457,37 @@ public:
return sumouCameraMode;
}
bool checkStatusWindowDraw() { return i_checkNoResetFlg2(STATUS_WINDOW_DRAW); }
// some functions use these function as an inline
// is there a better way to handle this?
int i_checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; }
int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; }
int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; }
int i_checkNoResetFlg3(daPy_FLG3 pFlag) const { return mNoResetFlg3 & pFlag; }
void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
void i_onNoResetFlg1(int pFlg) { mNoResetFlg1 |= pFlg; }
void i_onNoResetFlg2(int pFlg) { mNoResetFlg2 |= pFlg; }
void i_onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
void i_offNoResetFlg0(int pFlg) { mNoResetFlg0 &= ~pFlg; }
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
void i_onEndResetFlg0(int flag) { mEndResetFlg0 |= flag; }
int i_checkResetFlg0(daPy_py_c::daPy_RFLG0 flag) const { return mResetFlg0 & flag; }
int i_checkEndResetFlg0(daPy_py_c::daPy_ERFLG0 flag) const { return mEndResetFlg0 & flag; }
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
int i_checkWolf() { return i_checkNoResetFlg1(Wolf); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EquipHeavyBoots); }
int i_checkWolf() const { return i_checkNoResetFlg1(IS_WOLF); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(EQUIP_HEAVY_BOOTS); }
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(MAGNE_BOOTS_ON); }
inline u32 getLastSceneMode();
inline bool checkWoodSwordEquip();
inline BOOL i_checkSwordGet();
inline bool i_checkShieldGet() const;
inline BOOL checkNowWolf();
inline bool checkZoraWearFlg() const;
static u8 m_midnaActor[4];
};

View File

@ -57,6 +57,7 @@ public:
/* 80083830 */ void Move();
/* 8008523C */ virtual ~dCcD_GStts() {}
void ClrTg() { mTg = 0; }
void SetAtApid(unsigned int id) { mAtApid = id; }
// private:
/* 0x04 */ u8 mAt;
@ -108,7 +109,11 @@ public:
u32 GetGFlag() const { return mGFlag; }
u32 GetRPrm() const { return mRPrm; }
u32 MskSPrm(u32 mask) const { return mGFlag & mask; }
u32 MskRPrm(u32 mask) const { return mRPrm & mask; }
bool ChkSPrm(u32 mask) const { return MskSPrm(mask); }
void OnSPrm(u32 flag) { mGFlag |= flag; }
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
}; // Size = 0x1C
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
@ -117,6 +122,9 @@ public:
/* 80083C44 */ virtual ~dCcD_GObjAt() {}
void SetVec(cXyz& vec) { mVec = vec; }
cXyz& GetVec() { return mVec; }
void SetHitMark(u8 mark) { mHitMark = mark; }
void SetSe(u8 se) { mSe = se; }
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
// private:
/* 0x1C */ u8 mSe;
@ -156,7 +164,7 @@ public:
/* 800840E4 */ virtual ~dCcD_GObjInf();
/* 80084268 */ cCcD_GObjInf* GetGObjInf();
/* 8008426C */ virtual void ClrAtHit();
/* 800842C0 */ s32 ChkAtHit();
/* 800842C0 */ u32 ChkAtHit();
/* 80084318 */ void ResetAtHit();
/* 80084358 */ cCcD_Obj* GetAtHitObj();
/* 800843A8 */ cCcD_GObjInf* GetAtHitGObj();
@ -176,6 +184,15 @@ public:
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
void OnAtNoHitMark() { mGObjAt.OnSPrm(2); }
void OffAtNoHitMark() { mGObjAt.OffSPrm(2); }
void OnAtNoConHit() { mGObjAt.OnSPrm(1); }
void OffAtNoConHit() { mGObjAt.OffSPrm(1); }
void SetAtHitMark(u8 mark) { mGObjAt.SetHitMark(mark); }
void SetAtSe(u8 se) { mGObjAt.SetSe(se); }
void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); }
fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); }
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
static u32 const m_hitSeID[24];
@ -224,6 +241,10 @@ public:
dCcD_Tri() {}
};
enum dCcG_At_Spl {
/* 0x1 */ dCcG_At_Spl_UNK_01 = 1,
};
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
#endif /* D_CC_D_CC_D_H */

View File

@ -176,6 +176,15 @@ public:
void* getPlayerPtr(int ptrIdx) { return mPlayerPtr[ptrIdx]; }
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
dVibration_c& getVibration() { return mVibration; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
BOOL checkCameraAttentionStatus(int i, u32 flag) { return mCameraInfo[i].mCameraAttentionStatus & flag; }
s8 getPlayerCameraID(int i) { return mPlayerCameraID[i]; }
void set3DStatus(u8 status, u8 direction, u8 flag) {
m3DStatus = status;
m3DDirection = direction;
m3DSetFlag = flag;
}
public:
/* 0x00000 */ dBgS mDBgS;
@ -384,8 +393,8 @@ public:
/* 0x04FD4 */ fopAc_ac_c* mMesgCamInfoActor8;
/* 0x04FD8 */ fopAc_ac_c* mMesgCamInfoActor9;
/* 0x04FDC */ fopAc_ac_c* mMesgCamInfoActor10;
/* 0x04FE0 */ int mPlayerStatus;
/* 0x04FE4 */ u8 field_0x4fe4[0x14];
/* 0x04FE0 */ u32 mPlayerStatus[2];
/* 0x04FE8 */ u8 field_0x4fe8[0x10];
/* 0x04FF8 */ __d_timer_info_c mTimerInfo;
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
/* 0x05010 */ void* mCurrentView;
@ -451,6 +460,8 @@ void dComIfGs_setSelectEquipSword(u8);
void dComIfGs_setSelectEquipShield(u8);
void* dComIfG_getStageRes(char const*);
void dComLbG_PhaseHandler(request_of_phase_process_class*, int (**param_1)(void*), void*);
void dComIfGp_addSelectItemNum(int, s16);
BOOL dComIfGs_isOneZoneSwitch(int, int);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@ -1019,4 +1030,40 @@ inline dBgS& dComIfG_Bgsp() {
return g_dComIfG_gameInfo.play.mDBgS;
}
inline s16 dComIfGs_getStartPoint() {
return g_dComIfG_gameInfo.info.getRestart().getStartPoint();
}
inline dVibration_c& dComIfGp_getVibration() {
return g_dComIfG_gameInfo.play.getVibration();
}
inline void dComIfGp_setPlayerStatus0(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag);
}
inline void dComIfGp_setPlayerStatus1(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 1, flag);
}
inline dEvent_manager_c* dComIfGp_getPEvtManager() {
return &g_dComIfG_gameInfo.play.getEvtManager();
}
inline void dComIfGp_evmng_cutEnd(int param_0) {
dComIfGp_getPEvtManager()->cutEnd(param_0);
}
inline BOOL dComIfGp_checkCameraAttentionStatus(int i, u32 flag) {
return g_dComIfG_gameInfo.play.checkCameraAttentionStatus(i, flag);
}
inline void dComIfGp_set3DStatus(u8 status, u8 direction, u8 flag) {
g_dComIfG_gameInfo.play.set3DStatus(status, direction, flag);
}
inline u8 dComIfGs_getLastSceneMode() {
return g_dComIfG_gameInfo.info.getRestart().getLastMode();
}
#endif /* D_COM_D_COM_INF_GAME_H */

View File

@ -148,6 +148,16 @@ public:
/* 80070178 */ virtual void execute(u16, J3DTransformInfo*);
};
struct dist_entry {
f32 field_0x0;
f32 field_0x4;
f32 field_0x8;
f32 field_0xc;
f32 field_0x10;
f32 field_0x14;
u32 field_0x18;
}; // Size: 0x1C
class dAttention_c {
public:
dAttention_c() {}
@ -185,14 +195,22 @@ public:
/* 800736CC */ void LockonTargetPId(s32);
/* 80073734 */ void ActionTarget(s32);
/* 8007378C */ void CheckObjectTarget(s32);
/* 800737E4 */ void LockonTruth();
/* 800737E4 */ bool LockonTruth();
/* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
dAttCatch_c& getCatghTarget() { return mCatghTarget; }
bool chkFlag(u32 flag) { return mFlags & flag; }
bool Lockon() {
bool chk = true;
if (!LockonTruth() && !chkFlag(0x20000000)) {
chk = false;
}
return chk;
}
static u8 loc_type_tbl[12];
static u8 act_type_tbl[20];
static u8 dist_table[6552];
static dist_entry dist_table[234];
static u32 loc_type_num;
static u32 act_type_num;
static u32 chk_type_tbl;

View File

@ -41,6 +41,14 @@ public:
bool checkFlowerBombWait(fopAc_ac_c*);
bool checkWaterBomb(fopAc_ac_c*);
bool checkInsectBombMove(fopAc_ac_c*);
static fopAc_ac_c* createNormalBombPlayer(cXyz* p_pos) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 8, p_pos, -1, NULL, NULL, -1, NULL, NULL);
}
static fopAc_ac_c* createWaterBombPlayer(cXyz* p_pos) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 9, p_pos, -1, NULL, NULL, -1, NULL, NULL);
}
};
#endif /* D_D_BOMB_H */

View File

@ -20,6 +20,8 @@ public:
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
/* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
bool checkPassNum(int bit) { return field_0xc & (1 << bit); }
/* 0x00 */ dJntColData_c* mData;
/* 0x04 */ J3DModel* mModel;
/* 0x08 */ int field_0x8;

View File

@ -80,6 +80,8 @@ public:
void isOrderOK();
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
bool runCheck() { return field_0xe5 != 0; }
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
public:
/* 0x000 */ u8 field_0x0[4];

View File

@ -48,7 +48,7 @@ public:
void startCheckOld(char const*);
void endCheck(s16);
void endCheckOld(char const*);
void getMyStaffId(char const*, fopAc_ac_c*, int);
s32 getMyStaffId(char const*, fopAc_ac_c*, int);
void getIsAddvance(int);
void getMyActIdx(int, char const* const*, int, int, int);
void getMyNowCutName(int);

View File

@ -114,7 +114,6 @@ struct GB_MAPLE_COL_CHANGE {
class dKy_tevstr_c {
public:
private:
/* 0x000 */ J3DLightObj field_0x000;
/* 0x074 */ J3DLightObj field_0x074[6];
/* 0x32C */ cXyz field_0x32c;
@ -124,10 +123,18 @@ private:
/* 0x34C */ int field_0x34c;
/* 0x350 */ int field_0x350;
/* 0x354 */ int field_0x354;
/* 0x358 */ int field_0x358;
/* 0x35C */ int field_0x35c;
/* 0x360 */ int field_0x360;
/* 0x364 */ int field_0x364;
/* 0x358 */ u16 field_0x358;
/* 0x35A */ u16 field_0x35a;
/* 0x35C */ u16 field_0x35c;
/* 0x35E */ u8 field_0x35e[2];
/* 0x360 */ u8 field_0x360;
/* 0x361 */ u8 field_0x361;
/* 0x362 */ u8 field_0x362;
/* 0x363 */ u8 field_0x363;
/* 0x364 */ u8 field_0x364;
/* 0x365 */ u8 field_0x365;
/* 0x366 */ u8 field_0x366;
/* 0x367 */ u8 field_0x367;
/* 0x368 */ f32 field_0x368;
/* 0x36C */ f32 field_0x36c;
/* 0x370 */ f32 field_0x370;
@ -655,6 +662,6 @@ public:
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
BOOL dKy_darkworld_stage_check(char const*, int);
bool dKy_darkworld_stage_check(char const*, int);
#endif /* D_KANKYO_D_KANKYO_H */

View File

@ -315,6 +315,10 @@ enum ItemTable {
/* 0xFF */ NO_ITEM
};
enum EquipItem {
/* 0x103 */ EQUIP_SWORD = 0x103,
};
enum CollectItem {
/* 0x0 */ COLLECT_CLOTHING,
/* 0x1 */ COLLECT_SWORD,
@ -915,6 +919,9 @@ class dSv_restart_c {
public:
void setRoom(const cXyz&, s16, s8);
s16 getStartPoint() const { return mStartPoint; }
u32 getLastMode() const { return mLastMode; }
private:
/* 0x00 */ s8 mRoomNo;
/* 0x01 */ u8 field_0x01[3];
@ -999,6 +1006,8 @@ public:
dSv_zone_c* getZones() { return mZone; }
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
dSv_event_c& getTmp() { return mTmp; }
dSv_restart_c& getRestart() { return mRestart; }
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
s64 getStartTime() { return mStartTime; }
s64 getSaveTotalTime() { return mSaveTotalTime; }
void initDan(s8 param_0) { mDan.init(param_0); }

View File

@ -19,7 +19,7 @@ public:
void onCondition(u16);
void offCondition(u16);
bool checkCommandCatch();
bool checkCommandDoor();
BOOL checkCommandDoor();
bool checkCommandDemoAccrpt();
void setCommand(u16 command) { mCommand = command; }
@ -52,7 +52,7 @@ public:
struct actor_place {
cXyz mPosition;
csXyz mAngle;
u8 mRoomNo;
s8 mRoomNo;
};
struct actor_attention_types {
@ -88,7 +88,7 @@ public:
/* 0x4E4 */ csXyz mCollisionRot;
/* 0x4EC */ cXyz mScale;
/* 0x4F8 */ cXyz mSpeed;
/* 0x504 */ Mtx* mCullMtx;
/* 0x504 */ MtxP mCullMtx;
union {
struct {
/* 0x508 */ cXyz mMin;

View File

@ -54,6 +54,8 @@ public:
static bool gndCheck(const cXyz*);
static u8 mGndCheck[84];
static f32 mGroundY;
static f32 getGroundY() { return mGroundY; }
};
class fopAcM_wt_c {
@ -100,6 +102,10 @@ inline u32 fopAcM_GetParam(const void* pActor) {
return fpcM_GetParam(pActor);
}
inline u8 fopAcM_GetGroup(const fopAc_ac_c* p_actor) {
return p_actor->mGroup;
}
inline void fopAcM_OnStatus(fopAc_ac_c* pActor, u32 flag) {
pActor->mStatus |= flag;
}
@ -132,6 +138,14 @@ inline csXyz& fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) {
return pActor->mCollisionRot;
}
inline bool fopAcM_CheckCondition(fopAc_ac_c* p_actor, u32 flag) {
return p_actor->mCondition & flag;
}
inline void fopAcM_OnCondition(fopAc_ac_c* p_actor, u32 flag) {
p_actor->mCondition |= flag;
}
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
void fopAcM_setStageLayer(void*);
int fopAcM_setRoomLayer(void*, int);

View File

@ -31,4 +31,8 @@ public:
extern JKRSolidHeap* g_mDoAud_audioHeap;
inline void mDoAud_bgmSetSwordUsing(s32 id) {
Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id);
}
#endif /* M_DO_M_DO_AUDIO_H */

View File

@ -87,8 +87,10 @@ public:
/* 80140DF0 */ ~mDoExt_AnmRatioPack();
/* 80140E2C */ mDoExt_AnmRatioPack();
void setRatio(f32 ratio) { mRatio = ratio; }
private:
/* 0x0 */ float mRatio;
/* 0x0 */ f32 mRatio;
/* 0x4 */ J3DAnmTransform* mAnmTransform;
}; // Size = 0x8

View File

@ -2,5 +2,127 @@
#define D_A_BOOMERANG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/particle/d_particle_copoly.h"
#include "Z2AudioLib/Z2SoundObject.h"
class daBoomerang_sight_c {
public:
/* 8049E0B8 */ void createHeap();
/* 8049E36C */ void initialize();
/* 8049EB64 */ void playAnime(int, int);
/* 8049EDA8 */ void initFrame(int);
/* 8049EDE8 */ void copyNumData(int);
/* 8049EEC8 */ void setSight(cXyz const*, int);
/* 8049EF60 */ void draw();
/* 804A278C */ virtual ~daBoomerang_sight_c();
private:
/* 0x04 */ J2DScreen* field_0x4;
/* 0x08 */ J2DPane* field_0x8;
/* 0x0C */ J2DPane* field_0xc;
/* 0x10 */ J2DPane* field_0x10;
/* 0x14 */ J2DPane* field_0x14;
/* 0x18 */ J2DAnmBase* field_0x18;
/* 0x1C */ J2DAnmBase* field_0x1c;
/* 0x20 */ J2DScreen* field_0x20;
/* 0x24 */ J2DPane* field_0x24;
/* 0x28 */ J2DPane* field_0x28;
/* 0x2C */ J2DPane* field_0x2c;
/* 0x30 */ J2DPane* field_0x30;
/* 0x34 */ J2DAnmBase* field_0x34;
/* 0x38 */ J2DAnmBase* field_0x38;
/* 0x3C */ J2DScreen* field_0x3c;
/* 0x40 */ J2DPane* field_0x40;
/* 0x44 */ J2DPane* field_0x44;
/* 0x48 */ J2DPane* field_0x48;
/* 0x4C */ J2DPane* field_0x4c;
/* 0x50 */ J2DAnmBase* field_0x50;
/* 0x54 */ J2DAnmBase* field_0x54;
/* 0x58 */ J2DAnmBase* field_0x58;
/* 0x5C */ J2DAnmBase* field_0x5c;
/* 0x60 */ bool mRedSight;
/* 0x61 */ u8 mReserve;
/* 0x62 */ u8 mAlpha[6];
/* 0x68 */ f32 field_0x68[6];
/* 0x80 */ f32 field_0x80[6];
/* 0x98 */ f32 field_0x98[6];
/* 0xB0 */ f32 field_0xb0[6];
/* 0xC8 */ cXyz field_0xc8[6];
}; // Size: 0x110
struct daMirror_c;
class daAlink_c;
class daBoomerang_c : public fopAc_ac_c {
public:
enum daBoomerang_FLG0 {
/* 0x80 */ WIND_CATCH = 0x80,
};
/* 8049F280 */ void windModelCallBack();
/* 8049F39C */ void draw();
/* 8049F5F4 */ void lockLineCallback(fopAc_ac_c*);
/* 8049F660 */ void moveLineCallback(fopAc_ac_c*);
/* 8049F710 */ void pushLockList(int);
/* 8049F818 */ void cancelLockActorBase(fopAc_ac_c*);
/* 8049F874 */ void setAimActorBase(fopAc_ac_c*);
/* 8049F8B0 */ void setLockActor(fopAc_ac_c*, int);
/* 8049F9A4 */ void resetLockActor();
/* 8049F9F0 */ void setRoomInfo();
/* 8049FAA4 */ void setKeepMatrix();
/* 8049FBAC */ void setMoveMatrix();
/* 8049FCD0 */ void setRotAngle();
/* 8049FD6C */ void setAimPos();
/* 8049FE6C */ void checkBgHit(cXyz*, cXyz*);
/* 804A006C */ void setEffectTraceMatrix(u32*, u16);
/* 804A012C */ void setEffect();
/* 804A0874 */ void procWait();
/* 804A0F0C */ void procMove();
/* 804A1814 */ void execute();
/* 804A1BF4 */ ~daBoomerang_c();
/* 804A1EE4 */ void createHeap();
/* 804A2084 */ void create();
/* 804A230C */ daBoomerang_c();
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }
void onWindCatch() { onStateFlg0(WIND_CATCH); }
private:
/* 0x568 */ daMirror_c* field_0x568;
/* 0x56C */ J3DModel* field_0x56c;
/* 0x570 */ daAlink_c* field_0x570;
/* 0x574 */ u8 field_0x574[0x1C];
/* 0x590 */ J3DModel* field_0x590;
/* 0x594 */ void* field_0x594;
/* 0x598 */ daBoomerang_sight_c mSight;
/* 0x6A8 */ int field_0x6a8;
/* 0x6AC */ int field_0x6ac[5];
/* 0x6C0 */ fopAc_ac_c* field_0x6c0[5];
/* 0x6D4 */ u8 field_0x6d4[8];
/* 0x6DC */ cXyz field_0x6dc[5];
/* 0x718 */ u8 field_0x718[5];
/* 0x720 */ Z2SoundObjSimple field_0x720;
/* 0x740 */ dBgS_Acch field_0x740;
/* 0x918 */ dPaPo_c field_0x918;
/* 0x950 */ u8 field_0x950;
/* 0x951 */ u8 field_0x951;
/* 0x952 */ u8 field_0x952;
/* 0x953 */ u8 field_0x953;
/* 0x954 */ u8 field_0x954;
/* 0x955 */ u8 field_0x955;
/* 0x956 */ u8 field_0x956;
/* 0x957 */ u8 field_0x957;
/* 0x958 */ s16 field_0x958;
/* 0x95A */ s16 field_0x95a;
/* 0x95C */ s16 field_0x95c;
/* 0x95E */ s16 field_0x95e;
/* 0x960 */ s16 field_0x960;
/* 0x962 */ s16 field_0x962;
/* 0x964 */ u32 mStateFlg0;
};
#endif /* D_A_BOOMERANG_H */

View File

@ -1,6 +1,28 @@
#ifndef D_A_CROD_H
#define D_A_CROD_H
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "dolphin/types.h"
class daCrod_c {
public:
/* 80141A94 */ void setControllActorData();
/* 804A2E38 */ void createHeap();
/* 804A2F18 */ void create();
/* 804A3304 */ ~daCrod_c();
/* 804A34B0 */ void setRoomInfo();
/* 804A34B4 */ void setMatrix();
/* 804A3500 */ void posMove();
/* 804A3580 */ void setBckAnm(u16);
/* 804A35FC */ void setReturn();
/* 804A365C */ void setLightPower();
/* 804A36D8 */ void execute();
/* 804A3FD4 */ void draw();
static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->mCurrent.mPosition, fopAcM_GetRoomNo(p_actor), NULL, NULL, -1, NULL, NULL);
}
};
#endif /* D_A_CROD_H */

View File

@ -2,5 +2,203 @@
#define D_A_OBJ_CARRY_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
class daObjCarry_c : public fopAc_ac_c {
public:
enum {
/* 0x0 */ TYPE_TSUBO, // Small Blue Pot
/* 0x1 */ TYPE_OOTSUBO, // Big Red Pot
/* 0x2 */ TYPE_KIBAKO, // Box
/* 0x3 */ TYPE_IRON_BALL, // Cannon Ball
/* 0x4 */ TYPE_TARU, // Barrel
/* 0x5 */ TYPE_DOKURO, // Skull
/* 0x6 */ TYPE_BOKKURI, // Deku Nut
/* 0x7 */ TYPE_TSUBO_2, // Small Red Pot
/* 0x8 */ TYPE_BALL_S, // Light Ball A
/* 0x9 */ TYPE_BALL_S_2, // Light Ball B
/* 0xA */ TYPE_AOTSUBO, // Big Blue Pot
/* 0xB */ TYPE_LV8_BALL,
/* 0xC */ TYPE_TSUBO_S, // Small pot - Twilight
/* 0xD */ TYPE_TSUBO_B, // Big pot - Twilight
};
/* 80031CF8 */ static void clrSaveFlag();
/* 80031D04 */ static void setSaveFlag();
/* 80031D10 */ void chkSaveFlag();
/* 80031D24 */ void getPos(int);
/* 80031D38 */ void savePos(int, cXyz);
/* 80031D64 */ void onSttsFlag(int, u8);
/* 80031D78 */ void offSttsFlag(int, u8);
/* 80031D8C */ void chkSttsFlag(int, u8);
/* 80031DAC */ void setRoomNo(int, s8);
/* 80031DB8 */ void getRoomNo(int);
/* 8046F6A4 */ void data();
/* 8046F6BC */ void getArcName();
/* 8046F6D4 */ void getBmdName();
/* 8046F6EC */ void checkFlag(u8);
/* 8046F724 */ void initBaseMtx();
/* 8046F7AC */ void setBaseMtx();
/* 8046FACC */ void preInit();
/* 8046FB78 */ daObjCarry_c();
/* 8046FFA4 */ void checkBreakWolfAttack();
/* 8046FFF8 */ void checkCarryBoomerang();
/* 80470054 */ void checkCarryHookshot();
/* 80470080 */ void checkCarryWolf();
/* 804700B4 */ void checkCarryOneHand();
/* 804700F0 */ void Create();
/* 804705DC */ void CreateInit_tsubo();
/* 80470650 */ void CreateInit_ootubo();
/* 80470674 */ void CreateInit_kibako();
/* 804706D4 */ void CreateInit_ironball();
/* 804707E0 */ void CreateInit_taru();
/* 80470840 */ void CreateInit_dokuro();
/* 80470890 */ void CreateInit_bokkuri();
/* 804709DC */ void CreateInit_LightBall();
/* 80470AB4 */ void CreateInit_Lv8Ball();
/* 80470B5C */ void CreateHeap();
/* 80470BF4 */ void create();
/* 80470CF0 */ void checkCreate_LightBallA();
/* 8047114C */ void checkCreate_LightBallB();
/* 804715A8 */ void checkCreate_Lv8Ball();
/* 80471680 */ void resetIconPosForLightBallA();
/* 804716D4 */ void setIconPosForLightBallAAtR00();
/* 804717B4 */ void setIconPosForLightBallBAtR00();
/* 80471894 */ void resetIconPosForLightBallB();
/* 804718E8 */ void execute();
/* 8047233C */ void checkCulling();
/* 80472460 */ void draw();
/* 80472730 */ void debugDraw();
/* 80472734 */ void _delete();
/* 80472B54 */ void crr_pos();
/* 80472D8C */ void check_sink(f32*);
/* 80472E5C */ void calc_gravity();
/* 80472EF0 */ void checkRollAngle();
/* 80473050 */ void mode_proc_call();
/* 804733E8 */ void mode_init_wait();
/* 804734B0 */ void mode_proc_wait();
/* 80473718 */ void mode_init_walk(u8);
/* 804737CC */ void mode_proc_walk();
/* 80473ED8 */ void mode_init_carry();
/* 804741A8 */ void mode_proc_carry();
/* 80474448 */ void mode_init_drop(u8);
/* 80474540 */ void mode_proc_drop();
/* 80474618 */ void mode_init_float();
/* 80474734 */ void mode_proc_float();
/* 80474A08 */ void mode_init_sink();
/* 80474B8C */ void mode_proc_sink();
/* 80474D64 */ void mode_init_yogan();
/* 80474E08 */ void mode_proc_yogan();
/* 80474E98 */ bool mode_proc_magne();
/* 80474EA0 */ bool mode_proc_magneCarry();
/* 80474EA8 */ void mode_init_boomCarry();
/* 80474FA8 */ void mode_proc_boomCarry();
/* 80475014 */ void mode_init_growth();
/* 804750C8 */ void mode_proc_growth();
/* 8047515C */ bool mode_proc_end();
/* 80475164 */ void mode_init_dbDrop(u8);
/* 80475210 */ void mode_proc_dbDrop();
/* 80475238 */ void mode_init_hookCarry();
/* 80475354 */ void mode_proc_hookCarry();
/* 80475384 */ void mode_init_fit();
/* 80475450 */ void mode_proc_fit();
/* 80475478 */ void mode_proc_controled();
/* 804754D0 */ void mode_init_resetLightBall();
/* 80475598 */ void mode_proc_resetLightBall();
/* 80475618 */ void chkSinkAll();
/* 8047567C */ void chkWaterLineIn();
/* 804756D4 */ void chkSinkObj();
/* 8047573C */ void bg_check();
/* 80476618 */ void check_bg_damage_proc_base();
/* 80476764 */ void bg_damage_proc_kotubo();
/* 804767C4 */ void bg_damage_proc_ootubo();
/* 804767E4 */ void bg_damage_proc_kibako();
/* 80476804 */ bool bg_damage_proc_ironball();
/* 8047680C */ void bg_damage_proc_taru();
/* 8047682C */ void bg_damage_proc_dokuro();
/* 8047684C */ void bg_damage_proc_bokkuri();
/* 80476930 */ bool bg_damage_proc_LightBall();
/* 80476938 */ bool bg_damage_proc_Lv8Ball();
/* 80476940 */ void obj_break(bool, bool, bool);
/* 80476A5C */ void check_cc_damage_proc_base(bool);
/* 80476B04 */ void cc_damage_proc_kotubo();
/* 80476B68 */ void cc_damage_proc_ootubo();
/* 80476B88 */ void cc_damage_proc_kibako();
/* 80476CE4 */ void cc_damage_proc_ironball();
/* 80476E04 */ void cc_damage_proc_taru();
/* 80476F88 */ void cc_damage_proc_dokuro();
/* 80476FA8 */ void cc_damage_proc_bokkuri();
/* 804771B0 */ bool cc_damage_proc_LightBall();
/* 804771B8 */ bool cc_damage_proc_Lv8Ball();
/* 804771C0 */ void eff_break_tuboBmd(u16, cXyz);
/* 8047731C */ void eff_break_kibakoBmd(cXyz);
/* 8047747C */ void eff_break_tsubo();
/* 804774D4 */ void eff_break_ootubo();
/* 8047752C */ void eff_break_kibako();
/* 80477574 */ void eff_break_ironball();
/* 80477578 */ void eff_break_taru();
/* 804775BC */ void eff_break_dokuro();
/* 80477614 */ void eff_break_bokkuri();
/* 80477798 */ void eff_break_kotubo2();
/* 804777F0 */ void eff_break_LightBall();
/* 804777F4 */ void eff_break_ootubo2();
/* 8047784C */ void eff_break_Lv8Ball();
/* 80477850 */ void eff_break_tsuboL8();
/* 804778A8 */ void eff_break_ootuboL8();
/* 80477900 */ void se_break(cBgS_PolyInfo*);
/* 80477990 */ void se_put(cBgS_PolyInfo*);
/* 80477A14 */ void se_put_water();
/* 80477A98 */ void se_fall_water();
/* 80477B1C */ void calc_rot_axis_base(u8);
/* 80477FE0 */ void calc_rot_axis_tsubo();
/* 80478004 */ void calc_rot_axis_ootubo();
/* 80478028 */ void calc_rot_axis_kibako();
/* 8047814C */ void calc_rot_axis_ironball();
/* 80478170 */ void calc_rot_axis_taru();
/* 80478190 */ void calc_rot_axis_dokuro();
/* 804781B4 */ void calc_rot_axis_bokkuri();
/* 804783C0 */ void calc_rot_axis_kotubo2();
/* 804783E4 */ void calc_rot_axis_LightBall();
/* 80478408 */ void calc_rot_axis_Lv8Ball();
/* 8047842C */ void set_wind_power();
/* 80478808 */ void exec_proc_tsubo();
/* 80478828 */ void exec_proc_ootubo();
/* 80478848 */ void exec_proc_kibako();
/* 8047884C */ void exec_proc_ironball();
/* 804788C4 */ void exec_proc_taru();
/* 804788C8 */ void exec_proc_dokuro();
/* 804788CC */ void exec_proc_bokkuri();
/* 80478C18 */ void exec_proc_LightBall();
/* 80478CE4 */ void exec_proc_Lv8Ball();
/* 80478D78 */ void bg_damage_proc_call();
/* 80478F50 */ void cc_damage_proc_call();
/* 80479128 */ void eff_break_call();
/* 804792D4 */ void calc_rot_call();
/* 80479480 */ void obj_execute_proc_call();
/* 8047962C */ void setTgHitCallBack();
/* 80479648 */ void setCoHitCallBack();
/* 80479664 */ void CreateInitCall();
s32 getType() { return mType; }
static u8 const mData[2072];
private:
/* 0x568 */ u8 field_0x568[8];
/* 0x570 */ J3DModel* field_0x570;
/* 0x574 */ dBgS_Acch field_0x574;
/* 0x74C */ dBgS_AcchCir field_0x74c;
/* 0x78C */ dCcD_Stts field_0x78c;
/* 0x7C8 */ dCcD_Cyl field_0x7c8;
/* 0x904 */ dCcD_Sph field_0x904;
/* 0xA3C */ dCcD_Cps field_0xa3c;
/* 0xB80 */ dCcD_Cyl field_0xb80;
/* 0xCBC */ u8 field_0xcbc[0x34];
/* 0xCF0 */ u8 mType;
/* 0xCF4 */ cXyz field_0xcf4;
/* 0xD00 */
};
#endif /* D_A_OBJ_CARRY_H */

View File

@ -1,6 +1,28 @@
#ifndef D_A_TAG_MMSG_H
#define D_A_TAG_MMSG_H
#include "d/a/d_a_player.h"
#include "dolphin/types.h"
class daTagMmsg_c : public fopAc_ac_c {
public:
/* 80D5B918 */ void create();
/* 80D5BAB4 */ ~daTagMmsg_c();
/* 80D5BB30 */ void execute();
void onUseFlg() { mUseFlg = true; }
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 mAttention;
/* 0x56B */ u8 field_0x56b;
/* 0x56C */ bool mUseFlg;
/* 0x56D */ u8 field_0x56d[3];
/* 0x570 */ u16 field_0x570;
/* 0x572 */ u16 field_0x572;
/* 0x574 */ f32 field_0x574;
/* 0x578 */ f32 field_0x578;
};
#endif /* D_A_TAG_MMSG_H */

View File

@ -167,7 +167,6 @@ extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__14Z2SoundStarter[5 + 1 /* padding */];
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" extern u8 data_80450B40[4];
extern "C" extern u8 data_80450B44[4];
extern "C" extern u8 data_80450B48[4];

View File

@ -11,21 +11,6 @@
// Types:
//
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266C18 */ void operator/(f32) const;
/* 80267128 */ void atan2sX_Z() const;
/* 80267150 */ void atan2sY_XZ() const;
/* 8049EE8C */ ~cXyz();
/* 804A27FC */ cXyz();
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CD9C */ void transM(f32, f32, f32);
@ -34,77 +19,10 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct J3DModelData {};
struct J3DAnmTransform {};
struct mDoExt_bckAnm {
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D9CC */ void entry(J3DModelData*, f32);
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct fopAcM_wt_c {
/* 8001DD84 */ void waterCheck(cXyz const*);
static f32 mWaterY[1 + 1 /* padding */];
};
struct fopAcM_rc_c {
/* 8001DD1C */ void roofCheck(cXyz const*);
static u8 mRoofCheck[80];
static f32 mRoofY;
};
struct J3DModel {};
struct daMirror_c {
/* 8003194C */ void entry(J3DModel*);
};
struct daBoomerang_sight_c {
/* 8049E0B8 */ void createHeap();
/* 8049E36C */ void initialize();
/* 8049EB64 */ void playAnime(int, int);
/* 8049EDA8 */ void initFrame(int);
/* 8049EDE8 */ void copyNumData(int);
/* 8049EEC8 */ void setSight(cXyz const*, int);
/* 8049EF60 */ void draw();
/* 804A278C */ ~daBoomerang_sight_c();
};
struct daBoomerang_c {
/* 8049F280 */ void windModelCallBack();
/* 8049F39C */ void draw();
/* 8049F5F4 */ void lockLineCallback(fopAc_ac_c*);
/* 8049F660 */ void moveLineCallback(fopAc_ac_c*);
/* 8049F710 */ void pushLockList(int);
/* 8049F818 */ void cancelLockActorBase(fopAc_ac_c*);
/* 8049F874 */ void setAimActorBase(fopAc_ac_c*);
/* 8049F8B0 */ void setLockActor(fopAc_ac_c*, int);
/* 8049F9A4 */ void resetLockActor();
/* 8049F9F0 */ void setRoomInfo();
/* 8049FAA4 */ void setKeepMatrix();
/* 8049FBAC */ void setMoveMatrix();
/* 8049FCD0 */ void setRotAngle();
/* 8049FD6C */ void setAimPos();
/* 8049FE6C */ void checkBgHit(cXyz*, cXyz*);
/* 804A006C */ void setEffectTraceMatrix(u32*, u16);
/* 804A012C */ void setEffect();
/* 804A0874 */ void procWait();
/* 804A0F0C */ void procMove();
/* 804A1814 */ void execute();
/* 804A1BF4 */ ~daBoomerang_c();
/* 804A1EE4 */ void createHeap();
/* 804A2084 */ void create();
/* 804A230C */ daBoomerang_c();
};
struct daBoomerang_HIO_c0 {
static u16 const m_lockWaitTime;
static f32 const m_minCircleR;
@ -114,8 +32,6 @@ struct daBoomerang_HIO_c0 {
static f32 const m_lockWindScale;
};
struct J3DAnmBase {};
struct daAlink_c {
/* 8009D884 */ void getAlinkArcName();
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
@ -129,24 +45,8 @@ struct daAlink_c {
/* 800E08C4 */ void returnBoomerang(int);
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int);
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
@ -157,8 +57,6 @@ struct dPa_control_c {
_GXColor const*, cXyz const*, f32);
};
struct cBgS_PolyInfo {};
struct dBgS {
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 80074DAC */ void GetUnderwaterRoofCode(cBgS_PolyInfo const&);
@ -166,29 +64,6 @@ struct dBgS {
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
};
struct dBgS_AcchCir {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct dPaPo_c {
/* 80050C9C */ void init(dBgS_Acch*, f32, f32);
/* 80051008 */ void setEffectCenter(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
csXyz const*, cXyz const*, s8, f32, f32);
};
struct dDlst_base_c {
/* 804A2718 */ void draw();
};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct cCcD_Obj {};
struct dCcMassS_Mng {
@ -223,47 +98,6 @@ struct dCcD_Cps {
/* 80084824 */ void CalcAtVec();
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjLinChk {
/* 80077F5C */ dBgS_ObjLinChk();
/* 80077FB8 */ ~dBgS_ObjLinChk();
};
struct dBgS_ObjGndChk {
/* 804A2524 */ ~dBgS_ObjGndChk();
};
struct dBgS_ObjAcch {
/* 804A2688 */ ~dBgS_ObjAcch();
};
struct dBgS_LinChk {
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct dBgS_GndChk {
/* 8007757C */ dBgS_GndChk();
/* 800775F0 */ ~dBgS_GndChk();
};
struct dBgS_BoomerangLinChk {
/* 800782B8 */ dBgS_BoomerangLinChk();
/* 80078314 */ ~dBgS_BoomerangLinChk();
};
struct cM3dGPla {
/* 804A082C */ ~cM3dGPla();
};
struct cM3dGCyl {
/* 8026F1DC */ void SetC(cXyz const&);
/* 8026F1F8 */ void SetH(f32);
/* 804A259C */ ~cM3dGCyl();
};
struct cM3dGCps {
/* 8026EF88 */ cM3dGCps();
/* 8026EFA4 */ ~cM3dGCps();
@ -282,29 +116,12 @@ struct cCcD_GStts {
/* 804A271C */ ~cCcD_GStts();
};
struct cBgS_LinChk {};
struct cBgS_GndChk {
/* 80267D28 */ void SetPos(cXyz const*);
};
struct cBgS {
/* 800743B4 */ void LineCross(cBgS_LinChk*);
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct Z2SoundObjSimple {
/* 802BE844 */ Z2SoundObjSimple();
};
struct Z2SoundObjBase {
/* 802BDF48 */ ~Z2SoundObjBase();
/* 802BDFF8 */ void deleteObject();
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
@ -317,51 +134,11 @@ struct JMath {
static u8 sincosTable_[65536];
};
struct JKRFileLoader {
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
};
struct JKRArchive {};
struct JGeometry {
template <typename A1>
struct TVec3 {};
/* TVec3<f32> */
struct TVec3__template0 {};
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DAnmTextureSRTKey {
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DMaterialTable {
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
};
struct J3DJoint {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 804A2800 */ ~J3DFrameCtrl();
};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
/* 802F9690 */ void animation();
};
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
//
// Forward References:
//
@ -547,11 +324,6 @@ extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSVECSquareMag();
extern "C" void PSVECDotProduct();
extern "C" void PSVECSquareDistance();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __ptmf_scall();
@ -585,13 +357,10 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mRoofCheck__11fopAcM_rc_c[80];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" f32 mRoofY__11fopAcM_rc_c;
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
extern "C" extern u8 struct_80450D64[4];
extern "C" extern u8 struct_8045101C[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@ -831,7 +600,8 @@ asm void daBoomerang_sight_c::copyNumData(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::~cXyz() {
// asm cXyz::~cXyz() {
extern "C" asm void __dt__4cXyzFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__4cXyzFv.s"
}
@ -1600,7 +1370,8 @@ asm void daBoomerang_c::setEffect() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGPla::~cM3dGPla() {
// asm cM3dGPla::~cM3dGPla() {
extern "C" asm void __dt__8cM3dGPlaFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__8cM3dGPlaFv.s"
}
@ -1813,7 +1584,8 @@ asm daBoomerang_c::daBoomerang_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
// asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
extern "C" asm void __dt__14dBgS_ObjGndChkFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__14dBgS_ObjGndChkFv.s"
}
@ -1823,7 +1595,8 @@ asm dBgS_ObjGndChk::~dBgS_ObjGndChk() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::~cM3dGCyl() {
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__8cM3dGCylFv.s"
}
@ -1853,7 +1626,8 @@ asm dCcD_GStts::~dCcD_GStts() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__12dBgS_ObjAcchFv.s"
}
@ -1871,7 +1645,7 @@ static asm void daBoomerang_Create(fopAc_ac_c* param_0) {
#pragma pop
/* 804A2718-804A271C 0046D8 0004+00 1/0 0/0 0/0 .text draw__12dDlst_base_cFv */
void dDlst_base_c::draw() {
void draw__12dDlst_base_cFv() {
/* empty function */
}
@ -1939,14 +1713,15 @@ static asm void func_804A2784() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daBoomerang_sight_c::~daBoomerang_sight_c() {
// asm daBoomerang_sight_c::~daBoomerang_sight_c() {
extern "C" asm void __dt__19daBoomerang_sight_cFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__19daBoomerang_sight_cFv.s"
}
#pragma pop
/* 804A27FC-804A2800 0047BC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
cXyz::cXyz() {
extern "C" void __ct__4cXyzFv() {
/* empty function */
}
@ -1954,7 +1729,8 @@ cXyz::cXyz() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__12J3DFrameCtrlFv.s"
}

View File

@ -11,15 +11,6 @@
// Types:
//
struct csXyz {};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
/* 80267128 */ void atan2sX_Z() const;
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
@ -27,45 +18,11 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct J3DModelData {};
struct J3DAnmTransform {};
struct mDoExt_bckAnm {
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D9CC */ void entry(J3DModelData*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daPy_actorKeep_c {
/* 8015ECB8 */ void setData(fopAc_ac_c*);
/* 8015ECFC */ void clearData();
};
struct daCrod_c {
/* 804A2E38 */ void createHeap();
/* 804A2F18 */ void create();
/* 804A3304 */ ~daCrod_c();
/* 804A34B0 */ void setRoomInfo();
/* 804A34B4 */ void setMatrix();
/* 804A3500 */ void posMove();
/* 804A3580 */ void setBckAnm(u16);
/* 804A35FC */ void setReturn();
/* 804A365C */ void setLightPower();
/* 804A36D8 */ void execute();
/* 804A3FD4 */ void draw();
};
struct J3DAnmBase {};
struct daAlink_c {
/* 8009D884 */ void getAlinkArcName();
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
@ -74,13 +31,6 @@ struct daAlink_c {
/* 800E1A30 */ void returnCopyRod();
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
@ -147,32 +97,10 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct LIGHT_INFLUENCE {};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DModel {};
struct J3DAnmTextureSRTKey {
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DAnmTevRegKey {
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DMaterialTable {
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 804A329C */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@ -251,11 +179,6 @@ extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECSquareMag();
extern "C" void PSVECSquareDistance();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
@ -271,7 +194,6 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" extern u8 data_804A4218[4];
@ -416,7 +338,8 @@ asm dCcD_GStts::~dCcD_GStts() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__12J3DFrameCtrlFv.s"
}

View File

@ -11,14 +11,6 @@
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
};
struct Quaternion {};
struct mDoMtx_stack_c {
/* 8000CD9C */ void transM(f32, f32, f32);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
@ -27,211 +19,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266B84 */ void operator*(f32) const;
/* 80266F48 */ void normalizeZP();
/* 80266FDC */ void normalizeRS();
/* 8026706C */ bool operator!=(Vec const&) const;
/* 802670AC */ void isZero() const;
static f32 Zero[3];
static u8 BaseX[12];
};
struct fopAcM_lc_c {
/* 8001DC68 */ void lineCheck(cXyz const*, cXyz const*, fopAc_ac_c const*);
};
struct fopAcM_gc_c {
/* 8001DCBC */ void gndCheck(cXyz const*);
static u8 mGndCheck[84];
static f32 mGroundY;
};
struct daPy_py_c {
/* 8015F60C */ void wolfGrabSubjectNoDraw(fopAc_ac_c*);
/* 8015F698 */ void checkCarryStartLightBallA();
/* 8015F730 */ void checkCarryStartLightBallB();
};
struct daPy_boomerangMove_c {
/* 8015E5B0 */ void initOffset(cXyz const*);
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
};
struct cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct daObjCarry_c {
/* 80031D10 */ void chkSaveFlag();
/* 80031D24 */ void getPos(int);
/* 80031D38 */ void savePos(int, cXyz);
/* 80031D64 */ void onSttsFlag(int, u8);
/* 80031D78 */ void offSttsFlag(int, u8);
/* 80031D8C */ void chkSttsFlag(int, u8);
/* 80031DAC */ void setRoomNo(int, s8);
/* 80031DB8 */ void getRoomNo(int);
/* 8046F6A4 */ void data();
/* 8046F6BC */ void getArcName();
/* 8046F6D4 */ void getBmdName();
/* 8046F6EC */ void checkFlag(u8);
/* 8046F724 */ void initBaseMtx();
/* 8046F7AC */ void setBaseMtx();
/* 8046FACC */ void preInit();
/* 8046FB78 */ daObjCarry_c();
/* 8046FFA4 */ void checkBreakWolfAttack();
/* 8046FFF8 */ void checkCarryBoomerang();
/* 80470054 */ void checkCarryHookshot();
/* 80470080 */ void checkCarryWolf();
/* 804700B4 */ void checkCarryOneHand();
/* 804700F0 */ void Create();
/* 804705DC */ void CreateInit_tsubo();
/* 80470650 */ void CreateInit_ootubo();
/* 80470674 */ void CreateInit_kibako();
/* 804706D4 */ void CreateInit_ironball();
/* 804707E0 */ void CreateInit_taru();
/* 80470840 */ void CreateInit_dokuro();
/* 80470890 */ void CreateInit_bokkuri();
/* 804709DC */ void CreateInit_LightBall();
/* 80470AB4 */ void CreateInit_Lv8Ball();
/* 80470B5C */ void CreateHeap();
/* 80470BF4 */ void create();
/* 80470CF0 */ void checkCreate_LightBallA();
/* 8047114C */ void checkCreate_LightBallB();
/* 804715A8 */ void checkCreate_Lv8Ball();
/* 80471680 */ void resetIconPosForLightBallA();
/* 804716D4 */ void setIconPosForLightBallAAtR00();
/* 804717B4 */ void setIconPosForLightBallBAtR00();
/* 80471894 */ void resetIconPosForLightBallB();
/* 804718E8 */ void execute();
/* 8047233C */ void checkCulling();
/* 80472460 */ void draw();
/* 80472730 */ void debugDraw();
/* 80472734 */ void _delete();
/* 80472B54 */ void crr_pos();
/* 80472D8C */ void check_sink(f32*);
/* 80472E5C */ void calc_gravity();
/* 80472EF0 */ void checkRollAngle();
/* 80473050 */ void mode_proc_call();
/* 804733E8 */ void mode_init_wait();
/* 804734B0 */ void mode_proc_wait();
/* 80473718 */ void mode_init_walk(u8);
/* 804737CC */ void mode_proc_walk();
/* 80473ED8 */ void mode_init_carry();
/* 804741A8 */ void mode_proc_carry();
/* 80474448 */ void mode_init_drop(u8);
/* 80474540 */ void mode_proc_drop();
/* 80474618 */ void mode_init_float();
/* 80474734 */ void mode_proc_float();
/* 80474A08 */ void mode_init_sink();
/* 80474B8C */ void mode_proc_sink();
/* 80474D64 */ void mode_init_yogan();
/* 80474E08 */ void mode_proc_yogan();
/* 80474E98 */ bool mode_proc_magne();
/* 80474EA0 */ bool mode_proc_magneCarry();
/* 80474EA8 */ void mode_init_boomCarry();
/* 80474FA8 */ void mode_proc_boomCarry();
/* 80475014 */ void mode_init_growth();
/* 804750C8 */ void mode_proc_growth();
/* 8047515C */ bool mode_proc_end();
/* 80475164 */ void mode_init_dbDrop(u8);
/* 80475210 */ void mode_proc_dbDrop();
/* 80475238 */ void mode_init_hookCarry();
/* 80475354 */ void mode_proc_hookCarry();
/* 80475384 */ void mode_init_fit();
/* 80475450 */ void mode_proc_fit();
/* 80475478 */ void mode_proc_controled();
/* 804754D0 */ void mode_init_resetLightBall();
/* 80475598 */ void mode_proc_resetLightBall();
/* 80475618 */ void chkSinkAll();
/* 8047567C */ void chkWaterLineIn();
/* 804756D4 */ void chkSinkObj();
/* 8047573C */ void bg_check();
/* 80476618 */ void check_bg_damage_proc_base();
/* 80476764 */ void bg_damage_proc_kotubo();
/* 804767C4 */ void bg_damage_proc_ootubo();
/* 804767E4 */ void bg_damage_proc_kibako();
/* 80476804 */ bool bg_damage_proc_ironball();
/* 8047680C */ void bg_damage_proc_taru();
/* 8047682C */ void bg_damage_proc_dokuro();
/* 8047684C */ void bg_damage_proc_bokkuri();
/* 80476930 */ bool bg_damage_proc_LightBall();
/* 80476938 */ bool bg_damage_proc_Lv8Ball();
/* 80476940 */ void obj_break(bool, bool, bool);
/* 80476A5C */ void check_cc_damage_proc_base(bool);
/* 80476B04 */ void cc_damage_proc_kotubo();
/* 80476B68 */ void cc_damage_proc_ootubo();
/* 80476B88 */ void cc_damage_proc_kibako();
/* 80476CE4 */ void cc_damage_proc_ironball();
/* 80476E04 */ void cc_damage_proc_taru();
/* 80476F88 */ void cc_damage_proc_dokuro();
/* 80476FA8 */ void cc_damage_proc_bokkuri();
/* 804771B0 */ bool cc_damage_proc_LightBall();
/* 804771B8 */ bool cc_damage_proc_Lv8Ball();
/* 804771C0 */ void eff_break_tuboBmd(u16, cXyz);
/* 8047731C */ void eff_break_kibakoBmd(cXyz);
/* 8047747C */ void eff_break_tsubo();
/* 804774D4 */ void eff_break_ootubo();
/* 8047752C */ void eff_break_kibako();
/* 80477574 */ void eff_break_ironball();
/* 80477578 */ void eff_break_taru();
/* 804775BC */ void eff_break_dokuro();
/* 80477614 */ void eff_break_bokkuri();
/* 80477798 */ void eff_break_kotubo2();
/* 804777F0 */ void eff_break_LightBall();
/* 804777F4 */ void eff_break_ootubo2();
/* 8047784C */ void eff_break_Lv8Ball();
/* 80477850 */ void eff_break_tsuboL8();
/* 804778A8 */ void eff_break_ootuboL8();
/* 80477900 */ void se_break(cBgS_PolyInfo*);
/* 80477990 */ void se_put(cBgS_PolyInfo*);
/* 80477A14 */ void se_put_water();
/* 80477A98 */ void se_fall_water();
/* 80477B1C */ void calc_rot_axis_base(u8);
/* 80477FE0 */ void calc_rot_axis_tsubo();
/* 80478004 */ void calc_rot_axis_ootubo();
/* 80478028 */ void calc_rot_axis_kibako();
/* 8047814C */ void calc_rot_axis_ironball();
/* 80478170 */ void calc_rot_axis_taru();
/* 80478190 */ void calc_rot_axis_dokuro();
/* 804781B4 */ void calc_rot_axis_bokkuri();
/* 804783C0 */ void calc_rot_axis_kotubo2();
/* 804783E4 */ void calc_rot_axis_LightBall();
/* 80478408 */ void calc_rot_axis_Lv8Ball();
/* 8047842C */ void set_wind_power();
/* 80478808 */ void exec_proc_tsubo();
/* 80478828 */ void exec_proc_ootubo();
/* 80478848 */ void exec_proc_kibako();
/* 8047884C */ void exec_proc_ironball();
/* 804788C4 */ void exec_proc_taru();
/* 804788C8 */ void exec_proc_dokuro();
/* 804788CC */ void exec_proc_bokkuri();
/* 80478C18 */ void exec_proc_LightBall();
/* 80478CE4 */ void exec_proc_Lv8Ball();
/* 80478D78 */ void bg_damage_proc_call();
/* 80478F50 */ void cc_damage_proc_call();
/* 80479128 */ void eff_break_call();
/* 804792D4 */ void calc_rot_call();
/* 80479480 */ void obj_execute_proc_call();
/* 8047962C */ void setTgHitCallBack();
/* 80479648 */ void setCoHitCallBack();
/* 80479664 */ void CreateInitCall();
static u8 const mData[2072];
};
struct J3DModel {};
struct daMirror_c {
/* 8003194C */ void entry(J3DModel*);
};
@ -240,40 +27,6 @@ struct dTres_c {
/* 8009C3CC */ void setPosition(int, u8, Vec const*, int);
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
/* 800356B4 */ void offActor(int, int);
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349A4 */ void offEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dStage_roomControl_c {
/* 800244E8 */ void checkRoomDisp(int) const;
};
struct dKy_tevstr_c {};
struct J3DModelData {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct JPABaseEmitter {};
struct dPa_modelEcallBack {
/* 8004AC00 */ void setModel(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c const&, u8, void*, u8,
u8);
@ -283,8 +36,6 @@ struct dPa_modelEcallBack {
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
@ -302,81 +53,10 @@ struct dJntCol_c {
/* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct cCcD_Obj {};
struct dCcMassS_Mng {
/* 80085D98 */ void Set(cCcD_Obj*, u8);
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_SrcCyl {};
struct dCcD_SrcCps {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
/* 8046FE68 */ ~dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800842C0 */ void ChkAtHit();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
/* 80084548 */ void GetTgHitGObj();
/* 8008457C */ void GetTgHitObjSe();
/* 800845B0 */ void getHitSeID(u8, int);
/* 80084658 */ void ChkCoHit();
};
struct dCcD_GAtTgCoCommonBase {
/* 80083688 */ void GetAc();
};
struct dCcD_Cyl {
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
};
struct dCcD_Cps {
/* 800847D0 */ void Set(dCcD_SrcCps const&);
};
struct dBgS_SplGrpChk {
/* 80078B90 */ void Set(cXyz&, f32);
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
/* 80078E74 */ void ClrObj();
/* 80078E98 */ void SetLink();
/* 80078F94 */ void SetIronBall();
/* 80078FA0 */ void ClrIronBall();
};
struct dBgS_ObjAcch {
/* 8046FF34 */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 8046FEC4 */ ~dBgS_AcchCir();
};
struct dBgS {
/* 80074B40 */ void ChkMoveBG_NoDABg(cBgS_PolyInfo const&);
/* 80074E50 */ void GetPolyAtt0(cBgS_PolyInfo const&);
@ -384,64 +64,16 @@ struct dBgS {
/* 80075564 */ void SplGrpChk(dBgS_SplGrpChk*);
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
/* 800773A4 */ void ClrMoveBGOnly();
};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8046FD90 */ ~cM3dGSph();
};
struct cM3dGPla {
/* 8046F2F4 */ ~cM3dGPla();
};
struct cM3dGCylS {};
struct cM3dGCyl {
/* 8026F114 */ void Set(cM3dGCylS const&);
/* 8026F1DC */ void SetC(cXyz const&);
/* 8046FDD8 */ ~cM3dGCyl();
};
struct cM3dGCps {
/* 8026EF88 */ cM3dGCps();
/* 8026F000 */ void Set(cXyz const&, cXyz const&, f32);
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 8046FE20 */ ~cM3dGAab();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_Stts {
/* 8026395C */ void ClrCcMove();
};
struct cCcD_GStts {
/* 80479890 */ ~cCcD_GStts();
};
struct cBgS {
/* 80074618 */ void GetActorPointer(int) const;
/* 80074660 */ void ChkPolySafe(cBgS_PolyInfo const&);
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct _GXTexObj {};
struct Z2SoundObjSimple {
/* 802BE844 */ Z2SoundObjSimple();
};
@ -462,16 +94,10 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JUTNameTab {
/* 802DEAF8 */ void getName(u16) const;
};
struct JMath {
static u8 sincosTable_[65536];
};
struct DALKMIST_INFLUENCE {};
//
// Forward References:
//
@ -657,7 +283,6 @@ extern "C" extern char const* const d_a_obj_carry__stringBase0;
// External References:
//
extern "C" void OSReport_Error();
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotS__FPA4_fs();
@ -796,20 +421,6 @@ extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
extern "C" void __ct__16Z2SoundObjSimpleFv();
extern "C" void __dl__FPv();
extern "C" void getName__10JUTNameTabCFUs();
extern "C" void PSMTXIdentity();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXRotAxisRad();
extern "C" void PSMTXTrans();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECScale();
extern "C" void PSVECSquareMag();
extern "C" void PSVECDotProduct();
extern "C" void C_VECReflect();
extern "C" void PSVECSquareDistance();
extern "C" void PSQUATMultiply();
extern "C" void C_QUATSlerp();
extern "C" void __ptmf_scall();
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_23();
@ -826,7 +437,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 ZeroQuat[16];
@ -848,9 +458,7 @@ extern "C" extern u8 g_env_light[4880];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 BaseX__4cXyz[12];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" f32 mGroundY__11fopAcM_gc_c;
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 mEcallback__18dPa_modelEcallBack[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@ -2499,7 +2107,8 @@ static asm void bound(cXyz* param_0, cBgS_PolyInfo const& param_1, f32 param_2)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGPla::~cM3dGPla() {
extern "C" asm void __dt__8cM3dGPlaFv() {
// asm cM3dGPla::~cM3dGPla() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__8cM3dGPlaFv.s"
}
@ -2782,7 +2391,8 @@ asm daObjCarry_c::daObjCarry_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
extern "C" asm void __dt__8cM3dGSphFv() {
// asm cM3dGSph::~cM3dGSph() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__8cM3dGSphFv.s"
}
@ -2792,7 +2402,8 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
// asm cM3dGCyl::~cM3dGCyl() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__8cM3dGCylFv.s"
}
@ -2802,7 +2413,8 @@ asm cM3dGCyl::~cM3dGCyl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
// asm cM3dGAab::~cM3dGAab() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__8cM3dGAabFv.s"
}
@ -2812,7 +2424,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
// asm dCcD_GStts::~dCcD_GStts() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__10dCcD_GSttsFv.s"
}
@ -2822,7 +2435,8 @@ asm dCcD_GStts::~dCcD_GStts() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__12dBgS_AcchCirFv.s"
}
@ -2832,7 +2446,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__12dBgS_ObjAcchFv.s"
}
@ -4690,7 +4305,8 @@ static asm void daObjCarry_Create(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
// asm cCcD_GStts::~cCcD_GStts() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_carry/d_a_obj_carry/__dt__10cCcD_GSttsFv.s"
}

View File

@ -7,38 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTagMmsg_c {
/* 80D5B918 */ void create();
/* 80D5BAB4 */ ~daTagMmsg_c();
/* 80D5BB30 */ void execute();
};
struct daPy_py_c {
static u8 m_midnaActor[4];
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
//
// Forward References:
//

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,8 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor_iter.h"
#include "f_op/f_op_actor_mng.h"
#include "SSystem/SComponent/c_math.h"
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
//
// Types:
@ -21,10 +23,6 @@ struct mDoMtx_stack_c {
static u8 now[48];
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DAnmLoaderDataBaseFlag {};
struct J3DAnmLoaderDataBase {
@ -219,14 +217,18 @@ SECTION_SDATA2 static f32 lit_4250 = 65536.0f;
/* 8015E5B0-8015E654 158EF0 00A4+00 0/0 1/1 18/18 .text initOffset__20daPy_boomerangMove_cFPC4cXyz
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
nofralloc
#include "asm/d/a/d_a_player/initOffset__20daPy_boomerangMove_cFPC4cXyz.s"
void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
if (boomerang != NULL) {
bgCheckAfterOffset(param_0);
boomerang->onWindCatch();
} else {
field_0x4 = cM_rndF(lit_4248) + lit_4247;
field_0x8 = cM_rndF(lit_4249) + lit_4249;
field_0x2 = cM_rndF(lit_4250);
}
field_0x0 = 0;
}
#pragma pop
/* ############################################################################################## */
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
@ -277,6 +279,17 @@ SECTION_SDATA2 static u8 lit_4381[8] = {
/* 8015E87C-8015EA0C 1591BC 0190+00 1/1 1/1 17/17 .text
* bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz */
// matches with literals (used in inlines)
#ifdef NONMATCHING
void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
if (boomerang != NULL) {
field_0x4 = param_0->y - boomerang->mCurrent.mPosition.y;
field_0x8 = boomerang->mCurrent.mPosition.absXZ(*param_0);
field_0x2 = cM_atan2s(param_0->x - boomerang->mCurrent.mPosition.x, param_0->z - boomerang->mCurrent.mPosition.z);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -285,6 +298,7 @@ asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
#include "asm/d/a/d_a_player/bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz.s"
}
#pragma pop
#endif
/* 8015EA0C-8015EA20 15934C 0014+00 0/0 3/3 0/0 .text setParamData__9daPy_py_cFiiii */
#pragma push
@ -323,7 +337,7 @@ asm BOOL daPy_py_c::checkFishingRodItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkBombItem(int param_0) {
asm BOOL daPy_py_c::checkBombItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkBombItem__9daPy_py_cFi.s"
}
@ -333,7 +347,7 @@ asm void daPy_py_c::checkBombItem(int param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkBottleItem(int param_0) {
asm BOOL daPy_py_c::checkBottleItem(int param_0) {
nofralloc
#include "asm/d/a/d_a_player/checkBottleItem__9daPy_py_cFi.s"
}
@ -352,40 +366,24 @@ asm void daPy_py_c::checkDrinkBottleItem(int param_0) {
/* 8015EB40-8015EB68 159480 0028+00 0/0 4/4 0/0 .text checkOilBottleItem__9daPy_py_cFi */
BOOL daPy_py_c::checkOilBottleItem(int i_itemNo) {
bool isOilBottleItem = false;
if (i_itemNo == CHUCHU_YELLOW || i_itemNo == OIL_BOTTLE_2 || i_itemNo == OIL_BOTTLE) {
isOilBottleItem = true;
}
return isOilBottleItem;
return i_itemNo == CHUCHU_YELLOW || i_itemNo == OIL_BOTTLE_2 || i_itemNo == OIL_BOTTLE;
}
/* 8015EB68-8015EB90 1594A8 0028+00 0/0 2/2 0/0 .text checkOpenBottleItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkOpenBottleItem(int i_itemNo) {
bool isOpenBottleItem = false;
if (i_itemNo == WATER_BOTTLE || i_itemNo == WORM || i_itemNo == FAIRY) {
isOpenBottleItem = true;
}
return isOpenBottleItem;
return i_itemNo == WATER_BOTTLE || i_itemNo == WORM || i_itemNo == FAIRY;
}
/* 8015EB90-8015EBB8 1594D0 0028+00 0/0 11/11 0/0 .text checkBowItem__9daPy_py_cFi */
BOOL daPy_py_c::checkBowItem(int i_itemNo) {
bool isBowItem = false;
if (i_itemNo == BOW || i_itemNo == BOMB_ARROW || i_itemNo == HAWK_ARROW) {
isBowItem = true;
}
return isBowItem;
return i_itemNo == BOW || i_itemNo == BOMB_ARROW || i_itemNo == HAWK_ARROW;
}
/* 8015EBB8-8015EBD8 1594F8 0020+00 0/0 23/23 0/0 .text checkHookshotItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkHookshotItem(int i_itemNo) {
bool isHookshotItem = false;
if (i_itemNo == HOOKSHOT || i_itemNo == W_HOOKSHOT) {
isHookshotItem = true;
}
return isHookshotItem;
return i_itemNo == HOOKSHOT || i_itemNo == W_HOOKSHOT;
}
/* 8015EBD8-8015EC28 159518 0050+00 0/0 3/3 0/0 .text checkTradeItem__9daPy_py_cFi */
@ -401,11 +399,7 @@ asm BOOL daPy_py_c::checkTradeItem(int param_0) {
/* 8015EC28-8015EC48 159568 0020+00 0/0 2/2 0/0 .text checkDungeonWarpItem__9daPy_py_cFi
*/
BOOL daPy_py_c::checkDungeonWarpItem(int i_itemNo) {
bool isDungeonWarpItem = false;
if (i_itemNo == DUNGEON_EXIT || i_itemNo == DUNGEON_BACK) {
isDungeonWarpItem = true;
}
return isDungeonWarpItem;
return i_itemNo == DUNGEON_EXIT || i_itemNo == DUNGEON_BACK;
}
/* 8015EC48-8015ECB8 159588 0070+00 0/0 10/10 3/3 .text setActor__16daPy_actorKeep_cFv */
@ -909,7 +903,7 @@ asm void daPy_py_c::checkRoomRestartStart() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkCarryStartLightBallA() {
asm u32 daPy_py_c::checkCarryStartLightBallA() {
nofralloc
#include "asm/d/a/d_a_player/checkCarryStartLightBallA__9daPy_py_cFv.s"
}
@ -919,7 +913,7 @@ asm void daPy_py_c::checkCarryStartLightBallA() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::checkCarryStartLightBallB() {
asm u32 daPy_py_c::checkCarryStartLightBallB() {
nofralloc
#include "asm/d/a/d_a_player/checkCarryStartLightBallB__9daPy_py_cFv.s"
}
@ -962,14 +956,9 @@ bool daPy_py_c::checkBoomerangChargeTime() {
}
/* 8015F8D0-8015F8E4 15A210 0014+00 3/3 1/1 5/5 .text getThrowBoomerangActor__9daPy_py_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daPy_py_c::getThrowBoomerangActor() {
nofralloc
#include "asm/d/a/d_a_player/getThrowBoomerangActor__9daPy_py_cFv.s"
daBoomerang_c* daPy_py_c::getThrowBoomerangActor() {
return static_cast<daBoomerang_c*>(daAlink_getAlinkActorClass()->getThrowBoomerangAcKeep()->getActor());
}
#pragma pop
/* 8015F8E4-8015F914 15A224 0030+00 0/0 0/0 2/2 .text
* cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */

View File

@ -813,6 +813,6 @@ static asm void func_8007748C() {
#pragma pop
/* 80077494-8007749C 071DD4 0008+00 0/0 1/0 0/0 .text checkPlayerFly__9daPy_py_cCFv */
bool daPy_py_c::checkPlayerFly() const {
return false;
u32 daPy_py_c::checkPlayerFly() const {
return 0;
}

View File

@ -401,7 +401,7 @@ inline u8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
}
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
return g_dComIfG_gameInfo.info.getEvent().isEventBit(id);
}
inline int dComIfGs_isItemFirstBit(u8 i_no) {
@ -978,9 +978,9 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
else if (dComIfGs_isTmpBit(0x0601)) {
if (dComIfGs_isTmpBit(0x0602)) {
layer = 2;
} else {
layer = 3;
}
} else {
layer = 3;
}
}
@ -1150,22 +1150,22 @@ int dComIfG_play_c::getLayerNo_common_common(const char* stageName, int roomId,
layer = 13;
}
}
}
// Stage is Hyrule Castle Sewers and room is Prison Cell
if (!strcmp(stageName, "R_SP107") && roomId == 0) {
// Haven't been to Hyrule Castle Sewers
if (!dComIfGs_isEventBit(0x4D08)) {
layer = 11;
}
// Stage is Hyrule Castle Sewers and room is Prison Cell
if (!strcmp(stageName, "R_SP107") && roomId == 0) {
// Haven't been to Hyrule Castle Sewers
if (!dComIfGs_isEventBit(0x4D08)) {
layer = 11;
}
// Stage and room is Zant Throne Room
else if (!strcmp(stageName, "D_MN08A") && roomId == 10) {
// Defeated Zant
if (dComIfGs_isEventBit(0x5410)) {
layer = 1;
} else {
layer = 0;
}
}
// Stage and room is Zant Throne Room
else if (!strcmp(stageName, "D_MN08A") && roomId == 10) {
// Defeated Zant
if (dComIfGs_isEventBit(0x5410)) {
layer = 1;
} else {
layer = 0;
}
}
}
@ -1728,7 +1728,7 @@ asm void dComIfGs_offOneZoneSwitch(int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
asm BOOL dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneSwitch__Fii.s"
}

View File

@ -1,445 +1,243 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_att_dist
//
#include "d/d_att_dist.h"
#include "d/d_attention.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct dAttention_c {
static u8 dist_table[6552];
};
//
// Forward References:
//
extern "C" u8 dist_table__12dAttention_c[6552];
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 803A9C70-803AB608 006D90 1998+00 0/0 5/5 13/13 .data dist_table__12dAttention_c */
SECTION_DATA u8 dAttention_c::dist_table[6552] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3C, 0x23, 0xD7, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00,
0x43, 0xBB, 0x80, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC3, 0xC8, 0x00, 0x00,
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3B, 0x80, 0x00, 0x43, 0x7A, 0x00, 0x00,
0x43, 0x9C, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0xBB, 0x80, 0x00, 0x44, 0xFA, 0x00, 0x00,
0xC4, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3B, 0x80, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x43, 0x9C, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x42, 0x48, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x34, 0x00, 0x00,
0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00,
0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC2, 0xDC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x41, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x43, 0x48, 0x00, 0x00, 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00,
0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x48, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xA0, 0x00, 0x00,
0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0xC4, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x48, 0x00, 0x00, 0xC4, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x7A, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
0x45, 0x8C, 0xA0, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x1C, 0x40, 0x00, 0x45, 0x22, 0x80, 0x00, 0x45, 0x1C, 0x40, 0x00, 0x45, 0x1C, 0x40, 0x00,
0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00,
0x45, 0xAB, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x9C, 0x40, 0x00, 0x45, 0xAB, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
0xC2, 0xF0, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0xBF, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x16, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x16, 0x00, 0x00,
0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x7A, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00,
0x44, 0xE1, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x44, 0x3B, 0x80, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x44, 0xE1, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0xC4, 0x89, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3C, 0x23, 0xD7, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x5C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x44, 0xED, 0x80, 0x00, 0x44, 0xED, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0xFA, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0xED, 0x80, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xA0, 0x00, 0x00,
0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xF0, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0xC2, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x43, 0x02, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x42, 0x34, 0x00, 0x00, 0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x43, 0x20, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00,
0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x3E, 0x00, 0x00,
0x43, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC2, 0xDC, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x16, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00,
0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x42, 0xC8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0xBB, 0x80, 0x00, 0x44, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0xC3, 0xC8, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x46, 0x1C, 0x40, 0x00, 0x46, 0x1F, 0x60, 0x00,
0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
0x42, 0xC8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x42, 0x34, 0x00, 0x00, 0xC2, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x47, 0xC3, 0x50, 0x00, 0x47, 0xC3, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xC3, 0x50, 0x00,
0xC7, 0xC3, 0x50, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00,
0x46, 0x1D, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC4, 0xFA, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x2F, 0x00, 0x00,
0xC4, 0x2F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00,
0x46, 0x1F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1C, 0x40, 0x00, 0xC6, 0x1C, 0x40, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x44, 0xFA, 0x00, 0x00, 0x45, 0x09, 0x80, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x44, 0x16, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x16, 0x00, 0x00, 0xC4, 0x16, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x44, 0x96, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x44, 0x96, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00,
0xC3, 0xFA, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00,
0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0x3B, 0x80, 0x00,
0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x44, 0x16, 0x00, 0x00, 0x44, 0x3B, 0x80, 0x00, 0x43, 0x48, 0x00, 0x00,
0xC3, 0x48, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x7A, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00,
0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x45, 0x3B, 0x80, 0x00, 0x45, 0x41, 0xC0, 0x00,
0x43, 0x96, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC5, 0x3B, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x45, 0x03, 0x40, 0x00, 0x43, 0x96, 0x00, 0x00,
0x44, 0xFA, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x16, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0xC2, 0xC8, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x45, 0x5A, 0xC0, 0x00,
0x45, 0x5A, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x3B, 0x80, 0x00, 0xC5, 0x3B, 0x80, 0x00,
0x42, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x1C, 0x40, 0x00,
0x43, 0xFA, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC4, 0x7A, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x16, 0x00, 0x00,
0x43, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0xC3, 0x02, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0xBB, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x43, 0xFA, 0x00, 0x00, 0xC3, 0xFA, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0xFA, 0x00, 0x00, 0x44, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
0xC4, 0x7A, 0x00, 0x00, 0x3D, 0xCC, 0xCC, 0xCD, 0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x20, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00,
0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x48, 0x00, 0x00,
0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0x48, 0x00, 0x00,
0x43, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x24, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x24, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x24, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x22, 0x80, 0x00, 0x44, 0x2F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x24, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x24, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x44, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x84, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x84, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x84, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x84, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x84, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0x04, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x54, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x48, 0x00, 0x00,
0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x01, 0x04, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x42, 0x48, 0x00, 0x00, 0x42, 0x8C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x43, 0x16, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x48, 0x00, 0x00,
0x43, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x43, 0x96, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x43, 0xAF, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0xC8, 0x00, 0x00,
0x43, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x43, 0xE1, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x43, 0xFA, 0x00, 0x00, 0x44, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x44, 0x09, 0x80, 0x00, 0x44, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x16, 0x00, 0x00,
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x22, 0x80, 0x00, 0x44, 0x3B, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x44, 0x2F, 0x00, 0x00, 0x44, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x44, 0x3B, 0x80, 0x00, 0x44, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x48, 0x00, 0x00,
0x44, 0x6D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x54, 0x80, 0x00, 0x44, 0x7A, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x04, 0x44, 0x61, 0x00, 0x00, 0x44, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
0x44, 0x6D, 0x80, 0x00, 0x44, 0x8F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00,
0xC3, 0x96, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x44, 0x7A, 0x00, 0x00,
0x44, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
dist_entry dAttention_c::dist_table[234] = {
{ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.01f, 0 },
{ 250.0f, 375.0f, 500.0f, 400.0f, -400.0f, 0.5f, 0 },
{ 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.0f, 0 },
{ 375.0f, 625.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
{ 500.0f, 600.0f, 1500.0f, 2000.0f, -2000.0f, 10.0f, 0 },
{ 187.5f, 250.0f, 312.5f, 300.0f, -300.0f, 1.0f, 0 },
{ 80.0f, 100.0f, 0.0f, 30.0f, -130.0f, 1.0f, 1 },
{ 100.0f, 120.0f, 0.0f, 50.0f, -120.0f, 1.0f, 1 },
{ 100.0f, 120.0f, 0.0f, 45.0f, -125.0f, 1.0f, 1 },
{ 100.0f, 120.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
{ 80.0f, 100.0f, 0.0f, 40.0f, -110.0f, 1.0f, 1 },
{ 80.0f, 100.0f, 0.0f, 10.0f, -130.0f, 1.0f, 1 },
{ 200.0f, 240.0f, 0.0f, 100.0f, -120.0f, 1.0f, 1 },
{ 100.0f, 120.0f, 0.0f, 30.0f, -240.0f, 1.0f, 1 },
{ 200.0f, 220.0f, 0.0f, 200.0f, -200.0f, 10.0f, 4 },
{ 100.0f, 120.0f, 300.0f, 300.0f, -200.0f, 1.0f, 4 },
{ 100.0f, 120.0f, 0.0f, 20.0f, -120.0f, 1.0f, 0 },
{ 200.0f, 200.0f, 0.0f, 400.0f, -120.0f, 1.0f, 1 },
{ 500.0f, 700.0f, 0.0f, 800.0f, -800.0f, 1.0f, 0 },
{ 500.0f, 700.0f, 0.0f, 800.0f, -800.0f, 1.0f, 0 },
{ 1000.0f, 1100.0f, 0.0f, 700.0f, -300.0f, 1.0f, 0 },
{ 150.0f, 200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 0 },
{ 500.0f, 600.0f, 4500.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 400.0f, 450.0f, 200.0f, 500.0f, -500.0f, 1.0f, 0 },
{ 2500.0f, 2600.0f, 2500.0f, 2500.0f, -2000.0f, 1.0f, 0 },
{ 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 5000.0f, 5500.0f, 0.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 180.0f, 180.0f, 0.0f, 30.0f, -130.0f, 1.0f, 0 },
{ 500.0f, 600.0f, 0.0f, 600.0f, -120.0f, 100.0f, 0 },
{ 1000.0f, 1000.0f, 0.0f, 500.0f, -500.0f, 1.0f, 0 },
{ -1.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0 },
{ 120.0f, 120.0f, 0.0f, 30.0f, -130.0f, 1.0f, 0 },
{ 150.0f, 160.0f, 0.0f, 200.0f, -200.0f, 1.0f, 4 },
{ 150.0f, 160.0f, 0.0f, 150.0f, -150.0f, 1.0f, 132 },
{ 1000.0f, 1200.0f, 1800.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 375.0f, 625.0f, 500.0f, 750.0f, -500.0f, 1.0f, 0 },
{ 1200.0f, 1800.0f, 1200.0f, 500.0f, -1100.0f, 1.0f, 0 },
{ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.01f, 0 },
{ 200.0f, 220.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 1900.0f, 1900.0f, 0.0f, 2000.0f, -300.0f, 1.0f, 0 },
{ 1900.0f, 2000.0f, 0.0f, 2000.0f, -300.0f, 1.0f, 1 },
{ 80.0f, 100.0f, 0.0f, 30.0f, -130.0f, 1.0f, 1 },
{ 100.0f, 110.0f, 0.0f, 50.0f, -120.0f, 1.0f, 4 },
{ 130.0f, 140.0f, 0.0f, 45.0f, -125.0f, 1.0f, 1 },
{ 160.0f, 180.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
{ 190.0f, 210.0f, 0.0f, 40.0f, -110.0f, 1.0f, 1 },
{ 375.0f, 625.0f, 500.0f, 800.0f, -500.0f, 10.0f, 0 },
{ 100.0f, 400.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
{ 150.0f, 160.0f, 0.0f, 200.0f, -200.0f, 1.0f, 4 },
{ 1000.0f, 1100.0f, 0.0f, 200.0f, -200.0f, 1.0f, 0 },
{ 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 100.0f, 0 },
{ 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
{ 1500.0f, 1800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 1000.0f, 1200.0f, 0.0f, 400.0f, -400.0f, 1.0f, 4 },
{ 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 0 },
{ 200.0f, 240.0f, 0.0f, 700.0f, 100.0f, 1.0f, 0 },
{ 600.0f, 700.0f, 0.0f, 700.0f, 100.0f, 1.0f, 0 },
{ 700.0f, 1000.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
{ 130.0f, 140.0f, 0.0f, 45.0f, -125.0f, 1.0f, 0 },
{ 100000.0f, 100100.0f, 0.0f, 100000.0f, -100000.0f, 1.0f, 0 },
{ 10000.0f, 10100.0f, 0.0f, 3000.0f, -2000.0f, 300.0f, 0 },
{ 700.0f, 1000.0f, 500.0f, 1000.0f, -500.0f, 10.0f, 0 },
{ 500.0f, 600.0f, 0.0f, 500.0f, -500.0f, 1.0f, 0 },
{ 700.0f, 800.0f, 0.0f, 700.0f, -700.0f, 1.0f, 0 },
{ 10000.0f, 10200.0f, 0.0f, 10000.0f, -10000.0f, 1.0f, 0 },
{ 400.0f, 450.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
{ 500.0f, 550.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
{ 2000.0f, 2200.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
{ 500.0f, 600.0f, 200.0f, 500.0f, -500.0f, 1.0f, 0 },
{ 300.0f, 350.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
{ 500.0f, 550.0f, 0.0f, 600.0f, -600.0f, 1.0f, 4 },
{ 1200.0f, 2000.0f, 1200.0f, 800.0f, -500.0f, 2.0f, 0 },
{ 160.0f, 180.0f, 0.0f, 40.0f, -130.0f, 1.0f, 0 },
{ 140.0f, 150.0f, 0.0f, 250.0f, -50.0f, 1.0f, 1 },
{ 500.0f, 600.0f, 750.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 500.0f, 600.0f, 750.0f, 200.0f, -200.0f, 1.0f, 0 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 4 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 4 },
{ 1000.0f, 2000.0f, 0.0f, 1000.0f, -1000.0f, 0.1f, 0 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 2.5f, 4 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 2.5f, 4 },
{ 3000.0f, 3100.0f, 300.0f, 3000.0f, -3000.0f, 1.0f, 0 },
{ 2000.0f, 2100.0f, 300.0f, 2000.0f, -2000.0f, 1.0f, 0 },
{ 150.0f, 200.0f, 0.0f, 100.0f, -100.0f, 1.0f, 17 },
{ 3500.0f, 3500.0f, 0.0f, 3000.0f, -3000.0f, 100.0f, 0 },
{ 375.0f, 625.0f, 500.0f, 500.0f, -500.0f, 40.0f, 0 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 68 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -1000.0f, 1.0f, 68 },
{ 150.0f, 150.0f, 0.0f, 40.0f, -130.0f, 1.0f, 1 },
{ 100.0f, 100.0f, 0.0f, 40.0f, -130.0f, 1.0f, 0 },
{ 375.0f, 1000.0f, 500.0f, 500.0f, -500.0f, 10.0f, 0 },
{ 2000.0f, 2000.0f, 0.0f, 1000.0f, -1000.0f, 0.1f, 4 },
{ 100.0f, 200.0f, 0.0f, 160.0f, -150.0f, 10.0f, 4 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 200.0f, 240.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 12 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 200.0f, 240.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 20 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 650.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 36 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 68 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 132 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 750.0f, 850.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 800.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 260 },
{ 50.0f, 70.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 100.0f, 120.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 150.0f, 180.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 200.0f, 250.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 250.0f, 300.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 300.0f, 350.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 350.0f, 400.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 400.0f, 450.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 450.0f, 500.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 500.0f, 550.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 550.0f, 650.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 600.0f, 700.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 650.0f, 750.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 700.0f, 800.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 750.0f, 900.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 800.0f, 950.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 850.0f, 1000.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 900.0f, 1100.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 950.0f, 1150.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
{ 1000.0f, 1200.0f, 0.0f, 300.0f, -300.0f, 1.0f, 4 },
};

View File

@ -177,13 +177,11 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void tan();
extern "C" extern void* __vt__25mDoExt_McaMorfCallBack1_c[3];
extern "C" u8 dist_table__12dAttention_c[6552];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
extern "C" extern u8 data_80450F58[8];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@ -936,7 +934,7 @@ asm void dAttention_c::CheckObjectTarget(s32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dAttention_c::LockonTruth() {
asm bool dAttention_c::LockonTruth() {
nofralloc
#include "asm/d/d_attention/LockonTruth__12dAttention_cFv.s"
}

View File

@ -288,7 +288,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void fmod();
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
extern "C" extern void* __vt__26mDoExt_3DlineMatSortPacket[5];
extern "C" extern void* __vt__12dDlst_base_c[3];
@ -303,7 +302,6 @@ extern "C" u8 mBackColor__13mDoGph_gInf_c[4];
extern "C" extern u8 g_clearColor[4];
extern "C" extern u32 g_blackColor;
extern "C" extern u32 g_whiteColor;
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
extern "C" f32 mSystemFar__14mDoLib_clipper;
extern "C" f32 mFovyRate__14mDoLib_clipper;

View File

@ -88,7 +88,6 @@ extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* __vt__8cM3dGCyl[3];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 BaseZ__4cXyz[12];
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_max;
//

View File

@ -616,7 +616,7 @@ SECTION_DEAD static char const* const stringBase_8037A0C5 = "Link";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
asm s32 dEvent_manager_c::getMyStaffId(char const* param_0, fopAc_ac_c* param_1, int param_2) {
nofralloc
#include "asm/d/event/d_event_manager/getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci.s"
}

View File

@ -3204,7 +3204,7 @@ static asm void dKy_F_SP121Check(char const* param_0, int param_1, u8* param_2,
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dKy_darkworld_stage_check(char const* param_0, int param_1) {
asm bool dKy_darkworld_stage_check(char const* param_0, int param_1) {
nofralloc
#include "asm/d/kankyo/d_kankyo/dKy_darkworld_stage_check__FPCci.s"
}

View File

@ -605,8 +605,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 g_whiteColor;
extern "C" extern u32 __float_nan;
extern "C" extern u32 __float_epsilon;
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
extern "C" extern u8 JPTracePCB4[4];
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];

View File

@ -9,15 +9,7 @@
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct daObjCarry_c {
/* 80031CF8 */ void clrSaveFlag();
/* 80031D04 */ void setSaveFlag();
};
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
//
// Forward References:
@ -1456,11 +1448,11 @@ bool dSv_danBit_c::init(s8 i_stage) {
unk28[i] = 0xFFFF;
}
clrSaveFlag__12daObjCarry_cFv();
daObjCarry_c::clrSaveFlag();
return true;
} else {
setSaveFlag__12daObjCarry_cFv();
daObjCarry_c::setSaveFlag();
return false;
}
}

View File

@ -596,7 +596,6 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" f32 mParentS__6J3DSys[3];
extern "C" u8 sGDLObj__17J3DDisplayListObj[16];
extern "C" extern u32 __float_nan;
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" u8 sCurrentHeap__7JKRHeap[4];
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];

View File

@ -71,7 +71,6 @@ extern "C" void __register_global_object();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_epsilon;
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
//