GoomiiV2 / Rampancy

A new level editor for the Halo games based on a CSG/Brush workflow, similar to Source/Quake level editing.
MIT License
36 stars 1 forks source link

Xml tag refs don't have the path, just the name #17

Open GoomiiV2 opened 2 years ago

GoomiiV2 commented 2 years ago

XML output for tag refs only has the name, Halo 1 tool xml outpath had the tags relative path, eg. Halo 1: <tag_reference name="bump map" type="bitm">levels\a10\bitmaps\burn detail strips bump</tag_reference> vs Halo 3: <field name="bitmap" value="panel_generic_simple_bump" type="tag reference"/>

kornman00 commented 2 years ago
            <field name="model" value="objects\characters\lord_hood\lord_hood,hlmt" type="tag reference"/>
            <field name="crate object" value=",    " type="tag reference"/>
            <field name="collision damage" value="globals\collision_damage\biped,cddf" type="tag reference"/>
            <field name="early mover OBB" value="object_early_mover_obb_block,0" type="block"/>
            <field name="creation effect" value=",    " type="tag reference"/>
            <field name="material effects" value="fx\material_effects\objects\characters\masterchief,foot" type="tag reference"/>
            <field name="melee sound" value=",    " type="tag reference"/>
            <field name="ai properties" value="object_ai_properties_block,0" type="block"/>

Here's an example of this fixed in H3 (won't make the next release, too many other changes tied to this, but should be available in the major release after the next one).

Note that it will differ from H1/H2, where it will instead write <name>,<group_tag>. Note that also in this case the melee sound of lord_hood.biped (the tag I printed) is an empty reference, and the group tag value written is actually 0xFFFFFFFF which the console just prints as empty characters in this case

Why? Because the existing import code expects it in this format. I may end up going back and aligning H1/H2 to as closely map to H3+'s export-tag-to-xml later this year (so, writing the group tag rather than the group name), because uniformity is key.

Back in 2018/19 I had worked on H1/H2's export code and made improvements that were focused more for diff readability (raw flags values are not useful in diffs, so I made them one their own lines). So, I may need to figure out what needs to be ported up the H3+ chain too.

Too many engines.

GoomiiV2 commented 2 years ago

Sorry for the very late reply.

Awesome! and thanks for taking the time to look at this :)

You mentioned import, is there some import / update tag from xml command that I missed?

kornman00 commented 2 years ago

Should be able to close this now

And to your last question, Guerilla's "import tag" may work with XML? I've never really messed with it.