2019-06-02 03:00:38 +00:00
|
|
|
#if (!defined(_PLATFORM_WIN_H))
|
|
|
|
#define _PLATFORM_WIN_H
|
|
|
|
|
|
|
|
#if (!defined(RSREGSETBREAKALLOC))
|
|
|
|
#define RSREGSETBREAKALLOC(_name) /* No op */
|
|
|
|
#endif /* (!defined(RSREGSETBREAKALLOC)) */
|
|
|
|
|
2020-04-21 10:28:06 +00:00
|
|
|
#ifndef _INC_WINDOWS
|
|
|
|
#define _X86_
|
|
|
|
#include <windef.h>
|
|
|
|
#endif
|
|
|
|
|
2019-06-02 03:00:38 +00:00
|
|
|
enum eGameState
|
|
|
|
{
|
|
|
|
GS_START_UP = 0,
|
|
|
|
GS_INIT_LOGO_MPEG,
|
|
|
|
GS_LOGO_MPEG,
|
|
|
|
GS_INIT_INTRO_MPEG,
|
|
|
|
GS_INTRO_MPEG,
|
|
|
|
GS_INIT_ONCE,
|
|
|
|
GS_INIT_FRONTEND,
|
|
|
|
GS_FRONTEND,
|
|
|
|
GS_INIT_PLAYING_GAME,
|
|
|
|
GS_PLAYING_GAME,
|
2020-04-21 10:28:06 +00:00
|
|
|
#ifndef MASTER
|
2019-08-15 14:51:39 +00:00
|
|
|
GS_ANIMVIEWER,
|
2020-04-21 10:28:06 +00:00
|
|
|
#endif
|
2019-06-02 03:00:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum eWinVersion
|
|
|
|
{
|
|
|
|
OS_WIN95 = 0,
|
|
|
|
OS_WIN98,
|
2019-10-27 03:17:30 +00:00
|
|
|
OS_WINNT,
|
2019-06-02 03:00:38 +00:00
|
|
|
OS_WIN2000,
|
|
|
|
OS_WINXP,
|
|
|
|
};
|
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
extern DWORD _dwOperatingSystemVersion;
|
2019-10-27 03:17:30 +00:00
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
extern RwUInt32 gGameState;
|
2019-06-02 03:00:38 +00:00
|
|
|
|
2020-04-21 10:28:06 +00:00
|
|
|
#ifdef __DINPUT_INCLUDED__
|
2019-06-11 09:30:53 +00:00
|
|
|
/* platform specfic global data */
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
HWND window;
|
|
|
|
HINSTANCE instance;
|
|
|
|
RwBool fullScreen;
|
|
|
|
RwV2d lastMousePos;
|
|
|
|
|
|
|
|
DWORD field_14;
|
|
|
|
|
|
|
|
LPDIRECTINPUT8 dinterface;
|
|
|
|
LPDIRECTINPUTDEVICE8 mouse;
|
|
|
|
LPDIRECTINPUTDEVICE8 joy1;
|
|
|
|
LPDIRECTINPUTDEVICE8 joy2;
|
|
|
|
}
|
|
|
|
psGlobalType;
|
|
|
|
|
|
|
|
#define PSGLOBAL(var) (((psGlobalType *)(RsGlobal.ps))->var)
|
|
|
|
|
2019-10-27 03:17:30 +00:00
|
|
|
enum eJoypads
|
|
|
|
{
|
|
|
|
JOYSTICK1 = 0,
|
|
|
|
JOYSTICK2,
|
|
|
|
MAX_JOYSTICKS
|
|
|
|
};
|
|
|
|
|
|
|
|
enum eJoypadState
|
|
|
|
{
|
|
|
|
JOYPAD_UNUSED,
|
|
|
|
JOYPAD_ATTACHED,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct tJoy
|
|
|
|
{
|
|
|
|
eJoypadState m_State;
|
|
|
|
bool m_bInitialised;
|
|
|
|
bool m_bHasAxisZ;
|
|
|
|
bool m_bHasAxisR;
|
|
|
|
char _pad0;
|
|
|
|
int m_nVendorID;
|
|
|
|
int m_nProductID;
|
|
|
|
};
|
|
|
|
|
|
|
|
class CJoySticks
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
tJoy m_aJoys[MAX_JOYSTICKS];
|
|
|
|
|
|
|
|
CJoySticks();
|
|
|
|
void ClearJoyInfo(int joyID);
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CJoySticks AllValidWinJoys;
|
2020-04-21 10:28:06 +00:00
|
|
|
#endif
|
2019-10-27 03:17:30 +00:00
|
|
|
|
2019-06-02 03:00:38 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
extern LRESULT CALLBACK
|
|
|
|
MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
2019-06-11 09:30:53 +00:00
|
|
|
RwBool IsForegroundApp();
|
|
|
|
|
2020-04-21 10:28:06 +00:00
|
|
|
#ifdef __DINPUT_INCLUDED__
|
2019-06-11 09:30:53 +00:00
|
|
|
HRESULT _InputInitialise();
|
|
|
|
HRESULT _InputInitialiseMouse();
|
|
|
|
HRESULT CapturePad(RwInt32 padID);
|
|
|
|
void _InputInitialiseJoys();
|
2019-07-03 11:13:55 +00:00
|
|
|
void _InputAddJoyStick(LPDIRECTINPUTDEVICE8 lpDevice, INT num);
|
2019-06-11 09:30:53 +00:00
|
|
|
HRESULT _InputAddJoys();
|
|
|
|
HRESULT _InputGetMouseState(DIMOUSESTATE2 *state);
|
|
|
|
void _InputShutdown();
|
|
|
|
BOOL CALLBACK _InputEnumDevicesCallback( const DIDEVICEINSTANCE* pdidInstance, VOID* pContext );
|
|
|
|
BOOL _InputTranslateKey(RsKeyCodes *rs, UINT flag, UINT key);
|
|
|
|
void _InputTranslateShiftKeyUpDown(RsKeyCodes *rs);;
|
2019-07-03 11:13:55 +00:00
|
|
|
BOOL _InputTranslateShiftKey(RsKeyCodes *rs, UINT key, BOOLEAN bDown);
|
2019-06-11 09:30:53 +00:00
|
|
|
BOOL _InputIsExtended(INT flag);
|
2020-04-21 10:28:06 +00:00
|
|
|
#endif
|
2019-06-11 09:30:53 +00:00
|
|
|
|
|
|
|
void InitialiseLanguage();
|
|
|
|
RwBool _psSetVideoMode(RwInt32 subSystem, RwInt32 videoMode);
|
|
|
|
void CenterVideo(void);
|
|
|
|
void CloseClip(void);
|
|
|
|
|
2019-06-25 00:34:29 +00:00
|
|
|
RwChar **_psGetVideoModeList();
|
2019-07-03 15:26:15 +00:00
|
|
|
RwInt32 _psGetNumVideModes();
|
|
|
|
|
|
|
|
void _psSelectScreenVM(RwInt32 videoMode);
|
|
|
|
void HandleExit();
|
2019-06-25 00:34:29 +00:00
|
|
|
|
2019-06-02 03:00:38 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
extern DWORD _dwOperatingSystemVersion;
|
2019-06-02 03:00:38 +00:00
|
|
|
#endif /* (!defined(_PLATFORM_WIN_H)) */
|