Files
mtgodot-poc/audit/port-map/EterGrnLib/ModelInstanceRender.cpp.json
T
shenleiandClaude Opus 5.5 668f48d6ec port 2V2-d.2: Granny runtime on libgr2, main character model animates
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>
2026-09-23 19:43:27 +09:00

69 lines
2.3 KiB
JSON

{
"reference": "EterGrnLib/ModelInstanceRender.cpp",
"reference_sha256": "81f6e60294da68697e6faa620a9b9ef7ac65a16affc5dd2406bbdead7227af9d",
"priority": "P4",
"contracts": [],
"functions": {
"Granny_RenderBoxBones": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:Granny_RenderBoxBones"
]
},
"CGrannyModelInstance::DeformNoSkin": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::DeformNoSkin"
]
},
"CGrannyModelInstance::RenderWithOneTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderWithOneTexture"
]
},
"CGrannyModelInstance::BlendRenderWithOneTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::BlendRenderWithOneTexture"
]
},
"CGrannyModelInstance::RenderWithTwoTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderWithTwoTexture"
]
},
"CGrannyModelInstance::BlendRenderWithTwoTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::BlendRenderWithTwoTexture"
]
},
"CGrannyModelInstance::RenderWithoutTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderWithoutTexture"
]
},
"CGrannyModelInstance::RenderMeshNodeListWithOneTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderMeshNodeListWithOneTexture"
]
},
"CGrannyModelInstance::RenderMeshNodeListWithTwoTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderMeshNodeListWithTwoTexture"
]
},
"CGrannyModelInstance::RenderMeshNodeListWithoutTexture": {
"status": "PORTED",
"impl": [
"extension/src/port/EterGrnLib/ModelInstanceRender.cpp:CGrannyModelInstance::RenderMeshNodeListWithoutTexture"
]
}
}
}