From e9054a9c0867413f9375da6a759fffb60e64475c Mon Sep 17 00:00:00 2001 From: Alexander Batalov Date: Fri, 29 Jul 2022 15:12:51 +0300 Subject: [PATCH] More fixes --- src/mouse_manager.cc | 2 +- src/selfrun.cc | 14 +++++++------- src/window.cc | 5 ----- src/window.h | 5 +++-- src/window_manager.cc | 2 +- src/window_manager.h | 2 +- src/window_manager_private.cc | 11 ----------- src/window_manager_private.h | 2 +- 8 files changed, 14 insertions(+), 29 deletions(-) diff --git a/src/mouse_manager.cc b/src/mouse_manager.cc index 092bf41..1586e5b 100644 --- a/src/mouse_manager.cc +++ b/src/mouse_manager.cc @@ -523,7 +523,7 @@ bool mouseManagerSetMousePointer(char* fileName) } char* dot = strrchr(fileName, '.'); - if (dot != NULL && stricmp(dot + 1, "mou") == 0) { + if (dot != NULL && compat_stricmp(dot + 1, "mou") == 0) { return mouseManagerSetMouseShape(fileName, 0, 0); } diff --git a/src/selfrun.cc b/src/selfrun.cc index 99a6780..2e19973 100644 --- a/src/selfrun.cc +++ b/src/selfrun.cc @@ -4,8 +4,8 @@ #include "db.h" #include "game.h" #include "game_config.h" +#include "platform_compat.h" -#include #include // 0x51C8D8 @@ -58,7 +58,7 @@ int selfrunPreparePlayback(const char* fileName, SelfrunData* selfrunData) return -1; } - char path[MAX_PATH]; + char path[COMPAT_MAX_PATH]; sprintf(path, "%s%s", "selfrun\\", fileName); if (selfrunReadData(path, selfrunData) != 0) { @@ -74,7 +74,7 @@ int selfrunPreparePlayback(const char* fileName, SelfrunData* selfrunData) void selfrunPlaybackLoop(SelfrunData* selfrunData) { if (gSelfrunState == SELFRUN_STATE_PLAYING) { - char path[MAX_PATH]; + char path[COMPAT_MAX_PATH]; sprintf(path, "%s%s", "selfrun\\", selfrunData->recordingFileName); if (vcrPlay(path, VCR_TERMINATE_ON_KEY_PRESS | VCR_TERMINATE_ON_MOUSE_PRESS, selfrunPlaybackCompleted)) { @@ -125,7 +125,7 @@ int selfrunPrepareRecording(const char* recordingName, const char* mapFileName, selfrunData->stopKeyCode = KEY_CTRL_R; - char path[MAX_PATH]; + char path[COMPAT_MAX_PATH]; sprintf(path, "%s%s%s", "selfrun\\", recordingName, ".sdf"); if (selfrunWriteData(path, selfrunData) != 0) { @@ -141,7 +141,7 @@ int selfrunPrepareRecording(const char* recordingName, const char* mapFileName, void selfrunRecordingLoop(SelfrunData* selfrunData) { if (gSelfrunState == SELFRUN_STATE_RECORDING) { - char path[MAX_PATH]; + char path[COMPAT_MAX_PATH]; sprintf(path, "%s%s", "selfrun\\", selfrunData->recordingFileName); if (vcrRecord(path)) { if (!cursorIsHidden()) { @@ -213,10 +213,10 @@ int selfrunWriteData(const char* path, SelfrunData* selfrunData) char* masterPatches; configGetString(&gGameConfig, GAME_CONFIG_SYSTEM_KEY, GAME_CONFIG_MASTER_PATCHES_KEY, &masterPatches); - char selfrunDirectoryPath[MAX_PATH]; + char selfrunDirectoryPath[COMPAT_MAX_PATH]; sprintf(selfrunDirectoryPath, "%s\\%s", masterPatches, "selfrun\\"); - mkdir(selfrunDirectoryPath); + compat_mkdir(selfrunDirectoryPath); File* stream = fileOpen(path, "wb"); if (stream == NULL) { diff --git a/src/window.cc b/src/window.cc index c659b1d..6d1fabd 100644 --- a/src/window.cc +++ b/src/window.cc @@ -64,11 +64,6 @@ typedef struct ManagedWindow { typedef int (*INITVIDEOFN)(); -static int _selectWindow(const char* windowName); -static void _windowWrapLineWithSpacing(int win, char* string, int width, int height, int x, int y, int flags, int textAlignment, int a9); -static void _removeProgramReferences_3(Program* program); -static bool _windowAddButtonRightProc(const char* buttonName, Program* program, int a3, int a4); - // 0x51DCAC static int _holdTime = 250; diff --git a/src/window.h b/src/window.h index c0ec654..9f890b4 100644 --- a/src/window.h +++ b/src/window.h @@ -90,12 +90,13 @@ bool _windowDisplay(char* fileName, int x, int y, int width, int height); bool _windowDisplayBuf(unsigned char* src, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight); int _windowGetXres(); int _windowGetYres(); +void _removeProgramReferences_3(Program* program); void _initWindow(int resolution, int a2); void _windowClose(); bool _windowDeleteButton(const char* buttonName); bool _windowSetButtonFlag(const char* buttonName, int value); bool _windowAddButton(const char* buttonName, int x, int y, int width, int height, int flags); -bool _windowAddButtonGfx(const char* buttonName, char* a2, char* a3, char* a4); +bool _windowAddButtonGfx(const char* buttonName, char* pressedFileName, char* normalFileName, char* hoverFileName); bool _windowAddButtonProc(const char* buttonName, Program* program, int mouseEnterProc, int mouseExitProc, int mouseDownProc, int mouseUpProc); bool _windowAddButtonRightProc(const char* buttonName, Program* program, int rightMouseDownProc, int rightMouseUpProc); bool _windowAddButtonCfunc(const char* buttonName, ManagedButtonMouseEventCallback* callback, void* userData); @@ -121,7 +122,7 @@ bool _windowPlayMovieRect(char* filePath, int a2, int a3, int a4, int a5); void _windowStopMovie(); void _drawScaled(unsigned char* dest, int destWidth, int destHeight, int destPitch, unsigned char* src, int srcWidth, int srcHeight, int srcPitch); void _drawScaledBuf(unsigned char* dest, int destWidth, int destHeight, unsigned char* src, int srcWidth, int srcHeight); -void _alphaBltBuf(unsigned char* src, int srcWidth, int srcHeight, int srcPitch, unsigned char* a5, unsigned char* a6, unsigned char* dest, int destPitch); +void _alphaBltBuf(unsigned char* src, int srcWidth, int srcHeight, int srcPitch, unsigned char* alphaWindowBuffer, unsigned char* alphaBuffer, unsigned char* dest, int destPitch); void _fillBuf3x3(unsigned char* src, int srcWidth, int srcHeight, unsigned char* dest, int destWidth, int destHeight); #endif /* WINDOW_H */ diff --git a/src/window_manager.cc b/src/window_manager.cc index 4fa70f7..9840c71 100644 --- a/src/window_manager.cc +++ b/src/window_manager.cc @@ -496,7 +496,7 @@ void windowDrawBorder(int win) } // 0x4D684C -void windowDrawText(int win, char* str, int a3, int x, int y, int a6) +void windowDrawText(int win, const char* str, int a3, int x, int y, int a6) { int v7; int v14; diff --git a/src/window_manager.h b/src/window_manager.h index 54e8acf..cd712e6 100644 --- a/src/window_manager.h +++ b/src/window_manager.h @@ -155,7 +155,7 @@ void windowManagerExit(void); int windowCreate(int x, int y, int width, int height, int a4, int flags); void windowDestroy(int win); void windowDrawBorder(int win); -void windowDrawText(int win, char* str, int a3, int x, int y, int a6); +void windowDrawText(int win, const char* str, int a3, int x, int y, int a6); void _win_text(int win, char** fileNameList, int fileNameListLength, int maxWidth, int x, int y, int flags); void windowDrawLine(int win, int left, int top, int right, int bottom, int color); void windowDrawRect(int win, int left, int top, int right, int bottom, int color); diff --git a/src/window_manager_private.cc b/src/window_manager_private.cc index de8a228..ee2fdf2 100644 --- a/src/window_manager_private.cc +++ b/src/window_manager_private.cc @@ -24,17 +24,6 @@ typedef struct STRUCT_6B2370 { int field_8; } STRUCT_6B2370; -static void _win_debug_delete(); -static int _win_register_menu_bar(int win, int x, int y, int width, int height, int a6, int a7); -static int _win_register_menu_pulldown(int win, int x, char* str, int a4); -static int _win_width_needed(char** fileNameList, int fileNameListLength); -static int _calc_max_field_chars_wcursor(int a1, int a2); -static void _tm_watch_msgs(); -static void _tm_kill_msg(); -static void _tm_kill_out_of_order(int a1); -static void _tm_click_response(int btn); -static int _tm_index_active(int a1); - // 0x51E414 static int _wd = -1; diff --git a/src/window_manager_private.h b/src/window_manager_private.h index 43087de..55353c1 100644 --- a/src/window_manager_private.h +++ b/src/window_manager_private.h @@ -10,7 +10,7 @@ typedef void(ListSelectionHandler)(char** items, int index); extern char gProgramWindowTitle[256]; int _win_list_select(const char* title, char** fileList, int fileListLength, ListSelectionHandler* callback, int x, int y, int a7); -int _win_list_select_at(const char* title, char** fileList, int fileListLength, ListSelectionHandler* callback, int x, int y, int a7, int a8); +int _win_list_select_at(const char* title, char** items, int itemsLength, ListSelectionHandler* callback, int x, int y, int a7, int a8); int _win_get_str(char* dest, int length, const char* title, int x, int y); int _win_msg(const char* string, int x, int y, int flags); int _win_pull_down(char** items, int itemsLength, int x, int y, int a5);