From 03250d62a0d3e85bdbabc41a7d2bfb22e65de4ef Mon Sep 17 00:00:00 2001 From: Clownacy Date: Sun, 3 May 2020 20:28:56 +0100 Subject: [PATCH] Make variables more accurate This commit changes which variables are static: the Mac (and presumably the Linux) debug data tells you what variables are static, by prefixing their names with double_underscores. The variable names themselves also hint at this: global variables are prefixed with 'g', and use upper-camelcase, while static variables use whatever_you_call_this. --- src/ArmsItem.cpp | 4 +- src/ArmsItem.h | 33 +++++---- src/Boss.h | 1 + src/BossLife.cpp | 9 +-- src/BossLife.h | 11 +++ src/Bullet.h | 3 +- src/Caret.cpp | 3 +- src/Caret.h | 5 ++ src/Config.cpp | 4 +- src/Config.h | 3 + src/Dialog.cpp | 4 +- src/Dialog.h | 2 + src/Draw.cpp | 158 ++++++++++++++++++++++---------------------- src/Draw.h | 3 - src/Ending.cpp | 37 ++++++++++- src/Ending.h | 31 --------- src/Fade.cpp | 15 +---- src/Fade.h | 16 +++++ src/Flash.cpp | 2 +- src/Flash.h | 2 + src/Game.cpp | 2 +- src/Generic.cpp | 2 +- src/GenericLoad.cpp | 2 +- src/GenericLoad.h | 4 ++ src/Main.cpp | 6 +- src/Main.h | 3 + src/MapName.cpp | 10 +-- src/MapName.h | 9 +++ src/MyChar.cpp | 4 +- src/MycParam.cpp | 2 +- src/NpChar.cpp | 2 +- src/NpChar.h | 2 + src/PixTone.h | 2 + src/Profile.cpp | 4 +- src/Profile.h | 3 + src/SelStage.h | 3 + src/Shoot.cpp | 2 +- src/Stage.cpp | 2 +- src/Stage.h | 6 ++ src/TextScr.cpp | 4 +- src/TextScr.h | 4 ++ src/Triangle.h | 3 + src/ValueView.cpp | 2 - src/ValueView.h | 5 ++ 44 files changed, 246 insertions(+), 188 deletions(-) diff --git a/src/ArmsItem.cpp b/src/ArmsItem.cpp index 7ae3279d..f6aafaad 100644 --- a/src/ArmsItem.cpp +++ b/src/ArmsItem.cpp @@ -20,10 +20,10 @@ ITEM gItemData[ITEM_MAX]; int gSelectedArms; int gSelectedItem; -static int gCampTitleY; +int gCampTitleY; /// True if we're in the items section of the inventory (not in the weapons section) (only relevant when the inventory is open) -static BOOL gCampActive; +BOOL gCampActive; int gArmsEnergyX = 16; diff --git a/src/ArmsItem.h b/src/ArmsItem.h index c98bb2ae..9656a681 100644 --- a/src/ArmsItem.h +++ b/src/ArmsItem.h @@ -2,6 +2,10 @@ #include "WindowsWrapper.h" +// Limits for the amount of weapons and items +#define ARMS_MAX 8 +#define ITEM_MAX 0x20 + // "Arms" is a synonym of "weapon" here // "Code" means "ID" here // "Num" often means "ammo" here @@ -32,20 +36,6 @@ typedef struct ITEM } ITEM; -// Limits for the amount of weapons and items -#define ARMS_MAX 8 -#define ITEM_MAX 0x20 - - -/// X coordinate for the weapons HUD section. Set it to 32 for the forward weapon rotation "animation", 0 for the reverse weapon rotation "animation" and 16 to immobilise it -extern int gArmsEnergyX; - - -/// Currently selected weapon -extern int gSelectedArms; - -// Currently selected item -extern int gSelectedItem; /// Contains data for all the weapons the character currently has extern ARMS gArmsData[ARMS_MAX]; @@ -53,6 +43,21 @@ extern ARMS gArmsData[ARMS_MAX]; /// Contains data for all the items the character currently has extern ITEM gItemData[ITEM_MAX]; +/// Currently selected weapon +extern int gSelectedArms; + +/// Currently selected item +extern int gSelectedItem; + +extern int gCampTitleY; + +/// True if we're in the items section of the inventory (not in the weapons section) (only relevant when the inventory is open) +extern BOOL gCampActive; + +/// X coordinate for the weapons HUD section. Set it to 32 for the forward weapon rotation "animation", 0 for the reverse weapon rotation "animation" and 16 to immobilise it +extern int gArmsEnergyX; + + /// Clear the weapons array, reverting it to the default state (no weapons) and adjust variables (initialize weapons basically) void ClearArmsData(void); diff --git a/src/Boss.h b/src/Boss.h index ab3e6807..18d3ed90 100644 --- a/src/Boss.h +++ b/src/Boss.h @@ -3,6 +3,7 @@ #include "NpChar.h" #define BOSS_MAX 20 + extern NPCHAR gBoss[BOSS_MAX]; typedef void (*BOSSFUNCTION)(void); diff --git a/src/BossLife.cpp b/src/BossLife.cpp index 8546ffae..358ebade 100644 --- a/src/BossLife.cpp +++ b/src/BossLife.cpp @@ -7,14 +7,7 @@ #include "Draw.h" #include "NpChar.h" -static struct -{ - BOOL flag; - int *pLife; - int max; - int br; - int count; -} gBL; +BOSSLIFE gBL; void InitBossLife(void) { diff --git a/src/BossLife.h b/src/BossLife.h index 1d5ffc63..3276db84 100644 --- a/src/BossLife.h +++ b/src/BossLife.h @@ -2,6 +2,17 @@ #include "WindowsWrapper.h" +typedef struct BOSSLIFE // Not the original struct name +{ + BOOL flag; + int *pLife; + int max; + int br; + int count; +} BOSSLIFE; + +extern BOSSLIFE gBL; + void InitBossLife(void); BOOL StartBossLife(int code_event); BOOL StartBossLife2(void); diff --git a/src/Bullet.h b/src/Bullet.h index 5604d8f3..7db8afc8 100644 --- a/src/Bullet.h +++ b/src/Bullet.h @@ -2,6 +2,8 @@ #include "WindowsWrapper.h" +#define BULLET_MAX 0x40 + typedef struct BULLET { int flag; @@ -57,7 +59,6 @@ typedef struct BULLET_TABLE } view; } BULLET_TABLE; -#define BULLET_MAX 0x40 extern BULLET gBul[BULLET_MAX]; void InitBullet(void); diff --git a/src/Caret.cpp b/src/Caret.cpp index 1463b789..8d44da4e 100644 --- a/src/Caret.cpp +++ b/src/Caret.cpp @@ -8,7 +8,6 @@ #include "Game.h" #include "Triangle.h" -#define CARET_MAX 0x40 CARET gCrt[CARET_MAX]; CARET_TABLE gCaretTable[18] = { @@ -510,7 +509,7 @@ void ActCaret17(CARET *crt) } typedef void (*CARETFUNCTION)(CARET*); -CARETFUNCTION gpCaretFuncTbl[] = +CARETFUNCTION gpCaretFuncTbl[18] = { ActCaret00, ActCaret01, diff --git a/src/Caret.h b/src/Caret.h index ab249e84..9aeca983 100644 --- a/src/Caret.h +++ b/src/Caret.h @@ -2,6 +2,8 @@ #include "WindowsWrapper.h" +#define CARET_MAX 0x40 + struct CARET_TABLE { int view_left; @@ -26,6 +28,9 @@ struct CARET RECT rect; }; +extern CARET gCrt[CARET_MAX]; +extern CARET_TABLE gCaretTable[18]; + void InitCaret(void); void ActCaret(void); void PutCaret(int fx, int fy); diff --git a/src/Config.cpp b/src/Config.cpp index ffcc11a5..4c2d6d69 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -7,8 +7,8 @@ #include "Config.h" #include "Main.h" -static const char* const gConfigName = "Config.dat"; -static const char* const gProof = "DOUKUTSU20041206"; +const char* const gConfigName = "Config.dat"; +const char* const gProof = "DOUKUTSU20041206"; BOOL LoadConfigData(CONFIG *conf) { diff --git a/src/Config.h b/src/Config.h index 9a01480a..a62d3559 100644 --- a/src/Config.h +++ b/src/Config.h @@ -14,5 +14,8 @@ struct CONFIG long joystick_button[8]; }; +extern const char* const gConfigName; +extern const char* const gProof; + BOOL LoadConfigData(CONFIG *conf); void DefaultConfigData(CONFIG *conf); diff --git a/src/Dialog.cpp b/src/Dialog.cpp index 31ded851..a5d25b26 100644 --- a/src/Dialog.cpp +++ b/src/Dialog.cpp @@ -10,7 +10,7 @@ // All of the original names for the functions/variables in this file are unknown -static const char *version_string = +const char* const gVersionString = "version.%d.%d.%d.%d\r\n" "2004/12/20 - %04d/%02d/%02d\r\n" "Studio Pixel" @@ -37,7 +37,7 @@ DLGPROC_RET CALLBACK VersionDialog(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lP case WM_INITDIALOG: GetCompileDate(&year, &month, &day); GetCompileVersion(&version1, &version2, &version3, &version4); - sprintf(string_buffer, version_string, version1, version2, version3, version4, year, month, day); + sprintf(string_buffer, gVersionString, version1, version2, version3, version4, year, month, day); SetDlgItemTextA(hWnd, 1011, string_buffer); CenteringWindowByParent(hWnd); diff --git a/src/Dialog.h b/src/Dialog.h index 1c5b6914..34da5783 100644 --- a/src/Dialog.h +++ b/src/Dialog.h @@ -2,6 +2,8 @@ #include "WindowsWrapper.h" +extern const char* const gVersionString; + DLGPROC_RET CALLBACK VersionDialog(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); DLGPROC_RET CALLBACK DebugMuteDialog(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); DLGPROC_RET CALLBACK DebugSaveDialog(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); diff --git a/src/Draw.cpp b/src/Draw.cpp index 0791219e..c89ba0a5 100644 --- a/src/Draw.cpp +++ b/src/Draw.cpp @@ -26,23 +26,23 @@ typedef enum SurfaceType RECT grcGame = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT}; RECT grcFull = {0, 0, WINDOW_WIDTH, WINDOW_HEIGHT}; -int magnification; -BOOL fullscreen; +static int mag; +static BOOL fullscreen; // TODO - Not the original variable name -static LPDIRECTDRAW lpDD; -static LPDIRECTDRAWSURFACE frontbuffer; -static LPDIRECTDRAWSURFACE backbuffer; +static LPDIRECTDRAW lpDD; // TODO - Not the original variable name +static LPDIRECTDRAWSURFACE frontbuffer; // TODO - Not the original variable name +static LPDIRECTDRAWSURFACE backbuffer; // TODO - Not the original variable name -static LPDIRECTDRAWCLIPPER clipper; +static LPDIRECTDRAWCLIPPER clipper; // TODO - Not the original variable name static LPDIRECTDRAWSURFACE surf[SURFACE_ID_MAX]; -static RECT backbuffer_rect; +static RECT backbuffer_rect; // TODO - Not the original variable name -static int scaled_window_width; -static int scaled_window_height; +static int scaled_window_width; // TODO - Not the original variable name +static int scaled_window_height; // TODO - Not the original variable name -static HFONT font; +static HFONT font; // TODO - Not the original variable name // This doesn't exist in the Linux port, so none of these symbol names are accurate static struct @@ -121,32 +121,32 @@ BOOL StartDirectDraw(HWND hWnd, int lMagnification, int lColourDepth) switch (lMagnification) { case 0: - magnification = 1; + mag = 1; fullscreen = FALSE; lpDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL); break; case 1: - magnification = 2; + mag = 2; fullscreen = FALSE; lpDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL); break; case 2: - magnification = 2; + mag = 2; fullscreen = TRUE; lpDD->SetCooperativeLevel(hWnd, DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE); - lpDD->SetDisplayMode(WINDOW_WIDTH * magnification, WINDOW_HEIGHT * magnification, lColourDepth); + lpDD->SetDisplayMode(WINDOW_WIDTH * mag, WINDOW_HEIGHT * mag, lColourDepth); break; } backbuffer_rect.left = 0; backbuffer_rect.top = 0; - backbuffer_rect.right = WINDOW_WIDTH * magnification; - backbuffer_rect.bottom = WINDOW_HEIGHT * magnification; + backbuffer_rect.right = WINDOW_WIDTH * mag; + backbuffer_rect.bottom = WINDOW_HEIGHT * mag; - scaled_window_width = WINDOW_WIDTH * magnification; - scaled_window_height = WINDOW_HEIGHT * magnification; + scaled_window_width = WINDOW_WIDTH * mag; + scaled_window_height = WINDOW_HEIGHT * mag; memset(&ddsd, 0, sizeof(DDSURFACEDESC)); ddsd.dwSize = sizeof(DDSURFACEDESC); @@ -161,8 +161,8 @@ BOOL StartDirectDraw(HWND hWnd, int lMagnification, int lColourDepth) ddsd.dwSize = sizeof(DDSURFACEDESC); ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH; ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; - ddsd.dwWidth = WINDOW_WIDTH * magnification; - ddsd.dwHeight = WINDOW_HEIGHT * magnification; + ddsd.dwWidth = WINDOW_WIDTH * mag; + ddsd.dwHeight = WINDOW_HEIGHT * mag; if (lpDD->CreateSurface(&ddsd, &backbuffer, NULL) != DD_OK) return FALSE; @@ -240,8 +240,8 @@ BOOL MakeSurface_Resource(const char *name, SurfaceID surf_no) ddsd.dwSize = sizeof(DDSURFACEDESC); ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH; ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; - ddsd.dwWidth = bitmap.bmWidth * magnification; - ddsd.dwHeight = bitmap.bmHeight * magnification; + ddsd.dwWidth = bitmap.bmWidth * mag; + ddsd.dwHeight = bitmap.bmHeight * mag; if (lpDD->CreateSurface(&ddsd, &surf[surf_no], NULL) != DD_OK) return FALSE; @@ -253,8 +253,8 @@ BOOL MakeSurface_Resource(const char *name, SurfaceID surf_no) int dst_x = 0; int dst_y = 0; - int dst_w = bitmap.bmWidth * magnification; - int dst_h = bitmap.bmHeight * magnification; + int dst_w = bitmap.bmWidth * mag; + int dst_h = bitmap.bmHeight * mag; HDC hdc = CreateCompatibleDC(NULL); HGDIOBJ hgdiobj = SelectObject(hdc, handle); @@ -330,8 +330,8 @@ BOOL MakeSurface_File(const char *name, SurfaceID surf_no) ddsd.dwSize = sizeof(DDSURFACEDESC); ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH; ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; - ddsd.dwWidth = bitmap.bmWidth * magnification; - ddsd.dwHeight = bitmap.bmHeight * magnification; + ddsd.dwWidth = bitmap.bmWidth * mag; + ddsd.dwHeight = bitmap.bmHeight * mag; lpDD->CreateSurface(&ddsd, &surf[surf_no], NULL); @@ -342,8 +342,8 @@ BOOL MakeSurface_File(const char *name, SurfaceID surf_no) int dst_x = 0; int dst_y = 0; - int dst_w = bitmap.bmWidth * magnification; - int dst_h = bitmap.bmHeight * magnification; + int dst_w = bitmap.bmWidth * mag; + int dst_h = bitmap.bmHeight * mag; HDC hdc = CreateCompatibleDC(NULL); HGDIOBJ hgdiobj = SelectObject(hdc, handle); @@ -394,8 +394,8 @@ BOOL ReloadBitmap_Resource(const char *name, SurfaceID surf_no) int dst_x = 0; int dst_y = 0; - int dst_w = bitmap.bmWidth * magnification; - int dst_h = bitmap.bmHeight * magnification; + int dst_w = bitmap.bmWidth * mag; + int dst_h = bitmap.bmHeight * mag; HDC hdc = CreateCompatibleDC(NULL); HGDIOBJ hgdiobj = SelectObject(hdc, handle); @@ -464,8 +464,8 @@ BOOL ReloadBitmap_File(const char *name, SurfaceID surf_no) int dst_x = 0; int dst_y = 0; - int dst_w = bitmap.bmWidth * magnification; - int dst_h = bitmap.bmHeight * magnification; + int dst_w = bitmap.bmWidth * mag; + int dst_h = bitmap.bmHeight * mag; HDC hdc = CreateCompatibleDC(NULL); HGDIOBJ hgdiobj = SelectObject(hdc, handle); @@ -511,8 +511,8 @@ BOOL MakeSurface_Generic(int bxsize, int bysize, SurfaceID surf_no, BOOL bSystem else ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; - ddsd.dwWidth = bxsize * magnification; - ddsd.dwHeight = bysize * magnification; + ddsd.dwWidth = bxsize * mag; + ddsd.dwHeight = bysize * mag; lpDD->CreateSurface(&ddsd, &surf[surf_no], NULL); @@ -523,8 +523,8 @@ BOOL MakeSurface_Generic(int bxsize, int bysize, SurfaceID surf_no, BOOL bSystem surf[surf_no]->SetColorKey(DDCKEY_SRCBLT, &ddcolorkey); surface_metadata[surf_no].type = SURFACE_SOURCE_NONE; - surface_metadata[surf_no].width = ddsd.dwWidth / magnification; - surface_metadata[surf_no].height = ddsd.dwHeight / magnification; + surface_metadata[surf_no].width = ddsd.dwWidth / mag; + surface_metadata[surf_no].height = ddsd.dwHeight / mag; if (bSystem) surface_metadata[surf_no].bSystem = TRUE; @@ -544,10 +544,10 @@ void BackupSurface(SurfaceID surf_no, const RECT *rect) ddbltfx.dwSize = sizeof(DDBLTFX); static RECT scaled_rect; // TODO - Not the original variable name - scaled_rect.left = rect->left * magnification; - scaled_rect.top = rect->top * magnification; - scaled_rect.right = rect->right * magnification; - scaled_rect.bottom = rect->bottom * magnification; + scaled_rect.left = rect->left * mag; + scaled_rect.top = rect->top * mag; + scaled_rect.right = rect->right * mag; + scaled_rect.bottom = rect->bottom * mag; surf[surf_no]->Blt(&scaled_rect, backbuffer, &scaled_rect, DDBLT_WAIT, &ddbltfx); } @@ -582,15 +582,15 @@ void PutBitmap3(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID su rcSet.right = x + rcWork.right - rcWork.left; rcSet.bottom = y + rcWork.bottom - rcWork.top; - rcWork.left *= magnification; - rcWork.top *= magnification; - rcWork.right *= magnification; - rcWork.bottom *= magnification; + rcWork.left *= mag; + rcWork.top *= mag; + rcWork.right *= mag; + rcWork.bottom *= mag; - rcSet.left *= magnification; - rcSet.top *= magnification; - rcSet.right *= magnification; - rcSet.bottom *= magnification; + rcSet.left *= mag; + rcSet.top *= mag; + rcSet.right *= mag; + rcSet.bottom *= mag; backbuffer->Blt(&rcSet, surf[surf_no], &rcWork, DDBLT_KEYSRC | DDBLT_WAIT, NULL); } @@ -625,15 +625,15 @@ void PutBitmap4(const RECT *rcView, int x, int y, const RECT *rect, SurfaceID su rcSet.right = x + rcWork.right - rcWork.left; rcSet.bottom = y + rcWork.bottom - rcWork.top; - rcWork.left *= magnification; - rcWork.top *= magnification; - rcWork.right *= magnification; - rcWork.bottom *= magnification; + rcWork.left *= mag; + rcWork.top *= mag; + rcWork.right *= mag; + rcWork.bottom *= mag; - rcSet.left *= magnification; - rcSet.top *= magnification; - rcSet.right *= magnification; - rcSet.bottom *= magnification; + rcSet.left *= mag; + rcSet.top *= mag; + rcSet.right *= mag; + rcSet.bottom *= mag; backbuffer->Blt(&rcSet, surf[surf_no], &rcWork, DDBLT_WAIT, NULL); } @@ -643,20 +643,20 @@ void Surface2Surface(int x, int y, const RECT *rect, int to, int from) static RECT rcWork; static RECT rcSet; - rcWork.left = rect->left * magnification; - rcWork.top = rect->top * magnification; - rcWork.right = rect->right * magnification; - rcWork.bottom = rect->bottom * magnification; + rcWork.left = rect->left * mag; + rcWork.top = rect->top * mag; + rcWork.right = rect->right * mag; + rcWork.bottom = rect->bottom * mag; rcSet.left = x; rcSet.top = y; rcSet.right = x + rect->right - rect->left; rcSet.bottom = y + rect->bottom - rect->top; - rcSet.left *= magnification; - rcSet.top *= magnification; - rcSet.right *= magnification; - rcSet.bottom *= magnification; + rcSet.left *= mag; + rcSet.top *= mag; + rcSet.right *= mag; + rcSet.bottom *= mag; surf[to]->Blt(&rcSet, surf[from], &rcWork, DDBLT_KEYSRC | DDBLT_WAIT, NULL); } @@ -704,13 +704,13 @@ void CortBox(const RECT *rect, unsigned long col) ddbltfx.dwSize = sizeof(DDBLTFX); ddbltfx.dwFillColor = col; - static RECT dst_rect; // TODO - Not the original variable name - dst_rect.left = rect->left * magnification; - dst_rect.top = rect->top * magnification; - dst_rect.right = rect->right * magnification; - dst_rect.bottom = rect->bottom * magnification; + static RECT rcSet; // TODO - Not the original variable name + rcSet.left = rect->left * mag; + rcSet.top = rect->top * mag; + rcSet.right = rect->right * mag; + rcSet.bottom = rect->bottom * mag; - backbuffer->Blt(&dst_rect, 0, 0, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); + backbuffer->Blt(&rcSet, 0, 0, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); } void CortBox2(const RECT *rect, unsigned long col, SurfaceID surf_no) @@ -720,15 +720,15 @@ void CortBox2(const RECT *rect, unsigned long col, SurfaceID surf_no) ddbltfx.dwSize = sizeof(DDBLTFX); ddbltfx.dwFillColor = col; - static RECT dst_rect; // TODO - Not the original variable name - dst_rect.left = rect->left * magnification; - dst_rect.top = rect->top * magnification; - dst_rect.right = rect->right * magnification; - dst_rect.bottom = rect->bottom * magnification; + static RECT rcSet; // TODO - Not the original variable name + rcSet.left = rect->left * mag; + rcSet.top = rect->top * mag; + rcSet.right = rect->right * mag; + rcSet.bottom = rect->bottom * mag; surface_metadata[surf_no].type = SURFACE_SOURCE_NONE; - surf[surf_no]->Blt(&dst_rect, 0, 0, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); + surf[surf_no]->Blt(&rcSet, 0, 0, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx); } // Dummied-out log function @@ -820,7 +820,7 @@ void InitTextObject(const char *name) // Get font size unsigned int width, height; - switch (magnification) + switch (mag) { case 1: height = 12; @@ -864,7 +864,7 @@ void PutText(int x, int y, const char *text, unsigned long color) HGDIOBJ hgdiobj = SelectObject(hdc, font); SetBkMode(hdc, 1); SetTextColor(hdc, color); - TextOutA(hdc, x * magnification, y * magnification, text, (int)strlen(text)); + TextOutA(hdc, x * mag, y * mag, text, (int)strlen(text)); SelectObject(hdc, hgdiobj); backbuffer->ReleaseDC(hdc); } @@ -876,7 +876,7 @@ void PutText2(int x, int y, const char *text, unsigned long color, SurfaceID sur HGDIOBJ hgdiobj = SelectObject(hdc, font); SetBkMode(hdc, 1); SetTextColor(hdc, color); - TextOutA(hdc, x * magnification, y * magnification, text, (int)strlen(text)); + TextOutA(hdc, x * mag, y * mag, text, (int)strlen(text)); SelectObject(hdc, hgdiobj); surf[surf_no]->ReleaseDC(hdc); } diff --git a/src/Draw.h b/src/Draw.h index efa115be..80538220 100644 --- a/src/Draw.h +++ b/src/Draw.h @@ -5,9 +5,6 @@ extern RECT grcGame; extern RECT grcFull; -extern int magnification; -extern BOOL fullscreen; - typedef enum SurfaceID { SURFACE_ID_TITLE = 0, diff --git a/src/Ending.cpp b/src/Ending.cpp index 4c99411a..393ce405 100644 --- a/src/Ending.cpp +++ b/src/Ending.cpp @@ -17,9 +17,40 @@ #include "Stage.h" #include "TextScr.h" -CREDIT Credit; -STRIP Strip[MAX_STRIP]; -ILLUSTRATION Illust; +struct CREDIT +{ + long size; + char *pData; + int offset; + int wait; + int mode; + int start_x; +}; + +struct STRIP +{ + int flag; + int x; + int y; + int cast; + char str[0x40]; +}; + +struct ILLUSTRATION +{ + int act_no; + int x; +}; + +struct ISLAND_SPRITE +{ + int x; + int y; +}; + +static CREDIT Credit; +static STRIP Strip[MAX_STRIP]; +static ILLUSTRATION Illust; // Update casts void ActionStripper(void) diff --git a/src/Ending.h b/src/Ending.h index 54033793..f742f3ad 100644 --- a/src/Ending.h +++ b/src/Ending.h @@ -4,37 +4,6 @@ #include "CommonDefines.h" -struct CREDIT -{ - long size; - char *pData; - int offset; - int wait; - int mode; - int start_x; -}; - -struct STRIP -{ - int flag; - int x; - int y; - int cast; - char str[0x40]; -}; - -struct ILLUSTRATION -{ - int act_no; - int x; -}; - -struct ISLAND_SPRITE -{ - int x; - int y; -}; - #define MAX_STRIP ((WINDOW_HEIGHT / 16) + 1) void ActionStripper(void); diff --git a/src/Fade.cpp b/src/Fade.cpp index cc8c48ba..df629e12 100644 --- a/src/Fade.cpp +++ b/src/Fade.cpp @@ -2,25 +2,12 @@ #include -#include "CommonDefines.h" #include "WindowsWrapper.h" #include "Draw.h" -#define FADE_WIDTH (((WINDOW_WIDTH - 1) / 16) + 1) -#define FADE_HEIGHT (((WINDOW_HEIGHT - 1) / 16) + 1) +FADE gFade; -struct FADE -{ - int mode; - BOOL bMask; - int count; - signed char ani_no[FADE_HEIGHT][FADE_WIDTH]; - signed char flag[FADE_HEIGHT][FADE_WIDTH]; // Not a BOOLEAN (those are unsigned) - signed char dir; -}; - -static FADE gFade; static unsigned long mask_color; void InitFade(void) diff --git a/src/Fade.h b/src/Fade.h index b1f17366..e39fb639 100644 --- a/src/Fade.h +++ b/src/Fade.h @@ -1,7 +1,23 @@ #pragma once +#include "CommonDefines.h" #include "WindowsWrapper.h" +#define FADE_WIDTH (((WINDOW_WIDTH - 1) / 16) + 1) +#define FADE_HEIGHT (((WINDOW_HEIGHT - 1) / 16) + 1) + +struct FADE +{ + int mode; + BOOL bMask; + int count; + signed char ani_no[FADE_HEIGHT][FADE_WIDTH]; + signed char flag[FADE_HEIGHT][FADE_WIDTH]; // Not a BOOLEAN (those are unsigned) + signed char dir; +}; + +extern FADE gFade; + void InitFade(void); void SetFadeMask(void); void ClearFade(void); diff --git a/src/Flash.cpp b/src/Flash.cpp index 3a606175..6fa82709 100644 --- a/src/Flash.cpp +++ b/src/Flash.cpp @@ -17,7 +17,7 @@ static struct RECT rect2; } flash; -static unsigned long gFlashColor; +unsigned long gFlashColor; void InitFlash(void) { diff --git a/src/Flash.h b/src/Flash.h index bbd99eaf..c31aa598 100644 --- a/src/Flash.h +++ b/src/Flash.h @@ -1,5 +1,7 @@ #pragma once +extern unsigned long gFlashColor; + void InitFlash(void); void SetFlash(int x, int y, int mode); void ActFlash_Explosion(int flx, int fly); diff --git a/src/Game.cpp b/src/Game.cpp index 91701041..ccec7cae 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -46,7 +46,7 @@ int g_GameFlags; int gCounter; -BOOL bContinue; +static BOOL bContinue; int Random(int min, int max) { diff --git a/src/Generic.cpp b/src/Generic.cpp index ba875157..2bdb6b58 100644 --- a/src/Generic.cpp +++ b/src/Generic.cpp @@ -415,7 +415,7 @@ BOOL SaveWindowRect(HWND hWnd, const char *filename) return TRUE; } -const char *extra_text = "(C)Pixel"; +static const char* const extra_text = "(C)Pixel"; BOOL IsEnableBitmap(const char *path) { diff --git a/src/GenericLoad.cpp b/src/GenericLoad.cpp index 61149717..a72f5dc3 100644 --- a/src/GenericLoad.cpp +++ b/src/GenericLoad.cpp @@ -10,7 +10,7 @@ #include "PixTone.h" #include "Sound.h" -static const PIXTONEPARAMETER gPtpTable[139] = +const PIXTONEPARAMETER gPtpTable[139] = { {1, 5000, {5, 10.0, 32, 0}, {4, 4.0, 32, 0}, {0, 0.0, 63, 0}, 63, 6, 63, 45, 8, 119, 46}, {1, 1000, {0, 4.0, 32, 0}, {3, 1.0, 63, 0}, {0, 0.0, 63, 0}, 63, 64, 63, 128, 63, 255, 63}, diff --git a/src/GenericLoad.h b/src/GenericLoad.h index 513b430e..187ad1b9 100644 --- a/src/GenericLoad.h +++ b/src/GenericLoad.h @@ -2,4 +2,8 @@ #include "WindowsWrapper.h" +#include "PixTone.h" + +extern const PIXTONEPARAMETER gPtpTable[139]; + BOOL LoadGenericData(void); diff --git a/src/Main.cpp b/src/Main.cpp index de57e29c..8db8aeee 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -43,12 +43,12 @@ static HINSTANCE ghInstance; static int windowWidth; static int windowHeight; -static const char *mutex_name = "Doukutsu"; +static const char* const mutex_name = "Doukutsu"; #ifdef JAPANESE -static const char *lpWindowName = "\x93\xB4\x8C\x41\x95\xA8\x8C\xEA"; // '洞窟物語' (Cave Story) in Shift-JIS +static const char* const lpWindowName = "\x93\xB4\x8C\x41\x95\xA8\x8C\xEA"; // '洞窟物語' (Cave Story) in Shift-JIS #else -static const char *lpWindowName = "Cave Story ~ Doukutsu Monogatari"; +static const char* const lpWindowName = "Cave Story ~ Doukutsu Monogatari"; #endif // The original name for this function is unknown diff --git a/src/Main.h b/src/Main.h index 9c2f0656..5944bf45 100644 --- a/src/Main.h +++ b/src/Main.h @@ -7,6 +7,9 @@ extern char gDataPath[MAX_PATH]; extern HWND ghWnd; extern BOOL bFullscreen; +extern BOOL gbUseJoystick; + +extern int gJoystickButtonTable[8]; void PutFramePerSecound(void); unsigned long CountFramePerSecound(void); diff --git a/src/MapName.cpp b/src/MapName.cpp index f464d40b..12dd378b 100644 --- a/src/MapName.cpp +++ b/src/MapName.cpp @@ -6,15 +6,9 @@ #include "Draw.h" #include "WindowsWrapper.h" -typedef struct MAP_NAME -{ - BOOL flag; - int wait; - char name[0x20]; -} MAP_NAME; - MAP_NAME gMapName; -RECT rc = { 0, 0, 160, 12 }; + +static RECT rc = { 0, 0, 160, 12 }; void ReadyMapName(const char *str) { diff --git a/src/MapName.h b/src/MapName.h index c48312a8..d5e69b52 100644 --- a/src/MapName.h +++ b/src/MapName.h @@ -2,6 +2,15 @@ #include "WindowsWrapper.h" +typedef struct MAP_NAME +{ + BOOL flag; + int wait; + char name[0x20]; +} MAP_NAME; + +extern MAP_NAME gMapName; + void ReadyMapName(const char *str); void PutMapName(BOOL bMini); void StartMapName(void); diff --git a/src/MyChar.cpp b/src/MyChar.cpp index 57b5dc20..22e6a708 100644 --- a/src/MyChar.cpp +++ b/src/MyChar.cpp @@ -986,8 +986,8 @@ void ResetCheck(void) gMC.cond &= ~1; } -int noise_no; -unsigned int noise_freq; +static int noise_no; +static unsigned int noise_freq; void SetNoise(int no, int freq) { diff --git a/src/MycParam.cpp b/src/MycParam.cpp index 07b99fa1..7424e23e 100644 --- a/src/MycParam.cpp +++ b/src/MycParam.cpp @@ -387,7 +387,7 @@ void PutMyAir(int x, int y) } } -int time_count; +static int time_count; void PutTimeCounter(int x, int y) { diff --git a/src/NpChar.cpp b/src/NpChar.cpp index b4f914d9..1c372892 100644 --- a/src/NpChar.cpp +++ b/src/NpChar.cpp @@ -24,7 +24,7 @@ int gCurlyShoot_y; int gSuperXpos; int gSuperYpos; -const char *gPassPixEve = "PXE"; +const char* const gPassPixEve = "PXE"; static void SetUniqueParameter(NPCHAR *npc) { diff --git a/src/NpChar.h b/src/NpChar.h index 1a470c2f..0f2f9583 100644 --- a/src/NpChar.h +++ b/src/NpChar.h @@ -119,6 +119,8 @@ extern int gCurlyShoot_y; extern int gSuperXpos; extern int gSuperYpos; +extern const char* const gPassPixEve; + void InitNpChar(void); BOOL LoadEvent(const char *path_event); void SetNpChar(int code_char, int x, int y, int xm, int ym, int dir, NPCHAR *npc, int start_index); diff --git a/src/PixTone.h b/src/PixTone.h index 45589105..289d47ff 100644 --- a/src/PixTone.h +++ b/src/PixTone.h @@ -26,5 +26,7 @@ typedef struct PIXTONEPARAMETER int pointCy; } PIXTONEPARAMETER; +extern signed char gWaveModelTable[6][0x100]; + void MakeWaveTables(void); BOOL MakePixelWaveData(const PIXTONEPARAMETER *ptp, unsigned char *pData); diff --git a/src/Profile.cpp b/src/Profile.cpp index 08a2eb8e..2b78a369 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -21,8 +21,8 @@ #include "Star.h" #include "ValueView.h" -const char *gDefaultName = "Profile.dat"; -const char *gProfileCode = "Do041220"; +const char* const gDefaultName = "Profile.dat"; +const char* const gProfileCode = "Do041220"; BOOL IsProfile(void) { diff --git a/src/Profile.h b/src/Profile.h index 1ddab80e..7dd6ad0c 100644 --- a/src/Profile.h +++ b/src/Profile.h @@ -31,6 +31,9 @@ typedef struct PROFILE unsigned char flags[1000]; } PROFILE; +extern const char* const gDefaultName; +extern const char* const gProfileCode; + BOOL IsProfile(void); BOOL SaveProfile(const char *name); BOOL LoadProfile(const char *name); diff --git a/src/SelStage.h b/src/SelStage.h index 7f1a49d4..f06dc427 100644 --- a/src/SelStage.h +++ b/src/SelStage.h @@ -10,6 +10,9 @@ typedef struct PERMIT_STAGE extern PERMIT_STAGE gPermitStage[8]; +extern int gSelectedStage; +extern int gStageSelectTitleY; + void ClearPermitStage(void); BOOL AddPermitStage(int index, int event); BOOL SubPermitStage(int index); diff --git a/src/Shoot.cpp b/src/Shoot.cpp index 64bf7788..8c05dfa8 100644 --- a/src/Shoot.cpp +++ b/src/Shoot.cpp @@ -10,7 +10,7 @@ #include "MycParam.h" #include "Sound.h" -int empty; +static int empty; void ShootBullet_Frontia1(int level) { diff --git a/src/Stage.cpp b/src/Stage.cpp index 967dd9de..294f2423 100644 --- a/src/Stage.cpp +++ b/src/Stage.cpp @@ -206,7 +206,7 @@ BOOL TransferStage(int no, int w, int x, int y) } // Music -const char *gMusicTable[42] = { +const char* const gMusicTable[42] = { "XXXX", "WANPAKU", "ANZEN", diff --git a/src/Stage.h b/src/Stage.h index be4f13fd..c5831888 100644 --- a/src/Stage.h +++ b/src/Stage.h @@ -62,6 +62,12 @@ typedef struct STAGE_TABLE extern int gStageNo; extern MusicID gMusicNo; +extern unsigned int gOldPos; +extern MusicID gOldNo; + +extern const STAGE_TABLE gTMT[95]; + +extern const char* const gMusicTable[42]; BOOL TransferStage(int no, int w, int x, int y); void ChangeMusic(MusicID no); diff --git a/src/TextScr.cpp b/src/TextScr.cpp index da205c35..0a434fe8 100644 --- a/src/TextScr.cpp +++ b/src/TextScr.cpp @@ -42,9 +42,9 @@ TEXT_SCRIPT gTS; -char text[4][0x40]; +static char text[4][0x40]; -RECT gRect_line = {0, 0, 216, 16}; +const RECT gRect_line = {0, 0, 216, 16}; #ifdef FIX_BUGS static unsigned long nod_color; diff --git a/src/TextScr.h b/src/TextScr.h index 9cc49259..eb87f61f 100644 --- a/src/TextScr.h +++ b/src/TextScr.h @@ -53,6 +53,10 @@ typedef struct TEXT_SCRIPT unsigned char wait_beam; } TEXT_SCRIPT; +extern TEXT_SCRIPT gTS; + +extern const RECT gRect_line; + BOOL InitTextScript2(void); void EndTextScript(void); void EncryptionBinaryData2(unsigned char *pData, long size); diff --git a/src/Triangle.h b/src/Triangle.h index 29a1a843..e9d8947e 100644 --- a/src/Triangle.h +++ b/src/Triangle.h @@ -1,5 +1,8 @@ #pragma once +extern int gSin[0x100]; +extern short gTan[0x21]; + void InitTriangleTable(void); int GetSin(unsigned char deg); int GetCos(unsigned char deg); diff --git a/src/ValueView.cpp b/src/ValueView.cpp index 0813bad9..3cbe4d97 100644 --- a/src/ValueView.cpp +++ b/src/ValueView.cpp @@ -6,8 +6,6 @@ #include "Draw.h" -#define VALUEVIEW_MAX 0x10 - VALUEVIEW gVV[VALUEVIEW_MAX]; int gVVIndex; diff --git a/src/ValueView.h b/src/ValueView.h index 368e7039..2c786d8f 100644 --- a/src/ValueView.h +++ b/src/ValueView.h @@ -2,6 +2,8 @@ #include "WindowsWrapper.h" +#define VALUEVIEW_MAX 0x10 + typedef struct VALUEVIEW { BOOL flag; @@ -13,6 +15,9 @@ typedef struct VALUEVIEW RECT rect; } VALUEVIEW; +extern VALUEVIEW gVV[VALUEVIEW_MAX]; +extern int gVVIndex; + void ClearValueView(void); void SetValueView(int *px, int *py, int value); void ActValueView(void);