MAIN_ITEMS = 6;
else if (gamemode == GAME_TRANSFUSION)
{
- s = "gfx/menu/mainmenu0";
+ s = "gfx/menu/mainmenu1";
if (sv.active && !cl.intermission && cl.islocalgame)
MAIN_ITEMS = 8;
else
for (i=0 ; i<MAX_SAVEGAMES ; i++)
{
- strcpy (m_filenames[i], "--- UNUSED SLOT ---");
+ strlcpy (m_filenames[i], "--- UNUSED SLOT ---", sizeof(m_filenames[i]));
loadable[i] = false;
sprintf (name, "s%i.sav", (int)i);
f = FS_Open (name, "rb", false, false);
buf[sizeof(buf) - 1] = 0;
t = buf;
// version
- COM_ParseToken(&t, false);
+ COM_ParseTokenConsole(&t);
version = atoi(com_token);
// description
- COM_ParseToken(&t, false);
+ COM_ParseTokenConsole(&t);
strlcpy (m_filenames[i], com_token, sizeof (m_filenames[i]));
// change _ back to space
key_dest = key_menu;
m_state = m_setup;
m_entersound = true;
- strcpy(setup_myname, cl_name.string);
+ strlcpy(setup_myname, cl_name.string, sizeof(setup_myname));
setup_top = setup_oldtop = cl_color.integer >> 4;
setup_bottom = setup_oldbottom = cl_color.integer & 15;
setup_rate = cl_rate.integer;
// LordHavoc: redesigned to print more than 2 keys, inspired by Tomaz's MiniRacer
if (keys[0] == -1)
- strcpy(keystring, "???");
+ strlcpy(keystring, "???", sizeof(keystring));
else
{
keystring[0] = 0;
if (keys[j] != -1)
{
if (j > 0)
- strcat(keystring, " or ");
- strcat(keystring, Key_KeynumToString (keys[j]));
+ strlcat(keystring, " or ", sizeof(keystring));
+ strlcat(keystring, Key_KeynumToString (keys[j]), sizeof(keystring));
}
}
}
{"ATAC Campaign", 0, 3},
};
+static level_t prydonlevels[] =
+{
+ {"curig2", "Capel Curig"}, // 0
+
+ {"tdastart", "Gateway"}, // 1
+};
+
+static episode_t prydonepisodes[] =
+{
+ {"Prydon Gate", 0, 1},
+ {"The Dark Age", 1, 1}
+};
+
static gamelevels_t sharewarequakegame = {"Shareware Quake", quakelevels, quakeepisodes, 2};
static gamelevels_t registeredquakegame = {"Quake", quakelevels, quakeepisodes, 7};
static gamelevels_t hipnoticgame = {"Scourge of Armagon", hipnoticlevels, hipnoticepisodes, 6};
static gamelevels_t battlemechgame = {"Battlemech", battlemechlevels, battlemechepisodes, 1};
static gamelevels_t openquartzgame = {"OpenQuartz", openquartzlevels, openquartzepisodes, 3};
static gamelevels_t defeatindetail2game = {"Defeat In Detail 2", defeatindetail2levels, defeatindetail2episodes, 1};
+static gamelevels_t prydongame = {"Prydon Gate", prydonlevels, prydonepisodes, 2};
typedef struct gameinfo_s
{
{GAME_BATTLEMECH, &battlemechgame, &battlemechgame},
{GAME_OPENQUARTZ, &openquartzgame, &openquartzgame},
{GAME_DEFEATINDETAIL2, &defeatindetail2game, &defeatindetail2game},
- {(gamemode_t)-1, &sharewarequakegame, ®isteredquakegame} // final fallback
+ {GAME_PRYDON, &prydongame, &prydongame},
+ {GAME_NORMAL, NULL, NULL} // terminator
};
static gamelevels_t *lookupgameinfo(void)
{
- int i;
- for (i = 0;gamelist[i].gameid >= 0 && gamelist[i].gameid != gamemode;i++);
+ int i = 0;
+ while (gamelist[i].gameid != gamemode)
+ {
+ if (gamelist[i].notregistered == NULL)
+ {
+ i = 0;
+ break;
+ }
+ i++;
+ }
if (registered.integer)
return gamelist[i].registered;
else