diff --git a/sp/src/game/client/c_lightglow.cpp b/sp/src/game/client/c_lightglow.cpp index 60f5f9bb4..b5e67d3b8 100644 --- a/sp/src/game/client/c_lightglow.cpp +++ b/sp/src/game/client/c_lightglow.cpp @@ -79,7 +79,7 @@ protected: class C_LightGlow : public CLensflareBase // GSTRINGMIGRATION { public: - DECLARE_CLASS( C_LightGlow, C_BaseEntity ); + DECLARE_CLASS( C_LightGlow, CLensflareBase ); // GSTRINGMIGRATION DECLARE_CLIENTCLASS(); C_LightGlow(); @@ -113,7 +113,7 @@ static void RecvProxy_HDRColorScale( const CRecvProxyData *pData, void *pStruct, pLightGlow->m_Glow.m_flHDRColorScale = pData->m_Value.m_Float; } -IMPLEMENT_CLIENTCLASS_DT_NOBASE( C_LightGlow, DT_LightGlow, CLightGlow ) +IMPLEMENT_CLIENTCLASS_DT( C_LightGlow, DT_LightGlow, CLightGlow ) // GSTRINGMIGRATION add base RecvPropInt( RECVINFO(m_clrRender), 0, RecvProxy_IntToColor32 ), RecvPropInt( RECVINFO( m_nHorizontalSize ) ), RecvPropInt( RECVINFO( m_nVerticalSize ) ), @@ -179,6 +179,8 @@ void C_LightGlow::OnDataChanged( DataUpdateType_t updateType ) } SetNextClientThink( gpGlobals->curtime + RandomFloat(0,3.0) ); + + CreateLensFlare(); // GSTRINGMIGRATION } else if ( updateType == DATA_UPDATE_DATATABLE_CHANGED ) //Right now only color should change. { diff --git a/sp/src/game/client/c_sun.cpp b/sp/src/game/client/c_sun.cpp index 27bdf99fe..26d4467c9 100644 --- a/sp/src/game/client/c_sun.cpp +++ b/sp/src/game/client/c_sun.cpp @@ -27,7 +27,7 @@ static void RecvProxy_HDRColorScale( const CRecvProxyData *pData, void *pStruct, pSun->m_GlowOverlay.m_flHDRColorScale = pData->m_Value.m_Float; } -IMPLEMENT_CLIENTCLASS_DT_NOBASE( C_Sun, DT_Sun, CSun ) +IMPLEMENT_CLIENTCLASS_DT( C_Sun, DT_Sun, CSun ) // GSTRINGMIGRATION add base RecvPropInt( RECVINFO(m_clrRender), 0, RecvProxy_IntToColor32 ), RecvPropInt( RECVINFO(m_clrOverlay), 0, RecvProxy_IntToColor32 ), @@ -147,6 +147,13 @@ void C_Sun::OnDataChanged( DataUpdateType_t updateType ) m_Overlay.Deactivate(); m_GlowOverlay.Deactivate(); } + + // GSTRINGMIGRATION + if ( updateType == DATA_UPDATE_CREATED ) + { + CreateLensFlare(); + } + // END GSTRINGMIGRATION } diff --git a/sp/src/game/client/c_sun.h b/sp/src/game/client/c_sun.h index f56bd037f..5d969869f 100644 --- a/sp/src/game/client/c_sun.h +++ b/sp/src/game/client/c_sun.h @@ -60,7 +60,7 @@ protected: class C_Sun : public CLensflareBase // GSTRINGMIGRATION { public: - DECLARE_CLASS( C_Sun, C_BaseEntity ); + DECLARE_CLASS( C_Sun, CLensflareBase ); // GSTRINGMIGRATION DECLARE_CLIENTCLASS(); C_Sun(); diff --git a/sp/src/game/client/cdll_client_int.cpp b/sp/src/game/client/cdll_client_int.cpp index 73404582b..0de839083 100644 --- a/sp/src/game/client/cdll_client_int.cpp +++ b/sp/src/game/client/cdll_client_int.cpp @@ -1085,6 +1085,8 @@ int CHLClient::Init( CreateInterfaceFn appSystemFactory, CreateInterfaceFn physi ClientWorldFactoryInit(); + gHUD.InitPostSystems(); // GSTRINGMIGRATION + C_BaseAnimating::InitBoneSetupThreadPool(); #if defined( WIN32 ) && !defined( _X360 ) diff --git a/sp/src/game/client/hl2/hud_damageindicator.cpp b/sp/src/game/client/hl2/hud_damageindicator.cpp index 39a30448a..43b399568 100644 --- a/sp/src/game/client/hl2/hud_damageindicator.cpp +++ b/sp/src/game/client/hl2/hud_damageindicator.cpp @@ -146,7 +146,7 @@ CHudDamageIndicator::CHudDamageIndicator( const char *pElementName ) : CHudEleme m_WhiteAdditiveMaterial.Init( "vgui/white_additive", TEXTURE_GROUP_VGUI ); - SetHiddenBits( HIDEHUD_HEALTH ); + //SetHiddenBits( HIDEHUD_HEALTH ); // GSTRINGMIGRATION } //----------------------------------------------------------------------------- @@ -334,12 +334,14 @@ void CHudDamageIndicator::DrawFullscreenDamageIndicator() //----------------------------------------------------------------------------- void CHudDamageIndicator::Paint() { + // GSTRINGMIGRATION // draw fullscreen damage indicators - DrawFullscreenDamageIndicator(); + //DrawFullscreenDamageIndicator(); // draw side damage indicators - DrawDamageIndicator(0); - DrawDamageIndicator(1); + //DrawDamageIndicator(0); + //DrawDamageIndicator(1); + // END GSTRINGMIGRATION } //----------------------------------------------------------------------------- diff --git a/sp/src/game/client/hud.cpp b/sp/src/game/client/hud.cpp index 4f8b8a299..40478dbdb 100644 --- a/sp/src/game/client/hud.cpp +++ b/sp/src/game/client/hud.cpp @@ -481,6 +481,16 @@ void CHud::Init( void ) FreeHudTextureList( textureList ); } +// GSTRINGMIGRATION +void CHud::InitPostSystems( void ) +{ + for ( int i = 0; i < m_HudList.Size(); i++ ) + { + m_HudList[i]->PostDLLInit(); + } +} +// END GSTRINGMIGRATION + //----------------------------------------------------------------------------- // Purpose: Init Hud global colors // Input : *scheme - diff --git a/sp/src/game/client/hud.h b/sp/src/game/client/hud.h index 639497d5d..f05be7bac 100644 --- a/sp/src/game/client/hud.h +++ b/sp/src/game/client/hud.h @@ -113,6 +113,8 @@ public: // Init's called when the HUD's created at DLL load void Init( void ); + // Called after client dll finished its initialization + void InitPostSystems( void ); // GSTRINGMIGRATION // VidInit's called when the video mode's changed void VidInit( void ); // Shutdown's called when the engine's shutting down diff --git a/sp/src/game/client/hud_redraw.cpp b/sp/src/game/client/hud_redraw.cpp index aa0c2d446..4d94b1524 100644 --- a/sp/src/game/client/hud_redraw.cpp +++ b/sp/src/game/client/hud_redraw.cpp @@ -53,24 +53,22 @@ void CHud::Think(void) const bool bPlayingReplay = g_pEngineClientReplay && g_pEngineClientReplay->IsPlayingReplayDemo(); #endif + SetRenderingStage( HUDRENDERSTAGE_ALL ); // GSTRINGMIGRATION + // Determine the visibility of all hud elements for ( int i = 0; i < m_HudList.Size(); i++ ) { + // GSTRINGMIGRATION // Visible? - bool visible = m_HudList[i]->ShouldDraw(); - -#if defined( REPLAY_ENABLED ) - visible = visible && !bPlayingReplay; -#endif - - m_HudList[i]->SetActive( visible ); + bool visible = false; // If it's a vgui panel, hide/show as appropriate vgui::Panel *pPanel = dynamic_cast(m_HudList[i]); - if ( pPanel && pPanel->IsVisible() != visible ) + if ( pPanel ) { - pPanel->SetVisible( visible ); + visible = pPanel->IsVisible(); } + // END GSTRINGMIGRATION else if ( !pPanel ) { // All HUD elements should now derive from vgui!!! diff --git a/sp/src/game/client/hudelement.h b/sp/src/game/client/hudelement.h index ebde40bd7..72ba095cd 100644 --- a/sp/src/game/client/hudelement.h +++ b/sp/src/game/client/hudelement.h @@ -32,6 +32,8 @@ public: // called when the Hud is initialised (whenever the DLL is loaded) virtual void Init( void ) { return; } + // called after the dll finished init + virtual void PostDLLInit( void ) { return; } // GSTRINGMIGRATION // called whenever the video mode changes, and whenever Init() would be called, so the hud can vid init itself virtual void VidInit( void ) { return; } diff --git a/sp/src/game/server/lightglow.cpp b/sp/src/game/server/lightglow.cpp index 666f0368b..610693e73 100644 --- a/sp/src/game/server/lightglow.cpp +++ b/sp/src/game/server/lightglow.cpp @@ -22,7 +22,7 @@ class CLightGlow : public CLensflareBase // GSTRINGMIGRATION { public: - DECLARE_CLASS( CLightGlow, CBaseEntity ); + DECLARE_CLASS( CLightGlow, CLensflareBase ); // GSTRINGMIGRATION DECLARE_SERVERCLASS(); DECLARE_DATADESC(); @@ -47,7 +47,7 @@ public: extern void SendProxy_Angles( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); -IMPLEMENT_SERVERCLASS_ST_NOBASE( CLightGlow, DT_LightGlow ) +IMPLEMENT_SERVERCLASS_ST( CLightGlow, DT_LightGlow ) // GSTRINGMIGRATION add base SendPropInt( SENDINFO(m_clrRender), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt ), SendPropInt( SENDINFO(m_nHorizontalSize), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nVerticalSize), 16, SPROP_UNSIGNED ), diff --git a/sp/src/game/server/sun.cpp b/sp/src/game/server/sun.cpp index 62b3bb5c5..9910cfbbe 100644 --- a/sp/src/game/server/sun.cpp +++ b/sp/src/game/server/sun.cpp @@ -17,7 +17,7 @@ class CSun : public CLensflareBase // GSTRINGMIGRATION { public: - DECLARE_CLASS( CSun, CBaseEntity ); + DECLARE_CLASS( CSun, CLensflareBase ); // GSTRINGMIGRATION DECLARE_SERVERCLASS(); DECLARE_DATADESC(); @@ -51,7 +51,7 @@ public: CNetworkVar( float, m_flHDRColorScale ); }; -IMPLEMENT_SERVERCLASS_ST_NOBASE( CSun, DT_Sun ) +IMPLEMENT_SERVERCLASS_ST( CSun, DT_Sun ) // GSTRINGMIGRATION add base SendPropInt( SENDINFO(m_clrRender), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt ), SendPropInt( SENDINFO(m_clrOverlay), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt ), SendPropVector( SENDINFO(m_vDirection), 0, SPROP_NORMAL ), diff --git a/sp/src/game/shared/gstring/clensflare_base.cpp b/sp/src/game/shared/gstring/clensflare_base.cpp index 7631e8ccf..60f3f6386 100644 --- a/sp/src/game/shared/gstring/clensflare_base.cpp +++ b/sp/src/game/shared/gstring/clensflare_base.cpp @@ -23,8 +23,11 @@ BEGIN_DATADESC( CLensflareBase ) END_DATADESC() #endif - -IMPLEMENT_NETWORKCLASS_DT( CLensflareBase, CLensflareBase_DT ) +#ifdef GAME_DLL +IMPLEMENT_SERVERCLASS_ST_NOBASE( CLensflareBase, CLensflareBase_DT ) +#else +IMPLEMENT_CLIENTCLASS_DT_NOBASE( CLensflareBase, CLensflareBase_DT, CLensflareBase ) +#endif #ifdef GAME_DLL SendPropString( SENDINFO( m_netStr_LensFlareScript ) ),