# 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 "; 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), `__thiscall` virtual methods in IMVU's vtable order, Boost 1.61's `shared_ptr` layout. 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 the `t5de` checkout's `.cache//install`.