most of d_kankyo done (#61)

* most of d_kankyo done

* some kankyo fixes
This commit is contained in:
TakaRikka
2023-09-19 16:46:06 -07:00
committed by GitHub
parent 0a9745477f
commit 853e5c7fba
19 changed files with 2952 additions and 320 deletions
+100 -5
View File
@@ -85,9 +85,6 @@ public:
void changeSeaBgm();
void startIsleBgm();
void setLinkGroupInfo(u8);
void getMapInfoFxline(u32);
void getMapInfoFxParameter(u32);
void getMapInfoGround(u32);
void setScene(s32, s32, s32, s32);
void expandSceneBgmNum(u32);
void checkLinkOnSea();
@@ -119,7 +116,6 @@ public:
void processTime();
void processMorningToNormal();
void checkOnOuterSea(f32*);
void makeSound(u32);
void checkSeqIDDemoPlaying(u32);
void checkDemoFanfarePlaying();
void processDemoFanfareMute();
@@ -143,11 +139,110 @@ public:
void registWindowPos(Vec*);
void rainPlay(s32);
virtual void makeSound(u32);
virtual void getMapInfoFxline(u32);
virtual void getMapInfoGround(u32);
virtual void getMapInfoFxParameter(u32);
void setHour(s32 i_hour) { mHour = i_hour; }
void setMinute(s32 i_minute) { mMinute = i_minute; }
void setWeekday(s32 i_weekday) { mWeekday = i_weekday; }
static JAIZelBasic* getInterface() { return zel_basic; }
static JAIZelBasic* zel_basic;
/* 0x0 */ u8 field_0x0[0x20F4];
/* 0x0004 */ u8 field_0x0004[0x0020 - 0x0004];
/* 0x0020 */ u8 field_0x0020;
/* 0x0021 */ u8 field_0x0021;
/* 0x0022 */ u8 field_0x0022[0x0024 - 0x0022];
/* 0x0024 */ int field_0x0024;
/* 0x0028 */ u8 field_0x0028[0x002C - 0x0028];
/* 0x002C */ u8 mHour;
/* 0x002D */ u8 mMinute;
/* 0x002E */ u8 mWeekday;
/* 0x002F */ u8 field_0x002f;
/* 0x0030 */ s16 field_0x0030;
/* 0x0032 */ u8 field_0x0032;
/* 0x0033 */ u8 field_0x0033[0x0034 - 0x0033];
/* 0x0034 */ int field_0x0034;
/* 0x0038 */ int field_0x0038;
/* 0x003C */ f32 field_0x003c;
/* 0x0040 */ u8 field_0x0040[0x0041 - 0x0040];
/* 0x0041 */ u8 field_0x0041;
/* 0x0042 */ u8 field_0x0042;
/* 0x0043 */ u8 field_0x0043;
/* 0x0044 */ u8 field_0x0044;
/* 0x0045 */ u8 field_0x0045;
/* 0x0046 */ u8 field_0x0046;
/* 0x0047 */ u8 field_0x0047;
/* 0x0048 */ f32 field_0x0048;
/* 0x004C */ f32 field_0x004c;
/* 0x0050 */ f32 field_0x0050;
/* 0x0054 */ f32 field_0x0054;
/* 0x0058 */ f32 field_0x0058;
/* 0x005C */ f32 field_0x005c;
/* 0x0060 */ u8 mbLandingDemoStarted;
/* 0x0061 */ u8 field_0x0061[0x0063 - 0x0061];
/* 0x0063 */ u8 field_0x0063;
/* 0x0064 */ u8 field_0x0064[0x0066 - 0x0064];
/* 0x0066 */ u8 field_0x0066;
/* 0x0067 */ u8 field_0x0067[0x0070 - 0x0067];
/* 0x0070 */ JAISound* mpSound;
/* 0x0074 */ int field_0x0074;
/* 0x0078 */ u32 field_0x0078;
/* 0x007C */ u32 field_0x007c;
/* 0x0080 */ f32 field_0x0080;
/* 0x0084 */ f32 field_0x0084;
/* 0x0088 */ f32 field_0x0088;
/* 0x008C */ f32 field_0x008c;
/* 0x0090 */ f32 field_0x0090;
/* 0x0094 */ f32 field_0x0094;
/* 0x0098 */ f32 field_0x0098;
/* 0x009C */ f32 field_0x009c;
/* 0x00A0 */ f32 field_0x00a0;
/* 0x00A4 */ f32 field_0x00a4;
/* 0x00A8 */ f32 field_0x00a8;
/* 0x00AC */ f32 field_0x00ac;
/* 0x00B0 */ int field_0x00b0;
/* 0x00B4 */ u8 field_0x00B4[0x00B5 - 0x00B4];
/* 0x00B5 */ u8 mSomeSpecialBGMFlag;
/* 0x00B6 */ u8 mLastMinibossSubBGMType;
/* 0x00B7 */ u8 field_0x00B7[0x00BC - 0x00B7];
/* 0x00BC */ u8 field_0x00bc;
/* 0x00BD */ u8 field_0x00BD[0x00BE - 0x00BD];
/* 0x00BE */ u8 field_0x00be;
/* 0x00BF */ u8 field_0x00BF[0x00CA - 0x00BF];
/* 0x00CA */ u8 field_0x00ca;
/* 0x00CB */ u8 field_0x00CB[0x01F9 - 0x00CB];
/* 0x01F9 */ u8 field_0x01f9;
/* 0x01FA */ u8 field_0x01FA[0x0201 - 0x01FA];
/* 0x0201 */ u8 field_0x0201;
/* 0x0202 */ u8 field_0x0202[0x021C - 0x0202];
/* 0x021C */ u8 mCameraSeaFloorGroupInfo;
/* 0x021D */ u8 mLinkSeaFloorGroupInfo;
/* 0x021E */ u8 field_0x021e;
/* 0x021F */ u8 field_0x021F[0x0224 - 0x021F];
/* 0x0224 */ int field_0x0224;
/* 0x0228 */ u32 mNextSceneBgmId;
/* 0x022C */ u8 field_0x022C[0x022D - 0x022C];
/* 0x022D */ u8 field_0x022d;
/* 0x022E */ u8 field_0x022e;
/* 0x022F */ u8 field_0x022f;
/* 0x0230 */ u8 field_0x0230;
/* 0x0231 */ u8 field_0x0231;
/* 0x0232 */ u8 mFirstDynamicSceneWaveIndex;
/* 0x0233 */ u8 field_0x0233;
/* 0x0234 */ u8 mSetNum;
/* 0x0235 */ u8 mSecondDynamicSceneWaveIndex;
/* 0x0236 */ u8 field_0x0236;
/* 0x0237 */ u8 field_0x0237;
/* 0x0238 */ u8 mIslandRoomNo;
/* 0x0239 */ u8 field_0x0239[0x1F3D - 0x0239];
/* 0x1F3D */ u8 mIsSailing;
/* 0x1F3E */ u8 field_0x1F3E[0x1F40 - 0x1F3E];
/* 0x1F40 */ f32 field_0x1f40;
/* 0x1F44 */ u8 field_0x1F44[0x20F4 - 0x1F44];
};
class JAIZelAnime {
+8 -15
View File
@@ -162,7 +162,7 @@ public:
virtual _GXColor* getTevKColor(u32);
virtual void setTevKColorSel(u32, u8 const*);
virtual void setTevKColorSel(u32, u8);
virtual bool getTevKColorSel(u32);
virtual u8 getTevKColorSel(u32);
virtual void setTevKAlphaSel(u32, u8 const*);
virtual void setTevKAlphaSel(u32, u8);
virtual bool getTevKAlphaSel(u32);
@@ -228,7 +228,7 @@ public:
virtual GXColor* getTevKColor(u32);
virtual void setTevKColorSel(u32, u8 const*);
virtual void setTevKColorSel(u32, u8);
virtual bool getTevKColorSel(u32);
virtual u8 getTevKColorSel(u32);
virtual void setTevStageNum(u8 const*);
virtual void setTevStageNum(u8);
virtual u8 getTevStageNum() const;
@@ -295,7 +295,7 @@ public:
virtual GXColor* getTevKColor(u32);
virtual void setTevKColorSel(u32, u8 const*);
virtual void setTevKColorSel(u32, u8);
virtual bool getTevKColorSel(u32);
virtual u8 getTevKColorSel(u32);
virtual void setTevKAlphaSel(u32, u8 const*);
virtual void setTevKAlphaSel(u32, u8);
virtual bool getTevKAlphaSel(u32);
@@ -368,7 +368,7 @@ public:
virtual GXColor* getTevKColor(u32);
virtual void setTevKColorSel(u32, u8 const*);
virtual void setTevKColorSel(u32, u8);
virtual bool getTevKColorSel(u32);
virtual u8 getTevKColorSel(u32);
virtual void setTevKAlphaSel(u32, u8 const*);
virtual void setTevKAlphaSel(u32, u8);
virtual bool getTevKAlphaSel(u32);
@@ -441,7 +441,7 @@ public:
virtual GXColor* getTevKColor(u32);
virtual void setTevKColorSel(u32, u8 const*);
virtual void setTevKColorSel(u32, u8);
virtual bool getTevKColorSel(u32);
virtual u8 getTevKColorSel(u32);
virtual void setTevKAlphaSel(u32, u8 const*);
virtual void setTevKAlphaSel(u32, u8);
virtual bool getTevKAlphaSel(u32);
@@ -626,7 +626,6 @@ public:
virtual void diffBlend();
virtual s32 countDLSize();
virtual u32 getType() = 0;
virtual void setFog(J3DFog);
virtual void setFog(J3DFog*);
virtual J3DFog* getFog();
virtual void setAlphaComp(J3DAlphaComp const*);
@@ -688,7 +687,6 @@ public:
virtual void diffBlend();
virtual s32 countDLSize();
virtual u32 getType();
virtual void setFog(J3DFog);
virtual void setFog(J3DFog*);
virtual J3DFog* getFog();
virtual void setAlphaComp(J3DAlphaComp const*);
@@ -875,15 +873,13 @@ public:
virtual void patchMatColor();
virtual void patchLight();
virtual void diff(u32);
virtual void diffAmbColor();
virtual void diffMatColor();
virtual void diffColorChan();
virtual void diffLightObj(u32);
virtual void diffLight();
virtual s32 countDLSize();
virtual u32 getType() = 0;
virtual void setMatColor(u32, J3DGXColor const*);
virtual void setMatColor(u32, J3DGXColor);
virtual _GXColor* getMatColor(u32);
virtual GXColor* getMatColor(u32);
virtual void setAmbColor(u32, J3DGXColor const*);
virtual void setAmbColor(u32, J3DGXColor);
virtual bool getAmbColor(u32);
@@ -918,10 +914,8 @@ public:
virtual void patchMatColor();
virtual void patchLight();
virtual void diff(u32);
virtual void diffAmbColor();
virtual void diffMatColor();
virtual void diffColorChan();
virtual void diffLightObj(u32);
virtual void diffLight();
virtual s32 countDLSize();
virtual u32 getType();
virtual void setMatColor(u32, J3DGXColor const*);
@@ -972,7 +966,6 @@ public:
virtual void patchLight();
virtual void diff(u32);
virtual void diffMatColor();
virtual void diffColorChan();
virtual s32 countDLSize();
virtual u32 getType();
virtual void setMatColor(u32, J3DGXColor const*);
+9 -12
View File
@@ -63,18 +63,15 @@ struct J3DIndTexMtxInfo {
struct J3DFogInfo {
/* 80325800 */ void operator=(J3DFogInfo const&);
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u16 field_0x2;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ u8 field_0x14;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
/* 0x18 */ u16 field_0x18[10];
/* 0x00 */ u8 mType;
/* 0x01 */ u8 mAdjEnable;
/* 0x02 */ u16 mCenter;
/* 0x04 */ f32 mStartZ;
/* 0x08 */ f32 mEndZ;
/* 0x0C */ f32 mNearZ;
/* 0x10 */ f32 mFarZ;
/* 0x14 */ GXColor mColor;
/* 0x18 */ u16 mFogAdjTable[10];
}; // Size: 0x2C
struct J3DNBTScaleInfo {
+3
View File
@@ -76,9 +76,12 @@ inline float atan2f(float y, float x) {
return (float)atan2(y, x);
}
// these are duplicated due to sinf/cosf having a symbol, but
// still being used as inlines elsewhere
inline float i_sinf(float x) {
return sin(x);
}
inline float i_cosf(float x) {
return cos(x);
}
+59 -2
View File
@@ -132,6 +132,7 @@ public:
dAttention_c& getAttention() { return mAttention; }
dDetect_c& getDetect() { return mDetect; }
dDemo_manager_c* getDemo() { return mDemo; }
camera_class* getCamera(int idx) { return mCameraInfo[idx].mpCamera; }
dMagma_packet_c* getMagma() { return mpMagmaPacket; }
dGrass_packet_c* getGrass() { return mpGrassPacket; }
@@ -623,6 +624,26 @@ inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo,
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_pos, i_angle, 0);
}
inline u16 dComIfGs_getDate() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getDate();
}
inline void dComIfGs_setDate(u16 i_date) {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().setDate(i_date);
}
inline f32 dComIfGs_getTime() {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getTime();
}
inline void dComIfGs_setTime(f32 i_time) {
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().setTime(i_time);
}
inline BOOL dComIfGs_isGetItem(int i_field, u8 i_item) {
return g_dComIfG_gameInfo.save.getPlayer().getGetItem().isItem(i_field, i_item);
}
/**
* === PLAY ===
*/
@@ -631,6 +652,10 @@ void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8
f32 i_lastSpeed, u32 i_lastMode, int, s8 i_wipe);
dStage_Ship_data* dComIfGp_getShip(int i_roomNo, int param_1);
inline camera_class* dComIfGp_getCamera(int idx) {
return g_dComIfG_gameInfo.play.getCamera(idx);
}
inline const char* dComIfGp_getStartStageName() {
return g_dComIfG_gameInfo.play.getStartStageName();
}
@@ -699,10 +724,38 @@ inline dStage_Multi_c* dComIfGp_getMulti() {
return g_dComIfG_gameInfo.play.getStage().getMulti();
}
inline stage_envr_info_class* dComIfGp_getStageEnvrInfo() {
return g_dComIfG_gameInfo.play.getStage().getEnvrInfo();
}
inline stage_palet_info_class* dComIfGp_getStagePaletteInfo() {
return g_dComIfG_gameInfo.play.getStage().getPaletInfo();
}
inline stage_pselect_info_class* dComIfGp_getStagePselectInfo() {
return g_dComIfG_gameInfo.play.getStage().getPselectInfo();
}
inline stage_vrbox_info_class* dComIfGp_getStageVrboxInfo() {
return g_dComIfG_gameInfo.play.getStage().getVrboxInfo();
}
inline stage_stag_info_class* dComIfGp_getStageStagInfo() {
return g_dComIfG_gameInfo.play.getStage().getStagInfo();
}
inline stage_plight_info_class* dComIfGp_getStagePlightInfo() {
return g_dComIfG_gameInfo.play.getStage().getPlightInfo();
}
inline int dComIfGp_getStagePlightNumInfo() {
return g_dComIfG_gameInfo.play.getStage().getPlightNumInfo();
}
inline s32 dComIfGp_roomControl_getTimePass() {
return g_dComIfG_gameInfo.play.getRoomControl()->GetTimePass();
}
inline s32 dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
@@ -910,11 +963,15 @@ inline BOOL dComIfGp_checkCameraAttentionStatus(int idx, u32 flag) {
/**
* === EVENT ===*/
inline u8 dComIfGp_event_getTalkXYBtn(void) {
inline BOOL dComIfGp_event_runCheck() {
return g_dComIfG_gameInfo.play.getEvent().runCheck();
}
inline u8 dComIfGp_event_getTalkXYBtn() {
return g_dComIfG_gameInfo.play.getEvent().getTalkXYBtn();
}
inline bool dComIfGp_event_chkTalkXY(void) {
inline bool dComIfGp_event_chkTalkXY() {
return g_dComIfG_gameInfo.play.getEvent().chkTalkXY();
}
-1
View File
@@ -238,7 +238,6 @@ public:
static bool mWipe;
private:
/* 0x00000 */ J3DDrawBuffer* mpBufSkyOpa;
/* 0x00004 */ J3DDrawBuffer* mpBufSkyXlu;
/* 0x00008 */ J3DDrawBuffer* mpLinkBuf;
+6 -3
View File
@@ -58,13 +58,16 @@ public:
void getTactFreeMStick(int);
void getTactFreeCStick(int);
void giveItemCut(u8);
u8 getTalkXYBtn() { return mTalkButton; }
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
void setPtI_Id(u32 id) { mPtItem = id; }
inline u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
inline void onEventFlag(u16 flag) { mEventFlag |= flag; }
inline void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
void onEventFlag(u16 flag) { mEventFlag |= flag; }
void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
bool runCheck() { return mMode != 0; }
/* 0x00 */ dEvt_order_c mOrder[8];
/* 0xC0 */ u8 mOrderCount;
+347 -6
View File
@@ -1,10 +1,10 @@
#ifndef D_KANKYO_D_KANKYO_H
#define D_KANKYO_D_KANKYO_H
#include "global.h"
#include "dolphin/gx/GX.h"
#include "SSystem/SComponent/c_xyz.h"
#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/gx/GX.h"
#include "global.h"
class J3DModel;
@@ -14,6 +14,99 @@ struct color_RGB_class {
u8 b;
};
struct LIGHT_INFLUENCE {
/* 0x00 */ cXyz mPos;
/* 0x0C */ GXColorS10 mColor;
/* 0x14 */ f32 mPower;
/* 0x18 */ f32 mFluctuation;
/* 0x1C */ int mIdx;
};
struct EFLIGHT_PROC {
/* 0x00 */ u8 mSwordState;
/* 0x01 */ u8 mSwordFrame;
/* 0x04 */ int mSwordLightType;
/* 0x08 */ LIGHT_INFLUENCE mSwordLight;
};
struct WIND_INFLUENCE {
/* 0x00 */ cXyz mPos;
/* 0x0C */ cXyz mDir;
/* 0x18 */ f32 mRadius;
/* 0x1C */ f32 mStrength;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ u32 field_0x24;
/* 0x28 */ u8 mbConstant;
};
struct WIND_INF_ENTITY {
/* 0x00 */ u8 mbInUse;
/* 0x04 */ f32 mMinRadius;
/* 0x08 */ f32 mSpeed;
/* 0x0C */ f32 mStrengthMaxVel;
/* 0x10 */ WIND_INFLUENCE mInfluence;
};
struct GB_WIND_INFLUENCE {
/* 0x00 */ cXyz mWindVec;
/* 0x04 */ cXyz* mpWindVecOverride;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 mWindPower;
/* 0x18 */ f32 mWindStrengthOverride;
/* 0x1C */ f32 mCustomWindPower;
/* 0x20 */ s16 mTactWindAngleX;
/* 0x22 */ s16 mTactWindAngleY;
/* 0x24 */ s16 mEvtWindAngleX;
/* 0x26 */ s16 mEvtWindAngleY;
/* 0x28 */ u8 mTactWindAngleFlags;
/* 0x2E */ u8 mEvtWindSet;
};
struct EF_THUNDER {
/* 0x00 */ u8 mStatus;
/* 0x01 */ u8 mStateTimer;
/* 0x02 */ u8 field_0x2;
/* 0x04 */ int mMode;
/* 0x08 */ f32 mFlashTimer;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ u8 field_0x14[4];
/* 0x18 */ LIGHT_INFLUENCE mLightInfluence;
};
struct SND_INFLUENCE {
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ u32 field_0x14;
};
struct WAVECHAN {
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 mWaveSpeed;
/* 0x10 */ f32 mWaveSpawnDist;
/* 0x14 */ f32 mWaveSpawnRadius;
/* 0x18 */ f32 mWaveScale;
/* 0x1C */ f32 mWaveScaleRand;
/* 0x20 */ f32 mWaveCounterSpeedScale;
/* 0x24 */ f32 mWaveScaleBottom;
/* 0x28 */ f32 mWaveFlatInter;
/* 0x2C */ s16 mWaveCount;
/* 0x2E */ u8 mWaveReset;
/* 0x2F */ u8 field_0x2f;
};
struct WAVE_INFO {
/* 0x00 */ cXyz mPos;
/* 0x0C */ f32 mOuterRadius;
/* 0x10 */ f32 mInnerRadius;
/* 0x14 */ f32 field_0x14;
};
class dKy_tevstr_c {
public:
/* 0x00 */ J3DLightObj mLightObj;
@@ -55,21 +148,269 @@ enum TevType {
TEV_TYPE_ACTOR_NOLIGHT,
};
struct dScnKy_env_light_c {
struct dScnKy__Schedule {
/* 0x0 */ f32 mTimeEnd;
/* 0x4 */ f32 mTimeBegin;
/* 0x8 */ u8 mPalIdx0;
/* 0x9 */ u8 mPalIdx1;
};
class dKankyo_sun_Packet;
class dKankyo_sunlenz_Packet;
class dKankyo_rain_Packet;
class dKankyo_snow_Packet;
class dKankyo_housi_Packet;
class dKankyo_cloud_Packet;
class dKankyo_vrkumo_Packet;
class dKankyo_wave_Packet;
class dKyr__wind_Packet;
class dKankyo_star_Packet;
class stage_palet_info_class;
class stage_pselect_info_class;
class stage_envr_info_class;
class stage_vrbox_info_class;
class stage_plight_info_class;
class dScnKy_env_light_c {
public:
dScnKy_env_light_c();
virtual ~dScnKy_env_light_c() {}
void setDaytime();
void SetSchbit();
void setSunpos();
f32 getDaytime();
void setLight_palno_get(u8*, u8*, u8*, u8*, u8*, u8*, u8*, u8*, f32*, int*, int*, f32*, u8*);
void setLight();
void setLight_bg(dKy_tevstr_c*, GXColorS10*, GXColorS10*, GXColorS10*, GXColorS10*, GXColorS10*,
GXColorS10*, GXColorS10*, GXColorS10*, GXColorS10*, f32*, f32*);
void setLight_actor(dKy_tevstr_c*, GXColorS10*, f32*, f32*);
void settingTevStruct_colget_actor(cXyz*, dKy_tevstr_c*, GXColorS10*, GXColorS10*, GXColorS10*,
f32*, f32*);
void settingTevStruct_colget_player(dKy_tevstr_c*);
void settingTevStruct_plightcol_plus(cXyz*, dKy_tevstr_c*, GXColorS10, GXColorS10, u8);
void settingTevStruct_eflightcol_plus(cXyz*, dKy_tevstr_c*);
void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
void setLightTevColorType(J3DModel*, dKy_tevstr_c*);
void CalcTevColor();
void Sndpos();
void Eflight_flush_proc();
void SetBaseLight();
void exeKankyo();
void drawKankyo();
public:
u8 pad[0xC9C];
/* 0x004 */ stage_palet_info_class* mpPaletInfo;
/* 0x008 */ stage_pselect_info_class* mpPselectInfo;
/* 0x00C */ stage_envr_info_class* mpEnvrInfo;
/* 0x010 */ stage_vrbox_info_class* mpVrboxInfo;
/* 0x014 */ dScnKy__Schedule* mpSchejule;
/* 0x018 */ LIGHT_INFLUENCE mBaseLightInfluence;
/* 0x038 */ LIGHT_INFLUENCE mLightInfluence[30];
/* 0x3F8 */ LIGHT_INFLUENCE* mpPLights[200];
/* 0x718 */ LIGHT_INFLUENCE* mpEfLights[10];
/* 0x740 */ u8 field_0x740[0x764 - 0x740];
/* 0x764 */ EFLIGHT_PROC mEfLightProc;
/* 0x78C */ stage_plight_info_class* mpPlightInfo;
/* 0x790 */ WIND_INFLUENCE* mpWindInfluence[30];
/* 0x808 */ WIND_INF_ENTITY mWindInfluenceEntity[5];
/* 0x934 */ SND_INFLUENCE mSound;
/* 0x94C */ WAVECHAN mWaveChan;
/* 0x97C */ GB_WIND_INFLUENCE mWind;
/* 0x9B0 */ u8 mbSunInitialized;
/* 0x9B4 */ dKankyo_sun_Packet* mpSunPacket;
/* 0x9B8 */ dKankyo_sunlenz_Packet* mpSunlenzPacket;
/* 0x9BC */ u8 mbRainInitialized;
/* 0x9C0 */ int mRainCount;
/* 0x9C4 */ dKankyo_rain_Packet* mpRainPacket;
/* 0x9C8 */ u8 mbSnowInitialized;
/* 0x9CC */ int mSnowCount;
/* 0x9D0 */ dKankyo_snow_Packet* mpSnowPacket;
/* 0x9D4 */ u8 mbStarInitialized;
/* 0x9D8 */ int mStarCount;
/* 0x9DC */ f32 mStarCountTarget;
/* 0x9E0 */ dKankyo_star_Packet* mpStarPacket;
/* 0x9E4 */ u8 field_0x9E4[0x9F0 - 0x9E4];
/* 0x9F0 */ u8 mbHouseInitialized;
/* 0x9F4 */ int mHousiCount;
/* 0x9F8 */ dKankyo_housi_Packet* mpHousiPacket;
/* 0x9FC */ u8 mMoyaInitialized;
/* 0x9FD */ u8 mMoyaMode;
/* 0xA00 */ int mMoyaCount;
/* 0xA04 */ dKankyo_cloud_Packet* mpMoyaPacket;
/* 0xA08 */ u8 mVrkumoStatus;
/* 0xA0C */ int mVrkumoCount;
/* 0xA10 */ f32 mVrkumoStrength;
/* 0xA14 */ dKankyo_vrkumo_Packet* mpVrkumoPacket;
/* 0xA18 */ u8 mWaveInitialized;
/* 0xA19 */ u8 field_0xA19[0xA20 - 0xA19];
/* 0xA20 */ dKankyo_wave_Packet* mpWavePacket;
/* 0xA24 */ u8 mbWindlineInitialized;
/* 0xA28 */ int mWindlineCount;
/* 0xA2C */ dKyr__wind_Packet* mpWind;
/* 0xA30 */ EF_THUNDER mThunderEff;
/* 0xA68 */ WAVE_INFO* mpWaveInfl[10];
/* 0xA90 */ cXyz mLightDir;
/* 0xA9C */ cXyz mSunPos2;
/* 0xAA8 */ cXyz mPLightNearPlayer;
/* 0xAB4 */ cXyz mSunPos;
/* 0xAC0 */ cXyz mMoonPos;
/* 0xACC */ GXFogAdjTable mFogAdjTable;
/* 0xAE0 */ GXColorS10 mVrSkyColor;
/* 0xAE8 */ GXColorS10 mVrUsoUmiColor;
/* 0xAF0 */ GXColorS10 mVrkumoColor;
/* 0xAF8 */ GXColorS10 mVrkumoCenterColor;
/* 0xB00 */ GXColorS10 mVrKasumiMaeColor;
/* 0xB08 */ GXColorS10 mC0;
/* 0xB10 */ GXColorS10 mK0;
/* 0xB18 */ GXColorS10 mActorC0;
/* 0xB20 */ GXColorS10 mActorK0;
/* 0xB28 */ GXColorS10 mBG0_C0;
/* 0xB30 */ GXColorS10 mBG0_K0;
/* 0xB38 */ GXColorS10 mBG1_C0;
/* 0xB40 */ GXColorS10 mBG1_K0;
/* 0xB48 */ GXColorS10 mBG2_C0;
/* 0xB50 */ GXColorS10 mBG2_K0;
/* 0xB58 */ GXColorS10 mBG3_C0;
/* 0xB60 */ GXColorS10 mBG3_K0;
/* 0xB68 */ GXColorS10 mFogColor;
/* 0xB70 */ GXColorS10 mActorAddColAmb;
/* 0xB78 */ GXColorS10 mActorAddColDif;
/* 0xB80 */ GXColorS10 mBgAddColAmb;
/* 0xB88 */ GXColorS10 mBgAddColDif;
/* 0xB90 */ GXColorS10 mBg1AddColAmb;
/* 0xB98 */ GXColorS10 mBg1AddColDif;
/* 0xBA0 */ GXColorS10 mBg2AddColAmb;
/* 0xBA8 */ GXColorS10 mBg2AddColDif;
/* 0xBB0 */ GXColorS10 mBg3AddColAmb;
/* 0xBB8 */ GXColorS10 mBg3AddColDif;
/* 0xBC0 */ GXColorS10 mAddColFog;
/* 0xBC8 */ GXColorS10 mVrboxAddColSky0;
/* 0xBD0 */ GXColorS10 mVrboxAddColKasumi;
/* 0xBD8 */ f32 mDiceWeatherChangeTime;
/* 0xBDC */ f32 mDiceWeatherTime;
/* 0xBE0 */ f32 mColPatBlend;
/* 0xBE4 */ f32 mColPatBlendGather;
/* 0xBE8 */ f32 mFogStartZ__setLight;
/* 0xBEC */ f32 mFogEndZ__setLight;
/* 0xBF0 */ f32 mFogStartZ;
/* 0xBF4 */ f32 mFogEndZ;
/* 0xBF8 */ f32 mFogRatio;
/* 0xBFC */ f32 mAllColRatio;
/* 0xC00 */ f32 mActColRatio;
/* 0xC04 */ f32 mBgColRatio;
/* 0xC08 */ f32 mFogColRatio;
/* 0xC0C */ f32 mVrboxSoraColRatio;
/* 0xC10 */ f32 mVrboxKumoColRatio;
/* 0xC14 */ f32 mAllColGatherRatio;
/* 0xC18 */ f32 mActColGatherRatio;
/* 0xC1C */ f32 mBgColGatherRatio;
/* 0xC20 */ f32 mFogColGatherRatio;
/* 0xC24 */ f32 mVrboxSoraColGatherRatio;
/* 0xC28 */ f32 mVrboxKumoColGatherRatio;
/* 0xC2C */ f32 field_0xc2c;
/* 0xC30 */ f32 field_0xc30;
/* 0xC34 */ f32 field_0xc34;
/* 0xC38 */ f32 mCurTime;
/* 0xC3C */ f32 mNextTime;
/* 0xC40 */ f32 mTimeAdv;
/* 0xC44 */ f32 field_0xc44;
/* 0xC48 */ void* field_0xc48;
/* 0xC4C */ void* field_0xc4c;
/* 0xC50 */ u32 mMoyaSE;
/* 0xC54 */ void* field_0xc54;
/* 0xC58 */ void* field_0xc58;
/* 0xC5C */ void* field_0xc5c;
/* 0xC60 */ int mDiceWeatherCounter;
/* 0xC64 */ int mRainCountOrig;
/* 0xC68 */ void* field_0xc68;
/* 0xC6C */ int mPlayerPLightIdx;
/* 0xC70 */ int mPlayerEflightIdx;
/* 0xC74 */ void* field_0xc74;
/* 0xC78 */ void* field_0xc78;
/* 0xC7C */ int mSchbitTimer;
/* 0xC80 */ u16 mFogAdjCenter;
/* 0xC82 */ u16 mDayOfWeek;
/* 0xC84 */ u8 mColpatPrev;
/* 0xC85 */ u8 mColpatCurr;
/* 0xC86 */ u8 mColpatPrevGather;
/* 0xC87 */ u8 mColpatCurrGather;
/* 0xC88 */ u8 mEnvrIdxPrev;
/* 0xC89 */ u8 mEnvrIdxCurr;
/* 0xC8A */ u8 mColpatWeather;
/* 0xC8B */ u8 mDiceWeatherMode;
/* 0xC8C */ u8 mDiceWeatherState;
/* 0xC8D */ u8 mDiceWeatherCurrPattern;
/* 0xC8E */ u8 field_0xc8e;
/* 0xC8F */ u8 mColPatMode;
/* 0xC90 */ u8 mColPatModeGather;
/* 0xC91 */ u8 mFogAdjEnable;
/* 0xC92 */ u8 mFogAdjTableType;
/* 0xC93 */ u8 mItemGetCol_chg;
/* 0xC94 */ u8 mInitAnimTimer;
/* 0xC95 */ u8 mSchbit;
/* 0xC96 */ u8 mbVrboxInvisible;
/* 0xC97 */ u8 mbContrastFlag;
/* 0xC98 */ u8 field_0xc98;
/* 0xC99 */ u8 mbDayNightTactStop;
/* 0xC9A */ u8 field_0xc9a;
/* 0xC9B */ u8 field_0xc9b;
}; // Size = 0xC9C
extern dScnKy_env_light_c g_env_light;
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 0xC9C);
inline dScnKy_env_light_c& dKy_getEnvlight() {
return g_env_light;
}
enum dKy_dice_wether_mode {
/* 0 */ DICE_MODE_SUNNY_e,
/* 1 */ DICE_MODE_CLOUDY_e,
/* 2 */ DICE_MODE_RAIN_LIGHT_e,
/* 3 */ DICE_MODE_RAIN_HEAVY_e,
/* 4 */ DICE_MODE_THUNDER_LIGHT_e,
/* 5 */ DICE_MODE_THUNDER_HEAVY_e,
DICE_MODE_DONE_e = 0xFF,
};
enum dKy_dice_wether_state {
/* 0 */ DICE_STATE_RESET_e,
/* 1 */ DICE_STATE_INIT_e,
/* 2 */ DICE_STATE_EXEC_e,
/* 3 */ DICE_STATE_NEXT_e,
};
class sub_kankyo__class;
int dKy_getdaytime_hour();
int dKy_getdaytime_minute();
int dKy_get_dayofweek();
BOOL dKy_checkEventNightStop();
void dKy_set_nexttime(f32);
void dKy_Sound_set(cXyz i_pos, int param_1, unsigned int i_actorID, int param_3);
void dKy_itudemo_se();
void dKy_actor_addcol_set(s16, s16, s16, f32);
void dKy_plight_set(LIGHT_INFLUENCE*);
void dKy_fog_startendz_set(f32, f32, f32);
void dKy_vrbox_addcol_set(s16, s16, s16, f32);
BOOL dKy_daynight_check();
void dKy_tevstr_init(dKy_tevstr_c*, s8, u8);
void dKy_Sound_init();
u8 dKy_pship_existense_chk();
void dKy_Itemgetcol_chg_move();
void dKy_arrowcol_chg_move();
void dKy_setLight_init();
void GxXFog_set();
void dKy_set_vrboxsoracol_ratio(f32 ratio);
void dKy_set_vrboxkumocol_ratio(f32 ratio);
cXyz dKy_get_orion_pos();
cXyz dKy_get_hokuto_pos();
/* 80197AB8-80197FE4 .text dKankyo_DayProc__Fv */
// supposed to be generated after sinit...
static void dKankyo_DayProc() {
/* Nonmatching */
}
#endif /* D_KANKYO_D_KANKYO_H */
+21
View File
@@ -0,0 +1,21 @@
#ifndef D_KANKYO_DATA_H
#define D_KANKYO_DATA_H
#include "dolphin/types.h"
struct stage_vrbox_info_class;
struct stage_pselect_info_class;
struct stage_envr_info_class;
struct stage_palet_info_class;
struct dScnKy__Schedule;
stage_palet_info_class* dKyd_dmpalet_getp();
stage_pselect_info_class* dKyd_dmpselect_getp();
stage_envr_info_class* dKyd_dmenvr_getp();
stage_vrbox_info_class* dKyd_dmvrbox_getp();
dScnKy__Schedule* dKyd_schejule_getp();
dScnKy__Schedule* dKyd_schejule_boss_getp();
void dKyd_schejule_menu_getp();
void dKyd_xfog_table_set(u8);
#endif /* D_KANKYO_DATA_H */
+1
View File
@@ -3,5 +3,6 @@
void dKyr_poison_light_colision();
BOOL dKyr_poison_live_check();
BOOL dKyr_moon_arrival_check();
#endif /* D_KANKYO_D_KANKYO_RAIN_H */
+9
View File
@@ -0,0 +1,9 @@
#ifndef D_KANKYO_WETHER_H
#define D_KANKYO_WETHER_H
void dKyw_wether_proc();
void dKyw_rain_set(int);
void dKyw_wind_set();
void dKy_wave_chan_init();
#endif /* D_KANKYO_WETHER_H */
+2
View File
@@ -135,4 +135,6 @@ public:
/* 0x8 */ dScnPly_reg_childHIO_c mChild[22];
};
extern dScnPly_reg_HIO_c g_regHIO;
#endif /* D_S_PLAY */
+9 -2
View File
@@ -30,7 +30,14 @@ STATIC_ASSERT(sizeof(dSv_player_status_a_c) == 0x18);
class dSv_player_status_b_c {
public:
/* 80058B54 */ void init();
void init();
void setDateIpl(s64 i_time) { mDateIPL = i_time; }
u16 getDate() const { return mDate; }
f32 getTime() const { return mTime; }
void setDate(u16 i_date) { mDate = i_date; }
void setTime(f32 i_time) { mTime = i_time; }
s64 getDateIpl() const { return mDateIPL; }
/* 0x00 */ u64 mDateIPL;
/* 0x08 */ f32 field_0x8;
@@ -84,7 +91,7 @@ class dSv_player_get_item_c {
public:
/* 800594A8 */ void init();
/* 800594C4 */ void onItem(int, u8);
/* 8005955C */ bool isItem(int, u8);
/* 8005955C */ BOOL isItem(int, u8);
/* 800595F8 */ void onBottleItem(u8);
/* 80059740 */ bool isBottleItem(u8);
+19 -2
View File
@@ -81,7 +81,16 @@ public:
/* 0x8 */ f32 mChangeRate;
};
struct stage_plight_info_class {};
struct stage_plight_info_class {
/* 0x00 */ Vec mPos;
/* 0x0C */ f32 mRadius;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ u8 mColorR;
/* 0x19 */ u8 mColorG;
/* 0x1A */ u8 mColorB;
/* 0x1B */ u8 mFluctuation;
};
class stage_palet_info_class {
public:
@@ -799,7 +808,7 @@ public:
static void SetTimePass(int);
static JKRExpHeap* getMemoryBlock(int);
static void setStayNo(int);
static s8 GetTimePass();
static s32 GetTimePass();
static void setZoneNo(int, int);
static int getZoneNo(int i_roomNo);
@@ -921,6 +930,14 @@ inline u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* i_stagInfo) {
return (i_stagInfo->field_0x0a >> 0x3) & 0xFF;
}
inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) {
return (p_info->field_0x0c >> 8) & 0xFF;
}
inline u8 dStage_stagInfo_getStartSch(stage_stag_info_class* p_info) {
return (p_info->field_0x10 >> 0x10) & 0xFF;
}
inline u8 dStage_roomRead_dt_c_GetLoadRoomIndex(u8 param_0) {
return param_0 & 0x3f;
}
+21 -1
View File
@@ -59,7 +59,27 @@ inline void mDoAud_resetProcess() {
}
inline void mDoAud_seStart(u32 i_sfxID, Vec* i_sePos, u32 param_2, s8 i_reverb) {
JAIZelBasic::getInterface()->seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0);
mDoAud_zelAudio_c::getInterface()->seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
inline void mDoAud_bgmMuteMtDragon() {
mDoAud_zelAudio_c::getInterface()->bgmMuteMtDragon();
}
inline void mDoAud_stSkyCloisters() {
mDoAud_zelAudio_c::getInterface()->stSkyCloisters();
}
inline void mDoAud_setHour(s32 hour) {
mDoAud_zelAudio_c::getInterface()->setHour(hour);
}
inline void mDoAud_setMinute(s32 min) {
mDoAud_zelAudio_c::getInterface()->setMinute(min);
}
inline void mDoAud_setWeekday(s32 day) {
mDoAud_zelAudio_c::getInterface()->setWeekday(day);
}
#endif /* M_DO_AUDIO_H */
-3
View File
@@ -12,9 +12,6 @@
#include "m_Do/m_Do_ext.h"
#include "dolphin/types.h"
extern dScnPly_reg_HIO_c g_regHIO;
class disappear_class : public fopAc_ac_c {
public:
int m0000;
-2
View File
@@ -13,8 +13,6 @@
#include "d/d_procname.h"
#include "dolphin/types.h"
extern dScnPly_reg_HIO_c g_regHIO;
struct daKaji_c : fopAc_ac_c {
public:
BOOL CreateHeap();
+2336 -264
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -232,10 +232,10 @@ void dSv_player_get_item_c::onItem(int i_field, u8 i_item) {
}
/* 8005955C-800595F8 .text isItem__21dSv_player_get_item_cFiUc */
bool dSv_player_get_item_c::isItem(int i_field, u8 i_item) {
BOOL dSv_player_get_item_c::isItem(int i_field, u8 i_item) {
JUT_ASSERT(429, 0 <= i_item && i_item < 8);
return mItemFlags[i_field] & (u8)(1 << i_item) ? true : false;
return mItemFlags[i_field] & (u8)(1 << i_item) ? TRUE : FALSE;
}
/* 800595F8-80059740 .text onBottleItem__21dSv_player_get_item_cFUc */