Help:Delete Missing Assets
Contents |
Delete Missing Assets
Delete Missing Assets (DMA) is a Surveyor command that performs a number of Route/Session repair tasks. The most obvious of these is to remove references to assets which are not available in the local installation (i.e. "Missing Assets"), but there's a lot more to it than that.
Note: No part of DMA supports undo and the operation runs over the entire map, so a backup should always be made before it is used.
Missing Assets
When DMA is run Surveyor will load from disk every Route and Session tile/baseboard, and iterate over them to validate every object, track stretch and ground texture. Any required assets that cannot be loaded (for any reason) will result in things being removed/deleted from the world. This means that missing ground textures will be replaced with the default (e.g. grid) texture, objects may be deleted and track may be deleted.
As noted, any failure to load an asset will result in things being removed, the asset does not have to be literally "missing". This includes assets which are uninstalled, faulty, missing dependencies, unauthorised (payware), incompatible (due to build number or other restrictions), or even just locally disabled.
Other Repair Tasks
In addition to removing missing assets DMA runs a number of map repair tasks, detailed further below. Some of these tasks may modify the Route in ways that will break dependent Sessions, so always make a backup
Asset Versions
During DMA items may be updated to reference the currently loaded asset version. This can be handy for ensuring the map is dependent on the actual content versions being used by the route creator, rather than some older asset version, but it also means that other players may need to download new dependent content in order to use an update map.
Section Tiles
Objects and track will have their world location and bounds re-evaluated during DMA, and may be 'moved' from one baseboard tile to another. This doesn't affect the position of the object in the world, just which file the object is in on disk. However, the world tile also forms part of an object's ID, and changes to the ID may cause issues in dependent Sessions.
Track Attachments
Track stretches and track vertices (circles/clickables) will be validated for correct matching linkage during DMA. This entails making sure that if a track stretch says it's attached to a particular vertex, that track vertex agrees, and vice versa. Cases where there is any disagreement about attachment will result in the link being cleared, which may cause the track stretch and/or vertex to be deleted. Such mismatches only ever cause incorrect behaviour in game anyway, so no such repair could be considered to "break" any track.
Track Status
A number of track stretch and track vertex status flags will also be validated during DMA. This can be used to fix cases of corrupt/invalid data caused by having previously loaded and saved the map with missing dependencies. Such cases are not too common and usually have minimal consequences, but are easy for DMA to fix. Examples include gradient flagging on track/vertices and bridge/tunnel status.
In addition, the game will also validate track stretch length, and remove stretches which are overly long (currently >15km).
World ID and Layer ID Validity
One of the more involved tasks DMA runs is to validate the IDs of items in the world, to ensure that there are no duplicate IDs between Route and Session, and to ensure that all layer rules are enforced. This part of DMA can fix serious issues with duplicate IDs which break Routes and Sessions, but any such fixes can mean that further manual repairs are necessary.
Named Object Table
The Named Object Table is a system in Trainz code/script which stores data about certain object types. Think of it as a phone book for objects, which script can use to list objects of particular types/names, or to find specific objects in the world. The final step of DMA is to rebuild this table, in case it's been corrupted, objects have moved tiles, etc.
Extra Notes
After DMA completes it will display a dialog showing details of any corruption that was found and fixed. It's a good idea to examine this thoroughly, as it may provide important information about follow up work you may need to undertake to repair removed corruption.
Return To: