Nostalgic about the icons set 3dsMax used to have before R 2010?
This script will set back the good old look of the GUI and will allow you to switch from one to each other.
Because I find the old icons set clearer and more visually efficient that the one currently provided with 3dsMAx since release 2010, I wrote this little script to install it properly.
There are indeed a few things to care about with how 3dsMax handles icons since R 2010. One of them is that 32 bits BMP format is now the standard, so no need anymore for an additional mask image. Those masks are still supported though and may introduce some mess in the GUI if not properly removed when switching back from the old style look to the current one.
Here is the visual difference between the two sets:
Script dialog window
The script dialog is quite simple and self explanatory:
Technical notes for Maxscripters
The script works in a quite simple way: we unzip the icons set we what to use and, in the case of the current icons set, we remove the deprecated icons.
Two points worth being noted because they are powerful features that can be used in other scripts: the use of 7zip and the function HiddentDOSCommand.
In order to save some space on the hard drive, I choose to compress the icons sets. We then have 2 x 2.5Mo of data instead of 2 x 17Mo. To do so, I used an open-source free-ware archiver named 7Zip. 7Zip is well documented and works very well in command line.
Introduced in 3dsMax 2009, this function not only hide the DOS windows that gets opened when we use DOSCommand, but it also runs synchronously. In that way it goes further than DOSCommand and ShellLaunch. It is especially useful here because it allows the script to wait for the end of the archiving / unarchiving before running the next instructions.
Here is how these features are used in WkOldStyleLook.ms (see highlighted lines):
fn mfUnarchiveIcons rDataDir rArchiveName rTargetDir =
local lArchiveFileFullName = rDataDir + rArchiveName
local lbUnarchivingIsOk = false
local lbSendLogToFile = true
local lCommandsStr = ""
lCommandsStr += "\"" + mSCRIPTROOTDIR + "7zipA\\7za.exe\" e \"" + lArchiveFileFullName + "\" -o\"" + rTargetDir + "\" -y"
if lbSendLogToFile then lCommandsStr += " > \"" + rDataDir + "log.txt\" \n\r" else lCommandsStr += " \n\r"
local lExitCode = undefined
HiddenDOSCommand lCommandsStr exitCode:&lExitCode prompt:("Applying icons from " + rArchiveName + "...")
lbUnarchivingIsOk = 0 == lExitCode
if lbUnarchivingIsOk then
messagebox ("Icons set have been successfully applied\n\nYou need to relaunch 3dsMax to see them\n") title:"WkOldStyleLook"
else messagebox ("A problem occured during the unzipping of the new icons set;\nSee log.txt in the following directory for more information:\n\n" + rDataDir + "\n") title:"WkOldStyleLook Warning"