port: ItemData, ItemManager, PythonNonPlayer + LoadLocaleData (batch 2 P3-a)

Verbatim 40250 GameLib ItemData/ItemManager and UserInterface
PythonNonPlayer(+Module) replace their pending stand-ins and the
nonplayer module stub. LoadLocaleData's body moves into the platform
CPythonApplication stand-in, so the select phase loads item_proto and
mob_proto; CPythonSkill is still pending, so it returns false after the
tables load. login_flow checks item 19 (Sword+9) and mob 101 (Wild Dog),
offline and live.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-24 00:36:10 +09:00
co-authored by Claude Opus 5.5
parent ce9f96398e
commit f0564a7f12
21 changed files with 1960 additions and 250 deletions
+302
View File
@@ -0,0 +1,302 @@
{
"reference": "GameLib/ItemData.cpp",
"reference_sha256": "084e5fd9dc566fa4127ad71db3b848a8e923ddc64781381805a2f359c5b21272",
"priority": "P3",
"contracts": [],
"functions": {
"CItemData::New": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::New"
]
},
"CItemData::Delete": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::Delete"
]
},
"CItemData::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::DestroySystem"
]
},
"CItemData::GetModelThing": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetModelThing"
]
},
"CItemData::GetSubModelThing": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSubModelThing"
]
},
"CItemData::GetDropModelThing": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetDropModelThing"
]
},
"CItemData::GetIconImage": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetIconImage"
]
},
"CItemData::GetLODModelThingCount": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetLODModelThingCount"
]
},
"CItemData::GetLODModelThingPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetLODModelThingPointer"
]
},
"CItemData::GetAttachingDataCount": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetAttachingDataCount"
]
},
"CItemData::GetCollisionDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetCollisionDataPointer"
]
},
"CItemData::GetAttachingDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetAttachingDataPointer"
]
},
"CItemData::SetSummary": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::SetSummary"
]
},
"CItemData::SetDescription": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::SetDescription"
]
},
"CItemData::SetDefaultItemData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::SetDefaultItemData"
]
},
"CItemData::__LoadFiles": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::__LoadFiles"
]
},
"CItemData::__SetIconImage": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::__SetIconImage"
]
},
"CItemData::SetItemTableData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::SetItemTableData"
]
},
"CItemData::GetTable": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetTable"
]
},
"CItemData::GetIndex": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetIndex"
]
},
"CItemData::GetName": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetName"
]
},
"CItemData::GetDescription": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetDescription"
]
},
"CItemData::GetSummary": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSummary"
]
},
"CItemData::GetType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetType"
]
},
"CItemData::GetSubType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSubType"
]
},
"CItemData::GetUseTypeString": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetUseTypeString"
]
},
"CItemData::GetWeaponType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetWeaponType"
]
},
"CItemData::GetSize": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSize"
]
},
"CItemData::IsAntiFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::IsAntiFlag"
]
},
"CItemData::IsFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::IsFlag"
]
},
"CItemData::IsWearableFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::IsWearableFlag"
]
},
"CItemData::HasNextGrade": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::HasNextGrade"
]
},
"CItemData::GetWearFlags": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetWearFlags"
]
},
"CItemData::GetIBuyItemPrice": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetIBuyItemPrice"
]
},
"CItemData::GetISellItemPrice": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetISellItemPrice"
]
},
"CItemData::GetLimit": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetLimit"
]
},
"CItemData::GetApply": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetApply"
]
},
"CItemData::GetValue": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetValue"
]
},
"CItemData::SetSocket": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::SetSocket"
]
},
"CItemData::GetSocket": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSocket"
]
},
"CItemData::GetSocketCount": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSocketCount"
]
},
"CItemData::GetIconNumber": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetIconNumber"
]
},
"CItemData::GetSpecularPoweru": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSpecularPoweru"
]
},
"CItemData::GetSpecularPowerf": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetSpecularPowerf"
]
},
"CItemData::GetRefine": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::GetRefine"
]
},
"CItemData::IsEquipment": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::IsEquipment"
]
},
"CItemData::Clear": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::Clear"
]
},
"CItemData::CItemData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::CItemData"
]
},
"CItemData::~CItemData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemData.cpp:CItemData::~CItemData"
]
}
}
}
@@ -0,0 +1,80 @@
{
"reference": "GameLib/ItemManager.cpp",
"reference_sha256": "3fee94861cd02dacfadcd5d31d5c787b0ee795ac8f7f19e0214d481946c17d42",
"priority": "P3",
"contracts": [],
"functions": {
"CItemManager::SelectItemData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::SelectItemData"
]
},
"CItemManager::GetSelectedItemDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::GetSelectedItemDataPointer"
]
},
"CItemManager::GetItemDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::GetItemDataPointer"
]
},
"CItemManager::MakeItemData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::MakeItemData"
]
},
"CItemManager::LoadItemList": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::LoadItemList"
]
},
"__SnapString": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:__SnapString"
]
},
"CItemManager::LoadItemDesc": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::LoadItemDesc"
]
},
"GetHashCode": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:GetHashCode"
]
},
"CItemManager::LoadItemTable": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::LoadItemTable"
]
},
"CItemManager::Destroy": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::Destroy"
]
},
"CItemManager::CItemManager": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::CItemManager"
]
},
"CItemManager::~CItemManager": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/ItemManager.cpp:CItemManager::~CItemManager"
]
}
}
}