mirror of
https://github.com/zeldaret/st
synced 2026-10-07 13:25:33 -04:00
Decompile overlay 102 (CourseExecLand) (#150)
* fix extra cflags not being used * decomp overlay 102 + mlck "ok" * fix build and match issues * type func_01fff350 param1 * add changes report (based on dtk-template) * docs * changes_fmt implicits * fix regressions * cleanup * ninja format * CourseExecLand.cpp -> UnkStruct_027e0ce0_40_102.cpp
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 228 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
+17
-1
@@ -3,6 +3,8 @@
|
||||
Here we gather useful tips that may help to get started with and solve common problems in case of doubt. \
|
||||
Some miscellaneous information are also reported here, for example about the build rules or the github workflow.
|
||||
|
||||
- [Classes](#classes)
|
||||
- [Double Inheritance](#double-inheritance)
|
||||
- [Maths](#maths)
|
||||
- [General](#general)
|
||||
- [Fx32](#fx32)
|
||||
@@ -17,6 +19,20 @@ Some miscellaneous information are also reported here, for example about the bui
|
||||
- [Github](#github)
|
||||
- [CI/CD](#cicd)
|
||||
|
||||
# Classes
|
||||
|
||||
Helpful tips about C++ classes.
|
||||
|
||||
## Double Inheritance
|
||||
|
||||
Classes (mostly actors and map objects) may inherit from two parents, you can figure that out by looking at the vtables, they'll contain virtual thunk functions that will call another vfunc with a negative offset, those are compiler-generated and usually linked at the end of the unit.
|
||||
|
||||

|
||||
|
||||
When a class inherits from several parents all vtables will end up in the same vtable (they'll also include the empty words at the beginning). In order to have the "vthunks" generated, the target vfunc need to be present in both parent classes, with the same prototype, for instance: `bool vfunc_54(int, int, int)` in parent class A and parent class B, with class C inheriting from A and B.
|
||||
|
||||

|
||||
|
||||
# Maths
|
||||
|
||||
Most of the following information is about types and macros defined in `libs/nitro/include/nitro/math.h`. \
|
||||
@@ -136,4 +152,4 @@ You may run that command locally before pushing to your branch to see if CI/CD s
|
||||
The rules run for each versions are detailed [in another section](#github-cicds-rules).
|
||||
|
||||
The style checks performed can be replicated by running `pre-commit run`. \
|
||||
Note that this command only checks **current changes**. Changes from previous commits may not be checked by this command. To ensure that it runs on the entire project, you can add `-a` (or `--all-files`) at the end of the command.
|
||||
Note that this command only checks **current changes**. Changes from previous commits may not be checked by this command. To ensure that it runs on the entire project, you can add `-a` (or `--all-files`) at the end of the command.
|
||||
|
||||
Reference in New Issue
Block a user