#ifndef ISLEAPP_H #define ISLEAPP_H #include "mxtypes.h" #include "mxvideoparam.h" #include <windows.h> // SIZE 0x8c class IsleApp { public: IsleApp(); ~IsleApp(); void Close(); BOOL SetupLegoOmni(); void SetupVideoFlags( BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers, BOOL using8bit, BOOL using16bit, BOOL param_6, BOOL param_7, BOOL wideViewAngle, char* deviceId ); MxResult SetupWindow(HINSTANCE hInstance, LPSTR lpCmdLine); BOOL ReadReg(LPCSTR name, LPSTR outValue, DWORD outSize); BOOL ReadRegBool(LPCSTR name, BOOL* out); BOOL ReadRegInt(LPCSTR name, int* out); void LoadConfig(); void Tick(BOOL sleepIfNotNextFrame); void SetupCursor(WPARAM wParam); HWND GetWindowHandle() { return m_windowHandle; } MxLong GetFrameDelta() { return m_frameDelta; } BOOL GetFullScreen() { return m_fullScreen; } HCURSOR GetCursorCurrent() { return m_cursorCurrent; } HCURSOR GetCursorBusy() { return m_cursorBusy; } HCURSOR GetCursorNo() { return m_cursorNo; } BOOL GetDrawCursor() { return m_drawCursor; } void SetWindowActive(BOOL p_windowActive) { m_windowActive = p_windowActive; } private: LPSTR m_hdPath; // 0x00 LPSTR m_cdPath; // 0x04 LPSTR m_deviceId; // 0x08 LPSTR m_savePath; // 0x0c BOOL m_fullScreen; // 0x10 BOOL m_flipSurfaces; // 0x14 BOOL m_backBuffersInVram; // 0x18 BOOL m_using8bit; // 0x1c BOOL m_using16bit; // 0x20 int m_unk0x24; // 0x24 BOOL m_use3dSound; // 0x28 BOOL m_useMusic; // 0x2c BOOL m_useJoystick; // 0x30 int m_joystickIndex; // 0x34 BOOL m_wideViewAngle; // 0x38 int m_islandQuality; // 0x3c int m_islandTexture; // 0x40 BOOL m_gameStarted; // 0x44 MxLong m_frameDelta; // 0x48 MxVideoParam m_videoParam; // 0x4c BOOL m_windowActive; // 0x70 HWND m_windowHandle; // 0x74 BOOL m_drawCursor; // 0x78 HCURSOR m_cursorArrow; // 0x7c HCURSOR m_cursorBusy; // 0x80 HCURSOR m_cursorNo; // 0x84 HCURSOR m_cursorCurrent; // 0x88 }; #endif // ISLEAPP_H