Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 114 additions & 112 deletions include/text_options_strings.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@

// Menu title strings

#define TEXT_OPT_OPTIONS _("OPTIONS")
#define TEXT_OPT_CAMERA _("CAMERA")
#define TEXT_OPT_CONTROLS _("CONTROLS")
#define TEXT_OPT_VIDEO _("DISPLAY")
#define TEXT_OPT_AUDIO _("SOUND")
#define TEXT_OPT_CHEATS _("CHEATS")
#define TEXT_OPT_OPTIONS _("OPTIONS")
#define TEXT_OPT_CAMERA _("CAMERA")
#define TEXT_OPT_CONTROLS _("CONTROLS")
#define TEXT_OPT_VIDEO _("DISPLAY")
#define TEXT_OPT_AUDIO _("SOUND")
#define TEXT_OPT_CHEATS _("CHEATS")

// Markers

#define TEXT_OPT_HIGHLIGHT _("O")
#define TEXT_OPT_UNBOUND _("NONE")
#define TEXT_OPT_HIGHLIGHT _("O")
#define TEXT_OPT_UNBOUND _("NONE")

// Language specific strings

Expand All @@ -25,121 +25,123 @@

// No . in JP

#define TEXT_OPT_PRESSKEY _("・・・")
#define TEXT_OPT_PRESSKEY _("・・・")

// Option strings

#define TEXT_OPT_BUTTON1 _("R OPTIONS")
#define TEXT_OPT_BUTTON2 _("R RETURN")
#define TEXT_OPT_ENABLED _("ENABLED")
#define TEXT_OPT_DISABLED _("DISABLED")
#define TEXT_OPT_CAMX _("CAMERA X SENSITIVITY")
#define TEXT_OPT_CAMY _("CAMERA Y SENSITIVITY")
#define TEXT_OPT_INVERTX _("INVERT X AXIS")
#define TEXT_OPT_INVERTY _("INVERT Y AXIS")
#define TEXT_OPT_CAMC _("CAMERA CENTRE AGGRESSION")
#define TEXT_OPT_CAMP _("CAMERA PAN LEVEL")
#define TEXT_OPT_CAMD _("CAMERA DECELERATION")
#define TEXT_OPT_ANALOGUE _("ANALOGUE CAMERA")
#define TEXT_OPT_MOUSE _("MOUSE LOOK")
#define TEXT_OPT_TEXFILTER _("TEXTURE FILTERING")
#define TEXT_OPT_FSCREEN _("FULLSCREEN")
#define TEXT_OPT_NEAREST _("NEAREST")
#define TEXT_OPT_LINEAR _("LINEAR")
#define TEXT_OPT_MVOLUME _("MASTER VOLUME")
#define TEXT_OPT_VSYNC _("VERTICAL SYNC")
#define TEXT_OPT_DOUBLE _("DOUBLE")
#define TEXT_RESET_WINDOW _("RESET WINDOW")
#define TEXT_OPT_HUD _("HUD")
#define TEXT_OPT_THREEPOINT _("THREE POINT")
#define TEXT_OPT_APPLY _("APPLY")

#define TEXT_BIND_A _("A BUTTON")
#define TEXT_BIND_B _("B BUTTON")
#define TEXT_BIND_START _("START BUTTON")
#define TEXT_BIND_L _("L TRIGGER")
#define TEXT_BIND_R _("R TRIGGER")
#define TEXT_BIND_Z _("Z TRIGGER")
#define TEXT_BIND_C_UP _("C-UP")
#define TEXT_BIND_C_DOWN _("C-DOWN")
#define TEXT_BIND_C_LEFT _("C-LEFT")
#define TEXT_BIND_C_RIGHT _("C-RIGHT")
#define TEXT_BIND_UP _("STICK UP")
#define TEXT_BIND_DOWN _("STICK DOWN")
#define TEXT_BIND_LEFT _("STICK LEFT")
#define TEXT_BIND_RIGHT _("STICK RIGHT")
#define TEXT_OPT_DEADZONE _("STICK DEADZONE")
#define TEXT_OPT_RUMBLE _("RUMBLE STRENGTH")

