mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-30 23:44:32 -04:00
Implement & link ac_sign, link m_titledemo
This commit is contained in:
+42
-2
@@ -3,13 +3,53 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "m_field_make.h"
|
||||
#include "m_olib.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern int aSIGN_set_white_sign(GAME* game, const xyz_t* pos_p);
|
||||
extern int aSIGN_erase_white_sign(GAME* game, const xyz_t* pos_p);
|
||||
#define aSIGN_SINGLE_NUM 10
|
||||
|
||||
#define aSIGN_CULL_MAX_DIST (mFI_UNIT_BASE_SIZE_F * 4)
|
||||
|
||||
typedef struct sign_actor_s SIGN_ACTOR;
|
||||
|
||||
typedef struct sign_draw_s {
|
||||
BlockOrUnit_c block;
|
||||
u16 exist_bitfield[UT_Z_NUM];
|
||||
} aSIGN_draw_c;
|
||||
|
||||
typedef struct sign_single_s {
|
||||
BlockOrUnit_c block;
|
||||
BlockOrUnit_c unit;
|
||||
mActor_name_t item;
|
||||
xyz_t scale;
|
||||
f32 _20;
|
||||
s16 _24;
|
||||
s16 _26;
|
||||
int exist_flag;
|
||||
} aSIGN_single_c;
|
||||
|
||||
typedef void (*aSIGN_ACTION_PROC)(SIGN_ACTOR*, GAME*);
|
||||
|
||||
struct sign_actor_s {
|
||||
ACTOR actor_class;
|
||||
aSIGN_ACTION_PROC action_proc;
|
||||
aSIGN_draw_c draw[mFM_VISIBLE_BLOCK_NUM];
|
||||
aSIGN_single_c single[aSIGN_SINGLE_NUM];
|
||||
BlockOrUnit_c target_block;
|
||||
BlockOrUnit_c target_unit;
|
||||
xyz_t target_pos;
|
||||
xyz_t sign_birth_pos;
|
||||
xyz_t sign_pos;
|
||||
int _404;
|
||||
int is_winter;
|
||||
};
|
||||
|
||||
extern int aSIGN_set_white_sign(GAME* game, xyz_t* pos_p);
|
||||
extern int aSIGN_erase_white_sign(GAME* game, xyz_t* pos_p);
|
||||
|
||||
extern ACTOR_PROFILE Ac_Sign_Profile;
|
||||
|
||||
|
||||
@@ -162,6 +162,8 @@ typedef enum audio_sound_effects {
|
||||
NA_SE_SCOOP_ITEM_HIT,
|
||||
NA_SE_AXE_BALL_HIT,
|
||||
|
||||
NA_SE_461 = 0x461,
|
||||
|
||||
NA_SE_COIN_GASAGOSO = 0x465,
|
||||
|
||||
} AudioSE;
|
||||
|
||||
+1
-1
@@ -449,7 +449,7 @@ typedef enum bank_id {
|
||||
ACTOR_OBJ_BANK_408,
|
||||
ACTOR_OBJ_BANK_EF_MUSEUM,
|
||||
ACTOR_OBJ_BANK_EF_MINSECT,
|
||||
ACTOR_OBJ_BANK_411,
|
||||
ACTOR_OBJ_BANK_AC_SIGN,
|
||||
ACTOR_OBJ_BANK_MURAL,
|
||||
ACTOR_OBJ_BANK_413,
|
||||
ACTOR_OBJ_BANK_414,
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@
|
||||
#include "ac_shop_design.h"
|
||||
#include "ac_effectbg.h"
|
||||
#include "ac_htable.h"
|
||||
#include "ac_sign.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -87,7 +88,7 @@ typedef struct clip_s {
|
||||
/* 0x0DC */ aAL_Clip_c* animal_logo_clip;
|
||||
/* 0x0E0 */ void* _0E0;
|
||||
/* 0x0E4 */ void* _0E4;
|
||||
/* 0x0E8 */ void* _0E8;
|
||||
/* 0x0E8 */ SIGN_ACTOR* sign_control_actor;
|
||||
/* 0x0EC */ aAPC_Clip_c* aprilfool_control_clip;
|
||||
/* 0x0F0 */ aEvMgr_Clip_c* event_manager_clip;
|
||||
/* 0x0F4 */ aGHC_Clip_c* groundhog_control_clip;
|
||||
|
||||
@@ -343,6 +343,7 @@ extern int mCoBG_GetBlockBgCheckMode(void);
|
||||
extern void mCoBG_GroundCheckOnly(xyz_t* reverse_pos, ACTOR* actor, f32 check_range, f32 offset_y, s16 check_type);
|
||||
extern f32 mCoBG_Wpos2BgUtCenterHeight_AddColumn(xyz_t pos);
|
||||
extern f32 mCoBG_UtNum2UtCenterY_Keep(int ut_x, int ut_z);
|
||||
extern int mCoBG_RegistDecalCircle(const xyz_t* pos_p, f32 radius_start, f32 radius_end, s16 timer);
|
||||
|
||||
extern void mCoBG_InitMoveBgData();
|
||||
extern void mCoBG_InitBlockBgCheckMode();
|
||||
|
||||
+39
-34
@@ -36,6 +36,10 @@ enum {
|
||||
NAME_TYPE_NUM
|
||||
};
|
||||
|
||||
#define ITEM0_CAT_OBJ 0
|
||||
#define ITEM0_CAT_PLANT 8
|
||||
#define ITEM0_CAT_SIGN 9
|
||||
|
||||
enum {
|
||||
ITEM1_CAT_PAPER,
|
||||
ITEM1_CAT_MONEY,
|
||||
@@ -786,40 +790,40 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
/* end of environmental objects */
|
||||
|
||||
#define SIGNBOARD_START 0x0900
|
||||
#define SIGNBOARD (SIGNBOARD_START)
|
||||
#define SIGNBOARD0_PLR0 (SIGNBOARD_START + 1)
|
||||
#define SIGNBOARD1_PLR0 (SIGNBOARD0_PLR0 + 1)
|
||||
#define SIGNBOARD2_PLR0 (SIGNBOARD1_PLR0 + 1)
|
||||
#define SIGNBOARD3_PLR0 (SIGNBOARD2_PLR0 + 1)
|
||||
#define SIGNBOARD4_PLR0 (SIGNBOARD3_PLR0 + 1)
|
||||
#define SIGNBOARD5_PLR0 (SIGNBOARD4_PLR0 + 1)
|
||||
#define SIGNBOARD6_PLR0 (SIGNBOARD5_PLR0 + 1)
|
||||
#define SIGNBOARD7_PLR0 (SIGNBOARD6_PLR0 + 1)
|
||||
#define SIGNBOARD0_PLR1 (SIGNBOARD7_PLR0 + 1)
|
||||
#define SIGNBOARD1_PLR1 (SIGNBOARD0_PLR1 + 1)
|
||||
#define SIGNBOARD2_PLR1 (SIGNBOARD1_PLR1 + 1)
|
||||
#define SIGNBOARD3_PLR1 (SIGNBOARD2_PLR1 + 1)
|
||||
#define SIGNBOARD4_PLR1 (SIGNBOARD3_PLR1 + 1)
|
||||
#define SIGNBOARD5_PLR1 (SIGNBOARD4_PLR1 + 1)
|
||||
#define SIGNBOARD6_PLR1 (SIGNBOARD5_PLR1 + 1)
|
||||
#define SIGNBOARD7_PLR1 (SIGNBOARD6_PLR1 + 1)
|
||||
#define SIGNBOARD0_PLR2 (SIGNBOARD7_PLR1 + 1)
|
||||
#define SIGNBOARD1_PLR2 (SIGNBOARD0_PLR2 + 1)
|
||||
#define SIGNBOARD2_PLR2 (SIGNBOARD1_PLR2 + 1)
|
||||
#define SIGNBOARD3_PLR2 (SIGNBOARD2_PLR2 + 1)
|
||||
#define SIGNBOARD4_PLR2 (SIGNBOARD3_PLR2 + 1)
|
||||
#define SIGNBOARD5_PLR2 (SIGNBOARD4_PLR2 + 1)
|
||||
#define SIGNBOARD6_PLR2 (SIGNBOARD5_PLR2 + 1)
|
||||
#define SIGNBOARD7_PLR2 (SIGNBOARD6_PLR2 + 1)
|
||||
#define SIGNBOARD0_PLR3 (SIGNBOARD7_PLR2 + 1)
|
||||
#define SIGNBOARD1_PLR3 (SIGNBOARD0_PLR3 + 1)
|
||||
#define SIGNBOARD2_PLR3 (SIGNBOARD1_PLR3 + 1)
|
||||
#define SIGNBOARD3_PLR3 (SIGNBOARD2_PLR3 + 1)
|
||||
#define SIGNBOARD4_PLR3 (SIGNBOARD3_PLR3 + 1)
|
||||
#define SIGNBOARD5_PLR3 (SIGNBOARD4_PLR3 + 1)
|
||||
#define SIGNBOARD6_PLR3 (SIGNBOARD5_PLR3 + 1)
|
||||
#define SIGNBOARD7_PLR3 (SIGNBOARD6_PLR3 + 1)
|
||||
#define SIGNBOARD_END (SIGNBOARD7_PLR3)
|
||||
#define SIGNBOARD0_PLR0 (SIGNBOARD_START + 0)
|
||||
#define SIGNBOARD1_PLR0 (SIGNBOARD_START + 1)
|
||||
#define SIGNBOARD2_PLR0 (SIGNBOARD_START + 2)
|
||||
#define SIGNBOARD3_PLR0 (SIGNBOARD_START + 3)
|
||||
#define SIGNBOARD4_PLR0 (SIGNBOARD_START + 4)
|
||||
#define SIGNBOARD5_PLR0 (SIGNBOARD_START + 5)
|
||||
#define SIGNBOARD6_PLR0 (SIGNBOARD_START + 6)
|
||||
#define SIGNBOARD7_PLR0 (SIGNBOARD_START + 7)
|
||||
#define SIGNBOARD0_PLR1 (SIGNBOARD_START + 8)
|
||||
#define SIGNBOARD1_PLR1 (SIGNBOARD_START + 9)
|
||||
#define SIGNBOARD2_PLR1 (SIGNBOARD_START + 10)
|
||||
#define SIGNBOARD3_PLR1 (SIGNBOARD_START + 11)
|
||||
#define SIGNBOARD4_PLR1 (SIGNBOARD_START + 12)
|
||||
#define SIGNBOARD5_PLR1 (SIGNBOARD_START + 13)
|
||||
#define SIGNBOARD6_PLR1 (SIGNBOARD_START + 14)
|
||||
#define SIGNBOARD7_PLR1 (SIGNBOARD_START + 15)
|
||||
#define SIGNBOARD0_PLR2 (SIGNBOARD_START + 16)
|
||||
#define SIGNBOARD1_PLR2 (SIGNBOARD_START + 17)
|
||||
#define SIGNBOARD2_PLR2 (SIGNBOARD_START + 18)
|
||||
#define SIGNBOARD3_PLR2 (SIGNBOARD_START + 19)
|
||||
#define SIGNBOARD4_PLR2 (SIGNBOARD_START + 20)
|
||||
#define SIGNBOARD5_PLR2 (SIGNBOARD_START + 21)
|
||||
#define SIGNBOARD6_PLR2 (SIGNBOARD_START + 22)
|
||||
#define SIGNBOARD7_PLR2 (SIGNBOARD_START + 23)
|
||||
#define SIGNBOARD0_PLR3 (SIGNBOARD_START + 24)
|
||||
#define SIGNBOARD1_PLR3 (SIGNBOARD_START + 25)
|
||||
#define SIGNBOARD2_PLR3 (SIGNBOARD_START + 26)
|
||||
#define SIGNBOARD3_PLR3 (SIGNBOARD_START + 27)
|
||||
#define SIGNBOARD4_PLR3 (SIGNBOARD_START + 28)
|
||||
#define SIGNBOARD5_PLR3 (SIGNBOARD_START + 29)
|
||||
#define SIGNBOARD6_PLR3 (SIGNBOARD_START + 30)
|
||||
#define SIGNBOARD7_PLR3 (SIGNBOARD_START + 31)
|
||||
#define SIGNBOARD (SIGNBOARD_START + 32)
|
||||
#define SIGNBOARD_END (SIGNBOARD)
|
||||
|
||||
#define FTR0_START 0x1000
|
||||
#define FTR_CLASSIC_WARDROBE 0x1004
|
||||
@@ -3085,6 +3089,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define RSV_CLOTH5 0xFE25
|
||||
#define RSV_CLOTH6 0xFE26
|
||||
#define RSV_CLOTH7 0xFE27
|
||||
#define RSV_SIGNBOARD 0xFE30
|
||||
#define RSV_NW_ORIGINAL0 0xFE31
|
||||
#define RSV_NW_ORIGINAL1 0xFE32
|
||||
#define RSV_NW_ORIGINAL2 0xFE33
|
||||
|
||||
@@ -13,7 +13,7 @@ extern "C" {
|
||||
extern void mPlib_Object_Exchange_keep_Player_dt(GAME_PLAY*);
|
||||
extern PLAYER_ACTOR* get_player_actor_withoutCheck(GAME_PLAY* play);
|
||||
extern mPlayer_Controller_Data_c* mPlib_Get_controller_data_for_title_demo_p();
|
||||
extern void mPlib_SetData1_controller_data_for_title_demo(f32 stick_x, f32 stick_y, int btn_a, int btn_b);
|
||||
extern void mPlib_SetData1_controller_data_for_title_demo(int btn_a, int btn_b, f32 stick_x, f32 stick_y);
|
||||
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);
|
||||
|
||||
@@ -24,6 +24,8 @@ extern "C" {
|
||||
#define USHT_MIN ((f32)USHT_MIN_S)
|
||||
#define USHT_MAX ((f32)USHT_MAX_S)
|
||||
|
||||
#define FLT_MAX (3.4028235e+38f)
|
||||
|
||||
/* Macro to generate a random float in the range of [0, n) */
|
||||
#define RANDOM_F(n) (fqrand() * (f32)(n))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user