added all exe resources

This commit is contained in:
itsmattkc 2023-04-27 20:34:11 -07:00
parent 2520cf832d
commit 0270483b48
11 changed files with 84 additions and 55 deletions

View file

@ -5,6 +5,7 @@
#include "../lib/mxdirectdraw.h"
#include "../lib/mxdsaction.h"
#include "../lib/mxomni.h"
#include "res/resource.h"
RECT windowRect = {0, 0, 640, 480};
@ -42,10 +43,10 @@ Isle::Isle()
m_videoParam.flags().Enable16Bit(MxDirectDraw::GetPrimaryBitDepth() == 16);
m_windowHandle = NULL;
m_cursor1 = NULL;
m_cursor2 = NULL;
m_cursor3 = NULL;
m_cursor4 = NULL;
m_cursorArrow = NULL;
m_cursorBusy = NULL;
m_cursorNo = NULL;
m_cursorCurrent = NULL;
LegoOmni::CreateInstance();
}
@ -242,10 +243,10 @@ void Isle::setupVideoFlags(BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers,
}
}
BOOL Isle::setupMediaPath()
BOOL Isle::setupLegoOmni()
{
char mediaPath[256];
GetProfileStringA("LEGO Island", "MediaPath", "", mediaPath, 0x100);
GetProfileStringA("LEGO Island", "MediaPath", "", mediaPath, 256);
MxOmniCreateParam createParam(mediaPath, (struct HWND__ *) m_windowHandle, m_videoParam, MxOmniCreateFlags());
@ -258,6 +259,26 @@ BOOL Isle::setupMediaPath()
return FALSE;
}
void Isle::setupCursor(WPARAM wParam)
{
switch (wParam) {
case 0:
m_cursorCurrent = m_cursorArrow;
break;
case 1:
m_cursorCurrent = m_cursorBusy;
break;
case 2:
m_cursorCurrent = m_cursorNo;
break;
case 0xB:
m_cursorCurrent = NULL;
break;
}
SetCursor(m_cursorCurrent);
}
LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (!g_isle) {
@ -364,6 +385,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_TIMER:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
case 0x5400:
{
NotificationId type = NONE;
@ -386,8 +408,8 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
break;
case WM_SETCURSOR:
if (g_isle) {
HCURSOR hCursor = g_isle->m_cursor4;
if (g_isle->m_cursor2 == hCursor || g_isle->m_cursor3 == hCursor || hCursor == NULL) {
HCURSOR hCursor = g_isle->m_cursorCurrent;
if (hCursor == g_isle->m_cursorBusy || hCursor == g_isle->m_cursorNo || !hCursor) {
SetCursor(hCursor);
return 0;
}
@ -403,8 +425,7 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
break;
case 0x5400:
if (g_isle) {
// FIXME: Untangle
//FUN_00402e80(g_isle,wParam);
g_isle->setupCursor(wParam);
return 0;
}
}
@ -453,12 +474,12 @@ MxResult Isle::setupWindow(HINSTANCE hInstance)
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbWndExtra = 0;
wndclass.hIcon = LoadIconA(hInstance, MAKEINTRESOURCE(105));
wndclass.hCursor = LoadCursorA(hInstance, MAKEINTRESOURCE(102));
m_cursor4 = wndclass.hCursor;
m_cursor1 = wndclass.hCursor;
m_cursor2 = LoadCursorA(hInstance, MAKEINTRESOURCE(104));
m_cursor3 = LoadCursorA(hInstance, MAKEINTRESOURCE(103));
wndclass.hIcon = LoadIconA(hInstance, MAKEINTRESOURCE(APP_ICON));
wndclass.hCursor = LoadCursorA(hInstance, MAKEINTRESOURCE(ISLE_ARROW));
m_cursorCurrent = wndclass.hCursor;
m_cursorArrow = wndclass.hCursor;
m_cursorBusy = LoadCursorA(hInstance, MAKEINTRESOURCE(ISLE_BUSY));
m_cursorNo = LoadCursorA(hInstance, MAKEINTRESOURCE(ISLE_NO));
wndclass.hInstance = hInstance;
wndclass.hbrBackground = GetStockObject(BLACK_BRUSH);
wndclass.lpszClassName = WNDCLASS_NAME;
@ -500,7 +521,7 @@ MxResult Isle::setupWindow(HINSTANCE hInstance)
ShowWindow(m_windowHandle, SW_SHOWNORMAL);
UpdateWindow(m_windowHandle);
if (!setupMediaPath()) {
if (!setupLegoOmni()) {
return FAILURE;
}

View file

@ -18,12 +18,14 @@ class Isle
void tick(BOOL sleepIfNotNextFrame);
BOOL setupMediaPath();
BOOL setupLegoOmni();
void loadConfig();
void setupVideoFlags(BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers,
BOOL using8bit, BOOL m_using16bit, BOOL param_6, BOOL param_7,
BOOL wideViewAngle, char *deviceId);
void setupCursor(WPARAM wParam);
//private:
// 0
@ -62,12 +64,12 @@ class Isle
BOOL m_windowActive;
HWND m_windowHandle;
BOOL m_drawCursor;
HCURSOR m_cursor1;
HCURSOR m_cursorArrow;
// 80
HCURSOR m_cursor2;
HCURSOR m_cursor3;
HCURSOR m_cursor4;
HCURSOR m_cursorBusy;
HCURSOR m_cursorNo;
HCURSOR m_cursorCurrent;
};

View file

@ -7,6 +7,9 @@
BOOL findExistingInstance(void)
{
// FIXME: temp
return 1;
HWND hWnd = FindWindowA(WNDCLASS_NAME, WINDOW_TITLE);
if (hWnd) {
if (SetForegroundWindow(hWnd)) {

BIN
app/res/arrow.cur Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

BIN
app/res/busy.cur Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

BIN
app/res/isle.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
app/res/isle.rc Normal file

Binary file not shown.

BIN
app/res/no.cur Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

5
app/res/resource.h Normal file
View file

@ -0,0 +1,5 @@
#define ISLE_ARROW 102
#define ISLE_NO 103
#define ISLE_BUSY 104
#define APP_ICON 105

View file

@ -32,8 +32,8 @@ NULL=nul
# Begin Project
# PROP Target_Last_Scanned "isle - Win32 Debug"
CPP=cl.exe
MTL=mktyplib.exe
RSC=rc.exe
MTL=mktyplib.exe
!IF "$(CFG)" == "isle - Win32 Release"
@ -55,6 +55,7 @@ ALL : "$(OUTDIR)\isle.exe"
CLEAN :
-@erase "$(INTDIR)\define.obj"
-@erase "$(INTDIR)\isle.obj"
-@erase "$(INTDIR)\isle.res"
-@erase "$(INTDIR)\main.obj"
-@erase "$(OUTDIR)\isle.exe"
@ -72,6 +73,7 @@ CPP_SBRS=.\.
MTL_PROJ=/nologo /D "NDEBUG" /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)/isle.res" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@ -89,6 +91,7 @@ LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
LINK32_OBJS= \
"$(INTDIR)\define.obj" \
"$(INTDIR)\isle.obj" \
"$(INTDIR)\isle.res" \
"$(INTDIR)\main.obj"
"$(OUTDIR)\isle.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@ -116,6 +119,7 @@ ALL : "$(OUTDIR)\isle.exe"
CLEAN :
-@erase "$(INTDIR)\define.obj"
-@erase "$(INTDIR)\isle.obj"
-@erase "$(INTDIR)\isle.res"
-@erase "$(INTDIR)\main.obj"
-@erase "$(INTDIR)\vc40.idb"
-@erase "$(INTDIR)\vc40.pdb"
@ -137,6 +141,7 @@ CPP_SBRS=.\.
MTL_PROJ=/nologo /D "_DEBUG" /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)/isle.res" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
@ -154,6 +159,7 @@ LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
LINK32_OBJS= \
"$(INTDIR)\define.obj" \
"$(INTDIR)\isle.obj" \
"$(INTDIR)\isle.res" \
"$(INTDIR)\main.obj"
"$(OUTDIR)\isle.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
@ -213,6 +219,7 @@ SOURCE=.\app\isle.cpp
DEP_CPP_ISLE_=\
".\app\define.h"\
".\app\isle.h"\
".\app\res\resource.h"\
".\lib\define.h"\
".\lib\legoanimationmanager.h"\
".\lib\legobuildingmanager.h"\
@ -253,42 +260,33 @@ DEP_CPP_ISLE_=\
# Begin Source File
SOURCE=.\app\main.cpp
DEP_CPP_MAIN_=\
".\app\define.h"\
".\app\isle.h"\
".\lib\define.h"\
".\lib\legoanimationmanager.h"\
".\lib\legobuildingmanager.h"\
".\lib\legogamestate.h"\
".\lib\legoinputmanager.h"\
".\lib\legomodelpresenter.h"\
".\lib\legoomni.h"\
".\lib\legopartpresenter.h"\
".\lib\legoroi.h"\
".\lib\legovideomanager.h"\
".\lib\legoworldpresenter.h"\
".\lib\mxatomid.h"\
".\lib\mxbackgroundaudiomanager.h"\
".\lib\mxdsaction.h"\
".\lib\mxomnicreateflags.h"\
".\lib\mxomnicreateparam.h"\
".\lib\mxpalette.h"\
".\lib\mxrect32.h"\
".\lib\mxstreamcontroller.h"\
".\lib\mxstreamer.h"\
".\lib\mxstring.h"\
".\lib\mxticklemanager.h"\
".\lib\mxtimer.h"\
".\lib\mxtransitionmanager.h"\
".\lib\mxvariabletable.h"\
".\lib\mxvideoparam.h"\
".\lib\mxvideoparamflags.h"\
"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)"
"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)"
$(CPP) $(CPP_PROJ) $(SOURCE)
# End Source File
################################################################################
# Begin Source File
SOURCE=.\app\res\isle.rc
!IF "$(CFG)" == "isle - Win32 Release"
"$(INTDIR)\isle.res" : $(SOURCE) "$(INTDIR)"
$(RSC) /l 0x409 /fo"$(INTDIR)/isle.res" /i "app\res" /d "NDEBUG" $(SOURCE)
!ELSEIF "$(CFG)" == "isle - Win32 Debug"
"$(INTDIR)\isle.res" : $(SOURCE) "$(INTDIR)"
$(RSC) /l 0x409 /fo"$(INTDIR)/isle.res" /i "app\res" /d "_DEBUG" $(SOURCE)
!ENDIF
# End Source File
# End Target
# End Project

BIN
isle.mdp

Binary file not shown.