-
Notifications
You must be signed in to change notification settings - Fork 3
/
CLEO Utils (MatiDragon).txt
168 lines (149 loc) Β· 3.96 KB
/
CLEO Utils (MatiDragon).txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
{$CLEO .csa}
{$USE Android}
{$NOSOURCE}
nop
const
IMPORT_VERSION_DYOS = 700
IMPORT_VERSION_CLEO_UTILS = 701
IMPORT_TOUCH_X = 800
IMPORT_TOUCH_Y = 801
IMPORT_SCREEN_W = 802
IMPORT_SCREEN_H = 803
IMPORT_TOUCH_X2 = 804
IMPORT_TOUCH_Y2 = 805
IMPORT_SCREEN_IS_TOUCHED = 806
IMPORT_TOUCH_OFFSET_X = 807
IMPORT_TOUCH_OFFSET_Y = 808
IMPORT_TOUCH_OFFSET_X_FLOAT = 809
IMPORT_TOUCH_OFFSET_Y_FLOAT = 810
end
wait 1000
while true
Touch_GetXY()
set_mutex_var IMPORT_TOUCH_X = 1@
set_mutex_var IMPORT_TOUCH_Y = 2@
Screen_GetMaxWH()
set_mutex_var IMPORT_SCREEN_W = 1@
set_mutex_var IMPORT_SCREEN_H = 2@
Touch_GetXY2()
set_mutex_var IMPORT_TOUCH_X2 = 3@
set_mutex_var IMPORT_TOUCH_Y2 = 4@
Touch_IsPressed()
set_mutex_var IMPORT_SCREEN_IS_TOUCHED = 5@
Touch_GetOffsetXY()
set_mutex_var IMPORT_TOUCH_OFFSET_X = 10@
set_mutex_var IMPORT_TOUCH_OFFSET_Y = 11@
10@ = Math.IntToFloat_LsL(10@)
9@ = Math.IntToFloat_LsL(9@)
set_mutex_var IMPORT_TOUCH_OFFSET_X_FLOAT = 10@
set_mutex_var IMPORT_TOUCH_OFFSET_Y_FLOAT = 11@
//0DD0: 6@ = get_label_addr @_ZN15CTouchInterface13m_nMaxTouchesE
//0DD1: 6@ = get_func_addr_by_cstr_name 6@
//0DD8: 6@ = read_mem_addr 6@ size 2 add_ib 0
//set_mutex_var 806 = 5@
//set_mutex_var 807 = 6@
wait 0
end
:Touch_GetOffsetXY
Touch_GetXY2()
if 3@ == -1
then 3@ = 0
end
if 4@ == -1
then 4@ = 0
end
wait 20
int 10@ = 3@
int 11@ = 4@
Touch_GetXY2()
if 3@ == -1
then 3@ = 0
end
if 4@ == -1
then 4@ = 0
end
10@ -= 3@
11@ -= 4@
return
:Touch_GetXY2
get_mutex_var 0@ = 806
if 0@ == 1
then
int 1@
int 2@
int 3@
int 4@
Touch_GetXY()
3@ = 1@ // 3@ - X
4@ = 2@ // 4@ - Y
Screen_GetMaxWH()
// 1@ W - 2400
// 2@ H - 1080
3@ *= 640
3@ /= 1@
4@ *= 480
4@ /= 2@
else
3@ = -1
4@ = -1
end
return
:Touch_IsPressed
0DD0: 5@ = get_label_addr @_ZN15CTouchInterface12m_bTouchDownE
0DD1: 5@ = get_func_addr_by_cstr_name 5@
0DD8: 5@ = read_mem_addr 5@ size 1 add_ib 0
return
:Touch_GetXY
0DD0: 0@ = get_label_addr @_ZN15CTouchInterface14m_vecCachedPosE
0DD1: 0@ = get_func_addr_by_cstr_name 0@
0DD8: 1@ = read_mem_addr 0@ size 4 add_ib 0
0@ += 4
0DD8: 2@ = read_mem_addr 0@ size 4 add_ib 0
1@ = Math.FloatToInt_LsL(1@) // x
2@ = Math.FloatToInt_LsL(2@) // y
return
:Screen_GetMaxWH
0DD0: 0@ = get_label_addr @RsGlobal
0DD1: 0@ = get_func_addr_by_cstr_name 0@
0@ += 4
0DD8: 1@ = read_mem_addr 0@ size 4 add_ib 0
0@ += 4
0DD8: 2@ = read_mem_addr 0@ size 4 add_ib 0
//1@ = Math.FloatToInt_LsL(1@) // w
//2@ = Math.FloatToInt_LsL(2@) // h
return
:Screen_GetMaxWH2
0DD0: 1@ = get_label_addr @_Z17OS_ScreenGetWidthv
0DD1: 1@ = get_func_addr_by_cstr_name 1@
0DD2: context_call_func 1@ // deprecated, use 0DDE instead
0DD4: 1@ = context_get_reg 0 // deprecated, use 0DDE instead
0DD0: 2@ = get_label_addr @_Z18OS_ScreenGetHeightv
0DD1: 2@ = get_func_addr_by_cstr_name 2@
0DD2: context_call_func 2@ // deprecated, use 0DDE instead
0DD4: 2@ = context_get_reg 0 // deprecated, use 0DDE instead
return
:_ZN15CTouchInterface14m_vecCachedPosE
hex
"_ZN15CTouchInterface14m_vecCachedPosE" 00
end
:_ZN15CTouchInterface13GetNumTouchesEv // no cirve
:_ZN15CTouchInterface12m_bTouchDownE // 1 or 0
hex
"_ZN15CTouchInterface12m_bTouchDownE" 00
end
:_ZN15CTouchInterface13m_nMaxTouchesE // max
hex
"_ZN15CTouchInterface13m_nMaxTouchesE" 00
end
:RsGlobal
hex
"RsGlobal" 00
end
:_Z17OS_ScreenGetWidthv
hex
"_Z17OS_ScreenGetWidthv" 00
end
:_Z18OS_ScreenGetHeightv
hex
"_Z18OS_ScreenGetHeightv" 00
end