Maintenance: Make CView a real polymorphic class instead of a void* vtable field set to 0x011598E8. vt_01610 has 5 slots: scalar dele

Batch #9484 by ragnarok-clanker: forced by an admin (2 lower score(s), 5 changed function(s)); checked with 87 compiled unit(s), including every includer of Source/Contents/Camera/Camera.h, Source/Contents/Camera/CameraFrame.h, Source/Contents/Camera/CameraState.h.
This commit is contained in:
ragnarok-clanker 2026-11-01 14:21:24 +00:00
commit 0440a63dcd
7 changed files with 76 additions and 58 deletions

View file

@ -2748,9 +2748,8 @@ void CGameMode::End() {
}
if (this->camera) {
void** vtable = static_cast<void**>(this->camera->vtable);
reinterpret_cast<void(__thiscall*)(CView*)>(vtable[2])(this->camera);
reinterpret_cast<void(__thiscall*)(CView*, int)>(static_cast<void**>(this->camera->vtable)[0])(this->camera, 1);
this->camera->Slot2();
delete this->camera;
}
g_actorPickNode.Clear();