From a1c3f59b95a8c30fa824af81d7cfd24ff41b7032 Mon Sep 17 00:00:00 2001 From: jonschz Date: Tue, 17 Jun 2025 22:20:20 +0200 Subject: [PATCH] README cleanup --- tools/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/README.md b/tools/README.md index 6510bc8f..0d75e48e 100644 --- a/tools/README.md +++ b/tools/README.md @@ -39,17 +39,18 @@ Unfortunately, some code has been changed after this beta version was created. T This debug build is hardly used since it has little benefit over `BETA10`. -### Re-compiling a beta build (**WIP**) +# Re-compiling a beta build If you want to match the code against `BETA10`, use the following `cmake` setup to create a debug build: ``` -cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_BUILD_TYPE=Debug -DISLE_USE_SMARTHEAP=OFF +cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_BUILD_TYPE=Debug -DISLE_USE_SMARTHEAP=OFF -DISLE_BUILD_BETA10=ON -DISLE_BUILD_LEGO1=OFF ``` -**TODO**: If you can figure out how to make a debug build with SmartHeap enabled, please add it here. -If you want to run scripts to compare your debug build to `BETA10` (e.g. `reccmp-reccmp`), it is advisable to add a copy of `LEGO1D.DLL` to `/legobin` and rename it to `BETA10.DLL`. +If you can figure out how to make a debug build with SmartHeap enabled, please add it here. -### Finding matching functions +If you want to run scripts to compare your debug build to `BETA10` (e.g. `reccmp-reccmp`), it is advisable to add a copy of `LEGO1D.DLL` from Beta 1.0 to `/legobin` and rename it to `BETA10.DLL`. Analogously, you can add `LEGO1D.DLL` from the Pre-Alpha and rename it to `ALPHA.DLL`. + +# Finding matching functions This is not a recipe, but rather a list of things you can try. * If you are working on a virtual function in a class, try to find the class' vtable. Many (but not all) classes implement `ClassName()`. These functions are usually easy to find by searching the memory for the string consisting of the class name. Keep in mind that not all child classes overwrite this function, so if the function you found is used in multiple vtables (or if you found multiple `ClassName()`-like functions), make sure you actually have the parent's vtable.