Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Lord-Zedd committed Feb 14, 2024
2 parents ce9e169 + ab4f1b4 commit 9854e98
Show file tree
Hide file tree
Showing 12 changed files with 726 additions and 399 deletions.
6 changes: 6 additions & 0 deletions src/Blamite/Blamite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,12 @@
<Content Include="Formats\Halo3\H3_StringIDs.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Formats\Halo3\LayoutsRefresh\H3Re_Layouts_Core.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Formats\Halo3\LayoutsDLC\H3DLC_Layouts_Core.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Formats\Halo3\Layouts\H3_Layouts_Core.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
Expand Down
49 changes: 47 additions & 2 deletions src/Blamite/Formats/Engines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -502,12 +502,24 @@
</databases>
</engine>

<engine name="Halo 3 Epsilon" version="11" build="11856.07.08.20.2332.release" inherits="Halo 3">
<shortName>H3Epsilon</shortName>
<engine name="Halo 3 Epsilon Refresh" version="10" build="11637.07.08.02.2348.release" inherits="Halo 3">
<shortName>H3Refresh</shortName>
<databases>
<layouts type="layouts" path="Formats/Halo3/LayoutsRefresh" />
</databases>
</engine>
<engine name="Halo 3 DLC Test" version="10" build="11687.07.08.06.1504.main" inherits="Halo 3">
<shortName>H3DLC</shortName>
<databases>
<layouts type="layouts" path="Formats/Halo3/LayoutsDLC" />
</databases>
</engine>
<engine name="Halo 3 Expo" version="11" build="11729.07.08.10.0021.main" inherits="Halo 3">
<shortName>H3Expo</shortName>
</engine>
<engine name="Halo 3 Epsilon" version="11" build="11856.07.08.20.2332.release" inherits="Halo 3">
<shortName>H3Epsilon</shortName>
</engine>
<engine name="Halo 3 Mythic" version="11" build="12065.08.08.26.0819.halo3_ship" inherits="Halo 3">
<shortName>H3Mythic</shortName>
</engine>
Expand Down Expand Up @@ -1204,6 +1216,18 @@
<layouts type="layouts" path="Formats/Halo2AMCC/LayoutsU10" />
</databases>
</engine>

<engine name="Halo 2 Anniversary MCC Toolset Update 2" version="13" build="Jan 3 2024 10:26:12" inherits="Halo 2 Anniversary MCC Update 8">
<databases>
<layouts type="layouts" path="Formats/Halo2AMCC/LayoutsU10" />
</databases>
</engine>

<engine name="Halo 2 Anniversary MCC Toolset Update 2 Fast" version="13" build="Jan 3 2024 10:26:11" inherits="Halo 2 Anniversary MCC Update 8">
<databases>
<layouts type="layouts" path="Formats/Halo2AMCC/LayoutsU10" />
</databases>
</engine>

<!-- Halo 3 MCC -->
<engine name="Halo 3 MCC Flight" version="11" build="Jun 4 2020 20:29:31">
Expand Down Expand Up @@ -1490,6 +1514,27 @@
<stringIds type="stringIds" path="Formats/Halo3MCC/H3MCC_U13_Stub_StringIDs.xml" />
</databases>
</engine>

<engine name="Halo 3 MCC Update 14" version="13" build="Dec 21 2023 22:31:37" inherits="Halo 3 MCC Update 6">
<databases>
<layouts type="layouts" path="Formats/Halo3MCC/LayoutsU13" />
<stringIds type="stringIds" path="Formats/Halo3MCC/H3MCC_U13_Stub_StringIDs.xml" />
</databases>
</engine>

<engine name="Halo 3 MCC Toolset Update 9" version="13" build="Jan 3 2024 10:08:58" inherits="Halo 3 MCC Update 6">
<databases>
<layouts type="layouts" path="Formats/Halo3MCC/LayoutsU13" />
<stringIds type="stringIds" path="Formats/Halo3MCC/H3MCC_U13_Stub_StringIDs.xml" />
</databases>
</engine>

<engine name="Halo 3 MCC Toolset Update 9 Fast" version="13" build="Jan 3 2024 10:01:45" inherits="Halo 3 MCC Update 6">
<databases>
<layouts type="layouts" path="Formats/Halo3MCC/LayoutsU13" />
<stringIds type="stringIds" path="Formats/Halo3MCC/H3MCC_U13_Stub_StringIDs.xml" />
</databases>
</engine>

