Added enum for Link's movement direction

This commit is contained in:
LagoLunatic
2025-04-11 15:02:53 -04:00
parent 309158e274
commit 6aeaaef643
23 changed files with 341 additions and 356 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ If a translation unit isn't fully decompiled yet, then there's no way to know if
Avoid unnecessary includes, especially in header files. clangd will give you a warning saying "Included header is not used directly (fix available)" if you aren't using a header at all.
Forward declaring types where possible will reduce compile times. So instead of putting all the includes in a actor's header file, like so:
Forward declaring types where possible will reduce compile times. So instead of putting all the includes in an actor's header file, like so:
```cpp
#include "d/d_path.h"
+1 -1
View File
@@ -159,7 +159,7 @@ The macro to use in this case is `JUT_ASSERT`, which handles checking a conditio
JUT_ASSERT(0x181, modelData != NULL);
```
Note that any variables used in an debug assertion must have their names match the assertion string exactly, like the `modelData` local variable in this case. This can sometimes even give you the official name of a member variable. Defines like `NULL` or `FALSE` work a bit differently and show up as their value (zero) in the assertion strings, instead of appearing the way the programmer actually wrote them.
Note that any variables used in a debug assertion must have their names match the assertion string exactly, like the `modelData` local variable in this case. This can sometimes even give you the official name of a member variable. Defines like `NULL` or `FALSE` work a bit differently and show up as their value (zero) in the assertion strings, instead of appearing the way the programmer actually wrote them.
Other than those two macros, there's another common case that can cause code to look very different in Ghidra compared to how it was originally written: **inline functions**. These are used all over the place in TWW's codebase, and they're important to get right for several reasons, but as there are thousands of them we can't go over all of them individually in this guide. Instead, let's go over what the workflow for finding them on your own will look like.