How to duplicate a tag in Eschaton

Moderator: Halo Moderators

Post Reply
Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

How to duplicate a tag in Eschaton

Post by Sparky » Sat Jun 01, 2013 9:15 am

The way Eschaton handles files, duplicating a tag is done by simply extracting a tag externally non-recursively and reimporting it into an expanded map as a duplicate. You cannot internally extract a tag and import it into the same map; if you do this, Eschaton will not be able to distinguish between the imported duplicate tag and the original tag and you will end up applying any changes to both simultaneously. If this is what you're after, though, go ahead and do that. When you rebuild the map, you should still have two tags. But the external export and import works because Eschaton changes the tag offset value, which refers to the location in the map file where the tag is, upon importing an external file. But otherwise it's simply going to point to the same location in the map file and get confused, so you should really only externally export a tag non-recursively when you intend to duplicate it in the same map.

Recursive means every tag that is referenced by that tag in its reference swapper, etc.. Non-recursive means just that single tag. So duplicating a tag would just mean duplicating that single tag, and it will keep the same references as the original tag which you can then modify after rebuilding.

The .meta tag contains the tag data and the .xml tag contains the internalized map data. Since dependencies (references to other tags) are not stored in a tag's data as textual tag name paths (strings) but instead in tag ID numbers which differ between maps, the xml file stores a tag's references as text so that the name of the tags, which should be the same in both maps if the tags are available also in the importing map, are used to determine which tags are referenced in the importing map.

Say, for example, you extract a tag called "weapons/assault rifle" from a map. This tag references a projectile called "weapons/assault rifle/bullet". The actual tag data only references the ID of the "weapons/assault rifle/bullet" projectile tag that is stored in the current map. The map's tag index is used to recognize that the bullet's tag ID as found in the rifle tag is a match for the ID of the bullet projectile tag. However, these IDs vary between maps. Therefore, the name of the referenced projectile tag, "weapons/assault rifle/bullet" is also stored in the complementary .xml text file with the .meta tag data file. That way, the string reference of the projectile can be matched to a tag of the same name in the new map -- so if there's a "weapons/assault rifle/bullet projectile tag in the second map, the imported assault rifle tag can reference it right away.

This is why, with Eschaton and any other standard map meta data editor, you are unable to export a tag that has the same name as another tag, which is what you get in protected maps where the tag names have all been written uniformly. If you did this, the exported tag would have no way of referencing tags in a map whose tag indices and "map magic", which is the number used to calculate tag ID locations using the tag index, are different. So the trick to unprotecting a map is to simply give unique names to each relevant tag again.
Either you are groping for answers, or you are asking God and listening to Jesus.

Tucker933
Peon
Posts: 73
Joined: Sun Jul 25, 2010 1:01 am
Location: California
Contact:

Re: How to duplicate a tag in Eschaton

Post by Tucker933 » Sat Jun 01, 2013 2:38 pm

Sparky wrote:You cannot internally extract a tag and import it into the same map; if you do this, Eschaton will not be able to distinguish between the imported duplicate tag and the original tag and you will end up applying any changes to both simultaneously.
This is incorrect, if a tag with the same name already exists within the map, then Eschaton will add a "+" to the end of the name to distinguish. There are no issues with duplicating a tag on the same map.

Image

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests