diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7f47422374b32191d028284640dc6ff1bb0def77..79afe0ee014343fa2fec053a3c0111c753ebaabf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -183,7 +183,7 @@ Contributions should generally not add any new sanity check errors. You can chec
 ### External Programs
 
 * `docker/` contains Docker files from which the docker containers for GitLabs CI are created
-* `FCHost/` contains the sources for [FCHost](FCHost/documentation_FCHost.md)
+* `FCHost/` contains the sources for [FCHost](FCHost/README.md)
 * `saveTools/` contains tools for [editing save files](saveTools/README.md)
 
 ## Further Reading
diff --git a/FCHost/.gitignore b/FCHost/.gitignore
index 00e8d2bdbdac408ce9523ae1c3216684553414aa..61c97aeb5b0a4d8fde856d88603137b84bfc2d5e 100644
--- a/FCHost/.gitignore
+++ b/FCHost/.gitignore
@@ -1,16 +1,21 @@
 CMakeCache.txt
-CMakeFiles
-Debug
-Release
+CMakeFiles/
+Debug/
+Release/
 Release.file
 x64
 *.sln
 *.vcxproj
 *.vcxproj.filters
 *.vcxproj.user
-libcef_dll_wrapper
+libcef_dll_wrapper/
+libs/
 .vs
 cmake_install.cmake
 *.VC.db
 GPUCache
 PreCompiledFCHost.zip
+Makefile
+.ninja_deps
+.ninja_log
+build.ninja
diff --git a/FCHost/Building_FCHost.txt b/FCHost/Building_FCHost.txt
deleted file mode 100644
index cc373a515c0c8db34cdd36478f7b7775f5edd130..0000000000000000000000000000000000000000
--- a/FCHost/Building_FCHost.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-BUILD REQUIREMENTS
-
-The below requirements must be met to build this project.
-
- - Chromium Embedded Framework (CEF) 112.0.1 or newer.  The windows build is
-   currently configured to operate with the X64 binary distribution of CEF.
-
- - CMake version 2.8.12.1 or newer.
-
- - Linux/MacOS requirements:
-   I haven't tested these platforms, and there is platform-specific code missing.
-   Shouldn't be too hard to add, check the CEF distribution and treat FCHost
-   as a derivative of tests/cefsimple.
-   
- - Have the environment variable CEF_ROOT set to the root of your CEF distribution.
- - Have the CMake binary folder added to your path e.g. for Windows C:\Program Files\CMake\bin.
-
- - Windows requirements:
-   Visual Studio 2019 (the community edition will work fine) or newer with the "Desktop development with C++" workload installed.
-
-BUILD STEPS
-
-If you are running Windows and meet the above requirements then within the root of FCHost/, 
-execute cmake_vs2019.bat which will generate FCHost.sln in the same location.
-Now open FCHost.sln in Visual Studio 2019 
-and build from there via tool bar -> Build -> Build Solution or Ctrl + Shift + B.
-If using Visual Studio 2022, simply use cmake_vs2022.bat instead.
-
-The resulting binary and supporting files will be in
-FCHost/fchost/Debug, or FCHost/fchost/Release depending on the configuration
-selected in Visual Studio via the drop down found under the Build and Debug tool bar headers.  
-
-You should be able to zip up the contents of the 
-Release folder and distribute them to another machine or user if desired.
-Due to space and privacy concerns it is suggested that you remove *.html and fchost.ilk prior to distribution. 
-
-If you are not running Windows or you need something else special, please
-familiarize yourself with CMake and see the detailed information in CMakeLists.txt.
\ No newline at end of file
diff --git a/FCHost/CMakeLists.txt b/FCHost/CMakeLists.txt
index 6384b09898bcdf1c8f46633dedc581cc3a6b7c71..c279663bf3fe00b144c25995d99f873c10c860e1 100644
--- a/FCHost/CMakeLists.txt
+++ b/FCHost/CMakeLists.txt
@@ -105,45 +105,73 @@ set_property(GLOBAL PROPERTY OS_FOLDERS ON)
 
 
 #
