mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-10 07:21:58 +00:00
Merge remote-tracking branch 'sf/master' into qss
This commit is contained in:
commit
32015ef1e3
11 changed files with 260 additions and 188 deletions
|
@ -3,7 +3,7 @@
|
||||||
<title>QuakeSpasm
|
<title>QuakeSpasm
|
||||||
<toc>
|
<toc>
|
||||||
|
|
||||||
<em>Page last edited: Sep. 2021</em>
|
<em>Page last edited: October 2021</em>
|
||||||
|
|
||||||
<sect> About <p>
|
<sect> About <p>
|
||||||
|
|
||||||
|
@ -140,6 +140,15 @@ QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: C
|
||||||
|
|
||||||
<sect> Changes<p>
|
<sect> Changes<p>
|
||||||
|
|
||||||
|
<sect1> Changes in 0.94.2<p>
|
||||||
|
<itemize>
|
||||||
|
<item> 2021 rerelease: Support for playing the latest update.
|
||||||
|
<item> 2021 rerelease: Fix pitch black models in lit areas in DOTM.
|
||||||
|
<item> 2021 rerelease: Fix black candles in the DOTM start map.
|
||||||
|
<item> 2021 rerelease: Look for QuakeEX.kpf under userdir, too.
|
||||||
|
</itemize>
|
||||||
|
</p>
|
||||||
|
|
||||||
<sect1> Changes in 0.94.1<p>
|
<sect1> Changes in 0.94.1<p>
|
||||||
<itemize>
|
<itemize>
|
||||||
<item> Fix lightmap issues after vkQuake surface mark/cull optimizations merge (sf.net bug/50)
|
<item> Fix lightmap issues after vkQuake surface mark/cull optimizations merge (sf.net bug/50)
|
||||||
|
@ -307,7 +316,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<itemize>
|
<itemize>
|
||||||
<item> Fix dynamic light artifact where changing lightmap are rendered one frame late (bug introduced in 0.90.0).
|
<item> Fix dynamic light artifact where changing lightmap are rendered one frame late (bug introduced in 0.90.0).
|
||||||
<item> Fix texture memory leak when changing video modes with SDL2.
|
<item> Fix texture memory leak when changing video modes with SDL2.
|
||||||
<item> Fix rare incorrect mdl lighting on 64-bit builds. <url url="http://forums.insideqc.com/viewtopic.php?f=3&t=5620" name="(details here.)">
|
<item> Fix a rare incorrect mdl lighting on 64-bit builds. <url url="http://forums.insideqc.com/viewtopic.php?f=3&t=5620" name="(details here.)">
|
||||||
<item> Fix fullbrights turning black after "kill" command (bug introduced in 0.90.0).
|
<item> Fix fullbrights turning black after "kill" command (bug introduced in 0.90.0).
|
||||||
<item> Clear all fog values on map change to prevent colored fog carrying over to jam3_tronyn.bsp.
|
<item> Clear all fog values on map change to prevent colored fog carrying over to jam3_tronyn.bsp.
|
||||||
<item> Allow loading saves with } character in quoted strings, fixes issue with retrojam1_skacky.bsp.
|
<item> Allow loading saves with } character in quoted strings, fixes issue with retrojam1_skacky.bsp.
|
||||||
|
|
Binary file not shown.
|
@ -17,7 +17,7 @@
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>0.94.1</string>
|
<string>0.94.2</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>LSApplicationCategoryType</key>
|
<key>LSApplicationCategoryType</key>
|
||||||
|
|
|
@ -2135,7 +2135,6 @@ static int COM_FindFile (const char *filename, int *handle, FILE **file,
|
||||||
&& strcmp(ext, "ent") != 0)
|
&& strcmp(ext, "ent") != 0)
|
||||||
Con_DPrintf ("FindFile: can't find %s\n", filename);
|
Con_DPrintf ("FindFile: can't find %s\n", filename);
|
||||||
else Con_DPrintf2("FindFile: can't find %s\n", filename);
|
else Con_DPrintf2("FindFile: can't find %s\n", filename);
|
||||||
// Log pcx, tga, lit, ent misses only if (developer.value >= 2)
|
|
||||||
|
|
||||||
if (handle)
|
if (handle)
|
||||||
*handle = -1;
|
*handle = -1;
|
||||||
|
@ -2934,7 +2933,6 @@ void COM_ResetGameDirectories(char *newgamedirs)
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
//johnfitz -- dynamic gamedir stuff -- modified by QuakeSpasm team.
|
//johnfitz -- dynamic gamedir stuff -- modified by QuakeSpasm team.
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
void ExtraMaps_NewGame (void);
|
|
||||||
static void COM_Game_f (void)
|
static void COM_Game_f (void)
|
||||||
{
|
{
|
||||||
if (Cmd_Argc() > 1)
|
if (Cmd_Argc() > 1)
|
||||||
|
@ -3115,7 +3113,10 @@ void COM_InitFilesystem (void) //johnfitz -- modified based on topaz's tutorial
|
||||||
|
|
||||||
//this is horrible.
|
//this is horrible.
|
||||||
if (!fitzmode)
|
if (!fitzmode)
|
||||||
COM_AddPackage(NULL, va("%s/QuakeEX.kpf", com_basedir), "QuakeEX.kpf");
|
{
|
||||||
|
if (!COM_AddPackage(NULL, va("%s/QuakeEX.kpf", host_parms->userdir), "QuakeEX.kpf") && strcmp(com_basedir, host_parms->userdir))
|
||||||
|
COM_AddPackage(NULL, va("%s/QuakeEX.kpf", com_basedir), "QuakeEX.kpf");
|
||||||
|
}
|
||||||
|
|
||||||
i = COM_CheckParmNext (i, "-basegame");
|
i = COM_CheckParmNext (i, "-basegame");
|
||||||
if (i)
|
if (i)
|
||||||
|
|
|
@ -302,7 +302,7 @@ vec3_t lightcolor; //johnfitz -- lit support via lordhavoc
|
||||||
RecursiveLightPoint -- johnfitz -- replaced entire function for lit support via lordhavoc
|
RecursiveLightPoint -- johnfitz -- replaced entire function for lit support via lordhavoc
|
||||||
=============
|
=============
|
||||||
*/
|
*/
|
||||||
int RecursiveLightPoint (vec3_t color, mnode_t *node, vec3_t start, vec3_t end)
|
int RecursiveLightPoint (vec3_t color, mnode_t *node, vec3_t rayorg, vec3_t start, vec3_t end, float *maxdist)
|
||||||
{
|
{
|
||||||
float front, back, frac;
|
float front, back, frac;
|
||||||
vec3_t mid;
|
vec3_t mid;
|
||||||
|
@ -325,7 +325,7 @@ loc0:
|
||||||
|
|
||||||
// LordHavoc: optimized recursion
|
// LordHavoc: optimized recursion
|
||||||
if ((back < 0) == (front < 0))
|
if ((back < 0) == (front < 0))
|
||||||
// return RecursiveLightPoint (color, node->children[front < 0], start, end);
|
// return RecursiveLightPoint (color, node->children[front < 0], rayorg, start, end, maxdist);
|
||||||
{
|
{
|
||||||
node = node->children[front < 0];
|
node = node->children[front < 0];
|
||||||
goto loc0;
|
goto loc0;
|
||||||
|
@ -337,7 +337,7 @@ loc0:
|
||||||
mid[2] = start[2] + (end[2] - start[2])*frac;
|
mid[2] = start[2] + (end[2] - start[2])*frac;
|
||||||
|
|
||||||
// go down front side
|
// go down front side
|
||||||
if (RecursiveLightPoint (color, node->children[front < 0], start, mid))
|
if (RecursiveLightPoint (color, node->children[front < 0], rayorg, start, mid, maxdist))
|
||||||
return true; // hit something
|
return true; // hit something
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -351,6 +351,9 @@ loc0:
|
||||||
surf = cl.worldmodel->surfaces + node->firstsurface;
|
surf = cl.worldmodel->surfaces + node->firstsurface;
|
||||||
for (i = 0;i < node->numsurfaces;i++, surf++)
|
for (i = 0;i < node->numsurfaces;i++, surf++)
|
||||||
{
|
{
|
||||||
|
float sfront, sback, dist;
|
||||||
|
vec3_t raydelta;
|
||||||
|
|
||||||
if (surf->flags & SURF_DRAWTILED)
|
if (surf->flags & SURF_DRAWTILED)
|
||||||
continue; // no lightmaps
|
continue; // no lightmaps
|
||||||
|
|
||||||
|
@ -369,7 +372,32 @@ loc0:
|
||||||
if (ds > surf->extents[0] || dt > surf->extents[1])
|
if (ds > surf->extents[0] || dt > surf->extents[1])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (surf->samples)
|
if (surf->plane->type < 3)
|
||||||
|
{
|
||||||
|
sfront = rayorg[surf->plane->type] - surf->plane->dist;
|
||||||
|
sback = end[surf->plane->type] - surf->plane->dist;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sfront = DotProduct(rayorg, surf->plane->normal) - surf->plane->dist;
|
||||||
|
sback = DotProduct(end, surf->plane->normal) - surf->plane->dist;
|
||||||
|
}
|
||||||
|
VectorSubtract(end, rayorg, raydelta);
|
||||||
|
dist = sfront / (sfront - sback) * VectorLength(raydelta);
|
||||||
|
|
||||||
|
if (!surf->samples)
|
||||||
|
{
|
||||||
|
// We hit a surface that is flagged as lightmapped, but doesn't have actual lightmap info.
|
||||||
|
// Instead of just returning black, we'll keep looking for nearby surfaces that do have valid samples.
|
||||||
|
// This fixes occasional pitch-black models in otherwise well-lit areas in DOTM (e.g. mge1m1, mge4m1)
|
||||||
|
// caused by overlapping surfaces with mixed lighting data.
|
||||||
|
const float nearby = 8.f;
|
||||||
|
dist += nearby;
|
||||||
|
*maxdist = q_min(*maxdist, dist);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dist < *maxdist)
|
||||||
{
|
{
|
||||||
// LordHavoc: enhanced to interpolate lighting
|
// LordHavoc: enhanced to interpolate lighting
|
||||||
byte *lightmap;
|
byte *lightmap;
|
||||||
|
@ -397,7 +425,7 @@ loc0:
|
||||||
}
|
}
|
||||||
|
|
||||||
// go down back side
|
// go down back side
|
||||||
return RecursiveLightPoint (color, node->children[front >= 0], mid, end);
|
return RecursiveLightPoint (color, node->children[front >= 0], rayorg, mid, end, maxdist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,6 +437,7 @@ R_LightPoint -- johnfitz -- replaced entire function for lit support via lordhav
|
||||||
int R_LightPoint (vec3_t p)
|
int R_LightPoint (vec3_t p)
|
||||||
{
|
{
|
||||||
vec3_t end;
|
vec3_t end;
|
||||||
|
float maxdist = 8192.f; //johnfitz -- was 2048
|
||||||
|
|
||||||
if (!cl.worldmodel->lightdata)
|
if (!cl.worldmodel->lightdata)
|
||||||
{
|
{
|
||||||
|
@ -418,9 +447,9 @@ int R_LightPoint (vec3_t p)
|
||||||
|
|
||||||
end[0] = p[0];
|
end[0] = p[0];
|
||||||
end[1] = p[1];
|
end[1] = p[1];
|
||||||
end[2] = p[2] - 8192; //johnfitz -- was 2048
|
end[2] = p[2] - maxdist;
|
||||||
|
|
||||||
lightcolor[0] = lightcolor[1] = lightcolor[2] = 0;
|
lightcolor[0] = lightcolor[1] = lightcolor[2] = 0;
|
||||||
RecursiveLightPoint (lightcolor, cl.worldmodel->nodes, p, end);
|
RecursiveLightPoint (lightcolor, cl.worldmodel->nodes, p, p, end, &maxdist);
|
||||||
return ((lightcolor[0] + lightcolor[1] + lightcolor[2]) * (1.0f / 3.0f));
|
return ((lightcolor[0] + lightcolor[1] + lightcolor[2]) * (1.0f / 3.0f));
|
||||||
}
|
}
|
||||||
|
|
123
Quake/host_cmd.c
123
Quake/host_cmd.c
|
@ -37,7 +37,6 @@ void Mod_Print (void);
|
||||||
Host_Quit_f
|
Host_Quit_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void Host_Quit_f (void)
|
void Host_Quit_f (void)
|
||||||
{
|
{
|
||||||
if (key_dest != key_console && cls.state != ca_dedicated && !cls.menu_qcvm.progs)
|
if (key_dest != key_console && cls.state != ca_dedicated && !cls.menu_qcvm.progs)
|
||||||
|
@ -60,7 +59,7 @@ void Host_Quit_f (void)
|
||||||
FileList_Add
|
FileList_Add
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void FileList_Add (const char *name, filelist_item_t **list)
|
static void FileList_Add (const char *name, filelist_item_t **list)
|
||||||
{
|
{
|
||||||
filelist_item_t *item,*cursor,*prev;
|
filelist_item_t *item,*cursor,*prev;
|
||||||
|
|
||||||
|
@ -98,7 +97,7 @@ void FileList_Add (const char *name, filelist_item_t **list)
|
||||||
static void FileList_Clear (filelist_item_t **list)
|
static void FileList_Clear (filelist_item_t **list)
|
||||||
{
|
{
|
||||||
filelist_item_t *blah;
|
filelist_item_t *blah;
|
||||||
|
|
||||||
while (*list)
|
while (*list)
|
||||||
{
|
{
|
||||||
blah = (*list)->next;
|
blah = (*list)->next;
|
||||||
|
@ -109,7 +108,7 @@ static void FileList_Clear (filelist_item_t **list)
|
||||||
|
|
||||||
filelist_item_t *extralevels;
|
filelist_item_t *extralevels;
|
||||||
|
|
||||||
void ExtraMaps_Add (const char *name)
|
static void ExtraMaps_Add (const char *name)
|
||||||
{
|
{
|
||||||
FileList_Add(name, &extralevels);
|
FileList_Add(name, &extralevels);
|
||||||
}
|
}
|
||||||
|
@ -200,7 +199,7 @@ void ExtraMaps_NewGame (void)
|
||||||
Host_Maps_f
|
Host_Maps_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Maps_f (void)
|
static void Host_Maps_f (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
filelist_item_t *level;
|
filelist_item_t *level;
|
||||||
|
@ -220,7 +219,7 @@ void Host_Maps_f (void)
|
||||||
|
|
||||||
filelist_item_t *modlist;
|
filelist_item_t *modlist;
|
||||||
|
|
||||||
void Modlist_Add (const char *name)
|
static void Modlist_Add (const char *name)
|
||||||
{
|
{
|
||||||
FileList_Add(name, &modlist);
|
FileList_Add(name, &modlist);
|
||||||
}
|
}
|
||||||
|
@ -316,7 +315,7 @@ void DemoList_Init (void)
|
||||||
searchpath_t *search;
|
searchpath_t *search;
|
||||||
pack_t *pak;
|
pack_t *pak;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// we don't want to list the demos in id1 pakfiles,
|
// we don't want to list the demos in id1 pakfiles,
|
||||||
// because these are not "add-on" demos
|
// because these are not "add-on" demos
|
||||||
q_snprintf (ignorepakdir, sizeof(ignorepakdir), "/%s/", GAMENAME);
|
q_snprintf (ignorepakdir, sizeof(ignorepakdir), "/%s/", GAMENAME);
|
||||||
|
@ -368,7 +367,6 @@ void DemoList_Init (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Mods_f -- johnfitz
|
Host_Mods_f -- johnfitz
|
||||||
|
@ -376,7 +374,7 @@ Host_Mods_f -- johnfitz
|
||||||
list all potential mod directories (contain either a pak file or a progs.dat)
|
list all potential mod directories (contain either a pak file or a progs.dat)
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Mods_f (void)
|
static void Host_Mods_f (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
filelist_item_t *mod;
|
filelist_item_t *mod;
|
||||||
|
@ -397,7 +395,7 @@ void Host_Mods_f (void)
|
||||||
Host_Mapname_f -- johnfitz
|
Host_Mapname_f -- johnfitz
|
||||||
=============
|
=============
|
||||||
*/
|
*/
|
||||||
void Host_Mapname_f (void)
|
static void Host_Mapname_f (void)
|
||||||
{
|
{
|
||||||
if (sv.active)
|
if (sv.active)
|
||||||
{
|
{
|
||||||
|
@ -419,7 +417,7 @@ void Host_Mapname_f (void)
|
||||||
Host_Status_f
|
Host_Status_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Status_f (void)
|
static void Host_Status_f (void)
|
||||||
{
|
{
|
||||||
void (*print_fn) (const char *fmt, ...)
|
void (*print_fn) (const char *fmt, ...)
|
||||||
FUNCP_PRINTF(1,2);
|
FUNCP_PRINTF(1,2);
|
||||||
|
@ -518,7 +516,7 @@ Host_God_f
|
||||||
Sets client to godmode
|
Sets client to godmode
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_God_f (void)
|
static void Host_God_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -563,7 +561,7 @@ void Host_God_f (void)
|
||||||
Host_Notarget_f
|
Host_Notarget_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Notarget_f (void)
|
static void Host_Notarget_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -610,7 +608,7 @@ qboolean noclip_anglehack;
|
||||||
Host_Noclip_f
|
Host_Noclip_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Noclip_f (void)
|
static void Host_Noclip_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -666,17 +664,17 @@ Host_SetPos_f
|
||||||
adapted from fteqw, originally by Alex Shadowalker
|
adapted from fteqw, originally by Alex Shadowalker
|
||||||
====================
|
====================
|
||||||
*/
|
*/
|
||||||
void Host_SetPos_f(void)
|
static void Host_SetPos_f(void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
Cmd_ForwardToServer ();
|
Cmd_ForwardToServer ();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pr_global_struct->deathmatch)
|
if (pr_global_struct->deathmatch)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (Cmd_Argc() != 7 && Cmd_Argc() != 4)
|
if (Cmd_Argc() != 7 && Cmd_Argc() != 4)
|
||||||
{
|
{
|
||||||
SV_ClientPrintf("usage:\n");
|
SV_ClientPrintf("usage:\n");
|
||||||
|
@ -692,14 +690,14 @@ void Host_SetPos_f(void)
|
||||||
(int)sv_player->v.v_angle[2]);
|
(int)sv_player->v.v_angle[2]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sv_player->v.movetype != MOVETYPE_NOCLIP)
|
if (sv_player->v.movetype != MOVETYPE_NOCLIP)
|
||||||
{
|
{
|
||||||
noclip_anglehack = true;
|
noclip_anglehack = true;
|
||||||
sv_player->v.movetype = MOVETYPE_NOCLIP;
|
sv_player->v.movetype = MOVETYPE_NOCLIP;
|
||||||
SV_ClientPrintf ("noclip ON\n");
|
SV_ClientPrintf ("noclip ON\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//make sure they're not going to whizz away from it
|
//make sure they're not going to whizz away from it
|
||||||
sv_player->v.velocity[0] = 0;
|
sv_player->v.velocity[0] = 0;
|
||||||
sv_player->v.velocity[1] = 0;
|
sv_player->v.velocity[1] = 0;
|
||||||
|
@ -727,7 +725,7 @@ Host_Fly_f
|
||||||
Sets client to flymode
|
Sets client to flymode
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Fly_f (void)
|
static void Host_Fly_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -772,14 +770,13 @@ void Host_Fly_f (void)
|
||||||
//johnfitz
|
//johnfitz
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Ping_f
|
Host_Ping_f
|
||||||
|
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Ping_f (void)
|
static void Host_Ping_f (void)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
float total;
|
float total;
|
||||||
|
@ -812,7 +809,6 @@ SERVER TRANSITIONS
|
||||||
===============================================================================
|
===============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
======================
|
======================
|
||||||
Host_Map_f
|
Host_Map_f
|
||||||
|
@ -822,7 +818,7 @@ map <servername>
|
||||||
command from the console. Active clients are kicked off.
|
command from the console. Active clients are kicked off.
|
||||||
======================
|
======================
|
||||||
*/
|
*/
|
||||||
void Host_Map_f (void)
|
static void Host_Map_f (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char name[MAX_QPATH], *p;
|
char name[MAX_QPATH], *p;
|
||||||
|
@ -892,7 +888,7 @@ Host_Randmap_f
|
||||||
Loads a random map from the "maps" list.
|
Loads a random map from the "maps" list.
|
||||||
======================
|
======================
|
||||||
*/
|
*/
|
||||||
void Host_Randmap_f (void)
|
static void Host_Randmap_f (void)
|
||||||
{
|
{
|
||||||
int i, randlevel, numlevels;
|
int i, randlevel, numlevels;
|
||||||
filelist_item_t *level;
|
filelist_item_t *level;
|
||||||
|
@ -929,7 +925,7 @@ Host_Changelevel_f
|
||||||
Goes to a new map, taking all clients along
|
Goes to a new map, taking all clients along
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Changelevel_f (void)
|
static void Host_Changelevel_f (void)
|
||||||
{
|
{
|
||||||
char level[MAX_QPATH];
|
char level[MAX_QPATH];
|
||||||
|
|
||||||
|
@ -971,7 +967,7 @@ Host_Restart_f
|
||||||
Restarts the current server for a dead player
|
Restarts the current server for a dead player
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Restart_f (void)
|
static void Host_Restart_f (void)
|
||||||
{
|
{
|
||||||
char mapname[MAX_QPATH];
|
char mapname[MAX_QPATH];
|
||||||
|
|
||||||
|
@ -1003,7 +999,7 @@ This is sent just before a server changes levels
|
||||||
for compatibility with quakeworld et al, we also allow this as a user-command to reconnect to the last server we tried, but we can only reliably do that when we're not already connected
|
for compatibility with quakeworld et al, we also allow this as a user-command to reconnect to the last server we tried, but we can only reliably do that when we're not already connected
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Reconnect_Con_f (void)
|
static void Host_Reconnect_Con_f (void)
|
||||||
{
|
{
|
||||||
CL_Disconnect_f();
|
CL_Disconnect_f();
|
||||||
cls.demonum = -1; // stop demo loop in case this fails
|
cls.demonum = -1; // stop demo loop in case this fails
|
||||||
|
@ -1014,7 +1010,7 @@ void Host_Reconnect_Con_f (void)
|
||||||
}
|
}
|
||||||
CL_EstablishConnection (NULL);
|
CL_EstablishConnection (NULL);
|
||||||
}
|
}
|
||||||
void Host_Reconnect_Sv_f (void)
|
static void Host_Reconnect_Sv_f (void)
|
||||||
{
|
{
|
||||||
if (cls.demoplayback) // cross-map demo playback fix from Baker
|
if (cls.demoplayback) // cross-map demo playback fix from Baker
|
||||||
return;
|
return;
|
||||||
|
@ -1024,7 +1020,7 @@ void Host_Reconnect_Sv_f (void)
|
||||||
cls.signon = 0; // need new connection messages
|
cls.signon = 0; // need new connection messages
|
||||||
}
|
}
|
||||||
|
|
||||||
void Host_Lightstyle_f (void)
|
static void Host_Lightstyle_f (void)
|
||||||
{
|
{
|
||||||
CL_UpdateLightstyle(atoi(Cmd_Argv(1)), Cmd_Argv(2));
|
CL_UpdateLightstyle(atoi(Cmd_Argv(1)), Cmd_Argv(2));
|
||||||
}
|
}
|
||||||
|
@ -1036,7 +1032,7 @@ Host_Connect_f
|
||||||
User command to connect to server
|
User command to connect to server
|
||||||
=====================
|
=====================
|
||||||
*/
|
*/
|
||||||
void Host_Connect_f (void)
|
static void Host_Connect_f (void)
|
||||||
{
|
{
|
||||||
char name[MAX_QPATH];
|
char name[MAX_QPATH];
|
||||||
|
|
||||||
|
@ -1069,7 +1065,7 @@ Host_SavegameComment
|
||||||
Writes a SAVEGAME_COMMENT_LENGTH character comment describing the current
|
Writes a SAVEGAME_COMMENT_LENGTH character comment describing the current
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
void Host_SavegameComment (char *text)
|
static void Host_SavegameComment (char *text)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char kills[20];
|
char kills[20];
|
||||||
|
@ -1099,13 +1095,12 @@ void Host_SavegameComment (char *text)
|
||||||
text[SAVEGAME_COMMENT_LENGTH] = '\0';
|
text[SAVEGAME_COMMENT_LENGTH] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===============
|
===============
|
||||||
Host_Savegame_f
|
Host_Savegame_f
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
void Host_Savegame_f (void)
|
static void Host_Savegame_f (void)
|
||||||
{
|
{
|
||||||
char name[MAX_OSPATH];
|
char name[MAX_OSPATH];
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
@ -1177,7 +1172,6 @@ void Host_Savegame_f (void)
|
||||||
fprintf (f, "%f\n", qcvm->time);
|
fprintf (f, "%f\n", qcvm->time);
|
||||||
|
|
||||||
// write the light styles
|
// write the light styles
|
||||||
|
|
||||||
for (i = 0; i < MAX_LIGHTSTYLES_VANILLA; i++)
|
for (i = 0; i < MAX_LIGHTSTYLES_VANILLA; i++)
|
||||||
{
|
{
|
||||||
if (sv.lightstyles[i])
|
if (sv.lightstyles[i])
|
||||||
|
@ -1186,7 +1180,6 @@ void Host_Savegame_f (void)
|
||||||
fprintf (f,"m\n");
|
fprintf (f,"m\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ED_WriteGlobals (f);
|
ED_WriteGlobals (f);
|
||||||
for (i = 0; i < qcvm->num_edicts; i++)
|
for (i = 0; i < qcvm->num_edicts; i++)
|
||||||
{
|
{
|
||||||
|
@ -1235,13 +1228,12 @@ void Host_Savegame_f (void)
|
||||||
PR_SwitchQCVM(NULL);
|
PR_SwitchQCVM(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===============
|
===============
|
||||||
Host_Loadgame_f
|
Host_Loadgame_f
|
||||||
===============
|
===============
|
||||||
*/
|
*/
|
||||||
void Host_Loadgame_f (void)
|
static void Host_Loadgame_f (void)
|
||||||
{
|
{
|
||||||
static char *start;
|
static char *start;
|
||||||
|
|
||||||
|
@ -1480,7 +1472,7 @@ void Host_Loadgame_f (void)
|
||||||
Host_Name_f
|
Host_Name_f
|
||||||
======================
|
======================
|
||||||
*/
|
*/
|
||||||
void Host_Name_f (void)
|
static void Host_Name_f (void)
|
||||||
{
|
{
|
||||||
char newName[32];
|
char newName[32];
|
||||||
|
|
||||||
|
@ -1505,7 +1497,7 @@ void Host_Name_f (void)
|
||||||
SV_UpdateInfo((host_client-svs.clients)+1, "name", newName);
|
SV_UpdateInfo((host_client-svs.clients)+1, "name", newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Host_Say(qboolean teamonly)
|
static void Host_Say(qboolean teamonly)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
client_t *client;
|
client_t *client;
|
||||||
|
@ -1582,20 +1574,17 @@ void Host_Say(qboolean teamonly)
|
||||||
Sys_Printf("%s", &text[1]);
|
Sys_Printf("%s", &text[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Host_Say_f(void)
|
||||||
void Host_Say_f(void)
|
|
||||||
{
|
{
|
||||||
Host_Say(false);
|
Host_Say(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Host_Say_Team_f(void)
|
||||||
void Host_Say_Team_f(void)
|
|
||||||
{
|
{
|
||||||
Host_Say(true);
|
Host_Say(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void Host_Tell_f(void)
|
||||||
void Host_Tell_f(void)
|
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
client_t *client;
|
client_t *client;
|
||||||
|
@ -1659,13 +1648,12 @@ void Host_Tell_f(void)
|
||||||
host_client = save;
|
host_client = save;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Color_f
|
Host_Color_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Color_f(void)
|
static void Host_Color_f(void)
|
||||||
{
|
{
|
||||||
const char *top, *bottom;
|
const char *top, *bottom;
|
||||||
|
|
||||||
|
@ -1702,7 +1690,7 @@ void Host_Color_f(void)
|
||||||
Host_Kill_f
|
Host_Kill_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Kill_f (void)
|
static void Host_Kill_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -1721,13 +1709,12 @@ void Host_Kill_f (void)
|
||||||
PR_ExecuteProgram (pr_global_struct->ClientKill);
|
PR_ExecuteProgram (pr_global_struct->ClientKill);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Pause_f
|
Host_Pause_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Pause_f (void)
|
static void Host_Pause_f (void)
|
||||||
{
|
{
|
||||||
//ericw -- demo pause support (inspired by MarkV)
|
//ericw -- demo pause support (inspired by MarkV)
|
||||||
if (cls.demoplayback)
|
if (cls.demoplayback)
|
||||||
|
@ -1765,13 +1752,12 @@ void Host_Pause_f (void)
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_PreSpawn_f
|
Host_PreSpawn_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_PreSpawn_f (void)
|
static void Host_PreSpawn_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -1795,7 +1781,7 @@ void Host_PreSpawn_f (void)
|
||||||
Host_Spawn_f
|
Host_Spawn_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Spawn_f (void)
|
static void Host_Spawn_f (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
client_t *client;
|
client_t *client;
|
||||||
|
@ -1854,7 +1840,6 @@ void Host_Spawn_f (void)
|
||||||
PR_ExecuteProgram (pr_global_struct->PutClientInServer);
|
PR_ExecuteProgram (pr_global_struct->PutClientInServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// send all current names, colors, and frag counts
|
// send all current names, colors, and frag counts
|
||||||
SZ_Clear (&host_client->message);
|
SZ_Clear (&host_client->message);
|
||||||
|
|
||||||
|
@ -1952,7 +1937,7 @@ void Host_Spawn_f (void)
|
||||||
Host_Begin_f
|
Host_Begin_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Begin_f (void)
|
static void Host_Begin_f (void)
|
||||||
{
|
{
|
||||||
if (cmd_source != src_client)
|
if (cmd_source != src_client)
|
||||||
{
|
{
|
||||||
|
@ -1965,7 +1950,6 @@ void Host_Begin_f (void)
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Kick_f
|
Host_Kick_f
|
||||||
|
@ -1973,7 +1957,7 @@ Host_Kick_f
|
||||||
Kicks a user off of the server
|
Kicks a user off of the server
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Kick_f (void)
|
static void Host_Kick_f (void)
|
||||||
{
|
{
|
||||||
const char *who;
|
const char *who;
|
||||||
const char *message = NULL;
|
const char *message = NULL;
|
||||||
|
@ -2065,7 +2049,7 @@ DEBUGGING TOOLS
|
||||||
Host_Give_f
|
Host_Give_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Give_f (void)
|
static void Host_Give_f (void)
|
||||||
{
|
{
|
||||||
const char *t;
|
const char *t;
|
||||||
int v;
|
int v;
|
||||||
|
@ -2290,7 +2274,7 @@ void Host_Give_f (void)
|
||||||
//johnfitz
|
//johnfitz
|
||||||
}
|
}
|
||||||
|
|
||||||
edict_t *FindViewthing (void)
|
static edict_t *FindViewthing (void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
edict_t *e = NULL;
|
edict_t *e = NULL;
|
||||||
|
@ -2333,7 +2317,7 @@ edict_t *FindViewthing (void)
|
||||||
Host_Viewmodel_f
|
Host_Viewmodel_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Viewmodel_f (void)
|
static void Host_Viewmodel_f (void)
|
||||||
{
|
{
|
||||||
edict_t *e;
|
edict_t *e;
|
||||||
qmodel_t *m;
|
qmodel_t *m;
|
||||||
|
@ -2366,7 +2350,7 @@ void Host_Viewmodel_f (void)
|
||||||
Host_Viewframe_f
|
Host_Viewframe_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Viewframe_f (void)
|
static void Host_Viewframe_f (void)
|
||||||
{
|
{
|
||||||
edict_t *e;
|
edict_t *e;
|
||||||
int f;
|
int f;
|
||||||
|
@ -2386,8 +2370,7 @@ void Host_Viewframe_f (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void PrintFrameName (qmodel_t *m, int frame)
|
||||||
void PrintFrameName (qmodel_t *m, int frame)
|
|
||||||
{
|
{
|
||||||
aliashdr_t *hdr;
|
aliashdr_t *hdr;
|
||||||
maliasframedesc_t *pframedesc;
|
maliasframedesc_t *pframedesc;
|
||||||
|
@ -2405,7 +2388,7 @@ void PrintFrameName (qmodel_t *m, int frame)
|
||||||
Host_Viewnext_f
|
Host_Viewnext_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Viewnext_f (void)
|
static void Host_Viewnext_f (void)
|
||||||
{
|
{
|
||||||
edict_t *e;
|
edict_t *e;
|
||||||
qmodel_t *m;
|
qmodel_t *m;
|
||||||
|
@ -2429,7 +2412,7 @@ void Host_Viewnext_f (void)
|
||||||
Host_Viewprev_f
|
Host_Viewprev_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Viewprev_f (void)
|
static void Host_Viewprev_f (void)
|
||||||
{
|
{
|
||||||
edict_t *e;
|
edict_t *e;
|
||||||
qmodel_t *m;
|
qmodel_t *m;
|
||||||
|
@ -2457,13 +2440,12 @@ DEMO LOOP CONTROL
|
||||||
===============================================================================
|
===============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Startdemos_f
|
Host_Startdemos_f
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Startdemos_f (void)
|
static void Host_Startdemos_f (void)
|
||||||
{
|
{
|
||||||
int i, c;
|
int i, c;
|
||||||
|
|
||||||
|
@ -2499,7 +2481,6 @@ void Host_Startdemos_f (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
Host_Demos_f
|
Host_Demos_f
|
||||||
|
@ -2507,7 +2488,7 @@ Host_Demos_f
|
||||||
Return to looping demos
|
Return to looping demos
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Demos_f (void)
|
static void Host_Demos_f (void)
|
||||||
{
|
{
|
||||||
if (cls.state == ca_dedicated)
|
if (cls.state == ca_dedicated)
|
||||||
return;
|
return;
|
||||||
|
@ -2524,7 +2505,7 @@ Host_Stopdemo_f
|
||||||
Return to looping demos
|
Return to looping demos
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void Host_Stopdemo_f (void)
|
static void Host_Stopdemo_f (void)
|
||||||
{
|
{
|
||||||
if (cls.state == ca_dedicated)
|
if (cls.state == ca_dedicated)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1788,6 +1788,7 @@ PF_finalefinished -- used by 2021 release.
|
||||||
*/
|
*/
|
||||||
static void PF_finalefinished (void)
|
static void PF_finalefinished (void)
|
||||||
{
|
{
|
||||||
|
G_FLOAT(OFS_RETURN) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PR_spawnfunc_misc_model(edict_t *self)
|
void PR_spawnfunc_misc_model(edict_t *self)
|
||||||
|
@ -1901,7 +1902,20 @@ builtin_t pr_ssqcbuiltins[] =
|
||||||
PF_sv_setspawnparms,
|
PF_sv_setspawnparms,
|
||||||
|
|
||||||
// 2021 release
|
// 2021 release
|
||||||
PF_finalefinished, // void() finaleFinished = #79
|
PF_finalefinished, // float() finaleFinished = #79
|
||||||
|
PF_Fixme, // void localsound (entity client, string sample) = #80
|
||||||
|
PF_Fixme, // void draw_point (vector point, float colormap, float lifetime, float depthtest) = #81
|
||||||
|
PF_Fixme, // void draw_line (vector start, vector end, float colormap, float lifetime, float depthtest) = #82
|
||||||
|
PF_Fixme, // void draw_arrow (vector start, vector end, float colormap, float size, float lifetime, float depthtest) = #83
|
||||||
|
PF_Fixme, // void draw_ray (vector start, vector direction, float length, float colormap, float size, float lifetime, float depthtest) = #84
|
||||||
|
PF_Fixme, // void draw_circle (vector origin, float radius, float colormap, float lifetime, float depthtest) = #85
|
||||||
|
PF_Fixme, // void draw_bounds (vector min, vector max, float colormap, float lifetime, float depthtest) = #86
|
||||||
|
PF_Fixme, // void draw_worldtext (string s, vector origin, float size, float lifetime, float depthtest) = #87
|
||||||
|
PF_Fixme, // void draw_sphere (vector origin, float radius, float colormap, float lifetime, float depthtest) = #88
|
||||||
|
PF_Fixme, // void draw_cylinder (vector origin, float halfHeight, float radius, float colormap, float lifetime, float depthtest) = #89
|
||||||
|
PF_centerprint , // #90
|
||||||
|
PF_bprint,
|
||||||
|
PF_sprint,
|
||||||
};
|
};
|
||||||
int pr_ssqcnumbuiltins = sizeof(pr_ssqcbuiltins)/sizeof(pr_ssqcbuiltins[0]);
|
int pr_ssqcnumbuiltins = sizeof(pr_ssqcbuiltins)/sizeof(pr_ssqcbuiltins[0]);
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
#define FITZQUAKE_VERSION 0.85 //johnfitz
|
#define FITZQUAKE_VERSION 0.85 //johnfitz
|
||||||
#define QUAKESPASM_VERSION 0.94
|
#define QUAKESPASM_VERSION 0.94
|
||||||
#define QUAKESPASM_VER_PATCH 1 // helper to print a string like 0.94.1
|
#define QUAKESPASM_VER_PATCH 2 // helper to print a string like 0.94.2
|
||||||
#ifndef QUAKESPASM_VER_SUFFIX
|
#ifndef QUAKESPASM_VER_SUFFIX
|
||||||
#define QUAKESPASM_VER_SUFFIX // optional version suffix string literal like "-beta1"
|
#define QUAKESPASM_VER_SUFFIX // optional version suffix string literal like "-beta1"
|
||||||
#endif
|
#endif
|
||||||
|
@ -353,6 +353,7 @@ void ExtraMaps_Init (void);
|
||||||
void Modlist_Init (void);
|
void Modlist_Init (void);
|
||||||
void DemoList_Init (void);
|
void DemoList_Init (void);
|
||||||
|
|
||||||
|
void ExtraMaps_NewGame (void);
|
||||||
void DemoList_Rebuild (void);
|
void DemoList_Rebuild (void);
|
||||||
|
|
||||||
extern int current_skill; // skill level for currently loaded level (in case
|
extern int current_skill; // skill level for currently loaded level (in case
|
||||||
|
|
|
@ -945,15 +945,29 @@ void R_SetupAliasLighting (entity_t *e)
|
||||||
int i;
|
int i;
|
||||||
int quantizedangle;
|
int quantizedangle;
|
||||||
float radiansangle;
|
float radiansangle;
|
||||||
float *origin = e->origin;
|
float *origin;
|
||||||
|
|
||||||
if (!r_refdef.drawworld)
|
if (!r_refdef.drawworld)
|
||||||
lightcolor[0] = lightcolor[1] = lightcolor[2] = 255;
|
lightcolor[0] = lightcolor[1] = lightcolor[2] = 255;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (e->eflags & EFLAGS_VIEWMODEL)
|
if (e->eflags & EFLAGS_VIEWMODEL)
|
||||||
|
{
|
||||||
origin = r_refdef.vieworg;
|
origin = r_refdef.vieworg;
|
||||||
R_LightPoint (origin);
|
R_LightPoint (origin);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vec3_t lpos;
|
||||||
|
origin = e->origin;
|
||||||
|
VectorCopy (origin, lpos);
|
||||||
|
// start the light trace from slightly above the origin
|
||||||
|
// this helps with models whose origin is below ground level, but are otherwise visible
|
||||||
|
// (e.g. some of the candles in the DOTM start map, which would otherwise appear black)
|
||||||
|
if (e->model->maxs[2] > 0)
|
||||||
|
lpos[2] += e->model->maxs[2] * 0.5f;
|
||||||
|
R_LightPoint (lpos);
|
||||||
|
}
|
||||||
|
|
||||||
//add dlights
|
//add dlights
|
||||||
for (i=0 ; i<MAX_DLIGHTS ; i++)
|
for (i=0 ; i<MAX_DLIGHTS ; i++)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<H1>QuakeSpasm</H1>
|
<H1>QuakeSpasm</H1>
|
||||||
|
|
||||||
<H2></H2>
|
<H2></H2>
|
||||||
<P><EM>Page last edited: Sep. 2021</EM></P>
|
<P><EM>Page last edited: October 2021</EM></P>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<H2><A NAME="toc1">1.</A> <A HREF="Quakespasm.html#s1">About </A></H2>
|
<H2><A NAME="toc1">1.</A> <A HREF="Quakespasm.html#s1">About </A></H2>
|
||||||
|
@ -36,25 +36,26 @@
|
||||||
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Changes</A></H2>
|
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Changes</A></H2>
|
||||||
|
|
||||||
<UL>
|
<UL>
|
||||||
<LI><A NAME="toc5.1">5.1</A> <A HREF="Quakespasm.html#ss5.1">Changes in 0.94.1</A>
|
<LI><A NAME="toc5.1">5.1</A> <A HREF="Quakespasm.html#ss5.1">Changes in 0.94.2</A>
|
||||||
<LI><A NAME="toc5.2">5.2</A> <A HREF="Quakespasm.html#ss5.2">Changes in 0.94.0</A>
|
<LI><A NAME="toc5.2">5.2</A> <A HREF="Quakespasm.html#ss5.2">Changes in 0.94.1</A>
|
||||||
<LI><A NAME="toc5.3">5.3</A> <A HREF="Quakespasm.html#ss5.3">Changes in 0.93.2</A>
|
<LI><A NAME="toc5.3">5.3</A> <A HREF="Quakespasm.html#ss5.3">Changes in 0.94.0</A>
|
||||||
<LI><A NAME="toc5.4">5.4</A> <A HREF="Quakespasm.html#ss5.4">Changes in 0.93.1</A>
|
<LI><A NAME="toc5.4">5.4</A> <A HREF="Quakespasm.html#ss5.4">Changes in 0.93.2</A>
|
||||||
<LI><A NAME="toc5.5">5.5</A> <A HREF="Quakespasm.html#ss5.5">Changes in 0.93.0</A>
|
<LI><A NAME="toc5.5">5.5</A> <A HREF="Quakespasm.html#ss5.5">Changes in 0.93.1</A>
|
||||||
<LI><A NAME="toc5.6">5.6</A> <A HREF="Quakespasm.html#ss5.6">Changes in 0.92.1</A>
|
<LI><A NAME="toc5.6">5.6</A> <A HREF="Quakespasm.html#ss5.6">Changes in 0.93.0</A>
|
||||||
<LI><A NAME="toc5.7">5.7</A> <A HREF="Quakespasm.html#ss5.7">Changes in 0.92.0</A>
|
<LI><A NAME="toc5.7">5.7</A> <A HREF="Quakespasm.html#ss5.7">Changes in 0.92.1</A>
|
||||||
<LI><A NAME="toc5.8">5.8</A> <A HREF="Quakespasm.html#ss5.8">Changes in 0.91.0</A>
|
<LI><A NAME="toc5.8">5.8</A> <A HREF="Quakespasm.html#ss5.8">Changes in 0.92.0</A>
|
||||||
<LI><A NAME="toc5.9">5.9</A> <A HREF="Quakespasm.html#ss5.9">Changes in 0.90.1</A>
|
<LI><A NAME="toc5.9">5.9</A> <A HREF="Quakespasm.html#ss5.9">Changes in 0.91.0</A>
|
||||||
<LI><A NAME="toc5.10">5.10</A> <A HREF="Quakespasm.html#ss5.10">Changes in 0.90.0</A>
|
<LI><A NAME="toc5.10">5.10</A> <A HREF="Quakespasm.html#ss5.10">Changes in 0.90.1</A>
|
||||||
<LI><A NAME="toc5.11">5.11</A> <A HREF="Quakespasm.html#ss5.11">Changes in 0.85.9</A>
|
<LI><A NAME="toc5.11">5.11</A> <A HREF="Quakespasm.html#ss5.11">Changes in 0.90.0</A>
|
||||||
<LI><A NAME="toc5.12">5.12</A> <A HREF="Quakespasm.html#ss5.12">Changes in 0.85.8</A>
|
<LI><A NAME="toc5.12">5.12</A> <A HREF="Quakespasm.html#ss5.12">Changes in 0.85.9</A>
|
||||||
<LI><A NAME="toc5.13">5.13</A> <A HREF="Quakespasm.html#ss5.13">Changes in 0.85.7</A>
|
<LI><A NAME="toc5.13">5.13</A> <A HREF="Quakespasm.html#ss5.13">Changes in 0.85.8</A>
|
||||||
<LI><A NAME="toc5.14">5.14</A> <A HREF="Quakespasm.html#ss5.14">Changes in 0.85.6</A>
|
<LI><A NAME="toc5.14">5.14</A> <A HREF="Quakespasm.html#ss5.14">Changes in 0.85.7</A>
|
||||||
<LI><A NAME="toc5.15">5.15</A> <A HREF="Quakespasm.html#ss5.15">Changes in 0.85.5</A>
|
<LI><A NAME="toc5.15">5.15</A> <A HREF="Quakespasm.html#ss5.15">Changes in 0.85.6</A>
|
||||||
<LI><A NAME="toc5.16">5.16</A> <A HREF="Quakespasm.html#ss5.16">Changes in 0.85.4</A>
|
<LI><A NAME="toc5.16">5.16</A> <A HREF="Quakespasm.html#ss5.16">Changes in 0.85.5</A>
|
||||||
<LI><A NAME="toc5.17">5.17</A> <A HREF="Quakespasm.html#ss5.17">Changes in 0.85.3</A>
|
<LI><A NAME="toc5.17">5.17</A> <A HREF="Quakespasm.html#ss5.17">Changes in 0.85.4</A>
|
||||||
<LI><A NAME="toc5.18">5.18</A> <A HREF="Quakespasm.html#ss5.18">Changes in 0.85.2</A>
|
<LI><A NAME="toc5.18">5.18</A> <A HREF="Quakespasm.html#ss5.18">Changes in 0.85.3</A>
|
||||||
<LI><A NAME="toc5.19">5.19</A> <A HREF="Quakespasm.html#ss5.19">Changes in 0.85.1</A>
|
<LI><A NAME="toc5.19">5.19</A> <A HREF="Quakespasm.html#ss5.19">Changes in 0.85.2</A>
|
||||||
|
<LI><A NAME="toc5.20">5.20</A> <A HREF="Quakespasm.html#ss5.20">Changes in 0.85.1</A>
|
||||||
</UL>
|
</UL>
|
||||||
<P>
|
<P>
|
||||||
<H2><A NAME="toc6">6.</A> <A HREF="Quakespasm.html#s6">Copyright </A></H2>
|
<H2><A NAME="toc6">6.</A> <A HREF="Quakespasm.html#s6">Copyright </A></H2>
|
||||||
|
@ -222,7 +223,18 @@ Compile time options include
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Changes in 0.94.1</A>
|
<H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Changes in 0.94.2</A>
|
||||||
|
</H2>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
<UL>
|
||||||
|
<LI> 2021 rerelease: Support for playing the latest update.</LI>
|
||||||
|
<LI> 2021 rerelease: Fix pitch black models in lit areas in DOTM.</LI>
|
||||||
|
<LI> 2021 rerelease: Fix black candles in the DOTM start map.</LI>
|
||||||
|
<LI> 2021 rerelease: Look for QuakeEX.kpf under userdir, too.</LI>
|
||||||
|
</UL>
|
||||||
|
</P>
|
||||||
|
<H2><A NAME="ss5.2">5.2</A> <A HREF="#toc5.2">Changes in 0.94.1</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -230,7 +242,7 @@ Compile time options include
|
||||||
<LI> Fix lightmap issues after vkQuake surface mark/cull optimizations merge (sf.net bug/50)</LI>
|
<LI> Fix lightmap issues after vkQuake surface mark/cull optimizations merge (sf.net bug/50)</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.2">5.2</A> <A HREF="#toc5.2">Changes in 0.94.0</A>
|
<H2><A NAME="ss5.3">5.3</A> <A HREF="#toc5.3">Changes in 0.94.0</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -255,7 +267,7 @@ Compile time options include
|
||||||
<LI> Source repository moved to git.</LI>
|
<LI> Source repository moved to git.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.3">5.3</A> <A HREF="#toc5.3">Changes in 0.93.2</A>
|
<H2><A NAME="ss5.4">5.4</A> <A HREF="#toc5.4">Changes in 0.93.2</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -268,7 +280,7 @@ Compile time options include
|
||||||
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.4">5.4</A> <A HREF="#toc5.4">Changes in 0.93.1</A>
|
<H2><A NAME="ss5.5">5.5</A> <A HREF="#toc5.5">Changes in 0.93.1</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -282,7 +294,7 @@ Compile time options include
|
||||||
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.5">5.5</A> <A HREF="#toc5.5">Changes in 0.93.0</A>
|
<H2><A NAME="ss5.6">5.6</A> <A HREF="#toc5.6">Changes in 0.93.0</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -325,7 +337,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Update the third-party libraries.</LI>
|
<LI> Update the third-party libraries.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.6">5.6</A> <A HREF="#toc5.6">Changes in 0.92.1</A>
|
<H2><A NAME="ss5.7">5.7</A> <A HREF="#toc5.7">Changes in 0.92.1</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -335,7 +347,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Updated some of the third-party libraries.</LI>
|
<LI> Updated some of the third-party libraries.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.7">5.7</A> <A HREF="#toc5.7">Changes in 0.92.0</A>
|
<H2><A NAME="ss5.8">5.8</A> <A HREF="#toc5.8">Changes in 0.92.0</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -355,7 +367,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Updated some of the third-party libraries. Other fixes/clean-ups.</LI>
|
<LI> Updated some of the third-party libraries. Other fixes/clean-ups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.8">5.8</A> <A HREF="#toc5.8">Changes in 0.91.0</A>
|
<H2><A NAME="ss5.9">5.9</A> <A HREF="#toc5.9">Changes in 0.91.0</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
|
|
||||||
|
@ -415,7 +427,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Raised MAX_SFX to 1024 (was 512).</LI>
|
<LI> Raised MAX_SFX to 1024 (was 512).</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.9">5.9</A> <A HREF="#toc5.9">Changes in 0.90.1</A>
|
<H2><A NAME="ss5.10">5.10</A> <A HREF="#toc5.10">Changes in 0.90.1</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
|
|
||||||
|
@ -425,8 +437,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<UL>
|
<UL>
|
||||||
<LI> Fix dynamic light artifact where changing lightmap are rendered one frame late (bug introduced in 0.90.0).</LI>
|
<LI> Fix dynamic light artifact where changing lightmap are rendered one frame late (bug introduced in 0.90.0).</LI>
|
||||||
<LI> Fix texture memory leak when changing video modes with SDL2.</LI>
|
<LI> Fix texture memory leak when changing video modes with SDL2.</LI>
|
||||||
<LI> Fix rare incorrect mdl lighting on 64-bit builds.
|
<LI> Fix a rare incorrect mdl lighting on 64-bit builds. <A HREF="http://forums.insideqc.com/viewtopic.php?f=3&t=5620">(details here.)</A></LI>
|
||||||
<A HREF="http://forums.insideqc.com/viewtopic.php?f=3&t=5620">(details here.)</A></LI>
|
|
||||||
<LI> Fix fullbrights turning black after "kill" command (bug introduced in 0.90.0).</LI>
|
<LI> Fix fullbrights turning black after "kill" command (bug introduced in 0.90.0).</LI>
|
||||||
<LI> Clear all fog values on map change to prevent colored fog carrying over to jam3_tronyn.bsp.</LI>
|
<LI> Clear all fog values on map change to prevent colored fog carrying over to jam3_tronyn.bsp.</LI>
|
||||||
<LI> Allow loading saves with } character in quoted strings, fixes issue with retrojam1_skacky.bsp.</LI>
|
<LI> Allow loading saves with } character in quoted strings, fixes issue with retrojam1_skacky.bsp.</LI>
|
||||||
|
@ -475,7 +486,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Update 3rd-party libraries.</LI>
|
<LI> Update 3rd-party libraries.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.10">5.10</A> <A HREF="#toc5.10">Changes in 0.90.0</A>
|
<H2><A NAME="ss5.11">5.11</A> <A HREF="#toc5.11">Changes in 0.90.0</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -521,7 +532,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Other fixes and clean-ups.</LI>
|
<LI> Other fixes and clean-ups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.11">5.11</A> <A HREF="#toc5.11">Changes in 0.85.9</A>
|
<H2><A NAME="ss5.12">5.12</A> <A HREF="#toc5.12">Changes in 0.85.9</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -545,7 +556,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Several other minor fixes/cleanups.</LI>
|
<LI> Several other minor fixes/cleanups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.12">5.12</A> <A HREF="#toc5.12">Changes in 0.85.8</A>
|
<H2><A NAME="ss5.13">5.13</A> <A HREF="#toc5.13">Changes in 0.85.8</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -570,7 +581,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Miscellaneous source code cleanups.</LI>
|
<LI> Miscellaneous source code cleanups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.13">5.13</A> <A HREF="#toc5.13">Changes in 0.85.7</A>
|
<H2><A NAME="ss5.14">5.14</A> <A HREF="#toc5.14">Changes in 0.85.7</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -588,7 +599,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Several other small changes mostly invisible to the end-user</LI>
|
<LI> Several other small changes mostly invisible to the end-user</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.14">5.14</A> <A HREF="#toc5.14">Changes in 0.85.6</A>
|
<H2><A NAME="ss5.15">5.15</A> <A HREF="#toc5.15">Changes in 0.85.6</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -599,7 +610,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Minor SDL video fixes.</LI>
|
<LI> Minor SDL video fixes.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.15">5.15</A> <A HREF="#toc5.15">Changes in 0.85.5</A>
|
<H2><A NAME="ss5.16">5.16</A> <A HREF="#toc5.16">Changes in 0.85.5</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -618,7 +629,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Several code updates from uHexen2 project, several code cleanups.</LI>
|
<LI> Several code updates from uHexen2 project, several code cleanups.</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.16">5.16</A> <A HREF="#toc5.16">Changes in 0.85.4</A>
|
<H2><A NAME="ss5.17">5.17</A> <A HREF="#toc5.17">Changes in 0.85.4</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -636,7 +647,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
<LI> Other minor sound and cdaudio updates</LI>
|
<LI> Other minor sound and cdaudio updates</LI>
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
<H2><A NAME="ss5.17">5.17</A> <A HREF="#toc5.17">Changes in 0.85.3</A>
|
<H2><A NAME="ss5.18">5.18</A> <A HREF="#toc5.18">Changes in 0.85.3</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -659,7 +670,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<H2><A NAME="ss5.18">5.18</A> <A HREF="#toc5.18">Changes in 0.85.2</A>
|
<H2><A NAME="ss5.19">5.19</A> <A HREF="#toc5.19">Changes in 0.85.2</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
@ -678,7 +689,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
||||||
</UL>
|
</UL>
|
||||||
</P>
|
</P>
|
||||||
|
|
||||||
<H2><A NAME="ss5.19">5.19</A> <A HREF="#toc5.19">Changes in 0.85.1</A>
|
<H2><A NAME="ss5.20">5.20</A> <A HREF="#toc5.20">Changes in 0.85.1</A>
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
|
|
130
Quakespasm.txt
130
Quakespasm.txt
|
@ -19,35 +19,36 @@
|
||||||
4.4 Quake '2021 re-release'
|
4.4 Quake '2021 re-release'
|
||||||
|
|
||||||
5. Changes
|
5. Changes
|
||||||
5.1 Changes in 0.94.1
|
5.1 Changes in 0.94.2
|
||||||
5.2 Changes in 0.94.0
|
5.2 Changes in 0.94.1
|
||||||
5.3 Changes in 0.93.2
|
5.3 Changes in 0.94.0
|
||||||
5.4 Changes in 0.93.1
|
5.4 Changes in 0.93.2
|
||||||
5.5 Changes in 0.93.0
|
5.5 Changes in 0.93.1
|
||||||
5.6 Changes in 0.92.1
|
5.6 Changes in 0.93.0
|
||||||
5.7 Changes in 0.92.0
|
5.7 Changes in 0.92.1
|
||||||
5.8 Changes in 0.91.0
|
5.8 Changes in 0.92.0
|
||||||
5.8.1 Bugfixes
|
5.9 Changes in 0.91.0
|
||||||
5.8.2 Visual improvements
|
|
||||||
5.8.3 Interface improvements
|
|
||||||
5.8.4 Code cleanup / Other
|
|
||||||
5.8.5 Raised limits
|
|
||||||
5.9 Changes in 0.90.1
|
|
||||||
5.9.1 Bugfixes
|
5.9.1 Bugfixes
|
||||||
5.9.2 Performance
|
5.9.2 Visual improvements
|
||||||
5.9.3 Visual improvements
|
5.9.3 Interface improvements
|
||||||
5.9.4 Interface improvements
|
5.9.4 Code cleanup / Other
|
||||||
5.9.5 Code cleanup
|
5.9.5 Raised limits
|
||||||
5.10 Changes in 0.90.0
|
5.10 Changes in 0.90.1
|
||||||
5.11 Changes in 0.85.9
|
5.10.1 Bugfixes
|
||||||
5.12 Changes in 0.85.8
|
5.10.2 Performance
|
||||||
5.13 Changes in 0.85.7
|
5.10.3 Visual improvements
|
||||||
5.14 Changes in 0.85.6
|
5.10.4 Interface improvements
|
||||||
5.15 Changes in 0.85.5
|
5.10.5 Code cleanup
|
||||||
5.16 Changes in 0.85.4
|
5.11 Changes in 0.90.0
|
||||||
5.17 Changes in 0.85.3
|
5.12 Changes in 0.85.9
|
||||||
5.18 Changes in 0.85.2
|
5.13 Changes in 0.85.8
|
||||||
5.19 Changes in 0.85.1
|
5.14 Changes in 0.85.7
|
||||||
|
5.15 Changes in 0.85.6
|
||||||
|
5.16 Changes in 0.85.5
|
||||||
|
5.17 Changes in 0.85.4
|
||||||
|
5.18 Changes in 0.85.3
|
||||||
|
5.19 Changes in 0.85.2
|
||||||
|
5.20 Changes in 0.85.1
|
||||||
|
|
||||||
6. Copyright
|
6. Copyright
|
||||||
7. Contact
|
7. Contact
|
||||||
|
@ -56,7 +57,7 @@
|
||||||
|
|
||||||
______________________________________________________________________
|
______________________________________________________________________
|
||||||
|
|
||||||
Page last edited: Sep. 2021
|
Page last edited: October 2021
|
||||||
|
|
||||||
|
|
||||||
1. About
|
1. About
|
||||||
|
@ -260,13 +261,24 @@
|
||||||
5. Changes
|
5. Changes
|
||||||
|
|
||||||
|
|
||||||
5.1. Changes in 0.94.1
|
5.1. Changes in 0.94.2
|
||||||
|
|
||||||
|
o 2021 rerelease: Support for playing the latest update.
|
||||||
|
|
||||||
|
o 2021 rerelease: Fix pitch black models in lit areas in DOTM.
|
||||||
|
|
||||||
|
o 2021 rerelease: Fix black candles in the DOTM start map.
|
||||||
|
|
||||||
|
o 2021 rerelease: Look for QuakeEX.kpf under userdir, too.
|
||||||
|
|
||||||
|
|
||||||
|
5.2. Changes in 0.94.1
|
||||||
|
|
||||||
o Fix lightmap issues after vkQuake surface mark/cull optimizations
|
o Fix lightmap issues after vkQuake surface mark/cull optimizations
|
||||||
merge (sf.net bug/50)
|
merge (sf.net bug/50)
|
||||||
|
|
||||||
|
|
||||||
5.2. Changes in 0.94.0
|
5.3. Changes in 0.94.0
|
||||||
|
|
||||||
o Initial support for playing the 'Quake 2021 re-release' content
|
o Initial support for playing the 'Quake 2021 re-release' content
|
||||||
(thanks to Andrei Drexler for bulk of the work, Guillaume Plourde
|
(thanks to Andrei Drexler for bulk of the work, Guillaume Plourde
|
||||||
|
@ -315,7 +327,7 @@
|
||||||
o Source repository moved to git.
|
o Source repository moved to git.
|
||||||
|
|
||||||
|
|
||||||
5.3. Changes in 0.93.2
|
5.4. Changes in 0.93.2
|
||||||
|
|
||||||
o Lightmaps are now dynamically allocated (from QSS), and
|
o Lightmaps are now dynamically allocated (from QSS), and
|
||||||
BLOCK_WIDTH/HEIGHT raised from 128 to 256.
|
BLOCK_WIDTH/HEIGHT raised from 128 to 256.
|
||||||
|
@ -335,7 +347,7 @@
|
||||||
o Update the third-party libraries. Other fixes/cleanups.
|
o Update the third-party libraries. Other fixes/cleanups.
|
||||||
|
|
||||||
|
|
||||||
5.4. Changes in 0.93.1
|
5.5. Changes in 0.93.1
|
||||||
|
|
||||||
o Fixed a fog regression which was introduced in 0.93.0.
|
o Fixed a fog regression which was introduced in 0.93.0.
|
||||||
|
|
||||||
|
@ -353,7 +365,7 @@
|
||||||
o Update the third-party libraries. Other fixes/cleanups.
|
o Update the third-party libraries. Other fixes/cleanups.
|
||||||
|
|
||||||
|
|
||||||
5.5. Changes in 0.93.0
|
5.6. Changes in 0.93.0
|
||||||
|
|
||||||
o Raise default "joy_deadzone_trigger" cvar to 0.2.
|
o Raise default "joy_deadzone_trigger" cvar to 0.2.
|
||||||
|
|
||||||
|
@ -438,7 +450,7 @@
|
||||||
o Update the third-party libraries.
|
o Update the third-party libraries.
|
||||||
|
|
||||||
|
|
||||||
5.6. Changes in 0.92.1
|
5.7. Changes in 0.92.1
|
||||||
|
|
||||||
o Fixed large menu scale factors (was broken in 0.92.0).
|
o Fixed large menu scale factors (was broken in 0.92.0).
|
||||||
|
|
||||||
|
@ -447,7 +459,7 @@
|
||||||
o Updated some of the third-party libraries.
|
o Updated some of the third-party libraries.
|
||||||
|
|
||||||
|
|
||||||
5.7. Changes in 0.92.0
|
5.8. Changes in 0.92.0
|
||||||
|
|
||||||
o SDL2 Game Controller support.
|
o SDL2 Game Controller support.
|
||||||
|
|
||||||
|
@ -484,9 +496,9 @@
|
||||||
o Updated some of the third-party libraries. Other fixes/clean-ups.
|
o Updated some of the third-party libraries. Other fixes/clean-ups.
|
||||||
|
|
||||||
|
|
||||||
5.8. Changes in 0.91.0
|
5.9. Changes in 0.91.0
|
||||||
|
|
||||||
5.8.1. Bugfixes
|
5.9.1. Bugfixes
|
||||||
|
|
||||||
o Fix unwanted fog mode change upon video restart.
|
o Fix unwanted fog mode change upon video restart.
|
||||||
|
|
||||||
|
@ -522,7 +534,7 @@
|
||||||
|
|
||||||
o Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
|
o Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
|
||||||
|
|
||||||
5.8.2. Visual improvements
|
5.9.2. Visual improvements
|
||||||
|
|
||||||
o New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning
|
o New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning
|
||||||
specific liquid opacities (from DirectQ/RMQEngine, non-archived,
|
specific liquid opacities (from DirectQ/RMQEngine, non-archived,
|
||||||
|
@ -533,18 +545,18 @@
|
||||||
o GLSL gamma is now supported on older hardware without NPOT
|
o GLSL gamma is now supported on older hardware without NPOT
|
||||||
extension.
|
extension.
|
||||||
|
|
||||||
5.8.3. Interface improvements
|
5.9.3. Interface improvements
|
||||||
|
|
||||||
o New r_pos command to show player position.
|
o New r_pos command to show player position.
|
||||||
|
|
||||||
o NaN detection in traceline with "developer 1" set now warns instead
|
o NaN detection in traceline with "developer 1" set now warns instead
|
||||||
of errors.
|
of errors.
|
||||||
|
|
||||||
5.8.4. Code cleanup / Other
|
5.9.4. Code cleanup / Other
|
||||||
|
|
||||||
o Update third-party libraries.
|
o Update third-party libraries.
|
||||||
|
|
||||||
5.8.5. Raised limits
|
5.9.5. Raised limits
|
||||||
|
|
||||||
o Default max_edicts 8192 (was 2048) and no longer saved to
|
o Default max_edicts 8192 (was 2048) and no longer saved to
|
||||||
config.cfg.
|
config.cfg.
|
||||||
|
@ -556,16 +568,16 @@
|
||||||
o Raised MAX_SFX to 1024 (was 512).
|
o Raised MAX_SFX to 1024 (was 512).
|
||||||
|
|
||||||
|
|
||||||
5.9. Changes in 0.90.1
|
5.10. Changes in 0.90.1
|
||||||
|
|
||||||
5.9.1. Bugfixes
|
5.10.1. Bugfixes
|
||||||
|
|
||||||
o Fix dynamic light artifact where changing lightmap are rendered one
|
o Fix dynamic light artifact where changing lightmap are rendered one
|
||||||
frame late (bug introduced in 0.90.0).
|
frame late (bug introduced in 0.90.0).
|
||||||
|
|
||||||
o Fix texture memory leak when changing video modes with SDL2.
|
o Fix texture memory leak when changing video modes with SDL2.
|
||||||
|
|
||||||
o Fix rare incorrect mdl lighting on 64-bit builds. (details here:
|
o Fix a rare incorrect mdl lighting on 64-bit builds. (details here:
|
||||||
http://forums.insideqc.com/viewtopic.php?f=3&t=5620)
|
http://forums.insideqc.com/viewtopic.php?f=3&t=5620)
|
||||||
|
|
||||||
o Fix fullbrights turning black after "kill" command (bug introduced
|
o Fix fullbrights turning black after "kill" command (bug introduced
|
||||||
|
@ -581,13 +593,13 @@
|
||||||
|
|
||||||
o Fix crash on out-of-bounds skin number.
|
o Fix crash on out-of-bounds skin number.
|
||||||
|
|
||||||
5.9.2. Performance
|
5.10.2. Performance
|
||||||
|
|
||||||
o Use multithreaded OpenGL on OS X for better performance.
|
o Use multithreaded OpenGL on OS X for better performance.
|
||||||
|
|
||||||
o New, faster mdl renderer using GLSL. Disable with "-noglslalias".
|
o New, faster mdl renderer using GLSL. Disable with "-noglslalias".
|
||||||
|
|
||||||
5.9.3. Visual improvements
|
5.10.3. Visual improvements
|
||||||
|
|
||||||
o New gamma correction implementation using GLSL. Fixes all known
|
o New gamma correction implementation using GLSL. Fixes all known
|
||||||
gamma issues (affecting the full display, persisting after
|
gamma issues (affecting the full display, persisting after
|
||||||
|
@ -601,7 +613,7 @@
|
||||||
|
|
||||||
o r_noshadow_list cvar added (from MarkV.)
|
o r_noshadow_list cvar added (from MarkV.)
|
||||||
|
|
||||||
5.9.4. Interface improvements
|
5.10.4. Interface improvements
|
||||||
|
|
||||||
o Support pausing demo playback with the "pause" command.
|
o Support pausing demo playback with the "pause" command.
|
||||||
|
|
||||||
|
@ -618,14 +630,14 @@
|
||||||
"trying to load ent", "bad chunk length", "meshing",
|
"trying to load ent", "bad chunk length", "meshing",
|
||||||
"PR_AlocStringSlots: realloc'ing"
|
"PR_AlocStringSlots: realloc'ing"
|
||||||
|
|
||||||
5.9.5. Code cleanup
|
5.10.5. Code cleanup
|
||||||
|
|
||||||
o Clean up IDE project files to build on fresh systems.
|
o Clean up IDE project files to build on fresh systems.
|
||||||
|
|
||||||
o Update 3rd-party libraries.
|
o Update 3rd-party libraries.
|
||||||
|
|
||||||
|
|
||||||
5.10. Changes in 0.90.0
|
5.11. Changes in 0.90.0
|
||||||
|
|
||||||
o Fix issues on Windows systems with DPI scaling.
|
o Fix issues on Windows systems with DPI scaling.
|
||||||
|
|
||||||
|
@ -733,7 +745,7 @@
|
||||||
o Other fixes and clean-ups.
|
o Other fixes and clean-ups.
|
||||||
|
|
||||||
|
|
||||||
5.11. Changes in 0.85.9
|
5.12. Changes in 0.85.9
|
||||||
|
|
||||||
o Fixes for several undefined behaviors in C code (gcc-4.8 support.)
|
o Fixes for several undefined behaviors in C code (gcc-4.8 support.)
|
||||||
|
|
||||||
|
@ -780,7 +792,7 @@
|
||||||
o Several other minor fixes/cleanups.
|
o Several other minor fixes/cleanups.
|
||||||
|
|
||||||
|
|
||||||
5.12. Changes in 0.85.8
|
5.13. Changes in 0.85.8
|
||||||
|
|
||||||
o Made Quake shareware 1.00 and 1.01 versions to be recognized
|
o Made Quake shareware 1.00 and 1.01 versions to be recognized
|
||||||
properly.
|
properly.
|
||||||
|
@ -827,7 +839,7 @@
|
||||||
o Miscellaneous source code cleanups.
|
o Miscellaneous source code cleanups.
|
||||||
|
|
||||||
|
|
||||||
5.13. Changes in 0.85.7
|
5.14. Changes in 0.85.7
|
||||||
|
|
||||||
o Added support for cross-level demo playback
|
o Added support for cross-level demo playback
|
||||||
|
|
||||||
|
@ -853,7 +865,7 @@
|
||||||
o Several other small changes mostly invisible to the end-user
|
o Several other small changes mostly invisible to the end-user
|
||||||
|
|
||||||
|
|
||||||
5.14. Changes in 0.85.6
|
5.15. Changes in 0.85.6
|
||||||
|
|
||||||
o More work for string buffer safety
|
o More work for string buffer safety
|
||||||
|
|
||||||
|
@ -866,7 +878,7 @@
|
||||||
o Minor SDL video fixes.
|
o Minor SDL video fixes.
|
||||||
|
|
||||||
|
|
||||||
5.15. Changes in 0.85.5
|
5.16. Changes in 0.85.5
|
||||||
|
|
||||||
o SDL input driver updated adding native keymap and dead key support
|
o SDL input driver updated adding native keymap and dead key support
|
||||||
to the console
|
to the console
|
||||||
|
@ -897,7 +909,7 @@
|
||||||
o Several code updates from uHexen2 project, several code cleanups.
|
o Several code updates from uHexen2 project, several code cleanups.
|
||||||
|
|
||||||
|
|
||||||
5.16. Changes in 0.85.4
|
5.17. Changes in 0.85.4
|
||||||
|
|
||||||
o Implement music (OGG, MP3, WAV) playback
|
o Implement music (OGG, MP3, WAV) playback
|
||||||
|
|
||||||
|
@ -925,7 +937,7 @@
|
||||||
o Other minor sound and cdaudio updates
|
o Other minor sound and cdaudio updates
|
||||||
|
|
||||||
|
|
||||||
5.17. Changes in 0.85.3
|
5.18. Changes in 0.85.3
|
||||||
|
|
||||||
o Fix the "-dedicated" option (thanks Oz) and add platform specific
|
o Fix the "-dedicated" option (thanks Oz) and add platform specific
|
||||||
networking code (default) rather than SDL_net
|
networking code (default) rather than SDL_net
|
||||||
|
@ -962,7 +974,7 @@
|
||||||
some other CD tweaks.
|
some other CD tweaks.
|
||||||
|
|
||||||
|
|
||||||
5.18. Changes in 0.85.2
|
5.19. Changes in 0.85.2
|
||||||
|
|
||||||
o Replace the old "Screen size" slider with a "Scale" slider
|
o Replace the old "Screen size" slider with a "Scale" slider
|
||||||
|
|
||||||
|
@ -990,7 +1002,7 @@
|
||||||
o Add OSX Makefile (tested?)
|
o Add OSX Makefile (tested?)
|
||||||
|
|
||||||
|
|
||||||
5.19. Changes in 0.85.1
|
5.20. Changes in 0.85.1
|
||||||
|
|
||||||
o 64 bit CPU support
|
o 64 bit CPU support
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue