30 Sep 2018

This commit is contained in:
g-cont 2018-09-30 00:00:00 +03:00 committed by Alibek Omarov
parent e5050a9123
commit 9276afc78e
10 changed files with 82 additions and 13 deletions

View File

@ -16,6 +16,65 @@ VGUI: - a VGUI implementation code in xash.dll
Memory: - a memory manager in xash.dll Memory: - a memory manager in xash.dll
Physic: - a server physics code 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 build 4150
Server: fixed a very old bug with ambient_generic restating sounds after save\restore Server: fixed a very old bug with ambient_generic restating sounds after save\restore

View File

@ -140,7 +140,7 @@ LINK_ENTITY_TO_CLASS( ambient_generic, CAmbientGeneric );
TYPEDESCRIPTION CAmbientGeneric::m_SaveData[] = TYPEDESCRIPTION CAmbientGeneric::m_SaveData[] =
{ {
DEFINE_FIELD( CAmbientGeneric, m_flAttenuation, FIELD_FLOAT ), 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 ), DEFINE_FIELD( CAmbientGeneric, m_fLooping, FIELD_BOOLEAN ),
// HACKHACK - This is not really in the spirit of the save/restore design, but save this // HACKHACK - This is not really in the spirit of the save/restore design, but save this

View File

@ -1623,10 +1623,13 @@ void CL_ParseStatusMessage( netadr_t from, sizebuf_t *msg )
CL_FixupColorStringsForInfoString( s, infostring ); CL_FixupColorStringsForInfoString( s, infostring );
if( !COM_CheckString( Info_ValueForKey( infostring, "gamedir" ))) if( !COM_CheckString( Info_ValueForKey( infostring, "gamedir" )))
return; // unsupported proto {
Con_Printf( "^1Server^7: %s, Info: %s\n", NET_AdrToString( from ), infostring );
return; // unsupported proto
}
// more info about servers // more info about servers
Con_Printf( "Server: %s, Game: %s\n", NET_AdrToString( from ), Info_ValueForKey( infostring, "gamedir" )); Con_Printf( "^2Server^7: %s, Game: %s\n", NET_AdrToString( from ), Info_ValueForKey( infostring, "gamedir" ));
UI_AddServerToList( from, infostring ); UI_AddServerToList( from, infostring );
} }

View File

@ -1581,7 +1581,7 @@ void GL_InitCommands( void )
r_speeds = Cvar_Get( "r_speeds", "0", FCVAR_ARCHIVE, "shows renderer speeds" ); r_speeds = Cvar_Get( "r_speeds", "0", FCVAR_ARCHIVE, "shows renderer speeds" );
r_fullbright = Cvar_Get( "r_fullbright", "0", FCVAR_CHEAT, "disable lightmaps, get fullbright for entities" ); r_fullbright = Cvar_Get( "r_fullbright", "0", FCVAR_CHEAT, "disable lightmaps, get fullbright for entities" );
r_norefresh = Cvar_Get( "r_norefresh", "0", 0, "disable 3D rendering (use with caution)" ); r_norefresh = Cvar_Get( "r_norefresh", "0", 0, "disable 3D rendering (use with caution)" );
r_lighting_extended = Cvar_Get( "r_lighting_extended", "0", FCVAR_ARCHIVE, "allow to get lighting from bmodels too" ); r_lighting_extended = Cvar_Get( "r_lighting_extended", "1", FCVAR_ARCHIVE, "allow to get lighting from bmodels too" );
r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" ); r_lighting_modulate = Cvar_Get( "r_lighting_modulate", "0.6", FCVAR_ARCHIVE, "lightstyles modulate scale" );
r_lighting_ambient = Cvar_Get( "r_lighting_ambient", "0.3", FCVAR_ARCHIVE, "map ambient lighting scale" ); r_lighting_ambient = Cvar_Get( "r_lighting_ambient", "0.3", FCVAR_ARCHIVE, "map ambient lighting scale" );
r_adjust_fov = Cvar_Get( "r_adjust_fov", "1", FCVAR_ARCHIVE, "making FOV adjustment for wide-screens" ); r_adjust_fov = Cvar_Get( "r_adjust_fov", "1", FCVAR_ARCHIVE, "making FOV adjustment for wide-screens" );

