mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 12:03:27 -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
|
||||
Reference in New Issue
Block a user