mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
m_notice work
This commit is contained in:
@@ -67,9 +67,6 @@ struct OSThread
|
||||
|
||||
u8 *stackBase; // the thread's designated stack (high address)
|
||||
u32 *stackEnd; // last word of stack (low address)
|
||||
|
||||
s32 error; // error state of thread
|
||||
void* specific[2]; // data specific to this thread (set by programmer)
|
||||
};
|
||||
|
||||
// Thread states
|
||||
|
||||
+3
-10
@@ -32,16 +32,9 @@ typedef struct {
|
||||
irqmgr_mesg_t msgDelayPreNMI;
|
||||
OSMessageQueue _msgQueue;
|
||||
OSMessage _msgBuf[IRQMGR_MESSAGES_MAX];
|
||||
|
||||
union {
|
||||
OSThread thread;
|
||||
struct {
|
||||
u8 unused[sizeof(OSThread) - 2 * sizeof(void*)];
|
||||
irqmgr_client_t* clients;
|
||||
u8 prenmi;
|
||||
};
|
||||
};
|
||||
|
||||
OSThread thread;
|
||||
irqmgr_client_t* clients;
|
||||
u8 prenmi;
|
||||
OSTime prenmi_time;
|
||||
OSTimer timer;
|
||||
OSTime retraceTime;
|
||||
|
||||
+54
-8
@@ -19,6 +19,8 @@
|
||||
#include "m_config.h"
|
||||
#include "m_island.h"
|
||||
#include "m_needlework.h"
|
||||
#include "m_museum_display.h"
|
||||
#include "m_lib.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -42,6 +44,18 @@ typedef struct time_s {
|
||||
int add_idx;
|
||||
} Time_c;
|
||||
|
||||
/* sizeof(PlusBridge_c) == 8 */
|
||||
typedef struct plus_bridge_s {
|
||||
/* 0x00 */ u8 block_x;
|
||||
/* 0x01 */ u8 block_z;
|
||||
/* 0x02 */ struct {
|
||||
u8 exists:1;
|
||||
u8 pending:1;
|
||||
u8 pad:6;
|
||||
};
|
||||
/* 0x04 */ lbRTC_ymd_t build_date;
|
||||
} PlusBridge_c;
|
||||
|
||||
typedef struct Save_s {
|
||||
/* 0x000000 */ mFRm_chk_t save_check; /* save information */
|
||||
/* 0x000014 */ int scene_no; /* current 'scene' id */
|
||||
@@ -77,24 +91,38 @@ typedef struct Save_s {
|
||||
/* 0x020F1B */ u8 npc_force_go_home; /* when set to 1, forces the 'm_go_home' code to activate */
|
||||
/* 0x020F1C */ u16 deposit[FG_BLOCK_X_NUM * FG_BLOCK_Z_NUM][UT_Z_NUM]; /* flags for which items are buried around town */
|
||||
/* 0x0212DC */ lbRTC_time_c last_grow_time; /* last time that a new villager moved into town */
|
||||
/* 0x0212E4 */ u8 _tmp4[0xAA];
|
||||
/* 0x0212E4 */ u8 _tmp4[0x02137E - 0x0212E4];
|
||||
/* 0x02137E */ lbRTC_time_c treasure_buried_time; /* last time treasure was actually buried */
|
||||
/* 0x021386 */ lbRTC_time_c treasure_checked_time; /* last time check to bury treasure was executed */
|
||||
/* 0x02138E */ u8 saved_rom_debug; /* flag to set save to 'debug rom' mode */
|
||||
/* 0x02138F */ u8 _tmp5[0x11];
|
||||
/* 0x02138F */ u8 snowman_year; /* year last snowman was built */
|
||||
/* 0x021390 */ u8 snowman_month; /* month last snowman was built */
|
||||
/* 0x021391 */ u8 snowman_day; /* day last snowman was built */
|
||||
/* 0x021392 */ u8 snowman_hour; /* hour last snowman was built */
|
||||
/* 0x021393 */ u8 haniwa_scheduled; /* when set, gyroids will be spwaned */
|
||||
/* 0x021394 */ u8 dust_flag; /* set by field assessment for too much 'dust' (garbage) around town, causes immediate fail of town ranking */
|
||||
/* 0x021395 */ u8 clear_grass; /* set by Wisp, removes all weeds */
|
||||
/* 0x021396 */ lbRTC_ymd_t event_year_ymd; /* might not exist and just be lbRTC_year_t */
|
||||
/* 0x02139A */ u8 unused_2139A[6];
|
||||
/* 0x0213A0 */ u8 keep_house_size[PLAYER_NUM]; /* saved flags for house sizes */
|
||||
/* 0x0213A4 */ u8 _tmp6[0x21400 - 0x213A4];
|
||||
/* 0x0213A4 */ lbRTC_ymd_t force_remove_date; /* last time the NPC force remove timer was updated */
|
||||
/* 0x0213A8 */ mMmd_info_c museum_display; /* museum display bits */
|
||||
/* 0x0213E7 */ u8 _tmp6[0x213F0 - 0x213E7];
|
||||
/* 0x0213F0 */ PlusBridge_c plus_bridge; /* additional bridge info */
|
||||
/* 0x021400 */ mNW_needlework_c needlework; /* Able Sisters' designs */
|
||||
/* 0x022500 */ u8 _tmp7[0x22528 - 0x22500];
|
||||
/* 0x022528 */ OSTime time_delta; /* time delta against GC RTC */
|
||||
/* 0x022530 */ u8 _tmp8[0x10];
|
||||
/* 0x022540 */ Island_c island; /* island data */
|
||||
/* 0x023E40 */ u8 _tmp9[0x320];
|
||||
/* 0x024160 */ Anmret_c return_animal; /* information about villager which moved back in to your town after moving to someone else's town */
|
||||
/* 0x02416C */ u8 _tmp10[0x1E94];
|
||||
/* 0x02416C */ u8 _tmp10[0x241A0 - 0x2416C];
|
||||
/* 0x0241A0 */ lbRTC_time_c saved_auto_nwrite_time; /* save data notice time used for fishing tourney results? */
|
||||
/* 0x0241A8 */ u8 _tmp11[0x26000 - 0x241A8];
|
||||
} Save_t;
|
||||
|
||||
typedef union save_u {
|
||||
Save_t save;
|
||||
u8 raw[0x26000]; /* Temp to force length */
|
||||
//u8 raw[0x26000]; /* Temp to force length */
|
||||
} Save;
|
||||
|
||||
/* sizeof(common_data_t) == 0x2DC00 */
|
||||
@@ -113,9 +141,27 @@ typedef struct common_data_s {
|
||||
/* 0x026144 */ u8 tmp0[0x23E8];
|
||||
/* 0x02852C */ s16 money_power;
|
||||
/* 0x02852E */ s16 goods_power;
|
||||
/* 0x028530 */ u8 tmp1[0x5680];
|
||||
/* 0x028530 */ u8 tmp1[0x28879 - 0x28530];
|
||||
/* 0x028879 */ u8 auto_nwrite_count;
|
||||
/* 0x02887A */ lbRTC_year_t auto_nwrite_year;
|
||||
/* 0x02887C */ u8 save_error_type; /* set to one of the mFRm_ERROR_* states when save is invalid */
|
||||
/* 0x02887D */ u8 train_coming_flag; /* set when the train is coming */
|
||||
/* 0x02887E */ u8 buried_treasure_flag; /* when set, treasure cannot be buried */
|
||||
/* 0x02887F */ u8 tmp2[0x2DB40 - 0x2887F];
|
||||
/* 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. */
|
||||
/* 0x02DB41 */ u8 tmp3[0x2DBB0 - 0x2DB41];
|
||||
/* 0x02DBB0 */ s16 can_look_goki_count;
|
||||
/* 0x02DBB2 */ u8 tmp2[0x4E];
|
||||
/* 0x02DBB4 */ f32 rainbow_opacity; /* current opacity of rainbow (0.0f - 1.0f) */
|
||||
/* 0x02DBB8 */ u32 event_flags[7]; /* TODO: make array size a definition/enum */
|
||||
/* 0x02DBD4 */ xyz_t* pluss_bridge_pos; /* position of extra bridge */
|
||||
/* 0x02DBD8 */ lbRTC_time_c auto_nwrite_time; /* cached notice time used for fishing tourney results? */
|
||||
/* 0x02DBE0 */ u8 rhythym_updated;
|
||||
/* 0x02DBE1 */ u8 _2dbe1;
|
||||
/* 0x02DBE2 */ u8 hem_visible; /* controls farley's visiblilty during cutscene? */
|
||||
/* 0x02DBE4 */ u8* carde_program_p; /* pointer to current e-Reader program data */
|
||||
/* 0x02DBE8 */ size_t carde_program_size; /* size of current e-Reader program data */
|
||||
/* 0x02DBEC */ int unk_nook_present_count; /* something possibly to do withhanding over password present? */
|
||||
/* 0x02DBF0 */ u8 pad[16];
|
||||
} common_data_t;
|
||||
|
||||
extern common_data_t common_data;
|
||||
|
||||
@@ -96,8 +96,22 @@ enum events {
|
||||
mEv_SPECL_DESIGNER_COMPLETE = (int)mEv_SET(mEv_SPECL_EVENT, 0)
|
||||
};
|
||||
|
||||
enum week_type {
|
||||
mEv_WEEKTYPE_NONE,
|
||||
mEv_WEEKTYPE_1ST,
|
||||
mEv_WEEKTYPE_2ND,
|
||||
mEv_WEEKTYPE_3RD,
|
||||
mEv_WEEKTYPE_4TH,
|
||||
mEv_WEEKTYPE_5TH,
|
||||
mEv_WEEKTYPE_LAST,
|
||||
mEv_WEEKTYPE_SPECIAL
|
||||
};
|
||||
|
||||
extern int mEv_CheckFirstJob();
|
||||
extern int mEv_CheckArbeit();
|
||||
extern int mEv_CheckTitleDemo();
|
||||
|
||||
extern int mEv_weekday2day(lbRTC_month_t month, int week_type, lbRTC_weekday_t weekday);
|
||||
|
||||
extern void mEv_debug_print4f(gfxprint_t* gfxprint);
|
||||
extern void mEv_sp_debug_print4f(gfxprint_t* gfxprint);
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mFI_ROW_TO_CHARSTR(row) ((row) + 'A')
|
||||
#define mFI_COL_TO_CHARSTR(col) ((col) + '0')
|
||||
|
||||
enum field_type {
|
||||
mFI_FIELDTYPE_FG,
|
||||
mFI_FIELDTYPE_1,
|
||||
@@ -21,8 +24,9 @@ enum field_type {
|
||||
mFI_FIELDTYPE_NUM
|
||||
};
|
||||
|
||||
#define mFI_TO_FIELD_ID(type, index) ((type << 12) | index)
|
||||
#define mFI_GET_TYPE (field_id) (field_id & 0xF000)
|
||||
#define mFI_TO_FIELD_ID(type, index) (((type) << 12) | (index))
|
||||
#define mFI_GET_TYPE(field_id) ((field_id) & 0xF000)
|
||||
#define mFI_TYPE(type) ((type) << 12)
|
||||
|
||||
enum field_room {
|
||||
/* TODO: others */
|
||||
@@ -55,6 +59,7 @@ extern mActor_name_t mFI_GetFieldId();
|
||||
extern int mFI_GetClimate();
|
||||
extern mActor_name_t* mFI_BkNumtoUtFGTop(int block_x, int block_z);
|
||||
extern void mFI_ClearDeposit(int block_x, int block_z);
|
||||
extern int mFI_SetTreasure(int* block_x, int* block_z, mActor_name_t item_no);
|
||||
|
||||
extern void mFI_PrintNowBGNum(gfxprint_t* gfxprint);
|
||||
extern void mFI_PrintFgAttr(gfxprint_t* gfxprint);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef M_FISHRECORD_H
|
||||
#define M_FISHRECORD_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_personal_id.h"
|
||||
#include "lb_rtc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void mEv_fishRecord_holder(PersonalID_c* winner_pid, u32* winning_size, lbRTC_ymd_t* contest_date);
|
||||
extern int mEv_fishday(lbRTC_ymd_t* dates, lbRTC_time_c* now_time);
|
||||
extern void mFR_fishmail();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -13,6 +13,21 @@ extern "C" {
|
||||
#define mFRm_ERROR_INFO_NUM 10
|
||||
#define mFRm_NO_ERROR_NO 7
|
||||
|
||||
enum save_error_type {
|
||||
mFRm_ERROR_BAD_RTC, /* RTC returned abnormal value */
|
||||
mFRm_ERROR_MEMCARD_TRAVELDATA_CONFLICT, /* travel data is on the same memory card as requesting to save town data */
|
||||
mFRm_ERROR_DATA_CORRUPTED, /* save data is corrupt */
|
||||
mFRm_ERROR_MEMCARD_NO_FILES, /* memory card is out of "files" */
|
||||
mFRm_ERROR_MEMCARD_DAMAGED, /* memory card is damaged */
|
||||
mFRm_ERROR_MEMCARD_FORMAT, /* memory card requires formatting (corrupt or different region?) */
|
||||
mFRm_ERROR_MEMCARD_INVALID, /* memory card type "cannot be used with Animal Crossing" */
|
||||
mFRm_ERROR_MEMCARD_NO_SPACE, /* memory card has free files, but not enough free space for save */
|
||||
mFRm_ERROR_NOT_MEMCARD, /* device in card slot is not a memory card */
|
||||
mFRm_ERROR_NO_MEMCARD, /* nothing inserted in either Slot A or Slot B */
|
||||
|
||||
mFRm_ERROR_NUM
|
||||
};
|
||||
|
||||
typedef struct mFRm_chk_s {
|
||||
/* 0x00 */ int version;
|
||||
/* 0x04 */ u32 code;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#ifndef M_HANDBILL_H
|
||||
#define M_HANDBILL_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_mail.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mHandbill_HEADER_LEN MAIL_HEADER_LEN
|
||||
#define mHandbill_FOOTER_LEN MAIL_FOOTER_LEN
|
||||
#define mHandbill_BODY_LEN MAIL_BODY_LEN
|
||||
|
||||
extern void mHandbill_Load_HandbillFromRom(u8* header, int* header_back_pos, u8* footer, u8* body, int handbill_no);
|
||||
extern void mHandbill_Set_free_str(int free_str_no, u8* str, int str_len);
|
||||
extern void mHandbill_Set_free_str_art(int free_str_no, u8* str, int str_len, int article_no);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef M_ITEM_NAME_H
|
||||
#define M_ITEM_NAME_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor_type.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mIN_ITEM_NAME_LEN 16
|
||||
|
||||
extern void mIN_copy_name_str(u8* str, mActor_name_t item_no);
|
||||
extern int mIN_get_item_article(mActor_name_t item_no);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -15,7 +15,24 @@ extern "C" {
|
||||
#define NATIVE 0
|
||||
#define FOREIGN 1
|
||||
|
||||
extern void mLd_StartFlagOn();
|
||||
extern int mLd_CheckStartFlag();
|
||||
extern int mLd_NullCheckLandName(const u8* land_name);
|
||||
extern int mLd_CheckId(u16 land_id);
|
||||
extern int mLd_CheckCmpLandName(u8* name_a, u8* name_b);
|
||||
extern int mLd_CheckCmpLand(u8* name_a, u16 id_a, u8* name_b, u16 id_b);
|
||||
extern void mLd_ClearLandName(u8* name);
|
||||
extern void mLd_CopyLandName(u8* dst, u8* src);
|
||||
extern int mLd_AddMuraString(u8* name, int name_len);
|
||||
extern void mLd_GetLandNameStringAddMura(u8* buf);
|
||||
extern void mLd_SetFreeStrLandMuraName(u8* name, int free_str_no);
|
||||
extern u8* mLd_GetLandName();
|
||||
extern u16 mLd_MakeLandId();
|
||||
extern int mLd_PlayerManKindCheckNo(u8 player_no);
|
||||
extern int mLd_PlayerManKindCheck();
|
||||
extern int mLd_CheckThisLand(u8* other_name, u16 other_id);
|
||||
extern void mLd_LandInfoInit();
|
||||
extern void mLd_LandDataInit();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#ifndef M_MUSEUM_DISPLAY_H
|
||||
#define M_MUSEUM_DISPLAY_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* TODO: these should be determined from item name indices */
|
||||
|
||||
#define mMmd_FOSSIL_BIT_NUM 13
|
||||
#define mMmd_ART_BIT_NUM 8
|
||||
#define mMmd_FISH_BIT_NUM 21
|
||||
#define mMmd_INSECT_BIT_NUM 21
|
||||
|
||||
/* 4 bits per donatable item */
|
||||
#define mMmd_BIT_INFO(info, category, index) \
|
||||
(((info).category[(index) / 2] >> (((index) & 1) << 2)) & 0x0F)
|
||||
|
||||
#define mMmd_ART_BIT(info, index) mMmd_BIT_INFO(info, art, index)
|
||||
#define mMmd_INSECT_BIT(info, index) mMmd_BIT_INFO(info, insect, index)
|
||||
#define mMmd_FISH_BIT(info, index) mMmd_BIT_INFO(info, fish, index)
|
||||
#define mMmd_FOSSIL_BIT(info, index) mMmd_BIT_INFO(info, fossil, index)
|
||||
|
||||
/* sizeof(mMmd_info_c) == 0x3F */
|
||||
typedef struct museum_display_info_s {
|
||||
/* 0x00 */ u8 fossil_bit[mMmd_FOSSIL_BIT_NUM];
|
||||
/* 0x0D */ u8 art_bit[mMmd_ART_BIT_NUM];
|
||||
/* 0x15 */ u8 fish_bit[mMmd_FISH_BIT_NUM];
|
||||
/* 0x2A */ u8 insect_bit[mMmd_INSECT_BIT_NUM];
|
||||
} mMmd_info_c;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -55,6 +55,8 @@ enum {
|
||||
#define ITM_SHOVEL 0x2202
|
||||
#define ITM_ROD 0x2203
|
||||
|
||||
#define ITM_PITFALL 0x2512
|
||||
|
||||
#define ITM_ENV_START 0x2900
|
||||
#define ITM_SAPLING ITM_ENV_START
|
||||
#define ITM_CEDAR_SAPLING 0x2901
|
||||
|
||||
@@ -24,9 +24,8 @@ extern "C" {
|
||||
typedef struct original_data_s {
|
||||
/* 0x000 */ u8 name[mNW_ORIGINAL_DESIGN_NAME_LEN];
|
||||
/* 0x010 */ u8 palette;
|
||||
/* 0x011 */ u8 pad[15];
|
||||
|
||||
/* 0x020 */ u8 design[mNW_DESIGN_TEX_SIZE];
|
||||
/* 0x020 */ u8 design[mNW_DESIGN_TEX_SIZE] ATTRIBUTE_ALIGN(32); /* this is aligned to 32 bytes for ARAM transfer */
|
||||
} mNW_original_design_c;
|
||||
|
||||
/* sizeof(mNW_needlework_c) == 0x1100 */
|
||||
|
||||
@@ -145,6 +145,10 @@ typedef struct animal_return_s {
|
||||
/* 0x04 */ lbRTC_time_c renew_time; /* time that this struct was updated */
|
||||
} Anmret_c;
|
||||
|
||||
/* anm_id could also just be a Animal_c pointer */
|
||||
extern void mNpc_GetNpcWorldNameAnm(u8* name, AnmPersonalID_c* anm_id);
|
||||
extern int mNpc_CheckFreeAnimalPersonalID(AnmPersonalID_c* anm_id);
|
||||
|
||||
extern void mNpc_PrintRemoveInfo(gfxprint_t* gfxprint);
|
||||
extern void mNpc_PrintFriendship_fdebug(gfxprint_t* gfxprint);
|
||||
|
||||
|
||||
@@ -152,7 +152,6 @@ typedef struct private_s {
|
||||
/* 0x11DC */ mPr_map_info_c maps[mPr_FOREIGN_MAP_COUNT]; /* maps 'collected' for foreign towns */
|
||||
|
||||
/* 0x122C */ u32 bank_account; /* probably 'deposit' interally */
|
||||
/* 0x1230 */ u8 unused_1230[16];
|
||||
/* 0x1240 */ mNW_original_design_c my_org[mPr_ORIGINAL_DESIGN_COUNT]; /* Able Sisters' designs */
|
||||
/* 0x2340 */ u8 my_org_no_table[mPr_ORIGINAL_DESIGN_COUNT]; /* order of designs */
|
||||
/* 0x2348 */ u32 state_flags; /* TODO: this might be a bitfield/struct, also document bits */
|
||||
|
||||
@@ -126,6 +126,7 @@ typedef struct shop_s {
|
||||
extern void mSP_PrintNowShopSalesSum(gfxprint_t* gfxprint);
|
||||
extern void mSP_SelectRandomItem_New(GAME* unused, mActor_name_t* item_tbl, int item_tbl_count, mActor_name_t* goods_exist_tbl, int goods_exist_tbl_count, int category, int list_type, int get_uncollected_item);
|
||||
extern void mSP_RandomUmbSelect(mActor_name_t* item_buf, int item_buf_count);
|
||||
extern int mSP_GetShopLevel();
|
||||
|
||||
extern void mItemDebug_ItemDebugMain();
|
||||
extern void mItemDebug_ItemDebugDraw(gfxprint_t* gfxprint);
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
#define M_STRING_H
|
||||
|
||||
#include "types.h"
|
||||
#include "lb_rtc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern void mString_Load_StringFromRom(u8* buf, size_t buf_size, u32 str_no);
|
||||
extern int mString_Load_MonthStringFromRom(u8* buf, lbRTC_month_t month);
|
||||
extern int mString_Load_DayStringFromRom(u8* buf, lbRTC_day_t day);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* TODO: this might have a better header to live in */
|
||||
#define mTM_FIELD_RENEW_HOUR 6 /* hour which daily things 'reset' */
|
||||
|
||||
#define mTM_MIN_YEAR 2001
|
||||
#define mTM_MAX_YEAR 2030
|
||||
|
||||
@@ -69,6 +73,8 @@ extern const lbRTC_time_c mTM_rtcTime_clear_code;
|
||||
extern const lbRTC_ymd_t mTM_rtcTime_ymd_clear_code;
|
||||
extern const lbRTC_time_c mTM_rtcTime_default_code;
|
||||
|
||||
#define mTM_IsTimeCleared(time) (lbRTC_IsEqualTime((time), &mTM_rtcTime_clear_code, lbRTC_CHECK_ALL) == TRUE)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ typedef struct {
|
||||
/* 0x00AC */ irqmgr_client_t irqclient;
|
||||
/* 0x00B4 */ u32 _unk0; /* maybe additional value in irqmgr_client_t? */
|
||||
/* 0x00B8 */ OSThread thread;
|
||||
/* 0x03D0 */ u8 _tmp[0x58]; //pad_t pads[MAXCONTROLLERS]; // TODO: figure out what's going on here.
|
||||
/* 0x03C8 */ u8 _tmp[0x60]; //pad_t pads[MAXCONTROLLERS]; // TODO: figure out what's going on here.
|
||||
/* 0x0428 */ OSContPad n64_pads[MAXCONTROLLERS]; /* Converted from PADStatus via JUTGamePad */
|
||||
/* 0x0440 */ u8 num_controllers;
|
||||
/* 0x0441 */ u8 device_type[4];
|
||||
|
||||
Reference in New Issue
Block a user