Merge branch 'isledecomp:master' into mxpalette-header

This commit is contained in:
Joshua Peisach 2023-06-11 15:47:35 -04:00 committed by GitHub
commit 95a8df1311
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 109 additions and 12 deletions

62
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,62 @@
name: Build
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
with:
repository: 'itsmattkc/msvc420'
path: msvc420
- name: Restore cached DX5 SDK
id: cache-dx5
uses: actions/cache/restore@v3
with:
path: dx5sdk
key: dx5sdk
- name: Download DX5 SDK
if: steps.cache-dx5.outputs.cache-hit != 'true'
run: |
cd dx5sdk
C:\msys64\usr\bin\wget.exe https://archive.org/download/idx5sdk/idx5sdk.exe
7z x .\idx5sdk.exe
7z x .\DX5SDK.EXE
cd cdrom
- name: Cache DX5 SDK
if: steps.cache-dx5.outputs.cache-hit != 'true'
id: save-dx5
uses: actions/cache/save@v3
with:
path: dx5sdk
key: dx5sdk
- name: Setup DX5 SDK
run: |
cd dx5sdk
cd cdrom
.\SETUP.EXE /s
- name: Build
shell: cmd
run: |
call .\msvc420\bin\VCVARS32.BAT x86
mkdir Release
.\msvc420\bin\NMAKE.EXE /f isle.mak CFG="ISLE - Win32 Release"
- name: Upload Artifact
uses: actions/upload-artifact@master
with:
name: Win32
path: Release

View File

@ -3,8 +3,7 @@
Isle *g_isle = 0;
int g_closed = 0;
const char *WNDCLASS_NAME = "Lego Island MainNoM App";
const char *WINDOW_TITLE = "LEGO®";
const char *WINDOW_TITLE = "LEGO®";
unsigned char g_mousedown = 0;
unsigned char g_mousemoved = 0;

View File

@ -5,7 +5,7 @@ class Isle;
extern Isle *g_isle;
extern int g_closed;
extern const char *WNDCLASS_NAME;
#define WNDCLASS_NAME "Lego Island MainNoM App"
extern const char *WINDOW_TITLE;
extern unsigned char g_mousedown;
extern unsigned char g_mousemoved;

View File

@ -119,15 +119,17 @@ BOOL readReg(LPCSTR name, LPSTR outValue, DWORD outSize)
HKEY hKey;
DWORD valueType;
BOOL out = FALSE;
unsigned long size = outSize;
if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mindscape\\LEGO Island", 0, KEY_READ, &hKey) == ERROR_SUCCESS) {
if (RegQueryValueExA(hKey, name, NULL, &valueType, (LPBYTE) outValue, &outSize) == ERROR_SUCCESS) {
if (RegQueryValueExA(hKey, name, NULL, &valueType, (LPBYTE) outValue, &size) == ERROR_SUCCESS) {
if (RegCloseKey(hKey) == ERROR_SUCCESS) {
return TRUE;
out = TRUE;
}
}
}
return FALSE;
return out;
}
int readRegBool(LPCSTR name, BOOL *out)
@ -234,8 +236,8 @@ void Isle::setupVideoFlags(BOOL fullScreen, BOOL flipSurfaces, BOOL backBuffers,
m_videoParam.flags().EnableBackBuffers(backBuffers);
m_videoParam.flags().EnableUnknown1(param_6);
m_videoParam.flags().SetUnknown3(param_7);
m_videoParam.flags().EnableUnknown2();
m_videoParam.flags().EnableWideViewAngle(wideViewAngle);
m_videoParam.flags().EnableUnknown2();
m_videoParam.SetDeviceName(deviceId);
if (using8bit) {
m_videoParam.flags().Set8Bit();
@ -324,18 +326,18 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_ENTERMENULOOP:
return DefWindowProcA(hWnd,WM_ENTERMENULOOP,wParam,lParam);
case WM_SYSCOMMAND:
if (wParam == 0xf140) {
if (wParam == SC_SCREENSAVE) {
return 0;
}
if (wParam == 0xf060 && g_closed == 0) {
if (wParam == SC_CLOSE && g_closed == 0) {
if (g_isle) {
if (g_rmDisabled) {
ShowWindow(g_isle->m_windowHandle, SW_RESTORE);
}
PostMessageA(g_isle->m_windowHandle, 0x10, 0, 0);
PostMessageA(g_isle->m_windowHandle, WM_CLOSE, 0, 0);
return 0;
}
} else if (g_isle && g_isle->m_fullScreen && (wParam == 0xf010 || wParam == 0xf100)) {
} else if (g_isle && g_isle->m_fullScreen && (wParam == SC_MOVE || wParam == SC_KEYMENU)) {
return 0;
}
return DefWindowProcA(hWnd,WM_SYSCOMMAND,wParam,lParam);

View File

@ -19,7 +19,7 @@ BOOL findExistingInstance(void)
BOOL startDirectSound(void)
{
LPDIRECTSOUND lpDS;
LPDIRECTSOUND lpDS = 0;
HRESULT ret = DirectSoundCreate(NULL, &lpDS, NULL);
if (ret == DS_OK && lpDS != NULL) {
lpDS->Release();

34
dx5sdk/cdrom/setup.iss Normal file
View File

@ -0,0 +1,34 @@
[InstallShield Silent]
Version=v5.00.000
File=Response File
[DlgOrder]
Dlg0=SdWelcome-0
Count=7
Dlg1=SdLicense-0
Dlg2=SdSetupTypeEx-0
Dlg3=SdAskDestPath-0
Dlg4=SdSelectFolder-0
Dlg5=SdStartCopy-0
Dlg6=SdFinish-0
[SdWelcome-0]
Result=1
[SdLicense-0]
Result=1
[SdSetupTypeEx-0]
Result=Compact
[SdAskDestPath-0]
szDir=C:\dxsdk
Result=1
[SdSelectFolder-0]
szFolder=Microsoft DirectX 5 SDK
Result=1
[SdStartCopy-0]
Result=1
[Application]
Name=the Microsoft DirectX 5 SDK
Version=5
Company=Microsoft
[SdFinish-0]
Result=1
bOpt1=0
bOpt2=0