diff --git a/JGE/include/JGE.h b/JGE/include/JGE.h index a34956cb7..af44a36b4 100644 --- a/JGE/include/JGE.h +++ b/JGE/include/JGE.h @@ -84,7 +84,6 @@ class JGE JApp *mApp; #if defined (WIN32) || defined (LINUX) - float mDeltaTime; JMusic *mCurrentMusic; #else public: @@ -93,7 +92,7 @@ class JGE #endif bool mDone; - float mDelta; + float mDeltaTime; bool mDebug; bool mPaused; char mDebuggingMsg[256]; @@ -155,6 +154,9 @@ class JGE ////////////////////////////////////////////////////////////////////////// float GetDelta(); + // override the current delta time. + void SetDelta(float delta); + ////////////////////////////////////////////////////////////////////////// /// Return frame rate. /// @@ -320,10 +322,6 @@ class JGE void Assert(const char *filename, long lineNumber); -#if defined (WIN32) || defined (LINUX) - void SetDelta(float delta); -#endif - protected: JGE(); ~JGE(); diff --git a/JGE/src/JGE.cpp b/JGE/src/JGE.cpp index 2e22562e0..a935806e3 100644 --- a/JGE/src/JGE.cpp +++ b/JGE/src/JGE.cpp @@ -322,26 +322,9 @@ void JGE::Init() LeftClickedProcessed(); } -void JGE::SetDelta(float delta) -{ - mDeltaTime = delta; -} - -float JGE::GetDelta() -{ - return mDeltaTime; -} - -float JGE::GetFPS() -{ - return 0.0f; -} - - ////////////////////////////////////////////////////////////////////////// #else ///// PSP specific code - void JGE::Init() { #ifdef DEBUG_PRINT @@ -367,17 +350,6 @@ void JGE::Init() mCriticalAssert = false; } -float JGE::GetDelta() -{ - return mDelta; -} - - -float JGE::GetFPS() -{ - return 1.0f / mDelta; -} - u8 JGE::GetAnalogX() { return JGEGetAnalogX(); @@ -423,7 +395,7 @@ void JGE::Run() { sceRtcGetCurrentTick(&curr); float dt = (curr - lastTime) / (float)gTickFrequency; - mDelta = dt; + mDeltaTime = dt; sceCtrlPeekBufferPositive(&gCtrlPad, 1); for (signed int i = sizeof(keyCodeList)/sizeof(keyCodeList[0]) - 1; i >= 0; --i) { @@ -468,6 +440,23 @@ int JGE::GetTime() } +void JGE::SetDelta(float delta) +{ + mDeltaTime = delta; +} + + +float JGE::GetDelta() +{ + return mDeltaTime; +} + + +float JGE::GetFPS() +{ + return mDeltaTime > 0 ? 1.0f / mDeltaTime : 0; +} + JGE* JGE::GetInstance() { if (mInstance == NULL) mInstance = new JGE(); diff --git a/projects/mtg/include/WResourceManager.h b/projects/mtg/include/WResourceManager.h index 755bae6ee..a369046f0 100644 --- a/projects/mtg/include/WResourceManager.h +++ b/projects/mtg/include/WResourceManager.h @@ -188,7 +188,8 @@ public: //Wrapped from JSoundSystem. TODO: Privatize. JMusic * ssLoadMusic(const char *fileName); - void autoResize(); //Recreates the cache size. + //Resets the cache limits on when it starts to purge data. + void ResetCacheLimits(); void DebugRender(); diff --git a/projects/mtg/src/GameApp.cpp b/projects/mtg/src/GameApp.cpp index 3d30e0248..7869a6075 100644 --- a/projects/mtg/src/GameApp.cpp +++ b/projects/mtg/src/GameApp.cpp @@ -235,12 +235,12 @@ void GameApp::Destroy() { LOG("==Destroying GameApp=="); for (int i=GAME_STATE_MENU;i<=GAME_STATE_MAX-1;i++) - { - if (mGameStates[i]){ - mGameStates[i]->Destroy(); - SAFE_DELETE(mGameStates[i]); - } + { + if (mGameStates[i]){ + mGameStates[i]->Destroy(); + SAFE_DELETE(mGameStates[i]); } + } if (collection){ collection->destroyAllCards(); @@ -361,7 +361,7 @@ void GameApp::Render() sprintf(buf, "avg:%.02f - %.02f fps",totalFPS/nbUpdates, fps); if (mFont) { mFont->SetColor(ARGB(255,255,255,255)); - mFont->DrawString(buf,1,10); + mFont->DrawString(buf, 10, SCREEN_HEIGHT-15); } #endif diff --git a/projects/mtg/src/GameStateMenu.cpp b/projects/mtg/src/GameStateMenu.cpp index 106b02568..a208ed921 100644 --- a/projects/mtg/src/GameStateMenu.cpp +++ b/projects/mtg/src/GameStateMenu.cpp @@ -445,7 +445,7 @@ void GameStateMenu::Update(float dt) genNbCardsStr(); resetDirectory(); //All major things have been loaded, resize the cache to use it as efficiently as possible - resources.autoResize(); + resources.ResetCacheLimits(); } break; case MENU_STATE_MAJOR_FIRST_TIME : diff --git a/projects/mtg/src/WResourceManager.cpp b/projects/mtg/src/WResourceManager.cpp index e461a5fb9..b696ac28b 100644 --- a/projects/mtg/src/WResourceManager.cpp +++ b/projects/mtg/src/WResourceManager.cpp @@ -13,6 +13,9 @@ #endif #include "WFont.h" +//#define FORCE_LOW_CACHE_MEMORY +const unsigned int kConstrainedCacheLimit = 8 * 1024 * 1024; + extern bool neofont; int idCounter = OTHERS_OFFSET; WResourceManager resources; @@ -933,9 +936,13 @@ void WResourceManager::RemoveWFonts() { mWFontMap.clear(); } -void WResourceManager::autoResize(){ +void WResourceManager::ResetCacheLimits(){ #if defined WIN32 || defined LINUX + #ifdef FORCE_LOW_CACHE_MEMORY + textureWCache.Resize(kConstrainedCacheLimit, MAX_CACHE_OBJECTS); + #else textureWCache.Resize(HUGE_CACHE_LIMIT,MAX_CACHE_OBJECTS); + #endif #else unsigned int ram = ramAvailable(); unsigned int myNewSize = ram - OPERATIONAL_SIZE + textureWCache.totalSize;