#define TEXT_OPT_CHEAT1 _("ENABLE CHEATS")
#define TEXT_OPT_CHEAT2 _("MOONJUMP (PRESS L)")
#define TEXT_OPT_CHEAT3 _("INVINCIBLE MARIO")
#define TEXT_OPT_CHEAT4 _("INFINITE LIVES")
#define TEXT_OPT_CHEAT5 _("SUPER SPEED")
#define TEXT_OPT_CHEAT6 _("SUPER RESPONSIVE CONTROLS")
#define TEXT_OPT_CHEAT7 _("EXIT COURSE AT ANY TIME")
#define TEXT_OPT_CHEAT8 _("HUGE MARIO")
#define TEXT_OPT_CHEAT9 _("TINY MARIO")
#define TEXT_OPT_BUTTON1 _("R OPTIONS")
#define TEXT_OPT_BUTTON2 _("R RETURN")
#define TEXT_OPT_ENABLED _("ENABLED")
#define TEXT_OPT_DISABLED _("DISABLED")
#define TEXT_OPT_CAMX _("CAMERA X SENSITIVITY")
#define TEXT_OPT_CAMY _("CAMERA Y SENSITIVITY")
#define TEXT_OPT_INVERTX _("INVERT X AXIS")
#define TEXT_OPT_INVERTY _("INVERT Y AXIS")
#define TEXT_OPT_CAMC _("CAMERA CENTRE AGGRESSION")
#define TEXT_OPT_CAMP _("CAMERA PAN LEVEL")
#define TEXT_OPT_CAMD _("CAMERA DECELERATION")
#define TEXT_OPT_ANALOGUE _("ANALOGUE CAMERA")
#define TEXT_OPT_MOUSE _("MOUSE LOOK")
#define TEXT_OPT_TEXFILTER _("TEXTURE FILTERING")
#define TEXT_OPT_FSCREEN _("FULLSCREEN")
#define TEXT_OPT_NEAREST _("NEAREST")
#define TEXT_OPT_LINEAR _("LINEAR")
#define TEXT_OPT_MVOLUME _("MASTER VOLUME")
#define TEXT_OPT_VSYNC _("VERTICAL SYNC")
#define TEXT_OPT_DOUBLE _("DOUBLE")
#define TEXT_RESET_WINDOW _("RESET WINDOW")
#define TEXT_OPT_HUD _("HUD")
#define TEXT_OPT_THREEPOINT _("THREE POINT")
#define TEXT_OPT_APPLY _("APPLY")

#define TEXT_BIND_A _("A BUTTON")
#define TEXT_BIND_B _("B BUTTON")
#define TEXT_BIND_START _("START BUTTON")
#define TEXT_BIND_L _("L TRIGGER")
#define TEXT_BIND_R _("R TRIGGER")
#define TEXT_BIND_Z _("Z TRIGGER")
#define TEXT_BIND_C_UP _("C-UP")
#define TEXT_BIND_C_DOWN _("C-DOWN")
#define TEXT_BIND_C_LEFT _("C-LEFT")
#define TEXT_BIND_C_RIGHT _("C-RIGHT")
#define TEXT_BIND_UP _("STICK UP")
#define TEXT_BIND_DOWN _("STICK DOWN")
#define TEXT_BIND_LEFT _("STICK LEFT")
#define TEXT_BIND_RIGHT _("STICK RIGHT")
#define TEXT_BIND_FULLTOGGLE _("FULLSCREEN TOGGLE")
#define TEXT_OPT_DEADZONE _("STICK DEADZONE")
#define TEXT_OPT_RUMBLE _("RUMBLE STRENGTH")