-# CEF_ROOT setup.
-# This variable must be set to locate the binary distribution.
-#
+# CEF configuration.
+#
+
+# Specify the CEF distribution version.
+# Visit https://cef-builds.spotifycdn.com/index.html for the list of
+# supported platforms and versions.
+set(CEF_VERSION "126.2.11+gb281f7a+chromium-126.0.6478.127")
+
+# Determine the platform.
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+  if("${PROJECT_ARCH}" STREQUAL "arm64")
+    set(CEF_PLATFORM "macosarm64")
+  elseif("${PROJECT_ARCH}" STREQUAL "x86_64")
+    set(CEF_PLATFORM "macosx64")
+  elseif("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "arm64")
+    set(PROJECT_ARCH "arm64")
+    set(CEF_PLATFORM "macosarm64")
+  else()
+    set(PROJECT_ARCH "x86_64")
+    set(CEF_PLATFORM "macosx64")
+  endif()
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+  if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm")
+    set(CEF_PLATFORM "linuxarm")
+  elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64")
+    set(CEF_PLATFORM "linuxarm64")
+  elseif(CMAKE_SIZEOF_VOID_P MATCHES 8)
+    set(CEF_PLATFORM "linux64")
+  else()
+    message(FATAL_ERROR "Linux x86 32-bit builds are discontinued.")
+  endif()
+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
+  if("${CMAKE_CXX_COMPILER_ARCHITECTURE_ID}" STREQUAL "ARM64")
+    set(CEF_PLATFORM "windowsarm64")
+  elseif(CMAKE_SIZEOF_VOID_P MATCHES 8)
+    set(CEF_PLATFORM "windows64")
+  else()
+    set(CEF_PLATFORM "windows32")
+  endif()
+endif()
 
-# The binary distribution is in a separate directory from your
-# project. Locate the binary distribution using the CEF_ROOT
-# environment variable.
-#
-# Set the CEF_ROOT environment variable before executing CMake. For example:
-#    > set CEF_ROOT=c:\path\to\cef_binary_3.2704.xxxx.gyyyyyyy_windows32
-#
-# set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+# Add this project's cmake/ directory to the module path.
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
+# Download and extract the CEF binary distribution (executes DownloadCEF.cmake).
+include(DownloadCEF)
+DownloadCEF("${CEF_PLATFORM}" "${CEF_VERSION}" "${CMAKE_SOURCE_DIR}/libs")
 
-#
-# Load the CEF configuration.
-#
+# Add the CEF binary distribution's cmake/ directory to the module path.
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CEF_ROOT}/cmake")
 
-# try to find system installation
-find_package(CEF QUIET)
+# Load the CEF configuration (executes FindCEF.cmake).
+find_package(CEF REQUIRED)
 
-if(NOT DEFINED _CEF_ROOT_EXPLICIT) # if that fails, try the standard way
-  include("${CMAKE_CURRENT_LIST_DIR}/cmake/FindCEF.cmake")
-endif()
 
 #
 # Define CEF-based targets.
 #
 
 # Include the libcef_dll_wrapper target.
-# Comes from the libcef_dll/CMakeLists.txt file in the binary distribution
-# directory.
 add_subdirectory(${CEF_LIBCEF_DLL_WRAPPER_PATH} libcef_dll_wrapper)
 
+# Allow includes relative to the current source directory.
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
 # Include application targets.
-# Comes from the <target>/CMakeLists.txt file in the current directory.
-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/fchost")
-  add_subdirectory(fchost)
-endif()
+add_subdirectory(fchost)
 
 # Display configuration settings.
 PRINT_CEF_CONFIG()
