Parameter Block Versioning
The parameter block versioning system - also known as parameter block revisioning - is implemented as post-load callback that is triggered by 3ds Max when the current parameter block version differs from the previous version. The versioning system is triggered when the following conditions are met:
- The new parameter block uses the P_VERSION flag; and
- The old parameter block is either:
- Not using P_VERSION, or
- Has a non-matching version number
The version number is an integer supplied in a parameter block descriptor (ParamBlockDesc2
) immediately following the flags field and before the parameter block id number.
When the parameter block versioning system is triggered the following occurs
- References are mapped to the old numbering until after the load and post-load callbacks are complete
- The new numbering is used afterwards, all P_OBSOLETE references are dropped, and reference dependants are notified of the updated numbering