Asset Customization Manager Tests - SWG-Source/swg-main GitHub Wiki
Asset Customization Manager (ACM) is the mechanism in SWG by which objects become player customisable. It allows for texture changes and colour palette changes. You see this in-game whenever you alter the colours on a speeder, a piece of armour, an item of clothing, a beast pet, a droid pet, a hairstyle, hair colour, hueable structure, ship textures and ship paint jobs. Some of those are done during the crafting process while others require kits in order to access the features provided by ACM.
The file chain for customisable objects is where you find the options such as alternate textures and the palette of colours allowed for each specific object type. The ACM process pulls all of that information together into a sort of index file for the game server to use. That index is found in the following locations:
- dsrc/sku.0/sys.shared/compiled/game/customization/asset_customization_manager.mif [raw, uncompiled file]
- data/sku.0/sys.shared/compiled/game/customization/asset_customization_manager.iff [compiled file]
- data/sku.0/sys.client/compiled/clientdata/customization/asset_customization_manager.iff [compiled file]
- In your SWG Client folder: \customization\asset_customization_manager.iff [compiled file]
The process which generates the ACM file is a complex one and in the SWG Source v2.2 VM using the latest git pulled code from the repositories there is a command in /swg-main that will build an ACM file (ant build-acm). This command REQUIRES that the /cliendata folder on the server contains every asset and file used in the SWG client.If any part of the file chain for an object is missing when the ACM process builds the new index file, that object will not have proper player customisation options, if any.
Because a new ACM file affects every player customisable object in the game we need a quicker way than testing all of them. The screenshot here shows the attached ACM testing protocol spreadsheet which breaks down common categories of player customisable objects and has three of each listed. There are then three tests you can perform for each object to see if your current ACM file is broken or not.
There are some objects in the current game that are bugged for player customisation options which area not directly ACM related e.g USV-5 speeder. That sort of bug needs to be handled on an object by object basis to locate the source of the problem. Where the ACM test sheet is more useful is when you use it on a current ACM file, add new objects to your server / client, rebuild the ACM and re-run the test to ensure nothing that used to work no longer does.
The ACM building process will be finalised and perfected over time on SWG Source and that will lessen the need for a testing protocol such as this one.