mirror of
https://github.com/halpz/re3.git
synced 2025-06-29 17:26:21 +00:00
AnimViewer!
This commit is contained in:
@ -15,6 +15,8 @@
|
||||
|
||||
static RwBool DefaultVideoMode = TRUE;
|
||||
|
||||
bool TurnOnAnimViewer = false;
|
||||
|
||||
//RsGlobalType RsGlobal;
|
||||
RsGlobalType &RsGlobal = *(RsGlobalType*)0x8F4360;
|
||||
|
||||
@ -144,7 +146,14 @@ rsPreInitCommandLine(RwChar *arg)
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#ifndef MASTER
|
||||
if (!strcmp(arg, RWSTRING("-animviewer")))
|
||||
{
|
||||
TurnOnAnimViewer = TRUE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -79,8 +79,11 @@ enum RsEvent
|
||||
rsPADANALOGUERIGHTRESET,
|
||||
rsPREINITCOMMANDLINE,
|
||||
rsACTIVATE,
|
||||
rsANIMVIEWER,
|
||||
};
|
||||
|
||||
extern bool TurnOnAnimViewer;
|
||||
|
||||
typedef enum RsEvent RsEvent;
|
||||
|
||||
typedef RsEventStatus (*RsInputEventHandler)(RsEvent event, void *param);
|
||||
|
@ -94,6 +94,7 @@ static psGlobalType &PsGlobal = *(psGlobalType*)0x72CF60;
|
||||
#include "Game.h"
|
||||
#include "PCSave.h"
|
||||
#include "Sprite2d.h"
|
||||
#include "AnimViewer.h"
|
||||
|
||||
VALIDATE_SIZE(psGlobalType, 0x28);
|
||||
|
||||
@ -976,9 +977,9 @@ MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
RECT rect;
|
||||
|
||||
/* redraw window */
|
||||
if (RwInitialised && gGameState == GS_PLAYING_GAME)
|
||||
if (RwInitialised && (gGameState == GS_PLAYING_GAME || gGameState == GS_ANIMVIEWER))
|
||||
{
|
||||
RsEventHandler(rsIDLE, (void *)TRUE);
|
||||
RsEventHandler((gGameState == GS_PLAYING_GAME ? rsIDLE : rsANIMVIEWER), (void *)TRUE);
|
||||
}
|
||||
|
||||
/* Manually resize window */
|
||||
@ -1917,16 +1918,23 @@ _WinMain(HINSTANCE instance,
|
||||
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
|
||||
|
||||
if (!TurnOnAnimViewer) {
|
||||
#ifdef NO_MOVIES
|
||||
gGameState = GS_INIT_FRONTEND;
|
||||
TRACE("gGameState = GS_INIT_FRONTEND");
|
||||
|
||||
LoadingScreen(nil, nil, "loadsc0");
|
||||
if ( !CGame::InitialiseOnceAfterRW() )
|
||||
RsGlobal.quit = TRUE;
|
||||
#endif
|
||||
|
||||
gGameState = GS_INIT_FRONTEND;
|
||||
TRACE("gGameState = GS_INIT_FRONTEND");
|
||||
|
||||
LoadingScreen(nil, nil, "loadsc0");
|
||||
if (!CGame::InitialiseOnceAfterRW())
|
||||
RsGlobal.quit = TRUE;
|
||||
#endif
|
||||
} else {
|
||||
#ifndef MASTER
|
||||
CAnimViewer::Initialise();
|
||||
FrontEndMenuManager.m_bGameNotLoaded = false;
|
||||
gGameState = GS_ANIMVIEWER;
|
||||
TurnOnAnimViewer = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
while ( TRUE )
|
||||
{
|
||||
@ -2114,6 +2122,18 @@ _WinMain(HINSTANCE instance,
|
||||
}
|
||||
break;
|
||||
}
|
||||
#ifndef MASTER
|
||||
case GS_ANIMVIEWER:
|
||||
{
|
||||
float ms = (float)CTimer::GetCurrentTimeInCycles() / (float)CTimer::GetCyclesPerMillisecond();
|
||||
if (RwInitialised)
|
||||
{
|
||||
if (!CMenuManager::m_PrefsFrameLimiter || (1000.0f / (float)RsGlobal.maxFPS) < ms)
|
||||
RsEventHandler(rsANIMVIEWER, (void*)TRUE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2158,6 +2178,8 @@ _WinMain(HINSTANCE instance,
|
||||
{
|
||||
if ( gGameState == GS_PLAYING_GAME )
|
||||
CGame::ShutDown();
|
||||
else if ( gGameState == GS_ANIMVIEWER )
|
||||
CAnimViewer::Shutdown();
|
||||
|
||||
CTimer::Stop();
|
||||
|
||||
@ -2180,6 +2202,8 @@ _WinMain(HINSTANCE instance,
|
||||
|
||||
if ( gGameState == GS_PLAYING_GAME )
|
||||
CGame::ShutDown();
|
||||
else if ( gGameState == GS_ANIMVIEWER )
|
||||
CAnimViewer::Shutdown();
|
||||
|
||||
DMAudio.Terminate();
|
||||
|
||||
|
@ -17,6 +17,7 @@ enum eGameState
|
||||
GS_FRONTEND,
|
||||
GS_INIT_PLAYING_GAME,
|
||||
GS_PLAYING_GAME,
|
||||
GS_ANIMVIEWER,
|
||||
};
|
||||
|
||||
enum eWinVersion
|
||||
|
Reference in New Issue
Block a user