Jelajahi Sumber

Merge pull request #113 from Azaezel/alpha40VolfogTriggerTrip

set volfog to use the standard window-resized trigger for it's update
Areloch 5 tahun lalu
induk
melakukan
25a117159f

+ 7 - 13
Engine/source/environment/VolumetricFogRTManager.cpp

@@ -109,7 +109,7 @@ VolumetricFogRTManager::~VolumetricFogRTManager()
 void VolumetricFogRTManager::onSceneRemove()
 {
    if (mIsInitialized)
-      mPlatformWindow->getScreenResChangeSignal().remove(this, &VolumetricFogRTManager::ResizeRT);
+      mPlatformWindow->resizeEvent.remove(this, &VolumetricFogRTManager::ResizeRT);
 }
    
 void VolumetricFogRTManager::onRemove()
@@ -148,7 +148,7 @@ bool VolumetricFogRTManager::Init()
    }
    
    mPlatformWindow = cv->getPlatformWindow();
-   mPlatformWindow->getScreenResChangeSignal().notify(this,&VolumetricFogRTManager::ResizeRT);
+   mPlatformWindow->resizeEvent.notify(this,&VolumetricFogRTManager::ResizeRT);
    
    if (mTargetScale < 1 || GFX->getAdapterType() == Direct3D11)
       mTargetScale = 1;
@@ -205,22 +205,17 @@ U32 VolumetricFogRTManager::DecFogObjects()
    return mNumFogObjects;
 }
    
-void VolumetricFogRTManager::ResizeRT(PlatformWindow* win,bool resize)
+void VolumetricFogRTManager::ResizeRT( WindowId did, S32 width, S32 height )
 {
-   mFogHasAnswered = 0;
    smVolumetricFogRTMResizeSignal.trigger(this, true);
 }
    
 void VolumetricFogRTManager::FogAnswered()
 {
-   mFogHasAnswered++;
-   if (mFogHasAnswered == mNumFogObjects)
-   {
-      if (Resize())
-         smVolumetricFogRTMResizeSignal.trigger(this, false);
-      else
-         Con::errorf("VolumetricFogRTManager::FogAnswered - Error resizing rendertargets!");
-   }
+   if (Resize())
+      smVolumetricFogRTMResizeSignal.trigger(this, false);
+   else
+      Con::errorf("VolumetricFogRTManager::FogAnswered - Error resizing rendertargets!");
 }
    
 bool VolumetricFogRTManager::Resize()
@@ -279,7 +274,6 @@ S32 VolumetricFogRTManager::setQuality(U32 Quality)
    
    mTargetScale = Quality;
    
-   mFogHasAnswered = 0;
    smVolumetricFogRTMResizeSignal.trigger(this, true);
    
    return mTargetScale;

+ 1 - 2
Engine/source/environment/VolumetricFogRTManager.h

@@ -59,13 +59,12 @@ class VolumetricFogRTManager : public SceneObject
       static S32 mTargetScale;
       bool mIsInitialized;
       U32 mNumFogObjects;
-      U32 mFogHasAnswered;
       U32 mWidth;
       U32 mHeight;
    
       void onRemove();
       void onSceneRemove();
-      void ResizeRT(PlatformWindow *win, bool resize);
+      void ResizeRT(WindowId did, S32 width, S32 height);
    
       static VolumetricFogRTMResizeSignal smVolumetricFogRTMResizeSignal;
 

+ 2 - 2
Engine/source/windowManager/win32/win32Window.cpp

@@ -277,7 +277,7 @@ void Win32Window::setVideoMode( const GFXVideoMode &mode )
       mOwningManager->raiseCurtain();
 
    SetForegroundWindow( getHWND() );
-   getScreenResChangeSignal().trigger( this, true );
+   resizeEvent.trigger( this, true );
 }
 
 bool Win32Window::clearFullscreen()
@@ -806,7 +806,7 @@ LRESULT PASCAL Win32Window::WindowProc( HWND hWnd, UINT message, WPARAM wParam,
 				window->getGFXTarget()->resetMode();
 			}
 
-         window->getScreenResChangeSignal().trigger(window, true);
+         window->resizeEvent.trigger(window, true);
 		}
 		return 0;