diff --git a/SpaceCadetPinball/SpaceCadetPinball.vcxproj b/SpaceCadetPinball/SpaceCadetPinball.vcxproj
index ebdf4b1..b48f2d0 100644
--- a/SpaceCadetPinball/SpaceCadetPinball.vcxproj
+++ b/SpaceCadetPinball/SpaceCadetPinball.vcxproj
@@ -43,14 +43,14 @@
Application
true
v141
- Unicode
+ NotSet
Application
false
v141
true
- Unicode
+ NotSet
@@ -114,6 +114,7 @@
Console
true
+ Comctl32.lib;Winmm.lib;Htmlhelp.lib;%(AdditionalDependencies)
@@ -153,6 +154,7 @@
true
true
true
+ Comctl32.lib;Winmm.lib;Htmlhelp.lib;%(AdditionalDependencies)
diff --git a/SpaceCadetPinball/TLight.h b/SpaceCadetPinball/TLight.h
index a2010a7..d48d089 100644
--- a/SpaceCadetPinball/TLight.h
+++ b/SpaceCadetPinball/TLight.h
@@ -3,7 +3,7 @@
struct gdrv_bitmap8;
-struct __declspec(align(4)) flasher_type
+struct flasher_type
{
render_sprite_type_struct* Sprite;
gdrv_bitmap8* BmpArr[2];
@@ -15,7 +15,7 @@ struct __declspec(align(4)) flasher_type
};
-struct __declspec(align(4)) TLight_player_backup
+struct TLight_player_backup
{
int MessageField;
int BmpIndex1;
diff --git a/SpaceCadetPinball/WaveMix.cpp b/SpaceCadetPinball/WaveMix.cpp
index 552ce71..967584d 100644
--- a/SpaceCadetPinball/WaveMix.cpp
+++ b/SpaceCadetPinball/WaveMix.cpp
@@ -33,13 +33,13 @@ HANDLE WaveMix::ConfigureInit(MIXCONFIG* lpConfig)
{
MIXCONFIG mixConfig{};
- memset(&mixConfig, 0, 0x1Cu);
- unsigned int copySize = 30;
+ memset(&mixConfig, 0, sizeof(MIXCONFIG));
+ unsigned int copySize = sizeof(MIXCONFIG);
mixConfig.RegistryKey = nullptr;
- mixConfig.wSize = 30;
+ mixConfig.wSize = sizeof(MIXCONFIG);
if (lpConfig)
{
- if (lpConfig->wSize < 30u)
+ if (lpConfig->wSize < sizeof(MIXCONFIG))
copySize = lpConfig->wSize;
memcpy(&mixConfig, lpConfig, copySize);
}
@@ -63,7 +63,7 @@ HANDLE WaveMix::ConfigureInit(MIXCONFIG* lpConfig)
if (GetPrivateProfileIntA("general", "ShowDevices", 0, FileName))
ShowWaveOutDevices();
- auto globals = static_cast(LocalAlloc(0x40u, 0x1C0u));
+ auto globals = static_cast(LocalAlloc(0x40u, sizeof(GLOBALS)));
Globals = globals;
if (!globals)
return nullptr;
@@ -262,7 +262,7 @@ MIXWAVE* WaveMix::OpenWave(HANDLE hMixSession, LPCSTR szWaveFilename, HINSTANCE
return nullptr;
}
- auto mixWave = static_cast(GlobalLock(GlobalAlloc(0x2040u, 0x42u)));
+ auto mixWave = static_cast(GlobalLock(GlobalAlloc(0x2040u, sizeof(MIXWAVE))));
if (!mixWave)
{
if (ShowDebugDialogs)
@@ -1180,7 +1180,7 @@ int WaveMix::Configure(GLOBALS* hMixSession, HWND hWndParent, MIXCONFIG* lpConfi
if (!mixConfig)
{
- mixConfigLocal.wSize = 30;
+ mixConfigLocal.wSize = sizeof(MIXCONFIG);
mixConfigLocal.dwFlags = 1023;
GetConfig(static_cast(hMixSession), &mixConfigLocal);
auto dialog = MakeSettingsDlgTemplate();
@@ -1821,7 +1821,7 @@ int WaveMix::Settings_OnInitDialog(HWND hWnd, int wParam, MIXCONFIG* lpMixconfig
GetWindowTextA(hWnd, String, 256);
wsprintfA(string_buffer, String, 2, 81);
SetWindowTextA(hWnd, string_buffer);
- SetWindowLongA(hWnd, -21, (LONG)lpMixconfig);
+ SetWindowLongPtr(hWnd, -21, reinterpret_cast(lpMixconfig));
SendMessageA(GetDlgItem(hWnd, 1000), 0xF1u, lpMixconfig->wChannels > 1u, 0);
SendMessageA(GetDlgItem(hWnd, 1001), 0xF1u, lpMixconfig->ResetMixDefaultFlag != 0, 0);
SendMessageA(GetDlgItem(hWnd, 1004), 0xF1u, lpMixconfig->GoodWavePos != 0, 0);
@@ -1880,7 +1880,7 @@ int WaveMix::Settings_OnInitDialog(HWND hWnd, int wParam, MIXCONFIG* lpMixconfig
int WaveMix::Settings_OnCommand(HWND hWnd, int command, int lParam, int wParam)
{
- auto userData = (MIXCONFIG*)GetWindowLongA(hWnd, -21);
+ auto userData = reinterpret_cast(GetWindowLongPtrA(hWnd, -21));
if (command == 1)
{
if (userData)
diff --git a/SpaceCadetPinball/fullscrn.cpp b/SpaceCadetPinball/fullscrn.cpp
index 7a858ce..d090d1e 100644
--- a/SpaceCadetPinball/fullscrn.cpp
+++ b/SpaceCadetPinball/fullscrn.cpp
@@ -109,7 +109,7 @@ int fullscrn::enableFullscreen()
if (trick)
{
GetWindowRect(GetDesktopWindow(), &Rect);
- SetWindowPos(hWnd, (HWND)((int)HWND_MESSAGE | 0x2), 0, 0, Rect.right - Rect.left + 1,
+ SetWindowPos(hWnd, (HWND)-1, 0, 0, Rect.right - Rect.left + 1,
Rect.bottom - Rect.top + 1, 8u);
}
SmthFullScrnFlag2 = 1;
@@ -126,7 +126,7 @@ int fullscrn::enableFullscreen()
}
GetWindowRect(GetDesktopWindow(), &Rect);
disableWindowFlagsDisDlg();
- SetWindowPos(hWnd, (HWND)0xFFFFFFFE, 0, 0, Rect.right - Rect.left + 1, Rect.bottom - Rect.top + 1, 8u);
+ SetWindowPos(hWnd, (HWND)-1, 0, 0, Rect.right - Rect.left + 1, Rect.bottom - Rect.top + 1, 8u);
return 0;
}
@@ -138,7 +138,7 @@ int fullscrn::disableFullscreen()
SmthFullScrnFlag2 = 1;
ChangeDisplaySettingsA(nullptr, 4u);
if (trick)
- SetWindowPos(hWnd, (HWND)0xFFFFFFFE, 0, 0, 0, 0, 0x13u);
+ SetWindowPos(hWnd, (HWND)-1, 0, 0, 0, 0, 0x13u);
}
setWindowFlagsDisDlg();
SetWindowPos(
diff --git a/SpaceCadetPinball/gdrv.h b/SpaceCadetPinball/gdrv.h
index d1cd47f..edb4789 100644
--- a/SpaceCadetPinball/gdrv.h
+++ b/SpaceCadetPinball/gdrv.h
@@ -4,12 +4,10 @@ enum class BitmapType : char
{
None = 0,
RawBitmap = 1,
- DibBitmap=2,
+ DibBitmap = 2,
};
-
-#pragma pack(push, 1)
-struct __declspec(align(1)) gdrv_bitmap8
+struct gdrv_bitmap8
{
BITMAPINFO* Dib;
char* BmpBufPtr2;
@@ -22,8 +20,6 @@ struct __declspec(align(1)) gdrv_bitmap8
int XPosition;
int YPosition;
};
-#pragma pack(pop)
-
struct LOGPALETTEx256
{
@@ -36,7 +32,6 @@ struct LOGPALETTEx256
}
};
-static_assert(sizeof(gdrv_bitmap8) == 37, "Wrong size of gdrv_bitmap8");
class gdrv
{
diff --git a/SpaceCadetPinball/loader.h b/SpaceCadetPinball/loader.h
index 3c16893..294eb49 100644
--- a/SpaceCadetPinball/loader.h
+++ b/SpaceCadetPinball/loader.h
@@ -22,18 +22,18 @@ struct soundListStruct
char* PtrToSmth;
};
-struct __declspec(align(4)) visualKickerStruct
+struct visualKickerStruct
{
float Threshold;
float Boost;
float ThrowBallMult;
- vector_type ThrowBallAcceleration;
+ vector_type ThrowBallAcceleration;
float ThrowBallAngleMult;
int HardHitSoundId;
};
-struct __declspec(align(4)) visualStruct
+struct visualStruct
{
float Smoothness;
float Elasticity;
@@ -69,7 +69,7 @@ public:
static float play_sound(int soundIndex);
static datFileStruct* loader_table;
private:
- static errorMsg loader_errors[];
+ static errorMsg loader_errors[];
static datFileStruct* sound_record_table;
static int sound_count;
static int loader_sound_count;
diff --git a/SpaceCadetPinball/maths.h b/SpaceCadetPinball/maths.h
index fa9f81f..a975463 100644
--- a/SpaceCadetPinball/maths.h
+++ b/SpaceCadetPinball/maths.h
@@ -10,7 +10,7 @@ struct vector_type
};
-struct __declspec(align(4)) rectangle_type
+struct rectangle_type
{
int XPosition;
int YPosition;
@@ -24,7 +24,7 @@ struct circle_type
float RadiusSq;
};
-struct __declspec(align(4)) ray_type
+struct ray_type
{
vector_type Origin;
vector_type Direction;
@@ -35,7 +35,7 @@ struct __declspec(align(4)) ray_type
int FieldFlag;
};
-struct __declspec(align(4)) line_type
+struct line_type
{
vector_type PerpendicularL;
vector_type Direction;
@@ -59,7 +59,7 @@ struct wall_point_type
float Y1;
};
-struct __declspec(align(4)) ramp_plane_type
+struct ramp_plane_type
{
vector_type BallCollisionOffset;
vector_type2 V1;
@@ -84,7 +84,8 @@ public:
static void cross(vector_type* vec1, vector_type* vec2, vector_type* dstVec);
static float magnitude(vector_type* vec);
static void vector_add(vector_type* vec1Dst, vector_type* vec2);
- static float basic_collision(TBall* ball, vector_type* nextPosition, vector_type* direction, float elasticity, float smoothness,
+ static float basic_collision(TBall* ball, vector_type* nextPosition, vector_type* direction, float elasticity,
+ float smoothness,
float threshold, float boost);
static float Distance_Squared(vector_type vec1, vector_type vec2);
static float DotProduct(vector_type* vec1, vector_type* vec2);
diff --git a/SpaceCadetPinball/objlist_class.h b/SpaceCadetPinball/objlist_class.h
index 53b07d2..dd2687c 100644
--- a/SpaceCadetPinball/objlist_class.h
+++ b/SpaceCadetPinball/objlist_class.h
@@ -6,7 +6,6 @@ struct objlist_struct1
int Count;
void* Array[1];
};
-static_assert(sizeof(objlist_struct1) == 12, "Wrong size of objlist_struct1");
class objlist_class
{
diff --git a/SpaceCadetPinball/options.h b/SpaceCadetPinball/options.h
index b210c38..76a12f5 100644
--- a/SpaceCadetPinball/options.h
+++ b/SpaceCadetPinball/options.h
@@ -1,7 +1,7 @@
#pragma once
#include "pinball.h"
-struct __declspec(align(4)) optionsStruct
+struct optionsStruct
{
int Sounds;
int Music;
diff --git a/SpaceCadetPinball/partman.cpp b/SpaceCadetPinball/partman.cpp
index 884a22d..ec4f567 100644
--- a/SpaceCadetPinball/partman.cpp
+++ b/SpaceCadetPinball/partman.cpp
@@ -2,8 +2,9 @@
#include "partman.h"
#include "gdrv.h"
#include "memory.h"
+#include "zdrv.h"
-short partman::_field_size[] =
+short partman::_field_size[] =
{
2, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0
};
@@ -14,6 +15,7 @@ datFileStruct* partman::load_records(LPCSTR lpFileName)
_OFSTRUCT ReOpenBuff{};
datFileHeader header{};
dat8BitBmpHeader bmpHeader{};
+ dat16BitBmpHeader zMapHeader{};
const HFILE fileHandle = OpenFile(lpFileName, &ReOpenBuff, 0);
if (fileHandle == -1)
@@ -90,11 +92,11 @@ datFileStruct* partman::load_records(LPCSTR lpFileName)
{
auto entryType = static_cast(_lread_char(fileHandle));
entryData->EntryType = entryType;
+
int fieldSize = _field_size[static_cast(entryType)];
if (fieldSize < 0)
- {
fieldSize = _lread_long(fileHandle);
- }
+
if (entryType == datFieldTypes::Bitmap8bit)
{
_hread(fileHandle, &bmpHeader, sizeof(dat8BitBmpHeader));
@@ -117,6 +119,18 @@ datFileStruct* partman::load_records(LPCSTR lpFileName)
bmp->XPosition = bmpHeader.XPosition;
bmp->YPosition = bmpHeader.YPosition;
}
+ else if (entryType == datFieldTypes::Bitmap16bit)
+ {
+ _hread(fileHandle, &zMapHeader, sizeof(dat16BitBmpHeader));
+ int length = fieldSize - sizeof(dat16BitBmpHeader);
+
+ auto zmap = reinterpret_cast(memory::allocate(sizeof(zmap_header_type) + length));
+ zmap->Width = zMapHeader.Width;
+ zmap->Height = zMapHeader.Height;
+ zmap->Stride = zMapHeader.Stride;
+ _hread(fileHandle, zmap->ZBuffer, length);
+ entryData->Buffer = reinterpret_cast(zmap);
+ }
else
{
char* entryBuffer = static_cast(memory::allocate(fieldSize));
diff --git a/SpaceCadetPinball/partman.h b/SpaceCadetPinball/partman.h
index 3d3e01d..006e6b8 100644
--- a/SpaceCadetPinball/partman.h
+++ b/SpaceCadetPinball/partman.h
@@ -89,6 +89,22 @@ struct dat8BitBmpHeader
static_assert(sizeof(dat8BitBmpHeader) == 14, "Wrong size of dat8BitBmpHeader");
+
+#pragma pack(push, 1)
+struct __declspec(align(1)) dat16BitBmpHeader
+{
+ __int16 Width;
+ __int16 Height;
+ __int16 Stride;
+ int Unknown0;
+ __int16 Unknown1_0;
+ __int16 Unknown1_1;
+};
+
+#pragma pack(pop)
+
+static_assert(sizeof(dat16BitBmpHeader) == 14, "Wrong size of zmap_header_type");
+
class partman
{
public:
diff --git a/SpaceCadetPinball/pinball.cpp b/SpaceCadetPinball/pinball.cpp
index 3fc4855..57c9d4c 100644
--- a/SpaceCadetPinball/pinball.cpp
+++ b/SpaceCadetPinball/pinball.cpp
@@ -37,7 +37,7 @@ int pinball::get_rc_int(int uID, int* dst)
void pinball::FindShiftKeys()
{
signed int i;
- int rightShift;
+ int rightShift;
CHAR stringBuf[20];
RightShift = -1;
@@ -80,26 +80,32 @@ void pinball::FindShiftKeys()
}
-HANDLE pinball::adjust_priority(int priority)
+void pinball::adjust_priority(int priority)
{
- HANDLE result = GetCurrentThread();
+ auto thread = GetCurrentThread();
switch (priority)
{
case -2:
- return (HANDLE)SetThreadPriority(result, -2);
+ SetThreadPriority(thread, -2);
+ break;
case -1:
- return (HANDLE)SetThreadPriority(result, -1);
+ SetThreadPriority(thread, -1);
+ break;
case 0:
- return (HANDLE)SetThreadPriority(result, 0);
+ SetThreadPriority(thread, 0);
+ break;
case 1:
- return (HANDLE)SetThreadPriority(result, 1);
+ SetThreadPriority(thread, 1);
+ break;
case 2:
- return (HANDLE)SetThreadPriority(result, 2);
+ SetThreadPriority(thread, 2);
+ break;
case 3:
- result = (HANDLE)SetThreadPriority(result, 15);
+ SetThreadPriority(thread, 15);
+ break;
+ default:
break;
}
- return result;
}
int pinball::make_path_name(LPSTR lpFilename, LPCSTR lpString2, int nSize)
diff --git a/SpaceCadetPinball/pinball.h b/SpaceCadetPinball/pinball.h
index e6dfb96..2e15ce8 100644
--- a/SpaceCadetPinball/pinball.h
+++ b/SpaceCadetPinball/pinball.h
@@ -20,7 +20,7 @@ public:
static char* get_rc_string(int uID, int a2);
static int get_rc_int(int uID, int* dst);
static void FindShiftKeys();
- static HANDLE adjust_priority(int priority);
+ static void adjust_priority(int priority);
static int make_path_name(LPSTR lpFilename, LPCSTR lpString2, int nSize = 0x12Cu);
private:
static char getRcBuffer[256 * 6];
diff --git a/SpaceCadetPinball/render.cpp b/SpaceCadetPinball/render.cpp
index 70bdbfa..b118f4d 100644
--- a/SpaceCadetPinball/render.cpp
+++ b/SpaceCadetPinball/render.cpp
@@ -18,9 +18,9 @@ void render::init(gdrv_bitmap8* bmp, float zMin, float zScaler, int width, int h
zscaler = zScaler;
zmin = zMin;
zmax = 4294967300.0f / zScaler + zMin;
- sprite_list = (render_sprite_type_struct**)memory::allocate(0xFA0u);
- dirty_list = (render_sprite_type_struct**)memory::allocate(0xFA0u);
- ball_list = (render_sprite_type_struct**)memory::allocate(0x50u);
+ sprite_list = reinterpret_cast(memory::allocate(1000 * sizeof(void*)));
+ dirty_list = reinterpret_cast(memory::allocate(1000 * sizeof(void*)));
+ ball_list = reinterpret_cast(memory::allocate(20 * sizeof(void*)));
gdrv::create_bitmap(&vscreen, width, height);
zdrv::create_zmap(&zscreen, width, height);
zdrv::fill(&zscreen, zscreen.Width, zscreen.Height, 0, 0, 0xFFFF);
@@ -542,7 +542,7 @@ void render::build_occlude_list()
if (!curSprite->UnknownFlag && curSprite->BoundingRect.Width != -1)
{
if (!spriteArr)
- spriteArr = reinterpret_cast(memory::allocate(0xFA0u));
+ spriteArr = reinterpret_cast(memory::allocate(1000 * sizeof(void*)));
int occludeCount = 0;
auto spritePtr2 = sprite_list;
for (int i = 0; i < many_sprites; ++i, ++spritePtr2)
@@ -561,7 +561,7 @@ void render::build_occlude_list()
if (occludeCount)
{
curSprite->SpriteArray = reinterpret_cast(memory::realloc(
- spriteArr, 4 * occludeCount));
+ spriteArr, sizeof(void*) * occludeCount));
curSprite->SpriteCount = occludeCount;
spriteArr = nullptr;
}
diff --git a/SpaceCadetPinball/render.h b/SpaceCadetPinball/render.h
index b6427c3..22115eb 100644
--- a/SpaceCadetPinball/render.h
+++ b/SpaceCadetPinball/render.h
@@ -10,7 +10,7 @@ enum class VisualType : char
Ball = 2
};
-struct __declspec(align(4)) render_sprite_type_struct
+struct render_sprite_type_struct
{
rectangle_type BmpRect;
gdrv_bitmap8* Bmp;
@@ -28,8 +28,6 @@ struct __declspec(align(4)) render_sprite_type_struct
};
-static_assert(sizeof(render_sprite_type_struct) == 0x5c, "Wrong size render_sprite_type_struct");
-
class render
{
public:
diff --git a/SpaceCadetPinball/splash.cpp b/SpaceCadetPinball/splash.cpp
index 632cc55..97ad0d1 100644
--- a/SpaceCadetPinball/splash.cpp
+++ b/SpaceCadetPinball/splash.cpp
@@ -12,7 +12,7 @@ splash_struct* splash::splash_screen(HINSTANCE hInstance, LPCSTR bmpName1, LPCST
WNDCLASSA WndClass{};
tagRECT Rect{};
- auto splashStruct = reinterpret_cast(memory::allocate(0x1B0u));
+ auto splashStruct = reinterpret_cast(memory::allocate(sizeof(splash_struct)));
if (!splashStruct)
return nullptr;
@@ -43,7 +43,7 @@ splash_struct* splash::splash_screen(HINSTANCE hInstance, LPCSTR bmpName1, LPCST
return nullptr;
}
- SetWindowLongA(windowHandle, 0, reinterpret_cast(splashStruct));
+ SetWindowLongPtrA(windowHandle, -21, reinterpret_cast(splashStruct));
GetWindowRect(GetDesktopWindow(), &Rect);
splash_bitmap_setup(splashStruct);
//MoveWindow(splashStruct->WindowHandle, 0, 0, Rect.right - Rect.left, Rect.bottom - Rect.top, 0);
@@ -62,7 +62,7 @@ splash_struct* splash::splash_screen(HINSTANCE hInstance, LPCSTR bmpName1, LPCST
void splash::splash_bitmap_setup(splash_struct* splashStruct)
{
HBITMAP bmpHandle2;
- BITMAP bmp;
+ BITMAP bmp{};
HBITMAP bmpHandle1 = nullptr;
HDC desktopDC = GetDC(GetDesktopWindow());
@@ -92,7 +92,7 @@ void splash::splash_bitmap_setup(splash_struct* splashStruct)
{
SelectObject(splashStruct->DrawingContext, bmpHandle2);
DeleteObject(bmpHandle1);
- GetObjectA(splashStruct->Bitmap, 24, &bmp);
+ GetObjectA(splashStruct->Bitmap, sizeof(BITMAP), &bmp);
splashStruct->Width = bmp.bmWidth;
splashStruct->Height = bmp.bmHeight;
return;
@@ -224,8 +224,8 @@ void splash::splash_paint(splash_struct* splashStruct, HDC dc)
splashStruct->Height, splashStruct->DrawingContext, 0, 0, SRCCOPY);*/
/*Mod - less intrusive splash*/
- BitBlt(dc, 0, 0, splashStruct->Width, splashStruct->Height,
- splashStruct->DrawingContext, 0, 0, SRCCOPY);
+ BitBlt(dc, 0, 0, splashStruct->Width, splashStruct->Height,
+ splashStruct->DrawingContext, 0, 0, SRCCOPY);
}
}
@@ -274,7 +274,7 @@ LRESULT splash::splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPARA
{
case WM_PAINT:
{
- auto splashStruct = reinterpret_cast(GetWindowLongA(hWnd, 0));
+ auto splashStruct = reinterpret_cast(GetWindowLongPtrA(hWnd, -21));
BeginPaint(hWnd, &Paint);
EndPaint(hWnd, &Paint);
auto dc = GetDC(hWnd);
diff --git a/SpaceCadetPinball/timer.h b/SpaceCadetPinball/timer.h
index d06b34b..2d073d6 100644
--- a/SpaceCadetPinball/timer.h
+++ b/SpaceCadetPinball/timer.h
@@ -1,6 +1,6 @@
#pragma once
-struct __declspec(align(4)) timer_struct
+struct timer_struct
{
int TargetTime;
void* Caller;
diff --git a/SpaceCadetPinball/winmain.cpp b/SpaceCadetPinball/winmain.cpp
index e63efff..1ef2d84 100644
--- a/SpaceCadetPinball/winmain.cpp
+++ b/SpaceCadetPinball/winmain.cpp
@@ -313,7 +313,7 @@ LRESULT CALLBACK winmain::message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LP
SetForegroundWindow(hWnd);
return 0;
}
-
+
if (Msg <= WM_ACTIVATEAPP)
{
switch (Msg)
@@ -532,20 +532,15 @@ LRESULT CALLBACK winmain::message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LP
{
char cmdLine[0x1F4u];
options::get_string(nullptr, "Shell Exe", tmpBuf, pinball::WindowName, 500);
+ auto iHwnd = reinterpret_cast(hwnd_frame);
sprintf_s(
cmdLine,
"%s %s%lX %s%lX",
tmpBuf,
"select=",
- (int)hwnd_frame,
+ iHwnd,
"confirm=",
- (int)hwnd_frame
- * (int)hwnd_frame
- * (int)hwnd_frame
- * (int)hwnd_frame
- * (int)hwnd_frame
- * (int)hwnd_frame
- * (int)hwnd_frame);
+ iHwnd * iHwnd * iHwnd * iHwnd * iHwnd * iHwnd * iHwnd);
if (static_cast(WinExec(cmdLine, 5u)) < 32)
{
auto caption = pinball::get_rc_string(170, 0);
diff --git a/SpaceCadetPinball/zdrv.h b/SpaceCadetPinball/zdrv.h
index 744b4eb..579e296 100644
--- a/SpaceCadetPinball/zdrv.h
+++ b/SpaceCadetPinball/zdrv.h
@@ -1,8 +1,7 @@
#pragma once
#include "gdrv.h"
-#pragma pack(push, 1)
-struct __declspec(align(1)) zmap_header_type
+struct zmap_header_type
{
__int16 Width;
__int16 Height;
@@ -12,10 +11,6 @@ struct __declspec(align(1)) zmap_header_type
unsigned __int16 ZBuffer[1];
};
-#pragma pack(pop)
-
-static_assert(sizeof(zmap_header_type) == 16, "Wrong size of zmap_header_type");
-
class zdrv
{
public: