diff --git a/engine/client/cl_demo.c b/engine/client/cl_demo.c index 7f364978..5985d0ed 100644 --- a/engine/client/cl_demo.c +++ b/engine/client/cl_demo.c @@ -1171,7 +1171,7 @@ void CL_StopPlayback( void ) CL_GetDemoComment ================== */ -int CL_GetDemoComment( const char *demoname, char *comment ) +int GAME_EXPORT CL_GetDemoComment( const char *demoname, char *comment ) { file_t *demfile; demoheader_t demohdr; diff --git a/engine/client/cl_efx.c b/engine/client/cl_efx.c index 363ae289..df02c7ce 100644 --- a/engine/client/cl_efx.c +++ b/engine/client/cl_efx.c @@ -39,7 +39,7 @@ R_LookupColor find nearest color in particle palette ================ */ -short R_LookupColor( byte r, byte g, byte b ) +short GAME_EXPORT R_LookupColor( byte r, byte g, byte b ) { int i, best; float diff, bestdiff; @@ -74,7 +74,7 @@ R_GetPackedColor in hardware mode does nothing ================ */ -void R_GetPackedColor( short *packed, short color ) +void GAME_EXPORT R_GetPackedColor( short *packed, short color ) { if( packed ) *packed = 0; } @@ -187,7 +187,7 @@ R_AllocParticle can return NULL if particles is out ================ */ -particle_t *R_AllocParticle( void (*callback)( particle_t*, float )) +particle_t * GAME_EXPORT R_AllocParticle( void (*callback)( particle_t*, float )) { particle_t *p; @@ -654,7 +654,7 @@ Remove beam attached to specified entity and all particle trails (if this is a beamfollow) ============== */ -void R_BeamKill( int deadEntity ) +void GAME_EXPORT R_BeamKill( int deadEntity ) { cl_entity_t *pDeadEntity; @@ -828,7 +828,7 @@ R_BeamEnts Create beam between two ents ============== */ -BEAM *R_BeamEnts( int startEnt, int endEnt, int modelIndex, float life, float width, float amplitude, float brightness, +BEAM * GAME_EXPORT R_BeamEnts( int startEnt, int endEnt, int modelIndex, float life, float width, float amplitude, float brightness, float speed, int startFrame, float framerate, float r, float g, float b ) { cl_entity_t *start, *end; @@ -873,7 +873,7 @@ R_BeamPoints Create beam between two points ============== */ -BEAM *R_BeamPoints( vec3_t start, vec3_t end, int modelIndex, float life, float width, float amplitude, +BEAM * GAME_EXPORT R_BeamPoints( vec3_t start, vec3_t end, int modelIndex, float life, float width, float amplitude, float brightness, float speed, int startFrame, float framerate, float r, float g, float b ) { BEAM *pbeam; @@ -904,7 +904,7 @@ R_BeamCirclePoints Create beam cicrle ============== */ -BEAM *R_BeamCirclePoints( int type, vec3_t start, vec3_t end, int modelIndex, float life, float width, +BEAM * GAME_EXPORT R_BeamCirclePoints( int type, vec3_t start, vec3_t end, int modelIndex, float life, float width, float amplitude, float brightness, float speed, int startFrame, float framerate, float r, float g, float b ) { BEAM *pbeam = R_BeamLightning( start, end, modelIndex, life, width, amplitude, brightness, speed ); @@ -925,7 +925,7 @@ R_BeamEntPoint Create beam between entity and point ============== */ -BEAM *R_BeamEntPoint( int startEnt, vec3_t end, int modelIndex, float life, float width, float amplitude, +BEAM *GAME_EXPORT R_BeamEntPoint( int startEnt, vec3_t end, int modelIndex, float life, float width, float amplitude, float brightness, float speed, int startFrame, float framerate, float r, float g, float b ) { BEAM *pbeam; @@ -965,7 +965,7 @@ R_BeamRing Create beam between two ents ============== */ -BEAM *R_BeamRing( int startEnt, int endEnt, int modelIndex, float life, float width, float amplitude, float brightness, +BEAM * GAME_EXPORT R_BeamRing( int startEnt, int endEnt, int modelIndex, float life, float width, float amplitude, float brightness, float speed, int startFrame, float framerate, float r, float g, float b ) { BEAM *pbeam; @@ -1001,7 +1001,7 @@ R_BeamFollow Create beam following with entity ============== */ -BEAM *R_BeamFollow( int startEnt, int modelIndex, float life, float width, float r, float g, float b, float brightness ) +BEAM *GAME_EXPORT R_BeamFollow( int startEnt, int modelIndex, float life, float width, float r, float g, float b, float brightness ) { BEAM *pbeam = R_BeamAlloc(); @@ -1030,7 +1030,7 @@ R_BeamLightning template for new beams ============== */ -BEAM *R_BeamLightning( vec3_t start, vec3_t end, int modelIndex, float life, float width, float amplitude, float brightness, float speed ) +BEAM *GAME_EXPORT R_BeamLightning( vec3_t start, vec3_t end, int modelIndex, float life, float width, float amplitude, float brightness, float speed ) { BEAM *pbeam = R_BeamAlloc(); @@ -1054,7 +1054,7 @@ R_EntityParticles set EF_BRIGHTFIELD effect =============== */ -void R_EntityParticles( cl_entity_t *ent ) +void GAME_EXPORT R_EntityParticles( cl_entity_t *ent ) { float angle; float sr, sp, sy, cr, cp, cy; @@ -1089,7 +1089,7 @@ R_ParticleExplosion =============== */ -void R_ParticleExplosion( const vec3_t org ) +void GAME_EXPORT R_ParticleExplosion( const vec3_t org ) { particle_t *p; int i, j; @@ -1120,7 +1120,7 @@ R_ParticleExplosion2 =============== */ -void R_ParticleExplosion2( const vec3_t org, int colorStart, int colorLength ) +void GAME_EXPORT R_ParticleExplosion2( const vec3_t org, int colorStart, int colorLength ) { int i, j; int colorMod = 0; @@ -1152,7 +1152,7 @@ R_BlobExplosion =============== */ -void R_BlobExplosion( const vec3_t org ) +void GAME_EXPORT R_BlobExplosion( const vec3_t org ) { particle_t *p; int i, j; @@ -1191,7 +1191,7 @@ ParticleEffect PARTICLE_EFFECT on server =============== */ -void R_RunParticleEffect( const vec3_t org, const vec3_t dir, int color, int count ) +void GAME_EXPORT R_RunParticleEffect( const vec3_t org, const vec3_t dir, int color, int count ) { particle_t *p; int i; @@ -1224,7 +1224,7 @@ R_Blood particle spray =============== */ -void R_Blood( const vec3_t org, const vec3_t ndir, int pcolor, int speed ) +void GAME_EXPORT R_Blood( const vec3_t org, const vec3_t ndir, int pcolor, int speed ) { vec3_t pos, dir, vec; float pspeed = speed * 3.0f; @@ -1260,7 +1260,7 @@ R_BloodStream particle spray 2 =============== */ -void R_BloodStream( const vec3_t org, const vec3_t dir, int pcolor, int speed ) +void GAME_EXPORT R_BloodStream( const vec3_t org, const vec3_t dir, int pcolor, int speed ) { particle_t *p; int i, j; @@ -1337,7 +1337,7 @@ R_LavaSplash =============== */ -void R_LavaSplash( const vec3_t org ) +void GAME_EXPORT R_LavaSplash( const vec3_t org ) { particle_t *p; float vel; @@ -1379,7 +1379,7 @@ R_ParticleBurst =============== */ -void R_ParticleBurst( const vec3_t org, int size, int color, float life ) +void GAME_EXPORT R_ParticleBurst( const vec3_t org, int size, int color, float life ) { particle_t *p; vec3_t dir, dest; @@ -1412,7 +1412,7 @@ R_LargeFunnel =============== */ -void R_LargeFunnel( const vec3_t org, int reverse ) +void GAME_EXPORT R_LargeFunnel( const vec3_t org, int reverse ) { particle_t *p; float vel, dist; @@ -1459,7 +1459,7 @@ R_TeleportSplash =============== */ -void R_TeleportSplash( const vec3_t org ) +void GAME_EXPORT R_TeleportSplash( const vec3_t org ) { particle_t *p; vec3_t dir; @@ -1501,7 +1501,7 @@ R_RocketTrail =============== */ -void R_RocketTrail( vec3_t start, vec3_t end, int type ) +void GAME_EXPORT R_RocketTrail( vec3_t start, vec3_t end, int type ) { vec3_t vec, right, up; static int tracercount; @@ -1620,7 +1620,7 @@ R_ParticleLine ================ */ -void R_ParticleLine( const vec3_t start, const vec3_t end, byte r, byte g, byte b, float life ) +void GAME_EXPORT R_ParticleLine( const vec3_t start, const vec3_t end, byte r, byte g, byte b, float life ) { int pcolor; @@ -1634,7 +1634,7 @@ R_ParticleBox ================ */ -void R_ParticleBox( const vec3_t absmin, const vec3_t absmax, byte r, byte g, byte b, float life ) +void GAME_EXPORT R_ParticleBox( const vec3_t absmin, const vec3_t absmax, byte r, byte g, byte b, float life ) { vec3_t mins, maxs; vec3_t origin; @@ -1655,7 +1655,7 @@ R_ShowLine ================ */ -void R_ShowLine( const vec3_t start, const vec3_t end ) +void GAME_EXPORT R_ShowLine( const vec3_t start, const vec3_t end ) { vec3_t dir, org; float len; @@ -1687,7 +1687,7 @@ R_BulletImpactParticles =============== */ -void R_BulletImpactParticles( const vec3_t pos ) +void GAME_EXPORT R_BulletImpactParticles( const vec3_t pos ) { int i, quantity; int color; @@ -1729,7 +1729,7 @@ R_FlickerParticles =============== */ -void R_FlickerParticles( const vec3_t org ) +void GAME_EXPORT R_FlickerParticles( const vec3_t org ) { particle_t *p; int i; @@ -1757,7 +1757,7 @@ R_StreakSplash create a splash of streaks =============== */ -void R_StreakSplash( const vec3_t pos, const vec3_t dir, int color, int count, float speed, int velocityMin, int velocityMax ) +void GAME_EXPORT R_StreakSplash( const vec3_t pos, const vec3_t dir, int color, int count, float speed, int velocityMin, int velocityMax ) { vec3_t vel, vel2; particle_t *p; @@ -1822,7 +1822,7 @@ R_TracerEffect =============== */ -void R_TracerEffect( const vec3_t start, const vec3_t end ) +void GAME_EXPORT R_TracerEffect( const vec3_t start, const vec3_t end ) { vec3_t pos, vel, dir; float len, speed; @@ -1849,7 +1849,7 @@ R_UserTracerParticle =============== */ -void R_UserTracerParticle( float *org, float *vel, float life, int colorIndex, float length, byte deathcontext, void (*deathfunc)( particle_t *p )) +void GAME_EXPORT R_UserTracerParticle( float *org, float *vel, float life, int colorIndex, float length, byte deathcontext, void (*deathfunc)( particle_t *p )) { particle_t *p; @@ -1884,7 +1884,7 @@ R_SparkStreaks create a streak tracers =============== */ -void R_SparkStreaks( const vec3_t pos, int count, int velocityMin, int velocityMax ) +void GAME_EXPORT R_SparkStreaks( const vec3_t pos, int count, int velocityMin, int velocityMax ) { particle_t *p; vec3_t vel; @@ -1912,7 +1912,7 @@ R_Implosion make implosion tracers =============== */ -void R_Implosion( const vec3_t end, float radius, int count, float life ) +void GAME_EXPORT R_Implosion( const vec3_t end, float radius, int count, float life ) { float dist = ( radius / 100.0f ); vec3_t start, temp, vel; diff --git a/engine/client/cl_events.c b/engine/client/cl_events.c index 4f69b514..085405f4 100644 --- a/engine/client/cl_events.c +++ b/engine/client/cl_events.c @@ -450,7 +450,7 @@ CL_PlaybackEvent ============= */ -void CL_PlaybackEvent( int flags, const edict_t *pInvoker, word eventindex, float delay, float *origin, +void GAME_EXPORT CL_PlaybackEvent( int flags, const edict_t *pInvoker, word eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ) { event_args_t args; diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 3acc2267..b92ecfe7 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -816,7 +816,7 @@ CL_GetMaxlients Render callback for studio models ==================== */ -int CL_GetMaxClients( void ) +int GAME_EXPORT CL_GetMaxClients( void ) { return cl.maxclients; } @@ -859,7 +859,7 @@ SPR_EnableScissor ========= */ -static void SPR_EnableScissor( int x, int y, int width, int height ) +static void GAME_EXPORT SPR_EnableScissor( int x, int y, int width, int height ) { // check bounds x = bound( 0, x, clgame.scrInfo.iWidth ); @@ -880,7 +880,7 @@ SPR_DisableScissor ========= */ -static void SPR_DisableScissor( void ) +static void GAME_EXPORT SPR_DisableScissor( void ) { clgame.ds.scissor_x = 0; clgame.ds.scissor_width = 0; @@ -1328,7 +1328,7 @@ pfnSPR_Load ========= */ -HSPRITE pfnSPR_Load( const char *szPicName ) +HSPRITE GAME_EXPORT pfnSPR_Load( const char *szPicName ) { model_t *spr; @@ -1375,7 +1375,7 @@ pfnSPR_Frames ========= */ -static int pfnSPR_Frames( HSPRITE hPic ) +static int GAME_EXPORT pfnSPR_Frames( HSPRITE hPic ) { int numFrames; @@ -1390,7 +1390,7 @@ pfnSPR_Height ========= */ -static int pfnSPR_Height( HSPRITE hPic, int frame ) +static int GAME_EXPORT pfnSPR_Height( HSPRITE hPic, int frame ) { int sprHeight; @@ -1405,7 +1405,7 @@ pfnSPR_Width ========= */ -static int pfnSPR_Width( HSPRITE hPic, int frame ) +static int GAME_EXPORT pfnSPR_Width( HSPRITE hPic, int frame ) { int sprWidth; @@ -1420,7 +1420,7 @@ pfnSPR_Set ========= */ -static void pfnSPR_Set( HSPRITE hPic, int r, int g, int b ) +static void GAME_EXPORT pfnSPR_Set( HSPRITE hPic, int r, int g, int b ) { clgame.ds.pSprite = CL_GetSpritePointer( hPic ); clgame.ds.spriteColor[0] = bound( 0, r, 255 ); @@ -1435,7 +1435,7 @@ pfnSPR_Draw ========= */ -static void pfnSPR_Draw( int frame, int x, int y, const wrect_t *prc ) +static void GAME_EXPORT pfnSPR_Draw( int frame, int x, int y, const wrect_t *prc ) { ref.dllFuncs.GL_SetRenderMode( kRenderNormal ); SPR_DrawGeneric( frame, x, y, -1, -1, prc ); @@ -1447,7 +1447,7 @@ pfnSPR_DrawHoles ========= */ -static void pfnSPR_DrawHoles( int frame, int x, int y, const wrect_t *prc ) +static void GAME_EXPORT pfnSPR_DrawHoles( int frame, int x, int y, const wrect_t *prc ) { #if 1 // REFTODO ref.dllFuncs.GL_SetRenderMode( kRenderTransColor ); @@ -1472,7 +1472,7 @@ pfnSPR_DrawAdditive ========= */ -static void pfnSPR_DrawAdditive( int frame, int x, int y, const wrect_t *prc ) +static void GAME_EXPORT pfnSPR_DrawAdditive( int frame, int x, int y, const wrect_t *prc ) { #if 1 // REFTODO ref.dllFuncs.GL_SetRenderMode( kRenderTransAdd ); @@ -1587,7 +1587,7 @@ CL_FillRGBA ============= */ -void CL_FillRGBA( int x, int y, int w, int h, int r, int g, int b, int a ) +void GAME_EXPORT CL_FillRGBA( int x, int y, int w, int h, int r, int g, int b, int a ) { float _x = x, _y = y, _w = w, _h = h; @@ -1627,7 +1627,7 @@ pfnGetScreenInfo get actual screen info ============= */ -int CL_GetScreenInfo( SCREENINFO *pscrinfo ) +int GAME_EXPORT CL_GetScreenInfo( SCREENINFO *pscrinfo ) { float scale_factor = hud_scale->value; @@ -1666,7 +1666,7 @@ pfnSetCrosshair setup crosshair ============= */ -static void pfnSetCrosshair( HSPRITE hspr, wrect_t rc, int r, int g, int b ) +static void GAME_EXPORT pfnSetCrosshair( HSPRITE hspr, wrect_t rc, int r, int g, int b ) { clgame.ds.rgbaCrosshair[0] = (byte)r; clgame.ds.rgbaCrosshair[1] = (byte)g; @@ -1682,7 +1682,7 @@ pfnHookUserMsg ============= */ -static int pfnHookUserMsg( const char *pszName, pfnUserMsgHook pfn ) +static int GAME_EXPORT pfnHookUserMsg( const char *pszName, pfnUserMsgHook pfn ) { int i; @@ -1716,7 +1716,7 @@ pfnServerCmd ============= */ -static int pfnServerCmd( const char *szCmdString ) +static int GAME_EXPORT pfnServerCmd( const char *szCmdString ) { string buf; @@ -1736,7 +1736,7 @@ pfnClientCmd ============= */ -static int pfnClientCmd( const char *szCmdString ) +static int GAME_EXPORT pfnClientCmd( const char *szCmdString ) { if( !COM_CheckString( szCmdString )) return 0; @@ -1761,7 +1761,7 @@ pfnGetPlayerInfo ============= */ -static void pfnGetPlayerInfo( int ent_num, hud_player_info_t *pinfo ) +static void GAME_EXPORT pfnGetPlayerInfo( int ent_num, hud_player_info_t *pinfo ) { player_info_t *player; @@ -1791,7 +1791,7 @@ pfnPlaySoundByName ============= */ -static void pfnPlaySoundByName( const char *szSound, float volume ) +static void GAME_EXPORT pfnPlaySoundByName( const char *szSound, float volume ) { int hSound = S_RegisterSound( szSound ); S_StartSound( NULL, cl.viewentity, CHAN_ITEM, hSound, volume, ATTN_NORM, PITCH_NORM, SND_STOP_LOOPING ); @@ -1803,7 +1803,7 @@ pfnPlaySoundByIndex ============= */ -static void pfnPlaySoundByIndex( int iSound, float volume ) +static void GAME_EXPORT pfnPlaySoundByIndex( int iSound, float volume ) { int hSound; @@ -1849,7 +1849,7 @@ pfnDrawCharacter returns drawed chachter width (in real screen pixels) ============= */ -static int pfnDrawCharacter( int x, int y, int number, int r, int g, int b ) +static int GAME_EXPORT pfnDrawCharacter( int x, int y, int number, int r, int g, int b ) { if( !cls.creditsFont.valid ) return 0; @@ -1878,7 +1878,7 @@ pfnDrawConsoleString drawing string like a console string ============= */ -int pfnDrawConsoleString( int x, int y, char *string ) +int GAME_EXPORT pfnDrawConsoleString( int x, int y, char *string ) { int drawLen; @@ -1903,7 +1903,7 @@ pfnDrawSetTextColor set color for anything ============= */ -void pfnDrawSetTextColor( float r, float g, float b ) +void GAME_EXPORT pfnDrawSetTextColor( float r, float g, float b ) { // bound color and convert to byte clgame.ds.textColor[0] = (byte)bound( 0, r * 255, 255 ); @@ -1919,7 +1919,7 @@ pfnDrawConsoleStringLen compute string length in screen pixels ============= */ -void pfnDrawConsoleStringLen( const char *pText, int *length, int *height ) +void GAME_EXPORT pfnDrawConsoleStringLen( const char *pText, int *length, int *height ) { Con_SetFont( con_fontsize->value ); Con_DrawStringLen( pText, length, height ); @@ -1933,7 +1933,7 @@ pfnConsolePrint prints directly into console (can skip notify) ============= */ -static void pfnConsolePrint( const char *string ) +static void GAME_EXPORT pfnConsolePrint( const char *string ) { Con_Printf( "%s", string ); } @@ -1946,7 +1946,7 @@ holds and fade message at center of screen like trigger_multiple message in q1 ============= */ -static void pfnCenterPrint( const char *string ) +static void GAME_EXPORT pfnCenterPrint( const char *string ) { CL_CenterPrint( string, 0.25f ); } @@ -1957,7 +1957,7 @@ GetWindowCenterX ========= */ -static int pfnGetWindowCenterX( void ) +static int GAME_EXPORT pfnGetWindowCenterX( void ) { int x = 0; #if XASH_WIN32 @@ -1982,7 +1982,7 @@ GetWindowCenterY ========= */ -static int pfnGetWindowCenterY( void ) +static int GAME_EXPORT pfnGetWindowCenterY( void ) { int y = 0; #if XASH_WIN32 @@ -2008,7 +2008,7 @@ pfnGetViewAngles return interpolated angles from previous frame ============= */ -static void pfnGetViewAngles( float *angles ) +static void GAME_EXPORT pfnGetViewAngles( float *angles ) { if( angles ) VectorCopy( cl.viewangles, angles ); } @@ -2020,7 +2020,7 @@ pfnSetViewAngles return interpolated angles from previous frame ============= */ -static void pfnSetViewAngles( float *angles ) +static void GAME_EXPORT pfnSetViewAngles( float *angles ) { if( angles ) VectorCopy( angles, cl.viewangles ); } @@ -2031,7 +2031,7 @@ pfnPhysInfo_ValueForKey ============= */ -static const char* pfnPhysInfo_ValueForKey( const char *key ) +static const char* GAME_EXPORT pfnPhysInfo_ValueForKey( const char *key ) { return Info_ValueForKey( cls.physinfo, key ); } @@ -2042,7 +2042,7 @@ pfnServerInfo_ValueForKey ============= */ -static const char* pfnServerInfo_ValueForKey( const char *key ) +static const char* GAME_EXPORT pfnServerInfo_ValueForKey( const char *key ) { return Info_ValueForKey( cl.serverinfo, key ); } @@ -2054,7 +2054,7 @@ pfnGetClientMaxspeed value that come from server ============= */ -static float pfnGetClientMaxspeed( void ) +static float GAME_EXPORT pfnGetClientMaxspeed( void ) { return cl.local.maxspeed; } @@ -2065,7 +2065,7 @@ pfnIsNoClipping ============= */ -static int pfnIsNoClipping( void ) +static int GAME_EXPORT pfnIsNoClipping( void ) { return ( cl.frames[cl.parsecountmod].playerstate[cl.playernum].movetype == MOVETYPE_NOCLIP ); } @@ -2076,7 +2076,7 @@ pfnGetViewModel ============= */ -cl_entity_t* CL_GetViewModel( void ) +cl_entity_t* GAME_EXPORT CL_GetViewModel( void ) { return &clgame.viewent; } @@ -2087,7 +2087,7 @@ pfnGetClientTime ============= */ -static float pfnGetClientTime( void ) +static float GAME_EXPORT pfnGetClientTime( void ) { return cl.time; } @@ -2098,7 +2098,7 @@ pfnCalcShake ============= */ -void pfnCalcShake( void ) +void GAME_EXPORT pfnCalcShake( void ) { int i; float fraction, freq; @@ -2160,7 +2160,7 @@ pfnApplyShake ============= */ -void pfnApplyShake( float *origin, float *angles, float factor ) +void GAME_EXPORT pfnApplyShake( float *origin, float *angles, float factor ) { if( origin ) VectorMA( origin, factor, clgame.shake.applied_offset, origin ); if( angles ) angles[ROLL] += clgame.shake.applied_angle * factor; @@ -2172,7 +2172,7 @@ pfnIsSpectateOnly ============= */ -static int pfnIsSpectateOnly( void ) +static int GAME_EXPORT pfnIsSpectateOnly( void ) { return (cls.spectator != 0); } @@ -2183,7 +2183,7 @@ pfnPointContents ============= */ -static int pfnPointContents( const float *p, int *truecontents ) +static int GAME_EXPORT pfnPointContents( const float *p, int *truecontents ) { int cont, truecont; @@ -2224,7 +2224,7 @@ static pmtrace_t *pfnTraceLine( float *start, float *end, int flags, int usehull return &tr; } -static void pfnPlaySoundByNameAtLocation( char *szSound, float volume, float *origin ) +static void GAME_EXPORT pfnPlaySoundByNameAtLocation( char *szSound, float volume, float *origin ) { int hSound = S_RegisterSound( szSound ); S_StartSound( origin, 0, CHAN_AUTO, hSound, volume, ATTN_NORM, PITCH_NORM, 0 ); @@ -2236,7 +2236,7 @@ pfnPrecacheEvent ============= */ -static word pfnPrecacheEvent( int type, const char* psz ) +static word GAME_EXPORT pfnPrecacheEvent( int type, const char* psz ) { return CL_EventIndex( psz ); } @@ -2247,7 +2247,7 @@ pfnHookEvent ============= */ -static void pfnHookEvent( const char *filename, pfnEventHook pfn ) +static void GAME_EXPORT pfnHookEvent( const char *filename, pfnEventHook pfn ) { char name[64]; cl_user_event_t *ev; @@ -2282,7 +2282,7 @@ pfnKillEvent ============= */ -static void pfnKillEvents( int entnum, const char *eventname ) +static void GAME_EXPORT pfnKillEvents( int entnum, const char *eventname ) { int i; event_state_t *es; @@ -2316,7 +2316,7 @@ pfnPlaySound ============= */ -void pfnPlaySound( int ent, float *org, int chan, const char *samp, float vol, float attn, int flags, int pitch ) +void GAME_EXPORT pfnPlaySound( int ent, float *org, int chan, const char *samp, float vol, float attn, int flags, int pitch ) { S_StartSound( org, ent, chan, S_RegisterSound( samp ), vol, attn, pitch, flags ); } @@ -2327,7 +2327,7 @@ CL_FindModelIndex ============= */ -int CL_FindModelIndex( const char *m ) +int GAME_EXPORT CL_FindModelIndex( const char *m ) { char filepath[MAX_QPATH]; static float lasttimewarn; @@ -2364,7 +2364,7 @@ pfnIsLocal ============= */ -int pfnIsLocal( int playernum ) +int GAME_EXPORT pfnIsLocal( int playernum ) { if( playernum == cl.playernum ) return true; @@ -2377,7 +2377,7 @@ pfnLocalPlayerDucking ============= */ -int pfnLocalPlayerDucking( void ) +int GAME_EXPORT pfnLocalPlayerDucking( void ) { return (cl.local.usehull == 1) ? true : false; } @@ -2388,7 +2388,7 @@ pfnLocalPlayerViewheight ============= */ -void pfnLocalPlayerViewheight( float *view_ofs ) +void GAME_EXPORT pfnLocalPlayerViewheight( float *view_ofs ) { if( view_ofs ) VectorCopy( cl.viewheight, view_ofs ); } @@ -2399,7 +2399,7 @@ pfnLocalPlayerBounds ============= */ -void pfnLocalPlayerBounds( int hull, float *mins, float *maxs ) +void GAME_EXPORT pfnLocalPlayerBounds( int hull, float *mins, float *maxs ) { if( hull >= 0 && hull < 4 ) { @@ -2414,7 +2414,7 @@ pfnIndexFromTrace ============= */ -int pfnIndexFromTrace( struct pmtrace_s *pTrace ) +int GAME_EXPORT pfnIndexFromTrace( struct pmtrace_s *pTrace ) { if( pTrace->ent >= 0 && pTrace->ent < clgame.pmove->numphysent ) { @@ -2462,7 +2462,7 @@ pfnSetTraceHull ============= */ -void CL_SetTraceHull( int hull ) +void GAME_EXPORT CL_SetTraceHull( int hull ) { clgame.pmove->usehull = bound( 0, hull, 3 ); @@ -2474,7 +2474,7 @@ pfnPlayerTrace ============= */ -void CL_PlayerTrace( float *start, float *end, int traceFlags, int ignore_pe, pmtrace_t *tr ) +void GAME_EXPORT CL_PlayerTrace( float *start, float *end, int traceFlags, int ignore_pe, pmtrace_t *tr ) { if( !tr ) return; *tr = PM_PlayerTraceExt( clgame.pmove, start, end, traceFlags, clgame.pmove->numphysent, clgame.pmove->physents, ignore_pe, NULL ); @@ -2486,7 +2486,7 @@ pfnPlayerTraceExt ============= */ -void CL_PlayerTraceExt( float *start, float *end, int traceFlags, int (*pfnIgnore)( physent_t *pe ), pmtrace_t *tr ) +void GAME_EXPORT CL_PlayerTraceExt( float *start, float *end, int traceFlags, int (*pfnIgnore)( physent_t *pe ), pmtrace_t *tr ) { if( !tr ) return; *tr = PM_PlayerTraceExt( clgame.pmove, start, end, traceFlags, clgame.pmove->numphysent, clgame.pmove->physents, -1, pfnIgnore ); @@ -2543,7 +2543,7 @@ pfnStopAllSounds ============= */ -void pfnStopAllSounds( int ent, int entchannel ) +void GAME_EXPORT pfnStopAllSounds( int ent, int entchannel ) { S_StopSound( ent, entchannel, NULL ); } @@ -2568,7 +2568,7 @@ model_t *CL_LoadModel( const char *modelname, int *index ) return CL_ModelHandle( i ); } -int CL_AddEntity( int entityType, cl_entity_t *pEnt ) +int GAME_EXPORT CL_AddEntity( int entityType, cl_entity_t *pEnt ) { if( !pEnt ) return false; @@ -2627,7 +2627,7 @@ pfnGetScreenFade ============= */ -void pfnGetScreenFade( struct screenfade_s *fade ) +void GAME_EXPORT pfnGetScreenFade( struct screenfade_s *fade ) { if( fade ) *fade = clgame.fade; } @@ -2638,7 +2638,7 @@ pfnSetScreenFade ============= */ -static void pfnSetScreenFade( struct screenfade_s *fade ) +static void GAME_EXPORT pfnSetScreenFade( struct screenfade_s *fade ) { if( fade ) clgame.fade = *fade; } @@ -2678,7 +2678,7 @@ PlayerInfo_SetValueForKey ============= */ -void PlayerInfo_SetValueForKey( const char *key, const char *value ) +void GAME_EXPORT PlayerInfo_SetValueForKey( const char *key, const char *value ) { convar_t *var; @@ -2704,7 +2704,7 @@ pfnGetPlayerUniqueID ============= */ -qboolean pfnGetPlayerUniqueID( int iPlayer, char playerID[16] ) +qboolean GAME_EXPORT pfnGetPlayerUniqueID( int iPlayer, char playerID[16] ) { if( iPlayer < 1 || iPlayer > cl.maxclients ) return false; @@ -2724,7 +2724,7 @@ pfnGetTrackerIDForPlayer obsolete, unused ============= */ -int pfnGetTrackerIDForPlayer( int playerSlot ) +int GAME_EXPORT pfnGetTrackerIDForPlayer( int playerSlot ) { return 0; } @@ -2736,7 +2736,7 @@ pfnGetPlayerForTrackerID obsolete, unused ============= */ -int pfnGetPlayerForTrackerID( int trackerID ) +int GAME_EXPORT pfnGetPlayerForTrackerID( int trackerID ) { return 0; } @@ -2747,7 +2747,7 @@ pfnServerCmdUnreliable ============= */ -int pfnServerCmdUnreliable( char *szCmdString ) +int GAME_EXPORT pfnServerCmdUnreliable( char *szCmdString ) { if( !COM_CheckString( szCmdString )) return 0; @@ -2764,7 +2764,7 @@ pfnGetMousePos ============= */ -void pfnGetMousePos( struct tagPOINT *ppt ) +void GAME_EXPORT pfnGetMousePos( struct tagPOINT *ppt ) { if( !ppt ) return; @@ -2779,7 +2779,7 @@ pfnSetMouseEnable legacy of dinput code ============= */ -void pfnSetMouseEnable( qboolean fEnable ) +void GAME_EXPORT pfnSetMouseEnable( qboolean fEnable ) { } @@ -3256,7 +3256,7 @@ Demo_IsRecording ================= */ -static int Demo_IsRecording( void ) +static int GAME_EXPORT Demo_IsRecording( void ) { return cls.demorecording; } @@ -3267,7 +3267,7 @@ Demo_IsPlayingback ================= */ -static int Demo_IsPlayingback( void ) +static int GAME_EXPORT Demo_IsPlayingback( void ) { return cls.demoplayback; } @@ -3278,7 +3278,7 @@ Demo_IsTimeDemo ================= */ -static int Demo_IsTimeDemo( void ) +static int GAME_EXPORT Demo_IsTimeDemo( void ) { return cls.timedemo; } @@ -3289,7 +3289,7 @@ Demo_WriteBuffer ================= */ -static void Demo_WriteBuffer( int size, byte *buffer ) +static void GAME_EXPORT Demo_WriteBuffer( int size, byte *buffer ) { CL_WriteDemoUserMessage( buffer, size ); } @@ -3306,7 +3306,7 @@ NetAPI_InitNetworking ================= */ -void NetAPI_InitNetworking( void ) +void GAME_EXPORT NetAPI_InitNetworking( void ) { NET_Config( true ); // allow remote } @@ -3317,7 +3317,7 @@ NetAPI_InitNetworking ================= */ -void NetAPI_Status( net_status_t *status ) +void GAME_EXPORT NetAPI_Status( net_status_t *status ) { qboolean connected = false; int packet_loss = 0; @@ -3345,7 +3345,7 @@ NetAPI_SendRequest ================= */ -void NetAPI_SendRequest( int context, int request, int flags, double timeout, netadr_t *remote_address, net_api_response_func_t response ) +void GAME_EXPORT NetAPI_SendRequest( int context, int request, int flags, double timeout, netadr_t *remote_address, net_api_response_func_t response ) { net_request_t *nr = NULL; string req; @@ -3423,7 +3423,7 @@ NetAPI_CancelRequest ================= */ -void NetAPI_CancelRequest( int context ) +void GAME_EXPORT NetAPI_CancelRequest( int context ) { net_request_t *nr; int i; @@ -3461,7 +3461,7 @@ NetAPI_CancelAllRequests ================= */ -void NetAPI_CancelAllRequests( void ) +void GAME_EXPORT NetAPI_CancelAllRequests( void ) { net_request_t *nr; int i; @@ -3498,7 +3498,7 @@ NetAPI_CompareAdr ================= */ -int NetAPI_CompareAdr( netadr_t *a, netadr_t *b ) +int GAME_EXPORT NetAPI_CompareAdr( netadr_t *a, netadr_t *b ) { return NET_CompareAdr( *a, *b ); } @@ -3509,7 +3509,7 @@ NetAPI_StringToAdr ================= */ -int NetAPI_StringToAdr( char *s, netadr_t *a ) +int GAME_EXPORT NetAPI_StringToAdr( char *s, netadr_t *a ) { return NET_StringToAdr( s, a ); } @@ -3531,7 +3531,7 @@ NetAPI_RemoveKey ================= */ -void NetAPI_RemoveKey( char *s, const char *key ) +void GAME_EXPORT NetAPI_RemoveKey( char *s, const char *key ) { Info_RemoveKey( s, key ); } @@ -3542,7 +3542,7 @@ NetAPI_SetValueForKey ================= */ -void NetAPI_SetValueForKey( char *s, const char *key, const char *value, int maxsize ) +void GAME_EXPORT NetAPI_SetValueForKey( char *s, const char *key, const char *value, int maxsize ) { if( key[0] == '*' ) return; Info_SetValueForStarKey( s, key, value, maxsize ); @@ -3562,7 +3562,7 @@ Voice_StartVoiceTweakMode ================= */ -int Voice_StartVoiceTweakMode( void ) +int GAME_EXPORT Voice_StartVoiceTweakMode( void ) { return 0; } @@ -3573,7 +3573,7 @@ Voice_EndVoiceTweakMode ================= */ -void Voice_EndVoiceTweakMode( void ) +void GAME_EXPORT Voice_EndVoiceTweakMode( void ) { } @@ -3583,7 +3583,7 @@ Voice_SetControlFloat ================= */ -void Voice_SetControlFloat( VoiceTweakControl iControl, float value ) +void GAME_EXPORT Voice_SetControlFloat( VoiceTweakControl iControl, float value ) { } @@ -3593,7 +3593,7 @@ Voice_GetControlFloat ================= */ -float Voice_GetControlFloat( VoiceTweakControl iControl ) +float GAME_EXPORT Voice_GetControlFloat( VoiceTweakControl iControl ) { return 1.0f; } diff --git a/engine/client/cl_gameui.c b/engine/client/cl_gameui.c index 07d3af40..31abdace 100644 --- a/engine/client/cl_gameui.c +++ b/engine/client/cl_gameui.c @@ -290,7 +290,7 @@ void UI_ConnectionProgress_ParseServerInfo( const char *server ) } } -static void UI_DrawLogo( const char *filename, float x, float y, float width, float height ) +static void GAME_EXPORT UI_DrawLogo( const char *filename, float x, float y, float width, float height ) { static float cin_time; static int last_frame = -1; @@ -359,17 +359,17 @@ static void UI_DrawLogo( const char *filename, float x, float y, float width, fl ref.dllFuncs.R_DrawStretchRaw( x, y, width, height, gameui.logo_xres, gameui.logo_yres, cin_data, redraw ); } -static int UI_GetLogoWidth( void ) +static int GAME_EXPORT UI_GetLogoWidth( void ) { return gameui.logo_xres; } -static int UI_GetLogoHeight( void ) +static int GAME_EXPORT UI_GetLogoHeight( void ) { return gameui.logo_yres; } -static float UI_GetLogoLength( void ) +static float GAME_EXPORT UI_GetLogoLength( void ) { return gameui.logo_length; } @@ -529,7 +529,7 @@ pfnPIC_Load ========= */ -static HIMAGE pfnPIC_Load( const char *szPicName, const byte *image_buf, int image_size, int flags ) +static HIMAGE GAME_EXPORT pfnPIC_Load( const char *szPicName, const byte *image_buf, int image_size, int flags ) { HIMAGE tx; @@ -555,7 +555,7 @@ pfnPIC_Width ========= */ -static int pfnPIC_Width( HIMAGE hPic ) +static int GAME_EXPORT pfnPIC_Width( HIMAGE hPic ) { int picWidth; @@ -570,7 +570,7 @@ pfnPIC_Height ========= */ -static int pfnPIC_Height( HIMAGE hPic ) +static int GAME_EXPORT pfnPIC_Height( HIMAGE hPic ) { int picHeight; @@ -585,7 +585,7 @@ pfnPIC_Set ========= */ -void pfnPIC_Set( HIMAGE hPic, int r, int g, int b, int a ) +void GAME_EXPORT pfnPIC_Set( HIMAGE hPic, int r, int g, int b, int a ) { gameui.ds.gl_texturenum = hPic; r = bound( 0, r, 255 ); @@ -601,7 +601,7 @@ pfnPIC_Draw ========= */ -void pfnPIC_Draw( int x, int y, int width, int height, const wrect_t *prc ) +void GAME_EXPORT pfnPIC_Draw( int x, int y, int width, int height, const wrect_t *prc ) { ref.dllFuncs.GL_SetRenderMode( kRenderNormal ); PIC_DrawGeneric( x, y, width, height, prc ); @@ -613,7 +613,7 @@ pfnPIC_DrawTrans ========= */ -void pfnPIC_DrawTrans( int x, int y, int width, int height, const wrect_t *prc ) +void GAME_EXPORT pfnPIC_DrawTrans( int x, int y, int width, int height, const wrect_t *prc ) { ref.dllFuncs.GL_SetRenderMode( kRenderTransTexture ); PIC_DrawGeneric( x, y, width, height, prc ); @@ -625,7 +625,7 @@ pfnPIC_DrawHoles ========= */ -void pfnPIC_DrawHoles( int x, int y, int width, int height, const wrect_t *prc ) +void GAME_EXPORT pfnPIC_DrawHoles( int x, int y, int width, int height, const wrect_t *prc ) { ref.dllFuncs.GL_SetRenderMode( kRenderTransAlpha ); PIC_DrawGeneric( x, y, width, height, prc ); @@ -637,7 +637,7 @@ pfnPIC_DrawAdditive ========= */ -void pfnPIC_DrawAdditive( int x, int y, int width, int height, const wrect_t *prc ) +void GAME_EXPORT pfnPIC_DrawAdditive( int x, int y, int width, int height, const wrect_t *prc ) { ref.dllFuncs.GL_SetRenderMode( kRenderTransAdd ); PIC_DrawGeneric( x, y, width, height, prc ); @@ -649,7 +649,7 @@ pfnPIC_EnableScissor ========= */ -static void pfnPIC_EnableScissor( int x, int y, int width, int height ) +static void GAME_EXPORT pfnPIC_EnableScissor( int x, int y, int width, int height ) { // check bounds x = bound( 0, x, gameui.globals->scrWidth ); @@ -670,7 +670,7 @@ pfnPIC_DisableScissor ========= */ -static void pfnPIC_DisableScissor( void ) +static void GAME_EXPORT pfnPIC_DisableScissor( void ) { gameui.ds.scissor_x = 0; gameui.ds.scissor_width = 0; @@ -685,7 +685,7 @@ pfnFillRGBA ============= */ -static void pfnFillRGBA( int x, int y, int width, int height, int r, int g, int b, int a ) +static void GAME_EXPORT pfnFillRGBA( int x, int y, int width, int height, int r, int g, int b, int a ) { r = bound( 0, r, 255 ); g = bound( 0, g, 255 ); @@ -703,7 +703,7 @@ pfnClientCmd ============= */ -static void pfnClientCmd( int exec_now, const char *szCmdString ) +static void GAME_EXPORT pfnClientCmd( int exec_now, const char *szCmdString ) { if( !szCmdString || !szCmdString[0] ) return; @@ -721,7 +721,7 @@ pfnPlaySound ============= */ -static void pfnPlaySound( const char *szSound ) +static void GAME_EXPORT pfnPlaySound( const char *szSound ) { if( !COM_CheckString( szSound )) return; S_StartLocalSound( szSound, VOL_NORM, false ); @@ -734,7 +734,7 @@ pfnDrawCharacter quakefont draw character ============= */ -static void pfnDrawCharacter( int ix, int iy, int iwidth, int iheight, int ch, int ulRGBA, HIMAGE hFont ) +static void GAME_EXPORT pfnDrawCharacter( int ix, int iy, int iwidth, int iheight, int ch, int ulRGBA, HIMAGE hFont ) { rgba_t color; float row, col, size; @@ -779,7 +779,7 @@ UI_DrawConsoleString drawing string like a console string ============= */ -static int UI_DrawConsoleString( int x, int y, const char *string ) +static int GAME_EXPORT UI_DrawConsoleString( int x, int y, const char *string ) { int drawLen; @@ -797,7 +797,7 @@ pfnDrawSetTextColor set color for anything ============= */ -static void UI_DrawSetTextColor( int r, int g, int b, int alpha ) +static void GAME_EXPORT UI_DrawSetTextColor( int r, int g, int b, int alpha ) { // bound color and convert to byte gameui.ds.textColor[0] = r; @@ -813,7 +813,7 @@ pfnGetPlayerModel for drawing playermodel previews ==================== */ -static cl_entity_t* pfnGetPlayerModel( void ) +static cl_entity_t* GAME_EXPORT pfnGetPlayerModel( void ) { return &gameui.playermodel; } @@ -825,7 +825,7 @@ pfnSetPlayerModel for drawing playermodel previews ==================== */ -static void pfnSetPlayerModel( cl_entity_t *ent, const char *path ) +static void GAME_EXPORT pfnSetPlayerModel( cl_entity_t *ent, const char *path ) { ent->model = Mod_ForName( path, false, false ); ent->curstate.modelindex = MAX_MODELS; // unreachable index @@ -838,7 +838,7 @@ pfnClearScene for drawing playermodel previews ==================== */ -static void pfnClearScene( void ) +static void GAME_EXPORT pfnClearScene( void ) { ref.dllFuncs.R_PushScene(); ref.dllFuncs.R_ClearScene(); @@ -851,7 +851,7 @@ pfnRenderScene for drawing playermodel previews ==================== */ -static void pfnRenderScene( const ref_viewpass_t *rvp ) +static void GAME_EXPORT pfnRenderScene( const ref_viewpass_t *rvp ) { ref_viewpass_t copy; @@ -877,7 +877,7 @@ pfnAddEntity adding player model into visible list ==================== */ -static int pfnAddEntity( int entityType, cl_entity_t *ent ) +static int GAME_EXPORT pfnAddEntity( int entityType, cl_entity_t *ent ) { if( !ref.dllFuncs.R_AddEntity( ent, entityType )) return false; @@ -891,7 +891,7 @@ pfnClientJoin send client connect ==================== */ -static void pfnClientJoin( const netadr_t adr ) +static void GAME_EXPORT pfnClientJoin( const netadr_t adr ) { Cbuf_AddText( va( "connect %s\n", NET_AdrToString( adr ))); } @@ -903,7 +903,7 @@ pfnKeyGetOverstrikeMode get global key overstrike state ==================== */ -static int pfnKeyGetOverstrikeMode( void ) +static int GAME_EXPORT pfnKeyGetOverstrikeMode( void ) { return host.key_overstrike; } @@ -915,7 +915,7 @@ pfnKeySetOverstrikeMode set global key overstrike mode ==================== */ -static void pfnKeySetOverstrikeMode( int fActive ) +static void GAME_EXPORT pfnKeySetOverstrikeMode( int fActive ) { host.key_overstrike = fActive; } @@ -951,7 +951,7 @@ pfnMemFree ========= */ -static void pfnMemFree( void *mem, const char *filename, const int fileline ) +static void GAME_EXPORT pfnMemFree( void *mem, const char *filename, const int fileline ) { _Mem_Free( mem, filename, fileline ); } @@ -962,7 +962,7 @@ pfnGetGameInfo ========= */ -static int pfnGetGameInfo( GAMEINFO *pgameinfo ) +static int GAME_EXPORT pfnGetGameInfo( GAMEINFO *pgameinfo ) { if( !pgameinfo ) return 0; @@ -976,7 +976,7 @@ pfnGetGamesList ========= */ -static GAMEINFO **pfnGetGamesList( int *numGames ) +static GAMEINFO ** GAME_EXPORT pfnGetGamesList( int *numGames ) { if( numGames ) *numGames = SI.numgames; return gameui.modsInfo; @@ -989,7 +989,7 @@ pfnGetFilesList release prev search on a next call ========= */ -static char **pfnGetFilesList( const char *pattern, int *numFiles, int gamedironly ) +static char ** GAME_EXPORT pfnGetFilesList( const char *pattern, int *numFiles, int gamedironly ) { static search_t *t = NULL; @@ -1024,7 +1024,7 @@ pfnCheckGameDll ========= */ -int pfnCheckGameDll( void ) +int GAME_EXPORT pfnCheckGameDll( void ) { string dllpath; void *hInst; @@ -1056,7 +1056,7 @@ pfnChangeInstance ========= */ -static void pfnChangeInstance( const char *newInstance, const char *szFinalMessage ) +static void GAME_EXPORT pfnChangeInstance( const char *newInstance, const char *szFinalMessage ) { if( !szFinalMessage ) szFinalMessage = ""; if( !newInstance || !*newInstance ) return; @@ -1070,7 +1070,7 @@ pfnHostEndGame ========= */ -static void pfnHostEndGame( const char *szFinalMessage ) +static void GAME_EXPORT pfnHostEndGame( const char *szFinalMessage ) { if( !szFinalMessage ) szFinalMessage = ""; Host_EndGame( false, "%s", szFinalMessage ); @@ -1082,12 +1082,12 @@ pfnStartBackgroundTrack ========= */ -static void pfnStartBackgroundTrack( const char *introTrack, const char *mainTrack ) +static void GAME_EXPORT pfnStartBackgroundTrack( const char *introTrack, const char *mainTrack ) { S_StartBackgroundTrack( introTrack, mainTrack, 0, false ); } -static void GL_ProcessTexture( int texnum, float gamma, int topColor, int bottomColor ) +static void GAME_EXPORT GL_ProcessTexture( int texnum, float gamma, int topColor, int bottomColor ) { ref.dllFuncs.GL_ProcessTexture( texnum, gamma, topColor, bottomColor ); } @@ -1098,7 +1098,7 @@ static void GL_ProcessTexture( int texnum, float gamma, int topColor, int bottom UI_ShellExecute ================= */ -static void UI_ShellExecute( const char *path, const char *parms, int shouldExit ) +static void GAME_EXPORT UI_ShellExecute( const char *path, const char *parms, int shouldExit ) { Platform_ShellExecute( path, parms ); diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index c97ee1f9..490316a5 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -89,7 +89,7 @@ clgame_static_t clgame; void CL_InternetServers_f( void ); //====================================================================== -int CL_Active( void ) +int GAME_EXPORT CL_Active( void ) { return ( cls.state == ca_active ); } diff --git a/engine/client/cl_parse.c b/engine/client/cl_parse.c index da41fac2..d3642f1c 100644 --- a/engine/client/cl_parse.c +++ b/engine/client/cl_parse.c @@ -360,7 +360,7 @@ CL_WeaponAnim Set new weapon animation ================== */ -void CL_WeaponAnim( int iAnim, int body ) +void GAME_EXPORT CL_WeaponAnim( int iAnim, int body ) { cl_entity_t *view = &clgame.viewent; diff --git a/engine/client/cl_pmove.c b/engine/client/cl_pmove.c index fafcb479..28453c6a 100644 --- a/engine/client/cl_pmove.c +++ b/engine/client/cl_pmove.c @@ -46,7 +46,7 @@ CL_PushPMStates ============= */ -void CL_PushPMStates( void ) +void GAME_EXPORT CL_PushPMStates( void ) { if( clgame.pushed ) return; clgame.oldphyscount = clgame.pmove->numphysent; @@ -60,7 +60,7 @@ CL_PopPMStates ============= */ -void CL_PopPMStates( void ) +void GAME_EXPORT CL_PopPMStates( void ) { if( !clgame.pushed ) return; clgame.pmove->numphysent = clgame.oldphyscount; @@ -74,7 +74,7 @@ CL_PushTraceBounds ============= */ -void CL_PushTraceBounds( int hullnum, const float *mins, const float *maxs ) +void GAME_EXPORT CL_PushTraceBounds( int hullnum, const float *mins, const float *maxs ) { hullnum = bound( 0, hullnum, 3 ); VectorCopy( mins, clgame.pmove->player_mins[hullnum] ); @@ -87,7 +87,7 @@ CL_PopTraceBounds ============= */ -void CL_PopTraceBounds( void ) +void GAME_EXPORT CL_PopTraceBounds( void ) { memcpy( clgame.pmove->player_mins, host.player_mins, sizeof( host.player_mins )); memcpy( clgame.pmove->player_maxs, host.player_maxs, sizeof( host.player_maxs )); @@ -280,7 +280,7 @@ then with clipping against them. This sets up the first phase. ============= */ -void CL_SetUpPlayerPrediction( int dopred, int bIncludeLocalClient ) +void GAME_EXPORT CL_SetUpPlayerPrediction( int dopred, int bIncludeLocalClient ) { entity_state_t *state; predicted_player_t *player; @@ -538,7 +538,7 @@ pmove must be setup with world and solid entity hulls before calling (via CL_PredictMove) =============== */ -void CL_SetSolidPlayers( int playernum ) +void GAME_EXPORT CL_SetSolidPlayers( int playernum ) { entity_state_t *state; predicted_player_t *player; @@ -594,7 +594,7 @@ CL_WaterEntity ============= */ -int CL_WaterEntity( const float *rgflPos ) +int GAME_EXPORT CL_WaterEntity( const float *rgflPos ) { physent_t *pe; hull_t *hull; @@ -699,17 +699,17 @@ cl_entity_t *CL_GetWaterEntity( const float *rgflPos ) return CL_GetEntityByIndex( entnum ); } -int CL_TestLine( const vec3_t start, const vec3_t end, int flags ) +int GAME_EXPORT CL_TestLine( const vec3_t start, const vec3_t end, int flags ) { return PM_TestLineExt( clgame.pmove, clgame.pmove->physents, clgame.pmove->numphysent, start, end, flags ); } -static int pfnTestPlayerPosition( float *pos, pmtrace_t *ptrace ) +static int GAME_EXPORT pfnTestPlayerPosition( float *pos, pmtrace_t *ptrace ) { return PM_TestPlayerPosition( clgame.pmove, pos, ptrace, NULL ); } -static void pfnStuckTouch( int hitent, pmtrace_t *tr ) +static void GAME_EXPORT pfnStuckTouch( int hitent, pmtrace_t *tr ) { int i; @@ -728,7 +728,7 @@ static void pfnStuckTouch( int hitent, pmtrace_t *tr ) clgame.pmove->touchindex[clgame.pmove->numtouch++] = *tr; } -static int pfnPointContents( float *p, int *truecontents ) +static int GAME_EXPORT pfnPointContents( float *p, int *truecontents ) { int cont, truecont; @@ -740,17 +740,17 @@ static int pfnPointContents( float *p, int *truecontents ) return cont; } -static int pfnTruePointContents( float *p ) +static int GAME_EXPORT pfnTruePointContents( float *p ) { return PM_TruePointContents( clgame.pmove, p ); } -static int pfnHullPointContents( struct hull_s *hull, int num, float *p ) +static int GAME_EXPORT pfnHullPointContents( struct hull_s *hull, int num, float *p ) { return PM_HullPointContents( hull, num, p ); } -static pmtrace_t pfnPlayerTrace( float *start, float *end, int traceFlags, int ignore_pe ) +static pmtrace_t GAME_EXPORT pfnPlayerTrace( float *start, float *end, int traceFlags, int ignore_pe ) { return PM_PlayerTraceExt( clgame.pmove, start, end, traceFlags, clgame.pmove->numphysent, clgame.pmove->physents, ignore_pe, NULL ); } @@ -783,7 +783,7 @@ static hull_t *pfnHullForBsp( physent_t *pe, float *offset ) return PM_HullForBsp( pe, clgame.pmove, offset ); } -static float pfnTraceModel( physent_t *pe, float *start, float *end, trace_t *trace ) +static float GAME_EXPORT pfnTraceModel( physent_t *pe, float *start, float *end, trace_t *trace ) { int old_usehull; vec3_t start_l, end_l; @@ -840,7 +840,7 @@ static const char *pfnTraceTexture( int ground, float *vstart, float *vend ) return PM_TraceTexture( pe, vstart, vend ); } -static void pfnPlaySound( int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ) +static void GAME_EXPORT pfnPlaySound( int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ) { if( !clgame.pmove->runfuncs ) return; @@ -848,18 +848,18 @@ static void pfnPlaySound( int channel, const char *sample, float volume, float a S_StartSound( NULL, clgame.pmove->player_index + 1, channel, S_RegisterSound( sample ), volume, attenuation, pitch, fFlags ); } -static void pfnPlaybackEventFull( int flags, int clientindex, word eventindex, float delay, float *origin, +static void GAME_EXPORT pfnPlaybackEventFull( int flags, int clientindex, word eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ) { CL_PlaybackEvent( flags, NULL, eventindex, delay, origin, angles, fparam1, fparam2, iparam1, iparam2, bparam1, bparam2 ); } -static pmtrace_t pfnPlayerTraceEx( float *start, float *end, int traceFlags, pfnIgnore pmFilter ) +static pmtrace_t GAME_EXPORT pfnPlayerTraceEx( float *start, float *end, int traceFlags, pfnIgnore pmFilter ) { return PM_PlayerTraceExt( clgame.pmove, start, end, traceFlags, clgame.pmove->numphysent, clgame.pmove->physents, -1, pmFilter ); } -static int pfnTestPlayerPositionEx( float *pos, pmtrace_t *ptrace, pfnIgnore pmFilter ) +static int GAME_EXPORT pfnTestPlayerPositionEx( float *pos, pmtrace_t *ptrace, pfnIgnore pmFilter ) { return PM_TestPlayerPosition( clgame.pmove, pos, ptrace, pmFilter ); } diff --git a/engine/client/cl_tent.c b/engine/client/cl_tent.c index 4f7a78cd..1e3bdc03 100644 --- a/engine/client/cl_tent.c +++ b/engine/client/cl_tent.c @@ -550,7 +550,7 @@ CL_TempEntAlloc custom tempentity allocation ============== */ -TEMPENTITY *CL_TempEntAllocCustom( const vec3_t org, model_t *model, int high, void (*pfn)( TEMPENTITY*, float, float )) +TEMPENTITY * GAME_EXPORT CL_TempEntAllocCustom( const vec3_t org, model_t *model, int high, void (*pfn)( TEMPENTITY*, float, float )) { TEMPENTITY *pTemp; @@ -587,7 +587,7 @@ R_FizzEffect Create a fizz effect ============== */ -void R_FizzEffect( cl_entity_t *pent, int modelIndex, int density ) +void GAME_EXPORT R_FizzEffect( cl_entity_t *pent, int modelIndex, int density ) { TEMPENTITY *pTemp; int i, width, depth, count; @@ -650,7 +650,7 @@ R_Bubbles Create bubbles ============== */ -void R_Bubbles( const vec3_t mins, const vec3_t maxs, float height, int modelIndex, int count, float speed ) +void GAME_EXPORT R_Bubbles( const vec3_t mins, const vec3_t maxs, float height, int modelIndex, int count, float speed ) { TEMPENTITY *pTemp; float sine, cosine; @@ -696,7 +696,7 @@ R_BubbleTrail Create bubble trail ============== */ -void R_BubbleTrail( const vec3_t start, const vec3_t end, float height, int modelIndex, int count, float speed ) +void GAME_EXPORT R_BubbleTrail( const vec3_t start, const vec3_t end, float height, int modelIndex, int count, float speed ) { TEMPENTITY *pTemp; float sine, cosine, zspeed; @@ -741,7 +741,7 @@ R_AttachTentToPlayer Attaches entity to player ============== */ -void R_AttachTentToPlayer( int client, int modelIndex, float zoffset, float life ) +void GAME_EXPORT R_AttachTentToPlayer( int client, int modelIndex, float zoffset, float life ) { TEMPENTITY *pTemp; vec3_t position; @@ -797,7 +797,7 @@ R_KillAttachedTents Detach entity from player ============== */ -void R_KillAttachedTents( int client ) +void GAME_EXPORT R_KillAttachedTents( int client ) { int i; @@ -828,7 +828,7 @@ R_RicochetSprite Create ricochet sprite ============== */ -void R_RicochetSprite( const vec3_t pos, model_t *pmodel, float duration, float scale ) +void GAME_EXPORT R_RicochetSprite( const vec3_t pos, model_t *pmodel, float duration, float scale ) { TEMPENTITY *pTemp; @@ -854,7 +854,7 @@ R_RocketFlare Create rocket flare ============== */ -void R_RocketFlare( const vec3_t pos ) +void GAME_EXPORT R_RocketFlare( const vec3_t pos ) { TEMPENTITY *pTemp; @@ -880,7 +880,7 @@ R_MuzzleFlash Do muzzleflash ============== */ -void R_MuzzleFlash( const vec3_t pos, int type ) +void GAME_EXPORT R_MuzzleFlash( const vec3_t pos, int type ) { TEMPENTITY *pTemp; int index; @@ -919,7 +919,7 @@ Create a high priority blood sprite and some blood drops. This is high-priority tent ============== */ -void R_BloodSprite( const vec3_t org, int colorIndex, int modelIndex, int modelIndex2, float size ) +void GAME_EXPORT R_BloodSprite( const vec3_t org, int colorIndex, int modelIndex, int modelIndex2, float size ) { model_t *pModel, *pModel2; int impactindex; @@ -1005,7 +1005,7 @@ R_BreakModel Create a shards ============== */ -void R_BreakModel( const vec3_t pos, const vec3_t size, const vec3_t dir, float random, float life, int count, int modelIndex, char flags ) +void GAME_EXPORT R_BreakModel( const vec3_t pos, const vec3_t size, const vec3_t dir, float random, float life, int count, int modelIndex, char flags ) { TEMPENTITY *pTemp; model_t *pmodel; @@ -1180,7 +1180,7 @@ R_SparkShower Create an animated moving sprite =============== */ -void R_SparkShower( const vec3_t pos ) +void GAME_EXPORT R_SparkShower( const vec3_t pos ) { TEMPENTITY *pTemp; @@ -1243,7 +1243,7 @@ R_Sprite_Explode apply params for exploding sprite =============== */ -void R_Sprite_Explode( TEMPENTITY *pTemp, float scale, int flags ) +void GAME_EXPORT R_Sprite_Explode( TEMPENTITY *pTemp, float scale, int flags ) { if( !pTemp ) return; @@ -1285,7 +1285,7 @@ R_Sprite_Smoke apply params for smoke sprite =============== */ -void R_Sprite_Smoke( TEMPENTITY *pTemp, float scale ) +void GAME_EXPORT R_Sprite_Smoke( TEMPENTITY *pTemp, float scale ) { int iColor; @@ -1309,7 +1309,7 @@ R_Spray Throws a shower of sprites or models =============== */ -void R_Spray( const vec3_t pos, const vec3_t dir, int modelIndex, int count, int speed, int spread, int rendermode ) +void GAME_EXPORT R_Spray( const vec3_t pos, const vec3_t dir, int modelIndex, int count, int speed, int spread, int rendermode ) { TEMPENTITY *pTemp; float noise; @@ -1375,7 +1375,7 @@ R_Sprite_Spray Spray of alpha sprites =============== */ -void R_Sprite_Spray( const vec3_t pos, const vec3_t dir, int modelIndex, int count, int speed, int spread ) +void GAME_EXPORT R_Sprite_Spray( const vec3_t pos, const vec3_t dir, int modelIndex, int count, int speed, int spread ) { R_Spray( pos, dir, modelIndex, count, speed, spread, kRenderGlow ); } @@ -1388,7 +1388,7 @@ Line of moving glow sprites with gravity, fadeout, and collisions =============== */ -void R_Sprite_Trail( int type, vec3_t start, vec3_t end, int modelIndex, int count, float life, float size, float amp, int renderamt, float speed ) +void GAME_EXPORT R_Sprite_Trail( int type, vec3_t start, vec3_t end, int modelIndex, int count, float life, float size, float amp, int renderamt, float speed ) { TEMPENTITY *pTemp; vec3_t delta, dir; @@ -1440,7 +1440,7 @@ R_FunnelSprite Create a funnel effect with custom sprite =============== */ -void R_FunnelSprite( const vec3_t org, int modelIndex, int reverse ) +void GAME_EXPORT R_FunnelSprite( const vec3_t org, int modelIndex, int reverse ) { TEMPENTITY *pTemp; vec3_t dir, dest; @@ -1502,7 +1502,7 @@ R_SparkEffect Create a streaks + richochet sprite =============== */ -void R_SparkEffect( const vec3_t pos, int count, int velocityMin, int velocityMax ) +void GAME_EXPORT R_SparkEffect( const vec3_t pos, int count, int velocityMin, int velocityMax ) { R_RicochetSprite( pos, cl_sprite_ricochet, 0.1f, COM_RandomFloat( 0.5f, 1.0f )); R_SparkStreaks( pos, count, velocityMin, velocityMax ); @@ -1515,7 +1515,7 @@ R_RicochetSound Make a random ricochet sound ============== */ -void R_RicochetSound( const vec3_t pos ) +void GAME_EXPORT R_RicochetSound( const vec3_t pos ) { int iPitch = COM_RandomLong( 90, 105 ); float fvol = COM_RandomFloat( 0.7f, 0.9f ); @@ -1535,7 +1535,7 @@ R_Projectile Create an projectile entity ============== */ -void R_Projectile( const vec3_t origin, const vec3_t velocity, int modelIndex, int life, int owner, void (*hitcallback)( TEMPENTITY*, pmtrace_t* )) +void GAME_EXPORT R_Projectile( const vec3_t origin, const vec3_t velocity, int modelIndex, int life, int owner, void (*hitcallback)( TEMPENTITY*, pmtrace_t* )) { TEMPENTITY *pTemp; model_t *pmodel; @@ -1584,7 +1584,7 @@ R_TempSphereModel Spherical shower of models, picks from set ============== */ -void R_TempSphereModel( const vec3_t pos, float speed, float life, int count, int modelIndex ) +void GAME_EXPORT R_TempSphereModel( const vec3_t pos, float speed, float life, int count, int modelIndex ) { TEMPENTITY *pTemp; int i; @@ -1632,7 +1632,7 @@ R_Explosion Create an explosion (scale is magnitude) ============== */ -void R_Explosion( vec3_t pos, int model, float scale, float framerate, int flags ) +void GAME_EXPORT R_Explosion( vec3_t pos, int model, float scale, float framerate, int flags ) { sound_t hSound; @@ -1684,7 +1684,7 @@ R_PlayerSprites Create a particle smoke around player ============== */ -void R_PlayerSprites( int client, int modelIndex, int count, int size ) +void GAME_EXPORT R_PlayerSprites( int client, int modelIndex, int count, int size ) { TEMPENTITY *pTemp; cl_entity_t *pEnt; @@ -1749,7 +1749,7 @@ R_FireField Makes a field of fire ============== */ -void R_FireField( float *org, int radius, int modelIndex, int count, int flags, float life ) +void GAME_EXPORT R_FireField( float *org, int radius, int modelIndex, int count, int flags, float life ) { TEMPENTITY *pTemp; model_t *pmodel; @@ -1824,7 +1824,7 @@ R_MultiGunshot Client version of shotgun shot ============== */ -void R_MultiGunshot( const vec3_t org, const vec3_t dir, const vec3_t noise, int count, int decalCount, int *decalIndices ) +void GAME_EXPORT R_MultiGunshot( const vec3_t org, const vec3_t dir, const vec3_t noise, int count, int decalCount, int *decalIndices ) { pmtrace_t trace; vec3_t right, up; @@ -1880,7 +1880,7 @@ R_Sprite_WallPuff Create a wallpuff ============== */ -void R_Sprite_WallPuff( TEMPENTITY *pTemp, float scale ) +void GAME_EXPORT R_Sprite_WallPuff( TEMPENTITY *pTemp, float scale ) { if( !pTemp ) return; @@ -2878,7 +2878,7 @@ CL_FireCustomDecal custom temporary decal =============== */ -void CL_FireCustomDecal( int textureIndex, int entityIndex, int modelIndex, float *pos, int flags, float scale ) +void GAME_EXPORT CL_FireCustomDecal( int textureIndex, int entityIndex, int modelIndex, float *pos, int flags, float scale ) { ref.dllFuncs.R_DecalShoot( textureIndex, entityIndex, modelIndex, pos, flags, scale ); } @@ -2890,7 +2890,7 @@ CL_DecalShoot normal temporary decal =============== */ -void CL_DecalShoot( int textureIndex, int entityIndex, int modelIndex, float *pos, int flags ) +void GAME_EXPORT CL_DecalShoot( int textureIndex, int entityIndex, int modelIndex, float *pos, int flags ) { CL_FireCustomDecal( textureIndex, entityIndex, modelIndex, pos, flags, 1.0f ); } @@ -2933,7 +2933,7 @@ CL_DecalIndexFromName get decal global index from decalname =============== */ -int CL_DecalIndexFromName( const char *name ) +int GAME_EXPORT CL_DecalIndexFromName( const char *name ) { int i; @@ -2956,7 +2956,7 @@ CL_DecalIndex get texture index from decal global index =============== */ -int CL_DecalIndex( int id ) +int GAME_EXPORT CL_DecalIndex( int id ) { id = bound( 0, id, MAX_DECALS - 1 ); @@ -2977,7 +2977,7 @@ CL_DecalRemoveAll remove all decals with specified texture =============== */ -void CL_DecalRemoveAll( int textureIndex ) +void GAME_EXPORT CL_DecalRemoveAll( int textureIndex ) { int id = bound( 0, textureIndex, MAX_DECALS - 1 ); ref.dllFuncs.R_DecalRemoveAll( cl.decal_index[id] ); diff --git a/engine/client/console.c b/engine/client/console.c index 0eb15bcb..63586b61 100644 --- a/engine/client/console.c +++ b/engine/client/console.c @@ -524,7 +524,7 @@ void Con_Bottom( void ) Con_Visible ================ */ -int Con_Visible( void ) +int GAME_EXPORT Con_Visible( void ) { return (con.vislines > 0); } @@ -986,7 +986,7 @@ Con_DrawStringLen compute string width and height in screen pixels ==================== */ -void Con_DrawStringLen( const char *pText, int *length, int *height ) +void GAME_EXPORT Con_DrawStringLen( const char *pText, int *length, int *height ) { int curLength = 0; @@ -1335,7 +1335,7 @@ Con_NPrint Draw a single debug line with specified height ================ */ -void Con_NPrintf( int idx, const char *fmt, ... ) +void GAME_EXPORT Con_NPrintf( int idx, const char *fmt, ... ) { va_list args; @@ -1362,7 +1362,7 @@ Con_NXPrint Draw a single debug line with specified height, color and time to live ================ */ -void Con_NXPrintf( con_nprint_t *info, const char *fmt, ... ) +void GAME_EXPORT Con_NXPrintf( con_nprint_t *info, const char *fmt, ... ) { va_list args; @@ -1391,7 +1391,7 @@ UI_NPrint Draw a single debug line with specified height (menu version) ================ */ -void UI_NPrintf( int idx, const char *fmt, ... ) +void GAME_EXPORT UI_NPrintf( int idx, const char *fmt, ... ) { va_list args; @@ -1418,7 +1418,7 @@ UI_NXPrint Draw a single debug line with specified height, color and time to live (menu version) ================ */ -void UI_NXPrintf( con_nprint_t *info, const char *fmt, ... ) +void GAME_EXPORT UI_NXPrintf( con_nprint_t *info, const char *fmt, ... ) { va_list args; @@ -2485,7 +2485,7 @@ Con_DefaultColor called from MainUI ========= */ -void Con_DefaultColor( int r, int g, int b ) +void GAME_EXPORT Con_DefaultColor( int r, int g, int b ) { r = bound( 0, r, 255 ); g = bound( 0, g, 255 ); diff --git a/engine/client/input.c b/engine/client/input.c index 23247ebc..5851b0ed 100644 --- a/engine/client/input.c +++ b/engine/client/input.c @@ -135,7 +135,7 @@ static void IN_ActivateCursor( void ) } } -void IN_SetCursor( void *hCursor ) +void GAME_EXPORT IN_SetCursor( void *hCursor ) { in_mousecursor = hCursor; diff --git a/engine/client/keys.c b/engine/client/keys.c index 0c9f7ca3..9bf7be3e 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -150,7 +150,7 @@ static convar_t *key_rotate; Key_IsDown =================== */ -int Key_IsDown( int keynum ) +int GAME_EXPORT Key_IsDown( int keynum ) { if( keynum == -1 ) return false; @@ -279,7 +279,7 @@ const char *Key_KeynumToString( int keynum ) Key_SetBinding =================== */ -void Key_SetBinding( int keynum, const char *binding ) +void GAME_EXPORT Key_SetBinding( int keynum, const char *binding ) { if( keynum == -1 ) return; @@ -644,7 +644,7 @@ Key_Event Called by the system for both key up and key down events =================== */ -void Key_Event( int key, int down ) +void GAME_EXPORT Key_Event( int key, int down ) { const char *kb; @@ -823,7 +823,7 @@ void Key_EnableTextInput( qboolean enable, qboolean force ) Key_SetKeyDest ========= */ -void Key_SetKeyDest( int key_dest ) +void GAME_EXPORT Key_SetKeyDest( int key_dest ) { IN_ToggleClientMouse( key_dest, cls.key_dest ); @@ -856,7 +856,7 @@ void Key_SetKeyDest( int key_dest ) Key_ClearStates =================== */ -void Key_ClearStates( void ) +void GAME_EXPORT Key_ClearStates( void ) { int i; diff --git a/engine/client/ref_common.c b/engine/client/ref_common.c index 1d44d6bc..0b674255 100644 --- a/engine/client/ref_common.c +++ b/engine/client/ref_common.c @@ -30,7 +30,7 @@ GL_FreeImage Frees image by name ================ */ -void GL_FreeImage( const char *name ) +void GAME_EXPORT GL_FreeImage( const char *name ) { int texnum; diff --git a/engine/client/s_main.c b/engine/client/s_main.c index 0151d194..1c365a8a 100644 --- a/engine/client/s_main.c +++ b/engine/client/s_main.c @@ -1409,7 +1409,7 @@ S_StopSound stop all sounds for entity on a channel. ================== */ -void S_StopSound( int entnum, int channel, const char *soundname ) +void GAME_EXPORT S_StopSound( int entnum, int channel, const char *soundname ) { sfx_t *sfx; diff --git a/engine/common/cmd.c b/engine/common/cmd.c index 2bd4da72..3190205d 100644 --- a/engine/common/cmd.c +++ b/engine/common/cmd.c @@ -473,7 +473,7 @@ static cmd_t *cmd_functions; // possible commands to execute Cmd_Argc ============ */ -int Cmd_Argc( void ) +int GAME_EXPORT Cmd_Argc( void ) { return cmd_argc; } @@ -686,7 +686,7 @@ void Cmd_AddRestrictedCommand( const char *cmd_name, xcommand_t function, const Cmd_AddServerCommand ============ */ -void Cmd_AddServerCommand( const char *cmd_name, xcommand_t function ) +void GAME_EXPORT Cmd_AddServerCommand( const char *cmd_name, xcommand_t function ) { Cmd_AddCommandEx( __FUNCTION__, cmd_name, function, "server command", CMD_SERVERDLL ); } @@ -696,7 +696,7 @@ void Cmd_AddServerCommand( const char *cmd_name, xcommand_t function ) Cmd_AddClientCommand ============ */ -int Cmd_AddClientCommand( const char *cmd_name, xcommand_t function ) +int GAME_EXPORT Cmd_AddClientCommand( const char *cmd_name, xcommand_t function ) { return Cmd_AddCommandEx( __FUNCTION__, cmd_name, function, "client command", CMD_CLIENTDLL ); } @@ -706,7 +706,7 @@ int Cmd_AddClientCommand( const char *cmd_name, xcommand_t function ) Cmd_AddGameUICommand ============ */ -int Cmd_AddGameUICommand( const char *cmd_name, xcommand_t function ) +int GAME_EXPORT Cmd_AddGameUICommand( const char *cmd_name, xcommand_t function ) { return Cmd_AddCommandEx( __FUNCTION__, cmd_name, function, "gameui command", CMD_GAMEUIDLL ); } @@ -726,7 +726,7 @@ int Cmd_AddRefCommand( const char *cmd_name, xcommand_t function, const char *de Cmd_RemoveCommand ============ */ -void Cmd_RemoveCommand( const char *cmd_name ) +void GAME_EXPORT Cmd_RemoveCommand( const char *cmd_name ) { cmd_t *cmd, **back; diff --git a/engine/common/common.c b/engine/common/common.c index 7d96b5b4..88f03636 100644 --- a/engine/common/common.c +++ b/engine/common/common.c @@ -112,7 +112,7 @@ void COM_SetRandomSeed( int lSeed ) idum -= 22261048; } -float COM_RandomFloat( float flLow, float flHigh ) +float GAME_EXPORT COM_RandomFloat( float flLow, float flHigh ) { float fl; @@ -122,7 +122,7 @@ float COM_RandomFloat( float flLow, float flHigh ) return (fl * (flHigh - flLow)) + flLow; // float in [low, high) } -int COM_RandomLong( int lLow, int lHigh ) +int GAME_EXPORT COM_RandomLong( int lLow, int lHigh ) { dword maxAcceptable; dword n, x = lHigh - lLow + 1; @@ -628,7 +628,7 @@ COM_FileSize ============= */ -int COM_FileSize( const char *filename ) +int GAME_EXPORT COM_FileSize( const char *filename ) { return FS_FileSize( filename, false ); } @@ -639,7 +639,7 @@ COM_AddAppDirectoryToSearchPath ============= */ -void COM_AddAppDirectoryToSearchPath( const char *pszBaseDir, const char *appName ) +void GAME_EXPORT COM_AddAppDirectoryToSearchPath( const char *pszBaseDir, const char *appName ) { FS_AddGameHierarchy( pszBaseDir, FS_NOWRITE_PATH ); } @@ -652,7 +652,7 @@ Finds the file in the search path, copies over the name with the full path name. This doesn't search in the pak file. =========== */ -int COM_ExpandFilename( const char *fileName, char *nameOutBuffer, int nameOutBufferSize ) +int GAME_EXPORT COM_ExpandFilename( const char *fileName, char *nameOutBuffer, int nameOutBufferSize ) { const char *path; char result[MAX_SYSPATH]; @@ -853,7 +853,7 @@ COM_LoadFileForMe ============= */ -byte* COM_LoadFileForMe( const char *filename, int *pLength ) +byte* GAME_EXPORT COM_LoadFileForMe( const char *filename, int *pLength ) { string name; byte *file, *pfile; @@ -904,7 +904,7 @@ COM_SaveFile ============= */ -int COM_SaveFile( const char *filename, const void *data, int len ) +int GAME_EXPORT COM_SaveFile( const char *filename, const void *data, int len ) { // check for empty filename if( !COM_CheckString( filename )) @@ -923,7 +923,7 @@ COM_FreeFile ============= */ -void COM_FreeFile( void *buffer ) +void GAME_EXPORT COM_FreeFile( void *buffer ) { free( buffer ); } @@ -953,7 +953,7 @@ pfnGetModelType ============= */ -int pfnGetModelType( model_t *mod ) +int GAME_EXPORT pfnGetModelType( model_t *mod ) { if( !mod ) return mod_bad; return mod->type; @@ -965,7 +965,7 @@ pfnGetModelBounds ============= */ -void pfnGetModelBounds( model_t *mod, float *mins, float *maxs ) +void GAME_EXPORT pfnGetModelBounds( model_t *mod, float *mins, float *maxs ) { if( mod ) { @@ -986,7 +986,7 @@ pfnCvar_RegisterServerVariable standard path to register game variable ============= */ -void pfnCvar_RegisterServerVariable( cvar_t *variable ) +void GAME_EXPORT pfnCvar_RegisterServerVariable( cvar_t *variable ) { if( variable != NULL ) SetBits( variable->flags, FCVAR_EXTDLL ); @@ -1001,7 +1001,7 @@ use with precaution: this cvar will NOT unlinked after game.dll is unloaded ============= */ -void pfnCvar_RegisterEngineVariable( cvar_t *variable ) +void GAME_EXPORT pfnCvar_RegisterEngineVariable( cvar_t *variable ) { Cvar_RegisterVariable( (convar_t *)variable ); } @@ -1051,7 +1051,7 @@ pfnCVarDirectSet allow to set cvar directly ============= */ -void pfnCVarDirectSet( cvar_t *var, const char *szValue ) +void GAME_EXPORT pfnCVarDirectSet( cvar_t *var, const char *szValue ) { Cvar_DirectSet( (convar_t *)var, szValue ); } @@ -1090,7 +1090,7 @@ COM_CheckParm ============= */ -int COM_CheckParm( char *parm, char **ppnext ) +int GAME_EXPORT COM_CheckParm( char *parm, char **ppnext ) { int i = Sys_CheckParm( parm ); @@ -1110,7 +1110,7 @@ pfnTime ============= */ -float pfnTime( void ) +float GAME_EXPORT pfnTime( void ) { return (float)Sys_DoubleTime(); } @@ -1121,7 +1121,7 @@ pfnGetGameDir ============= */ -void pfnGetGameDir( char *szGetGameDir ) +void GAME_EXPORT pfnGetGameDir( char *szGetGameDir ) { if( !szGetGameDir ) return; Q_strcpy( szGetGameDir, GI->gamefolder ); diff --git a/engine/common/con_utils.c b/engine/common/con_utils.c index 7caf0af6..57b76750 100644 --- a/engine/common/con_utils.c +++ b/engine/common/con_utils.c @@ -966,7 +966,7 @@ qboolean Cmd_CheckMapsList_R( qboolean fRefresh, qboolean onlyingamedir ) return false; } -int Cmd_CheckMapsList( int fRefresh ) +int GAME_EXPORT Cmd_CheckMapsList( int fRefresh ) { return Cmd_CheckMapsList_R( fRefresh, true ); } @@ -1386,7 +1386,7 @@ Host_WriteServerConfig save serverinfo variables into server.cfg (using for dedicated server too) =============== */ -void Host_WriteServerConfig( const char *name ) +void GAME_EXPORT Host_WriteServerConfig( const char *name ) { file_t *f; string newconfigfile; diff --git a/engine/common/cvar.c b/engine/common/cvar.c index 923257a7..89c39ab6 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -588,7 +588,7 @@ void Cvar_FullSet( const char *var_name, const char *value, int flags ) Cvar_Set ============ */ -void Cvar_Set( const char *var_name, const char *value ) +void GAME_EXPORT Cvar_Set( const char *var_name, const char *value ) { convar_t *var; @@ -616,7 +616,7 @@ void Cvar_Set( const char *var_name, const char *value ) Cvar_SetValue ============ */ -void Cvar_SetValue( const char *var_name, float value ) +void GAME_EXPORT Cvar_SetValue( const char *var_name, float value ) { char val[32]; @@ -642,7 +642,7 @@ void Cvar_Reset( const char *var_name ) Cvar_VariableValue ============ */ -float Cvar_VariableValue( const char *var_name ) +float GAME_EXPORT Cvar_VariableValue( const char *var_name ) { convar_t *var; diff --git a/engine/common/dedicated.c b/engine/common/dedicated.c index 51b011f5..f6bf0987 100644 --- a/engine/common/dedicated.c +++ b/engine/common/dedicated.c @@ -92,7 +92,7 @@ void CL_ProcessFile( qboolean successfully_received, const char *filename ) } -int CL_Active( void ) +int GAME_EXPORT CL_Active( void ) { return false; } @@ -173,7 +173,7 @@ void CL_ClearEdicts( void ) } -void Key_SetKeyDest(int key_dest) +void GAME_EXPORT Key_SetKeyDest(int key_dest) { } @@ -222,7 +222,7 @@ int R_CreateDecalList( struct decallist_s *pList ) return 0; } -void S_StopSound(int entnum, int channel, const char *soundname) +void GAME_EXPORT S_StopSound(int entnum, int channel, const char *soundname) { } @@ -232,7 +232,7 @@ int S_GetCurrentStaticSounds( soundlist_t *pout, int size ) return 0; } -int CL_GetMaxClients( void ) +int GAME_EXPORT CL_GetMaxClients( void ) { return 0; } @@ -287,12 +287,12 @@ void S_StopAllSounds( qboolean ambient ) } -void Con_NPrintf( int idx, const char *fmt, ... ) +void GAME_EXPORT Con_NPrintf( int idx, const char *fmt, ... ) { } -void Con_NXPrintf( struct con_nprint_s *info, const char *fmt, ... ) +void GAME_EXPORT Con_NXPrintf( struct con_nprint_s *info, const char *fmt, ... ) { } diff --git a/engine/common/filesystem.c b/engine/common/filesystem.c index afcc9ab8..74b548ea 100644 --- a/engine/common/filesystem.c +++ b/engine/common/filesystem.c @@ -3009,7 +3009,7 @@ FS_FileExists Look for a file in the packages and in the filesystem ================== */ -int FS_FileExists( const char *filename, int gamedironly ) +int GAME_EXPORT FS_FileExists( const char *filename, int gamedironly ) { if( FS_FindFile( filename, NULL, gamedironly )) return true; @@ -3242,7 +3242,7 @@ FS_Delete delete specified file from gamefolder ================== */ -qboolean FS_Delete( const char *path ) +qboolean GAME_EXPORT FS_Delete( const char *path ) { char real_path[MAX_SYSPATH]; qboolean iRet; diff --git a/engine/common/host.c b/engine/common/host.c index 41c8827a..6f440a11 100644 --- a/engine/common/host.c +++ b/engine/common/host.c @@ -557,7 +557,7 @@ void Host_Frame( float time ) Host_Error ================= */ -void Host_Error( const char *error, ... ) +void GAME_EXPORT Host_Error( const char *error, ... ) { static char hosterror1[MAX_SYSPATH]; static char hosterror2[MAX_SYSPATH]; diff --git a/engine/common/infostring.c b/engine/common/infostring.c index cbbfa4e8..f8d654e4 100644 --- a/engine/common/infostring.c +++ b/engine/common/infostring.c @@ -233,7 +233,7 @@ const char *Info_ValueForKey( const char *s, const char *key ) } } -qboolean Info_RemoveKey( char *s, const char *key ) +qboolean GAME_EXPORT Info_RemoveKey( char *s, const char *key ) { char *start; char pkey[MAX_KV_SIZE]; diff --git a/engine/common/net_encode.c b/engine/common/net_encode.c index 232954f4..1c4d0a4c 100644 --- a/engine/common/net_encode.c +++ b/engine/common/net_encode.c @@ -1878,7 +1878,7 @@ qboolean MSG_ReadDeltaEntity( sizebuf_t *msg, entity_state_t *from, entity_state ============================================================================= */ -void Delta_AddEncoder( char *name, pfnDeltaEncode encodeFunc ) +void GAME_EXPORT Delta_AddEncoder( char *name, pfnDeltaEncode encodeFunc ) { delta_info_t *dt; @@ -1900,7 +1900,7 @@ void Delta_AddEncoder( char *name, pfnDeltaEncode encodeFunc ) dt->userCallback = encodeFunc; } -int Delta_FindField( delta_t *pFields, const char *fieldname ) +int GAME_EXPORT Delta_FindField( delta_t *pFields, const char *fieldname ) { delta_info_t *dt; delta_t *pField; @@ -1918,7 +1918,7 @@ int Delta_FindField( delta_t *pFields, const char *fieldname ) return -1; } -void Delta_SetField( delta_t *pFields, const char *fieldname ) +void GAME_EXPORT Delta_SetField( delta_t *pFields, const char *fieldname ) { delta_info_t *dt; delta_t *pField; @@ -1938,7 +1938,7 @@ void Delta_SetField( delta_t *pFields, const char *fieldname ) } } -void Delta_UnsetField( delta_t *pFields, const char *fieldname ) +void GAME_EXPORT Delta_UnsetField( delta_t *pFields, const char *fieldname ) { delta_info_t *dt; delta_t *pField; @@ -1958,7 +1958,7 @@ void Delta_UnsetField( delta_t *pFields, const char *fieldname ) } } -void Delta_SetFieldByIndex( delta_t *pFields, int fieldNumber ) +void GAME_EXPORT Delta_SetFieldByIndex( delta_t *pFields, int fieldNumber ) { delta_info_t *dt; @@ -1969,7 +1969,7 @@ void Delta_SetFieldByIndex( delta_t *pFields, int fieldNumber ) dt->pFields[fieldNumber].bInactive = false; } -void Delta_UnsetFieldByIndex( delta_t *pFields, int fieldNumber ) +void GAME_EXPORT Delta_UnsetFieldByIndex( delta_t *pFields, int fieldNumber ) { delta_info_t *dt; diff --git a/engine/common/sys_con.c b/engine/common/sys_con.c index 00e3d068..09bb8ebc 100644 --- a/engine/common/sys_con.c +++ b/engine/common/sys_con.c @@ -251,7 +251,7 @@ Con_Printf ============= */ -void Con_Printf( const char *szFmt, ... ) +void GAME_EXPORT Con_Printf( const char *szFmt, ... ) { static char buffer[MAX_PRINT_MSG]; va_list args; @@ -272,7 +272,7 @@ Con_DPrintf ============= */ -void Con_DPrintf( const char *szFmt, ... ) +void GAME_EXPORT Con_DPrintf( const char *szFmt, ... ) { static char buffer[MAX_PRINT_MSG]; va_list args; diff --git a/engine/platform/android/android.c b/engine/platform/android/android.c index a6efe4d9..b7f82a78 100644 --- a/engine/platform/android/android.c +++ b/engine/platform/android/android.c @@ -734,12 +734,12 @@ void Android_AddMove( float x, float y ) jnimouse.y += y; } -void Platform_GetMousePos( int *x, int *y ) +void GAME_EXPORT Platform_GetMousePos( int *x, int *y ) { // stub } -void Platform_SetMousePos( int x, int y ) +void GAME_EXPORT Platform_SetMousePos( int x, int y ) { // stub } diff --git a/engine/platform/linux/vid_fbdev.c b/engine/platform/linux/vid_fbdev.c index e5d37e7b..bf9d169f 100644 --- a/engine/platform/linux/vid_fbdev.c +++ b/engine/platform/linux/vid_fbdev.c @@ -294,13 +294,13 @@ void *Platform_GetNativeObject( const char *name ) return NULL; } -void Platform_GetMousePos( int *x, int *y ) +void GAME_EXPORT Platform_GetMousePos( int *x, int *y ) { *x = *y = 0; } -void Platform_SetMousePos(int x, int y) +void GAME_EXPORT Platform_SetMousePos(int x, int y) { } diff --git a/engine/platform/sdl/in_sdl.c b/engine/platform/sdl/in_sdl.c index 9c7062a8..2556044f 100644 --- a/engine/platform/sdl/in_sdl.c +++ b/engine/platform/sdl/in_sdl.c @@ -39,7 +39,7 @@ Platform_GetMousePos ============= */ -void Platform_GetMousePos( int *x, int *y ) +void GAME_EXPORT Platform_GetMousePos( int *x, int *y ) { SDL_GetMouseState( x, y ); } @@ -50,7 +50,7 @@ Platform_SetMousePos ============ */ -void Platform_SetMousePos( int x, int y ) +void GAME_EXPORT Platform_SetMousePos( int x, int y ) { SDL_WarpMouseInWindow( host.hWnd, x, y ); } diff --git a/engine/server/sv_game.c b/engine/server/sv_game.c index c4d57d3b..c6d41c42 100644 --- a/engine/server/sv_game.c +++ b/engine/server/sv_game.c @@ -948,7 +948,7 @@ SV_FreePrivateData release private edict memory ============== */ -void SV_FreePrivateData( edict_t *pEdict ) +void GAME_EXPORT SV_FreePrivateData( edict_t *pEdict ) { if( !pEdict || !pEdict->pvPrivateData ) return; @@ -1356,7 +1356,7 @@ pfnModelIndex ================= */ -int pfnModelIndex( const char *m ) +int GAME_EXPORT pfnModelIndex( const char *m ) { char name[MAX_QPATH]; int i; @@ -1384,7 +1384,7 @@ pfnModelFrames ================= */ -int pfnModelFrames( int modelIndex ) +int GAME_EXPORT pfnModelFrames( int modelIndex ) { model_t *pmodel = SV_ModelHandle( modelIndex ); @@ -1399,7 +1399,7 @@ pfnSetSize ================= */ -void pfnSetSize( edict_t *e, const float *rgflMin, const float *rgflMax ) +void GAME_EXPORT pfnSetSize( edict_t *e, const float *rgflMin, const float *rgflMax ) { if( !SV_IsValidEdict( e )) return; @@ -1413,7 +1413,7 @@ pfnChangeLevel ================= */ -void pfnChangeLevel( const char *level, const char *landmark ) +void GAME_EXPORT pfnChangeLevel( const char *level, const char *landmark ) { static uint last_spawncount = 0; char landname[MAX_QPATH]; @@ -1452,7 +1452,7 @@ pfnGetSpawnParms OBSOLETE, UNUSED ================= */ -void pfnGetSpawnParms( edict_t *ent ) +void GAME_EXPORT pfnGetSpawnParms( edict_t *ent ) { } @@ -1463,7 +1463,7 @@ pfnSaveSpawnParms OBSOLETE, UNUSED ================= */ -void pfnSaveSpawnParms( edict_t *ent ) +void GAME_EXPORT pfnSaveSpawnParms( edict_t *ent ) { } @@ -1473,7 +1473,7 @@ pfnVecToYaw ================= */ -float pfnVecToYaw( const float *rgflVector ) +float GAME_EXPORT pfnVecToYaw( const float *rgflVector ) { return SV_VecToYaw( rgflVector ); } @@ -1484,7 +1484,7 @@ pfnMoveToOrigin ================= */ -void pfnMoveToOrigin( edict_t *ent, const float *pflGoal, float dist, int iMoveType ) +void GAME_EXPORT pfnMoveToOrigin( edict_t *ent, const float *pflGoal, float dist, int iMoveType ) { if( !pflGoal || !SV_IsValidEdict( ent )) return; @@ -1498,7 +1498,7 @@ pfnChangeYaw ============== */ -void pfnChangeYaw( edict_t* ent ) +void GAME_EXPORT pfnChangeYaw( edict_t* ent ) { if( !SV_IsValidEdict( ent )) return; @@ -1512,7 +1512,7 @@ pfnChangePitch ============== */ -void pfnChangePitch( edict_t* ent ) +void GAME_EXPORT pfnChangePitch( edict_t* ent ) { if( !SV_IsValidEdict( ent )) return; @@ -1607,7 +1607,7 @@ pfnGetEntityIllum returns averaged lightvalue for entity ============== */ -int pfnGetEntityIllum( edict_t* pEnt ) +int GAME_EXPORT pfnGetEntityIllum( edict_t* pEnt ) { if( !SV_IsValidEdict( pEnt )) return -1; @@ -1737,7 +1737,7 @@ pfnFindClientInPVS ================= */ -edict_t* pfnFindClientInPVS( edict_t *pEdict ) +edict_t* GAME_EXPORT pfnFindClientInPVS( edict_t *pEdict ) { edict_t *pClient; vec3_t view; @@ -1836,7 +1836,7 @@ pfnMakeVectors ============== */ -void pfnMakeVectors( const float *rgflVector ) +void GAME_EXPORT pfnMakeVectors( const float *rgflVector ) { AngleVectors( rgflVector, svgame.globals->v_forward, svgame.globals->v_right, svgame.globals->v_up ); } @@ -1848,7 +1848,7 @@ pfnRemoveEntity free edict private mem, unlink physics etc ============== */ -void pfnRemoveEntity( edict_t *e ) +void GAME_EXPORT pfnRemoveEntity( edict_t *e ) { if( !SV_IsValidEdict( e )) return; @@ -1869,7 +1869,7 @@ pfnCreateNamedEntity ============== */ -edict_t* pfnCreateNamedEntity( string_t className ) +edict_t* GAME_EXPORT pfnCreateNamedEntity( string_t className ) { return SV_CreateNamedEntity( NULL, className ); } @@ -1881,7 +1881,7 @@ pfnMakeStatic move entity to client ============= */ -static void pfnMakeStatic( edict_t *ent ) +static void GAME_EXPORT pfnMakeStatic( edict_t *ent ) { entity_state_t *state; @@ -1907,7 +1907,7 @@ pfnEntIsOnFloor legacy builtin ============= */ -static int pfnEntIsOnFloor( edict_t *e ) +static int GAME_EXPORT pfnEntIsOnFloor( edict_t *e ) { if( !SV_IsValidEdict( e )) return 0; @@ -1921,7 +1921,7 @@ pfnDropToFloor =============== */ -int pfnDropToFloor( edict_t* e ) +int GAME_EXPORT pfnDropToFloor( edict_t* e ) { qboolean monsterClip; trace_t trace; @@ -1956,7 +1956,7 @@ pfnWalkMove =============== */ -int pfnWalkMove( edict_t *ent, float yaw, float dist, int iMode ) +int GAME_EXPORT pfnWalkMove( edict_t *ent, float yaw, float dist, int iMode ) { vec3_t move; @@ -1987,7 +1987,7 @@ pfnSetOrigin ================= */ -void pfnSetOrigin( edict_t *e, const float *rgflOrigin ) +void GAME_EXPORT pfnSetOrigin( edict_t *e, const float *rgflOrigin ) { if( !SV_IsValidEdict( e )) return; @@ -2109,7 +2109,7 @@ SV_StartSound ================= */ -void SV_StartSound( edict_t *ent, int chan, const char *sample, float vol, float attn, int flags, int pitch ) +void GAME_EXPORT SV_StartSound( edict_t *ent, int chan, const char *sample, float vol, float attn, int flags, int pitch ) { qboolean filter = false; int msg_dest; @@ -2146,7 +2146,7 @@ pfnEmitAmbientSound ================= */ -void pfnEmitAmbientSound( edict_t *ent, float *pos, const char *sample, float vol, float attn, int flags, int pitch ) +void GAME_EXPORT pfnEmitAmbientSound( edict_t *ent, float *pos, const char *sample, float vol, float attn, int flags, int pitch ) { int msg_dest; @@ -2184,7 +2184,7 @@ pfnTraceLine ================= */ -static void pfnTraceLine( const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr ) +static void GAME_EXPORT pfnTraceLine( const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr ) { trace_t trace; @@ -2200,7 +2200,7 @@ pfnTraceToss ================= */ -static void pfnTraceToss( edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr ) +static void GAME_EXPORT pfnTraceToss( edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr ) { trace_t trace; @@ -2217,7 +2217,7 @@ pfnTraceHull ================= */ -static void pfnTraceHull( const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr ) +static void GAME_EXPORT pfnTraceHull( const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr ) { trace_t trace; @@ -2234,7 +2234,7 @@ pfnTraceMonsterHull ============= */ -static int pfnTraceMonsterHull( edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr ) +static int GAME_EXPORT pfnTraceMonsterHull( edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr ) { qboolean monsterClip; trace_t trace; @@ -2257,7 +2257,7 @@ pfnTraceModel ============= */ -static void pfnTraceModel( const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr ) +static void GAME_EXPORT pfnTraceModel( const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr ) { float *mins, *maxs; model_t *model; @@ -2321,7 +2321,7 @@ pfnTraceSphere OBSOLETE, UNUSED ============= */ -void pfnTraceSphere( const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr ) +void GAME_EXPORT pfnTraceSphere( const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr ) { } @@ -2332,7 +2332,7 @@ pfnGetAimVector NOTE: speed is unused ============= */ -void pfnGetAimVector( edict_t* ent, float speed, float *rgflReturn ) +void GAME_EXPORT pfnGetAimVector( edict_t* ent, float speed, float *rgflReturn ) { edict_t *check; vec3_t start, dir, end, bestdir; @@ -2405,7 +2405,7 @@ pfnServerCommand ========= */ -void pfnServerCommand( const char* str ) +void GAME_EXPORT pfnServerCommand( const char* str ) { if( !SV_IsValidCmd( str )) Con_Printf( S_ERROR "bad server command %s\n", str ); @@ -2482,7 +2482,7 @@ pfnParticleEffect Make sure the event gets sent to all clients ================= */ -void pfnParticleEffect( const float *org, const float *dir, float color, float count ) +void GAME_EXPORT pfnParticleEffect( const float *org, const float *dir, float color, float count ) { int v; @@ -2508,7 +2508,7 @@ pfnLightStyle =============== */ -void pfnLightStyle( int style, const char* val ) +void GAME_EXPORT pfnLightStyle( int style, const char* val ) { if( style < 0 ) style = 0; if( style >= MAX_LIGHTSTYLES ) @@ -2525,7 +2525,7 @@ pfnDecalIndex register decal name on client ================= */ -int pfnDecalIndex( const char *m ) +int GAME_EXPORT pfnDecalIndex( const char *m ) { int i; @@ -2547,7 +2547,7 @@ pfnMessageBegin ============= */ -void pfnMessageBegin( int msg_dest, int msg_num, const float *pOrigin, edict_t *ed ) +void GAME_EXPORT pfnMessageBegin( int msg_dest, int msg_num, const float *pOrigin, edict_t *ed ) { int i, iSize; @@ -2612,7 +2612,7 @@ pfnMessageEnd ============= */ -void pfnMessageEnd( void ) +void GAME_EXPORT pfnMessageEnd( void ) { const char *name = "Unknown"; float *org = NULL; @@ -2710,7 +2710,7 @@ pfnWriteByte ============= */ -void pfnWriteByte( int iValue ) +void GAME_EXPORT pfnWriteByte( int iValue ) { if( iValue == -1 ) iValue = 0xFF; // convert char to byte MSG_WriteByte( &sv.multicast, (byte)iValue ); @@ -2723,7 +2723,7 @@ pfnWriteChar ============= */ -void pfnWriteChar( int iValue ) +void GAME_EXPORT pfnWriteChar( int iValue ) { MSG_WriteChar( &sv.multicast, (char)iValue ); svgame.msg_realsize++; @@ -2735,7 +2735,7 @@ pfnWriteShort ============= */ -void pfnWriteShort( int iValue ) +void GAME_EXPORT pfnWriteShort( int iValue ) { MSG_WriteShort( &sv.multicast, (short)iValue ); svgame.msg_realsize += 2; @@ -2747,7 +2747,7 @@ pfnWriteLong ============= */ -void pfnWriteLong( int iValue ) +void GAME_EXPORT pfnWriteLong( int iValue ) { MSG_WriteLong( &sv.multicast, iValue ); svgame.msg_realsize += 4; @@ -2760,7 +2760,7 @@ pfnWriteAngle this is low-res angle ============= */ -void pfnWriteAngle( float flValue ) +void GAME_EXPORT pfnWriteAngle( float flValue ) { int iAngle = ((int)(( flValue ) * 256 / 360) & 255); @@ -2774,7 +2774,7 @@ pfnWriteCoord ============= */ -void pfnWriteCoord( float flValue ) +void GAME_EXPORT pfnWriteCoord( float flValue ) { MSG_WriteCoord( &sv.multicast, flValue ); svgame.msg_realsize += 2; @@ -2798,7 +2798,7 @@ pfnWriteString ============= */ -void pfnWriteString( const char *src ) +void GAME_EXPORT pfnWriteString( const char *src ) { static char string[MAX_USERMSG_LENGTH]; int len = Q_strlen( src ) + 1; @@ -2861,7 +2861,7 @@ pfnWriteEntity ============= */ -void pfnWriteEntity( int iValue ) +void GAME_EXPORT pfnWriteEntity( int iValue ) { if( iValue < 0 || iValue >= svgame.numEntities ) Host_Error( "MSG_WriteEntity: invalid entnumber %i\n", iValue ); @@ -2930,7 +2930,7 @@ OBSOLETE, UNUSED ============= */ static void pfnEngineFprintf( FILE *pfile, char *szFmt, ... ) _format( 2 ); -static void pfnEngineFprintf( FILE *pfile, char *szFmt, ... ) +static void GAME_EXPORT pfnEngineFprintf( FILE *pfile, char *szFmt, ... ) { } @@ -2941,7 +2941,7 @@ pfnBuildSoundMsg Customizable sound message ============= */ -void pfnBuildSoundMsg( edict_t *pSource, int chan, const char *samp, float fvol, float attn, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *pSend ) +void GAME_EXPORT pfnBuildSoundMsg( edict_t *pSource, int chan, const char *samp, float fvol, float attn, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *pSend ) { pfnMessageBegin( msg_dest, msg_type, pOrigin, pSend ); SV_BuildSoundMsg( &sv.multicast, pSource, chan, samp, fvol * 255, attn, fFlags, pitch, pOrigin ); @@ -3286,7 +3286,7 @@ pfnPEntityOfEntOffset ============= */ -edict_t* pfnPEntityOfEntOffset( int iEntOffset ) +edict_t* GAME_EXPORT pfnPEntityOfEntOffset( int iEntOffset ) { return (edict_t *)((byte *)svgame.edicts + iEntOffset); } @@ -3297,7 +3297,7 @@ pfnEntOffsetOfPEntity ============= */ -int pfnEntOffsetOfPEntity( const edict_t *pEdict ) +int GAME_EXPORT pfnEntOffsetOfPEntity( const edict_t *pEdict ) { return (byte *)pEdict - (byte *)svgame.edicts; } @@ -3308,7 +3308,7 @@ pfnIndexOfEdict ============= */ -int pfnIndexOfEdict( const edict_t *pEdict ) +int GAME_EXPORT pfnIndexOfEdict( const edict_t *pEdict ) { int number; @@ -3353,7 +3353,7 @@ pfnFindEntityByVars debug thing ============= */ -edict_t* pfnFindEntityByVars( entvars_t *pvars ) +edict_t* GAME_EXPORT pfnFindEntityByVars( entvars_t *pvars ) { edict_t *pEdict; int i; @@ -3411,7 +3411,7 @@ pfnRegUserMsg ============= */ -int pfnRegUserMsg( const char *pszName, int iSize ) +int GAME_EXPORT pfnRegUserMsg( const char *pszName, int iSize ) { int i; @@ -3469,7 +3469,7 @@ pfnAnimationAutomove OBSOLETE, UNUSED ============= */ -void pfnAnimationAutomove( const edict_t* pEdict, float flTime ) +void GAME_EXPORT pfnAnimationAutomove( const edict_t* pEdict, float flTime ) { } @@ -3479,7 +3479,7 @@ pfnGetBonePosition ============= */ -static void pfnGetBonePosition( const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles ) +static void GAME_EXPORT pfnGetBonePosition( const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles ) { if( !SV_IsValidEdict( pEdict )) return; @@ -3514,7 +3514,7 @@ pfnClientPrintf ============= */ -void pfnClientPrintf( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg ) +void GAME_EXPORT pfnClientPrintf( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg ) { sv_client_t *client; @@ -3547,7 +3547,7 @@ pfnServerPrint print to the server console ============= */ -void pfnServerPrint( const char *szMsg ) +void GAME_EXPORT pfnServerPrint( const char *szMsg ) { if( FBitSet( host.features, ENGINE_QUAKE_COMPATIBLE )) SV_BroadcastPrintf( NULL, "%s", szMsg ); @@ -3560,7 +3560,7 @@ pfnGetAttachment ============= */ -static void pfnGetAttachment( const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles ) +static void GAME_EXPORT pfnGetAttachment( const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles ) { if( !SV_IsValidEdict( pEdict )) return; @@ -3573,7 +3573,7 @@ pfnCrosshairAngle ============= */ -void pfnCrosshairAngle( const edict_t *pClient, float pitch, float yaw ) +void GAME_EXPORT pfnCrosshairAngle( const edict_t *pClient, float pitch, float yaw ) { sv_client_t *client; @@ -3600,7 +3600,7 @@ pfnSetView ============= */ -void pfnSetView( const edict_t *pClient, const edict_t *pViewent ) +void GAME_EXPORT pfnSetView( const edict_t *pClient, const edict_t *pViewent ) { sv_client_t *client; int viewEnt; @@ -3636,7 +3636,7 @@ pfnStaticDecal ============= */ -void pfnStaticDecal( const float *origin, int decalIndex, int entityIndex, int modelIndex ) +void GAME_EXPORT pfnStaticDecal( const float *origin, int decalIndex, int entityIndex, int modelIndex ) { SV_CreateDecal( &sv.signon, origin, decalIndex, entityIndex, modelIndex, FDECAL_PERMANENT, 1.0f ); } @@ -3647,7 +3647,7 @@ pfnIsDedicatedServer ============= */ -int pfnIsDedicatedServer( void ) +int GAME_EXPORT pfnIsDedicatedServer( void ) { return Host_IsDedicated(); } @@ -3659,7 +3659,7 @@ pfnGetPlayerWONId OBSOLETE, UNUSED ============= */ -uint pfnGetPlayerWONId( edict_t *e ) +uint GAME_EXPORT pfnGetPlayerWONId( edict_t *e ) { return (uint)-1; } @@ -3671,7 +3671,7 @@ pfnIsMapValid vaild map must contain one info_player_deatchmatch ============= */ -int pfnIsMapValid( char *filename ) +int GAME_EXPORT pfnIsMapValid( char *filename ) { int flags = SV_MapIsValid( filename, GI->mp_entity, NULL ); @@ -3686,7 +3686,7 @@ pfnFadeClientVolume ============= */ -void pfnFadeClientVolume( const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds ) +void GAME_EXPORT pfnFadeClientVolume( const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds ) { sv_client_t *cl; @@ -3710,7 +3710,7 @@ pfnSetClientMaxspeed fakeclients can be changed speed to ============= */ -void pfnSetClientMaxspeed( const edict_t *pEdict, float fNewMaxspeed ) +void GAME_EXPORT pfnSetClientMaxspeed( const edict_t *pEdict, float fNewMaxspeed ) { sv_client_t *cl; @@ -3729,7 +3729,7 @@ pfnRunPlayerMove ============= */ -void pfnRunPlayerMove( edict_t *pClient, const float *viewangles, float fmove, float smove, float upmove, word buttons, byte impulse, byte msec ) +void GAME_EXPORT pfnRunPlayerMove( edict_t *pClient, const float *viewangles, float fmove, float smove, float upmove, word buttons, byte impulse, byte msec ) { sv_client_t *cl, *oldcl; usercmd_t cmd; @@ -3770,7 +3770,7 @@ pfnNumberOfEntities returns actual entity count ============= */ -int pfnNumberOfEntities( void ) +int GAME_EXPORT pfnNumberOfEntities( void ) { int i, total = 0; @@ -3815,7 +3815,7 @@ pfnSetValueForKey ============= */ -void pfnSetValueForKey( char *infobuffer, char *key, char *value ) +void GAME_EXPORT pfnSetValueForKey( char *infobuffer, char *key, char *value ) { if( infobuffer == svs.localinfo ) Info_SetValueForStarKey( infobuffer, key, value, MAX_LOCALINFO_STRING ); @@ -3830,7 +3830,7 @@ pfnSetClientKeyValue ============= */ -void pfnSetClientKeyValue( int clientIndex, char *infobuffer, char *key, char *value ) +void GAME_EXPORT pfnSetClientKeyValue( int clientIndex, char *infobuffer, char *key, char *value ) { sv_client_t *cl; @@ -3879,7 +3879,7 @@ pfnSetPhysicsKeyValue ============= */ -void pfnSetPhysicsKeyValue( const edict_t *pClient, const char *key, const char *value ) +void GAME_EXPORT pfnSetPhysicsKeyValue( const edict_t *pClient, const char *key, const char *value ) { sv_client_t *cl; @@ -3921,7 +3921,7 @@ register or returns already registered event id a type of event is ignored at this moment ============= */ -word pfnPrecacheEvent( int type, const char *psz ) +word GAME_EXPORT pfnPrecacheEvent( int type, const char *psz ) { return (word)SV_EventIndex( psz ); } @@ -3932,7 +3932,7 @@ pfnPlaybackEvent ============= */ -void SV_PlaybackEventFull( int flags, const edict_t *pInvoker, word eventindex, float delay, float *origin, +void GAME_EXPORT SV_PlaybackEventFull( int flags, const edict_t *pInvoker, word eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ) { sv_client_t *cl; @@ -4234,7 +4234,7 @@ pfnCheckVisibility ============= */ -int pfnCheckVisibility( const edict_t *ent, byte *pset ) +int GAME_EXPORT pfnCheckVisibility( const edict_t *ent, byte *pset ) { int i, leafnum; @@ -4286,7 +4286,7 @@ pfnCanSkipPlayer ============= */ -int pfnCanSkipPlayer( const edict_t *player ) +int GAME_EXPORT pfnCanSkipPlayer( const edict_t *player ) { sv_client_t *cl; @@ -4302,7 +4302,7 @@ pfnGetCurrentPlayer ============= */ -int pfnGetCurrentPlayer( void ) +int GAME_EXPORT pfnGetCurrentPlayer( void ) { int idx = sv.current_client - svs.clients; @@ -4317,7 +4317,7 @@ pfnSetGroupMask ============= */ -void pfnSetGroupMask( int mask, int op ) +void GAME_EXPORT pfnSetGroupMask( int mask, int op ) { svs.groupmask = mask; svs.groupop = op; @@ -4329,7 +4329,7 @@ pfnCreateInstancedBaseline ============= */ -int pfnCreateInstancedBaseline( int classname, struct entity_state_s *baseline ) +int GAME_EXPORT pfnCreateInstancedBaseline( int classname, struct entity_state_s *baseline ) { if( !baseline || sv.num_instanced >= MAX_CUSTOM_BASELINES ) return 0; @@ -4348,7 +4348,7 @@ pfnEndSection ============= */ -void pfnEndSection( const char *pszSection ) +void GAME_EXPORT pfnEndSection( const char *pszSection ) { if( !Q_stricmp( "oem_end_credits", pszSection )) Host_Credits (); @@ -4361,7 +4361,7 @@ pfnGetPlayerUserId ============= */ -int pfnGetPlayerUserId( edict_t *e ) +int GAME_EXPORT pfnGetPlayerUserId( edict_t *e ) { sv_client_t *cl; @@ -4376,7 +4376,7 @@ pfnGetPlayerStats ============= */ -void pfnGetPlayerStats( const edict_t *pClient, int *ping, int *packet_loss ) +void GAME_EXPORT pfnGetPlayerStats( const edict_t *pClient, int *ping, int *packet_loss ) { sv_client_t *cl; @@ -4396,7 +4396,7 @@ pfnForceUnmodified ============= */ -void pfnForceUnmodified( FORCE_TYPE type, float *mins, float *maxs, const char *filename ) +void GAME_EXPORT pfnForceUnmodified( FORCE_TYPE type, float *mins, float *maxs, const char *filename ) { consistency_t *pc; int i; @@ -4443,7 +4443,7 @@ pfnVoice_GetClientListening ============= */ -qboolean pfnVoice_GetClientListening( int iReceiver, int iSender ) +qboolean GAME_EXPORT pfnVoice_GetClientListening( int iReceiver, int iSender ) { iReceiver -= 1; iSender -= 1; @@ -4460,7 +4460,7 @@ pfnVoice_SetClientListening ============= */ -qboolean pfnVoice_SetClientListening( int iReceiver, int iSender, qboolean bListen ) +qboolean GAME_EXPORT pfnVoice_SetClientListening( int iReceiver, int iSender, qboolean bListen ) { iReceiver -= 1; iSender -= 1; @@ -4495,7 +4495,7 @@ pfnQueryClientCvarValue request client cvar value ============= */ -void pfnQueryClientCvarValue( const edict_t *player, const char *cvarName ) +void GAME_EXPORT pfnQueryClientCvarValue( const edict_t *player, const char *cvarName ) { sv_client_t *cl; @@ -4522,7 +4522,7 @@ pfnQueryClientCvarValue2 request client cvar value (bugfixed) ============= */ -void pfnQueryClientCvarValue2( const edict_t *player, const char *cvarName, int requestID ) +void GAME_EXPORT pfnQueryClientCvarValue2( const edict_t *player, const char *cvarName, int requestID ) { sv_client_t *cl; @@ -4550,15 +4550,15 @@ pfnEngineStub extended iface stubs ============= */ -static int pfnGetFileSize( char *filename ) +static int GAME_EXPORT pfnGetFileSize( char *filename ) { return 0; } -static unsigned int pfnGetApproxWavePlayLen(const char *filepath) +static unsigned int GAME_EXPORT pfnGetApproxWavePlayLen(const char *filepath) { return 0; } -static int pfnGetLocalizedStringLength(const char *label) +static int GAME_EXPORT pfnGetLocalizedStringLength(const char *label) { return 0; } diff --git a/engine/server/sv_init.c b/engine/server/sv_init.c index 88847b37..e4b05a1c 100644 --- a/engine/server/sv_init.c +++ b/engine/server/sv_init.c @@ -131,7 +131,7 @@ SV_SoundIndex register unique sound for client ================ */ -int SV_SoundIndex( const char *filename ) +int GAME_EXPORT SV_SoundIndex( const char *filename ) { char name[MAX_QPATH]; int i; @@ -224,7 +224,7 @@ SV_GenericIndex register generic resourse for a server and client ================ */ -int SV_GenericIndex( const char *filename ) +int GAME_EXPORT SV_GenericIndex( const char *filename ) { char name[MAX_QPATH]; int i; diff --git a/engine/server/sv_phys.c b/engine/server/sv_phys.c index f69e934c..62efc1de 100644 --- a/engine/server/sv_phys.c +++ b/engine/server/sv_phys.c @@ -1967,7 +1967,7 @@ pfnPointContents ============= */ -static int pfnPointContents( const float *pos, int groupmask ) +static int GAME_EXPORT pfnPointContents( const float *pos, int groupmask ) { int oldmask, cont; diff --git a/engine/server/sv_pmove.c b/engine/server/sv_pmove.c index 54b7cdf9..d5a7673f 100644 --- a/engine/server/sv_pmove.c +++ b/engine/server/sv_pmove.c @@ -341,7 +341,7 @@ void SV_AddLaddersToPmove( areanode_t *node, const vec3_t pmove_mins, const vec3 SV_AddLaddersToPmove( node->children[1], pmove_mins, pmove_maxs ); } -static void pfnParticle( const float *origin, int color, float life, int zpos, int zvel ) +static void GAME_EXPORT pfnParticle( const float *origin, int color, float life, int zpos, int zvel ) { int v; @@ -367,12 +367,12 @@ int SV_TestLine( const vec3_t start, const vec3_t end, int flags ) return PM_TestLineExt( svgame.pmove, svgame.pmove->physents, svgame.pmove->numphysent, start, end, flags ); } -static int pfnTestPlayerPosition( float *pos, pmtrace_t *ptrace ) +static int GAME_EXPORT pfnTestPlayerPosition( float *pos, pmtrace_t *ptrace ) { return PM_TestPlayerPosition( svgame.pmove, pos, ptrace, NULL ); } -static void pfnStuckTouch( int hitent, pmtrace_t *tr ) +static void GAME_EXPORT pfnStuckTouch( int hitent, pmtrace_t *tr ) { int i; @@ -391,7 +391,7 @@ static void pfnStuckTouch( int hitent, pmtrace_t *tr ) svgame.pmove->touchindex[svgame.pmove->numtouch++] = *tr; } -static int pfnPointContents( float *p, int *truecontents ) +static int GAME_EXPORT pfnPointContents( float *p, int *truecontents ) { int cont, truecont; @@ -403,17 +403,17 @@ static int pfnPointContents( float *p, int *truecontents ) return cont; } -static int pfnTruePointContents( float *p ) +static int GAME_EXPORT pfnTruePointContents( float *p ) { return PM_TruePointContents( svgame.pmove, p ); } -static int pfnHullPointContents( struct hull_s *hull, int num, float *p ) +static int GAME_EXPORT pfnHullPointContents( struct hull_s *hull, int num, float *p ) { return PM_HullPointContents( hull, num, p ); } -static pmtrace_t pfnPlayerTrace( float *start, float *end, int traceFlags, int ignore_pe ) +static pmtrace_t GAME_EXPORT pfnPlayerTrace( float *start, float *end, int traceFlags, int ignore_pe ) { return PM_PlayerTraceExt( svgame.pmove, start, end, traceFlags, svgame.pmove->numphysent, svgame.pmove->physents, ignore_pe, NULL ); } @@ -446,7 +446,7 @@ static hull_t *pfnHullForBsp( physent_t *pe, float *offset ) return PM_HullForBsp( pe, svgame.pmove, offset ); } -static float pfnTraceModel( physent_t *pe, float *start, float *end, trace_t *trace ) +static float GAME_EXPORT pfnTraceModel( physent_t *pe, float *start, float *end, trace_t *trace ) { int old_usehull; vec3_t start_l, end_l; @@ -503,7 +503,7 @@ static const char *pfnTraceTexture( int ground, float *vstart, float *vend ) return PM_TraceTexture( pe, vstart, vend ); } -static void pfnPlaySound( int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ) +static void GAME_EXPORT pfnPlaySound( int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ) { edict_t *ent; @@ -513,7 +513,7 @@ static void pfnPlaySound( int channel, const char *sample, float volume, float a SV_StartSound( ent, channel, sample, volume, attenuation, fFlags|SND_FILTER_CLIENT, pitch ); } -static void pfnPlaybackEventFull( int flags, int clientindex, word eventindex, float delay, float *origin, +static void GAME_EXPORT pfnPlaybackEventFull( int flags, int clientindex, word eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ) { edict_t *ent; @@ -531,12 +531,12 @@ static void pfnPlaybackEventFull( int flags, int clientindex, word eventindex, f bparam1, bparam2 ); } -static pmtrace_t pfnPlayerTraceEx( float *start, float *end, int traceFlags, pfnIgnore pmFilter ) +static pmtrace_t GAME_EXPORT pfnPlayerTraceEx( float *start, float *end, int traceFlags, pfnIgnore pmFilter ) { return PM_PlayerTraceExt( svgame.pmove, start, end, traceFlags, svgame.pmove->numphysent, svgame.pmove->physents, -1, pmFilter ); } -static int pfnTestPlayerPositionEx( float *pos, pmtrace_t *ptrace, pfnIgnore pmFilter ) +static int GAME_EXPORT pfnTestPlayerPositionEx( float *pos, pmtrace_t *ptrace, pfnIgnore pmFilter ) { return PM_TestPlayerPosition( svgame.pmove, pos, ptrace, pmFilter ); } diff --git a/engine/server/sv_save.c b/engine/server/sv_save.c index 0d37d8de..6dff96c8 100644 --- a/engine/server/sv_save.c +++ b/engine/server/sv_save.c @@ -2166,7 +2166,7 @@ SV_GetSaveComment check savegame for valid ================== */ -int SV_GetSaveComment( const char *savename, char *comment ) +int GAME_EXPORT SV_GetSaveComment( const char *savename, char *comment ) { int i, tag, size, nNumberOfFields, nFieldSize, tokenSize, tokenCount; char *pData, *pSaveData, *pFieldName, **pTokenList; diff --git a/engine/server/sv_world.c b/engine/server/sv_world.c index dce7c48e..16fa46c4 100644 --- a/engine/server/sv_world.c +++ b/engine/server/sv_world.c @@ -801,7 +801,7 @@ SV_PointContents ============= */ -int SV_PointContents( const vec3_t p ) +int GAME_EXPORT SV_PointContents( const vec3_t p ) { int cont = SV_TruePointContents( p ); diff --git a/public/crclib.c b/public/crclib.c index cd211174..9dbae361 100644 --- a/public/crclib.c +++ b/public/crclib.c @@ -90,17 +90,17 @@ static const dword crc32table[NUM_BYTES] = 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d }; -void CRC32_Init( dword *pulCRC ) +void GAME_EXPORT CRC32_Init( dword *pulCRC ) { *pulCRC = CRC32_INIT_VALUE; } -dword CRC32_Final( dword pulCRC ) +dword GAME_EXPORT CRC32_Final( dword pulCRC ) { return pulCRC ^ CRC32_XOR_VALUE; } -void CRC32_ProcessByte( dword *pulCRC, byte ch ) +void GAME_EXPORT CRC32_ProcessByte( dword *pulCRC, byte ch ) { dword ulCrc = *pulCRC; @@ -109,7 +109,7 @@ void CRC32_ProcessByte( dword *pulCRC, byte ch ) *pulCRC = ulCrc; } -void CRC32_ProcessBuffer( dword *pulCRC, const void *pBuffer, int nBuffer ) +void GAME_EXPORT CRC32_ProcessBuffer( dword *pulCRC, const void *pBuffer, int nBuffer ) { dword ulCrc = *pulCRC, tmp; byte *pb = (byte *)pBuffer; diff --git a/public/mathlib.c b/public/mathlib.c index 5761429c..6f6e2843 100644 --- a/public/mathlib.c +++ b/public/mathlib.c @@ -390,7 +390,7 @@ AngleVectors ================= */ -void AngleVectors( const vec3_t angles, vec3_t forward, vec3_t right, vec3_t up ) +void GAME_EXPORT AngleVectors( const vec3_t angles, vec3_t forward, vec3_t right, vec3_t up ) { float sr, sp, sy, cr, cp, cy; @@ -426,7 +426,7 @@ VectorAngles ================= */ -void VectorAngles( const float *forward, float *angles ) +void GAME_EXPORT VectorAngles( const float *forward, float *angles ) { float tmp, yaw, pitch;