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
+218
View File
@@ -0,0 +1,218 @@
{
"reference": "EterPack/EterPack.cpp",
"reference_sha256": "7a38554a275da2fe7d16ea4c60a3ab644dbd3ed7845d19c385819045e74e6787",
"priority": "P4",
"contracts": [],
"functions": {
"CMakePackLog::SetFileName": {
"status": "TODO"
},
"CMakePackLog::GetSingleton": {
"status": "TODO"
},
"CMakePackLog::CMakePackLog": {
"status": "TODO"
},
"CMakePackLog::~CMakePackLog": {
"status": "TODO"
},
"CMakePackLog::__IsLogMode": {
"status": "TODO"
},
"CMakePackLog::Writef": {
"status": "TODO"
},
"CMakePackLog::Writenf": {
"status": "TODO"
},
"CMakePackLog::Write": {
"status": "TODO"
},
"CMakePackLog::__Write": {
"status": "TODO"
},
"CMakePackLog::WriteErrorf": {
"status": "TODO"
},
"CMakePackLog::WriteErrornf": {
"status": "TODO"
},
"CMakePackLog::WriteError": {
"status": "TODO"
},
"CMakePackLog::__WriteError": {
"status": "TODO"
},
"CMakePackLog::FlushError": {
"status": "TODO"
},
"CEterPack::CEterPack": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::CEterPack"
],
"status": "PORTED"
},
"CEterPack::~CEterPack": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::~CEterPack"
],
"status": "PORTED"
},
"CEterPack::Destroy": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::Destroy"
],
"status": "PORTED"
},
"CEterPack::GetPathName": {
"status": "TODO"
},
"CEterPack::Create": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::Create"
],
"status": "PORTED"
},
"CEterPack::DecryptIV": {
"status": "TODO"
},
"CEterPack::DecryptIndexFile": {
"status": "TODO"
},
"CEterPack::EncryptIndexFile": {
"status": "TODO"
},
"CEterPack::__BuildIndex": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::__BuildIndex"
],
"status": "PORTED"
},
"CEterPack::Get": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::Get"
],
"status": "PORTED"
},
"CEterPack::Get2": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::Get2"
],
"status": "PORTED"
},
"CEterPack::Delete": {
"status": "TODO"
},
"CEterPack::Extract": {
"status": "TODO"
},
"CEterPack::GetNames": {
"status": "TODO"
},
"CEterPack::Put": {
"status": "TODO"
},
"CEterPack::GenerateMD5Hash": {
"status": "TODO"
},
"CEterPack::GetFragmentSize": {
"status": "TODO"
},
"CEterPack::CreateIndexFile": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::CreateIndexFile"
],
"status": "PORTED"
},
"CEterPack::WriteIndex": {
"status": "TODO"
},
"CEterPack::GetFreeBlockIndex": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::GetFreeBlockIndex"
],
"status": "PORTED"
},
"CEterPack::PushFreeIndex": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::PushFreeIndex"
],
"status": "PORTED"
},
"CEterPack::GetNewIndexPosition": {
"status": "TODO"
},
"CEterPack::NewIndex": {
"status": "TODO"
},
"CEterPack::FindIndex": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::FindIndex"
],
"status": "PORTED"
},
"CEterPack::IsExist": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::IsExist"
],
"status": "PORTED"
},
"CEterPack::CreateDataFile": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::CreateDataFile"
],
"status": "PORTED"
},
"CEterPack::GetNewDataPosition": {
"status": "TODO"
},
"CEterPack::ReadData": {
"status": "TODO"
},
"CEterPack::WriteData": {
"status": "TODO"
},
"CEterPack::WriteNewData": {
"status": "TODO"
},
"CEterPack::GetIndexMap": {
"status": "TODO"
},
"CEterPack::DeleteUnreferencedData": {
"status": "TODO"
},
"CEterPack::GetDBName": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterPack::GetDBName"
],
"status": "PORTED"
},
"CEterPack::__CreateFileNameKey_Panama": {
"status": "TODO"
},
"CEterPack::__Encrypt_Panama": {
"status": "TODO"
},
"CEterPack::__Decrypt_Panama": {
"status": "TODO"
},
"CEterPack::GetPackPolicy_HybridCrypt": {
"status": "TODO"
},
"CEterFileDict::InsertItem": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterFileDict::InsertItem"
],
"status": "PORTED"
},
"CEterFileDict::UpdateItem": {
"status": "TODO"
},
"CEterFileDict::GetItem": {
"impl": [
"extension/src/port/EterPack/EterPack.cpp:CEterFileDict::GetItem"
],
"status": "PORTED"
}
}
}
@@ -0,0 +1,128 @@
{
"reference": "EterPack/EterPackManager.cpp",
"reference_sha256": "335a4bf569f4cf0b2154f39ca35f1e294f1a514641e082290f1f1ce6c0a336a9",
"priority": "P4",
"contracts": [],
"functions": {
"CEterPackManager::FindPack": {
"status": "TODO"
},
"CEterPackManager::SetCacheMode": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::SetCacheMode"
],
"status": "PORTED"
},
"CEterPackManager::SetRelativePathMode": {
"status": "TODO"
},
"CEterPackManager::ConvertFileName": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::ConvertFileName"
],
"status": "PORTED"
},
"CEterPackManager::CompareName": {
"status": "TODO"
},
"CEterPackManager::LoadStaticCache": {
"status": "TODO"
},
"CEterPackManager::__FindCache": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::__FindCache"
],
"status": "PORTED"
},
"CEterPackManager::__ClearCacheMap": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::__ClearCacheMap"
],
"status": "PORTED"
},
"CEterPackManager::Get": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::Get"
],
"status": "PORTED"
},
"CEterPackManager::GetFromPack": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::GetFromPack"
],
"status": "PORTED"
},
"CEterPackManager::ArrangeMemoryMappedPack": {
"status": "TODO"
},
"CEterPackManager::GetFromFile": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::GetFromFile"
],
"status": "PORTED"
},
"CEterPackManager::isExistInPack": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::isExistInPack"
],
"status": "PORTED"
},
"CEterPackManager::isExist": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::isExist"
],
"status": "PORTED"
},
"CEterPackManager::RegisterRootPack": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::RegisterRootPack"
],
"status": "PORTED"
},
"CEterPackManager::GetRootPackFileName": {
"status": "TODO"
},
"CEterPackManager::DecryptPackIV": {
"status": "TODO"
},
"CEterPackManager::RegisterPackWhenPackMaking": {
"status": "TODO"
},
"CEterPackManager::RegisterPack": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::RegisterPack"
],
"status": "PORTED"
},
"CEterPackManager::SetSearchMode": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::SetSearchMode"
],
"status": "PORTED"
},
"CEterPackManager::GetSearchMode": {
"status": "TODO"
},
"CEterPackManager::CEterPackManager": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::CEterPackManager"
],
"status": "PORTED"
},
"CEterPackManager::~CEterPackManager": {
"impl": [
"extension/src/port/EterPack/EterPackManager.cpp:CEterPackManager::~CEterPackManager"
],
"status": "PORTED"
},
"CEterPackManager::RetrieveHybridCryptPackKeys": {
"status": "TODO"
},
"CEterPackManager::RetrieveHybridCryptPackSDB": {
"status": "TODO"
},
"CEterPackManager::WriteHybridCryptPackInfo": {
"status": "TODO"
}
}
}
@@ -0,0 +1,53 @@
{
"reference": "EterPack/EterPackPolicy_CSHybridCrypt.cpp",
"reference_sha256": "02db1037e746468b036a3ec2004a4ebffa568d5433fe6e94bc50729ed69e6e0b",
"priority": "P4",
"contracts": [],
"functions": {
"GetFileExt": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::~EterPackPolicy_CSHybridCrypt": {
"impl": [
"extension/src/port/EterPack/EterPackPolicy_CSHybridCrypt.cpp:EterPackPolicy_CSHybridCrypt::~EterPackPolicy_CSHybridCrypt"
],
"status": "PORTED"
},
"EterPackPolicy_CSHybridCrypt::IsContainingCryptKey": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::GenerateCryptKey": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::GetPerFileCryptKey": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::EncryptMemory": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::DecryptMemory": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::WriteCryptKeyToFile": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::ReadCryptKeyInfoFromStream": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::GenerateSupplementaryDataBlock": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::GetSupplementaryDataBlock": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::IsContainingSDBFile": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::WriteSupplementaryDataBlockToFile": {
"status": "TODO"
},
"EterPackPolicy_CSHybridCrypt::ReadSupplementatyDataBlockFromStream": {
"status": "TODO"
}
}
}