#define TEXT_OPT_CHEAT1 _("ENABLE CHEATS")
#define TEXT_OPT_CHEAT2 _("MOONJUMP (PRESS L)")
#define TEXT_OPT_CHEAT3 _("INVINCIBLE MARIO")
#define TEXT_OPT_CHEAT4 _("INFINITE LIVES")
#define TEXT_OPT_CHEAT5 _("SUPER SPEED")
#define TEXT_OPT_CHEAT6 _("SUPER RESPONSIVE CONTROLS")
#define TEXT_OPT_CHEAT7 _("EXIT COURSE AT ANY TIME")
#define TEXT_OPT_CHEAT8 _("HUGE MARIO")
#define TEXT_OPT_CHEAT9 _("TINY MARIO")

#else // VERSION

// Markers

#define TEXT_OPT_PRESSKEY _("...")
#define TEXT_OPT_PRESSKEY _("...")

// Option strings

#define TEXT_OPT_BUTTON1 _("[R] Options")
#define TEXT_OPT_BUTTON2 _("[R] Return")
#define TEXT_OPT_ENABLED _("Enabled")
#define TEXT_OPT_DISABLED _("Disabled")
#define TEXT_OPT_CAMX _("Camera X Sensitivity")
#define TEXT_OPT_CAMY _("Camera Y Sensitivity")
#define TEXT_OPT_INVERTX _("Invert X Axis")
#define TEXT_OPT_INVERTY _("Invert Y Axis")
#define TEXT_OPT_CAMC _("Camera Centre Aggression")
#define TEXT_OPT_CAMP _("Camera Pan Level")
#define TEXT_OPT_CAMD _("Camera Deceleration")
#define TEXT_OPT_ANALOGUE _("Analogue Camera")
#define TEXT_OPT_MOUSE _("Mouse Look")
#define TEXT_OPT_TEXFILTER _("Texture Filtering")
#define TEXT_OPT_FSCREEN _("Fullscreen")
#define TEXT_OPT_NEAREST _("Nearest")
#define TEXT_OPT_LINEAR _("Linear")
#define TEXT_OPT_MVOLUME _("Master Volume")
#define TEXT_OPT_VSYNC _("Vertical Sync")
#define TEXT_OPT_DOUBLE _("Double")
#define TEXT_RESET_WINDOW _("Reset Window")
#define TEXT_OPT_HUD _("HUD")
#define TEXT_OPT_THREEPOINT _("Three-point")
#define TEXT_OPT_APPLY _("Apply")

#define TEXT_BIND_A _("A Button")
#define TEXT_BIND_B _("B Button")
#define TEXT_BIND_START _("Start Button")
#define TEXT_BIND_L _("L Trigger")
#define TEXT_BIND_R _("R Trigger")
#define TEXT_BIND_Z _("Z Trigger")
#define TEXT_BIND_C_UP _("C-Up")
#define TEXT_BIND_C_DOWN _("C-Down")
#define TEXT_BIND_C_LEFT _("C-Left")
#define TEXT_BIND_C_RIGHT _("C-Right")
#define TEXT_BIND_UP _("Stick Up")
#define TEXT_BIND_DOWN _("Stick Down")
#define TEXT_BIND_LEFT _("Stick Left")
#define TEXT_BIND_RIGHT _("Stick Right")
#define TEXT_OPT_DEADZONE _("Stick Deadzone")
#define TEXT_OPT_RUMBLE _("Rumble Strength")

