diff options
author | 2016-09-05 21:43:17 -0500 | |
---|---|---|
committer | 2016-09-05 21:43:17 -0500 | |
commit | 46ab9213f5f49bc4d6afc63ac03459fde78ddd85 (patch) | |
tree | e460e7249fdf7f3ece72be215fb6382abe77010a /plugins/data/button_char.lua | |
parent | 63ecb9a387e236f36d1aa6dcd3035289db3ca830 (diff) |
ui/selgame: get dat info from plugin [Carl]
plugins/data: add data plugin [Carl]
Diffstat (limited to 'plugins/data/button_char.lua')
-rw-r--r-- | plugins/data/button_char.lua | 245 |
1 files changed, 245 insertions, 0 deletions
diff --git a/plugins/data/button_char.lua b/plugins/data/button_char.lua new file mode 100644 index 00000000000..cee756c2603 --- /dev/null +++ b/plugins/data/button_char.lua @@ -0,0 +1,245 @@ +local 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 +} + +local 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 +} + +local 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 +} + +local function convert_char(str) + str = str:gsub("@([a-zA-Z%-]+)", function(s) if convert_text[s] then return utf8.char(convert_text[s] + 0xe000) end return s end) + str = str:gsub("_(.)", function(s) if default_text[s] then return utf8.char(default_text[s] + 0xe000) end return s end) + str = str:gsub("%^(.)", function(s) if expand_text[s] then return utf8.char(expand_text[s] + 0xe000) end return s end) + return str +end + +return convert_char |