t5deRenderEngine.dll implements IMVU Classic's renderer plugin interface by wrapping IMVU's own OpenGL renderer, and logs what each frame calls, to prove our declarations of the interface. Built with CMake presets for 32-bit MSVC; docs/interface.md has the findings. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1.2 KiB
1.2 KiB
t5de-renderer
A renderer plugin for IMVU Classic (see README.md and docs/interface.md). Part of T5DE; the patches and the patcher
are in the t5de repository (git.t5de.dev/t5de/t5de, usually checked out beside this one).
Rules
- Never commit IMVU's code: no decompiled or disassembled code, no client binaries, no Ghidra projects. Our own declarations of IMVU's interfaces (names, signatures, layouts we worked out) and notes in our own words are fine.
- Test with a throwaway IMVU account, never a real one.
- Commits: author "dhkatz [email protected]"; never the user's real name or email.
- The user wants native code readable and auditable, built with modern CMake (targets, presets).
Notes
- The plugin must match IMVU's ABI: 32-bit, MSVC (cl or clang-cl; MinGW's C++ ABI differs),
__thiscallvirtual methods in IMVU's vtable order, Boost 1.61'sshared_ptrlayout. Exceptions must not cross into IMVU's code (a different C runtime); the CRT is linked statically. - Ghidra 12.2 (Java 25) is at
%LOCALAPPDATA%\Programs\ghidra_12.2_PUBLIC; projects in%LOCALAPPDATA%\t5de-dev\ghidra, analysed headless (support\analyzeHeadless.bat). The client to analyse is thet5decheckout's.cache/<version>/install.