mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-06 11:07:20 -04:00
Add definitions for flooring & walls, minor m_card work
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
#ifndef CARD_H
|
||||
#define CARD_H
|
||||
|
||||
#include "types.h"
|
||||
#include "dolphin/card.h"
|
||||
#include "dolphin/dvd.h"
|
||||
#include "dolphin/os/OSAlarm.h"
|
||||
#include "dolphin/os/OSThread.h"
|
||||
#include "dolphin/dsp.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct CARDDir {
|
||||
// total size: 0x40
|
||||
u8 gameName[4]; // offset 0x0, size 0x4
|
||||
u8 company[2]; // offset 0x4, size 0x2
|
||||
u8 _padding0; // offset 0x6, size 0x1
|
||||
u8 bannerFormat; // offset 0x7, size 0x1
|
||||
u8 fileName[CARD_FILENAME_MAX]; // offset 0x8, size 0x20
|
||||
u32 time; // offset 0x28, size 0x4
|
||||
u32 iconAddr; // offset 0x2C, size 0x4
|
||||
u16 iconFormat; // offset 0x30, size 0x2
|
||||
u16 iconSpeed; // offset 0x32, size 0x2
|
||||
u8 permission; // offset 0x34, size 0x1
|
||||
u8 copyTimes; // offset 0x35, size 0x1
|
||||
u16 startBlock; // offset 0x36, size 0x2
|
||||
u16 length; // offset 0x38, size 0x2
|
||||
u8 _padding1[2]; // offset 0x3A, size 0x2
|
||||
u32 commentAddr; // offset 0x3C, size 0x4
|
||||
} CARDDir;
|
||||
|
||||
typedef struct CARDControl {
|
||||
// total size: 0x110
|
||||
int attached; // offset 0x0, size 0x4
|
||||
s32 result; // offset 0x4, size 0x4
|
||||
u16 size; // offset 0x8, size 0x2
|
||||
u16 pageSize; // offset 0xA, size 0x2
|
||||
s32 sectorSize; // offset 0xC, size 0x4
|
||||
u16 cBlock; // offset 0x10, size 0x2
|
||||
u16 vendorID; // offset 0x12, size 0x2
|
||||
s32 latency; // offset 0x14, size 0x4
|
||||
u8 id[12]; // offset 0x18, size 0xC
|
||||
int mountStep; // offset 0x24, size 0x4
|
||||
int formatStep; // offset 0x28, size 0x4
|
||||
u32 scramble; // offset 0x2C, size 0x4
|
||||
DSPTaskInfo task; // offset 0x30, size 0x50
|
||||
void* workArea; // offset 0x80, size 0x4
|
||||
CARDDir* currentDir; // offset 0x84, size 0x4
|
||||
u16* currentFat; // offset 0x88, size 0x4
|
||||
OSThreadQueue threadQueue; // offset 0x8C, size 0x8
|
||||
u8 cmd[9]; // offset 0x94, size 0x9
|
||||
s32 cmdlen; // offset 0xA0, size 0x4
|
||||
u32 mode; // offset 0xA4, size 0x4
|
||||
int retry; // offset 0xA8, size 0x4
|
||||
int repeat; // offset 0xAC, size 0x4
|
||||
u32 addr; // offset 0xB0, size 0x4
|
||||
void* buffer; // offset 0xB4, size 0x4
|
||||
s32 xferred; // offset 0xB8, size 0x4
|
||||
u16 freeNo; // offset 0xBC, size 0x2
|
||||
u16 startBlock; // offset 0xBE, size 0x2
|
||||
CARDFileInfo* fileInfo; // offset 0xC0, size 0x4
|
||||
CARDCallback extCallback; // offset 0xC4, size 0x4
|
||||
CARDCallback txCallback; // offset 0xC8, size 0x4
|
||||
CARDCallback exiCallback; // offset 0xCC, size 0x4
|
||||
CARDCallback apiCallback; // offset 0xD0, size 0x4
|
||||
CARDCallback xferCallback; // offset 0xD4, size 0x4
|
||||
CARDCallback eraseCallback; // offset 0xD8, size 0x4
|
||||
CARDCallback unlockCallback; // offset 0xDC, size 0x4
|
||||
OSAlarm alarm; // offset 0xE0, size 0x28
|
||||
u32 cid; // offset 0x108, size 0x4
|
||||
const DVDDiskID* diskID; // offset 0x10C, size 0x4
|
||||
} CARDControl;
|
||||
|
||||
s32 __CARDGetStatusEx(s32 chan, s32 fileNo, CARDDir* dirent);
|
||||
s32 __CARDSetStatusExAsync(s32 chan, s32 fileNo, CARDDir* dirent, CARDCallback callback);
|
||||
s32 __CARDSetStatusEx(s32 chan, s32 fileNo, CARDDir* dirent);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,18 @@
|
||||
#ifndef SEQSETUP_H
|
||||
#define SEQSETUP_H
|
||||
#include "types.h"
|
||||
extern "C"{
|
||||
void Jaq_Reset(void);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct seqp seqp; // TODO
|
||||
|
||||
void Jaq_Reset(void);
|
||||
void Jaq_SetSeqData(seqp* seqp, u8* param_2, u32 param_3, int param_4);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+28
-2
@@ -11,9 +11,34 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
mCD_ERROR_NOT_ENABLED, // N [not enabled?]
|
||||
mCD_ERROR_AREA, // A [area?]
|
||||
mCD_ERROR_WRITE, // W [write]
|
||||
mCD_ERROR_READ, // R [read?]
|
||||
mCD_ERROR_CHECKSUM, // C [checksum]
|
||||
mCD_ERROR_OUTDATED, // O [outdated]
|
||||
mCD_ERROR_CREATE, // c [create]
|
||||
|
||||
mCD_ERROR_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mCD_SPACE_BG_GET_SLOT,
|
||||
mCD_SPACE_BG_MAIN,
|
||||
|
||||
mCD_SPACE_BG_NUM
|
||||
};
|
||||
|
||||
#define mCD_RESULT_ERROR -1
|
||||
#define mCD_RESULT_BUSY 0
|
||||
#define mCD_RESULT_SUCCESS 1
|
||||
|
||||
#define mCD_MEMCARD_SECTORSIZE 0x2000
|
||||
|
||||
typedef struct {
|
||||
mLd_land_info_c land;
|
||||
PersonalID_c pid[PLAYER_NUM];
|
||||
mLd_land_info_c land;
|
||||
PersonalID_c pid[PLAYER_NUM];
|
||||
} mCD_persistent_data_c;
|
||||
|
||||
extern s32 mCD_GetThisLandSlotNo_code(int* player_no, s32* slot_card_results);
|
||||
@@ -28,6 +53,7 @@ extern void mCD_toNextLand();
|
||||
|
||||
extern int mCD_EraseBrokenLand_bg(void*);
|
||||
extern int mCD_card_format_bg(u8);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "types.h"
|
||||
#include "m_actor_type.h"
|
||||
#include "m_collision_bg.h"
|
||||
#include "m_name_table_floor_decl.h"
|
||||
#include "m_name_table_wall_decl.h"
|
||||
|
||||
/* TODO: these defintions are likely included from an auto-gen source */
|
||||
|
||||
@@ -11,6 +13,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// clang-format off
|
||||
|
||||
enum {
|
||||
NAME_TYPE_ITEM0, /* Scenery items */
|
||||
NAME_TYPE_FTR0, /* Furniture 0 */
|
||||
@@ -157,6 +161,11 @@ typedef struct offset_table_s {
|
||||
#define HUKUBUKURO_NUM 2
|
||||
#define KABU_NUM 4
|
||||
|
||||
// #define WALL_MY_ORIG_START (72)
|
||||
// #define WALL_MY_ORIG_NUM (8)
|
||||
// #define WALL_MY_ORIG_END ((WALL_MY_ORIG_START + WALL_MY_ORIG_NUM) - 1)
|
||||
// #define WALL_IS_MY_ORIG(idx) ((idx) >= WALL_MY_ORIG_START && (idx) <= WALL_MY_ORIG_END)
|
||||
|
||||
#define PAPER_UNIQUE_NUM 64
|
||||
#define PAINT_NUM 12
|
||||
#define FLOWER_NUM 9
|
||||
@@ -2732,6 +2741,8 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
|
||||
#define mNT_IS_RESERVE(n) ((n) >= SIGN00 && (n) <= SIGN20)
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
#ifndef M_NAME_TABLE_FLOOR_DECL_H
|
||||
#define M_NAME_TABLE_FLOOR_DECL_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define FLOOR_NPC000 0
|
||||
#define FLOOR_NPC001 1
|
||||
#define FLOOR_NPC002 2
|
||||
#define FLOOR_NPC003 3
|
||||
#define FLOOR_NPC004 4
|
||||
#define FLOOR_NPC005 5
|
||||
#define FLOOR_NPC006 6
|
||||
#define FLOOR_NPC007 7
|
||||
#define FLOOR_NPC008 8
|
||||
#define FLOOR_NPC009 9
|
||||
#define FLOOR_NPC010 10
|
||||
#define FLOOR_NPC011 11
|
||||
#define FLOOR_NPC012 12
|
||||
#define FLOOR_NPC013 13
|
||||
#define FLOOR_NPC014 14
|
||||
#define FLOOR_NPC015 15
|
||||
#define FLOOR_NPC016 16
|
||||
#define FLOOR_NPC017 17
|
||||
#define FLOOR_NPC018 18
|
||||
#define FLOOR_NPC019 19
|
||||
#define FLOOR_NPC020 20
|
||||
#define FLOOR_NPC021 21
|
||||
#define FLOOR_NPC022 22
|
||||
#define FLOOR_NPC023 23
|
||||
#define FLOOR_NPC024 24
|
||||
#define FLOOR_NPC025 25
|
||||
#define FLOOR_NPC026 26
|
||||
#define FLOOR_NPC027 27
|
||||
#define FLOOR_NPC028 28
|
||||
#define FLOOR_NPC029 29
|
||||
#define FLOOR_NPC030 30
|
||||
#define FLOOR_NPC031 31
|
||||
#define FLOOR_NPC032 32
|
||||
#define FLOOR_NPC033 33
|
||||
#define FLOOR_NPC034 34
|
||||
#define FLOOR_NPC035 35
|
||||
#define FLOOR_NPC036 36
|
||||
#define FLOOR_NPC037 37
|
||||
#define FLOOR_NPC038 38
|
||||
#define FLOOR_NPC039 39
|
||||
#define FLOOR_NPC040 40
|
||||
#define FLOOR_NPC041 41
|
||||
#define FLOOR_NPC042 42
|
||||
#define FLOOR_NPC043 43
|
||||
#define FLOOR_NPC044 44
|
||||
#define FLOOR_NPC045 45
|
||||
#define FLOOR_NPC046 46
|
||||
#define FLOOR_NPC047 47
|
||||
#define FLOOR_NPC048 48
|
||||
#define FLOOR_NPC049 49
|
||||
#define FLOOR_NPC050 50
|
||||
#define FLOOR_NPC051 51
|
||||
#define FLOOR_NPC052 52
|
||||
#define FLOOR_NPC053 53
|
||||
#define FLOOR_NPC054 54
|
||||
#define FLOOR_NPC055 55
|
||||
#define FLOOR_NPC056 56
|
||||
#define FLOOR_NPC057 57
|
||||
#define FLOOR_NPC058 58
|
||||
#define FLOOR_NPC059 59
|
||||
#define FLOOR_NPC060 60
|
||||
#define FLOOR_NPC061 61
|
||||
#define FLOOR_NPC062 62
|
||||
#define FLOOR_NPC063 63
|
||||
#define FLOOR_NPC064 64
|
||||
#define FLOOR_NPC065 65
|
||||
#define FLOOR_NPC066 66
|
||||
#define FLOOR_NPC_END FLOOR_NPC066
|
||||
|
||||
#define FLOOR_ETC_START (FLOOR_NPC_END + 1)
|
||||
#define FLOOR_SHOP1 (FLOOR_ETC_START + 0)
|
||||
#define FLOOR_SHOP2 (FLOOR_ETC_START + 1)
|
||||
#define FLOOR_SHOP3 (FLOOR_ETC_START + 2)
|
||||
#define FLOOR_SHOP4_1 (FLOOR_ETC_START + 3)
|
||||
#define FLOOR_SHOP4_2 (FLOOR_ETC_START + 3)
|
||||
#define FLOOR_PLAYER_ROOM_END (FLOOR_SHOP4_2 + 1)
|
||||
|
||||
#define FLOOR_POST_OFFICE (FLOOR_ETC_START + 4)
|
||||
#define FLOOR_POLICE_BOX (FLOOR_ETC_START + 5)
|
||||
#define FLOOR_BUGGY (FLOOR_ETC_START + 6)
|
||||
#define FLOOR_BROKER_SHOP (FLOOR_ETC_START + 7)
|
||||
#define FLOOR_KAMAKURA (FLOOR_ETC_START + 8)
|
||||
#define FLOOR_MUSEUM_ENTRANCE (FLOOR_ETC_START + 9)
|
||||
#define FLOOR_MUSEUM_FOSSIL (FLOOR_ETC_START + 10)
|
||||
#define FLOOR_MUSEUM_PICTURE (FLOOR_ETC_START + 11)
|
||||
#define FLOOR_MUSEUM_INSECT (FLOOR_ETC_START + 12)
|
||||
#define FLOOR_MUSEUM_FISH (FLOOR_ETC_START + 13)
|
||||
#define FLOOR_MUSEUM_NEEDLEWORK (FLOOR_ETC_START + 14)
|
||||
#define FLOOR_BASEMENT (FLOOR_ETC_START + 15)
|
||||
#define FLOOR_ORIGINAL_SE (FLOOR_ETC_START + 16)
|
||||
#define FLOOR_LIGHTHOUSE_SE (FLOOR_ETC_START + 17)
|
||||
#define FLOOR_TENT_SE (FLOOR_ETC_START + 18)
|
||||
#define FLOOR_ETC_END (FLOOR_ETC_START + 19)
|
||||
|
||||
#define FLOOR_MY_ORIG_START (FLOOR_ETC_END + 1)
|
||||
#define FLOOR_MY_ORIG0 (FLOOR_MY_ORIG_START + 0)
|
||||
#define FLOOR_MY_ORIG1 (FLOOR_MY_ORIG_START + 1)
|
||||
#define FLOOR_MY_ORIG2 (FLOOR_MY_ORIG_START + 2)
|
||||
#define FLOOR_MY_ORIG3 (FLOOR_MY_ORIG_START + 3)
|
||||
#define FLOOR_MY_ORIG4 (FLOOR_MY_ORIG_START + 4)
|
||||
#define FLOOR_MY_ORIG5 (FLOOR_MY_ORIG_START + 5)
|
||||
#define FLOOR_MY_ORIG6 (FLOOR_MY_ORIG_START + 6)
|
||||
#define FLOOR_MY_ORIG7 (FLOOR_MY_ORIG_START + 7)
|
||||
#define FLOOR_MY_ORIG_END FLOOR_MY_ORIG7
|
||||
|
||||
#define FLOOR_ALL_NUM (FLOOR_MY_ORIG_END + 1)
|
||||
|
||||
#define FLOOR_IS_MY_ORIG(idx) ((idx) >= FLOOR_MY_ORIG_START && (idx) <= FLOOR_MY_ORIG_END)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,106 @@
|
||||
#ifndef M_NAME_TABLE_WALL_DECL_H
|
||||
#define M_NAME_TABLE_WALL_DECL_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define WALL_NPC000 0
|
||||
#define WALL_NPC001 1
|
||||
#define WALL_NPC002 2
|
||||
#define WALL_NPC003 3
|
||||
#define WALL_NPC004 4
|
||||
#define WALL_NPC005 5
|
||||
#define WALL_NPC006 6
|
||||
#define WALL_NPC007 7
|
||||
#define WALL_NPC008 8
|
||||
#define WALL_NPC009 9
|
||||
#define WALL_NPC010 10
|
||||
#define WALL_NPC011 11
|
||||
#define WALL_NPC012 12
|
||||
#define WALL_NPC013 13
|
||||
#define WALL_NPC014 14
|
||||
#define WALL_NPC015 15
|
||||
#define WALL_NPC016 16
|
||||
#define WALL_NPC017 17
|
||||
#define WALL_NPC018 18
|
||||
#define WALL_NPC019 19
|
||||
#define WALL_NPC020 20
|
||||
#define WALL_NPC021 21
|
||||
#define WALL_NPC022 22
|
||||
#define WALL_NPC023 23
|
||||
#define WALL_NPC024 24
|
||||
#define WALL_NPC025 25
|
||||
#define WALL_NPC026 26
|
||||
#define WALL_NPC027 27
|
||||
#define WALL_NPC028 28
|
||||
#define WALL_NPC029 29
|
||||
#define WALL_NPC030 30
|
||||
#define WALL_NPC031 31
|
||||
#define WALL_NPC032 32
|
||||
#define WALL_NPC033 33
|
||||
#define WALL_NPC034 34
|
||||
#define WALL_NPC035 35
|
||||
#define WALL_NPC036 36
|
||||
#define WALL_NPC037 37
|
||||
#define WALL_NPC038 38
|
||||
#define WALL_NPC039 39
|
||||
#define WALL_NPC040 40
|
||||
#define WALL_NPC041 41
|
||||
#define WALL_NPC042 42
|
||||
#define WALL_NPC043 43
|
||||
#define WALL_NPC044 44
|
||||
#define WALL_NPC045 45
|
||||
#define WALL_NPC046 46
|
||||
#define WALL_NPC047 47
|
||||
#define WALL_NPC048 48
|
||||
#define WALL_NPC049 49
|
||||
#define WALL_NPC050 50
|
||||
#define WALL_NPC051 51
|
||||
#define WALL_NPC052 52
|
||||
#define WALL_NPC053 53
|
||||
#define WALL_NPC054 54
|
||||
#define WALL_NPC055 55
|
||||
#define WALL_NPC056 56
|
||||
#define WALL_NPC057 57
|
||||
#define WALL_NPC058 58
|
||||
#define WALL_NPC059 59
|
||||
#define WALL_NPC060 60
|
||||
#define WALL_NPC061 61
|
||||
#define WALL_NPC062 62
|
||||
#define WALL_NPC063 63
|
||||
#define WALL_NPC064 64
|
||||
#define WALL_NPC065 65
|
||||
#define WALL_NPC066 66
|
||||
#define WALL_NPC_END WALL_NPC066
|
||||
|
||||
#define WALL_ETC_START (WALL_NPC_END + 1)
|
||||
#define WALL_SHOP1 (WALL_ETC_START + 0)
|
||||
#define WALL_SHOP2 (WALL_ETC_START + 1)
|
||||
#define WALL_SHOP3 (WALL_ETC_START + 2)
|
||||
#define WALL_SHOP4_1 (WALL_ETC_START + 3)
|
||||
#define WALL_SHOP4_2 (WALL_ETC_START + 3)
|
||||
#define WALL_ETC_END (WALL_SHOP4_2 + 1)
|
||||
|
||||
#define WALL_MY_ORIG_START (WALL_ETC_END + 1)
|
||||
#define WALL_MY_ORIG0 (WALL_MY_ORIG_START + 0)
|
||||
#define WALL_MY_ORIG1 (WALL_MY_ORIG_START + 1)
|
||||
#define WALL_MY_ORIG2 (WALL_MY_ORIG_START + 2)
|
||||
#define WALL_MY_ORIG3 (WALL_MY_ORIG_START + 3)
|
||||
#define WALL_MY_ORIG4 (WALL_MY_ORIG_START + 4)
|
||||
#define WALL_MY_ORIG5 (WALL_MY_ORIG_START + 5)
|
||||
#define WALL_MY_ORIG6 (WALL_MY_ORIG_START + 6)
|
||||
#define WALL_MY_ORIG7 (WALL_MY_ORIG_START + 7)
|
||||
#define WALL_MY_ORIG_END WALL_MY_ORIG7
|
||||
|
||||
#define WALL_ALL_NUM (WALL_MY_ORIG_END + 1)
|
||||
|
||||
#define WALL_IS_MY_ORIG(idx) ((idx) >= WALL_MY_ORIG_START && (idx) <= WALL_MY_ORIG_END)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user