diff --git a/FCHost/HowToBuild.md b/FCHost/HowToBuild.md
new file mode 100644
index 0000000000000000000000000000000000000000..8dc0cb10d81d2e2e1cdd19620a0cc4f79a0356b5
--- /dev/null
+++ b/FCHost/HowToBuild.md
@@ -0,0 +1,58 @@
+# How to Build
+
+## BUILD REQUIREMENTS
+
+The below requirements must be met to build this project.
+
+- CMake version 2.8.12.1 or newer
+  - Ensure the CMake binary folder is added to your path (e.g. for Windows `C:\Program Files\CMake\bin`)
+- Chromium Embedded Framework (CEF) 126.1 or newer
+  - Running CMake will automatically download this so there is no need to configure it yourself
+
+### Windows
+
+Visual Studio 2019 (the community edition will work fine) or newer with the "Desktop development with C++" workload installed.
+
+### Linux
+
+Ensure you have a C++ compiler installed. On Debian/Ubuntu this can be installed with:
+
+```bash
+sudo apt install build-essential
+```
+
+## BUILD STEPS
+
+### Windows
+
+Assuming that Visual Studio 2019/2022 is being used, run the following command:
+
+```bash
+# For Visual Studio 2019
+# Alternatively run `cmake_vs2019.bat`
+cmake -G "Visual Studio 16" .
+
+# For Visual Studio 2022
+# Alternatively run `cmake_vs2022.bat`
+cmake -G "Visual Studio 17" .
+```
+
+Open the generated `fchost.sln` file in Visual Studio. Then build the project by either:
+
+- Selecting **Build > Build Solution** on the menu bar
+- Pressing **Ctrl + Shift + B**
+
+### Linux
+
+Run the following commands:
+
+```bash
+cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .
+make -j4
+```
+
+### Output
+
+The resulting binary and supporting files will be in `FCHost/fchost/Debug` or `FCHost/fchost/Release` depending on the configuration selected in Visual Studio via the drop down found under the Build and Debug tool bar headers.
+
+You should be able to zip up the contents of the Release folder and distribute them to another machine or user if desired. Due to space and privacy concerns it is suggested that you remove `*.html` and `fchost.ilk` files (if present) prior to distribution.
diff --git a/FCHost/documentation_FCHost.md b/FCHost/README.md
similarity index 64%
rename from FCHost/documentation_FCHost.md
rename to FCHost/README.md
index dc04e359fad34524e667429eb9bc4b16b76cb3b3..691fc5a700905b8d1c74278a14ef49165a06d10b 100644
--- a/FCHost/documentation_FCHost.md
+++ b/FCHost/README.md
@@ -4,10 +4,10 @@
 
 FCHost is an alternative HTML renderer for playing Pregmod based on Chromium. It has multiple advantages compared to normal browsers:
 
