mirror of
https://github.com/dborth/snes9xgx.git
synced 2024-11-01 16:35:16 +01:00
edf269f97d
- added: mapped zooming and turbo mode to classic controller - added: preliminary usb support (loading) - changed: sram and freezes now saved by filename, not internal romname. If you have multiple versions of the same game, you can now have srams and freezes for each version. A prompt to convert to the new naming is provided for sram only. - changed: by default, autoload/save sram and freeze enabled
169 lines
4.0 KiB
C
169 lines
4.0 KiB
C
#include <gccore.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#include <ogcsys.h>
|
|
#include <unistd.h>
|
|
#include <wiiuse/wpad.h>
|
|
#include "button_mapping.h"
|
|
|
|
/***
|
|
* Controller Button Descriptions:
|
|
* used for identifying which buttons have been pressed when configuring
|
|
* and for displaying the name of said button
|
|
***/
|
|
//CtrlrMap ctrlr_def[4];
|
|
|
|
CtrlrMap ctrlr_def[4] = {
|
|
// Nunchuk btn def
|
|
CTRLR_NUNCHUK,
|
|
13,
|
|
WPAD_BUTTON_DOWN, "DOWN",
|
|
WPAD_BUTTON_UP, "UP",
|
|
WPAD_BUTTON_LEFT, "LEFT",
|
|
WPAD_BUTTON_RIGHT, "RIGHT",
|
|
WPAD_BUTTON_A, "A",
|
|
WPAD_BUTTON_B, "B",
|
|
WPAD_BUTTON_1, "1",
|
|
WPAD_BUTTON_2, "2",
|
|
WPAD_BUTTON_PLUS, "PLUS",
|
|
WPAD_BUTTON_MINUS, "MINUS",
|
|
WPAD_BUTTON_HOME, "HOME",
|
|
WPAD_NUNCHUK_BUTTON_Z, "Z",
|
|
WPAD_NUNCHUK_BUTTON_C, "C",
|
|
0, "",
|
|
0, "",
|
|
// Classic btn def
|
|
CTRLR_CLASSIC,
|
|
15,
|
|
WPAD_CLASSIC_BUTTON_DOWN, "DOWN",
|
|
WPAD_CLASSIC_BUTTON_UP, "UP",
|
|
WPAD_CLASSIC_BUTTON_LEFT, "LEFT",
|
|
WPAD_CLASSIC_BUTTON_RIGHT, "RIGHT",
|
|
WPAD_CLASSIC_BUTTON_A, "A",
|
|
WPAD_CLASSIC_BUTTON_B, "B",
|
|
WPAD_CLASSIC_BUTTON_X, "X",
|
|
WPAD_CLASSIC_BUTTON_Y, "Y",
|
|
WPAD_CLASSIC_BUTTON_PLUS, "PLUS",
|
|
WPAD_CLASSIC_BUTTON_MINUS, "MINUS",
|
|
WPAD_CLASSIC_BUTTON_HOME, "HOME",
|
|
WPAD_CLASSIC_BUTTON_FULL_L, "L TRIG",
|
|
WPAD_CLASSIC_BUTTON_FULL_R, "R TRIG",
|
|
WPAD_CLASSIC_BUTTON_ZL, "ZL",
|
|
WPAD_CLASSIC_BUTTON_ZR, "ZR",
|
|
// Gamecube controller btn def
|
|
CTRLR_GCPAD,
|
|
13,
|
|
PAD_BUTTON_DOWN, "DOWN",
|
|
PAD_BUTTON_UP, "UP",
|
|
PAD_BUTTON_LEFT, "LEFT",
|
|
PAD_BUTTON_RIGHT, "RIGHT",
|
|
PAD_BUTTON_A, "A",
|
|
PAD_BUTTON_B, "B",
|
|
PAD_BUTTON_X, "X",
|
|
PAD_BUTTON_Y, "Y",
|
|
PAD_BUTTON_MENU, "MENU",
|
|
PAD_BUTTON_START, "START",
|
|
PAD_TRIGGER_L, "L TRIG",
|
|
PAD_TRIGGER_R, "R TRIG",
|
|
PAD_TRIGGER_Z, "Z",
|
|
0, "",
|
|
0, "",
|
|
// Wiimote btn def
|
|
CTRLR_WIIMOTE,
|
|
11,
|
|
WPAD_BUTTON_DOWN, "DOWN",
|
|
WPAD_BUTTON_UP, "UP",
|
|
WPAD_BUTTON_LEFT, "LEFT",
|
|
WPAD_BUTTON_RIGHT, "RIGHT",
|
|
WPAD_BUTTON_A, "A",
|
|
WPAD_BUTTON_B, "B",
|
|
WPAD_BUTTON_1, "1",
|
|
WPAD_BUTTON_2, "2",
|
|
WPAD_BUTTON_PLUS, "PLUS",
|
|
WPAD_BUTTON_MINUS, "MINUS",
|
|
WPAD_BUTTON_HOME, "HOME",
|
|
0, "",
|
|
0, "",
|
|
0, "",
|
|
0, ""
|
|
};
|
|
|
|
/***
|
|
* Default controller maps
|
|
* button press on left, and corresponding snes button on right
|
|
* arguably some data is unnecessary here but lets stick to one struct type ok?
|
|
|
|
CtrlrMap defaultmap[4];
|
|
// Nunchuk Default
|
|
defaultmap[0].type = CTRLR_NUNCHUK;
|
|
defaultmap[0].num_btns = 12;
|
|
defaultmap[0].map[] = { WPAD_BUTTON_A, "A",
|
|
WPAD_BUTTON_B, "B",
|
|
WPAD_NUNCHUK_BUTTON_C, "X",
|
|
WPAD_NUNCHUK_BUTTON_Z, "Y",
|
|
WPAD_BUTTON_MINUS, "L",
|
|
WPAD_BUTTON_PLUS, "R",
|
|
WPAD_BUTTON_2, "SELECT",
|
|
WPAD_BUTTON_1, "START",
|
|
WPAD_BUTTON_UP, "UP",
|
|
WPAD_BUTTON_DOWN, "DOWN",
|
|
WPAD_BUTTON_LEFT, "LEFT",
|
|
WPAD_BUTTON_RIGHT, "RIGHT"
|
|
};
|
|
// Classic Default
|
|
defaultmap[1].type = CTRLR_CLASSIC;
|
|
defaultmap[1].num_btns = 12;
|
|
defaultmap[1].map[] = { WPAD_CLASSIC_BUTTON_A, "A",
|
|
WPAD_CLASSIC_BUTTON_B, "B",
|
|
WPAD_CLASSIC_BUTTON_Y, "X",
|
|
WPAD_CLASSIC_BUTTON_X, "Y",
|
|
WPAD_CLASSIC_BUTTON_FULL_L, "L",
|
|
WPAD_CLASSIC_BUTTON_FULL_R, "R",
|
|
WPAD_CLASSIC_BUTTON_MINUS, "SELECT",
|
|
WPAD_CLASSIC_BUTTON_PLUS, "START",
|
|
WPAD_CLASSIC_BUTTON_UP, "UP",
|
|
WPAD_CLASSIC_BUTTON_DOWN, "DOWN",
|
|
WPAD_CLASSIC_BUTTON_LEFT, "LEFT",
|
|
WPAD_CLASSIC_BUTTON_RIGHT, "RIGHT"
|
|
};
|
|
// Gamecube Controller Default
|
|
defaultmap[2].type = CTRLR_GCPAD;
|
|
defaultmap[2].num_btns = 12;
|
|
defaultmap[2].map[] = {PAD_BUTTON_A, "A",
|
|
PAD_BUTTON_B, "B",
|
|
PAD_BUTTON_X, "X",
|
|
PAD_BUTTON_Y, "Y",
|
|
PAD_TRIGGER_L, "L",
|
|
PAD_TRIGGER_R, "R",
|
|
PAD_TRIGGER_Z, "SELECT",
|
|
PAD_BUTTON_START, "START",
|
|
PAD_BUTTON_UP, "UP",
|
|
PAD_BUTTON_DOWN, "DOWN",
|
|
PAD_BUTTON_LEFT, "LEFT",
|
|
PAD_BUTTON_RIGHT, "RIGHT"
|
|
};
|
|
// Wiimote Default
|
|
defaultmap[3].type = CTRLR_WIIMOTE;
|
|
defaultmap[3].num_btns = 12;
|
|
defaultmap[3].map[] = { WPAD_BUTTON_B, "A",
|
|
WPAD_BUTTON_2, "B",
|
|
WPAD_BUTTON_1, "X",
|
|
WPAD_BUTTON_A, "Y",
|
|
0x0000, "L",
|
|
0x0000, "R",
|
|
WPAD_BUTTON_MINUS, "SELECT",
|
|
WPAD_BUTTON_PLUS, "START",
|
|
WPAD_BUTTON_RIGHT, "UP",
|
|
WPAD_BUTTON_LEFT, "DOWN",
|
|
WPAD_BUTTON_UP, "LEFT",
|
|
WPAD_BUTTON_DOWN, "RIGHT"
|
|
};
|
|
// end default padmaps
|
|
***/
|
|
|
|
|
|
|
|
// eof
|