View File

@ -44,7 +44,7 @@ void S_SoundList_f( void )
for( i = 0, sfx = s_knownSfx; i < s_numSfx; i++, sfx++ ) for( i = 0, sfx = s_knownSfx; i < s_numSfx; i++, sfx++ )
{ {
if( !sfx->servercount ) if( !sfx->name[0] )
continue; continue;
sc = sfx->cache; sc = sfx->cache;
@ -54,7 +54,9 @@ void S_SoundList_f( void )
if( sc->loopStart >= 0 ) Con_Printf( "L" ); if( sc->loopStart >= 0 ) Con_Printf( "L" );
else Con_Printf( " " ); else Con_Printf( " " );
Con_Printf( " (%2db) %s : sound/%s\n", sc->width * 8, Q_memprint( sc->size ), sfx->name ); if( sfx->name[0] == '*' )
Con_Printf( " (%2db) %s : %s\n", sc->width * 8, Q_memprint( sc->size ), sfx->name );
else Con_Printf( " (%2db) %s : %s%s\n", sc->width * 8, Q_memprint( sc->size ), DEFAULT_SOUNDPATH, sfx->name );
totalSfx++; totalSfx++;
} }
} }

View File

@ -2205,7 +2205,7 @@ qboolean S_Init( void )
s_lerping = Cvar_Get( "s_lerping", "0", FCVAR_ARCHIVE, "apply interpolation to sound output" ); s_lerping = Cvar_Get( "s_lerping", "0", FCVAR_ARCHIVE, "apply interpolation to sound output" );
s_ambient_level = Cvar_Get( "ambient_level", "0.3", FCVAR_ARCHIVE, "volume of environment noises (water and wind)" ); s_ambient_level = Cvar_Get( "ambient_level", "0.3", FCVAR_ARCHIVE, "volume of environment noises (water and wind)" );
s_ambient_fade = Cvar_Get( "ambient_fade", "1000", FCVAR_ARCHIVE, "rate of volume fading when client is moving" ); s_ambient_fade = Cvar_Get( "ambient_fade", "1000", FCVAR_ARCHIVE, "rate of volume fading when client is moving" );
s_combine_sounds = Cvar_Get( "s_combine_channels", "1", FCVAR_ARCHIVE, "combine channels with same sounds" ); s_combine_sounds = Cvar_Get( "s_combine_channels", "0", FCVAR_ARCHIVE, "combine channels with same sounds" );
snd_foliage_db_loss = Cvar_Get( "snd_foliage_db_loss", "4", 0, "foliage loss factor" ); snd_foliage_db_loss = Cvar_Get( "snd_foliage_db_loss", "4", 0, "foliage loss factor" );
snd_gain_max = Cvar_Get( "snd_gain_max", "1", 0, "gain maximal threshold" ); snd_gain_max = Cvar_Get( "snd_gain_max", "1", 0, "gain maximal threshold" );
snd_gain_min = Cvar_Get( "snd_gain_min", "0.01", 0, "gain minimal threshold" ); snd_gain_min = Cvar_Get( "snd_gain_min", "0.01", 0, "gain minimal threshold" );

View File

