diff --git a/src/openrct2-ui/WindowManager.cpp b/src/openrct2-ui/WindowManager.cpp index fc35bab07c..60c1efa023 100644 --- a/src/openrct2-ui/WindowManager.cpp +++ b/src/openrct2-ui/WindowManager.cpp @@ -166,8 +166,8 @@ public: case WC_LOADSAVE: { uint32 type = intent->GetUIntExtra(INTENT_EXTRA_LOADSAVE_TYPE); - utf8 *defaultName = intent->GetStringExtra(INTENT_EXTRA_PATH) - loadsave_callback callback = static_cast(intent->GetPointerExtra(INTENT_EXTRA_CALLBACK)); + const utf8 *defaultName = intent->GetStringExtra(INTENT_EXTRA_PATH); + loadsave_callback callback = (loadsave_callback) intent->GetPointerExtra(INTENT_EXTRA_CALLBACK); rct_window *w = window_loadsave_open(type, defaultName); window_loadsave_set_loadsave_callback(callback); diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index 61020c794f..e4c740d63b 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -161,7 +161,7 @@ static sint32 window_loadsave_get_dir(utf8 *last_save, char *path, const char *s return 1; } -rct_window *window_loadsave_open(sint32 type, char *defaultName) +rct_window *window_loadsave_open(sint32 type, const char *defaultName) { _loadSaveCallback = nullptr; _type = type; diff --git a/src/openrct2-ui/windows/TrackDesignManage.cpp b/src/openrct2-ui/windows/TrackDesignManage.cpp index 09584369d7..71eb763bc8 100644 --- a/src/openrct2-ui/windows/TrackDesignManage.cpp +++ b/src/openrct2-ui/windows/TrackDesignManage.cpp @@ -141,7 +141,7 @@ static void window_track_design_list_reload_tracks(); * * rct2: 0x006D348F */ -static void _window_track_manage_open(track_design_file_ref *tdFileRef) +rct_window * window_track_manage_open(track_design_file_ref *tdFileRef) { window_close_by_class(WC_MANAGE_TRACK_DESIGN); @@ -165,6 +165,8 @@ static void _window_track_manage_open(track_design_file_ref *tdFileRef) } _trackDesignFileReference = tdFileRef; + + return w; } /** @@ -321,11 +323,3 @@ static void window_track_design_list_reload_tracks() trackListWindow->track_list.reload_track_designs = true; } } - -extern "C" -{ - void window_track_manage_open(track_design_file_ref *tdFileRef) - { - _window_track_manage_open(tdFileRef); - } -} diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index a669fc5deb..b8cfb76bb9 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -142,11 +142,11 @@ static void window_track_place_clear_mini_preview() * * rct2: 0x006CFCA0 */ -void window_track_place_open(const track_design_file_ref *tdFileRef) +rct_window * window_track_place_open(const track_design_file_ref *tdFileRef) { rct_track_td6 *td6 = track_design_open(tdFileRef->path); if (td6 == nullptr) { - return; + return nullptr; } window_close_construction_windows(); @@ -180,6 +180,8 @@ void window_track_place_open(const track_design_file_ref *tdFileRef) window_track_place_draw_mini_preview(td6); _trackDesign = td6; + + return w; } /** diff --git a/src/openrct2-ui/windows/Window.h b/src/openrct2-ui/windows/Window.h index 2c4c77b834..84455e1719 100644 --- a/src/openrct2-ui/windows/Window.h +++ b/src/openrct2-ui/windows/Window.h @@ -86,7 +86,7 @@ rct_window * window_scenarioselect_open(scenarioselect_callback callback); rct_window * window_error_open(rct_string_id title, rct_string_id message); -rct_window * window_loadsave_open(sint32 type, char *defaultName); +rct_window * window_loadsave_open(sint32 type, const char *defaultName); void window_loadsave_set_loadsave_callback(loadsave_callback cb); rct_window * window_track_place_open(const struct track_design_file_ref *tdFileRef); rct_window * window_track_manage_open(struct track_design_file_ref *tdFileRef);