Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • STJr/SRB2
  • Sryder/SRB2
  • wolfy852/SRB2
  • Alpha2244/SRB2
  • Inuyasha/SRB2
  • yoshibot/SRB2
  • TehRealSalt/SRB2
  • PrisimaTF/SRB2
  • Hatninja/SRB2
  • SteelT/SRB2
  • james/SRB2
  • ShaderWraith/SRB2
  • SinnamonLat/SRB2
  • mazmazz_/SRB2
  • filpAM/SRB2
  • chaoloveicemdboy/SRB2
  • Whooa21/SRB2
  • Machturne/SRB2
  • Golden/SRB2
  • Tatsuru/SRB2
  • Snu/SRB2
  • Zwip-Zwap_Zapony/SRB2
  • fickleheart/SRB2
  • alphaRexJames/SRB2
  • JJK/SRB2
  • diskpoppy/SRB2
  • Hannu_Hanhi/SRB2
  • ZipperQR/SRB2
  • kays/SRB2
  • spherallic/SRB2
  • Zippy_Zolton/SRB2
  • namiishere/SRB2
  • Ors/SRB2
  • SMS_Alfredo/SRB2
  • sonic_edge/SRB2
  • lavla/SRB2
  • ashi/SRB2
  • X.organic/SRB2
  • Fafabis/SRB2
  • Meziu/SRB2
  • v-rob/SRB2
  • tertu/SRB2
  • bitten2up/SRB2
  • flarn2006/SRB2
  • Krabs/SRB2
  • clairebun/SRB2
  • Lactozilla/SRB2
  • thehackstack/SRB2
  • Spice/SRB2
  • win8linux/SRB2
  • JohnFrostFox/SRB2
  • talktoneon726/SRB2
  • Wane/SRB2
  • Lamibe/SRB2
  • spectrumuk2/srb-2
  • nerdyminer18/srb-2
  • 256nil/SRB2
  • ARJr/SRB2
  • Alam/SRB2
  • Zenya/srb-2-marathon-demos
  • Acelite/srb-2-archivedmodifications
  • MIDIMan/SRB2
  • Lach/SRB2
  • Frostiikin/bounce-tweaks
  • Jaden/SRB2
  • Tyron/SRB2
  • Astronight/SRB2
  • Mari0shi06/SRB2
  • aiire/SRB2
  • Galactice/SRB2
  • srb2-ports/srb2-dreamcast
  • sdasdas/SRB2
  • chreas/srb-2-vr
  • StarManiaKG/the-story-of-sinically-rocketing-and-botching-the-2nd
  • LoganAir/SRB2
  • NepDisk/srb-2
  • alufolie91/SRB2
  • Felicia.iso/SRB2
  • twi/SRB2
  • BarrelsOFun/SRB2
  • Speed2411/SRB2
  • Leather_Realms/SRB2
  • Ayemar/SRB2
  • Acelite/SRB2
  • VladDoc/SRB2
  • kaldrum/model-features
  • strawberryfox417/SRB2
  • Lugent/SRB2
  • Rem/SRB2
  • Refrag/SRB2
  • Henry_3230/srb-3230
  • TehPuertoRicanSpartan2/tprs-srb2
  • Leminn/srb-2-marathon-stuff
  • chromaticpipe2/SRB2
  • MiguelGustavo15/SRB2
  • Maru/srb-2-tests
  • SilicDev/SRB2
  • UnmatchedBracket/SRB2
  • HybridDog/SRB2
  • xordspar0/SRB2
  • jsjhbewfhh/SRB2
  • Fancy2209/SRB2
  • Lorsoen/SRB2
  • shindoukin/SRB2
  • GamerOfDays/SRB2
  • Craftyawesome/SRB2
  • tenshi-tensai-tennoji/SRB2
  • Scarfdudebalder/SRB2
  • luigi-budd/srb-2-fix-interplag-lockon
  • mskluesner/SRB2
  • johnpetersa19/SRB2
  • Pheazant/SRB2
  • chromaticpipe2/srb2classic
  • romoney5/SRB2
  • PAS/SRB2Classic
  • BlueStaggo/SRB2
  • Jisk/srb-2-beef-jerky
