mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-11 13:08:34 -04:00
ac_weather work
This commit is contained in:
@@ -12,6 +12,84 @@ extern int aWeather_ChangingWeather();
|
||||
|
||||
extern ACTOR_PROFILE Weather_Profile;
|
||||
|
||||
typedef struct ac_weather_priv_s{
|
||||
xyz_t pos;
|
||||
xyz_t speed;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
s16 timer;
|
||||
s16 work[5];
|
||||
u8 use;
|
||||
s8 id;
|
||||
u8 status;
|
||||
}aWeather_Priv;
|
||||
|
||||
typedef struct weather_actor_s WEATHER_ACTOR;
|
||||
|
||||
typedef void (*CHANGE_WEATHER_PROC)(WEATHER_ACTOR* weather, s16 status, s16 level);
|
||||
typedef int (*GET_WEATHER_PRV_NUM)(WEATHER_ACTOR* weather);
|
||||
typedef void (*REMOVE_WEATHER_PRV)(WEATHER_ACTOR* weather, int id);
|
||||
typedef aWeather_Priv* (*GET_WEATHER_PRV)(u8 status, s16 timer, xyz_t* pos, xyz_t* speed, WEATHER_ACTOR* weather, int id);
|
||||
typedef int (*WEATHER_SOUND_EFFECT)();
|
||||
typedef void (*CHANGE_WEATER_INSTANCE_PROC)(WEATHER_ACTOR* weather, s16 status, s16 level);
|
||||
|
||||
typedef struct ac_weather_clip_s{
|
||||
WEATHER_ACTOR* actor;
|
||||
CHANGE_WEATHER_PROC change_weather;
|
||||
GET_WEATHER_PRV_NUM get_priv_num;
|
||||
REMOVE_WEATHER_PRV remove_priv;
|
||||
GET_WEATHER_PRV get_priv;
|
||||
WEATHER_SOUND_EFFECT stop_sound;
|
||||
WEATHER_SOUND_EFFECT start_sound;
|
||||
CHANGE_WEATER_INSTANCE_PROC change_weather_instance;
|
||||
}aWeather_Clip_c;
|
||||
|
||||
|
||||
typedef void (*MK_WEATHER_PROC)(ACTOR*,GAME*);
|
||||
typedef void (*CT_WEATHER_PROC)(aWeather_Priv*, GAME*);
|
||||
typedef void (*MV_WEATHER_PROC)(aWeather_Priv*, GAME*);
|
||||
typedef void (*MT_WEATHER_PROC)(aWeather_Priv*, GAME*);
|
||||
typedef void (*ST_WEATHER_PROC)(GAME*);
|
||||
typedef void (*DW_WEATHER_PROC)(aWeather_Priv*, GAME*);
|
||||
|
||||
typedef struct ac_weather_profile_s{
|
||||
MK_WEATHER_PROC make;
|
||||
CT_WEATHER_PROC constructor;
|
||||
MV_WEATHER_PROC move;
|
||||
ST_WEATHER_PROC set;
|
||||
DW_WEATHER_PROC draw;
|
||||
}aWeather_Profile_c;
|
||||
|
||||
struct weather_actor_s{
|
||||
/* 0x000 */ ACTOR actor_class;
|
||||
/* 0x174 */ aWeather_Profile_c* current_profile;
|
||||
/* 0x178 */ s16 current_status;
|
||||
/* 0x17A */ s16 next_status;
|
||||
/* 0x17C */ s16 counter;
|
||||
/* 0x17E */ s16 current_level;
|
||||
/* 0x180 */ s16 current_aim_level;
|
||||
/* 0x182 */ s16 next_level;
|
||||
/* 0x184 */ u8* ptr;
|
||||
/* 0x188 */ xyz_t pos;
|
||||
/* 0x194 */ aWeather_Priv* priv;
|
||||
/* 0x198 */ void* t;
|
||||
/* 0x19C */ u8 request_change;
|
||||
/* 0x19E */ s16 unk19E;
|
||||
/* 0x1A0 */ aWeather_Clip_c clip;
|
||||
/* 0x1C0 */ s16 timer;
|
||||
/* 0x1C2 */ s16 timer2;
|
||||
/* 0x1C4 */ xyz_t wind_info;
|
||||
/* 0x1D0 */ s16 lightning_timer;
|
||||
/* 0x1D2 */ s16 lightning_timer2;
|
||||
/* 0x1D4 */ s16 current_sound_effect;
|
||||
/* 0x1D6 */ s16 umbrella_flag;
|
||||
/* 0x1D8 */ s16 current_yAngle;
|
||||
/* 0x1DA */ s16 sound_flag;
|
||||
/* 0x1DC */ s16 start_sound_effect;
|
||||
/* 0x1DE */ s16 stop_sound_effect;
|
||||
/* 0x1E0 */ s16 basement_event;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef AC_WEATHER_FINE_H
|
||||
#define AC_WEATHER_FINE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_weather.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern aWeather_Profile_c iam_weather_fine;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef AC_WEATHER_LEAF_H
|
||||
#define AC_WEATHER_LEAF_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_weather.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern aWeather_Profile_c iam_weather_leaf;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef AC_WEATHER_RAIN_H
|
||||
#define AC_WEATHER_RAIN_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_weather.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern aWeather_Profile_c iam_weather_rain;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef AC_WEATHER_SAKURA_H
|
||||
#define AC_WEATHER_SAKURA_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_weather.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern aWeather_Profile_c iam_weather_sakura;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef AC_WEATHER_SNOW_H
|
||||
#define AC_WEATHER_SNOW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_weather.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern aWeather_Profile_c iam_weather_snow;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
+2
-1
@@ -9,6 +9,7 @@
|
||||
#include "ef_effect_control.h"
|
||||
#include "m_demo.h"
|
||||
#include "bg_item_h.h"
|
||||
#include "ac_weather.h"
|
||||
#include "ac_npc.h"
|
||||
#include "ac_tools.h"
|
||||
#include "ac_aprilfool_control.h"
|
||||
@@ -41,7 +42,7 @@ typedef struct clip_s {
|
||||
/* 0x06C */ void* _06C;
|
||||
/* 0x070 */ aSI_Clip_c* shop_indoor_clip;
|
||||
/* 0x074 */ bIT_Clip_c* bg_item_clip;
|
||||
/* 0x078 */ void* _078;
|
||||
/* 0x078 */ aWeather_Clip_c* weather_clip;
|
||||
/* 0x07C */ aINS_Clip_c* insect_clip;
|
||||
/* 0x080 */ aMR_Clip_c* my_room_clip;
|
||||
/* 0x084 */ void* _084;
|
||||
|
||||
@@ -209,7 +209,8 @@ typedef struct common_data_s {
|
||||
/* 0x02666C */ s16 weather;
|
||||
/* 0x02666E */ s16 weather_intensity;
|
||||
/* 0x026670 */ lbRTC_time_c weather_time;
|
||||
/* 0x026678 */ u8 _26678[0x26684 - 0x26678];
|
||||
/* 0x026678 */ s_xyz wind;
|
||||
/* 0x026680 */ f32 wind_speed;
|
||||
/* 0x026684 */ mEv_event_common_u special_event_common;
|
||||
/* 0x02669C */ mQst_not_saved_c quest;
|
||||
/* 0x0266A4 */ int scene_from_title_demo; /* next scene to be loaded when title demo finishes */
|
||||
@@ -282,7 +283,9 @@ typedef struct common_data_s {
|
||||
/* 0x028898 */ f32 balloon_spawn_percent; /* chance that a balloon will spawn */
|
||||
/* 0x02889C */ int tanuki_shop_status; /* adjusted based on any current events happening to Nook's shop */
|
||||
/* 0x0288A0 */ u8 pad_connected; /* is gamepad 0 connected? */
|
||||
/* 0x0288A1 */ u8 _288a1[0x02DB40 - 0x0288A1];
|
||||
/* 0x0288A1 */ u8 unk288A1;
|
||||
/* 0x0288A2 */ s16 current_sound_effect;
|
||||
/* 0x0288A4 */ u8 _288a4[0x02DB40 - 0x0288A4];
|
||||
/* 0x02DB40 */ u8 auto_nwrite_set; /* when true, saved nwrite time will be utilized. Seems to be used to keep same date for fishing tourney stuff. */
|
||||
/* 0x02DB42 */ u16 select_last_select_no;
|
||||
/* 0x02DB44 */ u16 select_last_top_no;
|
||||
|
||||
Reference in New Issue
Block a user