Implement the Granny SDK 2.11 API the client uses on top of libgr2 (platform/EterGrnLib/GrannyRuntime.cpp, shim granny.h declared from the SDK header): file sections, type-definition vertex conversion, material textures by Usage, mesh/bone bindings, deformer, control clock/loop/ease and weighted SRT sampling. Port EterGrnLib (LODController, Material, Mesh, Model, ModelInstance*, Motion, Thing, ThingInstance, Util) plus EterLib GrpObjectInstance/GrpCollisionObject/CollisionData verbatim and drop their platform skeletons and pending stand-ins; register the gr2 resource factory; vertex/index buffers are CPU-side until the 2V2-e render adapter. app.UpdateGame/RenderGame now run 40250's bodies, reaching the CPythonApplication members through their singletons (the platform has no app object); CPythonGraphic joins GameSingletons in member order, and GetMousePosition reads the host cursor. port.login_flow asserts the main instance's PART_MAIN model has meshes, its diffuse image loaded and the WAIT motion moves the bones between frames; offline and live pass, port_gate macos PASS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
111 lines
3.5 KiB
JSON
111 lines
3.5 KiB
JSON
{
|
|
"reference": "EterGrnLib/ModelInstance.cpp",
|
|
"reference_sha256": "40703bdb1525e40a739e14ec9d21955555d26127974deffbb61425290c5ad8c6",
|
|
"priority": "P4",
|
|
"contracts": [],
|
|
"functions": {
|
|
"CGrannyModelInstance::GetModel": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::GetModel"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::SetMaterialImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::SetMaterialImagePointer"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::SetMaterialData": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::SetMaterialData"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::SetSpecularInfo": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::SetSpecularInfo"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::SetLocalTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::SetLocalTime"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::ResetLocalTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::ResetLocalTime"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::GetLocalTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::GetLocalTime"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::SetParentModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::SetParentModelInstance"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::IsEmpty": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::IsEmpty"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::CreateDeviceObjects": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::CreateDeviceObjects"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::DestroyDeviceObjects": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::DestroyDeviceObjects"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::__Initialize": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::__Initialize"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::CGrannyModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::CGrannyModelInstance"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::~CGrannyModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::~CGrannyModelInstance"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::New": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::New"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::Delete": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::Delete"
|
|
]
|
|
},
|
|
"CGrannyModelInstance::DestroySystem": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/ModelInstance.cpp:CGrannyModelInstance::DestroySystem"
|
|
]
|
|
}
|
|
}
|
|
}
|