Implement & link ac_shrine

This commit is contained in:
Cuyler36
2023-12-18 09:20:52 -05:00
parent a4fb550821
commit f6541395e8
20 changed files with 757 additions and 18 deletions
+35
View File
@@ -2,12 +2,47 @@
#define AC_SHRINE_H
#include "types.h"
#include "libultra/libultra.h"
#include "m_actor.h"
#include "ac_structure.h"
#include "m_common_data.h"
#include "m_font.h"
#include "m_item_name.h"
#include "m_player_lib.h"
#include "m_rcp.h"
#include "m_soncho.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct ac_shrine_s SHRINE_ACTOR;
typedef void (*aSHR_ANIME_PLAY_PROC)();
typedef struct ac_shrine_clip_s {
aSHR_ANIME_PLAY_PROC anime_play_proc;
int play_flag;
int hem_flag;
} aSHR_Clip_c;
#define aSHR_GET_CLIP() ((aSHR_Clip_c*)(Common_Get(clip).shrine_clip))
#define aSHR_SET_CLIP(v) (Common_Get(clip).shrine_clip = (v))
typedef struct ac_shrine_present_s aSHR_Present_c;
typedef void (*aSHR_Present_PROC)(aSHR_Present_c*);
struct ac_shrine_present_s {
xyz_t trans;
f32 percent;
int finish_flag;
aSHR_Present_PROC move_proc;
};
struct ac_shrine_s {
STRUCTURE_ACTOR structure_class;
};
extern ACTOR_PROFILE Shrine_Profile;
#ifdef __cplusplus
+1 -1
View File
@@ -41,7 +41,7 @@ extern u8 sAdo_MessageSpeedGet();
extern void sAdo_SysLevStop(u8 id);
extern void sAdo_SysLevStart(u8 id);
extern void sAdo_OngenPos(u8 p1, u8 p2, xyz_t* pos);
extern void sAdo_OngenPos(u32 p1, u8 p2, xyz_t* pos);
extern void sAdo_OngenTrgStart(u16 id, xyz_t* pos);
extern void sAdo_SetOutMode(u8 mode);
+2
View File
@@ -16,6 +16,8 @@ enum effect_type {
eEC_EFFECT_WARAU,
/* TODO: finish */
eEC_DOUZOU_LIGHT = 101,
eEC_HEM_LIGHT = 123,
eEC_EFFECT_NUM = 126
};
+1 -1
View File
@@ -24,7 +24,7 @@ extern void Na_MessageSpeed(u8);
extern u8 Na_MessageSpeedGet();
extern void Na_SysLevStart(u8);
extern void Na_SysLevStop(u8);
extern void Na_OngenPos(u8,u8,u16,f32);
extern void Na_OngenPos(u32,u8,u16,f32);
extern void Na_OngenTrgStart(u16,u16,f32);
extern void Na_SetOutMode(u8);
extern void Na_SetVoiceMode(u8);
+4 -4
View File
@@ -581,16 +581,16 @@ do { \
(u32)(_SHIFTL(alpha, 0, 8)) \
}}
#define gDPSetTextureAdjustMode(pkt, type, mode) \
#define gDPSetTextureAdjustMode(pkt, mode) \
do { \
Gfx* _g = (Gfx*)(pkt); \
_g->words.w0 = (u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(type, 16, 8) | _SHIFTL(mode, 0, 16)); \
_g->words.w0 = (u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(G_SPECIAL_TA_MODE, 16, 8) | _SHIFTL(mode, 0, 16)); \
_g->words.w1 = (u32)0; \
} while(0)
#define gsDPSetTextureAdjustMode(type, mode) \
#define gsDPSetTextureAdjustMode(mode) \
{{ \
(u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(type, 16, 8) | _SHIFTL(mode, 0, 16)), \
(u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(G_SPECIAL_TA_MODE, 16, 8) | _SHIFTL(mode, 0, 16)), \
(u32)0 \
}}
+1 -1
View File
@@ -62,7 +62,7 @@ typedef struct clip_s {
/* 0x0BC */ aAR_Clip_c* arrange_room_clip;
/* 0x0C0 */ void* _0C0;
/* 0x0C4 */ void* _0C4;
/* 0x0C8 */ void* _0C8;
/* 0x0C8 */ void* shrine_clip;
/* 0x0CC */ void* _0CC;
/* 0x0D0 */ void* _0D0;
/* 0x0D4 */ CLIP_NONE_PROC ball_redma_proc; /* removed in DnM+ */
+1
View File
@@ -261,6 +261,7 @@ extern int mMsg_request_main_appear(mMsg_Window_c* msg_win, ACTOR* other_actor,
extern int mMsg_Check_main_hide(mMsg_Window_c* msg_win);
extern int mMsg_sound_voice_get_for_editor(int code);
extern int mMsg_sound_spec_change_voice(mMsg_Window_c* msg_win);
extern void mMsg_request_main_forceoff();
#ifdef __cplusplus
}
+1
View File
@@ -2134,6 +2134,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define DUMMY_HANIWA2 (DUMMY_HANIWA1 + 1)
#define DUMMY_HANIWA3 (DUMMY_HANIWA2 + 1)
#define DUMMY_RESERVE 0xF102
#define DUMMY_SHRINE 0xF103
#define DUMMY_RADIO 0xF109
#define DUMMY_TAMA 0xF110
#define DUMMY_DOUZOU 0xF11D
+2
View File
@@ -13,6 +13,8 @@ extern "C" {
#define mSC_RADIO_DAYS 13
#define mSC_LIGHTHOUSE_DAYS 17
#define mSC_TROPHY_GOLDEN_AXE 29
enum {
mSC_EVENT_NEW_YEARS_DAY,
mSC_EVENT_FOUNDERS_DAY,
+22
View File
@@ -88,6 +88,28 @@ enum submenu_overlay {
mSM_OVL_NUM
};
enum {
mSM_IV_OPEN_NORMAL,
mSM_IV_OPEN_MAILBOX,
mSM_IV_OPEN_HANIWA_ENTRUST,
mSM_IV_OPEN_HANIWA_TAKE,
mSM_IV_OPEN_QUEST,
mSM_IV_OPEN_SELL,
mSM_IV_OPEN_GIVE,
mSM_IV_OPEN_SEND_MAIL,
mSM_IV_OPEN_TAKE,
mSM_IV_OPEN_PUTIN_FTR,
mSM_IV_OPEN_MINIDISK,
mSM_IV_OPEN_SHRINE,
mSM_IV_OPEN_12,
mSM_IV_OPEN_EXCHANGE,
mSM_IV_OPEN_14,
mSM_IV_OPEN_CURATOR,
mSM_IV_OPEN_16,
mSM_IV_OPEN_NUM
};
typedef struct submenu_item_s {
mActor_name_t item;
u8 slot_no;
+1 -1
View File
@@ -37,7 +37,7 @@ extern void sMath_RotateY(xyz_t* pos, f32 rad);
extern void sMath_RotateZ(xyz_t* pos, f32 rad);
extern f32 Math3d_normalizeXyz_t(xyz_t* vec);
extern f32 Math3DLength(xyz_t* v0, xyz_t* v1);
extern void Math3DInDivPos2(xyz_t* v0, xyz_t* v1, xyz_t* v2, f32 percent);
extern void Math3DInDivPos2(const xyz_t* v0, const xyz_t* v1, xyz_t* v2, f32 percent);
extern void Math3DPlane(xyz_t* va, xyz_t* vb, xyz_t* vc, f32* nox, f32* noy, f32* noz, f32* odist);
extern int Math3D_sphereCrossSphere_cl(Math3D_sphere_c* a, Math3D_sphere_c* b, f32* in);
extern int Math3D_sphereVsPipe_cl(Math3D_sphere_c* s, Math3D_pipe_c* c, f32* in);