mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-11 06:34:45 -04:00
d_kankyo_wether almost done
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
#define JAZELAUDIO_JAIZELBASIC_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JAZelAudio/JAZelAudio_SE.h"
|
||||
#include "JAZelAudio/JAZelAudio_BGM.h"
|
||||
|
||||
class Vec;
|
||||
class JAISound;
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
#ifndef JAZELAUDIO_BGM_H
|
||||
#define JAZELAUDIO_BGM_H
|
||||
|
||||
enum {
|
||||
JA_BGM_SE_SEQUENCE = 0x0800,
|
||||
JA_BGM_ISLAND_LINK = 0x0001,
|
||||
JA_BGM_ITEM_GET = 0x0002,
|
||||
JA_BGM_GOMA = 0x0003,
|
||||
JA_BGM_BATTLE_NORM = 0x0004,
|
||||
JA_BGM_KINDAN_BOSS = 0x0005,
|
||||
JA_BGM_D_RYU_MT = 0x0006,
|
||||
JA_BGM_I_MAJU = 0x0007,
|
||||
JA_BGM_HOUSE = 0x0008,
|
||||
JA_BGM_OPEN_BOX = 0x0009,
|
||||
JA_BGM_DIE_LINK = 0x000A,
|
||||
JA_BGM_SEA_GAME = 0x000B,
|
||||
JA_BGM_SEA_GOAL = 0x000C,
|
||||
JA_BGM_SEA_FAIL = 0x000D,
|
||||
JA_BGM_ISLAND_LINK_2 = 0x000E,
|
||||
JA_BGM_I_MAJU_JAIL = 0x000F,
|
||||
JA_BGM_GOMA_2 = 0x0010,
|
||||
JA_BGM_JI_TRAINING = 0x0011,
|
||||
JA_BGM_TETRA_MEET = 0x0012,
|
||||
JA_BGM_BK_FLY_DOWN = 0x0013,
|
||||
JA_BGM_DK_BATTLE = 0x0014,
|
||||
JA_BGM_MJ_TOWER_BATTLE = 0x0015,
|
||||
JA_BGM_FIND_TETRA = 0x0016,
|
||||
JA_BGM_I_LINK_FOREST = 0x0017,
|
||||
JA_BGM_HOUSE_G = 0x0018,
|
||||
JA_BGM_MBOSS = 0x0019,
|
||||
JA_BGM_MBOSS_S = 0x001A,
|
||||
JA_BGM_BOAT_SHOP = 0x001B,
|
||||
JA_BGM_SEA_ENEMY = 0x001C,
|
||||
JA_BGM_MORNING = 0x001D,
|
||||
JA_BGM_SELECT = 0x001E,
|
||||
JA_BGM_MEDRI_AWAKE = 0x001F,
|
||||
JA_BGM_MAKORE_AWAKE = 0x0020,
|
||||
JA_BGM_TAKT_MAKORE = 0x0021,
|
||||
JA_BGM_TAKT_MEDRI = 0x0022,
|
||||
JA_BGM_BST_BATTLE = 0x0023,
|
||||
JA_BGM_GET_HEART = 0x0024,
|
||||
JA_BGM_ITEM_GET_S = 0x0025,
|
||||
JA_BGM_D_FOREST = 0x0026,
|
||||
JA_BGM_GET_SONG = 0x0027,
|
||||
JA_BGM_KAMI_TOWER = 0x0028,
|
||||
JA_BGM_RANE_BATTLE = 0x0029,
|
||||
JA_BGM_PIRATE = 0x002A,
|
||||
JA_BGM_DIOCTA_BATTLE = 0x002B,
|
||||
JA_BGM_PIRATE_C = 0x002C,
|
||||
JA_BGM_D_EARTH = 0x002D,
|
||||
JA_BGM_SEA = 0x002E,
|
||||
JA_BGM_D_WIND = 0x002F,
|
||||
JA_BGM_TAKT_CHUYA = 0x0030,
|
||||
JA_BGM_TAKT_KAZE = 0x0031,
|
||||
JA_BGM_TAKT_SHIPPU = 0x0032,
|
||||
JA_BGM_TETRA_MEET_B = 0x0033,
|
||||
JA_BGM_HYRULE_OFF = 0x0034,
|
||||
JA_BGM_HYRULE_ON = 0x0035,
|
||||
JA_BGM_CB_NEXTYEAR = 0x0036,
|
||||
JA_BGM_CB_NEXTYEAR_W = 0x0037,
|
||||
JA_BGM_ISLAND_LINK_0 = 0x0038,
|
||||
JA_BGM_ISLAND_WOOD = 0x0039,
|
||||
JA_BGM_ISLAND_DRAGON = 0x003A,
|
||||
JA_BGM_ISLAND_TAURA = 0x003B,
|
||||
JA_BGM_SEA_STORM = 0x003C,
|
||||
JA_BGM_PIRATE_DEMO5 = 0x003D,
|
||||
JA_BGM_JI_TRAINING_2 = 0x003E,
|
||||
JA_BGM_I_WOOD_INNER = 0x003F,
|
||||
JA_BGM_DRUG_STORE = 0x0040,
|
||||
JA_BGM_P_GANON_1 = 0x0041,
|
||||
JA_BGM_D_GANON_1 = 0x0042,
|
||||
JA_BGM_D_GANON_2 = 0x0043,
|
||||
JA_BGM_BAACHAN = 0x0044,
|
||||
JA_BGM_DEKU_PINCH = 0x0045,
|
||||
JA_BGM_DIOCTA_2 = 0x0046,
|
||||
JA_BGM_P_GANON_2 = 0x0047,
|
||||
JA_BGM_BIG_POW = 0x0048,
|
||||
JA_BGM_PAST_BIG_POW = 0x0049,
|
||||
JA_BGM_PAST_BKM = 0x004A,
|
||||
JA_BGM_PAST_GOMA = 0x004B,
|
||||
JA_BGM_PAST_RANE = 0x004C,
|
||||
JA_BGM_GANON_BATTLE = 0x004D,
|
||||
JA_BGM_MASTER_SWORD = 0x004E,
|
||||
JA_BGM_GET_PEARL = 0x004F,
|
||||
JA_BGM_BIRDMAN = 0x0050,
|
||||
JA_BGM_BIRDMAN_GOAL = 0x0051,
|
||||
JA_BGM_BIRDMAN_FAIL = 0x0052,
|
||||
JA_BGM_ELF = 0x0053,
|
||||
JA_BGM_PAST_GOMA_2 = 0x0054,
|
||||
JA_BGM_ISLAND_LINK_3 = 0x0055,
|
||||
JA_BGM_DEATH_VALLEY = 0x0056,
|
||||
JA_BGM_JABOO_CAVE = 0x0057,
|
||||
JA_BGM_SUB_DUNGEON = 0x0058,
|
||||
JA_BGM_BGN_KUGUTSU = 0x0059,
|
||||
JA_BGM_BGN_TARABA = 0x005A,
|
||||
JA_BGM_BGN_HAYAMUSHI = 0x005B,
|
||||
JA_BGM_BGN_TARABA_IN = 0x005C,
|
||||
JA_BGM_BGN_GET_BOX = 0x005D,
|
||||
JA_BGM_I_MAJU_2ND = 0x005E,
|
||||
JA_BGM_MAKORE_TAKT_8 = 0x005F,
|
||||
JA_BGM_MEDORI_TAKT_8 = 0x0060,
|
||||
JA_BGM_TRIFORCE_DEMO = 0x0061,
|
||||
};
|
||||
|
||||
#endif /* JAZELAUDIO_BGM_H */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,6 +16,16 @@ class JPACallBackBase;
|
||||
class JPACallBackBase2;
|
||||
class JPADataBlockLinkInfo;
|
||||
|
||||
enum {
|
||||
JPAEmtrStts_StopEmit = 0x01,
|
||||
JPAEmtrStts_StopCalc = 0x02,
|
||||
JPAEmtrStts_StopDraw = 0x04,
|
||||
JPAEmtrStts_EnableDeleteEmitter = 0x08,
|
||||
JPAEmtrStts_FirstEmit = 0x10,
|
||||
JPAEmtrStts_RateStepEmit = 0x20,
|
||||
JPAEmtrStts_Immortal = 0x40,
|
||||
};
|
||||
|
||||
class JPABaseEmitter {
|
||||
public:
|
||||
typedef void (JPABaseEmitter::*VolumeFunc)();
|
||||
@@ -45,12 +55,21 @@ public:
|
||||
void calcgReRDirection();
|
||||
void getPivotX();
|
||||
void getPivotY();
|
||||
|
||||
void setStatus(u32 status) { mFlags |= status; }
|
||||
|
||||
u8 getGlobalAlpha() { return mGlobalPrmColor.a; }
|
||||
void setGlobalAlpha(u8 alpha) { mGlobalPrmColor.a = alpha; }
|
||||
void setGlobalRTMatrix(MtxP mtx) {
|
||||
JPASetRMtxTVecfromMtx(mtx, mGlobalRotation, mGlobalTranslation);
|
||||
}
|
||||
|
||||
void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); }
|
||||
|
||||
void becomeInvalidEmitter() {
|
||||
mMaxFrame = -1;
|
||||
stopCreateParticle();
|
||||
}
|
||||
|
||||
/* 0x000 */ VolumeFunc mVolumeFunc;
|
||||
/* 0x00C */ cXyz mEmitterScale;
|
||||
|
||||
@@ -170,6 +170,7 @@ public:
|
||||
|
||||
void setLkDemoAnmArchive(JKRArchive* i_arc) { mpLkDArc = i_arc; }
|
||||
void setStatus(u16 status) { mStatus = status; }
|
||||
s32 checkStatus(u16 flags) { return flags & mStatus; }
|
||||
|
||||
void setShipId(u8 i_id) { mShipId = i_id; }
|
||||
void setShipRoomId(u8 i_id) { mShipRoomId = i_id; }
|
||||
@@ -240,7 +241,7 @@ public:
|
||||
/* 0x483C */ dFlower_packet_c* mpFlowerPacket;
|
||||
/* 0x4840 */ s8 mLkDArcIdx;
|
||||
/* 0x4841 */ u8 field_0x4841;
|
||||
/* 0x4842 */ s16 mStatus;
|
||||
/* 0x4842 */ u16 mStatus;
|
||||
/* 0x4844 */ dDlst_window_c mDlstWindow[1];
|
||||
/* 0x4870 */ dComIfG_camera_info_class mCameraInfo[1];
|
||||
/* 0x48A4 */ daPy_py_c* mpPlayer[1];
|
||||
@@ -656,6 +657,22 @@ inline BOOL dComIfGs_isGetItem(int i_field, u8 i_item) {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getGetItem().isItem(i_field, i_item);
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getWindY() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getWindY();
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getWindX() {
|
||||
return g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().getWindX();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setWindY(s16 i_windY) {
|
||||
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().setWindY(i_windY);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setWindX(s16 i_windX) {
|
||||
g_dComIfG_gameInfo.save.getPlayer().getPlayerStatusB().setWindX(i_windX);
|
||||
}
|
||||
|
||||
/**
|
||||
* === PLAY ===
|
||||
*/
|
||||
@@ -984,6 +1001,10 @@ inline void dComIfGp_setMessageCountNumber(s16 num) {
|
||||
g_dComIfG_gameInfo.play.setMessageCountNumber(num);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_checkStatus(u16 flags) {
|
||||
return g_dComIfG_gameInfo.play.checkStatus(flags);
|
||||
}
|
||||
|
||||
/**
|
||||
* === EVENT ===*/
|
||||
|
||||
@@ -1120,6 +1141,28 @@ inline s32 dComIfGd_getLightModelNum() {
|
||||
return g_dComIfG_gameInfo.drawlist.getLightModelNum();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getListFilter() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListFilter();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setList() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaList();
|
||||
g_dComIfG_gameInfo.drawlist.setXluList();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListSky() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListSky();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListSky();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setXluListBG() {
|
||||
g_dComIfG_gameInfo.drawlist.setXluListBG();
|
||||
}
|
||||
|
||||
inline void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1);
|
||||
}
|
||||
|
||||
/**
|
||||
* === RESOURCE ===
|
||||
*/
|
||||
|
||||
+30
-25
@@ -1,6 +1,7 @@
|
||||
#ifndef D_D_DRAWLIST_H
|
||||
#define D_D_DRAWLIST_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "f_op/f_op_view.h"
|
||||
#include "global.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
@@ -171,21 +172,20 @@ struct dDlst_alphaModelData_c;
|
||||
struct dDlst_alphaModel_c {
|
||||
public:
|
||||
enum Type {
|
||||
TYPE_SPHERE = 0,
|
||||
TYPE_TWO_SPHERES = 1,
|
||||
TYPE_SEARCHLIGHT = 2,
|
||||
TYPE_CUBE = 3,
|
||||
TYPE_SMALL_SPHERE = 4,
|
||||
TYPE_SPHERE = 0,
|
||||
TYPE_TWO_SPHERES = 1,
|
||||
TYPE_SEARCHLIGHT = 2,
|
||||
TYPE_CUBE = 3,
|
||||
TYPE_SMALL_SPHERE = 4,
|
||||
TYPE_THREE_SPHERES = 5,
|
||||
};
|
||||
|
||||
|
||||
dDlst_alphaModel_c();
|
||||
void create(int);
|
||||
void set(u8 type, Mtx mtx, u8 alpha);
|
||||
void draw(MtxP);
|
||||
s32 getNum() {
|
||||
return mNum;
|
||||
}
|
||||
s32 getNum() { return mNum; }
|
||||
|
||||
public:
|
||||
/* 0x00 */ _GXColor mColor;
|
||||
/* 0x04 */ s16 mCapacity;
|
||||
@@ -208,6 +208,21 @@ public:
|
||||
void calcWipe();
|
||||
void set2DOpa(dDlst_base_c*);
|
||||
|
||||
J3DDrawBuffer* getOpaListFilter() { return mpWetherFxBuffer; }
|
||||
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
void setOpaList() { setOpaDrawList(mpBufInvisibleModelOpa); }
|
||||
void setXluList() { setXluDrawList(mpBufInvisibleModelXlu); }
|
||||
void setOpaListSky() { setOpaDrawList(mpBufSkyOpa); }
|
||||
void setXluListSky() { setXluDrawList(mpBufSkyXlu); }
|
||||
void setOpaListBG() { setOpaDrawList(mpBufWorldOpa); }
|
||||
void setXluListBG() { setXluDrawList(mpBufWorldXlu); }
|
||||
|
||||
void entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
entryZSortXluDrawList(mpBufInvisibleModelXlu, i_packet, param_1);
|
||||
}
|
||||
|
||||
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
|
||||
f32 param_5, _GXTexObj* param_6) {
|
||||
return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5,
|
||||
@@ -217,22 +232,12 @@ public:
|
||||
dKy_tevstr_c* pTevStr) {
|
||||
return mShadowControl.setReal2(id, param_2, pModel, pPos, param_5, param_6, pTevStr);
|
||||
}
|
||||
|
||||
void setAlphaModel(u8 type, Mtx mtx, u8 alpha) {
|
||||
mpAlphaModel->set(type, mtx, alpha);
|
||||
}
|
||||
void setSpotModel(u8 type, Mtx mtx, u8 alpha) {
|
||||
mpSpotModel->set(type, mtx, alpha);
|
||||
}
|
||||
void setLightModel(u8 type, Mtx mtx, u8 alpha) {
|
||||
mpLightModel->set(type, mtx, alpha);
|
||||
}
|
||||
s32 getSpotModelNum() {
|
||||
return mpSpotModel->getNum();
|
||||
}
|
||||
s32 getLightModelNum() {
|
||||
return mpLightModel->getNum();
|
||||
}
|
||||
|
||||
void setAlphaModel(u8 type, Mtx mtx, u8 alpha) { mpAlphaModel->set(type, mtx, alpha); }
|
||||
void setSpotModel(u8 type, Mtx mtx, u8 alpha) { mpSpotModel->set(type, mtx, alpha); }
|
||||
void setLightModel(u8 type, Mtx mtx, u8 alpha) { mpLightModel->set(type, mtx, alpha); }
|
||||
s32 getSpotModelNum() { return mpSpotModel->getNum(); }
|
||||
s32 getLightModelNum() { return mpLightModel->getNum(); }
|
||||
|
||||
static void offWipe() { mWipe = false; }
|
||||
|
||||
|
||||
+10
-9
@@ -35,7 +35,7 @@ struct WIND_INFLUENCE {
|
||||
/* 0x18 */ f32 mRadius;
|
||||
/* 0x1C */ f32 mStrength;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ u8 mbConstant;
|
||||
};
|
||||
|
||||
@@ -50,9 +50,7 @@ struct WIND_INF_ENTITY {
|
||||
struct GB_WIND_INFLUENCE {
|
||||
/* 0x00 */ cXyz mWindVec;
|
||||
/* 0x04 */ cXyz* mpWindVecOverride;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x08 */ cXyz field_0x8;
|
||||
/* 0x14 */ f32 mWindPower;
|
||||
/* 0x18 */ f32 mWindStrengthOverride;
|
||||
/* 0x1C */ f32 mCustomWindPower;
|
||||
@@ -162,7 +160,8 @@ class dKankyo_housi_Packet;
|
||||
class dKankyo_cloud_Packet;
|
||||
class dKankyo_vrkumo_Packet;
|
||||
class dKankyo_wave_Packet;
|
||||
class dKyr__wind_Packet;
|
||||
class dKankyo_poison_Packet;
|
||||
class WINDEFF_SET;
|
||||
class dKankyo_star_Packet;
|
||||
class stage_palet_info_class;
|
||||
class stage_pselect_info_class;
|
||||
@@ -229,8 +228,10 @@ public:
|
||||
/* 0x9D8 */ int mStarCount;
|
||||
/* 0x9DC */ f32 mStarCountTarget;
|
||||
/* 0x9E0 */ dKankyo_star_Packet* mpStarPacket;
|
||||
/* 0x9E4 */ u8 field_0x9E4[0x9F0 - 0x9E4];
|
||||
/* 0x9F0 */ u8 mbHouseInitialized;
|
||||
/* 0x9E4 */ u8 mbPoisonInitialized;
|
||||
/* 0x9E8 */ int mPoisonCount;
|
||||
/* 0x9EC */ dKankyo_poison_Packet* mpPoisonPacket;
|
||||
/* 0x9F0 */ u8 mbHousiInitialized;
|
||||
/* 0x9F4 */ int mHousiCount;
|
||||
/* 0x9F8 */ dKankyo_housi_Packet* mpHousiPacket;
|
||||
/* 0x9FC */ u8 mMoyaInitialized;
|
||||
@@ -242,11 +243,11 @@ public:
|
||||
/* 0xA10 */ f32 mVrkumoStrength;
|
||||
/* 0xA14 */ dKankyo_vrkumo_Packet* mpVrkumoPacket;
|
||||
/* 0xA18 */ u8 mWaveInitialized;
|
||||
/* 0xA19 */ u8 field_0xA19[0xA20 - 0xA19];
|
||||
/* 0xA1C */ int field_0xa1c;
|
||||
/* 0xA20 */ dKankyo_wave_Packet* mpWavePacket;
|
||||
/* 0xA24 */ u8 mbWindlineInitialized;
|
||||
/* 0xA28 */ int mWindlineCount;
|
||||
/* 0xA2C */ dKyr__wind_Packet* mpWind;
|
||||
/* 0xA2C */ WINDEFF_SET* mpWind;
|
||||
/* 0xA30 */ EF_THUNDER mThunderEff;
|
||||
/* 0xA68 */ WAVE_INFO* mpWaveInfl[10];
|
||||
/* 0xA90 */ cXyz mLightDir;
|
||||
|
||||
@@ -1,7 +1,43 @@
|
||||
#ifndef D_KANKYO_D_KANKYO_RAIN_H
|
||||
#define D_KANKYO_D_KANKYO_RAIN_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cXyz;
|
||||
|
||||
void dKyr_drawSun(f32(*)[4], cXyz*, GXColor&, u8**);
|
||||
void dKyr_drawLenzflare(f32(*)[4], cXyz*, GXColor&, u8**);
|
||||
void dKyr_drawRain(f32(*)[4], u8**);
|
||||
void dKyr_drawSibuki(f32(*)[4], u8**);
|
||||
void drawPoison(f32(*)[4], u8**);
|
||||
void dKyr_drawHousi(f32(*)[4], u8**);
|
||||
void dKyr_drawKazanbai(f32(*)[4], u8**);
|
||||
void dKyr_drawSnow(f32(*)[4], u8**);
|
||||
void dKyr_drawStar(f32(*)[4], u8**);
|
||||
void drawWave(f32(*)[4], u8**);
|
||||
void drawCloudShadow(f32(*)[4], u8**);
|
||||
void drawVrkumo(f32(*)[4], GXColor&, u8**);
|
||||
void dKyr_thunder_init();
|
||||
void dKyr_thunder_move();
|
||||
void dKyr_poison_light_colision();
|
||||
void dKyr_wind_init();
|
||||
void dKyr_wind_move();
|
||||
void dKyr_sun_move();
|
||||
void dKyr_lenzflare_move();
|
||||
void dKyr_rain_init();
|
||||
void dKyr_rain_move();
|
||||
void dKyr_snow_move();
|
||||
void dKyr_kazanbai_move();
|
||||
void dKyr_snow_init();
|
||||
void dKyr_star_init();
|
||||
void dKyr_star_move();
|
||||
void poison_init();
|
||||
void poison_move();
|
||||
void dKyr_housi_move();
|
||||
void cloud_shadow_move();
|
||||
void vrkumo_move();
|
||||
void wave_move();
|
||||
void dKyr_get_vectle_calc(cXyz*, cXyz*, cXyz*);
|
||||
BOOL dKyr_poison_live_check();
|
||||
BOOL dKyr_moon_arrival_check();
|
||||
|
||||
|
||||
@@ -1,9 +1,341 @@
|
||||
#ifndef D_KANKYO_WETHER_H
|
||||
#define D_KANKYO_WETHER_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class JUTTexture;
|
||||
class JPABaseEmitter;
|
||||
class WIND_INFLUENCE;
|
||||
|
||||
class dKankyo_sun_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_sun_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_sun_Packet();
|
||||
|
||||
/* 0x10 */ cXyz mPos[2];
|
||||
/* 0x28 */ u32 mVizChkData[5];
|
||||
/* 0x3C */ u8 field_0x3c;
|
||||
/* 0x3D */ bool field_0x3d;
|
||||
/* 0x40 */ f32 mVisibility;
|
||||
/* 0x44 */ f32 mSunAlpha;
|
||||
/* 0x48 */ f32 mMoonAlpha;
|
||||
/* 0x4C */ GXColor mColor;
|
||||
/* 0x50 */ u8* mpTextureData[5];
|
||||
};
|
||||
|
||||
class dKankyo_sunlenz_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_sunlenz_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_sunlenz_Packet();
|
||||
|
||||
/* 0x10 */ GXColor mColorTmp;
|
||||
/* 0x14 */ u8* mpTexSnow01;
|
||||
/* 0x18 */ u8* mpTexLensHalf;
|
||||
/* 0x1C */ u8* mpTexRingHalf;
|
||||
/* 0x20 */ cXyz mPositions[8];
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ f32 field_0x84;
|
||||
/* 0x88 */ f32 field_0x88;
|
||||
/* 0x8C */ f32 field_0x8c;
|
||||
/* 0x90 */ f32 mAngleDeg;
|
||||
/* 0x94 */ f32 mDistFalloff;
|
||||
/* 0x98 */ s16 field_0x98;
|
||||
/* 0x9A */ bool mbDrawLenzInSky;
|
||||
};
|
||||
|
||||
struct RAIN_EFF {
|
||||
RAIN_EFF();
|
||||
~RAIN_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 mAlpha;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ s16 mTimer;
|
||||
};
|
||||
|
||||
class dKankyo_rain_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_rain_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_rain_Packet();
|
||||
|
||||
/* 0x0010 */ u8* mpTxSnow01;
|
||||
/* 0x0014 */ u8* mpTxRingAHalf;
|
||||
/* 0x0018 */ RAIN_EFF mRainEff[250];
|
||||
/* 0x36C8 */ f32 field_0x36c8;
|
||||
/* 0x36CC */ f32 field_0x36cc;
|
||||
/* 0x36D0 */ s16 mRainCount;
|
||||
/* 0x36D2 */ u8 field_0x36D2[0x36D8 - 0x36D2];
|
||||
/* 0x36D8 */ cXyz mCamEyePos;
|
||||
/* 0x36E4 */ cXyz mCamCenterPos;
|
||||
/* 0x36F0 */ cXyz mCenterDelta;
|
||||
/* 0x36FC */ f32 mCenterDeltaMul;
|
||||
/* 0x3700 */ f32 field_0x3700;
|
||||
/* 0x3704 */ f32 mSibukiAlpha;
|
||||
/* 0x3708 */ f32 mOverheadFade;
|
||||
/* 0x370C */ f32 mFwd1Fade;
|
||||
/* 0x3710 */ f32 mFwdFade2;
|
||||
/* 0x3714 */ u8 mStatus;
|
||||
};
|
||||
|
||||
struct SNOW_EFF {
|
||||
SNOW_EFF();
|
||||
~SNOW_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ f32 mPosWaveX;
|
||||
/* 0x20 */ f32 mPosWaveZ;
|
||||
/* 0x24 */ f32 mGravity;
|
||||
/* 0x28 */ f32 mWindSpeed;
|
||||
/* 0x2C */ f32 mScale;
|
||||
/* 0x30 */ u8 field_0x30[0x34 - 0x30];
|
||||
/* 0x34 */ s16 mTimer;
|
||||
};
|
||||
|
||||
class dKankyo_snow_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_snow_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_snow_Packet();
|
||||
|
||||
/* 0x0010 */ u8* mpTexture;
|
||||
/* 0x0014 */ SNOW_EFF mEff[250];
|
||||
/* 0x36C4 */ cXyz mOldEyePos;
|
||||
/* 0x36D0 */ f32 field_0x36d0;
|
||||
/* 0x36D4 */ f32 field_0x36d4;
|
||||
/* 0x36D8 */ s16 mEffCount;
|
||||
/* 0x36DA */ s16 mTamariStart;
|
||||
};
|
||||
|
||||
struct STAR_EFF {
|
||||
STAR_EFF();
|
||||
~STAR_EFF();
|
||||
|
||||
/* 0x00 */ u8 field_0x00[0x1C - 0x00];
|
||||
/* 0x1C */ f32 mAnimCounter;
|
||||
/* 0x20 */ u8 field_0x20[0x28 - 0x20];
|
||||
/* 0x28 */ f32 mSin;
|
||||
/* 0x2C */ u8 field_0x2c[0x34 - 0x2C];
|
||||
};
|
||||
|
||||
class dKankyo_star_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_star_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_star_Packet();
|
||||
|
||||
/* 0x10 */ u8* field_0x10;
|
||||
/* 0x14 */ STAR_EFF mStarEff[1];
|
||||
/* 0x48 */ s16 mCount;
|
||||
};
|
||||
|
||||
struct POISON_EFF {
|
||||
POISON_EFF();
|
||||
~POISON_EFF();
|
||||
|
||||
/* 0x0 */ u8 field_0x0[0x30];
|
||||
};
|
||||
|
||||
class dKankyo_poison_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_poison_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_poison_Packet();
|
||||
|
||||
/* 0x0010 */ POISON_EFF mPoisonEff[1000];
|
||||
/* 0xBB90 */ u8 field_0xbb90[0xBB9C - 0xBB90];
|
||||
/* 0xBB9C */ cXyz field_0xbb9c;
|
||||
/* 0xBBA8 */ u8 field_0xbba8[0xBBAC - 0xBBA8];
|
||||
/* 0xBBAC */ u8* field_0xbbac;
|
||||
};
|
||||
|
||||
struct CLOUD_EFF {
|
||||
CLOUD_EFF();
|
||||
~CLOUD_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ cXyz mPntWindVel;
|
||||
/* 0x28 */ cXyz mVelRndm;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 mWindSpeed;
|
||||
/* 0x3C */ s16 mAnimCounter;
|
||||
/* 0x40 */ f32 mAlpha;
|
||||
/* 0x44 */ f32 mSize;
|
||||
/* 0x48 */ f32 mInitialSize;
|
||||
};
|
||||
|
||||
class dKankyo_cloud_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_cloud_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_cloud_Packet();
|
||||
|
||||
/* 0x0010 */ u8* mpTexture;
|
||||
/* 0x0014 */ int mCount;
|
||||
/* 0x0018 */ CLOUD_EFF mEff[100];
|
||||
};
|
||||
|
||||
struct HOUSI_EFF {
|
||||
HOUSI_EFF();
|
||||
~HOUSI_EFF();
|
||||
|
||||
/* 0x00 */ u8 mState;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ cXyz mVel;
|
||||
/* 0x28 */ cXyz mScale;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ u8 field_0x38[0x3C - 0x38];
|
||||
/* 0x3C */ s16 field_0x3c;
|
||||
/* 0x3E */ u8 field_0x3E[0x40 - 0x3E];
|
||||
/* 0x40 */ f32 mAlpha;
|
||||
/* 0x44 */ u8 field_0x44[0x48 - 0x44];
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ s16 field_0x4c;
|
||||
};
|
||||
|
||||
class dKankyo_housi_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_housi_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_housi_Packet();
|
||||
|
||||
/* 0x0010 */ u8* mpTex;
|
||||
/* 0x0014 */ HOUSI_EFF mEff[300];
|
||||
/* 0x5DD4 */ u8 field_0x5DD4[0x5DDC - 0x5DD4];
|
||||
/* 0x5DDC */ f32 field_0x5ddc;
|
||||
/* 0x5DE0 */ s16 mCount;
|
||||
/* 0x5DE2 */ u8 field_0x5de2[0x5DE8 - 0x5DE2];
|
||||
};
|
||||
|
||||
struct VRKUMO_EFF {
|
||||
VRKUMO_EFF();
|
||||
~VRKUMO_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x01 */ u8 field_0x01[0x04 - 0x01];
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ u8 field_0x10[0x1C - 0x10];
|
||||
/* 0x1C */ f32 mHeight;
|
||||
/* 0x20 */ f32 mAlpha;
|
||||
/* 0x24 */ f32 mDistFalloff;
|
||||
/* 0x28 */ f32 mSpeed;
|
||||
};
|
||||
|
||||
class dKankyo_vrkumo_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_vrkumo_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_vrkumo_Packet();
|
||||
|
||||
/* 0x0010 */ GXColor mColorTmp;
|
||||
/* 0x0014 */ u8* mpCloudTx1;
|
||||
/* 0x0018 */ u8* mpCloudTx2;
|
||||
/* 0x001C */ u8* mpCloudTx3;
|
||||
/* 0x0020 */ VRKUMO_EFF mInst[100];
|
||||
};
|
||||
|
||||
struct WAVE_EFF {
|
||||
WAVE_EFF();
|
||||
~WAVE_EFF();
|
||||
|
||||
/* 0x00 */ cXyz mPos;
|
||||
/* 0x0C */ cXyz mBasePos;
|
||||
/* 0x18 */ f32 mSpeed;
|
||||
/* 0x1C */ f32 mScale;
|
||||
/* 0x20 */ f32 mCounterSpeed;
|
||||
/* 0x24 */ f32 mCounter;
|
||||
/* 0x28 */ f32 mStrengthWind;
|
||||
/* 0x2C */ f32 mStrengthEnv;
|
||||
/* 0x30 */ s16 field_0x30;
|
||||
/* 0x32 */ s16 field_0x32;
|
||||
/* 0x34 */ u8 mState;
|
||||
};
|
||||
|
||||
class dKankyo_wave_Packet : public J3DPacket {
|
||||
public:
|
||||
dKankyo_wave_Packet() {}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dKankyo_wave_Packet();
|
||||
|
||||
/* 0x0010 */ u8* mpTexUsonami;
|
||||
/* 0x0014 */ u8* mpTexUsonamiM;
|
||||
/* 0x0018 */ WAVE_EFF mpWaveEff[300];
|
||||
/* 0x41B8 */ f32 mSkewWidth;
|
||||
/* 0x41BC */ f32 mSkewDir;
|
||||
};
|
||||
|
||||
struct KAMOME_EFF {
|
||||
KAMOME_EFF();
|
||||
~KAMOME_EFF();
|
||||
|
||||
/* 0x00 */ JPABaseEmitter* mpBaseEmitter;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ u8 field_0x18[0x1E - 0x18];
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
};
|
||||
|
||||
struct WIND_EFF {
|
||||
WIND_EFF();
|
||||
~WIND_EFF();
|
||||
|
||||
/* 0x00 */ JPABaseEmitter* mpEmitter;
|
||||
/* 0x04 */ cXyz mBasePos;
|
||||
/* 0x10 */ cXyz mRandomPos;
|
||||
/* 0x1C */ f32 mStateTimer;
|
||||
/* 0x20 */ f32 mAlpha;
|
||||
/* 0x24 */ int mState;
|
||||
/* 0x28 */ int field_0x28;
|
||||
/* 0x2C */ s16 field_0x2c;
|
||||
/* 0x2E */ s16 mAngleY;
|
||||
/* 0x30 */ s16 mAngleXZ;
|
||||
/* 0x32 */ u8 field_0x32;
|
||||
};
|
||||
|
||||
// is this the correct name?
|
||||
struct WINDEFF_SET {
|
||||
/* 0x000 */ WIND_EFF mWindEff[30];
|
||||
/* 0x618 */ KAMOME_EFF mKamomeEff[10];
|
||||
/* 0x758 */ u8 mbHasCustomWindPower;
|
||||
/* 0x759 */ u8 field_0x759;
|
||||
};
|
||||
|
||||
void dKyw_wether_proc();
|
||||
void dKyw_rain_set(int);
|
||||
void dKyw_wind_set();
|
||||
void dKyw_wind_init();
|
||||
void dKyw_pntwind_init();
|
||||
void dKy_wave_chan_init();
|
||||
f32 dKyw_get_wind_pow();
|
||||
f32* dKyw_get_wind_power();
|
||||
void squal_proc();
|
||||
void dKyw_pntwind_set(WIND_INFLUENCE*);
|
||||
void dKyw_pntwind_cut(WIND_INFLUENCE*);
|
||||
|
||||
#endif /* D_KANKYO_WETHER_H */
|
||||
@@ -39,6 +39,10 @@ public:
|
||||
void setDate(u16 i_date) { mDate = i_date; }
|
||||
void setTime(f32 i_time) { mTime = i_time; }
|
||||
s64 getDateIpl() const { return mDateIPL; }
|
||||
s16 getWindY() { return mTactWindAngleY; }
|
||||
s16 getWindX() { return mTactWindAngleX; }
|
||||
void setWindY(s16 i_windY) { mTactWindAngleY = i_windY; }
|
||||
void setWindX(s16 i_windX) { mTactWindAngleX = i_windX; }
|
||||
|
||||
/* 0x00 */ u64 mDateIPL;
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
|
||||
@@ -956,4 +956,12 @@ inline s32 dStage_sclsInfo_getWipe(stage_scls_info_class* p_info) {
|
||||
return p_info->mWipe;
|
||||
}
|
||||
|
||||
inline int dStage_FileList_dt_ChkPathWindEffect(dStage_FileList_dt_c* i_fili) {
|
||||
return i_fili->mParam & 0x100000;
|
||||
}
|
||||
|
||||
inline int dStage_FileList_dt_GlobalWindLevel(dStage_FileList_dt_c* i_fili) {
|
||||
return (i_fili->mParam >> 0x12) & 3;
|
||||
}
|
||||
|
||||
#endif /* D_D_STAGE_H */
|
||||
@@ -82,4 +82,8 @@ inline void mDoAud_setWeekday(s32 day) {
|
||||
mDoAud_zelAudio_c::getInterface()->setWeekday(day);
|
||||
}
|
||||
|
||||
inline void mDoAud_rainPlay(s32 param_0) {
|
||||
mDoAud_zelAudio_c::getInterface()->rainPlay(param_0);
|
||||
}
|
||||
|
||||
#endif /* M_DO_AUDIO_H */
|
||||
|
||||
+1041
-210
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user