mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-08-04 00:39:06 -04:00
Implement & link ac_shrine
This commit is contained in:
@@ -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
@@ -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);
|
||||
|
||||
@@ -16,6 +16,8 @@ enum effect_type {
|
||||
eEC_EFFECT_WARAU,
|
||||
/* TODO: finish */
|
||||
eEC_DOUZOU_LIGHT = 101,
|
||||
eEC_HEM_LIGHT = 123,
|
||||
|
||||
eEC_EFFECT_NUM = 126
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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+ */
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user