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>
This commit is contained in:
shenlei
2026-09-24 03:07:15 +09:00
co-authored by Claude Opus 5.5
parent 7358bf444a
commit 03de3f314a
25 changed files with 3944 additions and 328 deletions
@@ -0,0 +1,50 @@
{
"reference": "EterBase/Poly/Symbol.cpp",
"reference_sha256": "018d4ee2824ccf9b10c859650ff22e47d815c03d958caa7490acc4c90479a032",
"priority": "P4",
"contracts": [],
"functions": {
"CSymbol::CSymbol": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::CSymbol"
]
},
"CSymbol::~CSymbol": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::~CSymbol"
]
},
"CSymbol::Equal": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::Equal"
]
},
"CSymbol::Less": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::Less"
]
},
"CSymbol::GetType": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::GetType"
]
},
"CSymbol::SetType": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::SetType"
]
},
"CSymbol::issymbol": {
"status": "PORTED",
"impl": [
"extension/src/port/EterBase/Poly/Symbol.cpp:CSymbol::issymbol"
]
}
}
}