Skip to content

Commit

Permalink
build 4253 [Cry Of Fear Edition] https://cs-mapping.com.ua/forum/show…
Browse files Browse the repository at this point in the history
  • Loading branch information
a1batross committed Oct 2, 2018
1 parent 89df6d7 commit 044b603
Show file tree
Hide file tree
Showing 106 changed files with 1,593 additions and 1,949 deletions.
59 changes: 59 additions & 0 deletions change.log
Expand Up @@ -16,6 +16,65 @@ VGUI: - a VGUI implementation code in xash.dll
Memory: - a memory manager in xash.dll
Physic: - a server physics code in xash.dll

build 4253

Render: remove flags TF_TEXTURE_1D, TF_TEXTURE_2D_ARRAY it's just not needs
Engine: RenderAPI added new functions GL_UpdateTexSize for statistics
FS: wad imagetypes is no more longer supported (prefixes _mask, _norm etc)
Server: PhysicAPI was reimplemented PrepWorldFrame instead of obsolete function pfnCreateEntitiesInTransitionList
Engine: most debug messages was replaced from MsgDev with Con_Printf, Con_Dprintf and Con_Reportf
Sound: s_combine_channels is now set 0 as default
Console: buffer scrolling reset while new command or autocomplete issued
Client: fixup server beams pause bug
Client: remove interpolation experiments
Client: fixed bug with default renderamt value while rendermode is normal (beam brightness)
Client: internal studio lerp is now not switch the movetype to MOVETYPE_STEP to avoid collisions in custom renderers
Client: user messages now is case-insensative (GoldSrc rules)
Client: create deferred startup commands for Cry Of Fear background map system
Client: change query format to the master-server
Client: fixed bug with large sentence indexes (up to 2048)
Client: eliminate Cry Of Fear anti-save protecion (because it's stupid)
Client: fixed Quake demo players rendering in multiplayer demos
Client: allow CD forcetrack in Quake demos
Render: correct seamless between beam segments
Render: reduce brightness for decals on semi-transparent surfaces
Render: get support for compressed image format ATI2N (normalmaps)
Render: rectangle textures is not nessesary to match with current screen resolution
Render: translate gl-errors code to string while loading textures
Render: texture manager is completely rewritten, some bugs is fixed
Render: rotate culling bbox for static client entities for right culling
Render: improve r_lighting_extended, get lighting from ceiling or bmodels if world light gather is failed (completely black)
Render: fix fog rendering for Spirit 1.6 and higher
Render: remove alpha to coverage mode, it's too bugly
Render: remove auto-generation for detail textures list
Render: correct fog for studio parts with 'additive' and 'masked' flag
Render: fixup some bugs in alpha-blend sorting
Render: remove -glcore setting it has no effect
Render: restore "width" and "height" read-only console cvars, it's used by debug systems of XashXT
Sound: dsp_off now saved into config.cfg
Sound: fix crash in dsp processing
Sound: eliminate stupid message FS_LoadSound: couldn't load ""
Sound: default sound is now keep in memory permanently
Sound: fix playing for CHAN_STREAM
VGUI: revision for string rendering, fix some bugs
Console: tune linewidth length
FS: grab field "edicts" from liblist.gam that used to conversion into gameinfo.txt
Engine: IMPORTANT: console variable "build" is renamed to "buildnum" to avoid confilcs with gameplay command in TeamFortress!!!
Engine: disallow to load save, change map or somewhat until finale credits is active
Input: properly pass key events into client user-side
Engine: fix bug in custom library loader
Studio: correct bbox compute for giantic models
Engine: revert old code for PVS to keep it compressed (save memory)
Engine: flag for ignore lightmaps SURF_DRAWTILED is now based once and only by TEX_SPECIAL flag (not a special texture names)
Engine: prevent to potential crash if logfile couldn't be created
Sound: fix crash while playing mp3 files through ambient_generic
Server: making freezing player on background maps an options that called "sv_background_freeze" (console variable)
Server: keep network messages for one frame before changelevel and send them during changelevel (GoldSrc rules).
Server: fix critical bug in pfnSetModel function
Server: NPC is now ignore corpses and don't stuck into them
Server: physics pusher is now completely matched with GoldSrc (but extended version can be enabled by engine feature)
GameUI: fix savegame menu bugs after engine global update

build 4150

Server: fixed a very old bug with ambient_generic restating sounds after save\restore
Expand Down
25 changes: 25 additions & 0 deletions common/boneinfo.h
@@ -0,0 +1,25 @@
/*
boneinfo.h - structure that send delta-compressed bones across network
Copyright (C) 2018 Uncle Mike
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*/

#ifndef BONEINFO_H
#define BONEINFO_H

typedef struct
{
vec3_t angles;
vec3_t origin;
} boneinfo_t;

#endif//BONEINFO_H
2 changes: 1 addition & 1 deletion common/bspfile.h
Expand Up @@ -74,7 +74,7 @@ BRUSH MODELS
#define MAX_MAP_MARKSURFACES 524288 // can be increased without problems
#else
#define MAX_MAP_MODELS 768 // embedded models
#define MAX_MAP_ENTSTRING 0x80000 // 512 kB should be enough
#define MAX_MAP_ENTSTRING 0x100000 // 1 Mb should be enough
#define MAX_MAP_PLANES 65536 // can be increased without problems
#define MAX_MAP_NODES 32767 // because negative shorts are leafs
#define MAX_MAP_CLIPNODES 32767 // because negative shorts are contents
Expand Down
2 changes: 1 addition & 1 deletion common/com_model.h
Expand Up @@ -367,7 +367,7 @@ typedef struct player_info_s
int userid; // User id on server
char userinfo[MAX_INFO_STRING]; // User info string
char name[MAX_SCOREBOARDNAME]; // Name (extracted from userinfo)
int spectator; // Spectator or not, unused
int spectator; // Spectator or not, unused (frags for quake demo playback)

int ping;
int packet_loss;
Expand Down
13 changes: 7 additions & 6 deletions common/render_api.h
Expand Up @@ -74,12 +74,13 @@ enum

typedef enum
{
TF_COLORMAP = 0, // just for tabulate source
TF_NEAREST = (1<<0), // disable texfilter
TF_KEEP_SOURCE = (1<<1), // some images keep source
TF_NOFLIP_TGA = (1<<2), // Steam background completely ignore tga attribute 0x20
TF_EXPAND_SOURCE = (1<<3), // Don't keep source as 8-bit expand to RGBA
TF_TEXTURE_2D_ARRAY = (1<<4), // this is 2D texture array (multi-layers)
TF_TEXTURE_RECTANGLE= (1<<5), // this is GL_TEXTURE_RECTANGLE
// reserved
TF_RECTANGLE = (1<<5), // this is GL_TEXTURE_RECTANGLE
TF_CUBEMAP = (1<<6), // it's cubemap texture
TF_DEPTHMAP = (1<<7), // custom texture filter used
TF_QUAKEPAL = (1<<8), // image has an quake1 palette
Expand All @@ -92,7 +93,7 @@ typedef enum
TF_NORMALMAP = (1<<15), // is a normalmap
TF_HAS_ALPHA = (1<<16), // image has alpha (used only for GL_CreateTexture)
TF_FORCE_COLOR = (1<<17), // force upload monochrome textures as RGB (detail textures)
TF_TEXTURE_1D = (1<<18), // this is GL_TEXTURE_1D
// reserved
TF_BORDER = (1<<19), // zero clamp for projected textures
TF_TEXTURE_3D = (1<<20), // this is GL_TEXTURE_3D
TF_ATLAS_PAGE = (1<<21), // bit who indicate lightmap page or deluxemap page
Expand Down Expand Up @@ -203,9 +204,9 @@ typedef struct render_api_s
void (*GL_TextureTarget)( unsigned int target ); // change texture unit mode without bind texture
void (*GL_TexCoordArrayMode)( unsigned int texmode );
void* (*GL_GetProcAddress)( const char *name );
void (*GL_UpdateTexSize)( int texnum, int width, int height, int depth ); // recalc statistics
void (*GL_Reserved0)( void ); // for potential interface expansion without broken compatibility
void (*GL_Reserved1)( void );
void (*GL_Reserved2)( void );

// Misc renderer functions
void (*GL_DrawParticles)( const struct ref_viewpass_s *rvp, qboolean trans_pass, float frametime );
Expand All @@ -215,8 +216,8 @@ typedef struct render_api_s
struct mstudiotex_s *( *StudioGetTexture )( struct cl_entity_s *e );
const struct ref_overview_s *( *GetOverviewParms )( void );
const char *( *GetFileByIndex )( int fileindex );
void (*R_Reserved1)( void ); // for potential interface expansion without broken compatibility
void (*R_Reserved2)( void );
void (*R_Reserved0)( void ); // for potential interface expansion without broken compatibility
void (*R_Reserved1)( void );

// static allocations
void *(*pfnMemAlloc)( size_t cb, const char *filename, const int fileline );
Expand Down
11 changes: 0 additions & 11 deletions common/wadfile.h
Expand Up @@ -55,17 +55,6 @@ infotable dlumpinfo_t[dwadinfo_t->numlumps]
#define TYP_COLORMAP2 69 // old stuff. build palette from LBM file (not used)
#define TYP_QFONT 70 // half-life font (qfont_t)

// dlumpinfo_t->img_type
#define IMG_DIFFUSE 0 // same as default pad1 always equal 0
#define IMG_ALPHAMASK 1 // alpha-channel that stored separate as luminance texture
#define IMG_NORMALMAP 2 // indexed normalmap
#define IMG_GLOSSMAP 3 // luminance or color specularity map
#define IMG_GLOSSPOWER 4 // gloss power map (each value is a specular pow)
#define IMG_HEIGHTMAP 5 // heightmap (for parallax occlusion mapping or source of normalmap)
#define IMG_LUMA 6 // luma or glow texture with self-illuminated parts
#define IMG_DECAL_ALPHA 7 // it's a decal texture (last color in palette is base color, and other colors his graduations)
#define IMG_DECAL_COLOR 8 // decal without alpha-channel uses base, like 127 127 127 as transparent color

/*
========================================================================
Expand Down
2 changes: 1 addition & 1 deletion dlls/sound.cpp
Expand Up @@ -140,7 +140,7 @@ LINK_ENTITY_TO_CLASS( ambient_generic, CAmbientGeneric );
TYPEDESCRIPTION CAmbientGeneric::m_SaveData[] =
{
DEFINE_FIELD( CAmbientGeneric, m_flAttenuation, FIELD_FLOAT ),
// DEFINE_FIELD( CAmbientGeneric, m_fActive, FIELD_BOOLEAN ),
DEFINE_FIELD( CAmbientGeneric, m_fActive, FIELD_BOOLEAN ),
DEFINE_FIELD( CAmbientGeneric, m_fLooping, FIELD_BOOLEAN ),

// HACKHACK - This is not really in the spirit of the save/restore design, but save this
Expand Down
4 changes: 2 additions & 2 deletions engine/client/cl_cmds.c
Expand Up @@ -152,7 +152,7 @@ qboolean CL_ScreenshotGetName( int lastnum, char *filename )

if( lastnum < 0 || lastnum > 9999 )
{
MsgDev( D_ERROR, "unable to write screenshot\n" );
Con_Printf( S_ERROR "unable to write screenshot\n" );
return false;
}

Expand Down Expand Up @@ -180,7 +180,7 @@ qboolean CL_SnapshotGetName( int lastnum, char *filename )

if( lastnum < 0 || lastnum > 9999 )
{
MsgDev( D_ERROR, "unable to write snapshot\n" );
Con_Printf( S_ERROR "unable to write snapshot\n" );
FS_AllowDirectPaths( false );
return false;
}
Expand Down
12 changes: 6 additions & 6 deletions engine/client/cl_custom.c
Expand Up @@ -44,19 +44,19 @@ qboolean CL_CheckFile( sizebuf_t *msg, resource_t *pResource )

if( !COM_IsSafeFileToDownload( filepath ))
{
MsgDev( D_REPORT, "refusing to download %s\n", filepath );
Con_Reportf( "refusing to download %s\n", filepath );
return true;
}

if( !cl_allow_download.value )
{
MsgDev( D_REPORT, "Download refused, cl_allow_download is 0\n" );
Con_Reportf( "Download refused, cl_allow_download is 0\n" );
return true;
}

if( cls.state == ca_active && !cl_download_ingame.value )
{
MsgDev( D_REPORT, "In-game download refused...\n" );
Con_Reportf( "In-game download refused...\n" );
return true;
}

Expand All @@ -66,7 +66,7 @@ qboolean CL_CheckFile( sizebuf_t *msg, resource_t *pResource )

if( cls.demoplayback )
{
MsgDev( D_WARN, "file %s missing during demo playback.\n", filepath );
Con_Reportf( S_WARN "file %s missing during demo playback.\n", filepath );
return true;
}

Expand All @@ -81,7 +81,7 @@ void CL_AddToResourceList( resource_t *pResource, resource_t *pList )
{
if( pResource->pPrev != NULL || pResource->pNext != NULL )
{
MsgDev( D_ERROR, "Resource already linked\n" );
Con_Reportf( S_ERROR "Resource already linked\n" );
return;
}

Expand Down Expand Up @@ -112,7 +112,7 @@ void CL_MoveToOnHandList( resource_t *pResource )
{
if( !pResource )
{
MsgDev( D_REPORT, "Null resource passed to CL_MoveToOnHandList\n" );
Con_Reportf( "Null resource passed to CL_MoveToOnHandList\n" );
return;
}

Expand Down
2 changes: 1 addition & 1 deletion engine/client/cl_debug.c
Expand Up @@ -82,7 +82,7 @@ const char *svc_strings[svc_lastmsg+1] =
"svc_director",
"svc_voiceinit",
"svc_voicedata",
"svc_unused54",
"svc_deltapacketbones",
"svc_unused55",
"svc_resourcelocation",
"svc_querycvarvalue",
Expand Down
29 changes: 14 additions & 15 deletions engine/client/cl_demo.c
Expand Up @@ -126,7 +126,7 @@ void CL_StartupDemoHeader( void )

if( !cls.demoheader )
{
MsgDev( D_ERROR, "couldn't open temporary header file.\n" );
Con_DPrintf( S_ERROR "couldn't open temporary header file.\n" );
return;
}

Expand Down Expand Up @@ -359,7 +359,7 @@ void CL_WriteDemoHeader( const char *name )

if( !cls.demofile )
{
MsgDev( D_ERROR, "couldn't open %s.\n", name );
Con_Printf( S_ERROR "couldn't open %s.\n", name );
return;
}

Expand Down Expand Up @@ -773,14 +773,14 @@ qboolean CL_ReadRawNetworkData( byte *buffer, size_t *length )

if( msglen < 0 )
{
MsgDev( D_ERROR, "Demo message length < 0\n" );
Con_Reportf( S_ERROR "Demo message length < 0\n" );
CL_DemoCompleted();
return false;
}

if( msglen > MAX_INIT_MSG )
{
MsgDev( D_ERROR, "Demo message %i > %i\n", msglen, MAX_INIT_MSG );
Con_Reportf( S_ERROR "Demo message %i > %i\n", msglen, MAX_INIT_MSG );
CL_DemoCompleted();
return false;
}
Expand All @@ -789,7 +789,7 @@ qboolean CL_ReadRawNetworkData( byte *buffer, size_t *length )
{
if( FS_Read( cls.demofile, buffer, msglen ) != msglen )
{
MsgDev( D_ERROR, "Error reading demo message data\n" );
Con_Reportf( S_ERROR "Error reading demo message data\n" );
CL_DemoCompleted();
return false;
}
Expand Down Expand Up @@ -862,14 +862,14 @@ qboolean CL_DemoReadMessageQuake( byte *buffer, size_t *length )

if( msglen < 0 )
{
MsgDev( D_ERROR, "Demo message length < 0\n" );
Con_Reportf( S_ERROR "Demo message length < 0\n" );
CL_DemoCompleted();
return false;
}

if( msglen > MAX_INIT_MSG )
{
MsgDev( D_ERROR, "Demo message %i > %i\n", msglen, MAX_INIT_MSG );
Con_Reportf( S_ERROR "Demo message %i > %i\n", msglen, MAX_INIT_MSG );
CL_DemoCompleted();
return false;
}
Expand All @@ -878,7 +878,7 @@ qboolean CL_DemoReadMessageQuake( byte *buffer, size_t *length )
{
if( FS_Read( cls.demofile, buffer, msglen ) != msglen )
{
MsgDev( D_ERROR, "Error reading demo message data\n" );
Con_Reportf( S_ERROR "Error reading demo message data\n" );
CL_DemoCompleted();
return false;
}
Expand Down Expand Up @@ -910,7 +910,6 @@ qboolean CL_DemoReadMessage( byte *buffer, size_t *length )

if( !cls.demofile )
{
MsgDev( D_ERROR, "tried to read a demo message with no demo file\n" );
CL_DemoCompleted();
return false;
}
Expand Down Expand Up @@ -1454,7 +1453,7 @@ void CL_PlayDemo_f( void )
}
else if( !FS_FileExists( filename2, true ))
{
MsgDev( D_ERROR, "couldn't open %s\n", filename2 );
Con_Printf( S_ERROR "couldn't open %s\n", filename2 );
CL_DemoAborted();
return;
}
Expand All @@ -1468,18 +1467,18 @@ void CL_PlayDemo_f( void )

if( demo.header.id != IDEMOHEADER )
{
MsgDev( D_ERROR, "%s is not a demo file\n", demoname );
Con_Printf( S_ERROR "%s is not a demo file\n", demoname );
CL_DemoAborted();
return;
}

if( demo.header.net_protocol != PROTOCOL_VERSION || demo.header.dem_protocol != DEMO_PROTOCOL )
{
if( demo.header.dem_protocol != DEMO_PROTOCOL )
MsgDev( D_ERROR, "playdemo: demo protocol outdated (%i should be %i)\n", demo.header.dem_protocol, DEMO_PROTOCOL );
Con_Printf( S_ERROR "playdemo: demo protocol outdated (%i should be %i)\n", demo.header.dem_protocol, DEMO_PROTOCOL );

if( demo.header.net_protocol != PROTOCOL_VERSION )
MsgDev( D_ERROR, "playdemo: net protocol outdated (%i should be %i)\n", demo.header.net_protocol, PROTOCOL_VERSION );
Con_Printf( S_ERROR "playdemo: net protocol outdated (%i should be %i)\n", demo.header.net_protocol, PROTOCOL_VERSION );
CL_DemoAborted();
return;
}
Expand All @@ -1490,7 +1489,7 @@ void CL_PlayDemo_f( void )

if( demo.directory.numentries < 1 || demo.directory.numentries > 1024 )
{
MsgDev( D_ERROR, "demo had bogus # of directory entries: %i\n", demo.directory.numentries );
Con_Printf( S_ERROR "demo had bogus # of directory entries: %i\n", demo.directory.numentries );
CL_DemoAborted();
return;
}
Expand Down Expand Up @@ -1559,7 +1558,7 @@ void CL_StartDemos_f( void )
c = Cmd_Argc() - 1;
if( c > MAX_DEMOS )
{
MsgDev( D_WARN, "Host_StartDemos: max %i demos in demoloop\n", MAX_DEMOS );
Con_DPrintf( S_WARN "Host_StartDemos: max %i demos in demoloop\n", MAX_DEMOS );
c = MAX_DEMOS;
}

Expand Down

0 comments on commit 044b603

Please sign in to comment.