mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-27 12:44:48 -05:00
181 lines
6.3 KiB
C
181 lines
6.3 KiB
C
#ifndef POKEDIAMOND_FILESYSTEM_H
|
|
#define POKEDIAMOND_FILESYSTEM_H
|
|
|
|
typedef struct NARC
|
|
{
|
|
FSFile file;
|
|
u32 btaf_start;
|
|
u32 gmif_start;
|
|
u16 num_files;
|
|
} NARC;
|
|
|
|
typedef enum NarcId
|
|
{
|
|
NARC_BATTLE_SKILL_WAZA_SEQ = 0,
|
|
NARC_BATTLE_SKILL_SUB_SEQ,
|
|
NARC_POKETOOL_PERSONAL_PERSONAL,
|
|
NARC_POKETOOL_PERSONAL_GROWTBL,
|
|
NARC_POKETOOL_POKEGRA_POKEGRA,
|
|
NARC_POKETOOL_POKEGRA_HEIGHT,
|
|
NARC_POKETOOL_TRGRA_TRBGRA,
|
|
NARC_BATTLE_GRAPHIC_BATT_BG,
|
|
NARC_WAZAEFFECT_WE,
|
|
NARC_POKETOOL_WAZA_WAZA_TBL,
|
|
NARC_FIELDDATA_SCRIPT_SCR_SEQ_RELEASE,
|
|
NARC_MSGDATA_SCENARIO_SCR_MSG,
|
|
NARC_GRAPHIC_POKETCH,
|
|
NARC_GRAPHIC_BAG_GRA,
|
|
NARC_GRAPHIC_FONT,
|
|
NARC_ITEMTOOL_ITEMDATA_ITEM_DATA,
|
|
NARC_ITEMTOOL_ITEMDATA_ITEM_ICON,
|
|
NARC_GRAPHIC_TMAP_GRA,
|
|
NARC_GRAPHIC_BOX,
|
|
NARC_POKETOOL_ICONGRA_POKE_ICON,
|
|
NARC_GRAPHIC_PLIST_GRA,
|
|
NARC_WAZAEFFECT_EFFECTCLACT_WECHAR,
|
|
NARC_WAZAEFFECT_EFFECTCLACT_WEPLTT,
|
|
NARC_WAZAEFFECT_EFFECTCLACT_WECELL,
|
|
NARC_WAZAEFFECT_EFFECTCLACT_WECELLANM,
|
|
NARC_GRAPHIC_IMAGECLIP,
|
|
NARC_MSGDATA_MSG,
|
|
NARC_BATTLE_GRAPHIC_BATT_OBJ,
|
|
NARC_DATA_UNDERG_RADAR,
|
|
NARC_WAZAEFFECT_EFFECTDATA_WAZA_PARTICLE,
|
|
NARC_BATTLE_SKILL_BE_SEQ,
|
|
NARC_DATA_NAMEIN,
|
|
NARC_FIELDDATA_EVENTDATA_ZONE_EVENT_RELEASE,
|
|
NARC_POKETOOL_PERSONAL_WOTBL,
|
|
NARC_POKETOOL_PERSONAL_EVO,
|
|
NARC_GRAPHIC_FONTOAM,
|
|
NARC_GRAPHIC_FIELD_BOARD,
|
|
NARC_FIELDDATA_ENCOUNTDATA_D_ENC_DATA,
|
|
NARC_GRAPHIC_WINFRAME,
|
|
NARC_GRAPHIC_PST_GRA,
|
|
NARC_FIELDDATA_BUILD_MODEL_BUILD_MODEL,
|
|
NARC_FIELDDATA_MAPMATRIX_MAP_MATRIX,
|
|
NARC_FIELDDATA_AREADATA_AREA_DATA,
|
|
NARC_FIELDDATA_AREADATA_AREA_BUILD_MODEL_AREA_BUILD,
|
|
NARC_FIELDDATA_AREADATA_AREA_MAP_TEX_MAP_TEX_SET,
|
|
NARC_CONTEST_GRAPHIC_CONTEST_BG,
|
|
NARC_CONTEST_GRAPHIC_CONTEST_OBJ,
|
|
NARC_DATA_UGEFFECT_OBJ_GRAPHIC,
|
|
NARC_DEMO_TITLE_TITLEDEMO,
|
|
NARC_FIELDDATA_AREADATA_AREA_MOVE_MODEL_MOVE_MODEL_LIST,
|
|
NARC_DATA_UG_TRAP,
|
|
NARC_GRAPHIC_TRAINER_CASE,
|
|
NARC_DATA_UG_FOSSIL,
|
|
NARC_GRAPHIC_NTAG_GRA,
|
|
NARC_DATA_TRADELIST,
|
|
NARC_DATA_UG_PARTS,
|
|
NARC_GRAPHIC_OPENING,
|
|
NARC_POKETOOL_TRAINER_TRDATA,
|
|
NARC_POKETOOL_TRAINER_TRPOKE,
|
|
NARC_POKETOOL_TRMSG_TRTBL,
|
|
NARC_POKETOOL_TRGRA_TRFGRA,
|
|
NARC_PARTICLEDATA_PARTICLEDATA,
|
|
NARC_GRAPHIC_SHOP_GRA,
|
|
NARC_WAZAEFFECT_WE_SUB,
|
|
NARC_DATA_UG_ANIM,
|
|
NARC_DATA_WEATHER_SYS,
|
|
NARC_GRAPHIC_MENU_GRA,
|
|
NARC_FIELDDATA_LAND_DATA_LAND_DATA_RELEASE,
|
|
NARC_ITEMTOOL_ITEMDATA_NUTS_DATA,
|
|
NARC_RESOURCE_ENG_ZUKAN_ZUKAN,
|
|
NARC_POKETOOL_POKEFOOT_POKEFOOT,
|
|
NARC_FIELDDATA_AREADATA_AREA_BUILD_MODEL_AREABM_TEXSET,
|
|
NARC_BATTLE_GRAPHIC_B_PLIST_GRA,
|
|
NARC_GRAPHIC_CONFIG_GRA,
|
|
NARC_GRAPHIC_UNIONROOM,
|
|
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_DATA,
|
|
NARC_GRAPHIC_PMSI,
|
|
NARC_BATTLE_GRAPHIC_B_BAG_GRA,
|
|
NARC_GRAPHIC_OEKAKI,
|
|
NARC_GRAPHIC_MAIL_GRA,
|
|
NARC_GRAPHIC_F_NOTE_GRA,
|
|
NARC_DATA_MMODEL_MMODEL,
|
|
NARC_GRAPHIC_EV_POKESELECT,
|
|
NARC_GRAPHIC_PORU_GRA,
|
|
NARC_GRAPHIC_TOUCH_SUBWINDOW,
|
|
NARC_GRAPHIC_FLD_COMACT,
|
|
NARC_GRAPHIC_RECORD,
|
|
NARC_GRAPHIC_PORUDEMO,
|
|
NARC_GRAPHIC_PORUACT,
|
|
NARC_DATA_WIFINOTE,
|
|
NARC_CONTEST_DATA_CONTEST_DATA,
|
|
NARC_APPLICATION_CUSTOM_BALL_DATA_CB_DATA,
|
|
NARC_DATA_WIFIP2PMATCH,
|
|
NARC_GRAPHIC_DEMO_TRADE,
|
|
NARC_POKEANIME_POKE_ANM,
|
|
NARC_GRAPHIC_MYSIGN,
|
|
NARC_FIELDDATA_MM_LIST_MOVE_MODEL_LIST,
|
|
NARC_DATA_FIELD_CUTIN,
|
|
NARC_DATA_DEMO_CLIMAX,
|
|
NARC_WAZAEFFECT_EFFECTDATA_BALL_PARTICLE,
|
|
NARC_WAZAEFFECT_PT_DEBUG_DEBUG_PARTICLE,
|
|
NARC_GRAPHIC_DENDOU_PC,
|
|
NARC_APPLICATION_WIFI_EARTH_WIFI_EARTH_PLACE,
|
|
NARC_BATTLE_TR_AI_TR_AI_SEQ,
|
|
NARC_GRAPHIC_WORLDTRADE,
|
|
NARC_GRAPHIC_DENDOU_DEMO,
|
|
NARC_ARC_ENCDATA_EX,
|
|
NARC_DATA_MMODEL_FLDEFF,
|
|
NARC_BATTLE_GRAPHIC_VS_DEMO_GRA,
|
|
NARC_POKETOOL_POKEZUKAN,
|
|
NARC_ARC_BM_ANIME,
|
|
NARC_ARC_BM_ANIME_LIST,
|
|
NARC_GRAPHIC_FIELD_ENCOUNTEFFECT,
|
|
NARC_GRAPHIC_WAZA_OSHIE_GRA,
|
|
NARC_POKETOOL_POKEANM_POKEANM,
|
|
NARC_FIELDDATA_POKEMON_TRADE_FLD_TRADE,
|
|
NARC_GRAPHIC_MYSTERY,
|
|
NARC_POKETOOL_POKEGRA_OTHERPOKE,
|
|
NARC_DEMO_EGG_DATA_EGG_DATA,
|
|
NARC_DEMO_EGG_DATA_PARTICLE_EGG_DEMO_PARTICLE,
|
|
NARC_ARC_SHIP_DEMO,
|
|
NARC_POKETOOL_POKEGRA_HEIGHT_O,
|
|
NARC_GRAPHIC_NUTMIXER,
|
|
NARC_GRAPHIC_BTOWER,
|
|
NARC_DEMO_SHINKA_DATA_PARTICLE_SHINKA_DEMO_PARTICLE,
|
|
NARC_DEMO_INTRO_INTRO,
|
|
NARC_ARC_TV,
|
|
NARC_GRAPHIC_ENDING,
|
|
NARC_DEMO_TITLE_OP_DEMO,
|
|
NARC_APPLICATION_WIFI_EARTH_WIFI_EARTH,
|
|
NARC_GRAPHIC_RANKING,
|
|
NARC_ARC_PPARK,
|
|
NARC_DEMO_SYOUJYOU_SYOUJYOU,
|
|
NARC_DATA_SLOT,
|
|
NARC_BATTLE_B_TOWER_BTDTR,
|
|
NARC_BATTLE_B_TOWER_BTDPM,
|
|
NARC_DEMO_INTRO_INTRO_TV,
|
|
NARC_POKETOOL_TRMSG_TRTBLOFS,
|
|
NARC_POKETOOL_POKEGRA_POKE_YOFS,
|
|
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_DIAMOND,
|
|
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_PEARL,
|
|
NARC_GRAPHIC_HIDEN_EFFECT,
|
|
NARC_POKETOOL_POKEGRA_POKE_SHADOW,
|
|
NARC_FIELDDATA_ENCOUNTDATA_P_ENC_DATA,
|
|
NARC_POKETOOL_POKEGRA_POKE_SHADOW_OFX,
|
|
NARC_POKETOOL_SHINZUKAN,
|
|
} NarcId;
|
|
|
|
void ReadFromNarcMemberByPathAndId(void * dest, const char * path, s32 file_idx, u32 offset, u32 size);
|
|
void * AllocAndReadFromNarcMemberByPathAndId(const char * path, s32 file_idx, u32 heap_id, u32 offset, u32 size, BOOL r4);
|
|
void ReadWholeNarcMemberByIdPair(void * dest, NarcId narc_id, s32 file_id);
|
|
void * AllocAndReadWholeNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id);
|
|
void * AllocAtEndAndReadWholeNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id);
|
|
void ReadFromNarcMemberByIdPair(void * dest, NarcId narc_id, s32 file_id, u32 offset, u32 size);
|
|
void * AllocAndReadFromNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size);
|
|
void * AllocAtEndAndReadFromNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size);
|
|
u32 GetNarcMemberSizeByIdPair(NarcId narc_id, s32 file_idx);
|
|
NARC * NARC_ctor(NarcId narc_id, u32 heap_id);
|
|
void NARC_dtor(NARC * narc);
|
|
void * NARC_AllocAndReadWholeMember(NARC * narc, u32 file_id, u32 heap_id);
|
|
void NARC_ReadWholeMember(NARC * narc, u32 file_id, void * dest);
|
|
u32 NARC_GetMemberSize(NARC * narc, u32 file_id);
|
|
void NARC_ReadFromMember(NARC * narc, u32 file_id, u32 pos, u32 size, void * dest);
|
|
void NARC_ReadFile(NARC * narc, u32 size, void * dest);
|
|
u16 NARC_GetFileCount(NARC * narc);
|
|
|
|
#endif //POKEDIAMOND_FILESYSTEM_H
|