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", "teamtalk",
"rankings", "rankings",
"screenshot", "screenshot",
"recordgif", "startmovie",
"startlossless",
}; };
#define NUMKEYNAMES (sizeof (keynames)/sizeof (keyname_t)) #define NUMKEYNAMES (sizeof (keynames)/sizeof (keyname_t))
@ -903,6 +904,9 @@ void G_DefineDefaultControls(void)
gamecontroldefault[gc_r ][0] = 'd'; gamecontroldefault[gc_r ][0] = 'd';
gamecontroldefault[gc_start ][0] = KEY_ESCAPE; gamecontroldefault[gc_start ][0] = KEY_ESCAPE;
gamecontroldefault[gc_rankings ][0] = KEY_TAB; 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 // Gamepad controls
gamecontroldefault[gc_up ][1] = KEY_HAT1+0; // D-Pad Up gamecontroldefault[gc_up ][1] = KEY_HAT1+0; // D-Pad Up

View file

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

View file

@ -425,7 +425,9 @@ void PR_LoadProfiles(void)
{ {
#ifdef DEVELOP #ifdef DEVELOP
// Profile update 1-->2: Add gc_rankings. // 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++) for (k = 0; k < MAXINPUTMAPPING; k++)
{ {

View file

@ -53,11 +53,14 @@ menuitem_t OPTIONS_ProfileControls[] = {
{IT_HEADER, "OPTIONAL CONTROLS", "Take a screenshot, chat...", {IT_HEADER, "OPTIONAL CONTROLS", "Take a screenshot, chat...",
NULL, {NULL}, 0, 0}, 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}, NULL, {.routine = M_ProfileSetControl}, gc_screenshot, 0},
{IT_CONTROL, "GIF CAPTURE", "Also usable with F9 on Keyboard.", {IT_CONTROL, "RECORD VIDEO", "Record a video with sound.",
NULL, {.routine = M_ProfileSetControl}, gc_recordgif, 0}, 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.", {IT_CONTROL, "OPEN CHAT", "Opens chatbox in online games.",
NULL, {.routine = M_ProfileSetControl}, gc_talk, 0}, NULL, {.routine = M_ProfileSetControl}, gc_talk, 0},