Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_cursor_mng.h
Go to the documentation of this file.
1#ifndef D_CURSOR_MNG_H
2#define D_CURSOR_MNG_H
3
5#include "m_Do/m_Do_graphic.h"
7
8// TODO: putting this here until a more appropriate place is found
9extern u8 data_8053a730;
10
12 struct csr_c;
13
15 BOOL set(u8 i_priority, u8, u16 i_mask);
16
17 /* 0x04 */ u8 m_priority;
18 /* 0x05 */ u8 field_0x05;
19 /* 0x06 */ u16 m_mask;
20 /* 0x08 */ node_c* m_prev;
21 /* 0x0C */ node_c* m_next;
22 /* 0x10 */ int m_actor_id;
23 /* 0x14 */ csr_c* m_csr;
24 /* 0x18 */ node_c* m_pointed_obj;
25 };
26
27 struct obj_c : node_c {
28 };
29
30 struct list_c {
31 list_c() : m_root(NULL) {
32 }
33
34 virtual ~list_c(void) {}
35 void entry(node_c* i_node);
36 node_c* release(node_c* i_node);
37 node_c* release(u16 i_mask);
38 BOOL isEntry(const node_c* i_node) const;
39
40 /* 0x04 */ node_c* m_root;
41 };
42
43 struct bloObj_c {
44 struct paneObj_c {
45 paneObj_c(void) {
46 m_handle = NULL;
47 m_min_x = 0;
48 m_min_y = 0;
49 m_max_x = 0;
50 m_max_y = 0;
51 }
52 virtual ~paneObj_c(void) {}
53
54 /* 0x04 */ J2DPane* m_handle;
55 /* 0x08 */ s16 m_min_x;
56 /* 0x0A */ s16 m_min_y;
57 /* 0x0C */ s16 m_max_x;
58 /* 0x0E */ s16 m_max_y;
59 };
60
62 m_panes = new paneObj_c[1];
63 m_screen = 0;
64 }
65
66 virtual ~bloObj_c(void);
67 virtual u32 signature(void) const {
68 return 0x626c6f20;
69 }
70 virtual BOOL isInside(s16 i_x, s16 i_y);
71 BOOL create(J2DScreen* i_screen, u16 i_mask, u8 i_priority, u8);
72 void calc(void);
73 void calcPaneObjNum(J2DPane* i_pane);
74 void createPaneObj(paneObj_c** i_panes, J2DPane* i_pane);
75
76 /* 0x04 */ u8 field_0x04[0x10 - 0x4];
77 /* 0x10 */ J2DScreen* m_screen;
78 /* 0x14 */ paneObj_c* m_panes;
79 /* 0x18 */ u16 m_pane_num;
80 /* 0x1A */ u8 m_is_calc;
82 };
83
84 struct ccObj_c : node_c {
85 virtual ~ccObj_c(void);
86 virtual int signature(void) const {
87 return 'cc ';
88 }
89 virtual BOOL isInside(s16, s16);
90 void set(u16, u8, u8);
91 };
92
93 struct csr_c : node_c {
94 virtual ~csr_c(void);
96 };
97
98private:
100 }
101
102 void update_(void);
103 void releaseCsr_(csr_c* i_csr);
104 void insideObjReleaseCheck_(void);
105
106public:
107 static void create(void);
108 static void update(void);
109 static void entryCsr(csr_c* i_csr);
110 static void releaseCsr(csr_c* i_csr);
111 static void entryObj(obj_c* i_obj);
112 static void releaseObj(obj_c* i_obj);
113 static void releaseObj(u16 i_mask);
114 static void onCsr(void);
115 static void offCsr(void);
116
118
119private:
120 /* 0x00 */ list_c m_csr_list;
121 /* 0x08 */ list_c m_obj_list;
122 /* 0x10 */ bool is_csr_on;
123};
124
125#endif /* D_CURSOR_MNG_H */
Definition J2DPane.h:51
Definition J2DScreen.h:48
Definition d_cursor_mng.h:11
static void entryObj(obj_c *i_obj)
Definition d_cursor_mng.cpp:121
static void entryCsr(csr_c *i_csr)
Definition d_cursor_mng.cpp:111
void update_(void)
Definition d_cursor_mng.cpp:12
static void onCsr(void)
Definition d_cursor_mng.cpp:135
list_c m_obj_list
Definition d_cursor_mng.h:121
bool is_csr_on
Definition d_cursor_mng.h:122
static void releaseObj(obj_c *i_obj)
Definition d_cursor_mng.cpp:125
dCsr_mng_c()
Definition d_cursor_mng.h:99
list_c m_csr_list
Definition d_cursor_mng.h:120
static dCsr_mng_c * m_myObj
Definition d_cursor_mng.h:117
static void update(void)
Definition d_cursor_mng.cpp:107
void insideObjReleaseCheck_(void)
Definition d_cursor_mng.cpp:92
static void releaseCsr(csr_c *i_csr)
Definition d_cursor_mng.cpp:117
void releaseCsr_(csr_c *i_csr)
Definition d_cursor_mng.cpp:83
static void create(void)
Definition d_cursor_mng.cpp:102
static void offCsr(void)
Definition d_cursor_mng.cpp:139
Definition m_Do_graphic.h:56
u8 data_8053a730
Definition d_cursor_mng.cpp:10
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition d_cursor_mng.h:44
s16 m_min_y
Definition d_cursor_mng.h:56
paneObj_c(void)
Definition d_cursor_mng.h:45
J2DPane * m_handle
Definition d_cursor_mng.h:54
s16 m_max_x
Definition d_cursor_mng.h:57
s16 m_min_x
Definition d_cursor_mng.h:55
virtual ~paneObj_c(void)
Definition d_cursor_mng.h:52
s16 m_max_y
Definition d_cursor_mng.h:58
Definition d_cursor_mng.h:43
u8 field_0x04[0x10 - 0x4]
Definition d_cursor_mng.h:76
paneObj_c * m_panes
Definition d_cursor_mng.h:78
J2DScreen * m_screen
Definition d_cursor_mng.h:77
u8 m_is_calc
Definition d_cursor_mng.h:80
virtual BOOL isInside(s16 i_x, s16 i_y)
Definition d_cursor_mng.cpp:251
void calcPaneObjNum(J2DPane *i_pane)
Definition d_cursor_mng.cpp:310
bloObj_c()
Definition d_cursor_mng.h:61
void createPaneObj(paneObj_c **i_panes, J2DPane *i_pane)
Definition d_cursor_mng.cpp:324
void calc(void)
Definition d_cursor_mng.cpp:283
J2DPane * m_pane_handle
Definition d_cursor_mng.h:81
virtual ~bloObj_c(void)
Definition d_cursor_mng.cpp:243
u16 m_pane_num
Definition d_cursor_mng.h:79
virtual u32 signature(void) const
Definition d_cursor_mng.h:67
Definition d_cursor_mng.h:84
virtual int signature(void) const
Definition d_cursor_mng.h:86
virtual ~ccObj_c(void)
Definition d_cursor_mng.cpp:387
virtual BOOL isInside(s16, s16)
Definition d_cursor_mng.cpp:340
void set(u16, u8, u8)
Definition d_cursor_mng.cpp:369
Definition d_cursor_mng.h:93
BOOL set(mDoGph_gInf_c::csr_c *i_csr, u16, u8, u8)
Definition d_cursor_mng.cpp:379
virtual ~csr_c(void)
Definition d_cursor_mng.cpp:373
Definition d_cursor_mng.h:30
virtual ~list_c(void)
Definition d_cursor_mng.h:34
BOOL isEntry(const node_c *i_node) const
Definition d_cursor_mng.cpp:232
node_c * m_root
Definition d_cursor_mng.h:40
node_c * release(node_c *i_node)
Definition d_cursor_mng.cpp:196
list_c()
Definition d_cursor_mng.h:31
void entry(node_c *i_node)
Definition d_cursor_mng.cpp:159
Definition d_cursor_mng.h:14
u8 m_priority
Definition d_cursor_mng.h:17
node_c * m_next
Definition d_cursor_mng.h:21
csr_c * m_csr
Definition d_cursor_mng.h:23
node_c * m_prev
Definition d_cursor_mng.h:20
int m_actor_id
Definition d_cursor_mng.h:22
node_c * m_pointed_obj
Definition d_cursor_mng.h:24
u8 field_0x05
Definition d_cursor_mng.h:18
u16 m_mask
Definition d_cursor_mng.h:19
BOOL set(u8 i_priority, u8, u16 i_mask)
Definition d_cursor_mng.cpp:143
Definition d_cursor_mng.h:27