mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-07 13:23:27 -04:00
Added enum for Link's movement direction
This commit is contained in:
@@ -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
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user