patterns: Added Minecraft LCE LOC file pattern (#311)

* create LOC hexpat

* loc to list
This commit is contained in:
Dexrn ZacAttack
2024-11-17 04:59:44 -08:00
committed by GitHub
parent 1d680fbf5e
commit c8d9a8deb7
2 changed files with 47 additions and 0 deletions

46
patterns/loc.hexpat Normal file
View File

@@ -0,0 +1,46 @@
#pragma author DexrnZacAttack
#pragma description Minecraft LCE LOC file
#pragma endian big
#pragma array_limit 739845729834
#pragma pattern_limit 34893726894
import std.string;
struct Keys {
bool useUniqueIDs;
u32 count;
u32 key[count];
};
struct LangIds {
u16 len;
char id[len];
u32 unk;
} [[name(id)]];
struct LocString {
u16 keySize;
char key[keySize];
} [[name(std::string::to_string(key))]];
struct Language {
u32 read;
if (read > 0)
u8 unk;
u16 len;
char id[len];
u32 count;
LocString strings[count];
} [[name(id)]];
struct Loc {
u32 version;
u32 count;
if (version == 2)
Keys keys;
LangIds ids[count];
Language language[count];
};
Loc loc @ 0x00;