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