mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2025-04-20 09:55:38 +00:00
Merge remote-tracking branch 'sf/master' into qss
This commit is contained in:
commit
a5275c95d5
17 changed files with 364 additions and 171 deletions
|
@ -174,6 +174,21 @@
|
|||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../../Quake/menu.h" />
|
||||
<Unit filename="..\..\Quake\mdfour.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\fs_zip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\snd_voip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\pr_ext.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\r_part_fte.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../../Quake/modelgen.h" />
|
||||
<Unit filename="../../Quake/net.h" />
|
||||
<Unit filename="../../Quake/net_bsd.c">
|
||||
|
|
|
@ -173,6 +173,21 @@
|
|||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../../Quake/menu.h" />
|
||||
<Unit filename="..\..\Quake\mdfour.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\fs_zip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\snd_voip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\pr_ext.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\r_part_fte.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="../../Quake/modelgen.h" />
|
||||
<Unit filename="../../Quake/net.h" />
|
||||
<Unit filename="../../Quake/net_bsd.c">
|
||||
|
|
|
@ -134,27 +134,22 @@ A Quakespasm App (including program launcher and update framework) can be made u
|
|||
Alternatively, have a look at <bf>Makefile.darwin</bf> for more instructions on building from a console.
|
||||
</p>
|
||||
|
||||
|
||||
<sect> Quake '2021 re-release' <p>
|
||||
QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content:
|
||||
<itemize>
|
||||
<item> Copy the quakespasm exe to your rerelease installation.
|
||||
<item> Extract the localization folder from QuakeEX.kpf (which is actually a zip file), and place it in the rerelease directory. Linux (Unix) users can do the following, for example:<newline>
|
||||
<verb>unzip QuakeEX.kpf localization/loc_english.txt</verb>
|
||||
<item> Run quakespasm as you normally do.
|
||||
</itemize>
|
||||
<sect1> Quake '2021 re-release' <p>
|
||||
QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: Copy the quakespasm binary to your rerelease installation and run quakespasm as you normally do.</p>
|
||||
|
||||
|
||||
<sect> Changes<p>
|
||||
|
||||
<sect1> Changes in 0.94.0<p>
|
||||
<itemize>
|
||||
<item> Initial support for playing the 'Quake 2021 re-release' content (thanks to Andrei Drexler for bulk of the work.)
|
||||
<item> Initial support for playing the 'Quake 2021 re-release' content (thanks to Andrei Drexler for bulk of the work, Guillaume Plourde for Q64 bsp format support.)
|
||||
<item> Fix rendering bug when cl_bobcycle was set to zero (sf.net bug/41)
|
||||
<item> Fixed buffer overflow with large char skybox names (sf.net bug/38)
|
||||
<item> Fixed a missing MAXALIASFRAMES bounds check (sf.net bug/37)
|
||||
<item> OpenGL: workaround Intel UHD 600 driver bug (sf.net bug/39)
|
||||
<item> OpenGL: merged surface mark & cull optimizations from vkQuake.
|
||||
<item> Compensate viewmodel distortion at fov > 90 (based on code from Qrack, thanks to Andrei Drexler for the patch.)
|
||||
<item> Raised MAX_GLTEXTURES limit from 2048 to 4096 for now.
|
||||
<item> Changed 'model has a skin taller than 480' error into a warning
|
||||
<item> Reject lit files if they're the wrong size (eg hipnotic/start.bsp vs id1/start.lit or just a bsp that no longer has any coloured lits, etc)
|
||||
<item> External ent files are now versioned using 4 digit crc of the original map's ents, like e1m1@c49d.ent, which is much safer. The old method (e.g. e1m1.ent) still works but isn't recommended.
|
||||
|
|
|
@ -213,6 +213,7 @@ OBJS = strlcat.obj &
|
|||
wad.obj &
|
||||
cmd.obj &
|
||||
common.obj &
|
||||
mdfour.obj &
|
||||
fs_zip.obj &
|
||||
crc.obj &
|
||||
cvar.obj &
|
||||
|
|
|
@ -66,6 +66,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
/* BSP2 support. 32bits instead of shorts for everything (bboxes use floats) */
|
||||
#define BSP2VERSION_BSP2 (('B' << 0) | ('S' << 8) | ('P' << 16) | ('2'<<24))
|
||||
|
||||
// Quake64
|
||||
#define BSPVERSION_QUAKE64 (('Q' << 24) | ('6' << 16) | ('4' << 8) | ' ')
|
||||
|
||||
#define TOOLVERSION 2
|
||||
|
||||
typedef struct
|
||||
|
@ -136,6 +139,14 @@ typedef struct miptex_s
|
|||
unsigned offsets[MIPLEVELS]; // four mip maps stored
|
||||
} miptex_t;
|
||||
|
||||
// Quake64
|
||||
typedef struct miptex64_s
|
||||
{
|
||||
char name[16];
|
||||
unsigned width, height;
|
||||
unsigned shift;
|
||||
unsigned offsets[MIPLEVELS]; // four mip maps stored
|
||||
} miptex64_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
|
|
@ -3442,7 +3442,6 @@ LOC_LoadFile
|
|||
void LOC_LoadFile (const char *file)
|
||||
{
|
||||
char path[1024];
|
||||
FILE *fp = NULL;
|
||||
int i,lineno;
|
||||
char *cursor;
|
||||
|
||||
|
|
|
@ -585,8 +585,11 @@ static texture_t *Mod_LoadMipTex(miptex_t *mt, byte *lumpend, enum srcformat *fm
|
|||
texture_t *tx;
|
||||
byte *srcdata = NULL;
|
||||
size_t sz;
|
||||
int shift = 0;
|
||||
|
||||
if (!mt->offsets[0]) //the legacy data was omitted. we may still have block-compression though.
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64)
|
||||
extdata = lumpend; //don't bother, I'm too lazy to validate offsets.
|
||||
else if (!mt->offsets[0]) //the legacy data was omitted. we may still have block-compression though.
|
||||
extdata = (byte*)(mt+1);
|
||||
else if (mt->offsets[0] == sizeof(miptex_t) &&
|
||||
mt->offsets[1] == mt->offsets[0]+(mt->width>>0)*(mt->height>>0) &&
|
||||
|
@ -629,8 +632,18 @@ static texture_t *Mod_LoadMipTex(miptex_t *mt, byte *lumpend, enum srcformat *fm
|
|||
*width = mt->width;
|
||||
*height = mt->height;
|
||||
*pixelbytes = mt->width*mt->height;
|
||||
if (LittleLong (mt->offsets[0]))
|
||||
srcdata = (byte*)mt+LittleLong(mt->offsets[0]);
|
||||
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64)
|
||||
{
|
||||
miptex64_t *mt64 = (miptex64_t*)mt;
|
||||
srcdata = (byte*)(mt64 + 1); //revert to lameness
|
||||
shift = mt64->shift;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LittleLong (mt->offsets[0]))
|
||||
srcdata = (byte*)mt+LittleLong(mt->offsets[0]);
|
||||
}
|
||||
}
|
||||
|
||||
tx = (texture_t *) Hunk_AllocName (sizeof(texture_t) + *pixelbytes, loadname );
|
||||
|
@ -638,6 +651,7 @@ static texture_t *Mod_LoadMipTex(miptex_t *mt, byte *lumpend, enum srcformat *fm
|
|||
tx->name[sizeof(tx->name)-1] = 0; //just in case...
|
||||
tx->width = mt->width;
|
||||
tx->height = mt->height;
|
||||
tx->shift = shift;
|
||||
|
||||
if (srcdata)
|
||||
{
|
||||
|
@ -662,6 +676,26 @@ static texture_t *Mod_LoadMipTex(miptex_t *mt, byte *lumpend, enum srcformat *fm
|
|||
}
|
||||
return tx;
|
||||
}
|
||||
/*
|
||||
=================
|
||||
Mod_CheckAnimTextureArrayQ64
|
||||
|
||||
Quake64 bsp
|
||||
Check if we have any missing textures in the array
|
||||
=================
|
||||
*/
|
||||
qboolean Mod_CheckAnimTextureArrayQ64(texture_t *anims[], int numTex)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < numTex; i++)
|
||||
{
|
||||
if (!anims[i])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Mod_LoadTextures
|
||||
|
@ -722,22 +756,27 @@ void Mod_LoadTextures (lump_t *l)
|
|||
mt->offsets[j] = LittleLong (mt->offsets[j]);
|
||||
|
||||
if ( (mt->width & 15) || (mt->height & 15) )
|
||||
Sys_Error ("Texture %s is not 16 aligned", mt->name);
|
||||
{
|
||||
if (loadmodel->bspversion != BSPVERSION_QUAKE64)
|
||||
Sys_Error ("Texture %s is not 16 aligned", mt->name);
|
||||
}
|
||||
|
||||
|
||||
tx = Mod_LoadMipTex(mt, (mod_base + l->fileofs + mipend), &fmt, &imgwidth, &imgheight, &imgpixels);
|
||||
loadmodel->textures[i] = tx;
|
||||
|
||||
tx->update_warp = false; //johnfitz
|
||||
tx->warpimage = NULL; //johnfitz
|
||||
tx->fullbright = NULL; //johnfitz
|
||||
|
||||
mipend = m->dataofs[i];
|
||||
|
||||
//johnfitz -- lots of changes
|
||||
if (!isDedicated) //no texture uploading for dedicated server
|
||||
{
|
||||
if (!q_strncasecmp(tx->name,"sky",3)) //sky texture //also note -- was Q_strncmp, changed to match qbsp
|
||||
Sky_LoadTexture (tx, fmt, imgwidth, imgheight);
|
||||
{
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64)
|
||||
Sky_LoadTextureQ64 (tx);
|
||||
else
|
||||
Sky_LoadTexture (tx, fmt, imgwidth, imgheight);
|
||||
}
|
||||
else if (tx->name[0] == '*') //warping texture
|
||||
{
|
||||
enum srcformat rfmt = SRC_RGBA;
|
||||
|
@ -920,6 +959,9 @@ void Mod_LoadTextures (lump_t *l)
|
|||
Sys_Error ("Bad animating texture %s", tx->name);
|
||||
}
|
||||
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64 && !Mod_CheckAnimTextureArrayQ64(anims, maxanim))
|
||||
continue; // Just pretend this is a normal texture
|
||||
|
||||
#define ANIM_CYCLE 2
|
||||
// link them all together
|
||||
for (j=0 ; j<maxanim ; j++)
|
||||
|
@ -958,7 +1000,7 @@ void Mod_LoadLighting (lump_t *l)
|
|||
{
|
||||
int i, mark;
|
||||
byte *in, *out, *data;
|
||||
byte d;
|
||||
byte d, q64_b0, q64_b1;
|
||||
char litfilename[MAX_OSPATH];
|
||||
unsigned int path_id;
|
||||
int bspxsize;
|
||||
|
@ -1009,6 +1051,29 @@ void Mod_LoadLighting (lump_t *l)
|
|||
// LordHavoc: no .lit found, expand the white lighting data to color
|
||||
if (!l->filelen)
|
||||
return;
|
||||
|
||||
// Quake64 bsp lighmap data
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64)
|
||||
{
|
||||
// RGB lightmap samples are packed in 16bits.
|
||||
// RRRRR GGGGG BBBBBB
|
||||
|
||||
loadmodel->lightdata = (byte *) Hunk_AllocName ( (l->filelen / 2)*3, litfilename);
|
||||
in = mod_base + l->fileofs;
|
||||
out = loadmodel->lightdata;
|
||||
|
||||
for (i = 0;i < (l->filelen / 2) ;i++)
|
||||
{
|
||||
q64_b0 = *in++;
|
||||
q64_b1 = *in++;
|
||||
|
||||
*out++ = q64_b0 & 0xf8;/* 0b11111000 */
|
||||
*out++ = ((q64_b0 & 0x07) << 5) + ((q64_b1 & 0xc0) >> 5);/* 0b00000111, 0b11000000 */
|
||||
*out++ = (q64_b1 & 0x3f) << 2;/* 0b00111111 */
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
in = Q1BSPX_FindLump("RGBLIGHTING", &bspxsize);
|
||||
if (loadmodel->lightdata && bspxsize == l->filelen*3)
|
||||
{
|
||||
|
@ -1608,6 +1673,9 @@ void Mod_LoadFaces (lump_t *l, qboolean bsp2)
|
|||
Mod_CalcSurfaceBounds (out); //johnfitz -- for per-surface frustum culling
|
||||
|
||||
// lighting info
|
||||
if (loadmodel->bspversion == BSPVERSION_QUAKE64)
|
||||
lofs /= 2; // Q64 samples are 16bits instead 8 in normal Quake
|
||||
|
||||
if (lofs == -1)
|
||||
out->samples = NULL;
|
||||
else
|
||||
|
@ -2662,9 +2730,12 @@ void Mod_LoadBrushModel (qmodel_t *mod, void *buffer)
|
|||
case BSP2VERSION_BSP2:
|
||||
bsp2 = 2; //sanitised revision
|
||||
break;
|
||||
case BSPVERSION_QUAKE64:
|
||||
bsp2 = false;
|
||||
break;
|
||||
default:
|
||||
loadmodel->type = mod_ext_invalid;
|
||||
Con_Warning ("Mod_LoadBrushModel: %s has wrong version number (%i should be %i)\n", mod->name, mod->bspversion, BSPVERSION);
|
||||
Con_Warning ("Mod_LoadBrushModel: %s has unsupported version number (%i should be %i)\n", mod->name, mod->bspversion, BSPVERSION);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -2689,7 +2760,7 @@ void Mod_LoadBrushModel (qmodel_t *mod, void *buffer)
|
|||
Mod_LoadFaces (&header->lumps[LUMP_FACES], bsp2);
|
||||
Mod_LoadMarksurfaces (&header->lumps[LUMP_MARKSURFACES], bsp2);
|
||||
|
||||
if (!bsp2 && external_vis.value && sv.modelname[0] && !q_strcasecmp(loadname, sv.name))
|
||||
if (mod->bspversion == BSPVERSION && external_vis.value && sv.modelname[0] && !q_strcasecmp(loadname, sv.name))
|
||||
{
|
||||
FILE* fvis;
|
||||
Con_DPrintf("trying to open external vis file\n");
|
||||
|
|
|
@ -78,6 +78,7 @@ typedef struct texture_s
|
|||
{
|
||||
char name[16];
|
||||
unsigned width, height;
|
||||
unsigned shift; // Q64
|
||||
struct gltexture_s *gltexture; //johnfitz -- pointer to gltexture
|
||||
struct gltexture_s *fullbright; //johnfitz -- fullbright mask texture
|
||||
struct gltexture_s *warpimage; //johnfitz -- for water animation
|
||||
|
|
|
@ -99,6 +99,8 @@ cvar_t scr_showpause = {"showpause","1",CVAR_NONE};
|
|||
cvar_t scr_printspeed = {"scr_printspeed","8",CVAR_NONE};
|
||||
cvar_t gl_triplebuffer = {"gl_triplebuffer", "1", CVAR_ARCHIVE};
|
||||
|
||||
cvar_t cl_gun_fovscale = {"cl_gun_fovscale","1",CVAR_ARCHIVE}; // Qrack
|
||||
|
||||
extern cvar_t crosshair;
|
||||
|
||||
qboolean scr_initialized; // ready to draw
|
||||
|
@ -506,6 +508,7 @@ void SCR_Init (void)
|
|||
Cvar_RegisterVariable (&scr_centertime);
|
||||
Cvar_RegisterVariable (&scr_printspeed);
|
||||
Cvar_RegisterVariable (&gl_triplebuffer);
|
||||
Cvar_RegisterVariable (&cl_gun_fovscale);
|
||||
|
||||
Cmd_AddCommand ("screenshot",SCR_ScreenShot_f);
|
||||
Cmd_AddCommand ("sizeup",SCR_SizeUp_f);
|
||||
|
|
|
@ -162,6 +162,59 @@ void Sky_LoadTexture (texture_t *mt, enum srcformat fmt, unsigned int srcwidth,
|
|||
skyflatcolor[2] = (float)b/(count*255);
|
||||
}
|
||||
|
||||
/*
|
||||
=============
|
||||
Sky_LoadTextureQ64
|
||||
|
||||
Quake64 sky textures are 32*64
|
||||
==============
|
||||
*/
|
||||
void Sky_LoadTextureQ64 (texture_t *mt)
|
||||
{
|
||||
char texturename[64];
|
||||
int i, p, r, g, b, count;
|
||||
byte *front, *back, *front_rgba;
|
||||
unsigned *rgba;
|
||||
|
||||
// pointers to both layer textures
|
||||
front = (byte *)(mt+1);
|
||||
back = (byte *)(mt+1) + (32*32);
|
||||
front_rgba = (byte *) Hunk_Alloc(4*(32*32));
|
||||
|
||||
// Normal indexed texture for the back layer
|
||||
q_snprintf(texturename, sizeof(texturename), "%s:%s_back", loadmodel->name, mt->name);
|
||||
solidskytexture = TexMgr_LoadImage (loadmodel, texturename, 32, 32, SRC_INDEXED, back, "", (src_offset_t)back, TEXPREF_NONE);
|
||||
|
||||
// front layer, convert to RGBA and upload
|
||||
p = r = g = b = count = 0;
|
||||
|
||||
for (i=0 ; i < (32*32) ; i++)
|
||||
{
|
||||
rgba = &d_8to24table[*front++];
|
||||
|
||||
// RGB
|
||||
front_rgba[p++] = ((byte*)rgba)[0];
|
||||
front_rgba[p++] = ((byte*)rgba)[1];
|
||||
front_rgba[p++] = ((byte*)rgba)[2];
|
||||
// Alpha
|
||||
front_rgba[p++] = 128; // this look ok to me!
|
||||
|
||||
// Fast sky
|
||||
r += ((byte *)rgba)[0];
|
||||
g += ((byte *)rgba)[1];
|
||||
b += ((byte *)rgba)[2];
|
||||
count++;
|
||||
}
|
||||
|
||||
q_snprintf(texturename, sizeof(texturename), "%s:%s_front", loadmodel->name, mt->name);
|
||||
alphaskytexture = TexMgr_LoadImage (loadmodel, texturename, 32, 32, SRC_RGBA, front_rgba, "", (src_offset_t)front_rgba, TEXPREF_NONE);
|
||||
|
||||
// calculate r_fastsky color based on average of all opaque foreground colors
|
||||
skyflatcolor[0] = (float)r/(count*255);
|
||||
skyflatcolor[1] = (float)g/(count*255);
|
||||
skyflatcolor[2] = (float)b/(count*255);
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
Sky_LoadSkyBox
|
||||
|
|
|
@ -21,8 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
*/
|
||||
|
||||
#ifndef __GLQUAKE_H
|
||||
#define __GLQUAKE_H
|
||||
#ifndef GLQUAKE_H
|
||||
#define GLQUAKE_H
|
||||
|
||||
void GL_BeginRendering (int *x, int *y, int *width, int *height);
|
||||
void GL_EndRendering (void);
|
||||
|
@ -439,6 +439,7 @@ void Sky_ClearAll (void);
|
|||
void Sky_DrawSky (void);
|
||||
void Sky_NewMap (void);
|
||||
void Sky_LoadTexture (texture_t *mt, enum srcformat fmt, unsigned int width, unsigned int height);
|
||||
void Sky_LoadTextureQ64 (texture_t *mt);
|
||||
void Sky_LoadSkyBox (const char *name);
|
||||
extern qboolean skyroom_drawn, skyroom_drawing; //we draw a skyroom this frame
|
||||
extern qboolean skyroom_enabled; //we know where the skyroom is ...
|
||||
|
@ -462,5 +463,4 @@ void R_ScaleView_DeleteTexture (void);
|
|||
|
||||
float GL_WaterAlphaForSurface (msurface_t *fa);
|
||||
|
||||
#endif /* __GLQUAKE_H */
|
||||
|
||||
#endif /* GLQUAKE_H */
|
||||
|
|
|
@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "quakedef.h"
|
||||
|
||||
extern cvar_t r_drawflat, gl_overbright_models, gl_fullbrights, r_lerpmodels, r_lerpmove; //johnfitz
|
||||
extern cvar_t scr_fov, cl_gun_fovscale;
|
||||
|
||||
//up to 16 color translated skins
|
||||
gltexture_t *playertextures[MAX_SCOREBOARD]; //johnfitz -- changed to an array of pointers
|
||||
|
@ -1041,6 +1042,7 @@ void R_DrawAliasModel (entity_t *e)
|
|||
lerpdata_t lerpdata;
|
||||
qboolean alphatest = !!(e->model->flags & MF_HOLEY);
|
||||
int surf;
|
||||
float fovscale = 1.0f;
|
||||
|
||||
//
|
||||
// setup pose/lerp data -- do it first so we don't miss updates due to culling
|
||||
|
@ -1074,9 +1076,14 @@ void R_DrawAliasModel (entity_t *e)
|
|||
//
|
||||
glPushMatrix ();
|
||||
}
|
||||
|
||||
//FIXME: this needs to go. combine with depthrange and explicit viewmodel-only fov into a different projection matrix..
|
||||
if (e == &cl.viewent && scr_fov.value > 90.f && cl_gun_fovscale.value)
|
||||
fovscale = tan(scr_fov.value * (0.5f * M_PI / 180.f));
|
||||
|
||||
R_RotateForEntity (lerpdata.origin, lerpdata.angles, e->netstate.scale);
|
||||
glTranslatef (paliashdr->scale_origin[0], paliashdr->scale_origin[1], paliashdr->scale_origin[2]);
|
||||
glScalef (paliashdr->scale[0], paliashdr->scale[1], paliashdr->scale[2]);
|
||||
glTranslatef (paliashdr->scale_origin[0], paliashdr->scale_origin[1] * fovscale, paliashdr->scale_origin[2] * fovscale);
|
||||
glScalef (paliashdr->scale[0], paliashdr->scale[1] * fovscale, paliashdr->scale[2] * fovscale);
|
||||
|
||||
//
|
||||
// random stuff
|
||||
|
|
|
@ -849,6 +849,13 @@ void BuildSurfaceDisplayList (msurface_t *fa)
|
|||
poly->verts[i][3] = s;
|
||||
poly->verts[i][4] = t;
|
||||
|
||||
// Q64 RERELEASE texture shift
|
||||
if (fa->texinfo->texture->shift > 0)
|
||||
{
|
||||
poly->verts[i][3] /= ( 2 * fa->texinfo->texture->shift);
|
||||
poly->verts[i][4] /= ( 2 * fa->texinfo->texture->shift);
|
||||
}
|
||||
|
||||
//
|
||||
// lightmap texture coordinates
|
||||
//
|
||||
|
|
115
Quakespasm.html
115
Quakespasm.html
|
@ -30,41 +30,39 @@
|
|||
<LI><A NAME="toc4.1">4.1</A> <A HREF="Quakespasm.html#ss4.1">Linux/Unix </A>
|
||||
<LI><A NAME="toc4.2">4.2</A> <A HREF="Quakespasm.html#ss4.2">Windows </A>
|
||||
<LI><A NAME="toc4.3">4.3</A> <A HREF="Quakespasm.html#ss4.3">Mac OS X </A>
|
||||
<LI><A NAME="toc4.4">4.4</A> <A HREF="Quakespasm.html#ss4.4">Quake '2021 re-release' </A>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Quake '2021 re-release' </A></H2>
|
||||
|
||||
<P>
|
||||
<H2><A NAME="toc6">6.</A> <A HREF="Quakespasm.html#s6">Changes</A></H2>
|
||||
<H2><A NAME="toc5">5.</A> <A HREF="Quakespasm.html#s5">Changes</A></H2>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="toc6.1">6.1</A> <A HREF="Quakespasm.html#ss6.1">Changes in 0.94.0</A>
|
||||
<LI><A NAME="toc6.2">6.2</A> <A HREF="Quakespasm.html#ss6.2">Changes in 0.93.2</A>
|
||||
<LI><A NAME="toc6.3">6.3</A> <A HREF="Quakespasm.html#ss6.3">Changes in 0.93.1</A>
|
||||
<LI><A NAME="toc6.4">6.4</A> <A HREF="Quakespasm.html#ss6.4">Changes in 0.93.0</A>
|
||||
<LI><A NAME="toc6.5">6.5</A> <A HREF="Quakespasm.html#ss6.5">Changes in 0.92.1</A>
|
||||
<LI><A NAME="toc6.6">6.6</A> <A HREF="Quakespasm.html#ss6.6">Changes in 0.92.0</A>
|
||||
<LI><A NAME="toc6.7">6.7</A> <A HREF="Quakespasm.html#ss6.7">Changes in 0.91.0</A>
|
||||
<LI><A NAME="toc6.8">6.8</A> <A HREF="Quakespasm.html#ss6.8">Changes in 0.90.1</A>
|
||||
<LI><A NAME="toc6.9">6.9</A> <A HREF="Quakespasm.html#ss6.9">Changes in 0.90.0</A>
|
||||
<LI><A NAME="toc6.10">6.10</A> <A HREF="Quakespasm.html#ss6.10">Changes in 0.85.9</A>
|
||||
<LI><A NAME="toc6.11">6.11</A> <A HREF="Quakespasm.html#ss6.11">Changes in 0.85.8</A>
|
||||
<LI><A NAME="toc6.12">6.12</A> <A HREF="Quakespasm.html#ss6.12">Changes in 0.85.7</A>
|
||||
<LI><A NAME="toc6.13">6.13</A> <A HREF="Quakespasm.html#ss6.13">Changes in 0.85.6</A>
|
||||
<LI><A NAME="toc6.14">6.14</A> <A HREF="Quakespasm.html#ss6.14">Changes in 0.85.5</A>
|
||||
<LI><A NAME="toc6.15">6.15</A> <A HREF="Quakespasm.html#ss6.15">Changes in 0.85.4</A>
|
||||
<LI><A NAME="toc6.16">6.16</A> <A HREF="Quakespasm.html#ss6.16">Changes in 0.85.3</A>
|
||||
<LI><A NAME="toc6.17">6.17</A> <A HREF="Quakespasm.html#ss6.17">Changes in 0.85.2</A>
|
||||
<LI><A NAME="toc6.18">6.18</A> <A HREF="Quakespasm.html#ss6.18">Changes in 0.85.1</A>
|
||||
<LI><A NAME="toc5.1">5.1</A> <A HREF="Quakespasm.html#ss5.1">Changes in 0.94.0</A>
|
||||
<LI><A NAME="toc5.2">5.2</A> <A HREF="Quakespasm.html#ss5.2">Changes in 0.93.2</A>
|
||||
<LI><A NAME="toc5.3">5.3</A> <A HREF="Quakespasm.html#ss5.3">Changes in 0.93.1</A>
|
||||
<LI><A NAME="toc5.4">5.4</A> <A HREF="Quakespasm.html#ss5.4">Changes in 0.93.0</A>
|
||||
<LI><A NAME="toc5.5">5.5</A> <A HREF="Quakespasm.html#ss5.5">Changes in 0.92.1</A>
|
||||
<LI><A NAME="toc5.6">5.6</A> <A HREF="Quakespasm.html#ss5.6">Changes in 0.92.0</A>
|
||||
<LI><A NAME="toc5.7">5.7</A> <A HREF="Quakespasm.html#ss5.7">Changes in 0.91.0</A>
|
||||
<LI><A NAME="toc5.8">5.8</A> <A HREF="Quakespasm.html#ss5.8">Changes in 0.90.1</A>
|
||||
<LI><A NAME="toc5.9">5.9</A> <A HREF="Quakespasm.html#ss5.9">Changes in 0.90.0</A>
|
||||
<LI><A NAME="toc5.10">5.10</A> <A HREF="Quakespasm.html#ss5.10">Changes in 0.85.9</A>
|
||||
<LI><A NAME="toc5.11">5.11</A> <A HREF="Quakespasm.html#ss5.11">Changes in 0.85.8</A>
|
||||
<LI><A NAME="toc5.12">5.12</A> <A HREF="Quakespasm.html#ss5.12">Changes in 0.85.7</A>
|
||||
<LI><A NAME="toc5.13">5.13</A> <A HREF="Quakespasm.html#ss5.13">Changes in 0.85.6</A>
|
||||
<LI><A NAME="toc5.14">5.14</A> <A HREF="Quakespasm.html#ss5.14">Changes in 0.85.5</A>
|
||||
<LI><A NAME="toc5.15">5.15</A> <A HREF="Quakespasm.html#ss5.15">Changes in 0.85.4</A>
|
||||
<LI><A NAME="toc5.16">5.16</A> <A HREF="Quakespasm.html#ss5.16">Changes in 0.85.3</A>
|
||||
<LI><A NAME="toc5.17">5.17</A> <A HREF="Quakespasm.html#ss5.17">Changes in 0.85.2</A>
|
||||
<LI><A NAME="toc5.18">5.18</A> <A HREF="Quakespasm.html#ss5.18">Changes in 0.85.1</A>
|
||||
</UL>
|
||||
<P>
|
||||
<H2><A NAME="toc7">7.</A> <A HREF="Quakespasm.html#s7">Copyright </A></H2>
|
||||
<H2><A NAME="toc6">6.</A> <A HREF="Quakespasm.html#s6">Copyright </A></H2>
|
||||
|
||||
<P>
|
||||
<H2><A NAME="toc8">8.</A> <A HREF="Quakespasm.html#s8">Contact </A></H2>
|
||||
<H2><A NAME="toc7">7.</A> <A HREF="Quakespasm.html#s7">Contact </A></H2>
|
||||
|
||||
<P>
|
||||
<H2><A NAME="toc9">9.</A> <A HREF="Quakespasm.html#s9">Links </A></H2>
|
||||
<H2><A NAME="toc8">8.</A> <A HREF="Quakespasm.html#s8">Links </A></H2>
|
||||
|
||||
|
||||
<HR>
|
||||
|
@ -215,36 +213,27 @@ Compile time options include
|
|||
|
||||
<P>A Quakespasm App (including program launcher and update framework) can be made using the <B>Xcode</B> template found in the MacOSX directory.</P>
|
||||
<P>Alternatively, have a look at <B>Makefile.darwin</B> for more instructions on building from a console.</P>
|
||||
<H2><A NAME="s5">5.</A> <A HREF="#toc5">Quake '2021 re-release' </A></H2>
|
||||
<H2><A NAME="ss4.4">4.4</A> <A HREF="#toc4.4">Quake '2021 re-release' </A>
|
||||
</H2>
|
||||
|
||||
<P>QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content:
|
||||
<UL>
|
||||
<LI> Copy the quakespasm exe to your rerelease installation.</LI>
|
||||
<LI> Extract the localization folder from QuakeEX.kpf (which is actually a zip file), and place it in the rerelease directory. Linux (Unix) users can do the following, for example:<BR>
|
||||
<PRE>
|
||||
unzip QuakeEX.kpf localization/loc_english.txt
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI> Run quakespasm as you normally do.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
||||
|
||||
<H2><A NAME="s6">6.</A> <A HREF="#toc6">Changes</A></H2>
|
||||
<P>QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release content: Copy the quakespasm binary to your rerelease installation and run quakespasm as you normally do.</P>
|
||||
<H2><A NAME="s5">5.</A> <A HREF="#toc5">Changes</A></H2>
|
||||
|
||||
|
||||
|
||||
<H2><A NAME="ss6.1">6.1</A> <A HREF="#toc6.1">Changes in 0.94.0</A>
|
||||
<H2><A NAME="ss5.1">5.1</A> <A HREF="#toc5.1">Changes in 0.94.0</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI> Initial support for playing the 'Quake 2021 re-release' content (thanks to Andrei Drexler for bulk of the work.)</LI>
|
||||
<LI> Initial support for playing the 'Quake 2021 re-release' content (thanks to Andrei Drexler for bulk of the work, Guillaume Plourde for Q64 bsp format support.)</LI>
|
||||
<LI> Fix rendering bug when cl_bobcycle was set to zero (sf.net bug/41)</LI>
|
||||
<LI> Fixed buffer overflow with large char skybox names (sf.net bug/38)</LI>
|
||||
<LI> Fixed a missing MAXALIASFRAMES bounds check (sf.net bug/37)</LI>
|
||||
<LI> OpenGL: workaround Intel UHD 600 driver bug (sf.net bug/39)</LI>
|
||||
<LI> OpenGL: merged surface mark & cull optimizations from vkQuake.</LI>
|
||||
<LI> Compensate viewmodel distortion at fov > 90 (based on code from Qrack, thanks to Andrei Drexler for the patch.)</LI>
|
||||
<LI> Raised MAX_GLTEXTURES limit from 2048 to 4096 for now.</LI>
|
||||
<LI> Changed 'model has a skin taller than 480' error into a warning</LI>
|
||||
<LI> Reject lit files if they're the wrong size (eg hipnotic/start.bsp vs id1/start.lit or just a bsp that no longer has any coloured lits, etc)</LI>
|
||||
<LI> External ent files are now versioned using 4 digit crc of the original map's ents, like e1m1@c49d.ent, which is much safer. The old method (e.g. e1m1.ent) still works but isn't recommended.</LI>
|
||||
|
@ -257,7 +246,7 @@ unzip QuakeEX.kpf localization/loc_english.txt
|
|||
<LI> Source repository moved to git.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.2">6.2</A> <A HREF="#toc6.2">Changes in 0.93.2</A>
|
||||
<H2><A NAME="ss5.2">5.2</A> <A HREF="#toc5.2">Changes in 0.93.2</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -270,7 +259,7 @@ unzip QuakeEX.kpf localization/loc_english.txt
|
|||
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.3">6.3</A> <A HREF="#toc6.3">Changes in 0.93.1</A>
|
||||
<H2><A NAME="ss5.3">5.3</A> <A HREF="#toc5.3">Changes in 0.93.1</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -284,7 +273,7 @@ unzip QuakeEX.kpf localization/loc_english.txt
|
|||
<LI> Update the third-party libraries. Other fixes/cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.4">6.4</A> <A HREF="#toc6.4">Changes in 0.93.0</A>
|
||||
<H2><A NAME="ss5.4">5.4</A> <A HREF="#toc5.4">Changes in 0.93.0</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -327,7 +316,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Update the third-party libraries.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.5">6.5</A> <A HREF="#toc6.5">Changes in 0.92.1</A>
|
||||
<H2><A NAME="ss5.5">5.5</A> <A HREF="#toc5.5">Changes in 0.92.1</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -337,7 +326,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Updated some of the third-party libraries.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.6">6.6</A> <A HREF="#toc6.6">Changes in 0.92.0</A>
|
||||
<H2><A NAME="ss5.6">5.6</A> <A HREF="#toc5.6">Changes in 0.92.0</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -357,7 +346,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Updated some of the third-party libraries. Other fixes/clean-ups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.7">6.7</A> <A HREF="#toc6.7">Changes in 0.91.0</A>
|
||||
<H2><A NAME="ss5.7">5.7</A> <A HREF="#toc5.7">Changes in 0.91.0</A>
|
||||
</H2>
|
||||
|
||||
|
||||
|
@ -417,7 +406,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Raised MAX_SFX to 1024 (was 512).</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.8">6.8</A> <A HREF="#toc6.8">Changes in 0.90.1</A>
|
||||
<H2><A NAME="ss5.8">5.8</A> <A HREF="#toc5.8">Changes in 0.90.1</A>
|
||||
</H2>
|
||||
|
||||
|
||||
|
@ -464,7 +453,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Support pausing demo playback with the "pause" command.</LI>
|
||||
<LI> Autocompletion for "game", "record", "playdemo".</LI>
|
||||
<LI> Experimental windowed fullscreen mode available with vid_desktopfullscreen 1 (only in SDL2 builds, takes effect upon entering fullscreen mode the next time.)</LI>
|
||||
<LI> Silence "exceeded standard limit" messages unless developer cvar is >= 1.</LI>
|
||||
<LI> Silence "exceeded standard limit" messages unless developer cvar is >= 1.</LI>
|
||||
<LI> Some spam moved from developer 1 to 2: "can't find tga/lit/ent", "trying to load ent", "bad chunk length", "meshing", "PR_AlocStringSlots: realloc'ing"</LI>
|
||||
</UL>
|
||||
</P>
|
||||
|
@ -477,7 +466,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Update 3rd-party libraries.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.9">6.9</A> <A HREF="#toc6.9">Changes in 0.90.0</A>
|
||||
<H2><A NAME="ss5.9">5.9</A> <A HREF="#toc5.9">Changes in 0.90.0</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -523,7 +512,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Other fixes and clean-ups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.10">6.10</A> <A HREF="#toc6.10">Changes in 0.85.9</A>
|
||||
<H2><A NAME="ss5.10">5.10</A> <A HREF="#toc5.10">Changes in 0.85.9</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -547,7 +536,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Several other minor fixes/cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.11">6.11</A> <A HREF="#toc6.11">Changes in 0.85.8</A>
|
||||
<H2><A NAME="ss5.11">5.11</A> <A HREF="#toc5.11">Changes in 0.85.8</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -572,7 +561,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Miscellaneous source code cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.12">6.12</A> <A HREF="#toc6.12">Changes in 0.85.7</A>
|
||||
<H2><A NAME="ss5.12">5.12</A> <A HREF="#toc5.12">Changes in 0.85.7</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -590,7 +579,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Several other small changes mostly invisible to the end-user</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.13">6.13</A> <A HREF="#toc6.13">Changes in 0.85.6</A>
|
||||
<H2><A NAME="ss5.13">5.13</A> <A HREF="#toc5.13">Changes in 0.85.6</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -601,7 +590,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Minor SDL video fixes.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.14">6.14</A> <A HREF="#toc6.14">Changes in 0.85.5</A>
|
||||
<H2><A NAME="ss5.14">5.14</A> <A HREF="#toc5.14">Changes in 0.85.5</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -620,7 +609,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Several code updates from uHexen2 project, several code cleanups.</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.15">6.15</A> <A HREF="#toc6.15">Changes in 0.85.4</A>
|
||||
<H2><A NAME="ss5.15">5.15</A> <A HREF="#toc5.15">Changes in 0.85.4</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -638,7 +627,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
<LI> Other minor sound and cdaudio updates</LI>
|
||||
</UL>
|
||||
</P>
|
||||
<H2><A NAME="ss6.16">6.16</A> <A HREF="#toc6.16">Changes in 0.85.3</A>
|
||||
<H2><A NAME="ss5.16">5.16</A> <A HREF="#toc5.16">Changes in 0.85.3</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -661,7 +650,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss6.17">6.17</A> <A HREF="#toc6.17">Changes in 0.85.2</A>
|
||||
<H2><A NAME="ss5.17">5.17</A> <A HREF="#toc5.17">Changes in 0.85.2</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -680,7 +669,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="ss6.18">6.18</A> <A HREF="#toc6.18">Changes in 0.85.1</A>
|
||||
<H2><A NAME="ss5.18">5.18</A> <A HREF="#toc5.18">Changes in 0.85.1</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
@ -705,7 +694,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</P>
|
||||
|
||||
|
||||
<H2><A NAME="s7">7.</A> <A HREF="#toc7">Copyright </A></H2>
|
||||
<H2><A NAME="s6">6.</A> <A HREF="#toc6">Copyright </A></H2>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -716,7 +705,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="s8">8.</A> <A HREF="#toc8">Contact </A></H2>
|
||||
<H2><A NAME="s7">7.</A> <A HREF="#toc7">Contact </A></H2>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
|
@ -731,7 +720,7 @@ quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
|
|||
</UL>
|
||||
</P>
|
||||
|
||||
<H2><A NAME="s9">9.</A> <A HREF="#toc9">Links </A></H2>
|
||||
<H2><A NAME="s8">8.</A> <A HREF="#toc8">Links </A></H2>
|
||||
|
||||
|
||||
<P>
|
||||
|
|
154
Quakespasm.txt
154
Quakespasm.txt
|
@ -16,42 +16,41 @@
|
|||
4.1 Linux/Unix
|
||||
4.2 Windows
|
||||
4.3 Mac OS X
|
||||
4.4 Quake '2021 re-release'
|
||||
|
||||
5. Quake '2021 re-release'
|
||||
5. Changes
|
||||
5.1 Changes in 0.94.0
|
||||
5.2 Changes in 0.93.2
|
||||
5.3 Changes in 0.93.1
|
||||
5.4 Changes in 0.93.0
|
||||
5.5 Changes in 0.92.1
|
||||
5.6 Changes in 0.92.0
|
||||
5.7 Changes in 0.91.0
|
||||
5.7.1 Bugfixes
|
||||
5.7.2 Visual improvements
|
||||
5.7.3 Interface improvements
|
||||
5.7.4 Code cleanup / Other
|
||||
5.7.5 Raised limits
|
||||
5.8 Changes in 0.90.1
|
||||
5.8.1 Bugfixes
|
||||
5.8.2 Performance
|
||||
5.8.3 Visual improvements
|
||||
5.8.4 Interface improvements
|
||||
5.8.5 Code cleanup
|
||||
5.9 Changes in 0.90.0
|
||||
5.10 Changes in 0.85.9
|
||||
5.11 Changes in 0.85.8
|
||||
5.12 Changes in 0.85.7
|
||||
5.13 Changes in 0.85.6
|
||||
5.14 Changes in 0.85.5
|
||||
5.15 Changes in 0.85.4
|
||||
5.16 Changes in 0.85.3
|
||||
5.17 Changes in 0.85.2
|
||||
5.18 Changes in 0.85.1
|
||||
|
||||
6. Changes
|
||||
6.1 Changes in 0.94.0
|
||||
6.2 Changes in 0.93.2
|
||||
6.3 Changes in 0.93.1
|
||||
6.4 Changes in 0.93.0
|
||||
6.5 Changes in 0.92.1
|
||||
6.6 Changes in 0.92.0
|
||||
6.7 Changes in 0.91.0
|
||||
6.7.1 Bugfixes
|
||||
6.7.2 Visual improvements
|
||||
6.7.3 Interface improvements
|
||||
6.7.4 Code cleanup / Other
|
||||
6.7.5 Raised limits
|
||||
6.8 Changes in 0.90.1
|
||||
6.8.1 Bugfixes
|
||||
6.8.2 Performance
|
||||
6.8.3 Visual improvements
|
||||
6.8.4 Interface improvements
|
||||
6.8.5 Code cleanup
|
||||
6.9 Changes in 0.90.0
|
||||
6.10 Changes in 0.85.9
|
||||
6.11 Changes in 0.85.8
|
||||
6.12 Changes in 0.85.7
|
||||
6.13 Changes in 0.85.6
|
||||
6.14 Changes in 0.85.5
|
||||
6.15 Changes in 0.85.4
|
||||
6.16 Changes in 0.85.3
|
||||
6.17 Changes in 0.85.2
|
||||
6.18 Changes in 0.85.1
|
||||
|
||||
7. Copyright
|
||||
8. Contact
|
||||
9. Links
|
||||
6. Copyright
|
||||
7. Contact
|
||||
8. Links
|
||||
|
||||
|
||||
______________________________________________________________________
|
||||
|
@ -250,29 +249,21 @@
|
|||
Alternatively, have a look at Makefile.darwin for more instructions on
|
||||
building from a console.
|
||||
|
||||
|
||||
5. Quake '2021 re-release'
|
||||
4.4. Quake '2021 re-release'
|
||||
|
||||
QuakeSpasm 0.94.0 has initial support for playing the 2021 re-release
|
||||
content:
|
||||
|
||||
o Copy the quakespasm exe to your rerelease installation.
|
||||
|
||||
o Extract the localization folder from QuakeEX.kpf (which is actually
|
||||
a zip file), and place it in the rerelease directory. Linux (Unix)
|
||||
users can do the following, for example:
|
||||
unzip QuakeEX.kpf localization/loc_english.txt
|
||||
|
||||
o Run quakespasm as you normally do.
|
||||
content: Copy the quakespasm binary to your rerelease installation and
|
||||
run quakespasm as you normally do.
|
||||
|
||||
|
||||
6. Changes
|
||||
5. Changes
|
||||
|
||||
|
||||
6.1. Changes in 0.94.0
|
||||
5.1. Changes in 0.94.0
|
||||
|
||||
o Initial support for playing the 'Quake 2021 re-release' content
|
||||
(thanks to Andrei Drexler for bulk of the work.)
|
||||
(thanks to Andrei Drexler for bulk of the work, Guillaume Plourde
|
||||
for Q64 bsp format support.)
|
||||
|
||||
o Fix rendering bug when cl_bobcycle was set to zero (sf.net bug/41)
|
||||
|
||||
|
@ -284,6 +275,11 @@
|
|||
|
||||
o OpenGL: merged surface mark & cull optimizations from vkQuake.
|
||||
|
||||
o Compensate viewmodel distortion at fov > 90 (based on code from
|
||||
Qrack, thanks to Andrei Drexler for the patch.)
|
||||
|
||||
o Raised MAX_GLTEXTURES limit from 2048 to 4096 for now.
|
||||
|
||||
o Changed 'model has a skin taller than 480' error into a warning
|
||||
|
||||
o Reject lit files if they're the wrong size (eg hipnotic/start.bsp
|
||||
|
@ -312,7 +308,7 @@
|
|||
o Source repository moved to git.
|
||||
|
||||
|
||||
6.2. Changes in 0.93.2
|
||||
5.2. Changes in 0.93.2
|
||||
|
||||
o Lightmaps are now dynamically allocated (from QSS), and
|
||||
BLOCK_WIDTH/HEIGHT raised from 128 to 256.
|
||||
|
@ -332,7 +328,7 @@
|
|||
o Update the third-party libraries. Other fixes/cleanups.
|
||||
|
||||
|
||||
6.3. Changes in 0.93.1
|
||||
5.3. Changes in 0.93.1
|
||||
|
||||
o Fixed a fog regression which was introduced in 0.93.0.
|
||||
|
||||
|
@ -350,7 +346,7 @@
|
|||
o Update the third-party libraries. Other fixes/cleanups.
|
||||
|
||||
|
||||
6.4. Changes in 0.93.0
|
||||
5.4. Changes in 0.93.0
|
||||
|
||||
o Raise default "joy_deadzone_trigger" cvar to 0.2.
|
||||
|
||||
|
@ -435,7 +431,7 @@
|
|||
o Update the third-party libraries.
|
||||
|
||||
|
||||
6.5. Changes in 0.92.1
|
||||
5.5. Changes in 0.92.1
|
||||
|
||||
o Fixed large menu scale factors (was broken in 0.92.0).
|
||||
|
||||
|
@ -444,7 +440,7 @@
|
|||
o Updated some of the third-party libraries.
|
||||
|
||||
|
||||
6.6. Changes in 0.92.0
|
||||
5.6. Changes in 0.92.0
|
||||
|
||||
o SDL2 Game Controller support.
|
||||
|
||||
|
@ -481,9 +477,9 @@
|
|||
o Updated some of the third-party libraries. Other fixes/clean-ups.
|
||||
|
||||
|
||||
6.7. Changes in 0.91.0
|
||||
5.7. Changes in 0.91.0
|
||||
|
||||
6.7.1. Bugfixes
|
||||
5.7.1. Bugfixes
|
||||
|
||||
o Fix unwanted fog mode change upon video restart.
|
||||
|
||||
|
@ -519,7 +515,7 @@
|
|||
|
||||
o Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
|
||||
|
||||
6.7.2. Visual improvements
|
||||
5.7.2. Visual improvements
|
||||
|
||||
o New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning
|
||||
specific liquid opacities (from DirectQ/RMQEngine, non-archived,
|
||||
|
@ -530,18 +526,18 @@
|
|||
o GLSL gamma is now supported on older hardware without NPOT
|
||||
extension.
|
||||
|
||||
6.7.3. Interface improvements
|
||||
5.7.3. Interface improvements
|
||||
|
||||
o New r_pos command to show player position.
|
||||
|
||||
o NaN detection in traceline with "developer 1" set now warns instead
|
||||
of errors.
|
||||
|
||||
6.7.4. Code cleanup / Other
|
||||
5.7.4. Code cleanup / Other
|
||||
|
||||
o Update third-party libraries.
|
||||
|
||||
6.7.5. Raised limits
|
||||
5.7.5. Raised limits
|
||||
|
||||
o Default max_edicts 8192 (was 2048) and no longer saved to
|
||||
config.cfg.
|
||||
|
@ -553,9 +549,9 @@
|
|||
o Raised MAX_SFX to 1024 (was 512).
|
||||
|
||||
|
||||
6.8. Changes in 0.90.1
|
||||
5.8. Changes in 0.90.1
|
||||
|
||||
6.8.1. Bugfixes
|
||||
5.8.1. Bugfixes
|
||||
|
||||
o Fix dynamic light artifact where changing lightmap are rendered one
|
||||
frame late (bug introduced in 0.90.0).
|
||||
|
@ -578,13 +574,13 @@
|
|||
|
||||
o Fix crash on out-of-bounds skin number.
|
||||
|
||||
6.8.2. Performance
|
||||
5.8.2. Performance
|
||||
|
||||
o Use multithreaded OpenGL on OS X for better performance.
|
||||
|
||||
o New, faster mdl renderer using GLSL. Disable with "-noglslalias".
|
||||
|
||||
6.8.3. Visual improvements
|
||||
5.8.3. Visual improvements
|
||||
|
||||
o New gamma correction implementation using GLSL. Fixes all known
|
||||
gamma issues (affecting the full display, persisting after
|
||||
|
@ -598,7 +594,7 @@
|
|||
|
||||
o r_noshadow_list cvar added (from MarkV.)
|
||||
|
||||
6.8.4. Interface improvements
|
||||
5.8.4. Interface improvements
|
||||
|
||||
o Support pausing demo playback with the "pause" command.
|
||||
|
||||
|
@ -615,14 +611,14 @@
|
|||
"trying to load ent", "bad chunk length", "meshing",
|
||||
"PR_AlocStringSlots: realloc'ing"
|
||||
|
||||
6.8.5. Code cleanup
|
||||
5.8.5. Code cleanup
|
||||
|
||||
o Clean up IDE project files to build on fresh systems.
|
||||
|
||||
o Update 3rd-party libraries.
|
||||
|
||||
|
||||
6.9. Changes in 0.90.0
|
||||
5.9. Changes in 0.90.0
|
||||
|
||||
o Fix issues on Windows systems with DPI scaling.
|
||||
|
||||
|
@ -730,7 +726,7 @@
|
|||
o Other fixes and clean-ups.
|
||||
|
||||
|
||||
6.10. Changes in 0.85.9
|
||||
5.10. Changes in 0.85.9
|
||||
|
||||
o Fixes for several undefined behaviors in C code (gcc-4.8 support.)
|
||||
|
||||
|
@ -777,7 +773,7 @@
|
|||
o Several other minor fixes/cleanups.
|
||||
|
||||
|
||||
6.11. Changes in 0.85.8
|
||||
5.11. Changes in 0.85.8
|
||||
|
||||
o Made Quake shareware 1.00 and 1.01 versions to be recognized
|
||||
properly.
|
||||
|
@ -824,7 +820,7 @@
|
|||
o Miscellaneous source code cleanups.
|
||||
|
||||
|
||||
6.12. Changes in 0.85.7
|
||||
5.12. Changes in 0.85.7
|
||||
|
||||
o Added support for cross-level demo playback
|
||||
|
||||
|
@ -850,7 +846,7 @@
|
|||
o Several other small changes mostly invisible to the end-user
|
||||
|
||||
|
||||
6.13. Changes in 0.85.6
|
||||
5.13. Changes in 0.85.6
|
||||
|
||||
o More work for string buffer safety
|
||||
|
||||
|
@ -863,7 +859,7 @@
|
|||
o Minor SDL video fixes.
|
||||
|
||||
|
||||
6.14. Changes in 0.85.5
|
||||
5.14. Changes in 0.85.5
|
||||
|
||||
o SDL input driver updated adding native keymap and dead key support
|
||||
to the console
|
||||
|
@ -894,7 +890,7 @@
|
|||
o Several code updates from uHexen2 project, several code cleanups.
|
||||
|
||||
|
||||
6.15. Changes in 0.85.4
|
||||
5.15. Changes in 0.85.4
|
||||
|
||||
o Implement music (OGG, MP3, WAV) playback
|
||||
|
||||
|
@ -922,7 +918,7 @@
|
|||
o Other minor sound and cdaudio updates
|
||||
|
||||
|
||||
6.16. Changes in 0.85.3
|
||||
5.16. Changes in 0.85.3
|
||||
|
||||
o Fix the "-dedicated" option (thanks Oz) and add platform specific
|
||||
networking code (default) rather than SDL_net
|
||||
|
@ -959,7 +955,7 @@
|
|||
some other CD tweaks.
|
||||
|
||||
|
||||
6.17. Changes in 0.85.2
|
||||
5.17. Changes in 0.85.2
|
||||
|
||||
o Replace the old "Screen size" slider with a "Scale" slider
|
||||
|
||||
|
@ -987,7 +983,7 @@
|
|||
o Add OSX Makefile (tested?)
|
||||
|
||||
|
||||
6.18. Changes in 0.85.1
|
||||
5.18. Changes in 0.85.1
|
||||
|
||||
o 64 bit CPU support
|
||||
|
||||
|
@ -1025,7 +1021,7 @@
|
|||
r_wateralpha, r_dynamic, r_novis
|
||||
|
||||
|
||||
7. Copyright
|
||||
6. Copyright
|
||||
|
||||
o Quake and Quakespasm are released under the GNU GENERAL PUBLIC
|
||||
LICENSE Version 2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
@ -1035,7 +1031,7 @@
|
|||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
|
||||
8. Contact
|
||||
7. Contact
|
||||
|
||||
o QuakeSpasm Project page:
|
||||
https://sourceforge.net/projects/quakespasm/
|
||||
|
@ -1048,7 +1044,7 @@
|
|||
Sander <mailto:gmail - dot - com - username - a.h.vandijk>
|
||||
|
||||
|
||||
9. Links
|
||||
8. Links
|
||||
|
||||
o QuakeSpasm Homepage: http://quakespasm.sourceforge.net
|
||||
|
||||
|
|
|
@ -189,6 +189,21 @@
|
|||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\menu.h" />
|
||||
<Unit filename="..\..\Quake\mdfour.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\fs_zip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\snd_voip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\pr_ext.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\r_part_fte.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\modelgen.h" />
|
||||
<Unit filename="..\..\Quake\net.h" />
|
||||
<Unit filename="..\..\Quake\net_defs.h" />
|
||||
|
|
|
@ -188,6 +188,21 @@
|
|||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\menu.h" />
|
||||
<Unit filename="..\..\Quake\mdfour.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\fs_zip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\snd_voip.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\pr_ext.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\r_part_fte.c">
|
||||
<Option compilerVar="CC" />
|
||||
</Unit>
|
||||
<Unit filename="..\..\Quake\modelgen.h" />
|
||||
<Unit filename="..\..\Quake\net.h" />
|
||||
<Unit filename="..\..\Quake\net_defs.h" />
|
||||
|
|
Loading…
Reference in a new issue