<!-- ODST MCC -->
<engine name="Halo ODST MCC Flight" version="11" build="Aug 11 2020 06:58:27">
Expand Down
1 change: 1 addition & 0 deletions src/Blamite/Formats/Halo1/H1AMCC_Poking.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,5 @@
<version name="1.3232.0.0" headerAddress="0x2B22744" magicAddress="0x2B22F50" />
<version name="1.3251.0.0" headerAddress="0x2B22744" magicAddress="0x2B22F50" />
<version name="1.3272.0.0" headerAddress="0x2B22744" magicAddress="0x2B22F50" />
<version name="1.3385.0.0" headerAddress="0x2B22744" magicAddress="0x2B22F50" />
</poking>
1 change: 1 addition & 0 deletions src/Blamite/Formats/Halo2AMCC/H2AMCC_Poking.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,5 @@
<version name="1.3232.0.0" headerPointer="0x12E3A50" magicOffset="0xA8" />
<version name="1.3251.0.0" headerPointer="0x12E3A50" magicOffset="0xA8" />
<version name="1.3272.0.0" headerPointer="0x12E3A50" magicOffset="0xA8" />
<version name="1.3385.0.0" headerPointer="0x12E3A50" magicOffset="0xA8" />
</poking>
1 change: 1 addition & 0 deletions src/Blamite/Formats/Halo2MCC/H2MCC_Poking.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,5 @@
<version name="1.3232.0.0" headerPointer="0x15E3B50" magicAddress="0x15E3B58" sharedMagicAddress="0x15E3B48" />
<version name="1.3251.0.0" headerPointer="0x15E3B50" magicAddress="0x15E3B58" sharedMagicAddress="0x15E3B48" />
<version name="1.3272.0.0" headerPointer="0x15E3B50" magicAddress="0x15E3B58" sharedMagicAddress="0x15E3B48" />
<version name="1.3385.0.0" headerPointer="0x15E3B50" magicAddress="0x15E3B58" sharedMagicAddress="0x15E3B48" />
</poking>
133 changes: 133 additions & 0 deletions src/Blamite/Formats/Halo3/LayoutsDLC/H3DLC_Layouts_Core.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<layouts>
<!-- Map header (minus version info) -->
<layout for="header" size="0x3000">
<uint32 name="file size" offset="0x8" />
<uint32 name="index header address" offset="0x10" />
<uint32 name="tag buffer offset" offset="0x14" />
<uint32 name="virtual size" offset="0x18" />

<asciiz name="build string" offset="0x11C" />
<int16 name="type" offset="0x13C" />

<int32 name="string table count" offset="0x160" />
<int32 name="string table size" offset="0x164" />
<int32 name="string index table offset" offset="0x168" />
<int32 name="string table offset" offset="0x16C" />

<asciiz name="internal name" offset="0x194" />
<asciiz name="scenario name" offset="0x1B8" />

<int32 name="file table count" offset="0x2BC" />
<int32 name="file table offset" offset="0x2C0" />
<int32 name="file table size" offset="0x2C4" />
<int32 name="file index table offset" offset="0x2C8" />
<int32 name="checksum" offset="0x2CC" />

<uint32 name="virtual base address" offset="0x2F0" />
<uint32 name="xdk version" offset="0x2F4" />
<array name="partitions" offset="0x2F8" count="5" entrySize="0x8">
<uint32 name="load address" offset="0x0" />
<uint32 name="size" offset="0x4" />
</array>

<!-- Interop data -->
<array name="offset masks" offset="0x4A8" count="4" entrySize="0x4">
<uint32 name="mask" offset="0x0" />
</array>
<array name="sections" offset="0x4B8" count="4" entrySize="0x8">
<uint32 name="virtual address" offset="0x0" />
<uint32 name="size" offset="0x4" />
</array>
</layout>

<!-- Index table header -->
<layout for="index header" size="0x28">
<int32 name="number of tag groups" offset="0x0" />
<uint32 name="tag group table address" offset="0x4" />
<int32 name="number of tags" offset="0x8" />
<uint32 name="tag table address" offset="0xC" />
<int32 name="number of global tags" offset="0x10" />
<uint32 name="global tag table address" offset="0x14" />
<int32 name="number of tag interops" offset="0x18" />
<uint32 name="tag interop table address" offset="0x1C" />
<int32 name="magic" offset="0x24" />
</layout>