@ -468,7 +468,7 @@ void Con_CheckResize( void )
int i, width; int i, width;
if( con.curFont && con.curFont->hFontTexture ) if( con.curFont && con.curFont->hFontTexture )
charWidth = con.curFont->charWidths['M'] - 1; charWidth = con.curFont->charWidths['O'] - 1;
width = ( glState.width / charWidth ) - 2; width = ( glState.width / charWidth ) - 2;
if( !glw_state.initialized ) width = (640 / 5); if( !glw_state.initialized ) width = (640 / 5);
@ -1746,6 +1746,7 @@ void Key_Console( int key )
Con_ClearField( &con.input ); Con_ClearField( &con.input );
con.input.widthInChars = con.linewidth; con.input.widthInChars = con.linewidth;
Con_Bottom();
if( cls.state == ca_disconnected ) if( cls.state == ca_disconnected )
{ {
@ -1759,6 +1760,7 @@ void Key_Console( int key )
if( key == K_TAB ) if( key == K_TAB )
{ {
Con_CompleteCommand( &con.input ); Con_CompleteCommand( &con.input );
Con_Bottom();
return; return;
} }

View File

@ -294,20 +294,23 @@ static int BuildImportTable( MEMORYMODULE *module )
for( ; *thunkRef; thunkRef++, funcRef++ ) for( ; *thunkRef; thunkRef++, funcRef++ )
{ {
LPCSTR funcName;
if( IMAGE_SNAP_BY_ORDINAL( *thunkRef )) if( IMAGE_SNAP_BY_ORDINAL( *thunkRef ))
{ {
LPCSTR funcName = (LPCSTR)IMAGE_ORDINAL( *thunkRef ); funcName = (LPCSTR)IMAGE_ORDINAL( *thunkRef );
*funcRef = (DWORD)COM_GetProcAddress( handle, funcName ); *funcRef = (DWORD)COM_GetProcAddress( handle, funcName );
} }
else else
{ {
PIMAGE_IMPORT_BY_NAME thunkData = (PIMAGE_IMPORT_BY_NAME)CALCULATE_ADDRESS( codeBase, *thunkRef ); PIMAGE_IMPORT_BY_NAME thunkData = (PIMAGE_IMPORT_BY_NAME)CALCULATE_ADDRESS( codeBase, *thunkRef );
LPCSTR funcName = (LPCSTR)&thunkData->Name; funcName = (LPCSTR)&thunkData->Name;
*funcRef = (DWORD)COM_GetProcAddress( handle, funcName ); *funcRef = (DWORD)COM_GetProcAddress( handle, funcName );
} }
if( *funcRef == 0 ) if( *funcRef == 0 )
{ {
Con_Printf( S_ERROR "%s unable to find address: %s\n", libname, funcName );
result = 0; result = 0;
break; break;
} }
@ -816,7 +819,7 @@ void *COM_GetProcAddress( void *hInstance, const char *name )
if( hInst->custom_loader ) if( hInst->custom_loader )
return (void *)MemoryGetProcAddress( hInst->hInstance, name ); return (void *)MemoryGetProcAddress( hInst->hInstance, name );
return (void *)GetProcAddress( hInst->hInstance, GetMSVCName( name )); return (void *)GetProcAddress( hInst->hInstance, name );
} }
void COM_FreeLibrary( void *hInstance ) void COM_FreeLibrary( void *hInstance )

View File

@ -489,7 +489,7 @@ void Sys_InitLog( void )
if( !s_wcd.logfile ) if( !s_wcd.logfile )
{ {
Con_Printf( S_ERROR "Sys_InitLog: can't create log file %s\n", s_wcd.log_path ); MSGBOX( va( "can't create log file %s\n", s_wcd.log_path ));
return; return;
} }

View File

@ -346,7 +346,7 @@ static const char *UI_Controls_KeyFunc( int key, int down )
return uiSoundLaunch; return uiSoundLaunch;
} }
if( key == K_ENTER && uiControls.dlgMessage.generic.flags & QMF_HIDDEN ) if(( key == K_ENTER || key == K_KP_ENTER ) && uiControls.dlgMessage.generic.flags & QMF_HIDDEN )
{ {
if( !strlen( uiControls.keysBind[uiControls.keysList.curItem] )) if( !strlen( uiControls.keysBind[uiControls.keysList.curItem] ))
{ {