Eschaton uses .meta files that are partnered with .xml files. Here is what one of those .xml files looks like:
That xml tag is simple to understand. It shows Reflexives and Dependencies, and uses attributes for each element item such as offset location, chunk count, tag class, filename path, and translation. It seems pretty appropriate to use attributes rather than elements, although that's still something worth discussing.Cyborg COLL Tag wrote:Code: Select all
<?xml version="1.0" encoding="UTF-8"?> <!-- Eschaton: Meta Structure File v2.1 --> <Results> <Map name="bloodgulch" version="6" magic="0x4B6BEC12"/> <Tag class1="lloc" class2="FFFF" class3="FFFF" tagoffset="0xA26598"/> <Filename name="characters\cyborg\cyborg"/> <Reflexive location="0x234" chunkcount="4" translation="0x298"/> <Reflexive location="0x240" chunkcount="1" translation="0x3B8"/> <Reflexive location="0x280" chunkcount="1" translation="0x42C"/> <Reflexive location="0x28C" chunkcount="19" translation="0x44C"/> <Reflexive location="0x400" chunkcount="1" translation="0x40C"/> <Reflexive location="0x480" chunkcount="1" translation="0x90C"/> <Reflexive location="0x4C0" chunkcount="1" translation="0xD9C"/> <Reflexive location="0x500" chunkcount="1" translation="0x127C"/> <Reflexive location="0x540" chunkcount="1" translation="0x175C"/> <Reflexive location="0x580" chunkcount="1" translation="0x2064"/> <Reflexive location="0x5C0" chunkcount="1" translation="0x2594"/> <Reflexive location="0x600" chunkcount="1" translation="0x2AC4"/> <Reflexive location="0x680" chunkcount="1" translation="0x3590"/> <Reflexive location="0x740" chunkcount="1" translation="0x3980"/> <Reflexive location="0x780" chunkcount="1" translation="0x3D70"/> <Reflexive location="0x7C0" chunkcount="1" translation="0x4570"/> <Reflexive location="0x800" chunkcount="1" translation="0x4AA0"/> <Reflexive location="0x840" chunkcount="1" translation="0x4FD0"/> <Reflexive location="0x880" chunkcount="1" translation="0x5500"/> <Reflexive location="0x8C0" chunkcount="1" translation="0x5A30"/> <Reflexive location="0x900" chunkcount="1" translation="0x5F60"/> <Reflexive location="0x90C" chunkcount="10" translation="0x96C"/> <Reflexive location="0x918" chunkcount="10" translation="0x9E4"/> <Reflexive location="0x924" chunkcount="10" translation="0xA84"/> <Reflexive location="0x930" chunkcount="10" translation="0xAD4"/> <Reflexive location="0x948" chunkcount="10" translation="0xB24"/> <Reflexive location="0x954" chunkcount="16" translation="0xB9C"/> <Reflexive location="0x960" chunkcount="8" translation="0xD1C"/> <Reflexive location="0xD9C" chunkcount="11" translation="0xDFC"/> <Reflexive location="0xDA8" chunkcount="11" translation="0xE80"/> <Reflexive location="0xDB4" chunkcount="11" translation="0xF30"/> <Reflexive location="0xDC0" chunkcount="11" translation="0xF88"/> <Reflexive location="0xDD8" chunkcount="11" translation="0xFE0"/> <Reflexive location="0xDE4" chunkcount="17" translation="0x1064"/> <Reflexive location="0xDF0" chunkcount="8" translation="0x11FC"/> <Reflexive location="0x127C" chunkcount="11" translation="0x12DC"/> <Reflexive location="0x1288" chunkcount="11" translation="0x1360"/> <Reflexive location="0x1294" chunkcount="11" translation="0x1410"/> <Reflexive location="0x12A0" chunkcount="11" translation="0x1468"/> <Reflexive location="0x12B8" chunkcount="11" translation="0x14C0"/> <Reflexive location="0x12C4" chunkcount="17" translation="0x1544"/> <Reflexive location="0x12D0" chunkcount="8" translation="0x16DC"/> <Reflexive location="0x175C" chunkcount="19" translation="0x17BC"/> <Reflexive location="0x1768" chunkcount="15" translation="0x18A0"/> <Reflexive location="0x1774" chunkcount="16" translation="0x1990"/> <Reflexive location="0x1780" chunkcount="19" translation="0x1A10"/> <Reflexive location="0x178C" chunkcount="6" translation="0x1AA8"/> <Reflexive location="0x1798" chunkcount="21" translation="0x1B20"/> <Reflexive location="0x17A4" chunkcount="35" translation="0x1C1C"/> <Reflexive location="0x17B0" chunkcount="16" translation="0x1F64"/> <Reflexive location="0x2064" chunkcount="12" translation="0x20C4"/> <Reflexive location="0x2070" chunkcount="12" translation="0x2154"/> <Reflexive location="0x207C" chunkcount="12" translation="0x2214"/> <Reflexive location="0x2088" chunkcount="12" translation="0x2274"/> <Reflexive location="0x20A0" chunkcount="12" translation="0x22D4"/> <Reflexive location="0x20AC" chunkcount="18" translation="0x2364"/> <Reflexive location="0x20B8" chunkcount="8" translation="0x2514"/> <Reflexive location="0x2594" chunkcount="12" translation="0x25F4"/> <Reflexive location="0x25A0" chunkcount="12" translation="0x2684"/> <Reflexive location="0x25AC" chunkcount="12" translation="0x2744"/> <Reflexive location="0x25B8" chunkcount="12" translation="0x27A4"/> <Reflexive location="0x25D0" chunkcount="12" translation="0x2804"/> <Reflexive location="0x25DC" chunkcount="18" translation="0x2894"/> <Reflexive location="0x25E8" chunkcount="8" translation="0x2A44"/> <Reflexive location="0x2AC4" chunkcount="32" translation="0x2B24"/> <Reflexive location="0x2AD0" chunkcount="23" translation="0x2CA4"/> <Reflexive location="0x2ADC" chunkcount="30" translation="0x2E14"/> <Reflexive location="0x2AE8" chunkcount="32" translation="0x2F04"/> <Reflexive location="0x2B00" chunkcount="23" translation="0x3004"/> <Reflexive location="0x2B0C" chunkcount="37" translation="0x3118"/> <Reflexive location="0x2B18" chunkcount="16" translation="0x3490"/> <Reflexive location="0x3590" chunkcount="8" translation="0x35F0"/> <Reflexive location="0x359C" chunkcount="8" translation="0x3650"/> <Reflexive location="0x35A8" chunkcount="8" translation="0x36D0"/> <Reflexive location="0x35B4" chunkcount="8" translation="0x3710"/> <Reflexive location="0x35CC" chunkcount="8" translation="0x3750"/> <Reflexive location="0x35D8" chunkcount="14" translation="0x37B0"/> <Reflexive location="0x35E4" chunkcount="8" translation="0x3900"/> <Reflexive location="0x3980" chunkcount="8" translation="0x39E0"/> <Reflexive location="0x398C" chunkcount="8" translation="0x3A40"/> <Reflexive location="0x3998" chunkcount="8" translation="0x3AC0"/> <Reflexive location="0x39A4" chunkcount="8" translation="0x3B00"/> <Reflexive location="0x39BC" chunkcount="8" translation="0x3B40"/> <Reflexive location="0x39C8" chunkcount="14" translation="0x3BA0"/> <Reflexive location="0x39D4" chunkcount="8" translation="0x3CF0"/> <Reflexive location="0x3D70" chunkcount="18" translation="0x3DD0"/> <Reflexive location="0x3D7C" chunkcount="18" translation="0x3EA8"/> <Reflexive location="0x3D88" chunkcount="18" translation="0x3FC8"/> <Reflexive location="0x3D94" chunkcount="18" translation="0x4058"/> <Reflexive location="0x3DAC" chunkcount="18" translation="0x40E8"/> <Reflexive location="0x3DB8" chunkcount="30" translation="0x41C0"/> <Reflexive location="0x3DC4" chunkcount="14" translation="0x4490"/> <Reflexive location="0x4570" chunkcount="12" translation="0x45D0"/> <Reflexive location="0x457C" chunkcount="12" translation="0x4660"/> <Reflexive location="0x4588" chunkcount="12" translation="0x4720"/> <Reflexive location="0x4594" chunkcount="12" translation="0x4780"/> <Reflexive location="0x45AC" chunkcount="12" translation="0x47E0"/> <Reflexive location="0x45B8" chunkcount="18" translation="0x4870"/> <Reflexive location="0x45C4" chunkcount="8" translation="0x4A20"/> <Reflexive location="0x4AA0" chunkcount="12" translation="0x4B00"/> <Reflexive location="0x4AAC" chunkcount="12" translation="0x4B90"/> <Reflexive location="0x4AB8" chunkcount="12" translation="0x4C50"/> <Reflexive location="0x4AC4" chunkcount="12" translation="0x4CB0"/> <Reflexive location="0x4ADC" chunkcount="12" translation="0x4D10"/> <Reflexive location="0x4AE8" chunkcount="18" translation="0x4DA0"/> <Reflexive location="0x4AF4" chunkcount="8" translation="0x4F50"/> <Reflexive location="0x4FD0" chunkcount="12" translation="0x5030"/> <Reflexive location="0x4FDC" chunkcount="12" translation="0x50C0"/> <Reflexive location="0x4FE8" chunkcount="12" translation="0x5180"/> <Reflexive location="0x4FF4" chunkcount="12" translation="0x51E0"/> <Reflexive location="0x500C" chunkcount="12" translation="0x5240"/> <Reflexive location="0x5018" chunkcount="18" translation="0x52D0"/> <Reflexive location="0x5024" chunkcount="8" translation="0x5480"/> <Reflexive location="0x5500" chunkcount="12" translation="0x5560"/> <Reflexive location="0x550C" chunkcount="12" translation="0x55F0"/> <Reflexive location="0x5518" chunkcount="12" translation="0x56B0"/> <Reflexive location="0x5524" chunkcount="12" translation="0x5710"/> <Reflexive location="0x553C" chunkcount="12" translation="0x5770"/> <Reflexive location="0x5548" chunkcount="18" translation="0x5800"/> <Reflexive location="0x5554" chunkcount="8" translation="0x59B0"/> <Reflexive location="0x5A30" chunkcount="12" translation="0x5A90"/> <Reflexive location="0x5A3C" chunkcount="12" translation="0x5B20"/> <Reflexive location="0x5A48" chunkcount="12" translation="0x5BE0"/> <Reflexive location="0x5A54" chunkcount="12" translation="0x5C40"/> <Reflexive location="0x5A6C" chunkcount="12" translation="0x5CA0"/> <Reflexive location="0x5A78" chunkcount="18" translation="0x5D30"/> <Reflexive location="0x5A84" chunkcount="8" translation="0x5EE0"/> <Reflexive location="0x5F60" chunkcount="12" translation="0x5FC0"/> <Reflexive location="0x5F6C" chunkcount="12" translation="0x6050"/> <Reflexive location="0x5F78" chunkcount="12" translation="0x6110"/> <Reflexive location="0x5F84" chunkcount="12" translation="0x6170"/> <Reflexive location="0x5F9C" chunkcount="12" translation="0x61D0"/> <Reflexive location="0x5FA8" chunkcount="18" translation="0x6260"/> <Reflexive location="0x5FB4" chunkcount="8" translation="0x6410"/> <Dependency location="0x70" tagclass="effe" filename="characters\cyborg\localized damage"/> <Dependency location="0x84" tagclass="effe" filename="effects\blood aoe human"/> <Dependency location="0x98" tagclass="effe" filename="nulled out"/> <Dependency location="0xA8" tagclass="effe" filename="nulled out"/> <Dependency location="0xBC" tagclass="effe" filename="nulled out"/> <Dependency location="0x188" tagclass="effe" filename="nulled out"/> <Dependency location="0x198" tagclass="effe" filename="characters\cyborg\cyborg shield depletion"/> <Dependency location="0x1A8" tagclass="effe" filename="nulled out"/> <Dependency location="0x3F0" tagclass="effe" filename="nulled out"/> </Results>
There are web design standards that allow parsing and formatting of such xml tags in online applications, and that could be possible with the INCY Online -- to be able to display Eschaton tag information. However, I'd like to include more fields and maybe make this more extensible. Perhaps the following?
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE incytag PUBLIC "-//Halo Demo Mods//DTD INCYTAG 1.0//EN" "http://www.halodemomods.com/DTDs/Incyclopedia_Tag.dtd">
<incy version="1.0">
<incytag>
<map>
<name>bloodgulch</name>
<version>6</version>
<magic>0x4B6BEC12</magic>
</map>
<class1>coll</class1>
<class2></class2>
<class3></class3>
<offset>0xA26598</offset>
<title>Cyborg Collision Model</title>
<path>"characters\cyborg\cyborg"</path>
<meta>
<reflexive>
<offset>0x234</offset>
<chunkcount>4</chunkcount>
<translation>0x298</translation>
</reflexive>
(…)
<dependency>
<offset>0x70</offset>
<class>effe</class>
<title>Cyborg Localized Damage</title>
<path>"characters\cyborg\localized damage"</path>
</dependency>
(…)
</meta>
</incytag>