Resource String Replacement

Overview

Starting with 3ds Max 2012, Scripts and MacroScripts can use Resource IDs in place of strings.

This simplifies the localization of scripts significantly:

All hard-coded English strings can be replaced with Resource IDs and the Resource IDs together with the original values can be stored in a Resource file.

The Resource file can then be translated into multiple languages and the corresponding language version can be loaded automatically according to the 3ds Max Language Settings.

Implementation

A Resource ID is identified as a name surrounded by tildes, for example LIGHT_LISTER_DIALOG_NAME.

If MAXScript encounters a Resource ID at compile time, it will search for and load the Resource File that contains the Resource ID / Resource Value pairs and will use the Resource Value in place of the Resource ID. Note that MAXScript will disregard matched files with a size of 0, and will continue searching as described below.

The search for the Resource File will be performed as follows:

Errors and warnings related to loading MacroScripts and especially issues with Resource IDs, Values and Files will be reported to the Scripting Listener.

Resource File Editing

Resource files (*.res) files are now supported in the Scripting Editor's File > Open and File > Save dialogs.