TimeServ wanted me to commit this. note that the qrenderer check should be removed.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@1727 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
62f7ed5108
commit
dc6ff40ad6
2 changed files with 76 additions and 4 deletions
|
@ -112,12 +112,12 @@ int VARGS Plug_Draw_LoadImage(void *offset, unsigned int mask, const long *arg)
|
||||||
|
|
||||||
if (qrenderer)
|
if (qrenderer)
|
||||||
{
|
{
|
||||||
if (fromwad)
|
if (fromwad && Draw_SafePicFromWad)
|
||||||
pic = Draw_SafePicFromWad(name);
|
pic = Draw_SafePicFromWad(name);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef RGLQUAKE //GL saves images persistantly (so don't bother with cachepic stuff)
|
#ifdef RGLQUAKE //GL saves images persistantly (so don't bother with cachepic stuff)
|
||||||
if (qrenderer == QR_OPENGL)
|
if (qrenderer == QR_OPENGL && Draw_SafeCachePic)
|
||||||
pic = Draw_SafeCachePic(name);
|
pic = Draw_SafeCachePic(name);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
@ -328,7 +328,7 @@ int VARGS Plug_Con_SubPrint(void *offset, unsigned int mask, const long *arg)
|
||||||
if (!con)
|
if (!con)
|
||||||
{
|
{
|
||||||
con = Con_Create(name);
|
con = Con_Create(name);
|
||||||
Con_SetVisible(con);
|
Con_SetActive(con);
|
||||||
|
|
||||||
if (currentplug->conexecutecommand)
|
if (currentplug->conexecutecommand)
|
||||||
{
|
{
|
||||||
|
@ -353,7 +353,48 @@ int VARGS Plug_Con_RenameSub(void *offset, unsigned int mask, const long *arg)
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
int VARGS Plug_Con_IsActive(void *offset, unsigned int mask, const long *arg)
|
||||||
|
{
|
||||||
|
char *name = VM_POINTER(arg[0]);
|
||||||
|
console_t *con;
|
||||||
|
con = Con_FindConsole(name);
|
||||||
|
if (!con)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return Con_IsActive(con);
|
||||||
|
}
|
||||||
|
int VARGS Plug_Con_SetActive(void *offset, unsigned int mask, const long *arg)
|
||||||
|
{
|
||||||
|
char *name = VM_POINTER(arg[0]);
|
||||||
|
console_t *con;
|
||||||
|
con = Con_FindConsole(name);
|
||||||
|
if (!con)
|
||||||
|
con = Con_Create(name);
|
||||||
|
|
||||||
|
Con_SetActive(con);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
int VARGS Plug_Con_Destroy(void *offset, unsigned int mask, const long *arg)
|
||||||
|
{
|
||||||
|
char *name = VM_POINTER(arg[0]);
|
||||||
|
console_t *con;
|
||||||
|
con = Con_FindConsole(name);
|
||||||
|
if (!con)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
Con_Destroy(con);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
int VARGS Plug_Con_NameForNum(void *offset, unsigned int mask, const long *arg)
|
||||||
|
{
|
||||||
|
char num = VM_LONG(arg[0]);
|
||||||
|
char *buffer = VM_POINTER(arg[1]);
|
||||||
|
int buffersize = VM_LONG(arg[2]);
|
||||||
|
if (VM_OOB(arg[1], arg[2]) || buffersize < 1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return Con_NameForNum(num, buffer, buffersize);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -374,6 +415,10 @@ void Plug_Client_Init(void)
|
||||||
|
|
||||||
Plug_RegisterBuiltin("Con_SubPrint", Plug_Con_SubPrint, 0);
|
Plug_RegisterBuiltin("Con_SubPrint", Plug_Con_SubPrint, 0);
|
||||||
Plug_RegisterBuiltin("Con_RenameSub", Plug_Con_RenameSub, 0);
|
Plug_RegisterBuiltin("Con_RenameSub", Plug_Con_RenameSub, 0);
|
||||||
|
Plug_RegisterBuiltin("Con_IsActive", Plug_Con_IsActive, 0);
|
||||||
|
Plug_RegisterBuiltin("Con_SetActive", Plug_Con_SetActive, 0);
|
||||||
|
Plug_RegisterBuiltin("Con_Destroy", Plug_Con_Destroy, 0);
|
||||||
|
Plug_RegisterBuiltin("Con_NameForNum", Plug_Con_NameForNum, 0);
|
||||||
|
|
||||||
Plug_RegisterBuiltin("LocalSound", Plug_LocalSound, 0);
|
Plug_RegisterBuiltin("LocalSound", Plug_LocalSound, 0);
|
||||||
Plug_RegisterBuiltin("SCR_CenterPrint", Plug_SCR_CenterPrint, 0);
|
Plug_RegisterBuiltin("SCR_CenterPrint", Plug_SCR_CenterPrint, 0);
|
||||||
|
|
|
@ -94,6 +94,10 @@ qboolean Con_IsActive (console_t *con)
|
||||||
void Con_Destroy (console_t *con)
|
void Con_Destroy (console_t *con)
|
||||||
{
|
{
|
||||||
console_t *prev;
|
console_t *prev;
|
||||||
|
|
||||||
|
if (con == &con_main)
|
||||||
|
return;
|
||||||
|
|
||||||
for (prev = &con_main; prev->next; prev = prev->next)
|
for (prev = &con_main; prev->next; prev = prev->next)
|
||||||
{
|
{
|
||||||
if (prev->next == con)
|
if (prev->next == con)
|
||||||
|
@ -104,6 +108,9 @@ void Con_Destroy (console_t *con)
|
||||||
}
|
}
|
||||||
|
|
||||||
BZ_Free(con);
|
BZ_Free(con);
|
||||||
|
|
||||||
|
if (con == con_current)
|
||||||
|
con = &con_main;
|
||||||
}
|
}
|
||||||
console_t *Con_FindConsole(char *name)
|
console_t *Con_FindConsole(char *name)
|
||||||
{
|
{
|
||||||
|
@ -127,10 +134,26 @@ console_t *Con_Create(char *name)
|
||||||
|
|
||||||
return con;
|
return con;
|
||||||
}
|
}
|
||||||
void Con_SetVisible (console_t *con)
|
void Con_SetActive (console_t *con)
|
||||||
{
|
{
|
||||||
con_current = con;
|
con_current = con;
|
||||||
}
|
}
|
||||||
|
qboolean Con_NameForNum(int num, char *buffer, int buffersize)
|
||||||
|
{
|
||||||
|
console_t *con;
|
||||||
|
for (con = &con_main; con; con = con->next, num--)
|
||||||
|
{
|
||||||
|
if (num <= 0)
|
||||||
|
{
|
||||||
|
Q_strncpyz(buffer, con->name, buffersize);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (buffersize>0)
|
||||||
|
*buffer = '\0';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void Con_PrintCon (console_t *con, char *txt);
|
void Con_PrintCon (console_t *con, char *txt);
|
||||||
|
|
||||||
|
|
||||||
|
@ -571,6 +594,8 @@ void Con_PrintCon (console_t *con, char *txt)
|
||||||
int maskstack[4];
|
int maskstack[4];
|
||||||
int maskstackdepth = 0;
|
int maskstackdepth = 0;
|
||||||
|
|
||||||
|
con->unseentext = true;
|
||||||
|
|
||||||
if (txt[0] == 1 || txt[0] == 2)
|
if (txt[0] == 1 || txt[0] == 2)
|
||||||
{
|
{
|
||||||
mask = CON_STANDARDMASK|CON_WHITEMASK; // go to colored text
|
mask = CON_STANDARDMASK|CON_WHITEMASK; // go to colored text
|
||||||
|
@ -1204,6 +1229,8 @@ void Con_DrawConsole (int lines, qboolean noback)
|
||||||
if (!noback)
|
if (!noback)
|
||||||
Draw_ConsoleBackground (lines);
|
Draw_ConsoleBackground (lines);
|
||||||
|
|
||||||
|
con_current->unseentext = false;
|
||||||
|
|
||||||
// draw the text
|
// draw the text
|
||||||
con_current->vislines = lines;
|
con_current->vislines = lines;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue