From 1127e608c2e29847461edf5ea015c78ee4f8bf38 Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Wed, 4 Mar 2020 20:01:20 -0600 Subject: [PATCH] Start of re-configurable controls. --- repack.sh | 32 +++++ singe/Framework.singe | 36 +++++ singe/config.lua | 310 ++++++++++++++++++++++++++++++++++++++++++ singe/singe.pro | 4 +- 4 files changed, 381 insertions(+), 1 deletion(-) create mode 100755 repack.sh create mode 100644 singe/Framework.singe create mode 100644 singe/config.lua diff --git a/repack.sh b/repack.sh new file mode 100755 index 000000000..a6225ed6b --- /dev/null +++ b/repack.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# +# Singe 2 +# Copyright (C) 2006-2020 Scott Duensing +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +G_L="-------------------------------------------------------------------------------" +for V in *.m2v; do + F="${V%.*}" + echo ${G_L} + echo Working on ${F}... + echo ${G_L} + if [[ -f ${F}.mkv ]]; then + rm ${F}.mkv + fi + ffmpeg -i ${F}.m2v -i ${F}.ogg -c:v libx264 -c:a copy -strict experimental ${F}.mkv +done diff --git a/singe/Framework.singe b/singe/Framework.singe new file mode 100644 index 000000000..fa8302096 --- /dev/null +++ b/singe/Framework.singe @@ -0,0 +1,36 @@ +discSearch(1) + +SWITCH_UP = 0 +SWITCH_LEFT = 1 +SWITCH_DOWN = 2 +SWITCH_RIGHT = 3 +SWITCH_START1 = 4 +SWITCH_START2 = 5 +SWITCH_BUTTON1 = 6 +SWITCH_BUTTON2 = 7 +SWITCH_BUTTON3 = 8 +SWITCH_COIN1 = 9 +SWITCH_COIN2 = 10 +SWITCH_SKILL1 = 11 +SWITCH_SKILL2 = 12 +SWITCH_SKILL3 = 13 +SWITCH_SERVICE = 14 +SWITCH_TEST = 15 +SWITCH_RESET = 16 +SWITCH_SCREENSHOT = 17 +SWITCH_QUIT = 18 +SWITCH_PAUSE = 19 +SWITCH_CONSOLE = 20 +SWITCH_BUTTON4 = 21 +SWITCH_TILT = 22 + +FONT_QUALITY_SOLID = 1 +FONT_QUALITY_SHADED = 2 +FONT_QUALITY_BLENDED = 3 + +SOUND_ERROR_INVALID = -1 +SOUND_REMOVE_HANDLE = -1 +SOUND_ERROR_FULL = -2 + +OVERLAY_NOT_UPDATED = 0 +OVERLAY_UPDATED = 1 diff --git a/singe/config.lua b/singe/config.lua new file mode 100644 index 000000000..640155e59 --- /dev/null +++ b/singe/config.lua @@ -0,0 +1,310 @@ +-- Configuration Constants + +-- These match SDL2s SDL_scancode.h +SCANCODE = { + UNKNOWN = 0, + A = 4, + B = 5, + C = 6, + D = 7, + E = 8, + F = 9, + G = 10, + H = 11, + I = 12, + J = 13, + K = 14, + L = 15, + M = 16, + N = 17, + O = 18, + P = 19, + Q = 20, + R = 21, + S = 22, + T = 23, + U = 24, + V = 25, + W = 26, + X = 27, + Y = 28, + Z = 29, + MAIN_1 = 30, + MAIN_2 = 31, + MAIN_3 = 32, + MAIN_4 = 33, + MAIN_5 = 34, + MAIN_6 = 35, + MAIN_7 = 36, + MAIN_8 = 37, + MAIN_9 = 38, + MAIN_0 = 39, + RETURN = 40, + ESCAPE = 41, + BACKSPACE = 42, + TAB = 43, + SPACE = 44, + MINUS = 45, + EQUALS = 46, + LEFTBRACKET = 47, + RIGHTBRACKET = 48, + BACKSLASH = 49, + NONUSHASH = 50, + SEMICOLON = 51, + APOSTROPHE = 52, + GRAVE = 53, + COMMA = 54, + PERIOD = 55, + SLASH = 56, + CAPSLOCK = 57, + F1 = 58, + F2 = 59, + F3 = 60, + F4 = 61, + F5 = 62, + F6 = 63, + F7 = 64, + F8 = 65, + F9 = 66, + F10 = 67, + F11 = 68, + F12 = 69, + PRINTSCREEN = 70, + SCROLLLOCK = 71, + PAUSE = 72, + INSERT = 73, + HOME = 74, + PAGEUP = 75, + DELETE = 76, + END = 77, + PAGEDOWN = 78, + RIGHT = 79, + LEFT = 80, + DOWN = 81, + UP = 82, + NUMLOCKCLEAR = 83, + KP_DIVIDE = 84, + KP_MULTIPLY = 85, + KP_MINUS = 86, + KP_PLUS = 87, + KP_ENTER = 88, + KP_1 = 89, + KP_2 = 90, + KP_3 = 91, + KP_4 = 92, + KP_5 = 93, + KP_6 = 94, + KP_7 = 95, + KP_8 = 96, + KP_9 = 97, + KP_0 = 98, + KP_PERIOD = 99, + NONUSBACKSLASH = 100, + APPLICATION = 101, + POWER = 102, + KP_EQUALS = 103, + F13 = 104, + F14 = 105, + F15 = 106, + F16 = 107, + F17 = 108, + F18 = 109, + F19 = 110, + F20 = 111, + F21 = 112, + F22 = 113, + F23 = 114, + F24 = 115, + EXECUTE = 116, + HELP = 117, + MENU = 118, + SELECT = 119, + STOP = 120, + AGAIN = 121, + UNDO = 122, + CUT = 123, + COPY = 124, + PASTE = 125, + FIND = 126, + MUTE = 127, + VOLUMEUP = 128, + VOLUMEDOWN = 129, + KP_COMMA = 133, + KP_EQUALSAS400 = 134, + INTERNATIONAL1 = 135, + INTERNATIONAL2 = 136, + INTERNATIONAL3 = 137, + INTERNATIONAL4 = 138, + INTERNATIONAL5 = 139, + INTERNATIONAL6 = 140, + INTERNATIONAL7 = 141, + INTERNATIONAL8 = 142, + INTERNATIONAL9 = 143, + LANG1 = 144, + LANG2 = 145, + LANG3 = 146, + LANG4 = 147, + LANG5 = 148, + LANG6 = 149, + LANG7 = 150, + LANG8 = 151, + LANG9 = 152, + ALTERASE = 153, + SYSREQ = 154, + CANCEL = 155, + CLEAR = 156, + PRIOR = 157, + RETURN2 = 158, + SEPARATOR = 159, + OUT = 160, + OPER = 161, + CLEARAGAIN = 162, + CRSEL = 163, + EXSEL = 164, + KP_00 = 176, + KP_000 = 177, + THOUSANDSSEPARATOR = 178, + DECIMALSEPARATOR = 179, + CURRENCYUNIT = 180, + CURRENCYSUBUNIT = 181, + KP_LEFTPAREN = 182, + KP_RIGHTPAREN = 183, + KP_LEFTBRACE = 184, + KP_RIGHTBRACE = 185, + KP_TAB = 186, + KP_BACKSPACE = 187, + KP_A = 188, + KP_B = 189, + KP_C = 190, + KP_D = 191, + KP_E = 192, + KP_F = 193, + KP_XOR = 194, + KP_POWER = 195, + KP_PERCENT = 196, + KP_LESS = 197, + KP_GREATER = 198, + KP_AMPERSAND = 199, + KP_DBLAMPERSAND = 200, + KP_VERTICALBAR = 201, + KP_DBLVERTICALBAR = 202, + KP_COLON = 203, + KP_HASH = 204, + KP_SPACE = 205, + KP_AT = 206, + KP_EXCLAM = 207, + KP_MEMSTORE = 208, + KP_MEMRECALL = 209, + KP_MEMCLEAR = 210, + KP_MEMADD = 211, + KP_MEMSUBTRACT = 212, + KP_MEMMULTIPLY = 213, + KP_MEMDIVIDE = 214, + KP_PLUSMINUS = 215, + KP_CLEAR = 216, + KP_CLEARENTRY = 217, + KP_BINARY = 218, + KP_OCTAL = 219, + KP_DECIMAL = 220, + KP_HEXADECIMAL = 221, + LCTRL = 224, + LSHIFT = 225, + LALT = 226, + LGUI = 227, + RCTRL = 228, + RSHIFT = 229, + RALT = 230, + RGUI = 231, + MODE = 257, + AUDIONEXT = 258, + AUDIOPREV = 259, + AUDIOSTOP = 260, + AUDIOPLAY = 261, + AUDIOMUTE = 262, + MEDIASELECT = 263, + WWW = 264, + MAIL = 265, + CALCULATOR = 266, + COMPUTER = 267, + AC_SEARCH = 268, + AC_HOME = 269, + AC_BACK = 270, + AC_FORWARD = 271, + AC_STOP = 272, + AC_REFRESH = 273, + AC_BOOKMARKS = 274, + BRIGHTNESSDOWN = 275, + BRIGHTNESSUP = 276, + DISPLAYSWITCH = 277, + KBDILLUMTOGGLE = 278, + KBDILLUMDOWN = 279, + KBDILLUMUP = 280, + EJECT = 281, + SLEEP = 282, + APP1 = 283, + APP2 = 284, + AUDIOREWIND = 285, + AUDIOFASTFORWARD = 286 +} + +-- These sorta match SDL2s SDL_gamecontroller.h +GAMEPAD_1 = { + AXIS_LEFT_X = -1, + AXIS_LEFT_Y = -2, + AXIS_RIGHT_X = -3, + AXIS_RIGHT_Y = -4, + AXIS_LEFT_TRIGGER = -5, + AXIS_RIGHT_TRIGGER = -6, + BUTTON_A = -7, + BUTTON_B = -8, + BUTTON_X = -9, + BUTTON_Y = -10, + BUTTON_BACK = -11, + BUTTON_GUIDE = -12, + BUTTON_START = -13, + BUTTON_LEFT_STICK = -14, + BUTTON_RIGHT_STICK = -15, + BUTTON_LEFT_BUMPER = -16, + BUTTON_RIGHT_BUMPER = -17, + DPAD_UP = -18, + DPAD_DOWN = -19, + DPAD_LEFT = -20, + DPAD_RIGHT = -21 +} + +GAMEPAD_2 = {} +GAMEPAD_3 = {} +GAMEPAD_4 = {} +for key, value in pairs(GAMEPAD_1) do + GAMEPAD_2[key] = value + -21 + GAMEPAD_3[key] = value + -21 * 2 + GAMEPAD_4[key] = value + -21 * 3 +end + +-- Default Mappings + +DEAD_ZONE = 10 + +INPUT_UP = { SCANCODE.UP, SCANCODE.KP_8, GAMEPAD_1.AXIS_LEFT_Y, GAMEPAD_1.AXIS_RIGHT_Y, GAMEPAD_1.DPAD_UP } +INPUT_LEFT = { SCANCODE.LEFT, SCANCODE.KP_4 GAMEPAD_1.AXIS_LEFT_X, GAMEPAD_1.AXIS_RIGHT_X, GAMEPAD_1.DPAD_LEFT } +INPUT_DOWN = { SCANCODE.DOWN, SCANCODE.KP_2 GAMEPAD_1.AXIS_LEFT_Y, GAMEPAD_1.AXIS_RIGHT_Y, GAMEPAD_1.DPAD_DOWN } +INPUT_RIGHT = { SCANCODE.RIGHT, SCANCODE.KP_6 GAMEPAD_1.AXIS_LEFT_X, GAMEPAD_1.AXIS_RIGHT_X, GAMEPAD_1.DPAD_RIGHT } +INPUT_1P_COIN = { SCANCODE.MAIN_5, SCANCODE.C, GAMEPAD_1.BUTTON_LEFT_BUMPER } +INPUT_2P_COIN = { SCANCODE.MAIN_6 } +INPUT_1P_START = { SCANCODE.MAIN_1, GAMEPAD_1.BUTTON_RIGHT_BUMPER } +INPUT_2P_START = { SCANCODE.MAIN_2 } +INPUT_ACTION_1 = { SCANCODE.SPACE, SCANCODE.LCTRL, GAMEPAD_1.BUTTON_A } +INPUT_ACTION_2 = { SCANCODE.LALT, GAMEPAD_1.BUTTON_B } +INPUT_ACTION_3 = { SCANCODE.LSHIFT, GAMEPAD_1.BUTTON_X } +INPUT_ACTION_4 = { SCANCODE.RSHIFT, GAMEPAD_1.BUTTON_Y } +INPUT_SKILL_EASY = { SCANCODE.KP_DIVIDE } +INPUT_SKILL_MEDIUM = { SCANCODE.KP_MULTIPLY } +INPUT_SKILL_HARD = { SCANCODE.KP_MINUS } +INPUT_SERVICE_COIN = { SCANCODE.MAIN_9 } +INPUT_TEST_MODE = { SCANCODE.F2 } +INPUT_RESET_CPU = { SCANCODE.F3 } +INPUT_SCREENSHOT = { SCANCODE.F12, SCANCODE.F11, GAMEPAD_1.BUTTON_BACK } +INPUT_QUIT = { SCANCODE.ESCAPE, SCANCODE.Q } +INPUT_PAUSE = { SCANCODE.P, GAMEPAD_1.BUTTON_START } +INPUT_CONSOLE = { SCANCODE.GRAVE } +INPUT_TILT = { SCANCODE.T } diff --git a/singe/singe.pro b/singe/singe.pro index 1e6fe1bfc..378f772e6 100644 --- a/singe/singe.pro +++ b/singe/singe.pro @@ -231,7 +231,9 @@ OTHER_FILES += \ preBuild.sh \ postLink.sh \ buildRelease.sh \ - singe.rc + singe.rc \ + config.lua \ + Framework.singe platformLinux { #QMAKE_POST_LINK += bash $$PWD/postLink.sh "$$PWD" "$$DESTDIR" "$$TARGET"