117 results
Select Git revision
Show changes
Commits on Source (79)
...@@ -85,7 +85,7 @@ endif ...@@ -85,7 +85,7 @@ endif
#WFLAGS+=-Wunreachable-code #WFLAGS+=-Wunreachable-code
WFLAGS+=-Winline WFLAGS+=-Winline
ifdef DEBUGMODE ifdef DEBUGMODE
WFLAGS+=-Wno-error=inline WFLAGS+=-Wno-inline
endif endif
ifdef GCC43 ifdef GCC43
WFLAGS+=-funit-at-a-time WFLAGS+=-funit-at-a-time
......
...@@ -27,23 +27,8 @@ void I_SetPalette(RGBA_t *palette) ...@@ -27,23 +27,8 @@ void I_SetPalette(RGBA_t *palette)
(void)palette; (void)palette;
} }
INT32 VID_NumModes(void)
{
return 1;
}
INT32 VID_GetModeForSize(INT32 w, INT32 h)
{
(void)w;
(void)h;
return 0;
}
void VID_PrepareModeList(void){}
INT32 VID_SetMode(INT32 modenum) INT32 VID_SetMode(INT32 modenum)
{ {
vid.modenum = 0;
vid.width = 320; vid.width = 320;
vid.height = 240; vid.height = 240;
vid.bpp = 1; vid.bpp = 1;
...@@ -61,11 +46,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender) ...@@ -61,11 +46,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender)
(void)oldrender; (void)oldrender;
} }
const char *VID_GetModeName(INT32 modenum)
{
return "A320x240";
}
void I_UpdateNoBlit(void){} void I_UpdateNoBlit(void){}
void I_FinishUpdate(void) { void I_FinishUpdate(void) {
......
...@@ -85,7 +85,7 @@ CV_PossibleValue_t CV_TrueFalse[] = {{0, "False"}, {1, "True"}, {0, NULL}}; ...@@ -85,7 +85,7 @@ CV_PossibleValue_t CV_TrueFalse[] = {{0, "False"}, {1, "True"}, {0, NULL}};
// First implementation is 26 (2.1.21), so earlier configs default at 25 (2.1.20) // First implementation is 26 (2.1.21), so earlier configs default at 25 (2.1.20)
// Also set CV_HIDEN during runtime, after config is loaded // Also set CV_HIDEN during runtime, after config is loaded
static boolean execversion_enabled = false; static boolean execversion_enabled = false;
consvar_t cv_execversion = CVAR_INIT ("execversion","25",CV_CALL,CV_Unsigned, CV_EnforceExecVersion); consvar_t cv_execversion = CVAR_INIT ("execversion", "25", NULL, CV_CALL, CV_Unsigned, CV_EnforceExecVersion);
// for default joyaxis detection // for default joyaxis detection
static boolean joyaxis_default = false; static boolean joyaxis_default = false;
...@@ -315,6 +315,7 @@ void COM_ImmedExecute(const char *ptext) ...@@ -315,6 +315,7 @@ void COM_ImmedExecute(const char *ptext)
typedef struct xcommand_s typedef struct xcommand_s
{ {
const char *name; const char *name;
const char *desc;
struct xcommand_s *next; struct xcommand_s *next;
com_func_t function; com_func_t function;
com_flags_t flags; com_flags_t flags;
...@@ -338,17 +339,17 @@ void COM_Init(void) ...@@ -338,17 +339,17 @@ void COM_Init(void)
VS_Alloc(&com_text, COM_BUF_SIZE); VS_Alloc(&com_text, COM_BUF_SIZE);
// add standard commands // add standard commands
COM_AddCommand("alias", COM_Alias_f, 0); COM_AddCommand("alias", "Create or list commands that expand to other commands", COM_Alias_f, 0);
COM_AddCommand("echo", COM_Echo_f, COM_LUA); COM_AddCommand("echo", "Print the specified text, useful for scripts", COM_Echo_f, COM_LUA);
COM_AddCommand("cecho", COM_CEcho_f, COM_LUA); COM_AddCommand("cecho", "Display text on-screen", COM_CEcho_f, COM_LUA);
COM_AddCommand("cechoflags", COM_CEchoFlags_f, COM_LUA); COM_AddCommand("cechoflags", NULL, COM_CEchoFlags_f, COM_LUA);
COM_AddCommand("cechoduration", COM_CEchoDuration_f, COM_LUA); COM_AddCommand("cechoduration", NULL, COM_CEchoDuration_f, COM_LUA);
COM_AddCommand("exec", COM_Exec_f, 0); COM_AddCommand("exec", "Run a script", COM_Exec_f, 0);
COM_AddCommand("wait", COM_Wait_f, 0); COM_AddCommand("wait", NULL, COM_Wait_f, 0);
COM_AddCommand("help", COM_Help_f, COM_LUA); COM_AddCommand("help", "Show information about a variable or command", COM_Help_f, COM_LUA);
COM_AddCommand("find", COM_Find_f, COM_LUA); COM_AddCommand("find", "Search commands and variables", COM_Find_f, COM_LUA);
COM_AddCommand("toggle", COM_Toggle_f, COM_LUA); COM_AddCommand("toggle", "Toggle a variable on or off", COM_Toggle_f, COM_LUA);
COM_AddCommand("add", COM_Add_f, COM_LUA); COM_AddCommand("add", NULL, COM_Add_f, COM_LUA);
RegisterNetXCmd(XD_NETVAR, Got_NetVar); RegisterNetXCmd(XD_NETVAR, Got_NetVar);
} }
...@@ -487,7 +488,7 @@ static void COM_TokenizeString(char *ptext) ...@@ -487,7 +488,7 @@ static void COM_TokenizeString(char *ptext)
* \param name Name of the command. * \param name Name of the command.
* \param func Function called when the command is run. * \param func Function called when the command is run.
*/ */
void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags) void COM_AddCommand(const char *name, const char *desc, com_func_t func, com_flags_t flags)
{ {
xcommand_t *cmd; xcommand_t *cmd;
...@@ -516,6 +517,7 @@ void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags) ...@@ -516,6 +517,7 @@ void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags)
cmd = ZZ_Alloc(sizeof *cmd); cmd = ZZ_Alloc(sizeof *cmd);
cmd->name = name; cmd->name = name;
cmd->desc = desc;
cmd->function = func; cmd->function = func;
cmd->flags = flags; cmd->flags = flags;
cmd->next = com_commands; cmd->next = com_commands;
...@@ -527,7 +529,7 @@ void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags) ...@@ -527,7 +529,7 @@ void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags)
* *
* \param name Name of the command. * \param name Name of the command.
*/ */
int COM_AddLuaCommand(const char *name) int COM_AddLuaCommand(const char *name, const char *desc)
{ {
xcommand_t *cmd; xcommand_t *cmd;
...@@ -549,6 +551,7 @@ int COM_AddLuaCommand(const char *name) ...@@ -549,6 +551,7 @@ int COM_AddLuaCommand(const char *name)
// Add a new command. // Add a new command.
cmd = ZZ_Alloc(sizeof *cmd); cmd = ZZ_Alloc(sizeof *cmd);
cmd->name = name; cmd->name = name;
cmd->desc = desc;
cmd->function = COM_Lua_f; cmd->function = COM_Lua_f;
cmd->flags = COM_LUA; cmd->flags = COM_LUA;
cmd->next = com_commands; cmd->next = com_commands;
...@@ -892,7 +895,12 @@ static void COM_Help_f(void) ...@@ -892,7 +895,12 @@ static void COM_Help_f(void)
{ {
boolean floatmode = false; boolean floatmode = false;
const char *cvalue = NULL; const char *cvalue = NULL;
CONS_Printf("\x82""Variable %s:\n", cvar->name); CONS_Printf("\x82""Variable %s: \x80", cvar->name);
if (cvar->desc != NULL)
CONS_Printf("%s\n", cvar->desc);
else
CONS_Printf("No description provided\n");
CONS_Printf(M_GetText(" flags: ")); CONS_Printf(M_GetText(" flags: "));
if (cvar->flags & CV_SAVE) if (cvar->flags & CV_SAVE)
CONS_Printf("AUTOSAVE "); CONS_Printf("AUTOSAVE ");
...@@ -984,14 +992,15 @@ static void COM_Help_f(void) ...@@ -984,14 +992,15 @@ static void COM_Help_f(void)
if (strcmp(cmd->name, help)) if (strcmp(cmd->name, help))
continue; continue;
CONS_Printf("\x82""Command %s:\n", cmd->name); CONS_Printf("\x82""Command %s: \x80", cmd->name);
CONS_Printf(" help is not available for commands"); if (cmd->desc != NULL)
CONS_Printf("\x82""\nCheck wiki.srb2.org for more or try typing <name> without arguments\n"); CONS_Printf("%s\n", cmd->desc);
else
CONS_Printf("No description provided\n");
return; return;
} }
CONS_Printf("No variable or command named %s", help); CONS_Printf("No variable or command named %s\n", help);
CONS_Printf("\x82""\nCheck wiki.srb2.org for more or try typing help without arguments\n");
} }
return; return;
} }
...@@ -1014,8 +1023,7 @@ static void COM_Help_f(void) ...@@ -1014,8 +1023,7 @@ static void COM_Help_f(void)
CONS_Printf("%s ",cmd->name); CONS_Printf("%s ",cmd->name);
i++; i++;
} }
CONS_Printf("\n");
CONS_Printf("\x82""\nCheck wiki.srb2.org for more or type help <command or variable>\n");
CONS_Debug(DBG_GAMELOGIC, "\x82Total : %d\n", i); CONS_Debug(DBG_GAMELOGIC, "\x82Total : %d\n", i);
} }
......
...@@ -37,8 +37,8 @@ typedef enum ...@@ -37,8 +37,8 @@ typedef enum
typedef void (*com_func_t)(void); typedef void (*com_func_t)(void);
void COM_AddCommand(const char *name, com_func_t func, com_flags_t flags); void COM_AddCommand(const char *name, const char *desc, com_func_t func, com_flags_t flags);
int COM_AddLuaCommand(const char *name); int COM_AddLuaCommand(const char *name, const char *desc);
size_t COM_Argc(void); size_t COM_Argc(void);
const char *COM_Argv(size_t arg); // if argv > argc, returns empty string const char *COM_Argv(size_t arg); // if argv > argc, returns empty string
...@@ -137,6 +137,7 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL ...@@ -137,6 +137,7 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL
{ {
const char *name; const char *name;
const char *defaultvalue; const char *defaultvalue;
const char *desc;
INT32 flags; // flags see cvflags_t above INT32 flags; // flags see cvflags_t above
CV_PossibleValue_t *PossibleValue; // table of possible values CV_PossibleValue_t *PossibleValue; // table of possible values
void (*func)(void); // called on change, if CV_CALL set void (*func)(void); // called on change, if CV_CALL set
...@@ -161,7 +162,7 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL ...@@ -161,7 +162,7 @@ typedef struct consvar_s //NULL, NULL, 0, NULL, NULL |, 0, NULL, NULL, 0, 0, NUL
struct consvar_s *next; struct consvar_s *next;
} consvar_t; } consvar_t;
/* name, defaultvalue, flags, PossibleValue, func */ /* name, defaultvalue, desc, flags, PossibleValue, func */
#define CVAR_INIT( ... ) \ #define CVAR_INIT( ... ) \
{ __VA_ARGS__, NULL, 0, NULL, NULL, {0, {NULL}}, 0U, (char)0, NULL } { __VA_ARGS__, NULL, 0, NULL, NULL, {0, {NULL}}, 0U, (char)0, NULL }
......
...@@ -123,23 +123,23 @@ static char con_buffer[CON_BUFFERSIZE]; ...@@ -123,23 +123,23 @@ static char con_buffer[CON_BUFFERSIZE];
// how many seconds the hud messages lasts on the screen // how many seconds the hud messages lasts on the screen
// CV_Unsigned can overflow when multiplied by TICRATE later, so let's use a 3-year limit instead // CV_Unsigned can overflow when multiplied by TICRATE later, so let's use a 3-year limit instead
static CV_PossibleValue_t hudtime_cons_t[] = {{0, "MIN"}, {99999999, "MAX"}, {0, NULL}}; static CV_PossibleValue_t hudtime_cons_t[] = {{0, "MIN"}, {99999999, "MAX"}, {0, NULL}};
static consvar_t cons_hudtime = CVAR_INIT ("con_hudtime", "5", CV_SAVE, hudtime_cons_t, NULL); static consvar_t cons_hudtime = CVAR_INIT ("con_hudtime", "5", NULL, CV_SAVE, hudtime_cons_t, NULL);
// number of lines displayed on the HUD // number of lines displayed on the HUD
static CV_PossibleValue_t hudlines_cons_t[] = {{0, "MIN"}, {MAXHUDLINES, "MAX"}, {0, NULL}}; static CV_PossibleValue_t hudlines_cons_t[] = {{0, "MIN"}, {MAXHUDLINES, "MAX"}, {0, NULL}};
static consvar_t cons_hudlines = CVAR_INIT ("con_hudlines", "5", CV_CALL|CV_SAVE, hudlines_cons_t, CONS_hudlines_Change); static consvar_t cons_hudlines = CVAR_INIT ("con_hudlines", "5", NULL, CV_CALL|CV_SAVE, hudlines_cons_t, CONS_hudlines_Change);
// number of lines console move per frame // number of lines console move per frame
// (con_speed needs a limit, apparently) // (con_speed needs a limit, apparently)
static CV_PossibleValue_t speed_cons_t[] = {{0, "MIN"}, {64, "MAX"}, {0, NULL}}; static CV_PossibleValue_t speed_cons_t[] = {{0, "MIN"}, {64, "MAX"}, {0, NULL}};
static consvar_t cons_speed = CVAR_INIT ("con_speed", "8", CV_SAVE, speed_cons_t, NULL); static consvar_t cons_speed = CVAR_INIT ("con_speed", "8", NULL, CV_SAVE, speed_cons_t, NULL);
// percentage of screen height to use for console // percentage of screen height to use for console
static consvar_t cons_height = CVAR_INIT ("con_height", "50", CV_CALL|CV_SAVE, CV_Unsigned, CONS_height_Change); static consvar_t cons_height = CVAR_INIT ("con_height", "50", NULL, CV_CALL|CV_SAVE, CV_Unsigned, CONS_height_Change);
static CV_PossibleValue_t backpic_cons_t[] = {{0, "translucent"}, {1, "picture"}, {0, NULL}}; static CV_PossibleValue_t backpic_cons_t[] = {{0, "translucent"}, {1, "picture"}, {0, NULL}};
// whether to use console background picture, or translucent mode // whether to use console background picture, or translucent mode
static consvar_t cons_backpic = CVAR_INIT ("con_backpic", "translucent", CV_SAVE, backpic_cons_t, NULL); static consvar_t cons_backpic = CVAR_INIT ("con_backpic", "translucent", NULL, CV_SAVE, backpic_cons_t, NULL);
static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, {2, "Sepia"}, static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, {2, "Sepia"},
{3, "Brown"}, {4, "Pink"}, {5, "Raspberry"}, {3, "Brown"}, {4, "Pink"}, {5, "Raspberry"},
...@@ -151,7 +151,7 @@ static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, { ...@@ -151,7 +151,7 @@ static CV_PossibleValue_t backcolor_cons_t[] = {{0, "White"}, {1, "Black"}, {
{0, NULL}}; {0, NULL}};
consvar_t cons_backcolor = CVAR_INIT ("con_backcolor", "Green", CV_CALL|CV_SAVE, backcolor_cons_t, CONS_backcolor_Change); consvar_t cons_backcolor = CVAR_INIT ("con_backcolor", "Green", NULL, CV_CALL|CV_SAVE, backcolor_cons_t, CONS_backcolor_Change);
static void CON_Print(char *msg); static void CON_Print(char *msg);
...@@ -477,7 +477,7 @@ void CON_Init(void) ...@@ -477,7 +477,7 @@ void CON_Init(void)
// register our commands // register our commands
// //
COM_AddCommand("cls", CONS_Clear_f, 0); COM_AddCommand("cls", "Clear the console", CONS_Clear_f, 0);
//COM_AddCommand("english", CONS_English_f); //COM_AddCommand("english", CONS_English_f);
// set console full screen for game startup MAKE SURE VID_Init() done !!! // set console full screen for game startup MAKE SURE VID_Init() done !!!
Lock_state(); Lock_state();
...@@ -504,7 +504,7 @@ void CON_Init(void) ...@@ -504,7 +504,7 @@ void CON_Init(void)
CV_RegisterVar(&cons_height); CV_RegisterVar(&cons_height);
CV_RegisterVar(&cons_backpic); CV_RegisterVar(&cons_backpic);
CV_RegisterVar(&cons_backcolor); CV_RegisterVar(&cons_backcolor);
COM_AddCommand("bind", CONS_Bind_f, 0); COM_AddCommand("bind", "Bind a command to a button", CONS_Bind_f, 0);
} }
else else
{ {
...@@ -1557,13 +1557,6 @@ void CONS_Debug(INT32 debugflags, const char *fmt, ...) ...@@ -1557,13 +1557,6 @@ void CONS_Debug(INT32 debugflags, const char *fmt, ...)
// //
void CONS_Error(const char *msg) void CONS_Error(const char *msg)
{ {
#if defined(RPC_NO_WINDOWS_H) && defined(_WINDOWS)
if (!graphics_started)
{
MessageBoxA(vid.WndParent, msg, "SRB2 Warning", MB_OK);
return;
}
#endif
CONS_Printf("\x82%s", msg); // write error msg in different colour CONS_Printf("\x82%s", msg); // write error msg in different colour
CONS_Printf(M_GetText("Press ENTER to continue\n")); CONS_Printf(M_GetText("Press ENTER to continue\n"));
......
...@@ -37,7 +37,8 @@ extern boolean con_refresh; ...@@ -37,7 +37,8 @@ extern boolean con_refresh;
// 0 means console if off, or moving out // 0 means console if off, or moving out
extern INT32 con_destlines; extern INT32 con_destlines;
extern UINT32 con_scalefactor; // console text scale factor // console text scale factor
extern UINT32 con_scalefactor;
extern consvar_t cons_backcolor; extern consvar_t cons_backcolor;
......
...@@ -101,9 +101,6 @@ int SUBVERSION; ...@@ -101,9 +101,6 @@ int SUBVERSION;
// platform independant focus loss // platform independant focus loss
UINT8 window_notinfocus = false; UINT8 window_notinfocus = false;
static addfilelist_t startupwadfiles;
static addfilelist_t startuppwads;
boolean devparm = false; // started game with -devparm boolean devparm = false; // started game with -devparm
boolean singletics = false; // timedemo boolean singletics = false; // timedemo
...@@ -328,7 +325,7 @@ static void D_Display(void) ...@@ -328,7 +325,7 @@ static void D_Display(void)
// 4. The frame is ready to be drawn! // 4. The frame is ready to be drawn!
// Check for change of renderer or screen size (video mode) // Check for change of renderer or screen size (video mode)
if ((setrenderneeded || setmodeneeded) && !wipe) if (vid.change.set && !wipe)
SCR_SetMode(); // change video mode SCR_SetMode(); // change video mode
// Recalc the screen // Recalc the screen
...@@ -509,18 +506,20 @@ static void D_Display(void) ...@@ -509,18 +506,20 @@ static void D_Display(void)
// render the second screen // render the second screen
if (splitscreen && players[secondarydisplayplayer].mo) if (splitscreen && players[secondarydisplayplayer].mo)
{ {
viewwindowy = vid.height / 2; #ifdef HWRENDER
if (rendermode != render_soft)
#ifdef HWRENDER
if (rendermode == render_opengl)
HWR_RenderPlayerView(1, &players[secondarydisplayplayer]); HWR_RenderPlayerView(1, &players[secondarydisplayplayer]);
else else
#endif #endif
if (rendermode != render_none) if (rendermode != render_none)
{ {
viewwindowy = vid.height / 2;
topleft = screens[0] + viewwindowy*vid.width + viewwindowx; topleft = screens[0] + viewwindowy*vid.width + viewwindowx;
R_RenderPlayerView(&players[secondarydisplayplayer]); R_RenderPlayerView(&players[secondarydisplayplayer]);
viewwindowy = 0;
} }
viewwindowy = 0; viewwindowy = 0;
...@@ -1123,7 +1122,7 @@ static void ChangeDirForUrlHandler(void) ...@@ -1123,7 +1122,7 @@ static void ChangeDirForUrlHandler(void)
// Identify the SRB2 version, and IWAD file to use. // Identify the SRB2 version, and IWAD file to use.
// ========================================================================== // ==========================================================================
static void IdentifyVersion(void) static void IdentifyVersion(addfilelist_t *startupwadfiles)
{ {
char *srb2wad; char *srb2wad;
const char *srb2waddir = NULL; const char *srb2waddir = NULL;
...@@ -1166,7 +1165,7 @@ static void IdentifyVersion(void) ...@@ -1166,7 +1165,7 @@ static void IdentifyVersion(void)
// Load the IWAD // Load the IWAD
if (srb2wad != NULL && FIL_ReadFileOK(srb2wad)) if (srb2wad != NULL && FIL_ReadFileOK(srb2wad))
D_AddFile(&startupwadfiles, srb2wad); D_AddFile(startupwadfiles, srb2wad);
else else
I_Error("srb2.pk3 not found! Expected in %s, ss file: %s\n", srb2waddir, srb2wad); I_Error("srb2.pk3 not found! Expected in %s, ss file: %s\n", srb2waddir, srb2wad);
...@@ -1177,14 +1176,14 @@ static void IdentifyVersion(void) ...@@ -1177,14 +1176,14 @@ static void IdentifyVersion(void)
// checking in D_SRB2Main // checking in D_SRB2Main
// Add the maps // Add the maps
D_AddFile(&startupwadfiles, va(pandf,srb2waddir, "zones.pk3")); D_AddFile(startupwadfiles, va(pandf,srb2waddir, "zones.pk3"));
// Add the characters // Add the characters
D_AddFile(&startupwadfiles, va(pandf,srb2waddir, "characters.pk3")); D_AddFile(startupwadfiles, va(pandf,srb2waddir, "characters.pk3"));
#ifdef USE_PATCH_DTA #ifdef USE_PATCH_DTA
// Add our crappy patches to fix our bugs // Add our crappy patches to fix our bugs
D_AddFile(&startupwadfiles, va(pandf,srb2waddir, "patch.pk3")); D_AddFile(startupwadfiles, va(pandf,srb2waddir, "patch.pk3"));
#endif #endif
#if !defined (HAVE_SDL) || defined (HAVE_MIXER) #if !defined (HAVE_SDL) || defined (HAVE_MIXER)
...@@ -1194,7 +1193,7 @@ static void IdentifyVersion(void) ...@@ -1194,7 +1193,7 @@ static void IdentifyVersion(void)
const char *musicpath = va(pandf,srb2waddir,str);\ const char *musicpath = va(pandf,srb2waddir,str);\
int ms = W_VerifyNMUSlumps(musicpath, false); \ int ms = W_VerifyNMUSlumps(musicpath, false); \
if (ms == 1) \ if (ms == 1) \
D_AddFile(&startupwadfiles, musicpath); \ D_AddFile(startupwadfiles, musicpath); \
else if (ms == 0) \ else if (ms == 0) \
I_Error("File "str" has been modified with non-music/sound lumps"); \ I_Error("File "str" has been modified with non-music/sound lumps"); \
} }
...@@ -1239,6 +1238,14 @@ void D_SRB2Main(void) ...@@ -1239,6 +1238,14 @@ void D_SRB2Main(void)
INT32 pstartmap = 1; INT32 pstartmap = 1;
boolean autostart = false; boolean autostart = false;
addfilelist_t startupwads;
addfilelist_t startupwadfiles;
startupwads.files = NULL;
startupwads.numfiles = 0;
startupwadfiles.files = NULL;
startupwadfiles.numfiles = 0;
/* break the version string into version numbers, for netplay */ /* break the version string into version numbers, for netplay */
D_ConvertVersionNumbers(); D_ConvertVersionNumbers();
...@@ -1283,7 +1290,7 @@ void D_SRB2Main(void) ...@@ -1283,7 +1290,7 @@ void D_SRB2Main(void)
ChangeDirForUrlHandler(); ChangeDirForUrlHandler();
// identify the main IWAD file to use // identify the main IWAD file to use
IdentifyVersion(); IdentifyVersion(&startupwadfiles);
#if !defined(NOTERMIOS) #if !defined(NOTERMIOS)
setbuf(stdout, NULL); // non-buffered output setbuf(stdout, NULL); // non-buffered output
...@@ -1383,7 +1390,7 @@ void D_SRB2Main(void) ...@@ -1383,7 +1390,7 @@ void D_SRB2Main(void)
// Do this up here so that WADs loaded through the command line can use ExecCfg // Do this up here so that WADs loaded through the command line can use ExecCfg
COM_Init(); COM_Init();
COM_AddCommand("assert", Command_assert, COM_LUA); COM_AddCommand("assert", NULL, Command_assert, COM_LUA);
// Add any files specified on the command line with // Add any files specified on the command line with
// "-file <file>" or "-folder <folder>" to the add-on list // "-file <file>" or "-folder <folder>" to the add-on list
...@@ -1401,9 +1408,9 @@ void D_SRB2Main(void) ...@@ -1401,9 +1408,9 @@ void D_SRB2Main(void)
else if (myargv[i][0] == '-' || myargv[i][0] == '+') else if (myargv[i][0] == '-' || myargv[i][0] == '+')
addontype = 0; addontype = 0;
else if (addontype == 1) else if (addontype == 1)
D_AddFile(&startuppwads, myargv[i]); D_AddFile(&startupwads, myargv[i]);
else if (addontype == 2) else if (addontype == 2)
D_AddFolder(&startuppwads, myargv[i]); D_AddFolder(&startupwads, myargv[i]);
} }
} }
...@@ -1488,11 +1495,11 @@ void D_SRB2Main(void) ...@@ -1488,11 +1495,11 @@ void D_SRB2Main(void)
CON_StopRefresh(); // Temporarily stop refreshing the screen for wad loading CON_StopRefresh(); // Temporarily stop refreshing the screen for wad loading
if (startuppwads.numfiles) if (startupwads.numfiles)
{ {
CONS_Printf("W_InitMultipleFiles(): Adding extra PWADs.\n"); CONS_Printf("W_InitMultipleFiles(): Adding extra PWADs.\n");
W_InitMultipleFiles(&startuppwads); W_InitMultipleFiles(&startupwads);
D_CleanFile(&startuppwads); D_CleanFile(&startupwads);
} }
CON_StartRefresh(); // Restart the refresh! CON_StartRefresh(); // Restart the refresh!
...@@ -1513,7 +1520,7 @@ void D_SRB2Main(void) ...@@ -1513,7 +1520,7 @@ void D_SRB2Main(void)
G_LoadGameData(clientGamedata); G_LoadGameData(clientGamedata);
M_CopyGameData(serverGamedata, clientGamedata); M_CopyGameData(serverGamedata, clientGamedata);
VID_PrepareModeList(); // Regenerate Modelist according to cv_fullscreen allow_fullscreen = true;
// set user default mode or mode set at cmdline // set user default mode or mode set at cmdline
SCR_CheckDefaultMode(); SCR_CheckDefaultMode();
...@@ -1776,7 +1783,7 @@ const char *D_Home(void) ...@@ -1776,7 +1783,7 @@ const char *D_Home(void)
const char *userhome = NULL; const char *userhome = NULL;
#ifdef ANDROID #ifdef ANDROID
return "/data/data/org.srb2/"; return "/data/data/org.srb2classic/";
#endif #endif
if (M_CheckParm("-home") && M_IsNextParm()) if (M_CheckParm("-home") && M_IsNextParm())
...@@ -1865,8 +1872,8 @@ boolean D_IsPathAllowed(const char *path) ...@@ -1865,8 +1872,8 @@ boolean D_IsPathAllowed(const char *path)
// Sort folder paths by longest to shortest so // Sort folder paths by longest to shortest so
// overlapping paths work. E.g.: // overlapping paths work. E.g.:
// Path 1: /home/james/.srb2/addons // Path 1: /home/james/.srb2classic/addons
// Path 2: /home/james/.srb2 // Path 2: /home/james/.srb2classic
qsort(paths, n_paths, sizeof *paths, cmp_strlen_desc); qsort(paths, n_paths, sizeof *paths, cmp_strlen_desc);
// These paths are allowed to be absolute // These paths are allowed to be absolute
......
...@@ -7,7 +7,7 @@ rendermode_t chosenrendermode = render_none; ...@@ -7,7 +7,7 @@ rendermode_t chosenrendermode = render_none;
boolean allow_fullscreen = false; boolean allow_fullscreen = false;
consvar_t cv_vidwait = CVAR_INIT ("vid_wait", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_vidwait = CVAR_INIT ("vid_wait", "On", "Has no effect on this build", CV_SAVE, CV_OnOff, NULL);
void I_StartupGraphics(void){} void I_StartupGraphics(void){}
void I_ShutdownGraphics(void){} void I_ShutdownGraphics(void){}
...@@ -19,26 +19,6 @@ void I_SetPalette(RGBA_t *palette) ...@@ -19,26 +19,6 @@ void I_SetPalette(RGBA_t *palette)
(void)palette; (void)palette;
} }
INT32 VID_NumModes(void)
{
return 0;
}
INT32 VID_GetModeForSize(INT32 w, INT32 h)
{
(void)w;
(void)h;
return 0;
}
void VID_PrepareModeList(void){}
INT32 VID_SetMode(INT32 modenum)
{
(void)modenum;
return 0;
}
boolean VID_CheckRenderer(void) boolean VID_CheckRenderer(void)
{ {
return false; return false;
...@@ -49,12 +29,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender) ...@@ -49,12 +29,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender)
(void)oldrender; (void)oldrender;
} }
const char *VID_GetModeName(INT32 modenum)
{
(void)modenum;
return NULL;
}
UINT32 I_GetRefreshRate(void) { return 35; } UINT32 I_GetRefreshRate(void) { return 35; }
void I_UpdateNoBlit(void){} void I_UpdateNoBlit(void){}
...@@ -76,3 +50,15 @@ void I_ReadScreen(UINT8 *scr) ...@@ -76,3 +50,15 @@ void I_ReadScreen(UINT8 *scr)
void I_BeginRead(void){} void I_BeginRead(void){}
void I_EndRead(void){} void I_EndRead(void){}
void VID_SetSize(INT32 width, INT32 height)
{
(void)width;
(void)height;
}
boolean VID_IsMaximized(void)
{
return false;
}
void VID_RestoreWindow(void){}
...@@ -12,6 +12,10 @@ ...@@ -12,6 +12,10 @@
#include "deh_lua.h" #include "deh_lua.h"
#ifdef MUSICSLOT_COMPATIBILITY
#include "deh_soc.h" // for get_mus
#endif
// freeslot takes a name (string only!) // freeslot takes a name (string only!)
// and allocates it to the appropriate free slot. // and allocates it to the appropriate free slot.
// Returns the slot number allocated for it or nil if failed. // Returns the slot number allocated for it or nil if failed.
...@@ -519,6 +523,29 @@ static int ScanConstants(lua_State *L, boolean mathlib, const char *word) ...@@ -519,6 +523,29 @@ static int ScanConstants(lua_State *L, boolean mathlib, const char *word)
if (mathlib) return luaL_error(L, "sfx '%s' could not be found.\n", word); if (mathlib) return luaL_error(L, "sfx '%s' could not be found.\n", word);
return 0; return 0;
} }
#ifdef MUSICSLOT_COMPATIBILITY
else if (!mathlib && fastncmp("mus_",word,4)) {
p = word+4;
if ((i = get_mus(p, false)) == 0)
return 0;
lua_pushinteger(L, i);
return 1;
}
else if (mathlib && fastncmp("MUS_",word,4)) { // SOCs are ALL CAPS!
p = word+4;
if ((i = get_mus(p, false)) == 0)
return luaL_error(L, "music '%s' could not be found.\n", word);
lua_pushinteger(L, i);
return 1;
}
else if (mathlib && (fastncmp("O_",word,2) || fastncmp("D_",word,2))) {
p = word+2;
if ((i = get_mus(p, false)) == 0)
return luaL_error(L, "music '%s' could not be found.\n", word);
lua_pushinteger(L, i);
return 1;
}
#endif
else if (!mathlib && fastncmp("pw_",word,3)) { else if (!mathlib && fastncmp("pw_",word,3)) {
p = word+3; p = word+3;
for (i = 0; i < NUMPOWERS; i++) for (i = 0; i < NUMPOWERS; i++)
......
...@@ -1645,8 +1645,19 @@ void readlevelheader(MYFILE *f, INT32 num) ...@@ -1645,8 +1645,19 @@ void readlevelheader(MYFILE *f, INT32 num)
} }
} }
// TODO: 2.3: Delete // TODO: 2.3: Delete
#ifdef MUSICSLOT_COMPATIBILITY
else if (fastcmp(word, "MUSICSLOT")) else if (fastcmp(word, "MUSICSLOT"))
deh_warning("Level header %d: MusicSlot parameter is deprecated and will be removed.\nUse \"Music\" instead.", num); {
i = get_mus(word2, true);
if (i && i <= 1035)
snprintf(mapheaderinfo[num-1]->musname, 7, "%sM", G_BuildMapName(i));
else if (i && i <= 1050)
strncpy(mapheaderinfo[num-1]->musname, compat_special_music_slots[i - 1036], 7);
else
mapheaderinfo[num-1]->musname[0] = 0; // becomes empty string
mapheaderinfo[num-1]->musname[6] = 0;
}
#endif
else if (fastcmp(word, "MUSICTRACK")) else if (fastcmp(word, "MUSICTRACK"))
mapheaderinfo[num-1]->mustrack = ((UINT16)i - 1); mapheaderinfo[num-1]->mustrack = ((UINT16)i - 1);
else if (fastcmp(word, "MUSICPOS")) else if (fastcmp(word, "MUSICPOS"))
...@@ -2032,6 +2043,19 @@ static void readcutscenescene(MYFILE *f, INT32 num, INT32 scenenum) ...@@ -2032,6 +2043,19 @@ static void readcutscenescene(MYFILE *f, INT32 num, INT32 scenenum)
sizeof cutscenes[num]->scene[scenenum].musswitch, sizeof cutscenes[num]->scene[scenenum].musswitch,
va("Cutscene %d, scene %d: music", num + 1, scenenum + 1)); va("Cutscene %d, scene %d: music", num + 1, scenenum + 1));
} }
#ifdef MUSICSLOT_COMPATIBILITY
else if (fastcmp(word, "MUSICSLOT"))
{
i = get_mus(word2, true);
if (i && i <= 1035)
snprintf(cutscenes[num]->scene[scenenum].musswitch, 7, "%sM", G_BuildMapName(i));
else if (i && i <= 1050)
strncpy(cutscenes[num]->scene[scenenum].musswitch, compat_special_music_slots[i - 1036], 7);
else
cutscenes[num]->scene[scenenum].musswitch[0] = 0; // becomes empty string
cutscenes[num]->scene[scenenum].musswitch[6] = 0;
}
#endif
else if (fastcmp(word, "MUSICTRACK")) else if (fastcmp(word, "MUSICTRACK"))
{ {
cutscenes[num]->scene[scenenum].musswitchflags = ((UINT16)i) & MUSIC_TRACKMASK; cutscenes[num]->scene[scenenum].musswitchflags = ((UINT16)i) & MUSIC_TRACKMASK;
...@@ -2301,6 +2325,19 @@ static void readtextpromptpage(MYFILE *f, INT32 num, INT32 pagenum) ...@@ -2301,6 +2325,19 @@ static void readtextpromptpage(MYFILE *f, INT32 num, INT32 pagenum)
sizeof textprompts[num]->page[pagenum].musswitch, sizeof textprompts[num]->page[pagenum].musswitch,
va("Text prompt %d, page %d: music", num + 1, pagenum + 1)); va("Text prompt %d, page %d: music", num + 1, pagenum + 1));
} }
#ifdef MUSICSLOT_COMPATIBILITY
else if (fastcmp(word, "MUSICSLOT"))
{
i = get_mus(word2, true);
if (i && i <= 1035)
snprintf(textprompts[num]->page[pagenum].musswitch, 7, "%sM", G_BuildMapName(i));
else if (i && i <= 1050)
strncpy(textprompts[num]->page[pagenum].musswitch, compat_special_music_slots[i - 1036], 7);
else
textprompts[num]->page[pagenum].musswitch[0] = 0; // becomes empty string
textprompts[num]->page[pagenum].musswitch[6] = 0;
}
#endif
else if (fastcmp(word, "MUSICTRACK")) else if (fastcmp(word, "MUSICTRACK"))
{ {
textprompts[num]->page[pagenum].musswitchflags = ((UINT16)i) & MUSIC_TRACKMASK; textprompts[num]->page[pagenum].musswitchflags = ((UINT16)i) & MUSIC_TRACKMASK;
...@@ -2642,6 +2679,20 @@ void readmenu(MYFILE *f, INT32 num) ...@@ -2642,6 +2679,20 @@ void readmenu(MYFILE *f, INT32 num)
sizeof menupres[num].musname, va("Menu %d: music", num)); sizeof menupres[num].musname, va("Menu %d: music", num));
titlechanged = true; titlechanged = true;
} }
#ifdef MUSICSLOT_COMPATIBILITY
else if (fastcmp(word, "MUSICSLOT"))
{
value = get_mus(word2, true);
if (value && value <= 1035)
snprintf(menupres[num].musname, 7, "%sM", G_BuildMapName(value));
else if (value && value <= 1050)
strncpy(menupres[num].musname, compat_special_music_slots[value - 1036], 7);
else
menupres[num].musname[0] = 0; // becomes empty string
menupres[num].musname[6] = 0;
titlechanged = true;
}
#endif
else if (fastcmp(word, "MUSICTRACK")) else if (fastcmp(word, "MUSICTRACK"))
{ {
menupres[num].mustrack = ((UINT16)value - 1); menupres[num].mustrack = ((UINT16)value - 1);
...@@ -4255,6 +4306,46 @@ sfxenum_t get_sfx(const char *word) ...@@ -4255,6 +4306,46 @@ sfxenum_t get_sfx(const char *word)
return sfx_None; return sfx_None;
} }
#ifdef MUSICSLOT_COMPATIBILITY
UINT16 get_mus(const char *word, UINT8 dehacked_mode)
{ // Returns the value of MUS_ enumerations
UINT16 i;
char lumptmp[4];
if (*word >= '0' && *word <= '9')
return atoi(word);
if (!word[2] && toupper(word[0]) >= 'A' && toupper(word[0]) <= 'Z')
return (UINT16)M_MapNumber(word[0], word[1]);
if (fastncmp("MUS_",word,4))
word += 4; // take off the MUS_
else if (fastncmp("O_",word,2) || fastncmp("D_",word,2))
word += 2; // take off the O_ or D_
strncpy(lumptmp, word, 4);
lumptmp[3] = 0;
if (fasticmp("MAP",lumptmp))
{
word += 3;
if (toupper(word[0]) >= 'A' && toupper(word[0]) <= 'Z')
return (UINT16)M_MapNumber(word[0], word[1]);
else if ((i = atoi(word)))
return i;
word -= 3;
if (dehacked_mode)
deh_warning("Couldn't find music named 'MUS_%s'",word);
return 0;
}
for (i = 0; compat_special_music_slots[i][0]; ++i)
if (fasticmp(word, compat_special_music_slots[i]))
return i + 1036;
if (dehacked_mode)
deh_warning("Couldn't find music named 'MUS_%s'",word);
return 0;
}
#endif
hudnum_t get_huditem(const char *word) hudnum_t get_huditem(const char *word)
{ // Returns the value of HUD_ enumerations { // Returns the value of HUD_ enumerations
hudnum_t i; hudnum_t i;
...@@ -4485,6 +4576,13 @@ static fixed_t find_const(const char **rword) ...@@ -4485,6 +4576,13 @@ static fixed_t find_const(const char **rword)
free(word); free(word);
return r; return r;
} }
#ifdef MUSICSLOT_COMPATIBILITY
else if (fastncmp("MUS_",word,4) || fastncmp("O_",word,2)) {
r = get_mus(word, true);
free(word);
return r;
}
#endif
else if (fastncmp("PW_",word,3)) { else if (fastncmp("PW_",word,3)) {
r = get_power(word); r = get_power(word);
free(word); free(word);
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#include "info.h" #include "info.h"
#include "dehacked.h" #include "dehacked.h"
#include "doomdef.h" // HWRENDER #include "doomdef.h" // MUSICSLOT_COMPATIBILITY, HWRENDER
// Crazy word-reading stuff // Crazy word-reading stuff
/// \todo Put these in a seperate file or something. /// \todo Put these in a seperate file or something.
...@@ -52,6 +52,9 @@ statenum_t get_state(const char *word); ...@@ -52,6 +52,9 @@ statenum_t get_state(const char *word);
spritenum_t get_sprite(const char *word); spritenum_t get_sprite(const char *word);
playersprite_t get_sprite2(const char *word); playersprite_t get_sprite2(const char *word);
sfxenum_t get_sfx(const char *word); sfxenum_t get_sfx(const char *word);
#ifdef MUSICSLOT_COMPATIBILITY
UINT16 get_mus(const char *word, UINT8 dehacked_mode);
#endif
hudnum_t get_huditem(const char *word); hudnum_t get_huditem(const char *word);
menutype_t get_menutype(const char *word); menutype_t get_menutype(const char *word);
//INT16 get_gametype(const char *word); //INT16 get_gametype(const char *word);
......
...@@ -490,9 +490,9 @@ enum { ...@@ -490,9 +490,9 @@ enum {
// Name of local directory for config files and savegames // Name of local directory for config files and savegames
#if (defined (__unix__) || defined (UNIXCOMMON)) && !defined (__CYGWIN__) && !defined (__APPLE__) #if (defined (__unix__) || defined (UNIXCOMMON)) && !defined (__CYGWIN__) && !defined (__APPLE__)
#define DEFAULTDIR ".srb2" #define DEFAULTDIR ".srb2classic"
#else #else
#define DEFAULTDIR "srb2" #define DEFAULTDIR "srb2classic"
#endif #endif
#include "g_state.h" #include "g_state.h"
...@@ -708,6 +708,10 @@ extern int ...@@ -708,6 +708,10 @@ extern int
/// Experimental tweaks to analog mode. (Needs a lot of work before it's ready for primetime.) /// Experimental tweaks to analog mode. (Needs a lot of work before it's ready for primetime.)
//#define REDSANALOG //#define REDSANALOG
/// Backwards compatibility with musicslots.
/// \note You should leave this enabled unless you're working with a future SRB2 version.
#define MUSICSLOT_COMPATIBILITY
/// Experimental attempts at preventing MF_PAPERCOLLISION objects from getting stuck in walls. /// Experimental attempts at preventing MF_PAPERCOLLISION objects from getting stuck in walls.
//#define PAPER_COLLISIONCORRECTION //#define PAPER_COLLISIONCORRECTION
......
...@@ -130,7 +130,7 @@ extern postimg_t postimgtype2; ...@@ -130,7 +130,7 @@ extern postimg_t postimgtype2;
extern INT32 postimgparam2; extern INT32 postimgparam2;
extern INT32 viewwindowx, viewwindowy; extern INT32 viewwindowx, viewwindowy;
extern INT32 viewwidth, scaledviewwidth; extern INT32 viewwidth;
// Player taking events, and displaying. // Player taking events, and displaying.
extern INT32 consoleplayer; extern INT32 consoleplayer;
......
...@@ -2,5 +2,6 @@ ...@@ -2,5 +2,6 @@
boolean I_InitNetwork(void) boolean I_InitNetwork(void)
{ {
// NOTE: this is no longer used.
return false; return false;
} }
...@@ -106,8 +106,8 @@ UINT32 I_GetSongLength(void) ...@@ -106,8 +106,8 @@ UINT32 I_GetSongLength(void)
boolean I_SetSongLoopPoint(UINT32 looppoint) boolean I_SetSongLoopPoint(UINT32 looppoint)
{ {
(void)looppoint; (void)looppoint;
return false; return false;
} }
UINT32 I_GetSongLoopPoint(void) UINT32 I_GetSongLoopPoint(void)
...@@ -117,13 +117,13 @@ UINT32 I_GetSongLoopPoint(void) ...@@ -117,13 +117,13 @@ UINT32 I_GetSongLoopPoint(void)
boolean I_SetSongPosition(UINT32 position) boolean I_SetSongPosition(UINT32 position)
{ {
(void)position; (void)position;
return false; return false;
} }
UINT32 I_GetSongPosition(void) UINT32 I_GetSongPosition(void)
{ {
return 0; return 0;
} }
/// ------------------------ /// ------------------------
...@@ -208,7 +208,7 @@ boolean I_FadeOutStopSong(UINT32 ms) ...@@ -208,7 +208,7 @@ boolean I_FadeOutStopSong(UINT32 ms)
boolean I_FadeInPlaySong(UINT32 ms, boolean looping) boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
{ {
(void)ms; (void)ms;
(void)looping; (void)looping;
return false; return false;
} }
...@@ -19,26 +19,6 @@ void I_SetPalette(RGBA_t *palette) ...@@ -19,26 +19,6 @@ void I_SetPalette(RGBA_t *palette)
(void)palette; (void)palette;
} }
INT32 VID_NumModes(void)
{
return 0;
}
INT32 VID_GetModeForSize(INT32 w, INT32 h)
{
(void)w;
(void)h;
return 0;
}
void VID_PrepareModeList(void){}
INT32 VID_SetMode(INT32 modenum)
{
(void)modenum;
return 0;
}
boolean VID_CheckRenderer(void) boolean VID_CheckRenderer(void)
{ {
return false; return false;
...@@ -49,12 +29,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender) ...@@ -49,12 +29,6 @@ void VID_CheckGLLoaded(rendermode_t oldrender)
(void)oldrender; (void)oldrender;
} }
const char *VID_GetModeName(INT32 modenum)
{
(void)modenum;
return NULL;
}
UINT32 I_GetRefreshRate(void) { return 35; } UINT32 I_GetRefreshRate(void) { return 35; }
void I_UpdateNoBlit(void){} void I_UpdateNoBlit(void){}
......
...@@ -1063,6 +1063,7 @@ static const char *credits[] = { ...@@ -1063,6 +1063,7 @@ static const char *credits[] = {
"\"Golden\"", "\"Golden\"",
"Vivian \"toaster\" Grannell", "Vivian \"toaster\" Grannell",
"Julio \"Chaos Zero 64\" Guir", "Julio \"Chaos Zero 64\" Guir",
"\"chromaticpipe\"",
"\"Hanicef\"", "\"Hanicef\"",
"\"Hannu_Hanhi\"", // For many OpenGL performance improvements! "\"Hannu_Hanhi\"", // For many OpenGL performance improvements!
"\"hazepastel\"", "\"hazepastel\"",
...@@ -1078,6 +1079,7 @@ static const char *credits[] = { ...@@ -1078,6 +1079,7 @@ static const char *credits[] = {
"Steven \"StroggOnMeth\" McGranahan", "Steven \"StroggOnMeth\" McGranahan",
"\"Morph\"", // For SRB2Morphed stuff "\"Morph\"", // For SRB2Morphed stuff
"Louis-Antoine \"LJ Sonic\" de Moulins", // de Rochefort doesn't quite fit on the screen sorry lol "Louis-Antoine \"LJ Sonic\" de Moulins", // de Rochefort doesn't quite fit on the screen sorry lol
"\"Lugent\"",
"John \"JTE\" Muniz", "John \"JTE\" Muniz",
"Colin \"Sonict\" Pfaff", "Colin \"Sonict\" Pfaff",
"\"Radicalicious\"", "\"Radicalicious\"",
......
...@@ -357,18 +357,18 @@ static CV_PossibleValue_t addons_cons_t[] = {{0, "Default"}, ...@@ -357,18 +357,18 @@ static CV_PossibleValue_t addons_cons_t[] = {{0, "Default"},
#endif #endif
{3, "CUSTOM"}, {0, NULL}}; {3, "CUSTOM"}, {0, NULL}};
consvar_t cv_addons_option = CVAR_INIT ("addons_option", "Default", CV_SAVE|CV_CALL, addons_cons_t, Addons_option_Onchange); consvar_t cv_addons_option = CVAR_INIT ("addons_option", "Default", NULL, CV_SAVE|CV_CALL, addons_cons_t, Addons_option_Onchange);
consvar_t cv_addons_folder = CVAR_INIT ("addons_folder", "", CV_SAVE, NULL, NULL); consvar_t cv_addons_folder = CVAR_INIT ("addons_folder", "", NULL, CV_SAVE, NULL, NULL);
static CV_PossibleValue_t addons_md5_cons_t[] = {{0, "Name"}, {1, "Contents"}, {0, NULL}}; static CV_PossibleValue_t addons_md5_cons_t[] = {{0, "Name"}, {1, "Contents"}, {0, NULL}};
consvar_t cv_addons_md5 = CVAR_INIT ("addons_md5", "Name", CV_SAVE, addons_md5_cons_t, NULL); consvar_t cv_addons_md5 = CVAR_INIT ("addons_md5", "Name", NULL, CV_SAVE, addons_md5_cons_t, NULL);
consvar_t cv_addons_showall = CVAR_INIT ("addons_showall", "No", CV_SAVE, CV_YesNo, NULL); consvar_t cv_addons_showall = CVAR_INIT ("addons_showall", "No", NULL, CV_SAVE, CV_YesNo, NULL);
consvar_t cv_addons_search_case = CVAR_INIT ("addons_search_case", "No", CV_SAVE, CV_YesNo, NULL); consvar_t cv_addons_search_case = CVAR_INIT ("addons_search_case", "No", NULL, CV_SAVE, CV_YesNo, NULL);
static CV_PossibleValue_t addons_search_type_cons_t[] = {{0, "Start"}, {1, "Anywhere"}, {0, NULL}}; static CV_PossibleValue_t addons_search_type_cons_t[] = {{0, "Start"}, {1, "Anywhere"}, {0, NULL}};
consvar_t cv_addons_search_type = CVAR_INIT ("addons_search_type", "Anywhere", CV_SAVE, addons_search_type_cons_t, NULL); consvar_t cv_addons_search_type = CVAR_INIT ("addons_search_type", "Anywhere", NULL, CV_SAVE, addons_search_type_cons_t, NULL);
char menupath[1024]; char menupath[1024];
size_t menupathindex[menudepth]; size_t menupathindex[menudepth];
......
...@@ -67,7 +67,7 @@ static UINT8 *metalbuffer = NULL; ...@@ -67,7 +67,7 @@ static UINT8 *metalbuffer = NULL;
static UINT8 *metal_p; static UINT8 *metal_p;
static UINT16 metalversion; static UINT16 metalversion;
consvar_t cv_resyncdemo = CVAR_INIT("resyncdemo", "On", 0, CV_OnOff, NULL); consvar_t cv_resyncdemo = CVAR_INIT("resyncdemo", "On", NULL, 0, CV_OnOff, NULL);
// extra data stuff (events registered this frame while recording) // extra data stuff (events registered this frame while recording)
static struct { static struct {
...@@ -2838,7 +2838,7 @@ static void G_StopTimingDemo(void) ...@@ -2838,7 +2838,7 @@ static void G_StopTimingDemo(void)
{ {
FILE *f; FILE *f;
const char *csvpath = va("%s"PATHSEP"%s", srb2home, "timedemo.csv"); const char *csvpath = va("%s"PATHSEP"%s", srb2home, "timedemo.csv");
const char *header = "id,demoname,seconds,avgfps,leveltime,demotime,framecount,ticrate,rendermode,vidmode,vidwidth,vidheight,procbits\n"; const char *header = "id,demoname,seconds,avgfps,leveltime,demotime,framecount,ticrate,rendermode,vidwidth,vidheight,procbits\n";
const char *rowformat = "\"%s\",\"%s\",%f,%f,%u,%d,%u,%u,%u,%u,%u,%u,%u\n"; const char *rowformat = "\"%s\",\"%s\",%f,%f,%u,%d,%u,%u,%u,%u,%u,%u,%u\n";
boolean headerrow = !FIL_FileExists(csvpath); boolean headerrow = !FIL_FileExists(csvpath);
UINT8 procbits = 0; UINT8 procbits = 0;
...@@ -2856,7 +2856,7 @@ static void G_StopTimingDemo(void) ...@@ -2856,7 +2856,7 @@ static void G_StopTimingDemo(void)
if (headerrow) if (headerrow)
fputs(header, f); fputs(header, f);
fprintf(f, rowformat, fprintf(f, rowformat,
timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.modenum,vid.width,vid.height,procbits); timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.width,vid.height,procbits);
fclose(f); fclose(f);
CONS_Printf("Timedemo results saved to '%s'\n", csvpath); CONS_Printf("Timedemo results saved to '%s'\n", csvpath);
} }
...@@ -2865,7 +2865,7 @@ static void G_StopTimingDemo(void) ...@@ -2865,7 +2865,7 @@ static void G_StopTimingDemo(void)
// Just print the CSV output to console // Just print the CSV output to console
CON_LogMessage(header); CON_LogMessage(header);
CONS_Printf(rowformat, CONS_Printf(rowformat,
timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.modenum,vid.width,vid.height,procbits); timedemo_csv_id,timedemo_name,f1/TICRATE,f2/f1,leveltime,demotime,(UINT32)framecount,TICRATE,rendermode,vid.width,vid.height,procbits);
} }
} }
......
...@@ -287,105 +287,96 @@ static CV_PossibleValue_t joyaxis_cons_t[] = {{0, "None"}, ...@@ -287,105 +287,96 @@ static CV_PossibleValue_t joyaxis_cons_t[] = {{0, "None"},
// don't mind me putting these here, I was lazy to figure out where else I could put those without blowing up the compiler. // don't mind me putting these here, I was lazy to figure out where else I could put those without blowing up the compiler.
// it automatically becomes compact with 20+ players, but if you like it, I guess you can turn that on! consvar_t cv_compactscoreboard= CVAR_INIT ("compactscoreboard", "Off", "If on, always display the scoreboard in a compact format", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_compactscoreboard= CVAR_INIT ("compactscoreboard", "Off", CV_SAVE, CV_OnOff, NULL);
// chat timer thingy
static CV_PossibleValue_t chattime_cons_t[] = {{5, "MIN"}, {999, "MAX"}, {0, NULL}}; static CV_PossibleValue_t chattime_cons_t[] = {{5, "MIN"}, {999, "MAX"}, {0, NULL}};
consvar_t cv_chattime = CVAR_INIT ("chattime", "8", CV_SAVE, chattime_cons_t, NULL); consvar_t cv_chattime = CVAR_INIT ("chattime", "8", "How long chat messages will remain before fading away", CV_SAVE, chattime_cons_t, NULL);
// chatwidth
static CV_PossibleValue_t chatwidth_cons_t[] = {{64, "MIN"}, {300, "MAX"}, {0, NULL}}; static CV_PossibleValue_t chatwidth_cons_t[] = {{64, "MIN"}, {300, "MAX"}, {0, NULL}};
consvar_t cv_chatwidth = CVAR_INIT ("chatwidth", "150", CV_SAVE, chatwidth_cons_t, NULL); consvar_t cv_chatwidth = CVAR_INIT ("chatwidth", "150", "Width, in pixels, of the chat window", CV_SAVE, chatwidth_cons_t, NULL);
// chatheight
static CV_PossibleValue_t chatheight_cons_t[] = {{6, "MIN"}, {22, "MAX"}, {0, NULL}}; static CV_PossibleValue_t chatheight_cons_t[] = {{6, "MIN"}, {22, "MAX"}, {0, NULL}};
consvar_t cv_chatheight= CVAR_INIT ("chatheight", "8", CV_SAVE, chatheight_cons_t, NULL); consvar_t cv_chatheight= CVAR_INIT ("chatheight", "8", "Height, in lines, of the chat window", CV_SAVE, chatheight_cons_t, NULL);
// chat notifications (do you want to hear beeps? I'd understand if you didn't.) consvar_t cv_chatnotifications= CVAR_INIT ("chatnotifications", "On", "Play a notification sound when a chat message is sent", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_chatnotifications= CVAR_INIT ("chatnotifications", "On", CV_SAVE, CV_OnOff, NULL);
// chat spam protection (why would you want to disable that???) consvar_t cv_chatspamprotection= CVAR_INIT ("chatspamprotection", "On", "Filter excessive messages from a player", CV_SAVE|CV_NETVAR, CV_OnOff, NULL);
consvar_t cv_chatspamprotection= CVAR_INIT ("chatspamprotection", "On", CV_SAVE|CV_NETVAR, CV_OnOff, NULL); consvar_t cv_chatspamspeed= CVAR_INIT ("chatspamspeed", "35", "The frequency, in tics, a player is allowed to send messages in before being filtered", CV_SAVE|CV_NETVAR, CV_Unsigned, NULL);
consvar_t cv_chatspamspeed= CVAR_INIT ("chatspamspeed", "35", CV_SAVE|CV_NETVAR, CV_Unsigned, NULL); consvar_t cv_chatspamburst= CVAR_INIT ("chatspamburst", "3", "The amount of messages a player is allowed to send in bursts before being filtered", CV_SAVE|CV_NETVAR, CV_Unsigned, NULL);
consvar_t cv_chatspamburst= CVAR_INIT ("chatspamburst", "3", CV_SAVE|CV_NETVAR, CV_Unsigned, NULL);
// minichat text background consvar_t cv_chatbacktint = CVAR_INIT ("chatbacktint", "On", "Adds a background color on chat messages", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_chatbacktint = CVAR_INIT ("chatbacktint", "On", CV_SAVE, CV_OnOff, NULL);
// old shit console chat. (mostly exists for stuff like terminal, not because I cared if anyone liked the old chat.)
static CV_PossibleValue_t consolechat_cons_t[] = {{0, "Window"}, {1, "Console"}, {2, "Window (Hidden)"}, {0, NULL}}; static CV_PossibleValue_t consolechat_cons_t[] = {{0, "Window"}, {1, "Console"}, {2, "Window (Hidden)"}, {0, NULL}};
consvar_t cv_consolechat = CVAR_INIT ("chatmode", "Window", CV_SAVE, consolechat_cons_t, NULL); consvar_t cv_consolechat = CVAR_INIT ("chatmode", "Window", "How chat is presented to the user", CV_SAVE, consolechat_cons_t, NULL);
// Pause game upon window losing focus consvar_t cv_pauseifunfocused = CVAR_INIT ("pauseifunfocused", "Yes", "Automatically pause the game in singleplayer if window focus is lost", CV_SAVE, CV_YesNo, NULL);
consvar_t cv_pauseifunfocused = CVAR_INIT ("pauseifunfocused", "Yes", CV_SAVE, CV_YesNo, NULL);
consvar_t cv_instantretry = CVAR_INIT ("instantretry", "No", CV_SAVE, CV_YesNo, NULL); consvar_t cv_instantretry = CVAR_INIT ("instantretry", "No", NULL, CV_SAVE, CV_YesNo, NULL);
consvar_t cv_crosshair = CVAR_INIT ("crosshair", "Cross", CV_SAVE, crosshair_cons_t, NULL); consvar_t cv_crosshair = CVAR_INIT ("crosshair", "Cross", "What crosshair to use in first-person", CV_SAVE, crosshair_cons_t, NULL);
consvar_t cv_crosshair2 = CVAR_INIT ("crosshair2", "Cross", CV_SAVE, crosshair_cons_t, NULL); consvar_t cv_crosshair2 = CVAR_INIT ("crosshair2", "Cross", "What crosshair to use in first-person for player 2", CV_SAVE, crosshair_cons_t, NULL);
consvar_t cv_invertmouse = CVAR_INIT ("invertmouse", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_invertmouse = CVAR_INIT ("invertmouse", "Off", "If mouse input should be inverted", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_alwaysfreelook = CVAR_INIT ("alwaysmlook", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_invertmouse2 = CVAR_INIT ("invertmouse2", "Off", "If mouse input should be inverted for player 2", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_invertmouse2 = CVAR_INIT ("invertmouse2", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_alwaysfreelook = CVAR_INIT ("alwaysmlook", "On", "Allow looking vertically with the mouse", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_alwaysfreelook2 = CVAR_INIT ("alwaysmlook2", "On", CV_SAVE, CV_OnOff, NULL); consvar_t cv_alwaysfreelook2 = CVAR_INIT ("alwaysmlook2", "On", "Allow looking vertically with the mouse for player 2", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_chasefreelook = CVAR_INIT ("chasemlook", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_chasefreelook = CVAR_INIT ("chasemlook", "Off", NULL, CV_SAVE, CV_OnOff, NULL);
consvar_t cv_chasefreelook2 = CVAR_INIT ("chasemlook2", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_chasefreelook2 = CVAR_INIT ("chasemlook2", "Off", NULL, CV_SAVE, CV_OnOff, NULL);
consvar_t cv_mousemove = CVAR_INIT ("mousemove", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_mousemove = CVAR_INIT ("mousemove", "Off", "If enabled, vertical mouse movement will move the character", CV_SAVE, CV_OnOff, NULL);
consvar_t cv_mousemove2 = CVAR_INIT ("mousemove2", "Off", CV_SAVE, CV_OnOff, NULL); consvar_t cv_mousemove2 = CVAR_INIT ("mousemove2", "Off", "If enabled, vertical mouse movement will move the character for player 2", CV_SAVE, CV_OnOff, NULL);
// previously "analog", "analog2", "useranalog", and "useranalog2", invalidating 2.1-era copies of config.cfg // previously "analog", "analog2", "useranalog", and "useranalog2", invalidating 2.1-era copies of config.cfg
// changed because it'd be nice to see people try out our actually good controls with gamepads now autobrake exists // changed because it'd be nice to see people try out our actually good controls with gamepads now autobrake exists
consvar_t cv_analog[2] = { consvar_t cv_analog[2] = {
CVAR_INIT ("sessionanalog", "Off", CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog_OnChange), CVAR_INIT ("sessionanalog", "Off", NULL, CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog_OnChange),
CVAR_INIT ("sessionanalog2", "Off", CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog2_OnChange), CVAR_INIT ("sessionanalog2", "Off", NULL, CV_CALL|CV_NOSHOWHELP, CV_OnOff, Analog2_OnChange),
}; };
consvar_t cv_useranalog[2] = { consvar_t cv_useranalog[2] = {
CVAR_INIT ("configanalog", "On", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog_OnChange), CVAR_INIT ("configanalog", "On", NULL, CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog_OnChange),
CVAR_INIT ("configanalog2", "On", CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog2_OnChange), CVAR_INIT ("configanalog2", "On", NULL, CV_SAVE|CV_CALL|CV_NOSHOWHELP, CV_OnOff, UserAnalog2_OnChange),
}; };
// deez New User eXperiences // deez New User eXperiences
static CV_PossibleValue_t directionchar_cons_t[] = {{0, "Camera"}, {1, "Movement"}, {2, "Simple Locked"}, {0, NULL}}; static CV_PossibleValue_t directionchar_cons_t[] = {{0, "Camera"}, {1, "Movement"}, {2, "Simple Locked"}, {0, NULL}};
consvar_t cv_directionchar[2] = { consvar_t cv_directionchar[2] = {
CVAR_INIT ("directionchar", "Movement", CV_SAVE|CV_CALL, directionchar_cons_t, DirectionChar_OnChange), CVAR_INIT ("directionchar", "Movement", "How the character will look relative to the camera", CV_SAVE|CV_CALL, directionchar_cons_t, DirectionChar_OnChange),
CVAR_INIT ("directionchar2", "Movement", CV_SAVE|CV_CALL, directionchar_cons_t, DirectionChar2_OnChange), CVAR_INIT ("directionchar2", "Movement", "How the character will look relative to the camera for playre 2", CV_SAVE|CV_CALL, directionchar_cons_t, DirectionChar2_OnChange),
}; };
consvar_t cv_autobrake = CVAR_INIT ("autobrake", "On", CV_SAVE|CV_CALL, CV_OnOff, AutoBrake_OnChange); consvar_t cv_autobrake = CVAR_INIT ("autobrake", "On", "Automatically brake when no movement input is given", CV_SAVE|CV_CALL, CV_OnOff, AutoBrake_OnChange);
consvar_t cv_autobrake2 = CVAR_INIT ("autobrake2", "On", CV_SAVE|CV_CALL, CV_OnOff, AutoBrake2_OnChange); consvar_t cv_autobrake2 = CVAR_INIT ("autobrake2", "On", "Automatically brake when no movement input is given for player 2", CV_SAVE|CV_CALL, CV_OnOff, AutoBrake2_OnChange);
// hi here's some new controls // hi here's some new controls
static CV_PossibleValue_t zerotoone_cons_t[] = {{0, "MIN"}, {FRACUNIT, "MAX"}, {0, NULL}}; static CV_PossibleValue_t zerotoone_cons_t[] = {{0, "MIN"}, {FRACUNIT, "MAX"}, {0, NULL}};
consvar_t cv_cam_shiftfacing[2] = { consvar_t cv_cam_shiftfacing[2] = {
CVAR_INIT ("cam_shiftfacingchar", "0.375", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam_shiftfacingchar", "0.375", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_shiftfacingchar", "0.375", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_shiftfacingchar", "0.375", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacing[2] = { consvar_t cv_cam_turnfacing[2] = {
CVAR_INIT ("cam_turnfacingchar", "0.25", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacingchar", "0.25", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacingchar", "0.25", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacingchar", "0.25", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacingability[2] = { consvar_t cv_cam_turnfacingability[2] = {
CVAR_INIT ("cam_turnfacingability", "0.125", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacingability", "0.125", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacingability", "0.125", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacingability", "0.125", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacingspindash[2] = { consvar_t cv_cam_turnfacingspindash[2] = {
CVAR_INIT ("cam_turnfacingspindash", "0.25", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacingspindash", "0.25", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacingspindash", "0.25", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacingspindash", "0.25", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
}; };
consvar_t cv_cam_turnfacinginput[2] = { consvar_t cv_cam_turnfacinginput[2] = {
CVAR_INIT ("cam_turnfacinginput", "0.375", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam_turnfacinginput", "0.375", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
CVAR_INIT ("cam2_turnfacinginput", "0.375", CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL), CVAR_INIT ("cam2_turnfacinginput", "0.375", NULL, CV_FLOAT|CV_SAVE|CV_ALLOWLUA, zerotoone_cons_t, NULL),
}; };
static CV_PossibleValue_t centertoggle_cons_t[] = {{0, "Hold"}, {1, "Toggle"}, {2, "Sticky Hold"}, {0, NULL}}; static CV_PossibleValue_t centertoggle_cons_t[] = {{0, "Hold"}, {1, "Toggle"}, {2, "Sticky Hold"}, {0, NULL}};
consvar_t cv_cam_centertoggle[2] = { consvar_t cv_cam_centertoggle[2] = {
CVAR_INIT ("cam_centertoggle", "Hold", CV_SAVE|CV_ALLOWLUA, centertoggle_cons_t, NULL), CVAR_INIT ("cam_centertoggle", "Hold", NULL, CV_SAVE|CV_ALLOWLUA, centertoggle_cons_t, NULL),
CVAR_INIT ("cam2_centertoggle", "Hold", CV_SAVE|CV_ALLOWLUA, centertoggle_cons_t, NULL), CVAR_INIT ("cam2_centertoggle", "Hold", NULL, CV_SAVE|CV_ALLOWLUA, centertoggle_cons_t, NULL),
}; };
static CV_PossibleValue_t lockedinput_cons_t[] = {{0, "Strafe"}, {1, "Turn"}, {0, NULL}}; static CV_PossibleValue_t lockedinput_cons_t[] = {{0, "Strafe"}, {1, "Turn"}, {0, NULL}};
consvar_t cv_cam_lockedinput[2] = { consvar_t cv_cam_lockedinput[2] = {
CVAR_INIT ("cam_lockedinput", "Strafe", CV_SAVE|CV_ALLOWLUA, lockedinput_cons_t, NULL), CVAR_INIT ("cam_lockedinput", "Strafe", NULL, CV_SAVE|CV_ALLOWLUA, lockedinput_cons_t, NULL),
CVAR_INIT ("cam2_lockedinput", "Strafe", CV_SAVE|CV_ALLOWLUA, lockedinput_cons_t, NULL), CVAR_INIT ("cam2_lockedinput", "Strafe", NULL, CV_SAVE|CV_ALLOWLUA, lockedinput_cons_t, NULL),
}; };
static CV_PossibleValue_t lockedassist_cons_t[] = { static CV_PossibleValue_t lockedassist_cons_t[] = {
...@@ -397,31 +388,31 @@ static CV_PossibleValue_t lockedassist_cons_t[] = { ...@@ -397,31 +388,31 @@ static CV_PossibleValue_t lockedassist_cons_t[] = {
{0, NULL} {0, NULL}
}; };
consvar_t cv_cam_lockonboss[2] = { consvar_t cv_cam_lockonboss[2] = {
CVAR_INIT ("cam_lockaimassist", "Full", CV_SAVE|CV_ALLOWLUA, lockedassist_cons_t, NULL), CVAR_INIT ("cam_lockaimassist", "Full", NULL, CV_SAVE|CV_ALLOWLUA, lockedassist_cons_t, NULL),
CVAR_INIT ("cam2_lockaimassist", "Full", CV_SAVE|CV_ALLOWLUA, lockedassist_cons_t, NULL), CVAR_INIT ("cam2_lockaimassist", "Full", NULL, CV_SAVE|CV_ALLOWLUA, lockedassist_cons_t, NULL),
}; };
consvar_t cv_moveaxis = CVAR_INIT ("joyaxis_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_moveaxis = CVAR_INIT ("joyaxis_move", "Y-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_sideaxis = CVAR_INIT ("joyaxis_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_sideaxis = CVAR_INIT ("joyaxis_side", "X-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_lookaxis = CVAR_INIT ("joyaxis_look", "X-Rudder-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_lookaxis = CVAR_INIT ("joyaxis_look", "X-Rudder-", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_turnaxis = CVAR_INIT ("joyaxis_turn", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_turnaxis = CVAR_INIT ("joyaxis_turn", "Z-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_jumpaxis = CVAR_INIT ("joyaxis_jump", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_jumpaxis = CVAR_INIT ("joyaxis_jump", "None", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_spinaxis = CVAR_INIT ("joyaxis_spin", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_spinaxis = CVAR_INIT ("joyaxis_spin", "None", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_fireaxis = CVAR_INIT ("joyaxis_fire", "Z-Rudder", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_fireaxis = CVAR_INIT ("joyaxis_fire", "Z-Rudder", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_firenaxis = CVAR_INIT ("joyaxis_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_firenaxis = CVAR_INIT ("joyaxis_firenormal", "Z-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_deadzone = CVAR_INIT ("joy_deadzone", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_deadzone = CVAR_INIT ("joy_deadzone", "0.125", NULL, CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_digitaldeadzone = CVAR_INIT ("joy_digdeadzone", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_digitaldeadzone = CVAR_INIT ("joy_digdeadzone", "0.25", NULL, CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_moveaxis2 = CVAR_INIT ("joyaxis2_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_moveaxis2 = CVAR_INIT ("joyaxis2_move", "Y-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_sideaxis2 = CVAR_INIT ("joyaxis2_side", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_sideaxis2 = CVAR_INIT ("joyaxis2_side", "X-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_lookaxis2 = CVAR_INIT ("joyaxis2_look", "X-Rudder-", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_lookaxis2 = CVAR_INIT ("joyaxis2_look", "X-Rudder-", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_turnaxis2 = CVAR_INIT ("joyaxis2_turn", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_turnaxis2 = CVAR_INIT ("joyaxis2_turn", "Z-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_jumpaxis2 = CVAR_INIT ("joyaxis2_jump", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_jumpaxis2 = CVAR_INIT ("joyaxis2_jump", "None", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_spinaxis2 = CVAR_INIT ("joyaxis2_spin", "None", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_spinaxis2 = CVAR_INIT ("joyaxis2_spin", "None", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_fireaxis2 = CVAR_INIT ("joyaxis2_fire", "Z-Rudder", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_fireaxis2 = CVAR_INIT ("joyaxis2_fire", "Z-Rudder", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_firenaxis2 = CVAR_INIT ("joyaxis2_firenormal", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL); consvar_t cv_firenaxis2 = CVAR_INIT ("joyaxis2_firenormal", "Z-Axis", NULL, CV_SAVE, joyaxis_cons_t, NULL);
consvar_t cv_deadzone2 = CVAR_INIT ("joy_deadzone2", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_deadzone2 = CVAR_INIT ("joy_deadzone2", "0.125", NULL, CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
consvar_t cv_digitaldeadzone2 = CVAR_INIT ("joy_digdeadzone2", "0.25", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL); consvar_t cv_digitaldeadzone2 = CVAR_INIT ("joy_digdeadzone2", "0.25", NULL, CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL);
player_t *seenplayer; // player we're aiming at right now player_t *seenplayer; // player we're aiming at right now
......