*/
void SCR_CenterPrint(const char *str)
{
- strlcpy (scr_centerstring, str, sizeof (scr_centerstring));
+ dp_strlcpy (scr_centerstring, str, sizeof (scr_centerstring));
scr_centertime_off = scr_centertime.value;
scr_centertime_start = cl.time;
}
}
+/*
+============
+SCR_Centerprint_f
+
+Print something to the center of the screen using SCR_Centerprint
+============
+*/
+static void SCR_Centerprint_f (cmd_state_t *cmd)
+{
+ char msg[MAX_INPUTLINE];
+ unsigned int i, c, p;
+ c = Cmd_Argc(cmd);
+ if(c >= 2)
+ {
+ dp_strlcpy(msg, Cmd_Argv(cmd,1), sizeof(msg));
+ for(i = 2; i < c; ++i)
+ {
+ dp_strlcat(msg, " ", sizeof(msg));
+ dp_strlcat(msg, Cmd_Argv(cmd, i), sizeof(msg));
+ }
+ c = (unsigned int)strlen(msg);
+ for(p = 0, i = 0; i < c; ++i)
+ {
+ if(msg[i] == '\\')
+ {
+ if(msg[i+1] == 'n')
+ msg[p++] = '\n';
+ else if(msg[i+1] == '\\')
+ msg[p++] = '\\';
+ else {
+ msg[p++] = '\\';
+ msg[p++] = msg[i+1];
+ }
+ ++i;
+ } else {
+ msg[p++] = msg[i];
+ }
+ }
+ msg[p] = '\0';
+ SCR_CenterPrint(msg);
+ }
+}
static void SCR_DrawCenterString (void)
{
if(Cmd_Argc(cmd) == 3)
{
scr_infobartime_off = atof(Cmd_Argv(cmd, 1));
- strlcpy(scr_infobarstring, Cmd_Argv(cmd, 2), sizeof(scr_infobarstring));
+ dp_strlcpy(scr_infobarstring, Cmd_Argv(cmd, 2), sizeof(scr_infobarstring));
}
else
{
if (Sys_CheckParm ("-noconsole"))
Cvar_SetQuick(&scr_conforcewhiledisconnected, "0");
+ Cmd_AddCommand(CF_CLIENT, "cprint", SCR_Centerprint_f, "print something at the screen center");
Cmd_AddCommand(CF_CLIENT, "sizeup",SCR_SizeUp_f, "increase view size (increases viewsize cvar)");
Cmd_AddCommand(CF_CLIENT, "sizedown",SCR_SizeDown_f, "decrease view size (decreases viewsize cvar)");
Cmd_AddCommand(CF_CLIENT, "screenshot",SCR_ScreenShot_f, "takes a screenshot of the next rendered frame");
if (Cmd_Argc(cmd) == 2)
{
const char *ext;
- strlcpy(filename, Cmd_Argv(cmd, 1), sizeof(filename));
+ dp_strlcpy(filename, Cmd_Argv(cmd, 1), sizeof(filename));
ext = FS_FileExtension(filename);
if (!strcasecmp(ext, "jpg"))
{
{
if(SCR_ScreenShot (filename, buffer1, buffer2, 0, 0, vid.width, vid.height, false, false, false, false, false, true, scr_screenshot_alpha.integer != 0))
{
- strlcpy(filename + strlen(filename) - 3, "tga", 4);
+ dp_strlcpy(filename + strlen(filename) - 3, "tga", 4);
Con_Printf("Wrote %s\n", filename);
}
}
return;
}
- strlcpy (basename, Cmd_Argv(cmd, 1), sizeof (basename));
+ dp_strlcpy (basename, Cmd_Argv(cmd, 1), sizeof (basename));
size = atoi(Cmd_Argv(cmd, 2));
if (size != 128 && size != 256 && size != 512 && size != 1024)
{
int k;
char lmplabel[256], picname[256];
float x, y;
- strlcpy (lmplabel,MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring)), sizeof (lmplabel));
- strlcpy (picname, MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring)), sizeof (picname));
+ dp_strlcpy (lmplabel,MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring)), sizeof (lmplabel));
+ dp_strlcpy (picname, MSG_ReadString(&cl_message, cl_readstring, sizeof(cl_readstring)), sizeof (picname));
if (gamemode == GAME_NEHAHRA) // LadyHavoc: nasty old legacy junk
{
x = MSG_ReadByte(&cl_message);
if (!cl.showlmps[k].isactive)
break;
cl.showlmps[k].isactive = true;
- strlcpy (cl.showlmps[k].label, lmplabel, sizeof (cl.showlmps[k].label));
- strlcpy (cl.showlmps[k].pic, picname, sizeof (cl.showlmps[k].pic));
+ dp_strlcpy (cl.showlmps[k].label, lmplabel, sizeof (cl.showlmps[k].label));
+ dp_strlcpy (cl.showlmps[k].pic, picname, sizeof (cl.showlmps[k].pic));
cl.showlmps[k].x = x;
cl.showlmps[k].y = y;
cl.num_showlmps = max(cl.num_showlmps, k + 1);
loadingscreenstack_t connect_status, *og_ptr = loadingscreenstack;
connect_status.absolute_loading_amount_min = 0;
- strlcpy(connect_status.msg, cl_connect_status, sizeof(cl_connect_status));
+ dp_strlcpy(connect_status.msg, cl_connect_status, sizeof(cl_connect_status));
loadingscreenstack = &connect_status;
SCR_DrawLoadingScreen();
loadingscreenstack = og_ptr;
s->prev = loadingscreenstack;
loadingscreenstack = s;
- strlcpy(s->msg, msg, sizeof(s->msg));
+ dp_strlcpy(s->msg, msg, sizeof(s->msg));
s->relative_completion = 0;
if(s->prev)