#define TEXT_OPT_CHEAT1 _("Enable cheats")
#define TEXT_OPT_CHEAT2 _("Moonjump (Press L)")
#define TEXT_OPT_CHEAT3 _("Invincible Mario")
#define TEXT_OPT_CHEAT4 _("Infinite lives")
#define TEXT_OPT_CHEAT5 _("Super speed")
#define TEXT_OPT_CHEAT6 _("Super responsive controls")
#define TEXT_OPT_CHEAT7 _("Exit course at any time")
#define TEXT_OPT_CHEAT8 _("Huge Mario")
#define TEXT_OPT_CHEAT9 _("Tiny Mario")
#define TEXT_OPT_BUTTON1 _("[R] Options")
#define TEXT_OPT_BUTTON2 _("[R] Return")
#define TEXT_OPT_ENABLED _("Enabled")
#define TEXT_OPT_DISABLED _("Disabled")
#define TEXT_OPT_CAMX _("Camera X Sensitivity")
#define TEXT_OPT_CAMY _("Camera Y Sensitivity")
#define TEXT_OPT_INVERTX _("Invert X Axis")
#define TEXT_OPT_INVERTY _("Invert Y Axis")
#define TEXT_OPT_CAMC _("Camera Centre Aggression")
#define TEXT_OPT_CAMP _("Camera Pan Level")
#define TEXT_OPT_CAMD _("Camera Deceleration")
#define TEXT_OPT_ANALOGUE _("Analogue Camera")
#define TEXT_OPT_MOUSE _("Mouse Look")
#define TEXT_OPT_TEXFILTER _("Texture Filtering")
#define TEXT_OPT_FSCREEN _("Fullscreen")
#define TEXT_OPT_NEAREST _("Nearest")
#define TEXT_OPT_LINEAR _("Linear")
#define TEXT_OPT_MVOLUME _("Master Volume")
#define TEXT_OPT_VSYNC _("Vertical Sync")
#define TEXT_OPT_DOUBLE _("Double")
#define TEXT_RESET_WINDOW _("Reset Window")
#define TEXT_OPT_HUD _("HUD")
#define TEXT_OPT_THREEPOINT _("Three-point")
#define TEXT_OPT_APPLY _("Apply")

#define TEXT_BIND_A _("A Button")
#define TEXT_BIND_B _("B Button")
#define TEXT_BIND_START _("Start Button")
#define TEXT_BIND_L _("L Trigger")
#define TEXT_BIND_R _("R Trigger")
#define TEXT_BIND_Z _("Z Trigger")
#define TEXT_BIND_C_UP _("C-Up")
#define TEXT_BIND_C_DOWN _("C-Down")
#define TEXT_BIND_C_LEFT _("C-Left")
#define TEXT_BIND_C_RIGHT _("C-Right")
#define TEXT_BIND_UP _("Stick Up")
#define TEXT_BIND_DOWN _("Stick Down")
#define TEXT_BIND_LEFT _("Stick Left")
#define TEXT_BIND_RIGHT _("Stick Right")
#define TEXT_OPT_DEADZONE _("Stick Deadzone")
#define TEXT_BIND_FULLTOGGLE _("Fullscreen Toggle")
#define TEXT_OPT_RUMBLE _("Rumble Strength")

#define TEXT_OPT_CHEAT1 _("Enable cheats")
#define TEXT_OPT_CHEAT2 _("Moonjump (Press L)")
#define TEXT_OPT_CHEAT3 _("Invincible Mario")
#define TEXT_OPT_CHEAT4 _("Infinite lives")
#define TEXT_OPT_CHEAT5 _("Super speed")
#define TEXT_OPT_CHEAT6 _("Super responsive controls")
#define TEXT_OPT_CHEAT7 _("Exit course at any time")
#define TEXT_OPT_CHEAT8 _("Huge Mario")
#define TEXT_OPT_CHEAT9 _("Tiny Mario")

#endif // VERSION

