A DLL Plugin for SimCity 4 that optimizes the DBPF plugin loading that the game performs on startup before the SC4 logo appears. DBPF is the name of the format that .DAT, .SC4Desc, .SC4Lot, etc. plugins use. The effect that the plugin has on the game's startup time time will depend on your system and plugins. It may have little to no effect for some configurations. Download: https://community.simtropolis.com/files/file/36244-startup-performance-optimization-dll-for-SimCity-4/ Source Code: https://github.com/0xC0000054/sc4-dbpf-loading Features Reduces the time for the game to show the SC4 logo by up to 90%. Adds an optimization to the game code for large data reads. Allows the game to handle plugin paths that are longer than the standard Microsoft Windows limit of 260 characters. Some of the file paths used by sc4pac packages may exceed the above limit. Reduce lag and city load times with large numbers of .SC4* plugins. Disables the game code that searches the entire file if the DBPF signature was not found. Changes the game code that loads the .SC4* files to ignore files with non-DBPF file extensions, .txt, .png, etc. With this change only .SC4Desc, .SC4Lot, .SC4Model, and files without any file extension will be loaded. Files without any file extension are included due to some older plugins having that issue. Changes the 'missing plugin' dialog to display the plugin pack ID in hexadecimal. System Requirements SimCity 4 version 641 Windows 10 or later The plugin may work on Windows 7 or later with the Microsoft Visual C++ 2022 x86 Redistribute installed, but I do not have the ability to test that. Installation Close SimCity 4. Copy SC4DBPFLoading.dll into the top-level of the Plugins folder in the SimCity 4 installation directory or Documents/SimCity 4 directory. Start SimCity 4. Command Line Argument The plugin adds a -StartupDBPFLoadTrace: command line argument that can be used for advanced tracing/debugging of the plugin loading process. It supports to following options (only 1 can be used at a time): ShowLoadTime - shows a message box with the resource loading time in milliseconds. WinAPI - shows message boxes before and after the resource loading code runs, this allows the user to start and stop a Process Monitor trace when the message box is shown. ListLoadedFiles - writes the loaded DBPF files to the plugin's log file in the order SC4 reads them. Troubleshooting The plugin should write a SC4DBPFLoading.log file in the same folder as the plugin.
The log contains status information for the most recent run of the plugin.