<!-- Tag group table entry -->
<layout for="tag group element" size="0x10">
<int32 name="magic" offset="0x0" />
<int32 name="parent magic" offset="0x4" />
<int32 name="grandparent magic" offset="0x8" />
<uint32 name="stringid" offset="0xC" />
</layout>

<!-- Tag table entry -->
<layout for="tag element" size="0x8">
<int16 name="tag group index" offset="0x0" />
<uint16 name="datum index salt" offset="0x2" />
<uint32 name="memory address" offset="0x4" />
</layout>

<!-- Global tag table entry -->
<layout for="global tag element" size="0x8">
<int32 name="tag group magic" offset="0x0" />
<uint32 name="datum index" offset="0x4" />
</layout>

<!-- tag interop table entry -->
<layout for="tag interop element" size="0x8">
<uint32 name="pointer" offset ="0x0" />
<int32 name="type" offset="0x4" />
</layout>

<!-- Map globals meta -->
<layout for="matg">
<array name="languages" offset="0x1C4" entrySize="0x44" count="12">
<uint32 name="string count" offset="0x0" />
<uint32 name="locale table size" offset="0x4" />
<uint32 name="locale index table offset" offset="0x8" />
<uint32 name="locale data index offset" offset="0xC" />
<raw name="index table hash" offset="0x10" size="0x14" />
<raw name="string data hash" offset="0x24" size="0x14" />
</array>
</layout>

<layout for="locale index table element" size="0x8">
<uint32 name="stringid" offset="0x0" />
<uint32 name="offset" offset="0x4" />
</layout>

<layout for="tag block" size="0xC">
<int32 name="entry count" offset="0x0" />
<uint32 name="pointer" offset="0x4" />
</layout>

<layout for="tag reference" size="0x10">
<int32 name="tag group magic" offset="0x0" />
<uint32 name="datum index" offset="0xC" />
</layout>

<layout for="data reference" size="0x14">
<int32 name="size" offset="0x0" />
<uint32 name="pointer" offset="0xC" />
</layout>

<!-- unic (multilingual_unicode_string_list) -->
<layout for="unic">
<array name="language ranges" offset="0x20" entrySize="0x4" count="12">
<int16 name="range start index" offset="0x0" />
<int16 name="range size" offset="0x2" />
</array>
</layout>

<!-- sbsp (scenario_structure_bsp) -->
<layout for="sbsp">
<int32 name="number of instanced geometry" offset="0x1B0" />
<uint32 name="instanced geometry table address" offset="0x1B4" />
</layout>

<layout for="sbsp instanced geometry" size="0x78">
<int32 name="name stringid" offset="0x54" />
</layout>
</layouts>
133 changes: 133 additions & 0 deletions src/Blamite/Formats/Halo3/LayoutsRefresh/H3Re_Layouts_Core.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<layouts>
<!-- Map header (minus version info) -->
<layout for="header" size="0x3000">
<uint32 name="file size" offset="0x8" />
<uint32 name="index header address" offset="0x10" />
<uint32 name="tag buffer offset" offset="0x14" />
<uint32 name="virtual size" offset="0x18" />

<asciiz name="build string" offset="0x11C" />
<int16 name="type" offset="0x13C" />

<int32 name="string table count" offset="0x160" />
<int32 name="string table size" offset="0x164" />
<int32 name="string index table offset" offset="0x168" />
<int32 name="string table offset" offset="0x16C" />

<asciiz name="internal name" offset="0x194" />
<asciiz name="scenario name" offset="0x1B8" />

<int32 name="file table count" offset="0x2BC" />
<int32 name="file table offset" offset="0x2C0" />
<int32 name="file table size" offset="0x2C4" />
<int32 name="file index table offset" offset="0x2C8" />
<int32 name="checksum" offset="0x2CC" />

<uint32 name="virtual base address" offset="0x2F0" />
<uint32 name="xdk version" offset="0x2F4" />
<array name="partitions" offset="0x2F8" count="4" entrySize="0x8">
<uint32 name="load address" offset="0x0" />
<uint32 name="size" offset="0x4" />
</array>