Expand Down
6 changes: 4 additions & 2 deletions src/game/options_menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ static const u8 bindStr[][32] = {
{ TEXT_BIND_DOWN },
{ TEXT_BIND_LEFT },
{ TEXT_BIND_RIGHT },
{ TEXT_BIND_FULLTOGGLE },
{ TEXT_OPT_DEADZONE },
{ TEXT_OPT_RUMBLE }
};
Expand Down Expand Up @@ -242,10 +243,11 @@ static struct Option optsControls[] = {
DEF_OPT_BIND( bindStr[13], configKeyStickDown ),
DEF_OPT_BIND( bindStr[14], configKeyStickLeft ),
DEF_OPT_BIND( bindStr[15], configKeyStickRight ),
DEF_OPT_BIND( bindStr[16], configKeyFullscreen ),
// max deadzone is 31000; this is less than the max range of ~32768, but this
// way, the player can't accidentally lock themselves out of using the stick
DEF_OPT_SCROLL( bindStr[16], &configStickDeadzone, 0, 100, 1 ),
DEF_OPT_SCROLL( bindStr[17], &configRumbleStrength, 0, 100, 1)
DEF_OPT_SCROLL( bindStr[17], &configStickDeadzone, 0, 100, 1 ),
DEF_OPT_SCROLL( bindStr[18], &configRumbleStrength, 0, 100, 1)
};

static struct Option optsVideo[] = {
Expand Down
2 changes: 2 additions & 0 deletions src/pc/configfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ unsigned int configKeyStickUp[MAX_BINDS] = { 0x0011, VK_INVALID, VK_INVALID
unsigned int configKeyStickDown[MAX_BINDS] = { 0x001F, VK_INVALID, VK_INVALID };
unsigned int configKeyStickLeft[MAX_BINDS] = { 0x001E, VK_INVALID, VK_INVALID };
unsigned int configKeyStickRight[MAX_BINDS] = { 0x0020, VK_INVALID, VK_INVALID };
unsigned int configKeyFullscreen[MAX_BINDS] = { 0x0001, VK_INVALID, VK_INVALID };
unsigned int configStickDeadzone = 16; // 16*DEADZONE_STEP=4960 (the original default deadzone)
unsigned int configRumbleStrength = 50;
#ifdef EXTERNAL_DATA
Expand Down Expand Up @@ -113,6 +114,7 @@ static const struct ConfigOption options[] = {
{.name = "key_stickdown", .type = CONFIG_TYPE_BIND, .uintValue = configKeyStickDown},
{.name = "key_stickleft", .type = CONFIG_TYPE_BIND, .uintValue = configKeyStickLeft},
{.name = "key_stickright", .type = CONFIG_TYPE_BIND, .uintValue = configKeyStickRight},
{.name = "key_fullscreen", .type = CONFIG_TYPE_BIND, .uintValue = configKeyFullscreen},
{.name = "stick_deadzone", .type = CONFIG_TYPE_UINT, .uintValue = &configStickDeadzone},
{.name = "rumble_strength", .type = CONFIG_TYPE_UINT, .uintValue = &configRumbleStrength},
#ifdef EXTERNAL_DATA
Expand Down
1 change: 1 addition & 0 deletions src/pc/configfile.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ extern unsigned int configKeyStickUp[];
extern unsigned int configKeyStickDown[];
extern unsigned int configKeyStickLeft[];
extern unsigned int configKeyStickRight[];
extern unsigned int configKeyFullscreen[];
extern unsigned int configStickDeadzone;
extern unsigned int configRumbleStrength;
#ifdef EXTERNAL_DATA
Expand Down
11 changes: 9 additions & 2 deletions src/pc/gfx/gfx_sdl2.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,15 @@ static void gfx_sdl_onkeydown(int scancode) {

if (state[SDL_SCANCODE_LALT] && state[SDL_SCANCODE_RETURN])
configWindow.fullscreen = !configWindow.fullscreen;
else if (state[SDL_SCANCODE_ESCAPE] && configWindow.fullscreen)
configWindow.fullscreen = false;

for (int i=0; i < MAX_BINDS; i++) {
// This is kind of a hack.
if (translate_scancode(scancode) == (int)configKeyFullscreen[i]) {
configWindow.fullscreen = !configWindow.fullscreen;
configWindow.settings_changed = true;
}
}

}

static void gfx_sdl_onkeyup(int scancode) {
Expand Down