port 2V2-c: chrmgr/chr modules + race registration chain

PythonCharacterManagerModule/PythonCharacterModule ported verbatim; the
2V0 chr/chrmgr stubs are gone and initchr/initchrmgr run in 40250 order.
The registration chain they need (RaceData/RaceDataFile/RaceManager/
RaceMotionData, GameType, AttributeData/AttributeInstance, TextFileLoader,
Util, Camera/CameraProcedure) is ported; CRaceManager is created in
PythonBoot. port.login_flow asserts race 0 has its wait motions and no
unhandled packet header; port.login_live 8/8 against 192.168.21.203.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 18:40:47 +09:00
co-authored by Claude Opus 5.5
parent 62b6e23bfc
commit 996d793f0c
39 changed files with 8270 additions and 625 deletions
@@ -0,0 +1,92 @@
{
"reference": "EterLib/AttributeData.cpp",
"reference_sha256": "4866e318d22d62ac88c2e2c9335c997ae9f12126c4fa6930c717725db05af9e4",
"priority": "P4",
"contracts": [],
"functions": {
"CAttributeData::GetCollisionDataVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::GetCollisionDataVector"
]
},
"CAttributeData::GetHeightDataVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::GetHeightDataVector"
]
},
"CAttributeData::GetHeightDataCount": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::GetHeightDataCount"
]
},
"CAttributeData::GetHeightDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::GetHeightDataPointer"
]
},
"CAttributeData::GetMaximizeRadius": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::GetMaximizeRadius"
]
},
"CAttributeData::AddCollisionData": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::AddCollisionData"
]
},
"CAttributeData::OnLoad": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::OnLoad"
]
},
"CAttributeData::OnClear": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::OnClear"
]
},
"CAttributeData::OnIsEmpty": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::OnIsEmpty"
]
},
"CAttributeData::OnIsType": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::OnIsType"
]
},
"CAttributeData::Type": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::Type"
]
},
"CAttributeData::OnSelfDestruct": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::OnSelfDestruct"
]
},
"CAttributeData::CAttributeData": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::CAttributeData"
]
},
"CAttributeData::~CAttributeData": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeData.cpp:CAttributeData::~CAttributeData"
]
}
}
}
@@ -0,0 +1,98 @@
{
"reference": "EterLib/AttributeInstance.cpp",
"reference_sha256": "ddc7c046d58c5967c589562fd7eccc6688bf6e7c33f40bafbf1c994908027fa3",
"priority": "P4",
"contracts": [],
"functions": {
"CAttributeInstance::Picking": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Picking"
]
},
"CAttributeInstance::GetHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetHeight"
]
},
"CAttributeInstance::GetObjectPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetObjectPointer"
]
},
"CAttributeInstance::IsInHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::IsInHeight"
]
},
"CAttributeInstance::SetObjectPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::SetObjectPointer"
]
},
"CAttributeInstance::RefreshObject": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::RefreshObject"
]
},
"CAttributeInstance::GetDataFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetDataFileName"
]
},
"CAttributeInstance::CreateSystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::CreateSystem"
]
},
"CAttributeInstance::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::DestroySystem"
]
},
"CAttributeInstance::New": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::New"
]
},
"CAttributeInstance::Delete": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Delete"
]
},
"CAttributeInstance::IsEmpty": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::IsEmpty"
]
},
"CAttributeInstance::Clear": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Clear"
]
},
"CAttributeInstance::CAttributeInstance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::CAttributeInstance"
]
},
"CAttributeInstance::~CAttributeInstance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::~CAttributeInstance"
]
}
}
}
+290
View File
@@ -0,0 +1,290 @@
{
"reference": "EterLib/Camera.cpp",
"reference_sha256": "364a453b04d19018bcf3222e704500a8805ca4c4b83b96ad7534cf32465d0511",
"priority": "P4",
"contracts": [],
"functions": {
"CCamera::SetCameraMaxDistance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetCameraMaxDistance"
]
},
"CCamera::GetTargetHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::GetTargetHeight"
]
},
"CCamera::SetTargetHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetTargetHeight"
]
},
"CCamera::CCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::CCamera"
]
},
"CCamera::~CCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::~CCamera"
]
},
"CCamera::Lock": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Lock"
]
},
"CCamera::Unlock": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Unlock"
]
},
"CCamera::IsLock": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::IsLock"
]
},
"CCamera::SetResistance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetResistance"
]
},
"CCamera::Wheel": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Wheel"
]
},
"CCamera::BeginDrag": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::BeginDrag"
]
},
"CCamera::IsDraging": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::IsDraging"
]
},
"CCamera::EndDrag": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::EndDrag"
]
},
"CCamera::Drag": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Drag"
]
},
"CCamera::SetCameraState": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetCameraState"
]
},
"CCamera::IncreaseNumSrcreenBuilding": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::IncreaseNumSrcreenBuilding"
]
},
"CCamera::ResetNumScreenBuilding": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::ResetNumScreenBuilding"
]
},
"CCamera::SetViewParams": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetViewParams"
]
},
"CCamera::SetEye": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetEye"
]
},
"CCamera::SetTarget": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetTarget"
]
},
"CCamera::SetUp": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetUp"
]
},
"CCamera::SetViewMatrix": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetViewMatrix"
]
},
"CCamera::Move": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Move"
]
},
"CCamera::Zoom": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Zoom"
]
},
"CCamera::MoveAlongView": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveAlongView"
]
},
"CCamera::MoveAlongCross": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveAlongCross"
]
},
"CCamera::MoveAlongUp": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveAlongUp"
]
},
"CCamera::MoveLateral": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveLateral"
]
},
"CCamera::MoveFront": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveFront"
]
},
"CCamera::MoveVertical": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::MoveVertical"
]
},
"CCamera::RotateEyeAroundTarget": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::RotateEyeAroundTarget"
]
},
"CCamera::RotateEyeAroundPoint": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::RotateEyeAroundPoint"
]
},
"CCamera::Pitch": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Pitch"
]
},
"CCamera::Roll": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::Roll"
]
},
"CCamera::SetDistance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::SetDistance"
]
},
"CCamera::CalculateRoll": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCamera::CalculateRoll"
]
},
"CCameraManager::CCameraManager": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::CCameraManager"
]
},
"CCameraManager::~CCameraManager": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::~CCameraManager"
]
},
"CCameraManager::GetCurrentCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::GetCurrentCamera"
]
},
"CCameraManager::SetCurrentCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::SetCurrentCamera"
]
},
"CCameraManager::ResetToPreviousCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::ResetToPreviousCamera"
]
},
"CCameraManager::isCurrentCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::isCurrentCamera"
]
},
"CCameraManager::AddCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::AddCamera"
]
},
"CCameraManager::RemoveCamera": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::RemoveCamera"
]
},
"CCameraManager::GetCurrentCameraNum": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::GetCurrentCameraNum"
]
},
"CCameraManager::isTerrainCollisionEnable": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::isTerrainCollisionEnable"
]
},
"CCameraManager::SetTerrainCollision": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Camera.cpp:CCameraManager::SetTerrainCollision"
]
}
}
}
@@ -0,0 +1,260 @@
{
"reference": "EterLib/TextFileLoader.cpp",
"reference_sha256": "2765786448da8e27b98194515c6ad4c5bfc9c87b2c4b95697356b7d5379a6da9",
"priority": "P4",
"contracts": [],
"functions": {
"CTextFileLoader::SGroupNode::GetTokenVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::GetTokenVector"
]
},
"CTextFileLoader::SGroupNode::IsExistTokenVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::IsExistTokenVector"
]
},
"CTextFileLoader::SGroupNode::InsertTokenVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::InsertTokenVector"
]
},
"CTextFileLoader::SGroupNode::GenNameKey": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::GenNameKey"
]
},
"CTextFileLoader::SGroupNode::GetGroupName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::GetGroupName"
]
},
"CTextFileLoader::SGroupNode::IsGroupNameKey": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::IsGroupNameKey"
]
},
"CTextFileLoader::SGroupNode::SetGroupName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::SetGroupName"
]
},
"CTextFileLoader::SGroupNode::New": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::New"
]
},
"CTextFileLoader::SGroupNode::Delete": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::Delete"
]
},
"CTextFileLoader::SGroupNode::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SGroupNode::DestroySystem"
]
},
"CTextFileLoader::Cache": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::Cache"
]
},
"CTextFileLoader::SetCacheMode": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SetCacheMode"
]
},
"CTextFileLoader::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::DestroySystem"
]
},
"CTextFileLoader::Destroy": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::Destroy"
]
},
"CTextFileLoader::CTextFileLoader": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::CTextFileLoader"
]
},
"CTextFileLoader::~CTextFileLoader": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::~CTextFileLoader"
]
},
"CTextFileLoader::__DestroyGroupNodeVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::__DestroyGroupNodeVector"
]
},
"CTextFileLoader::GetFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetFileName"
]
},
"CTextFileLoader::IsEmpty": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::IsEmpty"
]
},
"CTextFileLoader::Load": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::Load"
]
},
"CTextFileLoader::LoadGroup": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::LoadGroup"
]
},
"CTextFileLoader::SetTop": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SetTop"
]
},
"CTextFileLoader::GetChildNodeCount": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetChildNodeCount"
]
},
"CTextFileLoader::SetChildNode": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SetChildNode"
]
},
"CTextFileLoader::SetParentNode": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::SetParentNode"
]
},
"CTextFileLoader::GetCurrentNodeName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetCurrentNodeName"
]
},
"CTextFileLoader::IsToken": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::IsToken"
]
},
"CTextFileLoader::GetTokenVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenVector"
]
},
"CTextFileLoader::GetTokenBoolean": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenBoolean"
]
},
"CTextFileLoader::GetTokenByte": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenByte"
]
},
"CTextFileLoader::GetTokenWord": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenWord"
]
},
"CTextFileLoader::GetTokenInteger": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenInteger"
]
},
"CTextFileLoader::GetTokenDoubleWord": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenDoubleWord"
]
},
"CTextFileLoader::GetTokenFloat": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenFloat"
]
},
"CTextFileLoader::GetTokenVector2": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenVector2"
]
},
"CTextFileLoader::GetTokenVector3": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenVector3"
]
},
"CTextFileLoader::GetTokenVector4": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenVector4"
]
},
"CTextFileLoader::GetTokenPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenPosition"
]
},
"CTextFileLoader::GetTokenQuaternion": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenQuaternion"
]
},
"CTextFileLoader::GetTokenDirection": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenDirection"
]
},
"CTextFileLoader::GetTokenColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenColor"
]
},
"CTextFileLoader::GetTokenString": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/TextFileLoader.cpp:CTextFileLoader::GetTokenString"
]
}
}
}
+120
View File
@@ -0,0 +1,120 @@
{
"reference": "EterLib/Util.cpp",
"reference_sha256": "6bbb3a040afb38891e534689ea3ccdb4eafae4101ad2bb7a09c2a208fcaa35f3",
"priority": "P4",
"contracts": [],
"functions": {
"PrintfTabs": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:PrintfTabs"
]
},
"LoadTextData": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:LoadTextData"
]
},
"LoadMultipleTextData": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:LoadMultipleTextData"
]
},
"TokenToVector": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:TokenToVector"
]
},
"TokenToColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:TokenToColor"
]
},
"EnumFontFamExProc": {
"status": "N_A",
"note": "Win32 font enumeration; the platform font backend owns code page/font face"
},
"GetCharsetFromCodePage": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:GetCharsetFromCodePage"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"GetFontFaceFromCodePageNT": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:GetFontFaceFromCodePageNT"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"GetFontFaceFromCodePage9x": {
"status": "N_A",
"note": "Win32 font enumeration; the platform font backend owns code page/font face"
},
"GetDefaultCodePage": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:GetDefaultCodePage"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"GetDefaultFontFace": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:GetDefaultFontFace"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"GetFontFaceFromCodePage": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:GetFontFaceFromCodePage"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"SetDefaultFontFace": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:SetDefaultFontFace"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"SetDefaultCodePage": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/EterLib/Util.cpp:SetDefaultCodePage"
],
"note": "lives with the platform font backend",
"test": "extension/tests/port_login_flow_test.cpp (PythonBoot SetDefaultCodePage(LocaleService_GetCodePage()) -> CP949 text through GrpTextInstance in the login/select/game UI)"
},
"__base64_get": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:__base64_get"
]
},
"__strcat1": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:__strcat1"
]
},
"base64_decode": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/Util.cpp:base64_decode"
]
}
}
}