diff --git a/engine/client/gl_vidnt.c b/engine/client/gl_vidnt.c index b22dd03d..abb1a009 100644 --- a/engine/client/gl_vidnt.c +++ b/engine/client/gl_vidnt.c @@ -1015,6 +1015,8 @@ void R_SaveVideoMode( int vid_mode ) glState.width = vidmode[mode].width; glState.height = vidmode[mode].height; glState.wideScreen = vidmode[mode].wideScreen; + Cvar_FullSet( "width", va( "%i", glState.width ), FCVAR_READ_ONLY ); + Cvar_FullSet( "height", va( "%i", glState.height ), FCVAR_READ_ONLY ); Cvar_SetValue( "vid_mode", mode ); // merge if it out of bounds MsgDev( D_NOTE, "Set: %s [%dx%d]\n", vidmode[mode].desc, vidmode[mode].width, vidmode[mode].height ); diff --git a/engine/physint.h b/engine/physint.h index 9f557d19..6c2b8c4f 100644 --- a/engine/physint.h +++ b/engine/physint.h @@ -140,7 +140,7 @@ typedef struct physics_interface_s // called at end the frame of SV_Physics call void ( *SV_EndFrame )( void ); // obsolete - void (*pfnReserved)( void ); + void (*pfnPrepWorldFrame)( void ); // called through save\restore process void (*pfnCreateEntitiesInRestoreList)( SAVERESTOREDATA *pSaveData, int levelMask, qboolean create_world ); // allocate custom string (e.g. using user implementation of stringtable, not engine strings) diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c index 5d10e16f..2f969237 100644 --- a/engine/server/sv_main.c +++ b/engine/server/sv_main.c @@ -513,6 +513,9 @@ void SV_PrepWorldFrame( void ) ClearBits( ent->v.effects, EF_MUZZLEFLASH|EF_NOINTERP ); } + + if( svgame.physFuncs.pfnPrepWorldFrame != NULL ) + svgame.physFuncs.pfnPrepWorldFrame(); } /*