Newest STEX Uploads
By Cyclone Boom
A Neat Little Tool to use with the "Raise the UI Mod"
Here is a tutorial explaining how to automatically raise SimCity 4's user interface (UI) when switching to windowed mode. This may specifically be useful for those who wish to alternate between running SC4 windowed and in full screen.
To achieve this, it requires copying and saving simple command line scripts (.cmd), and adjusting relevant paths.
The problem being, when running the game windowed and with a custom resolution, you may notice the taskbar inconveniently overlays the UI like so:
To workaround this limitation, in Windows it's possible to use the "Auto-hide the taskbar" option from Taskbar Properties. This does what it says, and makes the taskbar hidden from view when not hovered over. However, this requires toggling back the setting once exiting the game. So while that works it's not the most ideal solution since to run the game windowed, it may be desired to have quick access to the taskbar at all times.
A means of fixing this is by raising up the UI slightly. Then the taskbar can still be seen in full view while not obscuring the lower-positioned menu options in the game. A useful mod which does exactly this is the appropriately named Raise the UI Mod.
Which upon installation in Plugins, will solve the problem like so:
What if you'd then wish to play the game full screen, or often swap between both modes? Perhaps doing so would be useful if needing convenient access to other programs while playing. But later would like to change over based on your monitor configuration, or to benefit from the reduced memory usage in full screen. At least from testing, I found there was around 18% less system RAM used in a fully loaded large tile.
This can be done manually by moving the mod in and out of Plugins when needed. But in terms of automating the process, that's where my little command line scripts may come in handy. Should that sound of interest, keep on reading on...
Note: This is really intended for those comfortable working with batch files, and so this may not be the ideal solution for everyone.
SimCity 4 Deluxe / RH installed and patched at least to the EP1 update. Digital versions other than Origin should come fully pre-patched. Although Notepad or a plain text editor will do the job, I recommend using Notepad++ to benefit from syntax highlighting. A Windows operating system (this has been tested on Win 7). Download the Raise the UI Mod created by @warrior. A local folder created outside of Plugins.
First of all, the initial step is to decide where you'd like to store the mod when not needed. This will be a holding folder and can be anywhere outside from your Plugins folder. Then when running the game windowed, it'll be moved into your Plugins so then the UI is raised accordingly.
So either create a new folder, or copy the path of an existing folder where Raise the UI Mod.dat can be stored.
A simple way of copying the path is by right clicking the location bar in Windows Explorer:
Then click the "Copy address as text" option as highlighted.
At the top of both scripts (which we'll get to in a moment), there are 4 adjustable options:
File=<File Name> Description: This is the file name name of the mod, so needn't be changed unless renaming the actual file. E.g.
File=Raise the UI Mod.dat
PluginPath=<Path> Description: The location inside your Plugins folder to contain the mod. This can be in the root or inside a subfolder structure of your choice. Unless modified it should be the one in Documents. Leave out quotes since those are added in the main body of the code. E.g.
HoldPath=<Path> Description: Here is the location of the holding folder where the mod will be stored. Use the "Copy address as text" method described earlier to make sure this is correctly specified. It can be set anywhere of your choice, providing the folder is fully accessible. E.g.
HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod
TheGame="" "<Game Location>" <Shortcut Parameters> Description: It wouldn't be any use without starting the game itself, and that's what this option does. Here there are 2 variables which can be tailored specifically. The location of the game's executable file, and also the parameters (switches) used to set a custom resolution, toggle windowed or full screen, force SC4 to run on a single core, skip the intro, or any other such options.
E.g. Disc based game:
TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w
E.g. Digital game from GOG:
TheGame="" "C:\GOG Games\SimCity 4 Deluxe Edition\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w
For a custom resolution, this must be specified to the desired screen width and height. The above examples represent my own monitor's size of 1600x900 pixels. The x32 at the end is the bit colour depth, which in normal circumstances can be safely left as is.
Those using Steam or other launchers may need to experiment with workarounds to start the game directly for this to work.
The empty quotes ("") at the beginning are required since they pass a null title in the command. However the rest of the command can simply be copied over from an existing desktop shortcut Target line, with the format being identical.
Note: Where applicable for it to be valid, the <Account> path must be changed to the name of your user account.
Here is the script for running the game windowed.
It does the following:
First checks whether Raise the UI Mod.dat is located in your Plugins folder. If found, the game is started using any parameters specified.
If not present, it moves Raise the UI Mod.dat from the holding folder to your Plugins, before starting the game. Should the file not be found in the holding folder, a message pops up in a command window making that known.
For Example (Modify custom paths as needed)
@Echo Off Set File=Raise the UI Mod.dat Set PluginPath=C:\Users\<Account>\Documents\SimCity 4\Plugins Set HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod Set TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -w If Not Exist "%PluginPath%\%File%" ( If Not Exist "%HoldPath%\%File%" ( Start "" cmd /C "Echo %File% not found in: &Echo( %HoldPath% &Echo( &Pause" Goto :End ) Else Move "%HoldPath%\%File%" "%PluginPath%" ) Else ( Goto :StartSC4 ) :StartSC4 Start %TheGame% :End Exit
Important: For the game's parameters, it's essential the -w switch is used, or else the game won't be told to run windowed.
Full Screen Script
Here is the script for running the game in full screen.
It does the following:
Checks whether Raise the UI Mod.dat is located in your Plugins folder. If found, it moves the file back to your holding folder, then starts the game. If not found, it just starts the game, also using any parameters specified.
For Example (Modify custom paths as needed)
@Echo Off Set File=Raise the UI Mod.dat Set PluginPath=C:\Users\<Account>\Documents\SimCity 4\Plugins Set HoldPath=C:\Users\<Account>\Documents\SimCity 4\Hold UI Mod Set TheGame="" "C:\Program Files (x86)\Maxis\SimCity 4 Deluxe\Apps\SimCity 4.exe" -CustomResolution:enabled -r1600x900x32 -f If Exist "%PluginPath%\%File%" ( Move "%PluginPath%\%File%" "%HoldPath%\%File%" ) Else ( Goto :StartSC4 ) :StartSC4 Start %TheGame%
Important: For the game's parameters, it's essential the -f switch is used here, or else the game won't be told to run in full screen.
Saving the Scripts
Both work by saving them as command line scripts with the .cmd file extension. This can be done using any plain text editor, including Windows Notepad.
Personally as hinted above, I would recommend Notepad++ for the benefit of the code syntax highlighting. It also handily comes with many other features for manipulating text, featuring a powerful find & replace tool with regex ability (advanced search mode). But in terms of what's required here as a simple copy, paste and save to file, these are just little extras which you may find useful for other projects in future.
The end goal is to have both scripts saved, ideally for convenience to the same folder.
The actual task of saving is very simple. I'll describe the steps for both Notepad++ and Windows Notepad using the windowed mode code. However as this part may well be self-explanatory, feel free to skip the following instructions and continue onto setting up the desktop shortcuts.
Using Windows Notepad
Creating Desktop Shortcuts
To run either of the scripts, it's possible by navigating to their folder and double clicking on them. This will do the job just fine. However for accessibility and since it's probably what you're already familiar with, I recommend linking each via a shortcut placed on your desktop (or wherever is convenient).
Then there will be two shortcuts – One referencing the windowed script, the other for full screen.
Step 1 of 3
First make a copy of your existing SC4 shortcut.
Or if you don't have one already, go to your game's installation path and open the Apps subfolder. Then right click the executable file ( SimCity 4.exe ), and in the context menu choose: Send to > Desktop (create shortcut). Then make a duplicate copy so you've got two exactly the same.
Rename accordingly to whatever you'd like them called.
For the next steps I'll explain the process with the windowed shortcut. Repeat the same for your full screen one...
Step 2 of 3
The next task involves editing the Target path in the shortcut.
Right click and open the Properties. Then remove the current path pointing to the game's executable. This is no longer needed because the script does this part, along with passing the parameters to set a custom resolution and toggle between windowed or full screen modes.
Then paste in the path to the script like so:
Note: This can be easily obtained by navigating to the script, holding the Shift key, then right clicking and choosing the Copy as path option.
If you copied in a path which didn't contain spaces, the quotation marks will automatically be removed from the Target line upon saving and opening the shortcut Properties. Those are only needed to preserve a path should there be any spaces included.
Step 3 of 3
Click Apply, then OK and close the shortcut.
Repeat for the full screen shortcut or vice versa.
At this point it's good to go, but there is an additional adjustment possible should you wish...
A big thanks to @CorinaMarie for inspiration behind this idea, helping me with technical aspects, and also sharing many valuable suggestions along the way.
There could be other uses with this or similar techniques.
For example, to potentially expand and tailor scripts specifically to:
Move another mod file in and out, such as the Diagonal Bridge Enabler. Control sets of custom content by moving multiple files in and out of your Plugins folder as needed. Have a multiple choice option in the command line for using certain shortcut parameters. Log the time when starting SC4 to keep track of how long you're in the mayor's office. Create incremental backups of your Regions before starting the game.
So that brings this tutorial to a conclusion. Once you've saved both scripts and created the shortcuts, the game can then be fully enjoyed in either full screen or windowed mode with a simple double click. Hopefully this may come in useful and even inspire other possibilities. Be creative!
Any feedback, comments or questions welcome.
Here's the situation. I'm trying to add traffic stains to my roads(as can be seen in the pics). The only way I know how to do this is by superimposing props, problem is that I hit the prop limit, no more! That is unacceptable. I'm wondering if there is some way to colorize, in other words stain the given game roads and use them as upgrades on existing roads without using props. After all, all we talking about is changing the existing color pixelization on the asset with no additional program elements. Is there some way of doing this? And I hope outside of using the Asset Editor which always crashes for some reason.
I was bored, so I decided to finally get this idea out of my head. It's partially inspired by Transport Fever, specifically the way it handles train trancks. In that game, tracks are laid one at a time, with new tracks snapping to adjacent ones. I thought, why not do the same with lanes of a road? So here's what I ended up with. Note that I have no experience with game design or programming whatsoever so I have no idea if any of this is even technically feasable, it's just something that would exist in my perfect city-builder. I'd love to hear any comments or questions, and let me know if there's anything I'm missing!
You may have to right click --> view image if the text is too small.