mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
432 lines
14 KiB
C++
432 lines
14 KiB
C++
#ifndef D_CAM_PARAM_H
|
|
#define D_CAM_PARAM_H
|
|
|
|
#include "dolphin/types.h"
|
|
#include "SSystem/SComponent/c_angle.h"
|
|
|
|
enum dCamStyle_e {
|
|
dCamStyle_NONE_e = -1,
|
|
/* 0x00 */ dCamStyle_NN00_e,
|
|
/* 0x01 */ dCamStyle_FN08_e,
|
|
/* 0x02 */ dCamStyle_PN05_e,
|
|
/* 0x03 */ dCamStyle_PN12_e,
|
|
/* 0x04 */ dCamStyle_EN00_e,
|
|
/* 0x05 */ dCamStyle_FN12_e,
|
|
/* 0x06 */ dCamStyle_TT01_e,
|
|
/* 0x07 */ dCamStyle_TT02_e,
|
|
/* 0x08 */ dCamStyle_TT03_e,
|
|
/* 0x09 */ dCamStyle_LA03_e,
|
|
/* 0x0A */ dCamStyle_LP01_e,
|
|
/* 0x0B */ dCamStyle_LA02_e,
|
|
/* 0x0C */ dCamStyle_FN13_e,
|
|
/* 0x0D */ dCamStyle_LH01_e,
|
|
/* 0x0E */ dCamStyle_LH02_e,
|
|
/* 0x0F */ dCamStyle_LB02_e,
|
|
/* 0x10 */ dCamStyle_LP02_e,
|
|
/* 0x11 */ dCamStyle_LP03_e,
|
|
/* 0x12 */ dCamStyle_LP04_e,
|
|
/* 0x13 */ dCamStyle_CC01_e,
|
|
/* 0x14 */ dCamStyle_CC02_e,
|
|
/* 0x15 */ dCamStyle_LL06_e,
|
|
/* 0x16 */ dCamStyle_LL08_e,
|
|
/* 0x17 */ dCamStyle_LL07_e,
|
|
/* 0x18 */ dCamStyle_LP10_e,
|
|
/* 0x19 */ dCamStyle_SN15_e,
|
|
/* 0x1A */ dCamStyle_BW07_e,
|
|
/* 0x1B */ dCamStyle_FN18_e,
|
|
/* 0x1C */ dCamStyle_JN05_e,
|
|
/* 0x1D */ dCamStyle_XN06_e,
|
|
/* 0x1E */ dCamStyle_LB01_e,
|
|
/* 0x1F */ dCamStyle_LA01_e,
|
|
/* 0x20 */ dCamStyle_BP07_e,
|
|
/* 0x21 */ dCamStyle_LW02_e,
|
|
/* 0x22 */ dCamStyle_HP16_e,
|
|
/* 0x23 */ dCamStyle_HN16_e,
|
|
/* 0x24 */ dCamStyle_BN07_e,
|
|
/* 0x25 */ dCamStyle_LP05_e,
|
|
/* 0x26 */ dCamStyle_LP06_e,
|
|
/* 0x27 */ dCamStyle_HN18_e,
|
|
/* 0x28 */ dCamStyle_FN25_e,
|
|
/* 0x29 */ dCamStyle_BP08_e,
|
|
/* 0x2A */ dCamStyle_BN08_e,
|
|
/* 0x2B */ dCamStyle_FN29_e,
|
|
/* 0x2C */ dCamStyle_SX01_e,
|
|
/* 0x2D */ dCamStyle_SY01_e,
|
|
/* 0x2E */ dCamStyle_SX02_e,
|
|
/* 0x2F */ dCamStyle_MM06_e,
|
|
/* 0x30 */ dCamStyle_MM05_e,
|
|
/* 0x31 */ dCamStyle_MM09_e,
|
|
/* 0x32 */ dCamStyle_MM04_e,
|
|
/* 0x33 */ dCamStyle_LN17_e,
|
|
/* 0x34 */ dCamStyle_QN07_e,
|
|
/* 0x35 */ dCamStyle_LE01_e,
|
|
/* 0x36 */ dCamStyle_LN01_e,
|
|
/* 0x37 */ dCamStyle_LW01_e,
|
|
/* 0x38 */ dCamStyle_GN01_e,
|
|
/* 0x39 */ dCamStyle_MM01_e,
|
|
#if VERSION <= VERSION_JPN
|
|
dCamStyle_MM03_e,
|
|
#endif
|
|
/* Value comments below are for USA/PAL */
|
|
/* 0x3A */ dCamStyle_MM02_e,
|
|
/* 0x3B */ dCamStyle_MM10_e,
|
|
/* 0x3C */ dCamStyle_MM08_e,
|
|
/* 0x3D */ dCamStyle_MM83_e,
|
|
/* 0x3E */ dCamStyle_FP01_e,
|
|
/* 0x3F */ dCamStyle_ZZ00_e,
|
|
/* 0x40 */ dCamStyle_PN13_e,
|
|
/* 0x41 */ dCamStyle_FN82_e,
|
|
/* 0x42 */ dCamStyle_IN01_e,
|
|
/* 0x43 */ dCamStyle_IN02_e,
|
|
/* 0x44 */ dCamStyle_MM82_e,
|
|
/* 0x45 */ dCamStyle_LL11_e,
|
|
/* 0x46 */ dCamStyle_LL01_e,
|
|
/* 0x47 */ dCamStyle_LL02_e,
|
|
/* 0x48 */ dCamStyle_LL03_e,
|
|
/* 0x49 */ dCamStyle_LL04_e,
|
|
/* 0x4A */ dCamStyle_LL05_e,
|
|
/* 0x4B */ dCamStyle_LL10_e,
|
|
/* 0x4C */ dCamStyle_LL09_e,
|
|
/* 0x4D */ dCamStyle_LL12_e,
|
|
/* 0x4E */ dCamStyle_LL13_e,
|
|
/* 0x4F */ dCamStyle_LL14_e,
|
|
/* 0x50 */ dCamStyle_LL15_e,
|
|
/* 0x51 */ dCamStyle_LL16_e,
|
|
/* 0x52 */ dCamStyle_LL82_e,
|
|
/* 0x53 */ dCamStyle_FN01_e,
|
|
/* 0x54 */ dCamStyle_FN02_e,
|
|
/* 0x55 */ dCamStyle_FN03_e,
|
|
/* 0x56 */ dCamStyle_FN04_e,
|
|
/* 0x57 */ dCamStyle_FN06_e,
|
|
/* 0x58 */ dCamStyle_FN09_e,
|
|
/* 0x59 */ dCamStyle_FN07_e,
|
|
/* 0x5A */ dCamStyle_FN10_e,
|
|
/* 0x5B */ dCamStyle_FN14_e,
|
|
/* 0x5C */ dCamStyle_FN15_e,
|
|
/* 0x5D */ dCamStyle_FN17_e,
|
|
/* 0x5E */ dCamStyle_FN20_e,
|
|
/* 0x5F */ dCamStyle_FN21_e,
|
|
/* 0x60 */ dCamStyle_FN22_e,
|
|
/* 0x61 */ dCamStyle_FN23_e,
|
|
/* 0x62 */ dCamStyle_FN24_e,
|
|
/* 0x63 */ dCamStyle_FN26_e,
|
|
/* 0x64 */ dCamStyle_FN27_e,
|
|
/* 0x65 */ dCamStyle_FN28_e,
|
|
/* 0x66 */ dCamStyle_FN30_e,
|
|
/* 0x67 */ dCamStyle_FN31_e,
|
|
/* 0x68 */ dCamStyle_FN32_e,
|
|
/* 0x69 */ dCamStyle_FN33_e,
|
|
/* 0x6A */ dCamStyle_FN34_e,
|
|
/* 0x6B */ dCamStyle_FN35_e,
|
|
/* 0x6C */ dCamStyle_LL17_e,
|
|
/* 0x6D */ dCamStyle_FN37_e,
|
|
#if VERSION <= VERSION_JPN
|
|
dCamStyle_FN38_e,
|
|
#endif
|
|
/* 0x6E */ dCamStyle_BE08_e,
|
|
/* 0x6F */ dCamStyle_BE07_e,
|
|
/* 0x70 */ dCamStyle_TT04_e,
|
|
/* 0x71 */ dCamStyle_FP38_e,
|
|
/* 0x72 */ dCamStyle_FN39_e,
|
|
/* 0x73 */ dCamStyle_MM16_e,
|
|
/* 0x74 */ dCamStyle_MM14_e,
|
|
/* 0x75 */ dCamStyle_MM15_e,
|
|
/* 0x76 */ dCamStyle_MM07_e,
|
|
/* 0x77 */ dCamStyle_FN81_e,
|
|
/* 0x78 */ dCamStyle_FN40_e,
|
|
/* 0x79 */ dCamStyle_FN41_e,
|
|
/* 0x7A */ dCamStyle_FN19_e,
|
|
/* 0x7B */ dCamStyle_LL81_e,
|
|
/* 0x7C */ dCamStyle_DD01_e,
|
|
/* 0x7D */ dCamStyle_MM19_e,
|
|
/* 0x7E */ dCamStyle_DD02_e,
|
|
/* 0x7F */ dCamStyle_FN42_e,
|
|
/* 0x80 */ dCamStyle_IN03_e,
|
|
/* 0x81 */ dCamStyle_FN43_e,
|
|
/* 0x82 */ dCamStyle_FN11_e,
|
|
/* 0x83 */ dCamStyle_MM21_e,
|
|
/* 0x84 */ dCamStyle_MM20_e,
|
|
/* 0x85 */ dCamStyle_FN05_e,
|
|
/* 0x86 */ dCamStyle_FN36_e,
|
|
/* 0x87 */ dCamStyle_MM81_e,
|
|
/* 0x88 */ dCamStyle_SS01_e,
|
|
/* 0x89 */ dCamStyle_LL18_e,
|
|
/* 0x8A */ dCamStyle_DD04_e,
|
|
/* 0x8B */ dCamStyle_MM22_e,
|
|
/* 0x8C */ dCamStyle_MM18_e,
|
|
/* 0x8D */ dCamStyle_MM17_e,
|
|
#if VERSION > VERSION_JPN
|
|
/* 0x8E */ dCamStyle_MM03_e,
|
|
/* 0x8F */ dCamStyle_MM23_e,
|
|
/* 0x90 */ dCamStyle_FN38_e,
|
|
#endif
|
|
};
|
|
|
|
// Array indexes, do not change values
|
|
enum dCamStyleParam_e {
|
|
/* 0x00 */ dCamStyleParam_UNK0 = 0,
|
|
/* 0x01 */ dCamStyleParam_UNK1 = 1,
|
|
/* 0x02 */ dCamStyleParam_UNK2 = 2,
|
|
/* 0x03 */ dCamStyleParam_UNK3 = 3,
|
|
/* 0x04 */ dCamStyleParam_UNK4 = 4,
|
|
/* 0x05 */ dCamStyleParam_CENTER_HEIGHT_BASE = 5,
|
|
/* 0x06 */ dCamStyleParam_CENTER_HEIGHT_UPPER = 6,
|
|
/* 0x07 */ dCamStyleParam_CENTER_HEIGHT_LOWER = 7,
|
|
/* 0x08 */ dCamStyleParam_LOCKON_CENTER_HEIGHT_MIN = 8,
|
|
/* 0x09 */ dCamStyleParam_LOCKON_CENTER_HEIGHT_MAX = 9,
|
|
/* 0x0A */ dCamStyleParam_UNK10 = 10,
|
|
/* 0x0B */ dCamStyleParam_UNK11 = 11,
|
|
/* 0x0C */ dCamStyleParam_UNK12 = 12,
|
|
/* 0x0D */ dCamStyleParam_UNK13 = 13,
|
|
/* 0x0E */ dCamStyleParam_UNK14 = 14,
|
|
/* 0x0F */ dCamStyleParam_UNK15 = 15,
|
|
/* 0x10 */ dCamStyleParam_UNK16 = 16,
|
|
/* 0x11 */ dCamStyleParam_UNK17 = 17,
|
|
/* 0x12 */ dCamStyleParam_LOCKON_LATITUDE_MIN = 18,
|
|
/* 0x13 */ dCamStyleParam_LOCKON_LATITUDE_MAX = 19,
|
|
/* 0x14 */ dCamStyleParam_UNK20 = 20,
|
|
/* 0x15 */ dCamStyleParam_UNK21 = 21,
|
|
/* 0x16 */ dCamStyleParam_UNK22 = 22,
|
|
/* 0x17 */ dCamStyleParam_LOCKON_LONGITUDE_MIN = 23,
|
|
/* 0x18 */ dCamStyleParam_LOCKON_LONGITUDE_MAX = 24,
|
|
/* 0x19 */ dCamStyleParam_FOVY_BASE = 25,
|
|
/* 0x1A */ dCamStyleParam_FOVY_UPPER = 26,
|
|
/* 0x1B */ dCamStyleParam_FOVY_LOWER = 27,
|
|
/* 0x1C */ dCamStyleParam_LOCKON_FOVY_MIN = 28,
|
|
/* 0x1D */ dCamStyleParam_LOCKON_FOVY_MAX = 29,
|
|
};
|
|
|
|
enum dCamParamFlag_e {
|
|
dCamPrmFlg_UNK001 = 0x001,
|
|
dCamPrmFlg_UNK002 = 0x002,
|
|
dCamPrmFlg_UNK004 = 0x004,
|
|
dCamPrmFlg_UNK010 = 0x010,
|
|
dCamPrmFlg_UNK020 = 0x020,
|
|
dCamPrmFlg_UNK040 = 0x040,
|
|
dCamPrmFlg_UNK080 = 0x080,
|
|
dCamPrmFlg_UNK100 = 0x100,
|
|
dCamPrmFlg_UNK200 = 0x200,
|
|
dCamPrmFlg_UNK400 = 0x400,
|
|
};
|
|
|
|
struct dCamera__Style {
|
|
/* 0x00 */ u32 m00;
|
|
/* 0x04 */ int engineIdx;
|
|
/* 0x08 */ f32 styleParam[30];
|
|
/* 0x80 */ u16 flag;
|
|
}; // Size: 0x84
|
|
|
|
class dCstick_c {
|
|
public:
|
|
/* 0x00 */ f32 m00;
|
|
/* 0x04 */ f32 m04;
|
|
/* 0x08 */ u32 m08;
|
|
/* 0x0C */ u8 m0C[0x10 - 0x0C];
|
|
public:
|
|
dCstick_c();
|
|
virtual ~dCstick_c() {}
|
|
|
|
s32 Shift(u32);
|
|
};
|
|
|
|
class dCamBGChk_c {
|
|
public:
|
|
dCamBGChk_c();
|
|
|
|
// copied these from TP's implementation, may not be correct
|
|
f32 WallUpDistance() { return mWallUpDistance; }
|
|
f32 FwdDistance(s32 param_0) { return mChkInfo[param_0].mDistance; }
|
|
s16 FwdChkAngle(s32 param_0) { return cAngle::d2s(mChkInfo[param_0].mChkAngle); }
|
|
f32 FwdWeightH(s32 param_0) { return mChkInfo[param_0].mWeightH; }
|
|
f32 FwdWeightL(s32 param_0) { return mChkInfo[param_0].mWeightL; }
|
|
f32 FwdBackMargin() { return mFwdBackMargin; }
|
|
f32 FwdCushion() { return mFwdCushion; }
|
|
f32 GazeBackMargin() { return mGazeBackMargin; }
|
|
f32 WallCushion() { return mWallCushion; }
|
|
f32 WallBackCushion() { return mWallBackCushion; }
|
|
f32 CornerCushion() { return mCornerCushion; }
|
|
f32 CornerAngleMax() { return mCornerAngleMax; }
|
|
f32 FloorMargin() { return mFloorMargin; }
|
|
|
|
// name is a guess for now
|
|
struct ChkInfo {
|
|
/* 0x0 */ f32 mDistance;
|
|
/* 0x4 */ f32 mChkAngle;
|
|
/* 0x8 */ f32 mWeightH;
|
|
/* 0xC */ f32 mWeightL;
|
|
}; // Size: 0x10
|
|
|
|
public:
|
|
/* 0x00 */ f32 mFloorMargin;
|
|
/* 0x04 */ ChkInfo mChkInfo[2];
|
|
/* 0x24 */ f32 mFwdBackMargin;
|
|
/* 0x28 */ f32 mFwdCushion;
|
|
/* 0x2C */ f32 m2C;
|
|
/* 0x30 */ f32 mGazeBackMargin;
|
|
/* 0x34 */ f32 mCornerCushion;
|
|
/* 0x38 */ f32 mWallCushion;
|
|
/* 0x3C */ f32 mWallUpDistance;
|
|
/* 0x40 */ f32 mWallBackCushion;
|
|
/* 0x44 */ f32 mCornerAngleMax;
|
|
/* 0x48 */ f32 m48;
|
|
/* 0x4C */ f32 m4C;
|
|
/* 0x50 */ f32 m50;
|
|
/* 0x54 */ f32 m54;
|
|
/* 0x58 */ f32 m58;
|
|
/* 0x5C */ f32 m5C;
|
|
};
|
|
|
|
class dCamSetup_c {
|
|
public:
|
|
/* 0x000 */ f32 mDrawNear;
|
|
/* 0x004 */ f32 mDrawFar;
|
|
/* 0x008 */ u16 mDebugFlags;
|
|
/* 0x00A */ u16 mFlags2;
|
|
/* 0x00C */ int m00C;
|
|
/* 0x010 */ int mModeSwitchType;
|
|
/* 0x014 */ void* mTypeTable;
|
|
/* 0x018 */ int mTypeNum;
|
|
/* 0x01C */ int mForceType;
|
|
/* 0x020 */ f32 mCusCus;
|
|
/* 0x024 */ f32 m024;
|
|
/* 0x028 */ f32 m028;
|
|
/* 0x02C */ f32 m02C;
|
|
/* 0x030 */ f32 m030;
|
|
/* 0x034 */ f32 m034;
|
|
/* 0x038 */ f32 mBaseCushion;
|
|
/* 0x03C */ f32 mJumpCushion;
|
|
/* 0x040 */ f32 mParallelDist;
|
|
/* 0x044 */ f32 m044;
|
|
/* 0x048 */ f32 m048;
|
|
/* 0x04C */ f32 mCurveWeight;
|
|
/* 0x050 */ f32 m050;
|
|
/* 0x054 */ f32 m054;
|
|
/* 0x058 */ f32 m058;
|
|
/* 0x05C */ f32 m05C;
|
|
/* 0x060 */ f32 m060;
|
|
/* 0x064 */ f32 mTrimVistaHeight;
|
|
/* 0x068 */ f32 mTrimCineScopeHeight;
|
|
/* 0x06C */ f32 m06C;
|
|
/* 0x070 */ f32 mForceLockOffDist;
|
|
/* 0x074 */ int mForceLockOffTimer;
|
|
/* 0x078 */ f32 m078;
|
|
/* 0x07C */ f32 m07C;
|
|
/* 0x080 */ f32 m080;
|
|
/* 0x084 */ f32 m084;
|
|
/* 0x088 */ f32 mDMCValue;
|
|
/* 0x08C */ f32 mDMCAngle;
|
|
/* 0x090 */ f32 m090;
|
|
/* 0x094 */ int m094;
|
|
/* 0x098 */ f32 m098;
|
|
/* 0x09C */ f32 m09C;
|
|
/* 0x0A0 */ f32 m0A0;
|
|
/* 0x0A4 */ f32 m0A4;
|
|
/* 0x0A8 */ int m0A8;
|
|
/* 0x0AC */ f32 mChargeLatitude;
|
|
/* 0x0B0 */ int mChargeTimer;
|
|
/* 0x0B4 */ f32 mChargeBRatio;
|
|
/* 0x0B8 */ f32 mManualStartCThreshold;
|
|
/* 0x0BC */ f32 mManualEndVal;
|
|
/* 0x0C0 */ f32 m0C0;
|
|
/* 0x0C4 */ f32 mLockonChangeCushion;
|
|
/* 0x0C8 */ int mLockonChangeTimer;
|
|
|
|
public:
|
|
dCamSetup_c();
|
|
virtual ~dCamSetup_c();
|
|
|
|
bool CheckLatitudeRange(s16*);
|
|
f32 FanBank();
|
|
f32 PlayerHideDist();
|
|
|
|
bool CheckFlag2(u16 i_flag) { return (i_flag & mFlags2) != 0; }
|
|
f32 ChargeBRatio() { return mChargeBRatio; }
|
|
int ChargeTimer() { return mChargeTimer; }
|
|
f32 ChargeLatitude() { return mChargeLatitude; }
|
|
|
|
f32 ManualEndVal() { return mManualEndVal; }
|
|
f32 CinemaScopeTrimHeight() { return mTrimCineScopeHeight; }
|
|
f32 VistaTrimHeight() { return mTrimVistaHeight; }
|
|
f32 ForceLockOffTimer() { return mForceLockOffTimer; }
|
|
f32 ForceLockOffDist() { return mForceLockOffDist; }
|
|
f32 LockonChangeCushion() { return mLockonChangeCushion; }
|
|
int LockonChangeTimer() { return mLockonChangeTimer; }
|
|
f32 Cushion4Base() { return mBaseCushion; }
|
|
f32 Cushion4Jump() { return mJumpCushion; }
|
|
f32 CusCus() { return mCusCus; }
|
|
f32 ParallelDist() { return mParallelDist; }
|
|
f32 CurveWeight() { return mCurveWeight; }
|
|
f32 DMCAngle() { return mDMCAngle; }
|
|
f32 DMCValue() { return mDMCValue; }
|
|
|
|
public:
|
|
/* 0x0D0 */ dCstick_c mCstick;
|
|
/* 0x0E4 */ dCamBGChk_c mBGChk;
|
|
};
|
|
|
|
enum dCamAlgorythmn_e {
|
|
/* 0x00 */ dCamAlg_LET_CAMERA_e,
|
|
/* 0x01 */ dCamAlg_FOLLOW_CAMERA_e,
|
|
/* 0x02 */ dCamAlg_LOCKON_CAMERA_e,
|
|
/* 0x03 */ dCamAlg_TALKTO_CAMERA_e,
|
|
/* 0x04 */ dCamAlg_SUBJECT_CAMERA_e,
|
|
/* 0x05 */ dCamAlg_FIXED_POSITION_CAMERA_e,
|
|
/* 0x06 */ dCamAlg_FIXED_FRAME_CAMERA_e,
|
|
/* 0x07 */ dCamAlg_TOWER_CAMERA_e,
|
|
/* 0x08 */ dCamAlg_RIDE_CAMERA_e,
|
|
/* 0x09 */ dCamAlg_HUNG_CAMERA_e,
|
|
/* 0x0A */ dCamAlg_MANUAL_CAMERA_e,
|
|
/* 0x0B */ dCamAlg_EVENT_CAMERA_e,
|
|
/* 0x0C */ dCamAlg_CRAWL_CAMERA_e,
|
|
/* 0x0D */ dCamAlg_HOOKSHOT_CAMERA_e,
|
|
/* 0x0E */ dCamAlg_TORNADO_CAMERA_e,
|
|
/* 0x0F */ dCamAlg_VOMIT_CAMERA_e,
|
|
/* 0x10 */ dCamAlg_SHIELD_CAMERA_e,
|
|
/* 0x11 */ dCamAlg_NON_OWNER_CAMERA_e,
|
|
/* 0x12 */ dCamAlg_FOLLOW_CAMERA2_e,
|
|
/* 0x13 */ dCamAlg_DEMO_CAMERA_e,
|
|
};
|
|
|
|
class dCamParam_c {
|
|
public:
|
|
/* 0x0 */ const dCamera__Style* mpStyle;
|
|
/* 0x4 */ s32 mStyleIdx;
|
|
|
|
static const dCamera__Style styles[];
|
|
static const s32 style_num;
|
|
|
|
public:
|
|
dCamParam_c(s32);
|
|
virtual ~dCamParam_c();
|
|
|
|
u16 Flag(s32 styleIdx, u16 mask) { return mask & styles[styleIdx].flag; }
|
|
f32 Val(s32 styleIdx, int paramIdx) { return styles[styleIdx].styleParam[paramIdx]; }
|
|
BOOL Change(s32);
|
|
s32 SearchStyle(u32);
|
|
f32 ratiof(f32, f32, f32, f32);
|
|
BOOL DefaultRadius(f32*);
|
|
f32 RadiusRatio(f32);
|
|
f32 CenterHeight(f32);
|
|
f32 Fovy(f32);
|
|
s16 LockonLongitude(f32);
|
|
s16 LockonLatitude(f32);
|
|
f32 LockonFovy(f32);
|
|
f32 LockonCenterHeight(f32);
|
|
int Algorythmn(s32 i_style) { return styles[i_style].engineIdx; }
|
|
int Algorythmn() { return mpStyle->engineIdx; }
|
|
bool CheckFlag(u16 flag) { return mpStyle->flag & flag; }
|
|
};
|
|
|
|
class dCamMath {
|
|
public:
|
|
static f32 rationalBezierRatio(f32, f32);
|
|
static f32 customRBRatio(f32, f32);
|
|
static f32 zoomFovy(f32, f32);
|
|
static cXyz xyzRotateX(cXyz&, cSAngle);
|
|
static cXyz xyzRotateY(cXyz&, cSAngle);
|
|
static f32 xyzHorizontalDistance(cXyz&, cXyz&);
|
|
static cXyz xyzProjPosOnYZ(cSAngle, cXyz&, cXyz&);
|
|
};
|
|
|
|
#endif /* D_CAM_PARAM_H */
|