port 2D step 2: 40250 item_proto/mob_proto through CLZO and pack://locale/<lang>/

proto.cpp reads the 40250 MIPX/MMPT tables with the ported CLZO/TEA (156-byte
TItemTable, 255-byte SMobTable), replacing the m2dev XChaCha20 236/335 reader.
Names follow CItemData::GetName / GetMonsterName (szLocaleName, cp1252).
GDScript callers load AssetRoot.locale_file() = pack://locale/en/<name>, which
makes the EterPack chain runtime-reachable; port-map entries for the functions
a coverage run hit move to PORTED/ADAPTED.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 01:34:08 +09:00
co-authored by Claude Opus 5
parent 5a26e93f07
commit 232d0461be
28 changed files with 1367 additions and 332 deletions
@@ -0,0 +1,73 @@
{
"reference": "UserInterface/UserInterface.cpp",
"reference_sha256": "beed987e4b1de627acafe7ea6f5fde989b8f4b33c8643fe2abb0f7152ea4a9eb",
"priority": "P4",
"contracts": [],
"functions": {
"ApplicationSetErrorString": {
"status": "TODO"
},
"CheckPythonLibraryFilenames": {
"status": "TODO"
},
"ApplicationStringTable_Initialize": {
"status": "TODO"
},
"ApplicationStringTable_GetString": {
"status": "TODO"
},
"ApplicationStringTable_GetStringz": {
"status": "TODO"
},
"PackInitialize": {
"impl": [
"extension/src/platform/UserInterface/UserInterface.cpp:PackInitialize"
],
"status": "ADAPTED",
"note": "platform PackInitialize: Index pack names resolved to the on-disk .eix spelling case-insensitively; no LogBoxf; CTextFileLoader::SetCacheMode / CSoundData::SetPackMode not called (units not ported, neither affects pack registration)",
"test": "extension/tests/port_eterpack_test.cpp (103 packs, 54891 entries, first-registered wins, 4 SECURITY rejects); extension/tests/proto_test.cpp (40250 locale/en item_proto/mob_proto through pack://)"
},
"RunMainScript": {
"status": "TODO"
},
"Main": {
"status": "TODO"
},
"CreateMetin2GameMutex": {
"status": "TODO"
},
"DestroyMetin2GameMutex": {
"status": "TODO"
},
"__ErrorPythonLibraryIsNotExist": {
"status": "TODO"
},
"__IsTimeStampOption": {
"status": "TODO"
},
"__PrintTimeStamp": {
"status": "TODO"
},
"__IsLocaleOption": {
"status": "TODO"
},
"__IsLocaleVersion": {
"status": "TODO"
},
"__IsOpenIDAuthKeyOption": {
"status": "TODO"
},
"__IsOpenIDTestOption": {
"status": "TODO"
},
"WinMain": {
"status": "TODO"
},
"GrannyError": {
"status": "TODO"
},
"Setup": {
"status": "TODO"
}
}
}