<!-- Interop data -->
<array name="offset masks" offset="0x48C" count="4" entrySize="0x4">
<uint32 name="mask" offset="0x0" />
</array>
<array name="sections" offset="0x49C" count="4" entrySize="0x8">
<uint32 name="virtual address" offset="0x0" />
<uint32 name="size" offset="0x4" />
</array>
</layout>

<!-- Index table header -->
<layout for="index header" size="0x28">
<int32 name="number of tag groups" offset="0x0" />
<uint32 name="tag group table address" offset="0x4" />
<int32 name="number of tags" offset="0x8" />
<uint32 name="tag table address" offset="0xC" />
<int32 name="number of global tags" offset="0x10" />
<uint32 name="global tag table address" offset="0x14" />
<int32 name="number of tag interops" offset="0x18" />
<uint32 name="tag interop table address" offset="0x1C" />
<int32 name="magic" offset="0x24" />
</layout>

<!-- Tag group table entry -->
<layout for="tag group element" size="0x10">
<int32 name="magic" offset="0x0" />
<int32 name="parent magic" offset="0x4" />
<int32 name="grandparent magic" offset="0x8" />
<uint32 name="stringid" offset="0xC" />
</layout>

<!-- Tag table entry -->
<layout for="tag element" size="0x8">
<int16 name="tag group index" offset="0x0" />
<uint16 name="datum index salt" offset="0x2" />
<uint32 name="memory address" offset="0x4" />
</layout>

<!-- Global tag table entry -->
<layout for="global tag element" size="0x8">
<int32 name="tag group magic" offset="0x0" />
<uint32 name="datum index" offset="0x4" />
</layout>

<!-- tag interop table entry -->
<layout for="tag interop element" size="0x8">
<uint32 name="pointer" offset ="0x0" />
<int32 name="type" offset="0x4" />
</layout>

<!-- Map globals meta -->
<layout for="matg">
<array name="languages" offset="0x1C4" entrySize="0x44" count="12">
<uint32 name="string count" offset="0x0" />
<uint32 name="locale table size" offset="0x4" />
<uint32 name="locale index table offset" offset="0x8" />
<uint32 name="locale data index offset" offset="0xC" />
<raw name="index table hash" offset="0x10" size="0x14" />
<raw name="string data hash" offset="0x24" size="0x14" />
</array>
</layout>

<layout for="locale index table element" size="0x8">
<uint32 name="stringid" offset="0x0" />
<uint32 name="offset" offset="0x4" />
</layout>

<layout for="tag block" size="0xC">
<int32 name="entry count" offset="0x0" />
<uint32 name="pointer" offset="0x4" />
</layout>

<layout for="tag reference" size="0x10">
<int32 name="tag group magic" offset="0x0" />
<uint32 name="datum index" offset="0xC" />
</layout>

<layout for="data reference" size="0x14">
<int32 name="size" offset="0x0" />
<uint32 name="pointer" offset="0xC" />
</layout>

<!-- unic (multilingual_unicode_string_list) -->
<layout for="unic">
<array name="language ranges" offset="0x20" entrySize="0x4" count="12">
<int16 name="range start index" offset="0x0" />
<int16 name="range size" offset="0x2" />
</array>
</layout>

<!-- sbsp (scenario_structure_bsp) -->
<layout for="sbsp">
<int32 name="number of instanced geometry" offset="0x1B0" />
<uint32 name="instanced geometry table address" offset="0x1B4" />
</layout>

<layout for="sbsp instanced geometry" size="0x78">
<int32 name="name stringid" offset="0x54" />
</layout>
</layouts>
1 change: 1 addition & 0 deletions src/Blamite/Formats/Halo3MCC/H3MCC_Poking.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,5 @@
<version name="1.3232.0.0" headerAddress="0x20A8058" magicAddress="0x1FCE4C8" />
<version name="1.3251.0.0" headerAddress="0x20A8058" magicAddress="0x1FCE4C8" />
<version name="1.3272.0.0" headerAddress="0x20A8058" magicAddress="0x1FCE4C8" />
<version name="1.3385.0.0" headerAddress="0x20A8058" magicAddress="0x1FCE4C8" />
</poking>
Loading

0 comments on commit 9854e98

Please sign in to comment.