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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
|
// license:BSD-3-Clause
// copyright-holders:Dankan1890
/*********************************************************************
mewui/cmddata.h
*********************************************************************/
#pragma once
#ifndef __MEWUI_CMDDATA_H__
#define __MEWUI_CMDDATA_H__
#define BUTTON_COLOR_RED rgb_t(255,64,64)
#define BUTTON_COLOR_YELLOW rgb_t(255,238,0)
#define BUTTON_COLOR_GREEN rgb_t(0,255,64)
#define BUTTON_COLOR_BLUE rgb_t(0,170,255)
#define BUTTON_COLOR_PURPLE rgb_t(170,0,255)
#define BUTTON_COLOR_PINK rgb_t(255,0,170)
#define BUTTON_COLOR_AQUA rgb_t(0,255,204)
#define BUTTON_COLOR_SILVER rgb_t(255,0,255)
#define BUTTON_COLOR_NAVY rgb_t(255,160,0)
#define BUTTON_COLOR_LIME rgb_t(190,190,190)
enum
{
B_COLOR_RED,
B_COLOR_YELLOW,
B_COLOR_GREEN,
B_COLOR_BLUE,
B_COLOR_PURPLE,
B_COLOR_PINK,
B_COLOR_AQUA,
B_COLOR_SILVER,
B_COLOR_NAVY,
B_COLOR_LIME,
MAX_COLORTABLE
};
// command.dat symbols assigned to Unicode PUA U+E000
#define COMMAND_UNICODE (0xe000)
#define MAX_GLYPH_FONT (150)
// Define Game Command Font Converting Conditions
#define COMMAND_DEFAULT_TEXT '_'
// Define Expanded Game Command ShortCut
#define COMMAND_EXPAND_TEXT '^'
// Define Simple Game Command ShortCut
#define COMMAND_CONVERT_TEXT '@'
// Defined Game Command Font Color Array
static rgb_t color_table[] =
{
0, // dummy
BUTTON_COLOR_RED, // BTN_A
BUTTON_COLOR_YELLOW, // BTN_B
BUTTON_COLOR_GREEN, // BTN_C
BUTTON_COLOR_BLUE, // BTN_D
BUTTON_COLOR_PINK, // BTN_E
BUTTON_COLOR_PURPLE, // BTN_F
BUTTON_COLOR_AQUA, // BTN_G
BUTTON_COLOR_SILVER, // BTN_H
BUTTON_COLOR_NAVY, // BTN_I
BUTTON_COLOR_LIME, // BTN_J
BUTTON_COLOR_RED, // BTN_K
BUTTON_COLOR_YELLOW, // BTN_L
BUTTON_COLOR_GREEN, // BTN_M
BUTTON_COLOR_BLUE, // BTN_N
BUTTON_COLOR_PINK, // BTN_O
BUTTON_COLOR_PURPLE, // BTN_P
BUTTON_COLOR_AQUA, // BTN_Q
BUTTON_COLOR_SILVER, // BTN_R
BUTTON_COLOR_NAVY, // BTN_S
BUTTON_COLOR_LIME, // BTN_T
BUTTON_COLOR_RED, // BTN_U
BUTTON_COLOR_YELLOW, // BTN_V
BUTTON_COLOR_GREEN, // BTN_W
BUTTON_COLOR_BLUE, // BTN_X
BUTTON_COLOR_PINK, // BTN_Y
BUTTON_COLOR_PURPLE, // BTN_Z
BUTTON_COLOR_RED, // BTN_1
BUTTON_COLOR_YELLOW, // BTN_2
BUTTON_COLOR_GREEN, // BTN_3
BUTTON_COLOR_BLUE, // BTN_4
BUTTON_COLOR_PINK, // BTN_5
BUTTON_COLOR_PURPLE, // BTN_6
BUTTON_COLOR_AQUA, // BTN_7
BUTTON_COLOR_SILVER, // BTN_8
BUTTON_COLOR_NAVY, // BTN_9
BUTTON_COLOR_LIME, // BTN_10
BUTTON_COLOR_BLUE, // BTN_DEC
BUTTON_COLOR_RED, // BTN_INC
0, // BTN_+
0, // DIR_...
0, // DIR_1
0, // DIR_2
0, // DIR_3
0, // DIR_4
BUTTON_COLOR_RED, // Joystick Ball
0, // DIR_6
0, // DIR_7
0, // DIR_8
0, // DIR_9
0, // DIR_N
BUTTON_COLOR_RED, // BTN_START
BUTTON_COLOR_YELLOW, // BTN_SELECT
BUTTON_COLOR_PINK, // BTN_PUNCH
BUTTON_COLOR_PURPLE, // BTN_KICK
BUTTON_COLOR_BLUE, // BTN_GUARD
0,
BUTTON_COLOR_YELLOW, // Light Punch
BUTTON_COLOR_NAVY, // Middle Punch
BUTTON_COLOR_RED, // Strong Punch
BUTTON_COLOR_LIME, // Light Kick
BUTTON_COLOR_AQUA, // Middle Kick
BUTTON_COLOR_BLUE, // Strong Kick
BUTTON_COLOR_PURPLE, // 3 Kick
BUTTON_COLOR_PINK, // 3 Punch
BUTTON_COLOR_PURPLE, // 2 Kick
BUTTON_COLOR_PINK, // 2 Punch
BUTTON_COLOR_RED, // CUSTOM_1
BUTTON_COLOR_YELLOW, // CUSTOM_2
BUTTON_COLOR_GREEN, // CUSTOM_3
BUTTON_COLOR_BLUE, // CUSTOM_4
BUTTON_COLOR_PINK, // CUSTOM_5
BUTTON_COLOR_PURPLE, // CUSTOM_6
BUTTON_COLOR_AQUA, // CUSTOM_7
BUTTON_COLOR_SILVER, // CUSTOM_8
BUTTON_COLOR_RED, // (Cursor Up)
BUTTON_COLOR_YELLOW, // (Cursor Down)
BUTTON_COLOR_GREEN, // (Cursor Left)
BUTTON_COLOR_BLUE, // (Cursor Right)
0, // Non Player Lever
BUTTON_COLOR_LIME, // Gray Color Lever
BUTTON_COLOR_RED, // 1 Player Lever
BUTTON_COLOR_YELLOW, // 2 Player Lever
BUTTON_COLOR_GREEN, // 3 Player Lever
BUTTON_COLOR_BLUE, // 4 Player Lever
BUTTON_COLOR_PINK, // 5 Player Lever
BUTTON_COLOR_PURPLE, // 6 Player Lever
BUTTON_COLOR_AQUA, // 7 Player Lever
BUTTON_COLOR_SILVER // 8 Player Lever
};
// for color glyph
#define COLOR_BUTTONS ARRAY_LENGTH(color_table)
// Follow Varialbe Defined Arraies for Game Command Tag
struct fix_command_t
{
unsigned char glyph_char;
const int glyph_code;
};
struct fix_strings_t
{
const char *glyph_str;
const int glyph_code;
int glyph_str_len;
};
static fix_command_t default_text[] =
{
// Alphabetic Buttons (NeoGeo): A~D,H,Z
{ 'A', 1 }, // BTN_A
{ 'B', 2 }, // BTN_B
{ 'C', 3 }, // BTN_C
{ 'D', 4 }, // BTN_D
{ 'H', 8 }, // BTN_H
{ 'Z', 26 }, // BTN_Z
// Numerical Buttons (Capcom): 1~10
{ 'a', 27 }, // BTN_1
{ 'b', 28 }, // BTN_2
{ 'c', 29 }, // BTN_3
{ 'd', 30 }, // BTN_4
{ 'e', 31 }, // BTN_5
{ 'f', 32 }, // BTN_6
{ 'g', 33 }, // BTN_7
{ 'h', 34 }, // BTN_8
{ 'i', 35 }, // BTN_9
{ 'j', 36 }, // BTN_10
// Directions of Arrow, Joystick Ball
{ '+', 39 }, // BTN_+
{ '.', 40 }, // DIR_...
{ '1', 41 }, // DIR_1
{ '2', 42 }, // DIR_2
{ '3', 43 }, // DIR_3
{ '4', 44 }, // DIR_4
{ '5', 45 }, // Joystick Ball
{ '6', 46 }, // DIR_6
{ '7', 47 }, // DIR_7
{ '8', 48 }, // DIR_8
{ '9', 49 }, // DIR_9
{ 'N', 50 }, // DIR_N
// Special Buttons
{ 'S', 51 }, // BTN_START
{ 'P', 53 }, // BTN_PUNCH
{ 'K', 54 }, // BTN_KICK
{ 'G', 55 }, // BTN_GUARD
// Composition of Arrow Directions
{ '!', 90 }, // Arrow
{ 'k', 100 }, // Half Circle Back
{ 'l', 101 }, // Half Circle Front Up
{ 'm', 102 }, // Half Circle Front
{ 'n', 103 }, // Half Circle Back Up
{ 'o', 104 }, // 1/4 Cir For 2 Down
{ 'p', 105 }, // 1/4 Cir Down 2 Back
{ 'q', 106 }, // 1/4 Cir Back 2 Up
{ 'r', 107 }, // 1/4 Cir Up 2 For
{ 's', 108 }, // 1/4 Cir Back 2 Down
{ 't', 109 }, // 1/4 Cir Down 2 For
{ 'u', 110 }, // 1/4 Cir For 2 Up
{ 'v', 111 }, // 1/4 Cir Up 2 Back
{ 'w', 112 }, // Full Clock Forward
{ 'x', 113 }, // Full Clock Back
{ 'y', 114 }, // Full Count Forward
{ 'z', 115 }, // Full Count Back
{ 'L', 116 }, // 2x Forward
{ 'M', 117 }, // 2x Back
{ 'Q', 118 }, // Dragon Screw Forward
{ 'R', 119 }, // Dragon Screw Back
// Big letter Text
{ '^', 121 }, // AIR
{ '?', 122 }, // DIR
{ 'X', 124 }, // TAP
// Condition of Positions
{ '|', 125 }, // Jump
{ 'O', 126 }, // Hold
{ '-', 127 }, // Air
{ '=', 128 }, // Squatting
{ '~', 131 }, // Charge
// Special Character Text
{ '`', 135 }, // Small Dot
{ '@', 136 }, // Double Ball
{ ')', 137 }, // Single Ball
{ '(', 138 }, // Solid Ball
{ '*', 139 }, // Star
{ '&', 140 }, // Solid star
{ '%', 141 }, // Triangle
{ '$', 142 }, // Solid Triangle
{ '#', 143 }, // Double Square
{ ']', 144 }, // Single Square
{ '[', 145 }, // Solid Square
{ '{', 146 }, // Down Triangle
{ '}', 147 }, // Solid Down Triangle
{ '<', 148 }, // Diamond
{ '>', 149 }, // Solid Diamond
{ 0, 0 } // end of array
};
static fix_command_t expand_text[] =
{
// Alphabetic Buttons (NeoGeo): S (Slash Button)
{ 's', 19 }, // BTN_S
// Special Buttons
{ 'S', 52 }, // BTN_SELECT
// Multiple Punches & Kicks
{ 'E', 57 }, // Light Punch
{ 'F', 58 }, // Middle Punch
{ 'G', 59 }, // Strong Punch
{ 'H', 60 }, // Light Kick
{ 'I', 61 }, // Middle Kick
{ 'J', 62 }, // Strong Kick
{ 'T', 63 }, // 3 Kick
{ 'U', 64 }, // 3 Punch
{ 'V', 65 }, // 2 Kick
{ 'W', 66 }, // 2 Pick
// Composition of Arrow Directions
{ '!', 91 }, // Continue Arrow
// Charge of Arrow Directions
{ '1', 92 }, // Charge DIR_1
{ '2', 93 }, // Charge DIR_2
{ '3', 94 }, // Charge DIR_3
{ '4', 95 }, // Charge DIR_4
{ '6', 96 }, // Charge DIR_6
{ '7', 97 }, // Charge DIR_7
{ '8', 98 }, // Charge DIR_8
{ '9', 99 }, // Charge DIR_9
// Big letter Text
{ 'M', 123 }, // MAX
// Condition of Positions
{ '-', 129 }, // Close
{ '=', 130 }, // Away
{ '*', 132 }, // Serious Tap
{ '?', 133 }, // Any Button
{ 0, 0 } // end of array
};
static fix_strings_t convert_text[] =
{
// Alphabetic Buttons: A~Z
{ "A-button", 1 }, // BTN_A
{ "B-button", 2 }, // BTN_B
{ "C-button", 3 }, // BTN_C
{ "D-button", 4 }, // BTN_D
{ "E-button", 5 }, // BTN_E
{ "F-button", 6 }, // BTN_F
{ "G-button", 7 }, // BTN_G
{ "H-button", 8 }, // BTN_H
{ "I-button", 9 }, // BTN_I
{ "J-button", 10 }, // BTN_J
{ "K-button", 11 }, // BTN_K
{ "L-button", 12 }, // BTN_L
{ "M-button", 13 }, // BTN_M
{ "N-button", 14 }, // BTN_N
{ "O-button", 15 }, // BTN_O
{ "P-button", 16 }, // BTN_P
{ "Q-button", 17 }, // BTN_Q
{ "R-button", 18 }, // BTN_R
{ "S-button", 19 }, // BTN_S
{ "T-button", 20 }, // BTN_T
{ "U-button", 21 }, // BTN_U
{ "V-button", 22 }, // BTN_V
{ "W-button", 23 }, // BTN_W
{ "X-button", 24 }, // BTN_X
{ "Y-button", 25 }, // BTN_Y
{ "Z-button", 26 }, // BTN_Z
// Special Moves and Buttons
{ "decrease", 37 }, // BTN_DEC
{ "increase", 38 }, // BTN_INC
{ "BALL", 45 }, // Joystick Ball
{ "start", 51 }, // BTN_START
{ "select", 52 }, // BTN_SELECT
{ "punch", 53 }, // BTN_PUNCH
{ "kick", 54 }, // BTN_KICK
{ "guard", 55 }, // BTN_GUARD
{ "L-punch", 57 }, // Light Punch
{ "M-punch", 58 }, // Middle Punch
{ "S-punch", 59 }, // Strong Punch
{ "L-kick", 60 }, // Light Kick
{ "M-kick", 61 }, // Middle Kick
{ "S-kick", 62 }, // Strong Kick
{ "3-kick", 63 }, // 3 Kick
{ "3-punch", 64 }, // 3 Punch
{ "2-kick", 65 }, // 2 Kick
{ "2-punch", 66 }, // 2 Pick
// Custom Buttons and Cursor Buttons
{ "custom1", 67 }, // CUSTOM_1
{ "custom2", 68 }, // CUSTOM_2
{ "custom3", 69 }, // CUSTOM_3
{ "custom4", 70 }, // CUSTOM_4
{ "custom5", 71 }, // CUSTOM_5
{ "custom6", 72 }, // CUSTOM_6
{ "custom7", 73 }, // CUSTOM_7
{ "custom8", 74 }, // CUSTOM_8
{ "up", 75 }, // (Cursor Up)
{ "down", 76 }, // (Cursor Down)
{ "left", 77 }, // (Cursor Left)
{ "right", 78 }, // (Cursor Right)
// Player Lever
{ "lever", 79 }, // Non Player Lever
{ "nplayer", 80 }, // Gray Color Lever
{ "1player", 81 }, // 1 Player Lever
{ "2player", 82 }, // 2 Player Lever
{ "3player", 83 }, // 3 Player Lever
{ "4player", 84 }, // 4 Player Lever
{ "5player", 85 }, // 5 Player Lever
{ "6player", 86 }, // 6 Player Lever
{ "7player", 87 }, // 7 Player Lever
{ "8player", 88 }, // 8 Player Lever
// Composition of Arrow Directions
{ "-->", 90 }, // Arrow
{ "==>", 91 }, // Continue Arrow
{ "hcb", 100 }, // Half Circle Back
{ "huf", 101 }, // Half Circle Front Up
{ "hcf", 102 }, // Half Circle Front
{ "hub", 103 }, // Half Circle Back Up
{ "qfd", 104 }, // 1/4 Cir For 2 Down
{ "qdb", 105 }, // 1/4 Cir Down 2 Back
{ "qbu", 106 }, // 1/4 Cir Back 2 Up
{ "quf", 107 }, // 1/4 Cir Up 2 For
{ "qbd", 108 }, // 1/4 Cir Back 2 Down
{ "qdf", 109 }, // 1/4 Cir Down 2 For
{ "qfu", 110 }, // 1/4 Cir For 2 Up
{ "qub", 111 }, // 1/4 Cir Up 2 Back
{ "fdf", 112 }, // Full Clock Forward
{ "fub", 113 }, // Full Clock Back
{ "fuf", 114 }, // Full Count Forward
{ "fdb", 115 }, // Full Count Back
{ "xff", 116 }, // 2x Forward
{ "xbb", 117 }, // 2x Back
{ "dsf", 118 }, // Dragon Screw Forward
{ "dsb", 119 }, // Dragon Screw Back
// Big letter Text
{ "AIR", 121 }, // AIR
{ "DIR", 122 }, // DIR
{ "MAX", 123 }, // MAX
{ "TAP", 124 }, // TAP
// Condition of Positions
{ "jump", 125 }, // Jump
{ "hold", 126 }, // Hold
{ "air", 127 }, // Air
{ "sit", 128 }, // Squatting
{ "close", 129 }, // Close
{ "away", 130 }, // Away
{ "charge", 131 }, // Charge
{ "tap", 132 }, // Serious Tap
{ "button", 133 }, // Any Button
{ 0, 0 } // end of array
};
#endif /* __MEWUI_CMDDATA_H__ */
|