Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
fvb-data.h
Go to the documentation of this file.
1#ifndef FVB_DATA_H
2#define FVB_DATA_H
3
6
7using namespace JGadget::binary;
8
9namespace JStudio {
10namespace fvb {
11namespace data {
12
13extern const char ga4cSignature[4];
14
15const int PARAGRAPH_DATA = 1;
16
17typedef enum TEComposite {
18 /* 0x0 */ COMPOSITE_NONE,
19 /* 0x1 */ COMPOSITE_RAW,
20 /* 0x2 */ COMPOSITE_IDX,
21 /* 0x3 */ COMPOSITE_PARAM,
22 /* 0x4 */ COMPOSITE_ADD,
23 /* 0x5 */ COMPOSITE_SUB,
24 /* 0x6 */ COMPOSITE_MUL,
25 /* 0x7 */ COMPOSITE_DIV,
27};
28
30
35
36struct TBlock {
37 /* 0x0 */ u32 size;
38 /* 0x4 */ u16 type;
39 /* 0x6 */ u16 id_size;
40 /* 0x8 */ u8 id[0];
41};
42
43struct THeader {
44 /* 0x00 */ char signature[4];
45 /* 0x04 */ u16 byte_order; // must be 0xFEFF
46 /* 0x06 */ u16 version; // 0-1 = obselete, 2-7 = OK
47 /* 0x08 */ u32 _8;
48 /* 0x0C */ u32 block_number;
49 /* 0x10 */ u8 content[0];
50};
51// Parses a THeader
53public:
54 TParse_THeader(const void* p) : TParseData_aligned<4>(p) {}
55
56 const THeader* get() const { return (THeader*)getRaw(); }
57 const void* getContent() const { return ((THeader*)getRaw())->content; }
58 const char* get_signature() const { return get()->signature; }
59 u16 get_byteOrder() const { return get()->byte_order; }
60 u16 get_version() const { return get()->version; }
61 u32 get_blockNumber() const { return get()->block_number; }
62};
63
64} // namespace data
65} // namespace fvb
66} // namespace JStudio
67
68#endif /* FVB_DATA_H */
f64(*) CompositeFunc(const JGadget::TVector_pointer< TFunctionValue * > &, const TFunctionValue_composite::TData &, f64)
Definition functionvalue.h:193
Definition fvb-data.h:52
u16 get_byteOrder() const
Definition fvb-data.h:59
const char * get_signature() const
Definition fvb-data.h:58
TParse_THeader(const void *p)
Definition fvb-data.h:54
const THeader * get() const
Definition fvb-data.h:56
u32 get_blockNumber() const
Definition fvb-data.h:61
const void * getContent() const
Definition fvb-data.h:57
u16 get_version() const
Definition fvb-data.h:60
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
p
Definition e_acos.c:98
Definition binary.h:9
const char ga4cSignature[4]
Definition fvb-data.cpp:5
const int PARAGRAPH_DATA
Definition fvb-data.h:15
TFunctionValue_composite::TData(* CompositeDataFunc)(const void *)
Definition fvb-data.h:29
TEComposite
Definition fvb-data.h:17
@ COMPOSITE_RAW
Definition fvb-data.h:19
@ COMPOSITE_SUB
Definition fvb-data.h:23
@ COMPOSITE_MUL
Definition fvb-data.h:24
@ COMPOSITE_IDX
Definition fvb-data.h:20
@ COMPOSITE_NONE
Definition fvb-data.h:18
@ COMPOSITE_ENUM_SIZE
Definition fvb-data.h:26
@ COMPOSITE_PARAM
Definition fvb-data.h:21
@ COMPOSITE_ADD
Definition fvb-data.h:22
@ COMPOSITE_DIV
Definition fvb-data.h:25
Definition functionvalue.cpp:11
const void * getRaw() const
Definition binary.h:30
Definition functionvalue.h:175
TFunctionValue_composite::CompositeFunc composite
Definition fvb-data.h:32
CompositeDataFunc getCompositeData
Definition fvb-data.h:33
Definition fvb-data.h:36
u32 size
Definition fvb-data.h:37
u16 type
Definition fvb-data.h:38
u16 id_size
Definition fvb-data.h:39
Definition fvb-data.h:43
u16 byte_order
Definition fvb-data.h:45
u8 content[0]
Definition fvb-data.h:49
u32 _8
Definition fvb-data.h:47
u32 block_number
Definition fvb-data.h:48
char signature[4]
Definition fvb-data.h:44
u16 version
Definition fvb-data.h:46