Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ BinaryAssetBuilder implementation for Kane's Wrath in .Net
* [ ] MpGameRules 0xEDDBB607
* [ ] ExperienceLevelTemplate 0xAE55047B
* [ ] MissionObjectiveList 0xC385A8C1
* [ ] StringHashTable 0x2C112832
* [x] StringHashTable
* [ ] InGameUISettings 0x49FE3760
* [ ] DamageFX 0x4DF81EBD
* [ ] MultiplayerSettings 0x1BAF4C42
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,16 @@ public void Initialize(TargetPlatform platform)
0x6D59C409u,
#endif
false),



(typeof(StringHashTable),
#if TIBERIUMWARS
0x2C112832u,
#elif KANESWRATH
0xCBB109A0u,
#endif
false),
})
{
CreateTypeInfo(type, num, hash, hasCustomData);
Expand Down
25 changes: 12 additions & 13 deletions source/SageBinaryData/SageBinaryData/StringHashTable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,18 @@
using System.Runtime.InteropServices;
using AnsiString = Relo.String<sbyte>;

namespace SageBinaryData
namespace SageBinaryData;

[StructLayout(LayoutKind.Sequential)]
public struct StringAndHash
{
[StructLayout(LayoutKind.Sequential)]
public struct StringAndHash
{
public uint Hash;
public AnsiString Text;
}
public uint Hash;
public AnsiString Text;
}

[StructLayout(LayoutKind.Sequential)]
public struct StringHashTable
{
public BaseAssetType Base;
public List<StringAndHash> StringAndHash;
}
[StructLayout(LayoutKind.Sequential)]
public struct StringHashTable
{
public BaseAssetType Base;
public List<StringAndHash> StringAndHash;
}