Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JASSeqReader.h
Go to the documentation of this file.
1#ifndef JASSEQREADER_H
2#define JASSEQREADER_H
3
4#include <dolphin/types.h>
5
11public:
13 void init();
14 void init(void*);
15 bool call(u32);
16 bool loopStart(u32);
17 bool loopEnd();
18 bool ret();
19 int readMidiValue();
20
21 void jump(u32 param_1) {
22 field_0x04 = field_0x00 + param_1;
23 }
24
25 void jump(void* param_1) {
26 field_0x04 = (u8*)param_1;
27 }
28
29 u32 get24(u32 param_0) const {
30 return (*(u32*)(field_0x00 + param_0 - 1)) & 0xffffff;
31 }
32
33 u32* getBase() { return (u32*)field_0x00; }
34 void* getAddr(u32 param_0) { return field_0x00 + param_0; }
35 u8 getByte(u32 param_0) const { return *(field_0x00 + param_0); }
36 u16 get16(u32 param_0) const { return *(u16*)(field_0x00 + param_0); }
37 u32 get32(u32 param_0) const { return *(u32*)(field_0x00 + param_0); }
38 u8* getCur() { return field_0x04; }
39 u32 readByte() { return *field_0x04++; }
41#ifdef __MWERKS__
42 return *((u16*)field_0x04)++;
43#else
44 u16* value = (u16*)field_0x04;
45 field_0x04 += 2;
46 return *value;
47#endif
48 }
50 field_0x04--;
51#ifdef __MWERKS__
52 return (*((u32*)field_0x04)++) & 0x00ffffff;
53#else
54 u32* value = (u32*)field_0x04;
55 field_0x04 += 4;
56 return (*value) & 0x00ffffff;
57#endif
58 }
59 u16 getLoopCount() const {
60 if (field_0x08 == 0) {
61 return 0;
62 }
63 return field_0x2c[field_0x08 - 1];
64 }
65
66 /* 0x00 */ u8* field_0x00;
67 /* 0x04 */ u8* field_0x04;
68 /* 0x08 */ u32 field_0x08;
69 /* 0x0C */ u16* field_0x0c[8];
70 /* 0x2C */ u16 field_0x2c[8];
71};
72
73#endif /* JASSEQREADER_H */
Definition JASSeqReader.h:10
u16 * field_0x0c[8]
Definition JASSeqReader.h:69
void * getAddr(u32 param_0)
Definition JASSeqReader.h:34
void jump(u32 param_1)
Definition JASSeqReader.h:21
u32 get24(u32 param_0) const
Definition JASSeqReader.h:29
bool call(u32)
Definition JASSeqReader.cpp:33
u32 read16()
Definition JASSeqReader.h:40
bool loopEnd()
Definition JASSeqReader.cpp:58
u32 field_0x08
Definition JASSeqReader.h:68
u8 * field_0x04
Definition JASSeqReader.h:67
u16 field_0x2c[8]
Definition JASSeqReader.h:70
int readMidiValue()
Definition JASSeqReader.cpp:90
u16 get16(u32 param_0) const
Definition JASSeqReader.h:36
bool loopStart(u32)
Definition JASSeqReader.cpp:45
u32 readByte()
Definition JASSeqReader.h:39
u32 read24()
Definition JASSeqReader.h:49
u8 * field_0x00
Definition JASSeqReader.h:66
u32 get32(u32 param_0) const
Definition JASSeqReader.h:37
void init()
Definition JASSeqReader.cpp:10
JASSeqReader()
Definition JASSeqReader.h:12
u8 getByte(u32 param_0) const
Definition JASSeqReader.h:35
u32 * getBase()
Definition JASSeqReader.h:33
void jump(void *param_1)
Definition JASSeqReader.h:25
bool ret()
Definition JASSeqReader.cpp:80
u8 * getCur()
Definition JASSeqReader.h:38
u16 getLoopCount() const
Definition JASSeqReader.h:59
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8