mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
Merge branch 'master' into m_camera2
This commit is contained in:
@@ -68,10 +68,19 @@ typedef struct famicom_common_s {
|
||||
/* 0xB4 */ int _b4;
|
||||
} FamicomCommon;
|
||||
|
||||
|
||||
extern void* my_malloc_current;
|
||||
extern u8 save_game_image;
|
||||
|
||||
typedef u8 (*FAMICOM_GETSAVECHAN_PROC)(int* player_no, int* slot_card_result);
|
||||
extern void famicom_setCallback_getSaveChan(FAMICOM_GETSAVECHAN_PROC getSaveChan_proc);
|
||||
extern int famicom_mount_archive();
|
||||
extern int famicom_mount_archive_end_check();
|
||||
extern int famicom_rom_load_check();
|
||||
extern int famicom_1frame();
|
||||
extern int famicom_init(int, void*, u8);
|
||||
extern int famicom_cleanup();
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ typedef struct prerender_s {
|
||||
u8 _24[0x24];
|
||||
} PreRender;
|
||||
|
||||
extern void PreRender_setup_savebuf(PreRender* render, int arg1, int arg2, int arg3, int arg4, int arg5);
|
||||
extern void PreRender_init(PreRender* render);
|
||||
extern void PreRender_setup_renderbuf(PreRender* render, int arg1, int arg2, void* arg3, void* arg4);
|
||||
extern void PreRender_cleanup(PreRender* render);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -73,7 +73,7 @@ extern void sAdo_BgmCrossfadeStart(u8 b);
|
||||
|
||||
extern void sAdo_SubGameStart();
|
||||
extern void sAdo_SubGameEnd();
|
||||
extern u8 sAdo_SubGameOK();
|
||||
extern int sAdo_SubGameOK();
|
||||
|
||||
extern void sAdo_Tenki(u8 mode);
|
||||
|
||||
@@ -91,8 +91,8 @@ extern void sAdo_OngenTrgStartSpeed(f32 speed, u16 s1, xyz_t* pos);
|
||||
extern void sAdo_TrgSeEcho(u8 b);
|
||||
extern void sAdo_LevSeEcho(u8 b);
|
||||
|
||||
extern void sAdo_BgmFadeoutCheck();
|
||||
extern void sAdo_SeFadeoutCheck();
|
||||
extern u8 sAdo_BgmFadeoutCheck();
|
||||
extern u8 sAdo_SeFadeoutCheck();
|
||||
|
||||
extern void sAdo_RoomType(u8 type);
|
||||
extern void sAdo_Museum(u8 type);
|
||||
|
||||
+12
-2
@@ -13,8 +13,18 @@ typedef struct game_famicom_emu_s {
|
||||
/* 0x00 */ GAME game;
|
||||
} GAME_FAMICOM_EMU;
|
||||
|
||||
extern void famicom_emu_init(GAME_FAMICOM_EMU* famicom_emu);
|
||||
extern void famicom_emu_cleanup(GAME_FAMICOM_EMU* famicom_emu);
|
||||
extern void* my_malloc_func[];
|
||||
|
||||
void my_alloc_cleanup();
|
||||
void my_zelda_getmemblocksize(void *);
|
||||
void my_zelda_gettotalfreesize();
|
||||
void* my_zelda_malloc_align(size_t, u32);
|
||||
void my_zelda_free(void *);
|
||||
void famicom_emu_main(GAME *);
|
||||
void famicom_emu_init(GAME_FAMICOM_EMU *);
|
||||
void famicom_emu_cleanup(GAME *);
|
||||
int famicom_gba_getImage(u32, int *);
|
||||
void famicom_gba_removeImage(void *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ extern void Na_MDPlayerPos(u16,u16,u16,int, f32);
|
||||
extern void Na_BGMVolume(f32,u16);
|
||||
extern void Na_SubGameStart();
|
||||
extern void Na_SubGameEnd();
|
||||
extern int Na_SubGameOK();
|
||||
extern u8 Na_SubGameOK();
|
||||
extern void Na_Tenki(u8);
|
||||
extern void Na_KishaStatusTrg(u8);
|
||||
extern void Na_KishaStatusLevel(f32 speed, u32 ongenNum1, u16 angle1, f32 distance1, u32 ongenNum2, u16 angle2, f32 distance2);
|
||||
|
||||
@@ -2,12 +2,25 @@
|
||||
#define JSYSWRAP_H
|
||||
|
||||
#include "types.h"
|
||||
#include "dolphin/gx.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void JW_JUTReport(int pos_x, int pos_y, int show_count, const char* fmt, ...);
|
||||
extern void JC_JFWDisplay_startFadeOut(void*, int);
|
||||
extern void* JC_JFWDisplay_getManager();
|
||||
extern void JC_JFWDisplay_clearEfb(void*, GXColor*);
|
||||
extern GXRenderModeObj* JC_JFWDisplay_getRenderMode(void*);
|
||||
extern void* JC_JFWDisplay_changeToSingleXfb(void*, int);
|
||||
|
||||
extern void JC_JFWDisplay_startFadeIn(void*, int);
|
||||
extern void JC_JFWDisplay_changeToDoubleXfb(void*);
|
||||
extern u32 JC__JKRGetResource(char*);
|
||||
extern int JC__JKRGetMemBlockSize(int, u32);
|
||||
|
||||
extern void JC__JKRRemoveResource(void*);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef SPRINTF_H
|
||||
#define SPRINTF_H
|
||||
|
||||
s32 sprintf(char* dst, const char* fmt, ...);
|
||||
|
||||
#endif
|
||||
+16
-2
@@ -339,6 +339,22 @@ typedef struct actor_shape_info_s {
|
||||
/* 0x2F */ u8 unused_2F[0x48-0x2F];
|
||||
} Shape_Info;
|
||||
|
||||
typedef struct actor_shadow_s{
|
||||
/* 0x00 */ xyz_t position;
|
||||
/* 0x0C */ f32 groundY;
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ f32 unk14;
|
||||
/* 0x18 */ f32 unk18;
|
||||
/* 0x1C */ f32 unk1C;
|
||||
/* 0x20 */ s16 unk20;
|
||||
/* 0x22 */ s16 unk22;
|
||||
/* 0x24 */ s16 unk24;
|
||||
/* 0x26 */ s16 unk26;
|
||||
/* 0x28 */ char pad28[0xC];
|
||||
/* 0x34 */ int unk34;
|
||||
/* 0x38 */ int kind;
|
||||
}Shadow_Info;
|
||||
|
||||
/* sizeof(struct actor_s) == 0x174 */
|
||||
struct actor_s {
|
||||
/* 0x000 */ s16 id; /* unique actor type ID */
|
||||
@@ -446,8 +462,6 @@ extern Hilite* HiliteReflect_xlu_init(xyz_t* pos, xyz_t* eye, xyz_t* light_direc
|
||||
extern void Setpos_HiliteReflect_init(xyz_t* pos, GAME_PLAY* play);
|
||||
extern void Setpos_HiliteReflect_xlu_init(xyz_t* pos, GAME_PLAY* play);
|
||||
|
||||
extern void mAc_ActorShadowCircle(ACTOR* actor, LightsN* lightsN, GAME_PLAY* play);
|
||||
extern void mAc_ActorShadowEllipse(ACTOR* actor, LightsN* lightsN, GAME_PLAY* play);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef M_ACTOR_SHADOW_H
|
||||
#define M_ACTOR_SHADOW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
|
||||
int mActorShadow_OperateScrollLimit(int, int, int);
|
||||
Gfx* mActorShadow_TileScroll2(u32 *, u32 *, int, int, int, int, int, int, u32 *, u32 *, int, int, int, int, int, int, GAME *);
|
||||
void mActorShadow_AdjustRate(f32 *);
|
||||
void mActorShadow_GetTimeAngleY_TimeAlpha(Shadow_Info *, GAME_PLAY *);
|
||||
void mActorShadow_GetGroundAverageAngle(Shadow_Info *);
|
||||
void mActorShadow_GetDistanceRate(Shadow_Info *, f32);
|
||||
f32 mActorShadow_GetAbsBigger(f32, f32);
|
||||
void mActorShadow_RadiusScaleRate(ACTOR *, Shadow_Info *);
|
||||
void mActorShadow_GetShadowTopPos_GetSlideS(Shadow_Info *);
|
||||
Gfx* mActorShadow_SetTexScroll(ACTOR *, Shadow_Info *, GAME *);
|
||||
void mActorShadow_GetLastAlphaScale(f32 *, u8 *, ACTOR *, Shadow_Info *);
|
||||
void mActorShadow_DrawActorShadow(ACTOR *, Shadow_Info *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mActorShadow_GetShadowPosition(ACTOR *, xyz_t *);
|
||||
int mActorShadow_GetShadowKind(void);
|
||||
f32 mAc_GetShadowGroundY_NoneForce(const Shadow_Info *);
|
||||
f32 mAc_GetShadowGroundY_Force(const Shadow_Info *);
|
||||
void mAc_DecideShadowRadius_IamNotFish(Shadow_Info *, ACTOR *, f32 *);
|
||||
void mAc_DecideShadowRadius_IamFish(Shadow_Info *, ACTOR *, f32 *);
|
||||
void mAc_ActorShadowDraw_ShadowDrawFlagOff(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mAc_ActorShadowDraw_ShadowDrawFlagOn(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mAc_ActorShadowDraw(ACTOR *, GAME_PLAY *, int, xyz_t, f32);
|
||||
void mActorShadow_SetForceShadowPos(ACTOR *, xyz_t *);
|
||||
void mActorShadow_UnSetForceShadowPos(ACTOR *);
|
||||
void mAc_NormalActorShadow(ACTOR *, GAME_PLAY *, f32);
|
||||
void mAc_UnagiActorShadow(ACTOR *, GAME_PLAY *, xyz_t);
|
||||
void mAc_ActorShadowCircle(ACTOR *, LightsN *, GAME_PLAY *);
|
||||
void mAc_ActorShadowEllipse(ACTOR *, LightsN *, GAME_PLAY *);
|
||||
|
||||
#endif
|
||||
@@ -2,14 +2,22 @@
|
||||
#define M_BG_ITEM_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern ACTOR* mBI_search_bg_item(Actor_info* info);
|
||||
extern void mBI_make_bg_item(GAME_PLAY* play);
|
||||
extern void mBI_change_bg_item(GAME_PLAY* play);
|
||||
extern void mBI_ct();
|
||||
extern void mBI_move(GAME_PLAY* play);
|
||||
|
||||
typedef void (*BI_PROC)(GAME_PLAY*);
|
||||
|
||||
extern BI_PROC mBI_make_proc;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -327,7 +327,6 @@ typedef struct camera_s {
|
||||
xyz_t offset_center;
|
||||
} Camera2;
|
||||
|
||||
|
||||
extern s16 getCamera2AngleY(GAME_PLAY* play);
|
||||
extern int Camera2_change_priority(GAME_PLAY* play, int priority);
|
||||
extern xyz_t* Camera2_getEyePos_p();
|
||||
|
||||
@@ -16,6 +16,7 @@ extern void mCD_init_card();
|
||||
extern void mCD_PrintErrInfo(gfxprint_t* gfxprint);
|
||||
extern void mCD_InitAll();
|
||||
extern void mCD_LoadLand();
|
||||
extern void mCD_toNextLand();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -106,6 +106,7 @@ extern u32 mCoBG_Wpos2BgAttribute_Original(xyz_t wpos);
|
||||
extern u32 mCoBG_Wpos2Attribute(xyz_t wpos, char* is_diggable);
|
||||
extern int mCoBG_CheckWaterAttribute(u32 attribute);
|
||||
extern f32 mCoBG_GetBgY_AngleS_FromWpos(s_xyz* angle_to_ground, xyz_t wpos, f32 offset_y);
|
||||
extern f32 mCoBG_GetShadowBgY_AngleS_FromWpos(f32, s_xyz*, xyz_t);
|
||||
extern int mCoBG_CheckWaterAttribute_OutOfSea(u32 attribute);
|
||||
extern int mCoBG_CheckHole_OrgAttr(u32 attribute);
|
||||
extern f32 mCoBG_GetBgY_OnlyCenter_FromWpos2(xyz_t wpos, f32 foot_dist);
|
||||
@@ -119,6 +120,12 @@ extern u32 mCoBG_UtNum2BgAttr(int ut_x, int ut_z);
|
||||
extern f32 mCoBG_UtNum2UtCenterY(int ut_x, int ut_z);
|
||||
extern int mCoBG_CheckCliffAttr(u32 attribute);
|
||||
|
||||
extern void mCoBG_InitMoveBgData();
|
||||
extern void mCoBG_InitBlockBgCheckMode();
|
||||
extern void mCoBG_InitDecalCircle();
|
||||
|
||||
extern void mCoBG_CalcTimerDecalCircle();
|
||||
|
||||
extern f32 mCoBG_GetWaterHeight_File(xyz_t wpos, char* file, int line);
|
||||
#define mCoBG_GetWaterHeight(wpos) mCoBG_GetWaterHeight_File(wpos, __FILE__, __LINE__)
|
||||
|
||||
|
||||
+127
-9
@@ -2,7 +2,7 @@
|
||||
#define M_COLLISION_OBJ_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "m_actor_type.h"
|
||||
#include "sys_math3d.h"
|
||||
#include "m_play_h.h"
|
||||
|
||||
@@ -18,6 +18,15 @@ enum collision_type {
|
||||
ClObj_TYPE_NUM
|
||||
};
|
||||
|
||||
enum weight{
|
||||
MASS_IMMOVABLE,
|
||||
MASS_HEAVY,
|
||||
MASS_NORMAL
|
||||
};
|
||||
|
||||
#define MASSTYPE_IMMOVABLE 0XFF
|
||||
#define MASSTYPE_HEAVY 0XFE
|
||||
|
||||
typedef struct collision_obj_s {
|
||||
ACTOR* owner_actor; // actor which owns this collision object
|
||||
ACTOR* collided_actor; // actor which the owner collided with or NULL
|
||||
@@ -64,6 +73,55 @@ typedef struct collision_obj_pipe_data_s {
|
||||
ClObjPipeAttrData_c attribute_data;
|
||||
} ClObjPipeData_c;
|
||||
|
||||
typedef struct collision_check_tris_element_attr_data_s{
|
||||
xyz_t vtx[3];
|
||||
}ClObjTrisElemAttrData_c;
|
||||
|
||||
typedef struct collision_check_tris_element_data_s{
|
||||
ClObjElemData_c element;
|
||||
ClObjTrisElemAttrData_c data;
|
||||
}ClObjTrisElemData_c;
|
||||
|
||||
typedef struct collision_check_tris_element_s{
|
||||
Math3D_triangle_c tri;
|
||||
xyz_t t;
|
||||
}ClObjTrisElemAttr_c;
|
||||
|
||||
typedef struct collision_tris_elem_s{
|
||||
ClObjElem_c element;
|
||||
ClObjTrisElemAttr_c attribute;
|
||||
}ClObjTrisElem_c;
|
||||
|
||||
typedef struct collision_tris_s {
|
||||
ClObj_c collision_obj;
|
||||
int count;
|
||||
ClObjTrisElem_c* elements;
|
||||
} ClObjTris_c;
|
||||
|
||||
typedef struct ClObjTris_Init {
|
||||
ClObjData_c data;
|
||||
int count;
|
||||
ClObjTrisElemData_c* elem_data;
|
||||
} ClObjTrisData_c;
|
||||
|
||||
typedef struct collision_obj_joint_sphere_elem_attribute_s{
|
||||
Math3D_sphere_c s1;
|
||||
Math3D_sphere_c s2;
|
||||
f32 unk8;
|
||||
u8 unk14;
|
||||
}ClObjJntSphElemAttr_c;
|
||||
|
||||
typedef struct collision_joint_sphere_elem_s{
|
||||
ClObjElem_c element;
|
||||
ClObjJntSphElemAttr_c attribute;
|
||||
}ClObjJntSphElem_c;
|
||||
|
||||
typedef struct collision_joint_sphere_s {
|
||||
ClObj_c collision_obj;
|
||||
int count;
|
||||
ClObjJntSphElem_c* elements;
|
||||
}ClObjJntSph_c;
|
||||
|
||||
#define Cl_COLLIDER_NUM 50
|
||||
typedef struct collision_check_s {
|
||||
u16 flags;
|
||||
@@ -95,14 +153,74 @@ typedef struct status_data_s {
|
||||
u8 weight;
|
||||
} StatusData_c;
|
||||
|
||||
extern void ClObjPipe_ct(GAME_PLAY* play, ClObjPipe_c* pipe);
|
||||
extern void ClObjPipe_dt(GAME_PLAY* play, ClObjPipe_c* pipe);
|
||||
extern void ClObjPipe_set5(GAME_PLAY* play, ClObjPipe_c* pipe, ACTOR* owner, ClObjPipeData_c* data);
|
||||
extern void CollisionCheck_Uty_ActorWorldPosSetPipeC(ACTOR* actor, ClObjPipe_c* col_pipe);
|
||||
extern int CollisionCheck_setOC(GAME_PLAY* play, CollisionCheck_c* collision_check, ClObj_c* col_obj);
|
||||
extern void CollisionCheck_Status_set3(Status_c* status, StatusData_c* data);
|
||||
extern void CollisionCheck_Status_ct(Status_c* status);
|
||||
extern void CollisionCheck_Status_Clear(Status_c* status);
|
||||
typedef struct mco_work_s {
|
||||
int count;
|
||||
ClObj_c* colliders[10];
|
||||
} McoWork;
|
||||
|
||||
extern McoWork mco_work;
|
||||
|
||||
|
||||
typedef void (*CollisionOCFunction)(GAME_PLAY*, CollisionCheck_c*, ClObj_c*,ClObj_c*);
|
||||
typedef int (*CollisionOCClear)(GAME_PLAY*, ClObj_c*);
|
||||
typedef int (*CollisionClearFunction)(GAME_PLAY*, ClObj_c*);
|
||||
|
||||
extern void CollisionCheck_workTrisElemCenter(ClObjTrisElem_c *, xyz_t *);
|
||||
extern int ClObj_ct(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObj_dt(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObj_set4(GAME_PLAY *, ClObj_c *, ACTOR *, ClObjData_c *);
|
||||
extern void ClObj_OCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObjElem_ct(ClObjElem_c *);
|
||||
extern int ClObjElem_set(ClObjElem_c *, ClObjElemData_c *);
|
||||
extern void ClObjElem_OCClear(GAME_PLAY *, ClObjElem_c *);
|
||||
extern int ClObjJntSphElem_OCClear(GAME_PLAY *, ClObjJntSphElem_c *);
|
||||
extern int ClObjJntSph_OCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObjPipeAttr_ct(GAME_PLAY *, ClObjPipeAttr_c *);
|
||||
extern int ClObjPipeAttr_dt(GAME_PLAY *, ClObjPipeAttr_c *);
|
||||
extern int ClObjPipeAttr_set(GAME_PLAY *, ClObjPipeAttr_c *, ClObjPipeAttr_c *);
|
||||
extern int ClObjPipe_ct(GAME_PLAY *, ClObjPipe_c *);
|
||||
extern int ClObjPipe_dt(GAME_PLAY *, ClObjPipe_c *);
|
||||
extern int ClObjPipe_set5(GAME_PLAY *, ClObjPipe_c *, ACTOR *, ClObjPipeData_c *);
|
||||
extern int ClObjPipe_OCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObjTrisElemAttr_ct(GAME_PLAY *, ClObjTrisElemAttr_c *);
|
||||
extern int ClObjTrisElemAttr_dt(GAME_PLAY *, ClObjTrisElemAttr_c *);
|
||||
extern int ClObjTrisElemAttr_set(GAME_PLAY *, ClObjTrisElemAttr_c *, ClObjTrisElemAttrData_c *);
|
||||
extern int ClObjTrisElem_ct(GAME_PLAY *, ClObjTrisElem_c *);
|
||||
extern int ClObjTrisElem_dt(GAME_PLAY *, ClObjTrisElem_c *);
|
||||
extern int ClObjTrisElem_set(GAME_PLAY *, ClObjTrisElem_c *, ClObjTrisElemData_c *);
|
||||
extern int ClObjTrisElem_OCClear(GAME_PLAY *, ClObjTrisElem_c *);
|
||||
extern int ClObjTris_ct(GAME_PLAY *, ClObjTris_c *);
|
||||
extern int ClObjTris_dt_nzf(GAME_PLAY *, ClObjTris_c *);
|
||||
extern int ClObjTris_set5_nzm(GAME_PLAY *, ClObjTris_c *, ACTOR *, ClObjTrisData_c *, ClObjTrisElem_c *);
|
||||
extern int ClObjTris_OCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern void CollisionCheck_ct(GAME_PLAY *, CollisionCheck_c *);
|
||||
extern void CollisionCheck_dt(GAME_PLAY *, CollisionCheck_c *);
|
||||
extern void CollisionCheck_clear(GAME_PLAY *, CollisionCheck_c *);
|
||||
extern int CollisionCheck_setOC(GAME_PLAY *, CollisionCheck_c *, ClObj_c *);
|
||||
extern int get_type(u8);
|
||||
extern void CollisionCheck_setOC_HitInfo(ClObj_c *, ClObjElem_c *, xyz_t *, ClObj_c *, ClObjElem_c *, xyz_t *, f32);
|
||||
extern void CollisionCheck_OC_JntSph_Vs_JntSph(GAME_PLAY *, CollisionCheck_c *, ClObj_c *, ClObj_c *);
|
||||
extern void CollisionCheck_OC_JntSph_Vs_Pipe(GAME_PLAY *, CollisionCheck_c *, ClObj_c *, ClObj_c *);
|
||||
extern void CollisionCheck_OC_Pipe_Vs_JntSph(GAME_PLAY *, CollisionCheck_c *, ClObj_c *, ClObj_c *);
|
||||
extern void CollisionCheck_OC_Pipe_Vs_Pipe(GAME_PLAY *, CollisionCheck_c *, ClObj_c *, ClObj_c *);
|
||||
extern int CollisionCheck_Check1ClObjNoOC(ClObj_c *);
|
||||
extern int CollisionCheck_Check2ClObjNoOC(ClObj_c *, ClObj_c *);
|
||||
extern void CollisionCheck_OC(GAME_PLAY *, CollisionCheck_c *);
|
||||
extern void CollisionCheck_setOCC_HitInfo(GAME_PLAY *, ClObj_c *, ClObjTrisElem_c *, xyz_t *, ClObj_c *, ClObjElem_c *, xyz_t *, xyz_t *);
|
||||
extern void CollisionCheck_OCC_Tris_Vs_JntSph(GAME_PLAY *, CollisionCheck_c *, ClObjTris_c *, ClObjJntSph_c *);
|
||||
extern void CollisionCheck_OCC_Tris_Vs_Pipe(GAME_PLAY *, CollisionCheck_c *, ClObjTris_c *, ClObjPipe_c *);
|
||||
extern int CollisionCheck_Check1ClObjNoOCC(ClObj_c *);
|
||||
extern void CollisionCheck_OCC(GAME_PLAY *, CollisionCheck_c *);
|
||||
extern int ClObjTrisElem_OCCClear(GAME_PLAY *, ClObjTrisElem_c *);
|
||||
extern int ClObj_OCCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern int ClObjTris_OCCClear(GAME_PLAY *, ClObj_c *);
|
||||
extern int CollisionCheck_setOCC(GAME_PLAY *, CollisionCheck_c *, ClObj_c *);
|
||||
extern void CollisionCheck_Status_ct(Status_c *);
|
||||
extern void CollisionCheck_Status_Clear(Status_c *);
|
||||
extern void CollisionCheck_Status_set3(Status_c *, StatusData_c *);
|
||||
extern int CollisionCheck_Uty_ActorWorldPosSetPipeC(ACTOR *, ClObjPipe_c *);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -200,7 +200,12 @@ typedef struct common_data_s {
|
||||
/* 0x028592 */ s16 demo_profiles[mDemo_CLIP_TYPE_NUM - 1];
|
||||
/* 0x028596 */ u8 _28596[0x285C0 - 0x28596];
|
||||
/* 0x0285C0 */ s8 player_decoy_flag;
|
||||
/* 0x0285C1 */ u8 _285C1[0x028838 - 0x0285C1];
|
||||
/* 0x0285C1 */ u8 _285C1[0x0285C6 - 0x0285C1];
|
||||
/* 0x0285C6 */ u8 event_id;
|
||||
/* 0x0285C7 */ u8 _285C3[0x0287F8 - 0x0285C7];
|
||||
/* 0x0287F8 */ s8 current_famicom_rom;
|
||||
/* 0x0287F9 */ s8 famicom_287F9;
|
||||
/* 0x0287FA */ u8 _287FA[0x28838 - 0x0287FA];
|
||||
/* 0x028838 */ s8 player_bee_swell_flag;
|
||||
/* 0x028839 */ s8 player_bee_chase_flag;
|
||||
/* 0x02883A */ u8 goki_shocked_flag;
|
||||
@@ -247,7 +252,8 @@ typedef struct common_data_s {
|
||||
/* 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;
|
||||
/* 0x02DB46 */ u8 tmp3[0x2DBB0 - 0x2DB46];
|
||||
/* 0x02DB46 */ u8 tmp3[0x2DBAC - 0x2DB46];
|
||||
/* 0X02DBAC */ int famicom_2DBAC;
|
||||
/* 0x02DBB0 */ s16 can_look_goki_count;
|
||||
/* 0x02DBB4 */ f32 rainbow_opacity; /* current opacity of rainbow (0.0f - 1.0f) */
|
||||
/* 0x02DBB8 */ u32 event_flags[7]; /* TODO: make array size a definition/enum */
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef M_DEBUG_DISPLAY_H
|
||||
#define M_DEBUG_DISPLAY_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_play.h"
|
||||
|
||||
|
||||
extern void Debug_Display_output(GAME_PLAY*);
|
||||
extern void Debug_Display_init();
|
||||
|
||||
#endif
|
||||
@@ -60,6 +60,8 @@ enum demo_clip_type {
|
||||
mDemo_CLIP_TYPE_NUM
|
||||
};
|
||||
|
||||
extern void mDemo_Init(GAME_PLAY*);
|
||||
extern void mDemo_Main(GAME_PLAY*);
|
||||
extern int mDemo_Request(int type, ACTOR* actor, mDemo_REQUEST_PROC request_proc);
|
||||
extern void mDemo_Set_msg_num(int msg_num);
|
||||
extern int mDemo_Check(int type, ACTOR* actor);
|
||||
@@ -75,6 +77,7 @@ extern void mDemo_Set_talk_display_name(u8 value);
|
||||
extern void mDemo_Set_camera(u8 value);
|
||||
extern void mDemo_Set_talk_window_color(rgba_t* color);
|
||||
extern int mDemo_CheckDemo();
|
||||
extern void mDemo_stock_clear();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+5
-1
@@ -242,7 +242,7 @@ extern s8* mEv_get_common_area(int type, s8 id);
|
||||
extern s8* mEv_get_save_area(int type, s8 id);
|
||||
extern int mEv_ArbeitPlayer(u32 player_no);
|
||||
extern u16 mEv_get_special_event_type();
|
||||
mEv_ClearEventSaveInfo(mEv_event_save_c* event_save_data);
|
||||
extern int mEv_ClearEventSaveInfo(mEv_event_save_c* event_save_data);
|
||||
|
||||
extern int mEv_weekday2day(lbRTC_month_t month, int week_type, lbRTC_weekday_t weekday);
|
||||
extern void mEv_ClearEventInfo();
|
||||
@@ -250,12 +250,16 @@ extern void mEv_ClearEventInfo();
|
||||
extern void mEv_init(Event_c* event);
|
||||
extern void mEv_2nd_init(Event_c* event);
|
||||
|
||||
extern void mEv_run(Event_c* event);
|
||||
extern void mEv_finish(Event_c* event);
|
||||
|
||||
extern int mEv_CheckTitleDemo();
|
||||
extern void mEv_SetTitleDemo(int titledemo_no);
|
||||
|
||||
extern void mEv_debug_print4f(gfxprint_t* gfxprint);
|
||||
extern void mEv_sp_debug_print4f(gfxprint_t* gfxprint);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+8
-8
@@ -17,16 +17,16 @@ typedef struct {
|
||||
/* 0x98 */ Mtx modelView2;
|
||||
/* 0xD8 */ Gfx* gfx; // "gfxtbl"
|
||||
/* 0xDC */ u16* zBuffer;
|
||||
} fbdemo; // size = 0xE0
|
||||
} fbdemo_c; // size = 0xE0
|
||||
|
||||
|
||||
extern void fbdemo_init_gfx(fbdemo*);
|
||||
extern void fbdemo_init_data(fbdemo*);
|
||||
extern void fbdemo_cleanup(fbdemo*);
|
||||
extern fbdemo* fbdemo_init(fbdemo*, int, int);
|
||||
extern void fbdemo_update(fbdemo*);
|
||||
extern void fbdemo_draw(fbdemo*, Gfx**);
|
||||
extern void fbdemo_move(fbdemo*);
|
||||
extern void fbdemo_init_gfx(fbdemo_c*);
|
||||
extern void fbdemo_init_data(fbdemo_c*);
|
||||
extern void fbdemo_cleanup(fbdemo_c*);
|
||||
extern fbdemo_c* fbdemo_init(fbdemo_c*, int, int);
|
||||
extern void fbdemo_update(fbdemo_c*);
|
||||
extern void fbdemo_draw(fbdemo_c*, Gfx**);
|
||||
extern void fbdemo_move(fbdemo_c*);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ typedef struct {
|
||||
|
||||
extern fbdemo_fade* fbdemo_fade_init(fbdemo_fade*);
|
||||
extern void fbdemo_fade_move(fbdemo_fade*, int);
|
||||
extern void fbdemo_fade_draw(fbdemo_fade* this, Gfx** gfxP);
|
||||
extern void fbdemo_fade_startup(fbdemo_fade*);
|
||||
extern void fbdemo_fade_settype(fbdemo_fade*, int);
|
||||
extern void fbdemo_fade_setcolor_rgba8888(fbdemo_fade* this, u32 color);
|
||||
|
||||
@@ -26,5 +26,4 @@ extern s8 fbdemo_triforce_is_finish(fbdemo_triforce*);
|
||||
extern void fbdemo_triforce_settype(fbdemo_triforce*, int);
|
||||
extern void fbdemo_triforce_setcolor_rgba8888(void);
|
||||
|
||||
|
||||
#endif
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "m_actor_type.h"
|
||||
#include "libforest/gbi_extensions.h"
|
||||
#include "game_h.h"
|
||||
#include "m_play.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -91,6 +92,8 @@ typedef struct field_info_s {
|
||||
extern u8* g_block_type_p;
|
||||
extern int* g_block_kind_p;
|
||||
|
||||
extern void mFM_FieldInit(GAME_PLAY*);
|
||||
extern void mFM_Field_dt();
|
||||
extern void mFM_DecideBgTexIdx(u8* bg_tex_idx);
|
||||
extern void mFM_InitFgCombiSaveData(GAME* game);
|
||||
extern mActor_name_t mFM_GetReserveName(int block_x, int block_z);
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ enum {
|
||||
|
||||
extern int fuusen_DEBUG_mode_flag;
|
||||
|
||||
extern void Balloon_init();
|
||||
extern void Balloon_init(GAME_PLAY*);
|
||||
extern void Balloon_make_fuusen(GAME_PLAY* play);
|
||||
extern void Balloon_chk_make_fuusen(GAME_PLAY* play);
|
||||
extern void Balloon_move(GAME_PLAY* play);
|
||||
|
||||
+9
-2
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_lights.h"
|
||||
#include "game.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -38,12 +39,18 @@ typedef struct kankyo_s {
|
||||
/* 0x00 */ Lights sun_light;
|
||||
/* 0x0E */ u8 pad[0x9A - 0x0E];
|
||||
/* 0x9A */ u8 ambientColor[3];
|
||||
/* 0x9E */ u8 pad2[0xC8 - 0x9E];
|
||||
/* 0x9E */ u8 pad2[0xC0 - 0x9E];
|
||||
/* 0xC0 */ f32 unkC0;
|
||||
/* 0xC4 */ u8 unkC4;
|
||||
/* 0xC8 */ Nature nature;
|
||||
} Kankyo;
|
||||
|
||||
extern void Global_kankyo_ct(GAME_PLAY*, Kankyo*);
|
||||
extern int mEnv_NowWeather();
|
||||
|
||||
extern int mEnv_WindMove();
|
||||
extern void mEnv_ManagePointLight(GAME_PLAY*, Kankyo*, Global_light*);
|
||||
extern void Global_kankyo_set(GAME_PLAY*, Kankyo*, Global_light*);
|
||||
extern void mEnv_GetShadowPrimColor_Light(u8*,u8*,u8*,GAME*);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -218,6 +218,10 @@ struct message_window_s {
|
||||
extern int mMsg_Get_Length_String(u8* buf, size_t buf_size);
|
||||
extern mMsg_Window_c* mMsg_Get_base_window_p();
|
||||
extern void mMsg_Set_free_str(mMsg_Window_c* msg, int free_str_no, u8* str, int str_size);
|
||||
extern void mMsg_ct(GAME_PLAY*);
|
||||
extern void mMsg_dt(GAME_PLAY*);
|
||||
extern void mMsg_Main(GAME_PLAY*);
|
||||
extern void mMsg_Draw(GAME_PLAY*);
|
||||
extern void mMsg_debug_draw(gfxprint_t* gfxprint);
|
||||
extern void mMsg_aram_init();
|
||||
extern void mMsg_aram_init2();
|
||||
|
||||
@@ -17,6 +17,8 @@ typedef struct notice_board_post_s {
|
||||
/* 0xC0 */ lbRTC_time_c post_time; /* date-time of post */
|
||||
} mNtc_board_post_c;
|
||||
|
||||
extern void mNtc_set_auto_nwrite_data();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+48
-8
@@ -16,12 +16,14 @@
|
||||
#include "m_collision_obj.h"
|
||||
#include "m_play_h.h"
|
||||
#include "m_scene.h"
|
||||
#include "PreRender.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef int (*DRAW_CHK_PROC)(ACTOR*, GAME_PLAY*);
|
||||
typedef void (*PLAY_WIPE_PROC)(GAME_PLAY*);
|
||||
|
||||
/* sizeof(struct game_play_s) == 0x2600 */
|
||||
struct game_play_s {
|
||||
@@ -30,7 +32,8 @@ struct game_play_s {
|
||||
/* 0x00E0 */ s16 scene_id;
|
||||
/* 0x00E4 */ mFI_block_tbl_c block_table;
|
||||
/* 0x00F4 */ mFI_block_tbl_c last_block_table;
|
||||
/* 0x0104 */ u8 _0104[0x0110 - 0x0104];
|
||||
/* 0x0104 */ u8 _0104[0x010C - 0x0104];
|
||||
/* 0x010C */ Scene_status_c* current_scene_data;
|
||||
/* 0x0110 */ Object_Exchange_c object_exchange;
|
||||
/* 0x1A68 */ View view;
|
||||
/* 0x1B88 */ Camera2 camera;
|
||||
@@ -39,12 +42,16 @@ struct game_play_s {
|
||||
/* 0x1DA0 */ pause_t pause;
|
||||
/* 0x1DA8 */ Actor_info actor_info;
|
||||
/* 0x1DEC */ Submenu submenu;
|
||||
/* 0x1FA4 */ u8 _1FA4[0x2008 - 0x1FA4];
|
||||
/* 0x1FA4 */ s8 unk1FA4;
|
||||
/* 0x1FA8 */ u8 _1FA4[0x1FB8 - 0x1FA8];
|
||||
/* 0x1FB8 */ PreRender prerender;
|
||||
/* 0x2000 */ Door_data_c* door_data;
|
||||
/* 0x2004 */ int _2004;
|
||||
/* 0x2008 */ int next_scene_no;
|
||||
/* 0x200C */ MtxF projection_matrix;
|
||||
/* 0x204C */ MtxF mtx_204C;
|
||||
/* 0x208C */ int _208C;
|
||||
/* 0x2090 */ u32 game_frame;
|
||||
/* 0x204C */ MtxF billboard_matrix;
|
||||
/* 0x208C */ Mtx* _208C;
|
||||
/* 0x2090 */ u32 game_frame;
|
||||
/* 0x2094 */ u8 _2094;
|
||||
/* 0x2095 */ u8 actor_data_num;
|
||||
/* 0x2096 */ u8 ctrl_actor_data_num;
|
||||
@@ -63,12 +70,45 @@ struct game_play_s {
|
||||
/* 0x2318 */ fbdemo_fade color_fade;
|
||||
/* 0x2328 */ CollisionCheck_c collision_check;
|
||||
/* 0x23F8 */ DRAW_CHK_PROC draw_chk_proc; // only used by mikanbox actor
|
||||
/* 0x23FC */ u8 _23FC[0x2600 - 0x23FC];
|
||||
/* 0x23FC */ u32 fade_color_value;
|
||||
/* 0x2400 */ Scene_status_c* scene_data_2400;
|
||||
/* 0x2404 */ u8 _2400[0x2600 - 0x2404];
|
||||
};
|
||||
|
||||
extern fbdemo_c fbdemo;
|
||||
|
||||
extern void play_init(GAME_PLAY* play);
|
||||
extern void play_cleanup(GAME_PLAY* play);
|
||||
extern void Game_play_Reset_destiny();
|
||||
extern void event_title_flag_on();
|
||||
extern void event_title_flag_off();
|
||||
extern void Game_play_camera_proc(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_destroy(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_create_sub(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_create(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_init(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_fade_in_move_end(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_fade_out_start_emu_move_end(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_fade_out_game_end_move_end(GAME_PLAY *);
|
||||
extern void Game_play_change_scene_move_end(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_move(GAME_PLAY *);
|
||||
extern void Game_play_fbdemo_wipe_proc(GAME_PLAY *);
|
||||
extern Gfx* game_play_set_fog(GAME_PLAY *, Gfx *);
|
||||
extern void Game_play_fbdemo_proc(GAME_PLAY *);
|
||||
extern void play_cleanup(GAME *);
|
||||
extern void VR_Box_ct(GAME_PLAY *);
|
||||
extern void play_init(GAME *);
|
||||
extern void Game_play_move_fbdemo_not_move(GAME_PLAY *);
|
||||
extern void Game_play_move(GAME_PLAY *);
|
||||
extern void setupFog(GAME_PLAY *, GRAPH *);
|
||||
extern void setupViewer(GAME_PLAY *);
|
||||
extern void setupViewMatrix(GAME_PLAY *, GRAPH *, GRAPH *);
|
||||
extern void copy_efb_to_texture(Gfx **, void *);
|
||||
extern int makeBumpTexture(GAME_PLAY *, GRAPH *, GRAPH *);
|
||||
extern void draw_version(GRAPH *);
|
||||
extern void Game_play_draw(GAME *);
|
||||
extern void play_main(GAME *);
|
||||
extern void Gameplay_Scene_Init(GAME_PLAY *);
|
||||
extern u8 mPl_SceneNo2SoundRoomType(int);
|
||||
extern void Gameplay_Scene_Read(GAME_PLAY *, s16);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -9,9 +9,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void mPlib_Object_Exchange_keep_Player_dt(GAME_PLAY*);
|
||||
extern PLAYER_ACTOR* get_player_actor_withoutCheck(GAME_PLAY* play);
|
||||
extern void mPlib_SetData1_controller_data_for_title_demo(f32 stick_x, f32 stick_y, int btn_a, int btn_b);
|
||||
extern void mPlib_SetData2_controller_data_for_title_demo(mActor_name_t tool);
|
||||
extern void mPlib_Clear_controller_data_for_title_demo();
|
||||
extern void mPlib_request_main_invade_type1(GAME_PLAY* play);
|
||||
extern mActor_name_t mPlib_Get_itemNo_forWindow();
|
||||
extern int mPlib_check_able_change_camera_normal_index();
|
||||
|
||||
+66
-1
@@ -2,8 +2,8 @@
|
||||
#define M_SCENE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_scene_table.h"
|
||||
#include "m_lib.h"
|
||||
#include "famicom_emu.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -39,8 +39,73 @@ typedef struct object_exchange_s {
|
||||
u8 _1934[0x1958-0x1934];
|
||||
} Object_Exchange_c;
|
||||
|
||||
typedef struct scene_status_s{
|
||||
u8 unk0[0x13];
|
||||
u8 unk13;
|
||||
}Scene_status_c;
|
||||
|
||||
extern Scene_status_c test01_info;
|
||||
extern Scene_status_c test02_info;
|
||||
extern Scene_status_c test03_info;
|
||||
extern Scene_status_c water_test_info;
|
||||
extern Scene_status_c test_step01_info;
|
||||
extern Scene_status_c test04_info;
|
||||
extern Scene_status_c npc_room01_info;
|
||||
extern Scene_status_c test_fd_npc_land_info;
|
||||
extern Scene_status_c field_tool_field_info;
|
||||
extern Scene_status_c shop01_info;
|
||||
extern Scene_status_c BG_TEST01_info;
|
||||
extern Scene_status_c BG_TEST01_XLU_info;
|
||||
extern Scene_status_c broker_shop_info;
|
||||
extern Scene_status_c fg_tool_in_info;
|
||||
extern Scene_status_c post_office_info;
|
||||
extern Scene_status_c start_demo1_info;
|
||||
extern Scene_status_c start_demo2_info;
|
||||
extern Scene_status_c police_box_info;
|
||||
extern Scene_status_c buggy_info;
|
||||
extern Scene_status_c player_select_info;
|
||||
extern Scene_status_c player_room_s_info;
|
||||
extern Scene_status_c player_room_m_info;
|
||||
extern Scene_status_c player_room_l_info;
|
||||
extern Scene_status_c shop02_info;
|
||||
extern Scene_status_c shop03_info;
|
||||
extern Scene_status_c shop04_1f_info;
|
||||
extern Scene_status_c test05_info;
|
||||
extern Scene_status_c PLAYER_SELECT2_info;
|
||||
extern Scene_status_c PLAYER_SELECT3_info;
|
||||
extern Scene_status_c shop04_2f_info;
|
||||
extern Scene_status_c event_notification_info;
|
||||
extern Scene_status_c kamakura_info;
|
||||
extern Scene_status_c field_tool_field_info;
|
||||
extern Scene_status_c title_demo_info;
|
||||
extern Scene_status_c PLAYER_SELECT4_info;
|
||||
extern Scene_status_c museum_entrance_info;
|
||||
extern Scene_status_c museum_picture_info;
|
||||
extern Scene_status_c museum_fossil_info;
|
||||
extern Scene_status_c museum_insect_info;
|
||||
extern Scene_status_c museum_fish_info;
|
||||
extern Scene_status_c player_room_ll1_info;
|
||||
extern Scene_status_c player_room_ll2_info;
|
||||
extern Scene_status_c p_room_bm_s_info;
|
||||
extern Scene_status_c p_room_bm_m_info;
|
||||
extern Scene_status_c p_room_bm_l_info;
|
||||
extern Scene_status_c p_room_bm_ll1_info;
|
||||
extern Scene_status_c NEEDLEWORK_info;
|
||||
extern Scene_status_c player_room_island_info;
|
||||
extern Scene_status_c npc_room_island_info;
|
||||
extern Scene_status_c start_demo3_info;
|
||||
extern Scene_status_c lighthouse_info;
|
||||
extern Scene_status_c tent_info;
|
||||
|
||||
extern int mSc_bank_regist_check(Object_Exchange_c* exchange, s16 bank_id);
|
||||
extern void mSc_regist_initial_exchange_bank(GAME_PLAY* play);
|
||||
extern void mSc_dmacopy_data_bank(Object_Exchange_c*);
|
||||
extern void mSc_data_bank_ct(GAME_PLAY*, Object_Exchange_c*);
|
||||
extern void Door_info_ct(Door_data_c**);
|
||||
extern void Scene_ct(GAME_PLAY*, void*);
|
||||
extern void mSc_decide_exchange_bank(Object_Exchange_c*);
|
||||
extern void return_emu_game(GAME*);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define M_SCENE_TABLE_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_scene.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -78,6 +79,9 @@ enum scene_table {
|
||||
SCENE_NUM
|
||||
};
|
||||
|
||||
|
||||
extern Scene_status_c scene_data_status[SCENE_NUM];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -104,6 +104,13 @@ struct submenu_s {
|
||||
};
|
||||
|
||||
extern void mSM_open_submenu(Submenu* submenu, int menu_type, int arg0, int arg1);
|
||||
extern void mSM_submenu_dt(Submenu*);
|
||||
extern void mSM_submenu_ovlptr_cleanup(Submenu*);
|
||||
extern void mSM_submenu_ovlptr_init(GAME_PLAY*);
|
||||
extern void mSM_submenu_ct(Submenu*);
|
||||
extern void mSM_submenu_ctrl(GAME_PLAY*);
|
||||
extern void mSM_submenu_move(Submenu*);
|
||||
extern void mSM_submenu_draw(Submenu*, GAME_PLAY*);
|
||||
extern int mSM_CHECK_ALL_FISH_GET();
|
||||
extern int mSM_CHECK_ALL_INSECT_GET();
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ extern u16 pact4_head_table[];
|
||||
|
||||
extern int mTD_demono_get();
|
||||
extern void title_demo_move(GAME_PLAY* play);
|
||||
extern void mTD_player_keydata_init(GAME_PLAY* play);
|
||||
extern void mTD_rtc_set();
|
||||
extern void mTD_rtc_reserve();
|
||||
extern int mTD_get_titledemo_no();
|
||||
|
||||
+33
-76
@@ -1,5 +1,4 @@
|
||||
# PowerPC Register Constants
|
||||
# General Purpose Registers (GPRs)
|
||||
/* Register name macros */
|
||||
.set r0, 0
|
||||
.set r1, 1
|
||||
.set r2, 2
|
||||
@@ -32,8 +31,6 @@
|
||||
.set r29, 29
|
||||
.set r30, 30
|
||||
.set r31, 31
|
||||
|
||||
# Floating Point Registers (FPRs)
|
||||
.set f0, 0
|
||||
.set f1, 1
|
||||
.set f2, 2
|
||||
@@ -66,8 +63,6 @@
|
||||
.set f29, 29
|
||||
.set f30, 30
|
||||
.set f31, 31
|
||||
|
||||
# Graphics Quantization Registers (GQRs)
|
||||
.set qr0, 0
|
||||
.set qr1, 1
|
||||
.set qr2, 2
|
||||
@@ -76,73 +71,35 @@
|
||||
.set qr5, 5
|
||||
.set qr6, 6
|
||||
.set qr7, 7
|
||||
|
||||
# Special Purpose Registers (SPRs)
|
||||
.set XER, 1
|
||||
.set LR, 8
|
||||
.set CTR, 9
|
||||
.set DSISR, 18
|
||||
.set DAR, 19
|
||||
.set DEC, 22
|
||||
.set SDR1, 25
|
||||
.set SRR0, 26
|
||||
.set SRR1, 27
|
||||
.set SPRG0, 272
|
||||
.set SPRG1, 273
|
||||
.set SPRG2, 274
|
||||
.set SPRG3, 275
|
||||
.set EAR, 282
|
||||
.set PVR, 287
|
||||
.set IBAT0U, 528
|
||||
.set IBAT0L, 529
|
||||
.set IBAT1U, 530
|
||||
.set IBAT1L, 531
|
||||
.set IBAT2U, 532
|
||||
.set IBAT2L, 533
|
||||
.set IBAT3U, 534
|
||||
.set IBAT3L, 535
|
||||
.set DBAT0U, 536
|
||||
.set DBAT0L, 537
|
||||
.set DBAT1U, 538
|
||||
.set DBAT1L, 539
|
||||
.set DBAT2U, 540
|
||||
.set DBAT2L, 541
|
||||
.set DBAT3U, 542
|
||||
.set DBAT3L, 543
|
||||
.set GQR0, 912
|
||||
.set GQR1, 913
|
||||
.set GQR2, 914
|
||||
.set GQR3, 915
|
||||
.set GQR4, 916
|
||||
.set GQR5, 917
|
||||
.set GQR6, 918
|
||||
.set GQR7, 919
|
||||
.set HID2, 920
|
||||
.set WPAR, 921
|
||||
.set DMA_U, 922
|
||||
.set DMA_L, 923
|
||||
.set UMMCR0, 936
|
||||
.set UPMC1, 937
|
||||
.set UPMC2, 938
|
||||
.set USIA, 939
|
||||
.set UMMCR1, 940
|
||||
.set UPMC3, 941
|
||||
.set UPMC4, 942
|
||||
.set USDA, 943
|
||||
.set MMCR0, 952
|
||||
.set PMC1, 953
|
||||
.set PMC2, 954
|
||||
.set SIA, 955
|
||||
.set MMCR1, 956
|
||||
.set PMC3, 957
|
||||
.set PMC4, 958
|
||||
.set SDA, 959
|
||||
.set HID0, 1008
|
||||
.set HID1, 1009
|
||||
.set IABR, 1010
|
||||
.set DABR, 1013
|
||||
.set L2CR, 1017
|
||||
.set ICTC, 1019
|
||||
.set THRM1, 1020
|
||||
.set THRM2, 1021
|
||||
.set THRM3, 1022
|
||||
.set cr0lt, 0
|
||||
.set cr0gt, 1
|
||||
.set cr0eq, 2
|
||||
.set cr0un, 3
|
||||
.set cr1lt, 4
|
||||
.set cr1gt, 5
|
||||
.set cr1eq, 6
|
||||
.set cr1un, 7
|
||||
.set cr2lt, 8
|
||||
.set cr2gt, 9
|
||||
.set cr2eq, 10
|
||||
.set cr2un, 11
|
||||
.set cr3lt, 12
|
||||
.set cr3gt, 13
|
||||
.set cr3eq, 14
|
||||
.set cr3un, 15
|
||||
.set cr4lt, 16
|
||||
.set cr4gt, 17
|
||||
.set cr4eq, 18
|
||||
.set cr4un, 19
|
||||
.set cr5lt, 20
|
||||
.set cr5gt, 21
|
||||
.set cr5eq, 22
|
||||
.set cr5un, 23
|
||||
.set cr6lt, 24
|
||||
.set cr6gt, 25
|
||||
.set cr6eq, 26
|
||||
.set cr6un, 27
|
||||
.set cr7lt, 28
|
||||
.set cr7gt, 29
|
||||
.set cr7eq, 30
|
||||
.set cr7un, 31
|
||||
|
||||
@@ -15,6 +15,21 @@ typedef struct math_3d_pipe_s {
|
||||
s_xyz center;
|
||||
} Math3D_pipe_c;
|
||||
|
||||
typedef struct math_3d_sphere_s{
|
||||
s_xyz center;
|
||||
s16 radius;
|
||||
}Math3D_sphere_c;
|
||||
|
||||
typedef struct math_3d_plane_s {
|
||||
xyz_t normal;
|
||||
f32 originDist;
|
||||
} Math3D_plane_c; // size = 0x10
|
||||
|
||||
typedef struct math_3d_triangle_s {
|
||||
xyz_t vtx[3];
|
||||
Math3D_plane_c plane;
|
||||
} Math3D_triangle_c; // size = 0x34
|
||||
|
||||
extern f32 Math3DVecLength(xyz_t* vec);
|
||||
extern void sMath_RotateX(xyz_t* pos, f32 rad);
|
||||
extern void sMath_RotateY(xyz_t* pos, f32 rad);
|
||||
@@ -22,6 +37,12 @@ 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 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);
|
||||
extern int Math3D_pipeVsPipe_cl(Math3D_pipe_c* a, Math3D_pipe_c* b , f32* d);
|
||||
extern int Math3D_sphereCrossTriangle3_cp(Math3D_sphere_c* s, Math3D_triangle_c* tri, xyz_t* ip);
|
||||
extern int Math3D_pipeCrossTriangle_cp(Math3D_pipe_c* c,Math3D_triangle_c* tri, xyz_t* in);
|
||||
|
||||
extern xyz_t ZeroVec;
|
||||
extern s_xyz ZeroSVec;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef VERSION_H
|
||||
#define VERSION_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
extern char __Creator__[];
|
||||
extern char __DateTime__[];
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user