-* No browser cache limits, allowing arbitrarily large save files.
-* Saves are stored in an easily accessible way on disk, allowing for easy manual editing.
-* No lost saves due to accidentally cleared cookies.
-* Can be noticeable faster.
+- No browser cache limits, allowing arbitrarily large save files.
+- Saves are stored in an easily accessible way on disk, allowing for easy manual editing.
+- No lost saves due to accidentally cleared cookies.
+- Can be noticeable faster.
 
 A Windows build is available for [download](https://mega.nz/file/AFhTxLxR#fQgZFswJHVLpLlY5BzhTPmUKtmISeHdJ065b_MW0700).
 
@@ -27,9 +27,9 @@ the art resources have to be placed in a `resources` directory next to the HTML
 Elohiem's interactive WebGL:
 
 - fchost.exe
-- resources/ 
-  - webgl 
-    
+- resources/
+  - webgl
+
 Shokusku's rendered image pack
 
 - fchost.exe
@@ -42,16 +42,18 @@ If making changes while the game is open make sure to refresh or restart FCHost
 ## Keybinds
 
 | Action    | Key Combination  |
-| --------- |------------------|
+| --------- | ---------------- |
 | Zoom In   | Ctrl + Plus      |
 | Zoom Out  | Ctrl + Minus     |
 | Dev Tools | Ctrl + Shift + J |
 
-
 ## Save file locations
 
-On Windows saves are stored in `%User%\Documents\FreeCities_Pregmod\FCHostPersistentStorage\`
+| Platform | Location                                                       |
+| -------- | -------------------------------------------------------------- |
+| Windows  | `%User%\Documents\FreeCities_Pregmod\FCHostPersistentStorage\` |
+| Linux    | `~/.local/share/FreeCities_Pregmod/FCHostPersistentStorage/`   |
 
 ## Building FCHost
 
-If you want to build FCHost yourself please refer to [FCHost/Building_FCHost.txt](FCHost/Building_FCHost.txt).
+If you want to build FCHost yourself please refer to [FCHost/HowToBuild.md](FCHost/HowToBuild.md).
diff --git a/FCHost/cmake/DownloadCEF.cmake b/FCHost/cmake/DownloadCEF.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..deb10ba9bcbb13d990c01aa855258894f31acab4
--- /dev/null
+++ b/FCHost/cmake/DownloadCEF.cmake
@@ -0,0 +1,48 @@
+# Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
+# reserved. Use of this source code is governed by a BSD-style license that
+# can be found in the LICENSE file.
+
+# Download the CEF binary distribution for |platform| and |version| to
+# |download_dir|. The |CEF_ROOT| variable will be set in global scope pointing
+# to the extracted location.
+# Visit https://cef-builds.spotifycdn.com/index.html for the list of
+# supported platforms and versions.
+
+function(DownloadCEF platform version download_dir)
+  # Specify the binary distribution type and download directory.
+  set(CEF_DISTRIBUTION "cef_binary_${version}_${platform}")
+  set(CEF_DOWNLOAD_DIR "${download_dir}")
+
+  # The location where we expect the extracted binary distribution.
+  set(CEF_ROOT "${CEF_DOWNLOAD_DIR}/${CEF_DISTRIBUTION}" CACHE INTERNAL "CEF_ROOT")
+
+  # Download and/or extract the binary distribution if necessary.
+  if(NOT IS_DIRECTORY "${CEF_ROOT}")
+    set(CEF_DOWNLOAD_FILENAME "${CEF_DISTRIBUTION}.tar.bz2")
+    set(CEF_DOWNLOAD_PATH "${CEF_DOWNLOAD_DIR}/${CEF_DOWNLOAD_FILENAME}")
+    if(NOT EXISTS "${CEF_DOWNLOAD_PATH}")
+      set(CEF_DOWNLOAD_URL "https://cef-builds.spotifycdn.com/${CEF_DOWNLOAD_FILENAME}")
+      string(REPLACE "+" "%2B" CEF_DOWNLOAD_URL_ESCAPED ${CEF_DOWNLOAD_URL})
+
+      # Download the SHA1 hash for the binary distribution.
+      message(STATUS "Downloading ${CEF_DOWNLOAD_PATH}.sha1 from ${CEF_DOWNLOAD_URL_ESCAPED}...")
+      file(DOWNLOAD "${CEF_DOWNLOAD_URL_ESCAPED}.sha1" "${CEF_DOWNLOAD_PATH}.sha1")
+      file(READ "${CEF_DOWNLOAD_PATH}.sha1" CEF_SHA1)
+
+      # Download the binary distribution and verify the hash.
+      message(STATUS "Downloading ${CEF_DOWNLOAD_PATH}...")
+      file(
+        DOWNLOAD "${CEF_DOWNLOAD_URL_ESCAPED}" "${CEF_DOWNLOAD_PATH}"
+        EXPECTED_HASH SHA1=${CEF_SHA1}
+        SHOW_PROGRESS
+        )
+    endif()
+
+    # Extract the binary distribution.
+    message(STATUS "Extracting ${CEF_DOWNLOAD_PATH}...")
+    execute_process(
+      COMMAND ${CMAKE_COMMAND} -E tar xzf "${CEF_DOWNLOAD_DIR}/${CEF_DOWNLOAD_FILENAME}"
+      WORKING_DIRECTORY ${CEF_DOWNLOAD_DIR}
+      )
+  endif()
+endfunction()
\ No newline at end of file
diff --git a/FCHost/cmake/FindCEF.cmake b/FCHost/cmake/FindCEF.cmake
deleted file mode 100644
index cd33a7ddad40a52f4c7bdac62812f8c0d1a22760..0000000000000000000000000000000000000000
--- a/FCHost/cmake/FindCEF.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
-# reserved. Use of this source code is governed by a BSD-style license that
-# can be found in the LICENSE file.
-
-#
-# This file is the CEF CMake configuration entry point and should be loaded
-# using `find_package(CEF REQUIRED)`. See the top-level CMakeLists.txt file
-# included with the CEF binary distribution for usage information.
-#
-
-# Find the CEF binary distribution root directory.
-set(_CEF_ROOT "")
-if(CEF_ROOT AND IS_DIRECTORY "${CEF_ROOT}")
-  set(_CEF_ROOT "${CEF_ROOT}")
-  set(_CEF_ROOT_EXPLICIT 1)
-else()
-  set(_ENV_CEF_ROOT "")
-  if(DEFINED ENV{CEF_ROOT})
-    file(TO_CMAKE_PATH "$ENV{CEF_ROOT}" _ENV_CEF_ROOT)
-  endif()
-  if(_ENV_CEF_ROOT AND IS_DIRECTORY "${_ENV_CEF_ROOT}")
-    set(_CEF_ROOT "${_ENV_CEF_ROOT}")
-    set(_CEF_ROOT_EXPLICIT 1)
-  endif()
-  unset(_ENV_CEF_ROOT)
-endif()
-
-if(NOT DEFINED _CEF_ROOT_EXPLICIT)
-  message(FATAL_ERROR "Must specify a CEF_ROOT value via CMake or environment variable.")
-endif()
-
-if(NOT IS_DIRECTORY "${_CEF_ROOT}/cmake")
-  message(FATAL_ERROR "No CMake bootstrap found for CEF binary distribution at: ${CEF_ROOT}.")
-endif()
-
-# Execute additional cmake files from the CEF binary distribution.
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${_CEF_ROOT}/cmake")
-include("cef_variables")
-include("cef_macros")
diff --git a/FCHost/fchost/fchost_handler.cc b/FCHost/fchost/fchost_handler.cc
index 51fa309b5d216b3fcc786a462524d628ce31b92e..e2c52b80f16664865e2598e968a7f58079ae7a3c 100644
--- a/FCHost/fchost/fchost_handler.cc
+++ b/FCHost/fchost/fchost_handler.cc
@@ -174,7 +174,7 @@ void FCHostHandler::OnLoadEnd(CefRefPtr<CefBrowser> browser,
         }", frame->GetURL(), 0);
 }
 
-void FCHostHandler::OnBeforeDownload(CefRefPtr<CefBrowser> browser,
+bool FCHostHandler::OnBeforeDownload(CefRefPtr<CefBrowser> browser,
 									 CefRefPtr<CefDownloadItem> download_item,
 									 const CefString& suggested_name,
 									 CefRefPtr< CefBeforeDownloadCallback > callback)
@@ -182,6 +182,8 @@ void FCHostHandler::OnBeforeDownload(CefRefPtr<CefBrowser> browser,
 	CEF_REQUIRE_UI_THREAD();
 
 	callback->Continue(suggested_name, true);
+
+	return true;
 }
 
 bool FCHostHandler::OnPreKeyEvent(CefRefPtr<CefBrowser> browser,
diff --git a/FCHost/fchost/fchost_handler.h b/FCHost/fchost/fchost_handler.h
index 0b9577556f096f7e3472adb719302d521561f2de..fe81804ac3a2f1e1c291d73fab8c8fc0989ff33c 100644
--- a/FCHost/fchost/fchost_handler.h
+++ b/FCHost/fchost/fchost_handler.h
@@ -36,9 +36,14 @@ class FCHostHandler : public CefClient,
   virtual CefRefPtr<CefContextMenuHandler> GetContextMenuHandler() override { return this; }
 
   CefRefPtr< CefDialogHandler > GetDialogHandler() override { return this; }
-  bool OnFileDialog(CefRefPtr<CefBrowser> browser, CefDialogHandler::FileDialogMode mode,
-    const CefString& title, const CefString& default_file_path, const std::vector<CefString>& accept_filters,
-    CefRefPtr<CefFileDialogCallback> callback) override;
+  bool OnFileDialog(CefRefPtr<CefBrowser> browser,
+                    CefDialogHandler::FileDialogMode mode,
+                    const CefString& title,
+                    const CefString& default_file_path,
+                    const std::vector<CefString>& accept_filters,
+                    const std::vector<CefString>& accept_extensions,
+                    const std::vector<CefString>& accept_descriptions,
+                    CefRefPtr<CefFileDialogCallback> callback) override;
 
   // CefDisplayHandler methods:
   virtual void OnTitleChange(CefRefPtr<CefBrowser> browser,
@@ -65,7 +70,7 @@ class FCHostHandler : public CefClient,
                          int httpStatusCode) override;
 
   // CefDownloadHandler methods:
-  virtual void OnBeforeDownload(CefRefPtr<CefBrowser> browser,
+  virtual bool OnBeforeDownload(CefRefPtr<CefBrowser> browser,
 								CefRefPtr<CefDownloadItem> download_item,
 								const CefString& suggested_name,
 								CefRefPtr< CefBeforeDownloadCallback > callback) override;
diff --git a/FCHost/fchost/fchost_handler_linux.cc b/FCHost/fchost/fchost_handler_linux.cc
index 9e02a67bf31562a7bfbc453f150d4f3852ecf0b0..bbac273eee971e10a76413b75b9304640df36b91 100644
--- a/FCHost/fchost/fchost_handler_linux.cc
+++ b/FCHost/fchost/fchost_handler_linux.cc
@@ -233,9 +233,14 @@ void FCHostHandler::PlatformTitleChange(CefRefPtr<CefBrowser> browser, const Cef
 #endif	// defined(CEF_X11)
 }
 
-bool FCHostHandler::OnFileDialog(CefRefPtr<CefBrowser> /* browser */, CefDialogHandler::FileDialogMode mode,
-		const CefString& title, const CefString& default_file_path, const std::vector<CefString>& accept_filters,
-		CefRefPtr<CefFileDialogCallback> callback)
+bool FCHostHandler::OnFileDialog(CefRefPtr<CefBrowser> /* browser */,
+                                 CefDialogHandler::FileDialogMode mode,
+                                 const CefString& title,
+                                 const CefString& default_file_path,
+                                 const std::vector<CefString>& accept_filters,
+                                 const std::vector<CefString>& /* accept_extensions */,
+                                 const std::vector<CefString>& /* accept_descriptions */,
+                                 CefRefPtr<CefFileDialogCallback> callback)
 {
 	static DialogHelper helper;
 
diff --git a/FCHost/fchost/fchost_handler_win.cc b/FCHost/fchost/fchost_handler_win.cc
index 2713b6055ca93e207d3f39f040d8c75c28dc0348..d70d5d0d1cf4442fa5a627e3acd422ea8cb34b5d 100644
--- a/FCHost/fchost/fchost_handler_win.cc
+++ b/FCHost/fchost/fchost_handler_win.cc
@@ -27,9 +27,14 @@ void FCHostHandler::PlatformTitleChange(CefRefPtr<CefBrowser> browser,
   SetWindowText(hwnd, std::wstring(title).c_str());
 }
 
-bool FCHostHandler::OnFileDialog(CefRefPtr<CefBrowser> /* browser */, CefDialogHandler::FileDialogMode /* mode */,
-    const CefString& /* title */, const CefString& /* default_file_path */, const std::vector<CefString>& /* accept_filters */,
-    CefRefPtr<CefFileDialogCallback> /* callback */)
+bool FCHostHandler::OnFileDialog(CefRefPtr<CefBrowser> /* browser */,
+                                 CefDialogHandler::FileDialogMode /* mode */,
+                                 const CefString& /* title */,
+                                 const CefString& /* default_file_path */,
+                                 const std::vector<CefString>& /* accept_filters */,
+                                 const std::vector<CefString>& /* accept_extensions */,
+                                 const std::vector<CefString>& /* accept_descriptions */,
+                                 CefRefPtr<CefFileDialogCallback> /* callback */)
 {
   return false; // to display the default dialog
 }
diff --git a/README.md b/README.md
index e5f8ea1a2c465f436e5c07eddf829592d8db73cc..cf2422cf780f0de6d338a49c532e1080e66d49b2 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Pregmod is a modification of the original [Free Cities](https://freecitiesblog.b
    * [Current release](https://gitgud.io/pregmodfan/fc-pregmod/-/releases)
    * [Latest build](https://gitgud.io/pregmodfan/fc-pregmod/-/jobs/artifacts/pregmod-master/download?job=build)
 2. Open the game in your preferred browser
-   * On PC, we recommend either Firefox or [FCHost](FCHost/documentation_FCHost.md).
+   * On PC, we recommend either Firefox or [FCHost](FCHost/README.md).
    * Recommendation: Drag it into incognito mode
 3. Have fun!
 
@@ -67,7 +67,7 @@ If you want to tweak the game a bit, you can easily download the files and compi
     2. Disable autosave and delete the current one. Due to technical reasons autosaves are larger than normal saves, so this may help more than expected.
     3. If on Firefox, raise the storage limit: Type `about:config` in the address bar and search for
        `dom.storage.default_quota`. Increase this value as needed. Default value is 5120 kilobytes / 5 MB.
-    4. Switch to a different browser. Recommended is either Firefox or [FCHost](FCHost/documentation_FCHost.md), a custom HTML renderer specifically for Pregmod.
+    4. Switch to a different browser. Recommended is either Firefox or [FCHost](FCHost/README.md), a custom HTML renderer specifically for Pregmod.
     5. If you absolutely need to use Google Chrome:
        1. download and unzip [NW.js SDK](https://nwjs.io/downloads/) for your operative system.
        2. copy the game file (FC_pregmod.html) into the `nwjs-sdk-v0.XX.Y-YOUR_OS` folder
diff --git a/devTools/scripts/FCHostInstallAndRun.js b/devTools/scripts/FCHostInstallAndRun.js
index 96a3e8d27684dc20bdd685f9bd5daaf8b39ffad0..db810730c62cc26325af276c5f9c41091f9f440b 100644
--- a/devTools/scripts/FCHostInstallAndRun.js
+++ b/devTools/scripts/FCHostInstallAndRun.js
@@ -43,7 +43,7 @@ if (
 			// there are no pre-compiled versions of FCHost for this os at this time and wine isn't installed.
 			console.log("There is not a pre-compiled version of FCHost available for your system at this time.");
 			console.log("You can still use FCHost, but you will have to manually build it yourself.");
-			console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/Building_FCHost.txt");
+			console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/HowToBuild.md");
 			console.log("Alternatively you can install Wine (https://www.winehq.org/) and rerun this script to attempt to run the Windows version of FCHost.");
 		} else {
 			// use windows FCHost link
@@ -128,7 +128,7 @@ if (
 		} else {
 			console.log("You can run this script at any time if you change your mind.");
 			console.log("You can also manually compile FCHost if you wish.");
-			console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/Building_FCHost.txt");
+			console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/HowToBuild.md");
 			process.exit();
 		}
 	}
@@ -140,7 +140,7 @@ if (
 ) {
 	console.log(`FCHost doesn't exist at "${settings.FCHostPath}"`);
 	console.log("You can manually compile FCHost if you wish.");
-	console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/Building_FCHost.txt");
+	console.log("Instructions for doing so are here: https://gitgud.io/pregmodfan/fc-pregmod/-/blob/pregmod-master/FCHost/HowToBuild.md");
 	process.exit();
 }