Files
mtgodot-poc/audit/port-map/UserInterface/PythonItemModule.cpp.json
T
shenleiandClaude Opus 5.5 03de3f314a port: CPythonSkill + skill module + EterBase/Poly (1:1 40250)
Copy PythonSkill.cpp and the EterBase/Poly formula parser verbatim, drop the
pending stand-in and the skill module stub, register initskill() after
initfly() and build CPythonSkill in m_pySkill's place. LoadLocaleData now
loads skilldesc/skilltable. Skill and item icon handles go through
Py_BuildPointer/PyTuple_GetPointer (ILP32 ints truncate 64-bit pointers).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 03:07:15 +09:00

237 lines
7.1 KiB
JSON

{
"reference": "UserInterface/PythonItemModule.cpp",
"reference_sha256": "6eb7357f37a19961a8b3293ce3098321b5a8231b8f09391a5bccbbaf7157bbe7",
"priority": "P3",
"contracts": [],
"functions": {
"itemSetUseSoundFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemSetUseSoundFileName"
]
},
"itemSetDropSoundFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemSetDropSoundFileName"
]
},
"itemSelectItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemSelectItem"
]
},
"itemGetItemName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemName"
]
},
"itemGetItemDescription": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemDescription"
]
},
"itemGetItemSummary": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemSummary"
]
},
"itemGetIconImage": {
"status": "ADAPTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetIconImage"
],
"test": "extension/tests/port_login_flow_test.cpp (port.login_live: inventory slots set icons without the truncated-pointer crash)",
"note": "Returns the CGraphicSubImage* through Py_BuildPointer instead of Py_BuildValue(\"i\"): 40250 is ILP32, and wndMgr.SetSlot reads the handle back with PyTuple_GetPointer."
},
"itemGetIconImageFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetIconImageFileName"
]
},
"itemGetItemSize": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemSize"
]
},
"itemGetItemType": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemType"
]
},
"itemGetItemSubType": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetItemSubType"
]
},
"itemGetIBuyItemPrice": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetIBuyItemPrice"
]
},
"itemGetISellItemPrice": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetISellItemPrice"
]
},
"itemIsAntiFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsAntiFlag"
]
},
"itemIsFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsFlag"
]
},
"itemIsWearableFlag": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsWearableFlag"
]
},
"itemIs1GoldItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIs1GoldItem"
]
},
"itemGetLimit": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetLimit"
]
},
"itemGetAffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetAffect"
]
},
"itemGetValue": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetValue"
]
},
"itemGetSocket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetSocket"
]
},
"itemGetIconInstance": {
"status": "ADAPTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetIconInstance"
],
"note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.",
"test": "extension/tests/port_login_flow_test.cpp (compiles with the same handle helpers as skill icon instances)"
},
"itemDeleteIconInstance": {
"status": "ADAPTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemDeleteIconInstance"
],
"note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.",
"test": "extension/tests/port_login_flow_test.cpp (compiles with the same handle helpers as skill icon instances)"
},
"itemIsEquipmentVID": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsEquipmentVID"
]
},
"itemGetUseType": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemGetUseType"
]
},
"itemIsRefineScroll": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsRefineScroll"
]
},
"itemIsDetachScroll": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsDetachScroll"
]
},
"itemCanAddToQuickSlotItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemCanAddToQuickSlotItem"
]
},
"itemIsKey": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsKey"
]
},
"itemIsMetin": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemIsMetin"
]
},
"itemRender": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemRender"
]
},
"itemUpdate": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemUpdate"
]
},
"itemCreateItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemCreateItem"
]
},
"itemDeleteItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemDeleteItem"
]
},
"itemPick": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemPick"
]
},
"itemLoadItemTable": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:itemLoadItemTable"
]
},
"initItem": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonItemModule.cpp:initItem"
]
}
}
}