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>
279 lines
9.0 KiB
JSON
279 lines
9.0 KiB
JSON
{
|
|
"reference": "EterGrnLib/LODController.cpp",
|
|
"reference_sha256": "0b40088c2b31a3e54c52f8d18f1abd56c08022afc5583b8b50aeb5c2ac3b14af",
|
|
"priority": "P4",
|
|
"contracts": [],
|
|
"functions": {
|
|
"__AllocDeformVertexBuffer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:__AllocDeformVertexBuffer"
|
|
]
|
|
},
|
|
"__FreeDeformVertexBuffer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:__FreeDeformVertexBuffer"
|
|
]
|
|
},
|
|
"__ReserveSharedVertexBuffers": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:__ReserveSharedVertexBuffers"
|
|
]
|
|
},
|
|
"GrannyCreateSharedDeformBuffer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:GrannyCreateSharedDeformBuffer"
|
|
]
|
|
},
|
|
"GrannyDestroySharedDeformBuffer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:GrannyDestroySharedDeformBuffer"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetMinLODMode": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetMinLODMode"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetMaterialImagePointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetMaterialImagePointer"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetMaterialData": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetMaterialData"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetSpecularInfo": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetSpecularInfo"
|
|
]
|
|
},
|
|
"CGrannyLODController::CGrannyLODController": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::CGrannyLODController"
|
|
]
|
|
},
|
|
"CGrannyLODController::~CGrannyLODController": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::~CGrannyLODController"
|
|
]
|
|
},
|
|
"CGrannyLODController::Clear": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::Clear"
|
|
]
|
|
},
|
|
"CGrannyLODController::AddModel": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::AddModel"
|
|
]
|
|
},
|
|
"CGrannyLODController::__ReserveSharedDeformableVertexBuffer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::__ReserveSharedDeformableVertexBuffer"
|
|
]
|
|
},
|
|
"CGrannyLODController::AttachModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::AttachModelInstance"
|
|
]
|
|
},
|
|
"CGrannyLODController::DetachModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::DetachModelInstance"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetLODLimits": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetLODLimits"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetLODLevel": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetLODLevel"
|
|
]
|
|
},
|
|
"CGrannyLODController::CreateDeviceObjects": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::CreateDeviceObjects"
|
|
]
|
|
},
|
|
"CGrannyLODController::DestroyDeviceObjects": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::DestroyDeviceObjects"
|
|
]
|
|
},
|
|
"CGrannyLODController::RenderWithOneTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::RenderWithOneTexture"
|
|
]
|
|
},
|
|
"CGrannyLODController::BlendRenderWithOneTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::BlendRenderWithOneTexture"
|
|
]
|
|
},
|
|
"CGrannyLODController::RenderWithTwoTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::RenderWithTwoTexture"
|
|
]
|
|
},
|
|
"CGrannyLODController::BlendRenderWithTwoTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::BlendRenderWithTwoTexture"
|
|
]
|
|
},
|
|
"CGrannyLODController::Update": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::Update"
|
|
]
|
|
},
|
|
"CGrannyLODController::UpdateLODLevel": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::UpdateLODLevel"
|
|
]
|
|
},
|
|
"CGrannyLODController::UpdateTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::UpdateTime"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetCurrentModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetCurrentModelInstance"
|
|
]
|
|
},
|
|
"CGrannyLODController::RefreshAttachedModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::RefreshAttachedModelInstance"
|
|
]
|
|
},
|
|
"CGrannyLODController::UpdateSkeleton": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::UpdateSkeleton"
|
|
]
|
|
},
|
|
"CGrannyLODController::DeformAll": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::DeformAll"
|
|
]
|
|
},
|
|
"CGrannyLODController::DeformNoSkin": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::DeformNoSkin"
|
|
]
|
|
},
|
|
"CGrannyLODController::Deform": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::Deform"
|
|
]
|
|
},
|
|
"CGrannyLODController::RenderToShadowMap": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::RenderToShadowMap"
|
|
]
|
|
},
|
|
"CGrannyLODController::RenderShadow": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::RenderShadow"
|
|
]
|
|
},
|
|
"CGrannyLODController::ReloadTexture": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::ReloadTexture"
|
|
]
|
|
},
|
|
"CGrannyLODController::GetBoundBox": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::GetBoundBox"
|
|
]
|
|
},
|
|
"CGrannyLODController::Intersect": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::Intersect"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetLocalTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetLocalTime"
|
|
]
|
|
},
|
|
"CGrannyLODController::ResetLocalTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::ResetLocalTime"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetMotionPointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetMotionPointer"
|
|
]
|
|
},
|
|
"CGrannyLODController::ChangeMotionPointer": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::ChangeMotionPointer"
|
|
]
|
|
},
|
|
"CGrannyLODController::SetMotionAtEnd": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::SetMotionAtEnd"
|
|
]
|
|
},
|
|
"CGrannyLODController::isModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::isModelInstance"
|
|
]
|
|
},
|
|
"CGrannyLODController::GetModelInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/EterGrnLib/LODController.cpp:CGrannyLODController::GetModelInstance"
|
|
]
|
|
}
|
|
}
|
|
}
|