EterLib: port GrpMarkInstance.cpp verbatim
Replace the platform_stub skeleton (every member unimplemented) with the 40250 source, so guild marks in text tails and mark boxes load and draw. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d817bd7cab
commit
91ce13c3cf
@@ -562,3 +562,4 @@
|
||||
{"date": "2026-09-28T04:02:30+00:00", "unit": "EterLib/LensFlare.cpp + ScreenFilter.cpp + Decal.cpp", "action": "unit C (part 1): platform stubs removed, 40250 sources copied verbatim (GL code is commented out in 40250 too); CMapOutdoor callers were already ported, so lens flare, screen filter and CDecal clipping (TerrainDecal) now run", "evidence": "ctest 35/35 (login_live excluded); fake-server frame 900 vs unit B mean abs diff 0.014/255; flare/filter visuals NEEDS_LIVE"}
|
||||
{"date": "2026-09-28T04:05:55+00:00", "unit": "EterLib/GrpShadowTexture.cpp + character shadow render target (RecordingDevice)", "action": "unit C part 2 / unit D: GrpShadowTexture stub replaced with verbatim 40250 copy (dead in 40250); CPU shadow-target rasterizer kept (flat TFACTOR pass, output-equivalent) and switched to the D3D top-left fill rule; Vulkan offscreen targets not needed since snow blur is hard-disabled in 40250", "evidence": "ctest 35/35 (login_live excluded); fake-server frame 900 vs previous mean abs diff 0.013/255 (frame noise); shadow parity NEEDS_LIVE"}
|
||||
{"date": "2026-09-28T04:31:20+00:00", "unit": "SpeedTreeLib/SpeedTreeWrapper.cpp + SpeedTreeForest.cpp + SpeedTreeForestDirectX8.cpp (+ CSpeedTreeRT stand-in)", "action": "unit E: platform proxy tree renderer deleted; 40250 wrapper/forest/DirectX8 copied verbatim (with SpeedTreeConfig.h, VertexShaders.h); SDK SpeedTreeRT.h public API as shim, closed CSpeedTreeRT reimplemented in platform/SpeedTreeLib/SpeedTreeRT.cpp (procedural geometry kept, DIVERGENT); D3D8 vertex-shader decl tokens, D3D_OK, CreateVertexShader/DeleteVertexShader, ID3DXBuffer/D3DXAssembleShader, MessageBox, __min/__max added to shims", "evidence": "ctest 35/35 (login_live excluded); fake-server frame 900 at spawn vs unit D mean abs diff ~3.2/255 (area-name fade + anim phase, no trees in view); spawn moved next to a tree (temporary) shows trunk/branches/leaf cards drawn by the wrapper; tree visuals NEEDS_LIVE"}
|
||||
{"date": "2026-09-28T04:34:02+00:00", "unit": "EterLib/GrpMarkInstance.cpp", "action": "unit F: platform_stub skeleton deleted (every member was MT_PLATFORM_STUB), 40250 source copied verbatim; guild marks (PythonTextTail, PythonWindow CMarkBox) now load and draw", "evidence": "ctest 35/35 (login_live excluded); mark rendering NEEDS_LIVE"}
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"reference": "EterLib/GrpMarkInstance.cpp",
|
||||
"reference_sha256": "fde2ac70258a3314a265be8c473c23967ef555b030ee43272f0415e9e0e11ff3",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CGraphicMarkInstance::SetImageFileName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetImageFileName"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::GetImageFileName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetImageFileName"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::CreateSystem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::CreateSystem"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::DestroySystem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::DestroySystem"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::New": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::New"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Delete": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Delete"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Render": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Render"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::OnRender": {
|
||||
"status": "NEEDS_LIVE",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::OnRender"
|
||||
],
|
||||
"note": "verbatim; guild-mark quads in text tails/guild window need a live guild with an uploaded mark (fake server has no mark image)"
|
||||
},
|
||||
"CGraphicMarkInstance::GetTextureReference": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetTextureReference"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::GetTexturePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetTexturePointer"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::GetGraphicImagePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetGraphicImagePointer"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::SetScale": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetScale"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::SetIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetIndex"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::GetWidth": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetWidth"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::GetHeight": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::GetHeight"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::SetDiffuseColor": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetDiffuseColor"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::SetPosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetPosition"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Load": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Load"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::SetImagePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::SetImagePointer"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::IsEmpty": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::IsEmpty"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Type": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Type"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::IsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::IsType"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::OnIsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::OnIsType"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::OnSetImagePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::OnSetImagePointer"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Initialize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Initialize"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::Destroy"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::CGraphicMarkInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::CGraphicMarkInstance"
|
||||
]
|
||||
},
|
||||
"CGraphicMarkInstance::~CGraphicMarkInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/GrpMarkInstance.cpp:CGraphicMarkInstance::~CGraphicMarkInstance"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user