Add game control for lossless video recording, set default keys for gc_screenshot, etc

Renames gc_startgif to gc_startmovie.

Default controls:

- gc_screenshot - F8
- gc_startmovie - F9
- gc_startlossless - F10

Bumps PROFILEVER to 3, safely migrates existing profiles.
This commit is contained in:
James R 2023-03-23 22:17:26 -07:00 committed by toaster
parent 6b2558c43e
commit d9faef58cb
4 changed files with 30 additions and 20 deletions

View file

@ -750,7 +750,8 @@ static const char *gamecontrolname[num_gamecontrols] =
"teamtalk",
"rankings",
"screenshot",
"recordgif",
"startmovie",
"startlossless",
};
#define NUMKEYNAMES (sizeof (keynames)/sizeof (keyname_t))
@ -889,20 +890,23 @@ void G_DefineDefaultControls(void)
{
// These defaults are less bad than they used to be.
// Keyboard controls
gamecontroldefault[gc_up ][0] = KEY_UPARROW;
gamecontroldefault[gc_down ][0] = KEY_DOWNARROW;
gamecontroldefault[gc_left ][0] = KEY_LEFTARROW;
gamecontroldefault[gc_right ][0] = KEY_RIGHTARROW;
gamecontroldefault[gc_a ][0] = 'f';
gamecontroldefault[gc_b ][0] = 'a';
gamecontroldefault[gc_c ][0] = 'v';
gamecontroldefault[gc_x ][0] = 's';
gamecontroldefault[gc_y ][0] = 'x';
gamecontroldefault[gc_z ][0] = 'c';
gamecontroldefault[gc_l ][0] = KEY_SPACE;
gamecontroldefault[gc_r ][0] = 'd';
gamecontroldefault[gc_start ][0] = KEY_ESCAPE;
gamecontroldefault[gc_rankings][0] = KEY_TAB;
gamecontroldefault[gc_up ][0] = KEY_UPARROW;
gamecontroldefault[gc_down ][0] = KEY_DOWNARROW;
gamecontroldefault[gc_left ][0] = KEY_LEFTARROW;
gamecontroldefault[gc_right ][0] = KEY_RIGHTARROW;
gamecontroldefault[gc_a ][0] = 'f';
gamecontroldefault[gc_b ][0] = 'a';
gamecontroldefault[gc_c ][0] = 'v';
gamecontroldefault[gc_x ][0] = 's';
gamecontroldefault[gc_y ][0] = 'x';
gamecontroldefault[gc_z ][0] = 'c';
gamecontroldefault[gc_l ][0] = KEY_SPACE;
gamecontroldefault[gc_r ][0] = 'd';
gamecontroldefault[gc_start ][0] = KEY_ESCAPE;
gamecontroldefault[gc_rankings ][0] = KEY_TAB;
gamecontroldefault[gc_screenshot ][0] = KEY_F8;
gamecontroldefault[gc_startmovie ][0] = KEY_F9;
gamecontroldefault[gc_startlossless][0] = KEY_F10;
// Gamepad controls
gamecontroldefault[gc_up ][1] = KEY_HAT1+0; // D-Pad Up

View file

@ -84,7 +84,8 @@ typedef enum
gc_teamtalk,
gc_rankings,
gc_screenshot,
gc_recordgif,
gc_startmovie,
gc_startlossless,
num_gamecontrols,

View file

@ -425,7 +425,9 @@ void PR_LoadProfiles(void)
{
#ifdef DEVELOP
// Profile update 1-->2: Add gc_rankings.
if (j == gc_rankings && version < 2)
// Profile update 2-->3: Add gc_startlossless.
if ((j == gc_rankings && version < 2) ||
(j == gc_startlossless && version < 3))
{
for (k = 0; k < MAXINPUTMAPPING; k++)
{

View file

@ -53,11 +53,14 @@ menuitem_t OPTIONS_ProfileControls[] = {
{IT_HEADER, "OPTIONAL CONTROLS", "Take a screenshot, chat...",
NULL, {NULL}, 0, 0},
{IT_CONTROL, "SCREENSHOT", "Also usable with F8 on Keyboard.",
{IT_CONTROL, "SCREENSHOT", "Take a high resolution screenshot.",
NULL, {.routine = M_ProfileSetControl}, gc_screenshot, 0},
{IT_CONTROL, "GIF CAPTURE", "Also usable with F9 on Keyboard.",
NULL, {.routine = M_ProfileSetControl}, gc_recordgif, 0},
{IT_CONTROL, "RECORD VIDEO", "Record a video with sound.",
NULL, {.routine = M_ProfileSetControl}, gc_startmovie, 0},
{IT_CONTROL, "RECORD LOSSLESS", "Record a pixel perfect GIF.",
NULL, {.routine = M_ProfileSetControl}, gc_startlossless, 0},
{IT_CONTROL, "OPEN CHAT", "Opens chatbox in online games.",
NULL, {.routine = M_ProfileSetControl}, gc_talk, 0},