From 27e0f763e0b84dcb87071b7bc26109a0e1ee3ecb Mon Sep 17 00:00:00 2001 From: coco875 <59367621+coco875@users.noreply.github.com> Date: Sun, 21 Jan 2024 05:24:05 +0100 Subject: [PATCH] update docs (#555) * Update doxygen-gh-pages.yml * reorganise docs folder add ref and a button to switch between dark and light, optimise doxygen --- .github/workflows/doxygen-gh-pages.yml | 26 +- Doxyfile | 21 +- Makefile | 4 +- README.md | 2 +- docs/{basics => actors}/actors.md | 2 +- docs/actors/items.md | 1 + docs/actors/objects.md | 2 + docs/{basics => actors}/vehicles.md | 2 +- docs/{basics => }/actorsmenu.md | 99 +--- docs/basics/BUILD_WINDOWS.md | 2 +- docs/basics/basicconcepts.md | 8 +- docs/basics/compiling.md | 20 +- docs/basics/controlflow.md | 104 ++-- docs/basics/items.md | 1 - docs/basics/objects.md | 2 - docs/basics/terminology.md | 2 +- docs/{basics => }/basicsmenu.md | 93 +-- docs/{basics => courses}/courses.md | 0 docs/{basics => courses}/surfacetypes.md | 6 +- docs/coursesmenu.md | 41 ++ docs/{basics/coursesmenu.md => docs.css} | 69 +-- docs/header.html | 84 +++ docs/images/buttonimage.png | Bin 0 -> 138482 bytes docs/mainpage.md | 84 +-- docs/tutorials.md | 50 ++ docs/tutorials/audio.md | 2 +- docs/tutorials/paths.md | 2 +- docs/tutorials/tutorials.md | 131 ----- tools/doxygen_symbol_gen.py | 6 + tools/doxygen_syms.md | 710 ----------------------- 30 files changed, 341 insertions(+), 1235 deletions(-) rename docs/{basics => actors}/actors.md (98%) create mode 100644 docs/actors/items.md create mode 100644 docs/actors/objects.md rename docs/{basics => actors}/vehicles.md (94%) rename docs/{basics => }/actorsmenu.md (66%) delete mode 100644 docs/basics/items.md delete mode 100644 docs/basics/objects.md rename docs/{basics => }/basicsmenu.md (54%) rename docs/{basics => courses}/courses.md (100%) rename docs/{basics => courses}/surfacetypes.md (92%) create mode 100644 docs/coursesmenu.md rename docs/{basics/coursesmenu.md => docs.css} (58%) create mode 100644 docs/header.html create mode 100644 docs/images/buttonimage.png create mode 100644 docs/tutorials.md delete mode 100644 docs/tutorials/tutorials.md diff --git a/.github/workflows/doxygen-gh-pages.yml b/.github/workflows/doxygen-gh-pages.yml index c988868e8d..73c6f669b3 100644 --- a/.github/workflows/doxygen-gh-pages.yml +++ b/.github/workflows/doxygen-gh-pages.yml @@ -10,9 +10,27 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: DenverCoder1/doxygen-github-pages-action@v1.3.0 + - name: Checkout repository + uses: actions/checkout@v3 with: - github_token: ${{ secrets.GITHUB_TOKEN }} + submodules: "true" + + - name: Install Doxygen + run: | + sudo apt-get install graphviz doxygen -y + wget https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz + tar -xzf doxygen-*.linux.bin.tar.gz + + - name: Generate Doxygen documentation + run: | + ./doxygen-*/bin/doxygen Doxyfile + + - name: Create .nojekyll (ensures pages with underscores work on gh pages) + run: touch docs/html/.nojekyll + + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages - folder: docs/html - config_file: Doxyfile \ No newline at end of file + folder: docs/html \ No newline at end of file diff --git a/Doxyfile b/Doxyfile index 1218d02b16..111c098ef8 100644 --- a/Doxyfile +++ b/Doxyfile @@ -483,7 +483,7 @@ TYPEDEF_HIDES_STRUCT = NO # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. -LOOKUP_CACHE_SIZE = 0 +LOOKUP_CACHE_SIZE = 1 # The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use # during processing. When set to 0 doxygen will based this on the number of @@ -496,7 +496,7 @@ LOOKUP_CACHE_SIZE = 0 # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. -NUM_PROC_THREADS = 1 +NUM_PROC_THREADS = 0 # If the TIMESTAMP tag is set different from NO then each generated page will # contain the date or date and time when the page was generated. Setting this to @@ -946,6 +946,7 @@ WARN_LOGFILE = INPUT = docs/ \ src/ \ include/ \ + courses/ \ tools/doxygen_syms.md # This tag can be used to specify the character encoding of the source files @@ -1095,7 +1096,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +IMAGE_PATH = docs/images # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -1355,7 +1356,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = docs/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1396,7 +1397,9 @@ HTML_STYLESHEET = # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \ - doxygen-awesome-css/doxygen-awesome-sidebar-only.css + doxygen-awesome-css/doxygen-awesome-sidebar-only.css \ + doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css \ + docs/docs.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1406,7 +1409,7 @@ HTML_EXTRA_STYLESHEET = doxygen-awesome-css/doxygen-awesome.css \ # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output # should be rendered with a dark or light theme. @@ -1430,7 +1433,7 @@ HTML_COLORSTYLE = LIGHT # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_HUE = 209 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use gray-scales only. A @@ -1438,7 +1441,7 @@ HTML_COLORSTYLE_HUE = 220 # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_SAT = 255 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 @@ -1449,7 +1452,7 @@ HTML_COLORSTYLE_SAT = 100 # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_COLORSTYLE_GAMMA = 80 +HTML_COLORSTYLE_GAMMA = 113 # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that diff --git a/Makefile b/Makefile index 98b7045afc..b5806c451a 100644 --- a/Makefile +++ b/Makefile @@ -395,7 +395,9 @@ endif doc: $(PYTHON) tools/doxygen_symbol_gen.py - doxygen + doxygen + @$(PRINT) "$(GREEN)Documentation generated in docs/html$(NO_COL)\n" + @$(PRINT) "$(GREEN)Results can be viewed by opening docs/html/index.html in a web browser$(NO_COL)\n" clean: $(RM) -r $(BUILD_DIR) diff --git a/README.md b/README.md index 1f0f6a4f92..92b643d250 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ Some menu textures are compressed using a format called tkmk00. A byte-matching Documentation available online at [https://n64decomp.github.io/mk64/](https://n64decomp.github.io/mk64/). -Documentation generated using [Doxygen](https://www.doxygen.nl/index.html). Run `make doc -j` to test locally. Documentation resides in `docs/html`. Open index.html to view the site. +Documentation generated using [Doxygen](https://www.doxygen.nl/index.html). Run `make doc` to test locally. Documentation resides in `docs/html`. Open index.html to view the site. ## Contributing diff --git a/docs/basics/actors.md b/docs/actors/actors.md similarity index 98% rename from docs/basics/actors.md rename to docs/actors/actors.md index e29c397148..31dbd9c71f 100644 --- a/docs/basics/actors.md +++ b/docs/actors/actors.md @@ -1,4 +1,4 @@ -\page actors How Actors Work +@page actors How Actors Work # Actors If you are familiar with oot or sm64 prepare to be very disappointed. Both games split actors into separate files. In an unorderly fashion, mk64 appears to place all actors in the same file save for the odd exception. diff --git a/docs/actors/items.md b/docs/actors/items.md new file mode 100644 index 0000000000..c81b7f90e9 --- /dev/null +++ b/docs/actors/items.md @@ -0,0 +1 @@ +@page items Items diff --git a/docs/actors/objects.md b/docs/actors/objects.md new file mode 100644 index 0000000000..cdd2565961 --- /dev/null +++ b/docs/actors/objects.md @@ -0,0 +1,2 @@ +@page objects Objects +# Objects diff --git a/docs/basics/vehicles.md b/docs/actors/vehicles.md similarity index 94% rename from docs/basics/vehicles.md rename to docs/actors/vehicles.md index 2f876c7826..679dd81989 100644 --- a/docs/basics/vehicles.md +++ b/docs/actors/vehicles.md @@ -1,4 +1,4 @@ -\page vehicles Vehicles +@page vehicles Vehicles [TOC] diff --git a/docs/basics/actorsmenu.md b/docs/actorsmenu.md similarity index 66% rename from docs/basics/actorsmenu.md rename to docs/actorsmenu.md index 6213121b9c..f19c514ffa 100644 --- a/docs/basics/actorsmenu.md +++ b/docs/actorsmenu.md @@ -1,4 +1,4 @@ -\page actorsmenu Actors +@page actorsmenu Actors Actors are dynamic game objects usually subject to game physics such as gravity, force, and collision. They might move around the map, spin, or interactive in some manner. Alternatively, static game objects cannot move and cannot be interacted with. They can use collision but not physics. A course model and Mario Raceway's Pipe are examples of static objects. Any of the items or player karts are examples of dynamic game objects; actors. @@ -6,100 +6,19 @@ mk64 contains two systems for implementing actors. They have been deemed as acto The two main variables to concern yourself with are `gActorList` and `gObjectList`; the core containers of the two systems. -`gActorList` contains: +@ref gActorList contains: ``` trees, bushes, falling rocks, kiwano-fruit, banana, shells, piranha-plant, train wheels, rail-road crossing, cows, yoshi-valley's egg, spinning signs, palm trees, paddle for the paddle-wheeled boat, wheels for cars/trucks, etc. ``` The actor code has two main parts; the update code and the render code. The update code alters the position/rotation of the object whereas the render code displays the object on the screen. -`gObjectList` contains: +@ref gObjectList contains: ``` thwomps, bowser fire-breath, moles, hedgehogs, snowmen, crabs, particles, leaves, etc (also, probably penguins and birds). ``` The object system is much more complex than actors and is not well documented. - -\htmlonly +@htmlonly
- -
-\endhtmlonly +@endhtmlonly -\subpage actors -\subpage objects -\subpage vehicles -\subpage items +@subpage actors +@subpage objects +@subpage vehicles +@subpage items diff --git a/docs/basics/BUILD_WINDOWS.md b/docs/basics/BUILD_WINDOWS.md index 88236bcad1..cb7fdafe88 100644 --- a/docs/basics/BUILD_WINDOWS.md +++ b/docs/basics/BUILD_WINDOWS.md @@ -1,4 +1,4 @@ -\page buildwindows Compiling for Windows +@page buildwindows Compiling for Windows ## Compiling mk64 Decomp In Windows ***This method is not recommended nor supported. However, it is the only solution to build in W7/W8. WSL is the path of least resistance, use that not this*** diff --git a/docs/basics/basicconcepts.md b/docs/basics/basicconcepts.md index 0b9254fa3e..f5b2d555b7 100644 --- a/docs/basics/basicconcepts.md +++ b/docs/basics/basicconcepts.md @@ -14,7 +14,7 @@ Computers use addresses to jump through code. This works similar to a house numb A typical N64 address: `0x80160158` In an N64 program, addresses begin at `0x80000000`. As you create code, data, and the like, the compiler will add onto this base number and assign variables to an address. -``` +```c s32 a = 2; // 0x80000004 s32 b = 7; // 0x80000008 s32 c = 5; // 0x8000000C @@ -22,7 +22,7 @@ s32 d = 1; // 0x80000010 s32 e = 3; // 0x80000014 ``` Replacing a variable with a hard-coded address grabs the value at that address. -``` +```c print(0x80000004); // or print(a); ``` @@ -40,7 +40,7 @@ Texture a_texture[] = { }; ``` The address of this could extend from `0x80000100` to `0x800000534`. However, you would not see data begin at `0x80000533`. The compiler generally aligns objects to 4, 8, 0xC, or 0x10. With the exception being when you're working with s16 and s8. If you have: -``` +```c s16 a = 3; // Value compiled to 0x0003 s32 b = 5; // Value compiled to 0x00000005 ``` @@ -52,7 +52,7 @@ The compiler aligned `b` to the nearest 0x4. If there were two s16's then the bl # How Errors Happen The maximum value of an s8 (0x00) is 0xFF or 255. `0xFF + 1 = 0x100` imagine this scenario: -``` +```c s8 a = 1; s8 b = 2; s8 c = 3; diff --git a/docs/basics/compiling.md b/docs/basics/compiling.md index c6fa24a7a0..59ade96da7 100644 --- a/docs/basics/compiling.md +++ b/docs/basics/compiling.md @@ -11,13 +11,13 @@ The build system has the following package requirements: To add submodules run `git submodule update --init --recursive` after cloning. # Linux -``` +```bash sudo apt install build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev ``` ### Arch -``` +```bash sudo pacman -S base-devel capstone python ``` Install the following AUR package: @@ -34,7 +34,7 @@ Not recommended. Use WSL unless this is your only option. # macOS Install [Homebrew](https://brew.sh), then install the following dependencies: -``` +```bash brew update brew install python3 capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils ``` @@ -44,19 +44,19 @@ Build using `gmake` ensuring homebrew `make` is used instead of the old macOS sy # Docker Build the Docker image: -``` +```bash docker build -t mk64 . ``` When building and using other tools, append the following in front of every command you run: ```bash -docker run --rm -v ${PWD}:/mk64 mk64 +docker run --rm -v .:/mk64 mk64 ``` For example: ```bash -docker run --rm -v ${PWD}:/mk64 mk64 make -C tools -docker run --rm -v ${PWD}:/mk64 mk64 make +docker run --rm -v .:/mk64 mk64 make -C tools +docker run --rm -v .:/mk64 mk64 make ``` # Building US @@ -78,16 +78,16 @@ mk64 decomp supports two EU versions * EU 1.1 `eu-final` Build using -``` +```bash make -j VERSION=eu-1.0 ``` or -``` +```bash make -j VERSION=eu-final ``` First-diff/diff commands for EU -``` +```bash python3 first-diff.py --eu ./diff -eu ``` \ No newline at end of file diff --git a/docs/basics/controlflow.md b/docs/basics/controlflow.md index 0d15c7cc84..4fb5247bfc 100644 --- a/docs/basics/controlflow.md +++ b/docs/basics/controlflow.md @@ -1,4 +1,4 @@ -\page controlflow Codebase Overview +@page controlflow Codebase Overview [TOC] @@ -6,10 +6,11 @@ The developers wrote mk64 using a state-driven paradigm. Gamestate, gamemode, course, actors, structs, and more decide which branches code should follow. As an example, a condition can check the current course to load that courses resources or run logic based on that. # Threading -After boot, the game begins by setting up its four threads; idle, video, audio, and the game loop. -The idle thread allows the cpu to sleep. Without it, if at any time execution of all threads were paused, the cpu would never be able to continue. The idle thread is active if all the other threads are paused. +After boot, the game begins by setting up its four threads; [idle](@ref thread1_idle), [video](@ref thread3_video), [audio](@ref thread4_audio), and the [game loop](@ref thread5_game_loop). -As such, the idle thread runs the following loop: `while(TRUE);` (it runs in a perpetual loop of nothing; sleep). In mips assembly it looks like this: +The [idle thread](@ref thread1_idle) allows the cpu to sleep. Without it, if at any time execution of all threads were paused, the cpu would never be able to continue. The idle thread is active if all the other threads are paused. + +As such, the [idle thread](@ref thread1_idle) runs the following loop: `while(TRUE);` (it runs in a perpetual loop of nothing; sleep). In mips assembly it looks like this: ``` .L800005B8: b .L800005B8 @@ -20,40 +21,42 @@ b stands for branch which acts akin to a goto. In this case, branch to the label N64 threads are ran based on priority running whichever thread holds the most of it. Threads can also pause and wait for events. Note that the N64 is not multi-threaded by modern standards as the other threads contain specific purposes which slightly differs from the concept of splitting a single program into multiple processes for efficiency. # Overall Control Flow -``` -init_threads: - idle, video, audio, gameloop -gameloop: - audio - jumpTo a specific menu or race based on a gameState flag. - profiler - config_gfx_pool - read_controllers - game_state_controller - endDL/vsync -game_state_controller: - switch(loc) - menus -> switch(menu) { // do menu stuff } - race_logic_loop -> spaghetti - podium_ceremony - credits -video: +order of initialisation of thread: +boot: +* init_threads:
+ * [idle](@ref thread1_idle), [video](@ref thread3_video), [audio](@ref thread4_audio), [game loop](@ref thread5_game_loop)
+* [game loop](@ref thread5_game_loop):
+ * [audio](@ref thread4_audio)
+ * [jumpTo a specific menu or race based on a gameState flag.](@ref update_gamestate)
+ * [profiler](@ref profiler_log_thread5_time)
+ * [config_gfx_pool](@ref config_gfx_pool)
+ * [read_controllers](@ref read_controllers)
+ * [game_state_handler](@ref game_state_handler)
+ * [endDL/vsync](@ref display_and_vsync)
+ * [game_state_handler](@ref game_state_handler):
+ * switch([gGamestate](@ref gGamestate))
+ * [menus](@ref update_menus) -> switch([menu](@ref gMenuSelection)) { // do menu stuff }
+ * [race_logic_loop](@ref race_logic_loop) -> spaghetti
+ * [podium_ceremony](@ref podium_ceremony_loop)
+ * [credits](@ref credits_loop)
+* [video](@ref thread3_video):
handles interaction between video/audio threads. handles vblanking and some elements pertaining to framebuffer most of all, handles which step of rendering a frame the cpu is in. Checks when new to start new sp tasks -``` + + If mk64 is in a menu state it will branch off to the menu code, running relevant bits of code based on more flags such as which particular menu the user is in. This will loop until the state changes to a different one such as race mode. If mk64 is in a race state, then race related code is ran and it spaghetti's off into a wide series of branches. This may include concepts such as `isLinedUp, isRacing, isRaceFinished, gotoNextCourse, isHuman, and isAI`. This relatively primitive design could be defined as a state machine from an abstract point of view. This would differ from an OOP design that uses objects and hierarchy. You will become very familiar with this design principle as you explore the code-base. During any step of the game loop, a switch can be setup to check a flag then run code relevant to the situation. For instance, a flag can check whether a race is in-progress or complete. If in-progress set the player to human controlled. If complete, set player to AI controlled. # Segments -mk64 code is split into three sections +mk64 code is split into three sections for now. |Segment|desc| |---|---| -|Main|Menus, audio, libultra, rsp| -|Racing|Memory management, courses, players, actors, skybox, collision, math | -|Ending|Podium ceremony, credits| +|Main|[Menus](@ref menus.c), [audio](@ref audio), [libultra](@ref PR), rsp (include in libultra)| +|Racing|[Memory management](@ref memory.c), [courses](@ref render_courses.c), [players](player_controller.c), [actors](@ref actors.c), [skybox](@ref skybox_and_splitscreen.c), [collision](@ref collision.c), [math](@ref math_util.c) | +|Ending|[Podium ceremony](@ref ending), [credits](@ref credits.c)| Racing segment loads after selecting a grand prix. Note that it is always reloaded preventing randomization of cpu's at the start of the first race due to no time for the random seed to actually become random. @@ -62,32 +65,32 @@ Racing segment loads after selecting a grand prix. Note that it is always reload ## Menus |file|desc| |---|---| -|menus.c | Menu related code | -|save.c| Save related | -|data/startup_logo.inc.c|Startup logo| +|[menus](@ref menus.c)| Menu related code | +|[save](@ref save.c)| Save related | +|[startup_logo](@ref data/startup_logo.inc.c)|Startup logo| ## Players Player related code resides in |file|desc| |---|---| -|player_controller.c| Applies physics to players | -|camera.c| Player cameras | +|[player_controller](@ref player_controller.c)| Applies physics to players | +|[camera](@ref camera.c)| Player cameras | ## Actors Actor related code resides in |file|desc| |---|---| -|actors.c|Variety of [actors](actorsmenu.html), see link for specifics.| -|actors_extended.c|Shells and bananas| -|code_80005FD0.c| Vehicles; trains, cars, trucks, boats | +|[actors](@ref actors.c)|Variety of [actors](actorsmenu.html), see link for specifics.| +|[actors_extended](@ref actors_extended.c)|Shells and bananas| +|[code_80005FD0](@ref code_80005FD0.c)| Vehicles; trains, cars, trucks, boats | ## Objects Object related code resides in |file|desc| |---|---| -|code_80057C60.c|Objects| -|code_80071F00.c|Objects| -|code_80086E70.c|Objects| +|[code_80057C60](@ref code_80057C60.c)|Objects| +|[code_80071F00](@ref code_80071F00.c)|Objects| +|[code_80086E70](@ref code_80086E70.c)|Objects| Documentation of the specifics still in-progress. See [actors](actorsmenu.html) for more information. @@ -95,11 +98,12 @@ Documentation of the specifics still in-progress. See [actors](actorsmenu.html) Course related code resides in |file|desc| |---|---| -|memory.c| Loads and extracts course data| -|render_courses.c|Renders course content| -|common_textures.inc.c|Content accessible to every course such as items and portraits| +|[memory](@ref memory.c)| Loads and extracts course data| +|[render_courses](@ref render_courses.c)|Renders course content| +|[common_textures](@ref common_textures.inc.c)|Content accessible to every course such as items and portraits| ### Course Folder +[course folder link][@ref courses] |file|desc| |---|---| |courses/course_name/course_data.inc.c|Course data| @@ -110,25 +114,25 @@ Course related code resides in ## UI & Other 2D Screen data |file|desc| |---|---| -|hud_renderer.c|ItemWindows| +|[hud_renderer](@ref hud_renderer.c)|ItemWindows| ## Engine |file|desc| |---|---| -|collision.c| | -|code_80005FD0| Pathing code | +|[collision](@ref collision.c)| | +|[code_80005FD0](@ref code_80005FD0.c)| Pathing code | ## Math Math related code resides in |file|desc| |---|---| -|math_util.c| | -|math_util_2.c| | +|[math_util](@ref math_util.c)| | +|[math_util_2](@ref math_util_2.c)| | ## Ending |file|desc| |---|---| -|ceremony_and_credits.c|Camera rails for podium ceremony and credits| -|podium_ceremony_actors.c|Fireworks and balloons for podium ceremony| -|ceremony_data.inc.c|Trophies and podium models. Paths.| -|credits.c|Credits text and UI positions| +|[ceremony_and_credits](@ref ceremony_and_credits.c)|Camera rails for podium ceremony and credits| +|[podium_ceremony_actors](@ref podium_ceremony_actors.c)|Fireworks and balloons for podium ceremony| +|[ceremony_data](@ref ceremony_data.inc.c)|Trophies and podium models. Paths.| +|[credits](@ref credits.c)|Credits text and UI positions| diff --git a/docs/basics/items.md b/docs/basics/items.md deleted file mode 100644 index 3467925630..0000000000 --- a/docs/basics/items.md +++ /dev/null @@ -1 +0,0 @@ -\page items Items diff --git a/docs/basics/objects.md b/docs/basics/objects.md deleted file mode 100644 index 58e62b9ab9..0000000000 --- a/docs/basics/objects.md +++ /dev/null @@ -1,2 +0,0 @@ -\page objects -# Objects diff --git a/docs/basics/terminology.md b/docs/basics/terminology.md index 5dab7295b8..a4f8e15d22 100644 --- a/docs/basics/terminology.md +++ b/docs/basics/terminology.md @@ -1,4 +1,4 @@ -\page terminology Terminology +@page terminology Terminology # Technical Definitions * `Jump/Branch/Function` - Tells the cpu to execute instructions somewhere else and come back here when done. * `Hexadecimal` - A [numbering system](https://en.wikipedia.org/wiki/Hexadecimal). Similar numbering sytems include decimal (also called base-ten) and roman numerals. diff --git a/docs/basics/basicsmenu.md b/docs/basicsmenu.md similarity index 54% rename from docs/basics/basicsmenu.md rename to docs/basicsmenu.md index 8de0916b56..af397d70be 100644 --- a/docs/basics/basicsmenu.md +++ b/docs/basicsmenu.md @@ -1,86 +1,9 @@ -\page basics Understanding the Basics +@page basics Understanding the Basics -\htmlonly +@htmlonly Essential skills and concepts to help you get started with mk64 decomp.

-
-\endhtmlonly +@endhtmlonly -\subpage compiling -\subpage concepts -\subpage controlflow -\subpage terminology -\subpage buildwindows +@subpage compiling +@subpage concepts +@subpage controlflow +@subpage terminology +@subpage buildwindows diff --git a/docs/basics/courses.md b/docs/courses/courses.md similarity index 100% rename from docs/basics/courses.md rename to docs/courses/courses.md diff --git a/docs/basics/surfacetypes.md b/docs/courses/surfacetypes.md similarity index 92% rename from docs/basics/surfacetypes.md rename to docs/courses/surfacetypes.md index 8cfef23aa4..67203e16c5 100644 --- a/docs/basics/surfacetypes.md +++ b/docs/courses/surfacetypes.md @@ -1,6 +1,8 @@ -\page surfacetypes Surface Types +@page surfacetypes Surface Types -Surfaces produce effects, driven on sounds, and other behaviour. Note that surface type is not generally used for out of bounds behaviour. As such, out of bounds areas may use any combination of surface types or flags. +Surfaces produce effects, driven on sounds, and other behaviour. Note that surface type is not generally used for out of bounds behaviour. As such, out of bounds areas may use any combination of surface types or flags. + +extract from [SURFACE_TYPE](@ref SURFACE_TYPE) | id | Name | Desc | Courses | |---|---|---|---| diff --git a/docs/coursesmenu.md b/docs/coursesmenu.md new file mode 100644 index 0000000000..7fc654e9c1 --- /dev/null +++ b/docs/coursesmenu.md @@ -0,0 +1,41 @@ +@page coursesmenu Courses + +@htmlonly + +How courses work in mk64 +

+ + + + + + +@endhtmlonly + +@subpage courses +@subpage surfacetypes + diff --git a/docs/basics/coursesmenu.md b/docs/docs.css similarity index 58% rename from docs/basics/coursesmenu.md rename to docs/docs.css index f6aceca715..f09179e9ce 100644 --- a/docs/basics/coursesmenu.md +++ b/docs/docs.css @@ -1,53 +1,54 @@ -\page coursesmenu Courses - -\htmlonly - -How courses work in mk64 -

- - - - - - - -\endhtmlonly - -\subpage courses -\subpage surfacetypes +html.dark-mode .clipboard { + fill: white; +} diff --git a/docs/header.html b/docs/header.html new file mode 100644 index 0000000000..1daffbae60 --- /dev/null +++ b/docs/header.html @@ -0,0 +1,84 @@ + + + + + + + + +$projectname: $title +$title + + + + + + + + + + + + + + +$treeview +$search +$mathjax +$darkmode + +$extrastylesheet + + + + + + +
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
$projectname $projectnumber +
+
$projectbrief
+
+
$projectbrief
+
$searchbox
$searchbox
+
+ + diff --git a/docs/images/buttonimage.png b/docs/images/buttonimage.png new file mode 100644 index 0000000000000000000000000000000000000000..b93606e1d3cf96b41c5a01b83b5c0d8565ea3b11 GIT binary patch literal 138482 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 Eg66bV=>Px# literal 0 HcmV?d00001 diff --git a/docs/mainpage.md b/docs/mainpage.md index 0428aa869c..40e6043593 100644 --- a/docs/mainpage.md +++ b/docs/mainpage.md @@ -1,86 +1,6 @@ Complete resources for learning about mk64 decomp - -\htmlonly +@htmlonly
-

-\endhtmlonly +@endhtmlonly diff --git a/docs/tutorials.md b/docs/tutorials.md new file mode 100644 index 0000000000..69d113d286 --- /dev/null +++ b/docs/tutorials.md @@ -0,0 +1,50 @@ +@page tutorials Tutorials +Topics discussing how to work with certain features. + +@htmlonly +
+ + + + +@endhtmlonly + +@subpage boostramps +@subpage paths +@subpage tutorialaudio diff --git a/docs/tutorials/audio.md b/docs/tutorials/audio.md index 0d62da0f47..0c36e56f83 100644 --- a/docs/tutorials/audio.md +++ b/docs/tutorials/audio.md @@ -1 +1 @@ -\page tutorialaudio Audio +@page tutorialaudio Audio diff --git a/docs/tutorials/paths.md b/docs/tutorials/paths.md index b9594bb7e3..d3200a6dd3 100644 --- a/docs/tutorials/paths.md +++ b/docs/tutorials/paths.md @@ -1,4 +1,4 @@ -\page paths Paths +@page paths Paths The game uses multiple types of course paths # Course Paths diff --git a/docs/tutorials/tutorials.md b/docs/tutorials/tutorials.md deleted file mode 100644 index 3636bf1f5d..0000000000 --- a/docs/tutorials/tutorials.md +++ /dev/null @@ -1,131 +0,0 @@ -\page tutorials Tutorials -Topics discussing how to work with certain features. - -\htmlonly -
- - - - - - - -\endhtmlonly - -\subpage boostramps -\subpage paths -\subpage tutorialaudio diff --git a/tools/doxygen_symbol_gen.py b/tools/doxygen_symbol_gen.py index 1754b5f540..c798dd787b 100644 --- a/tools/doxygen_symbol_gen.py +++ b/tools/doxygen_symbol_gen.py @@ -31,6 +31,12 @@ def process_map_file(map_file_path): continue if function_name.startswith("jpt_"): continue + if function_name.startswith("0x"): + continue + if function_name.startswith("("): + continue + if function_name.startswith("__"): + continue # Format the information into the Doxygen style result += f"[{function_name}](@ref {function_name}) | {address}\n" diff --git a/tools/doxygen_syms.md b/tools/doxygen_syms.md index 812fa25e4a..23039f3ce8 100644 --- a/tools/doxygen_syms.md +++ b/tools/doxygen_syms.md @@ -5,95 +5,8 @@ This page displays the memory addresses of variables in the project. The following table shows the memory addresses of important variables: Variable Name | Memory Address --------------|--------------- -[0x80000000](@ref 0x80000000) | 0x80000000 -[0xa4000000](@ref 0xa4000000) | 0xA4000000 -[0xa40004c0](@ref 0xa40004c0) | 0xA40004C0 -[0xa4000774](@ref 0xa4000774) | 0xA4000774 -[0xa4001000](@ref 0xa4001000) | 0xA4001000 -[0xa4040010](@ref 0xa4040010) | 0xA4040010 -[0xa4080000](@ref 0xa4080000) | 0xA4080000 -[0xa4300000](@ref 0xa4300000) | 0xA4300000 -[0xa4300004](@ref 0xa4300004) | 0xA4300004 -[0xa4300008](@ref 0xa4300008) | 0xA4300008 -[0xa430000c](@ref 0xa430000c) | 0xA430000C -[0xa4400010](@ref 0xa4400010) | 0xA4400010 -[0xa450000c](@ref 0xa450000c) | 0xA450000C -[0xa4600000](@ref 0xa4600000) | 0xA4600000 -[0xa4600004](@ref 0xa4600004) | 0xA4600004 -[0xa460000c](@ref 0xa460000c) | 0xA460000C -[0xa4600010](@ref 0xa4600010) | 0xA4600010 -[0xa4700000](@ref 0xa4700000) | 0xA4700000 -[0xa4700010](@ref 0xa4700010) | 0xA4700010 -[0xa4800018](@ref 0xa4800018) | 0xA4800018 -[0xb0000008](@ref 0xb0000008) | 0xB0000008 -[0xb0000010](@ref 0xb0000010) | 0xB0000010 -[0xb0000014](@ref 0xb0000014) | 0xB0000014 -[0xc0000000](@ref 0xc0000000) | 0xC0000000 -[0xc0000008](@ref 0xc0000008) | 0xC0000008 -[0xc000000c](@ref 0xc000000c) | 0xC000000C -[0xfff00](@ref 0xfff00) | 0x000FFF00 -[0x3004000](@ref 0x3004000) | 0x03004000 -[0x3004800](@ref 0x3004800) | 0x03004800 -[0x3005000](@ref 0x3005000) | 0x03005000 -[0x3005800](@ref 0x3005800) | 0x03005800 -[0x3006000](@ref 0x3006000) | 0x03006000 -[0x3006800](@ref 0x3006800) | 0x03006800 -[0x3007000](@ref 0x3007000) | 0x03007000 -[0x3007800](@ref 0x3007800) | 0x03007800 -[0x3008000](@ref 0x3008000) | 0x03008000 -[0x3008800](@ref 0x3008800) | 0x03008800 -[0x5ff8db8](@ref 0x5ff8db8) | 0x05FF8DB8 -[0xb002a00](@ref 0xb002a00) | 0x0B002A00 -[0xa4040004](@ref 0xa4040004) | 0xA4040004 -[0xa4040008](@ref 0xa4040008) | 0xA4040008 -[0xa404000c](@ref 0xa404000c) | 0xA404000C -[0xa4040010](@ref 0xa4040010) | 0xA4040010 -[0xa4300008](@ref 0xa4300008) | 0xA4300008 -[0xa430000c](@ref 0xa430000c) | 0xA430000C -[0xa4400004](@ref 0xa4400004) | 0xA4400004 -[0xa4400008](@ref 0xa4400008) | 0xA4400008 -[0xa440000c](@ref 0xa440000c) | 0xA440000C -[0xa4400010](@ref 0xa4400010) | 0xA4400010 -[0xa4400014](@ref 0xa4400014) | 0xA4400014 -[0xa4400018](@ref 0xa4400018) | 0xA4400018 -[0xa440001c](@ref 0xa440001c) | 0xA440001C -[0xa4400020](@ref 0xa4400020) | 0xA4400020 -[0xa4400024](@ref 0xa4400024) | 0xA4400024 -[0xa4400028](@ref 0xa4400028) | 0xA4400028 -[0xa440002c](@ref 0xa440002c) | 0xA440002C -[0xa4400030](@ref 0xa4400030) | 0xA4400030 -[0xa4400034](@ref 0xa4400034) | 0xA4400034 -[0xa4500004](@ref 0xa4500004) | 0xA4500004 -[0xa4500008](@ref 0xa4500008) | 0xA4500008 -[0xa450000c](@ref 0xa450000c) | 0xA450000C -[0xa4500010](@ref 0xa4500010) | 0xA4500010 -[0xa4500014](@ref 0xa4500014) | 0xA4500014 -[0xa4600004](@ref 0xa4600004) | 0xA4600004 -[0xa4600008](@ref 0xa4600008) | 0xA4600008 -[0xa460000c](@ref 0xa460000c) | 0xA460000C -[0xa4600010](@ref 0xa4600010) | 0xA4600010 -[0xa4600024](@ref 0xa4600024) | 0xA4600024 -[0xa4600028](@ref 0xa4600028) | 0xA4600028 -[0xa460002c](@ref 0xa460002c) | 0xA460002C -[0xa4600030](@ref 0xa4600030) | 0xA4600030 -[0xa4800004](@ref 0xa4800004) | 0xA4800004 -[0xa4800010](@ref 0xa4800010) | 0xA4800010 -[0xa4800018](@ref 0xa4800018) | 0xA4800018 -[0xa5000508](@ref 0xa5000508) | 0xA5000508 -[0xa5000510](@ref 0xa5000510) | 0xA5000510 -[0xe6fffffc](@ref 0xe6fffffc) | 0xE6FFFFFC -[0xfa00000c](@ref 0xfa00000c) | 0xFA00000C -[0xfa000010](@ref 0xfa000010) | 0xFA000010 -[0xfa000018](@ref 0xfa000018) | 0xFA000018 -[0x0](@ref 0x0) | 0x00BE9160 -[(.boot)](@ref (.boot)) | 0xA4000000 [ipl3_entry](@ref ipl3_entry) | 0xA4000040 [ipl3_font](@ref ipl3_font) | 0xA4000B70 -[(.boot))](@ref (.boot))) | 0xA4001000 -[(.boot))](@ref (.boot))) | 0x00001000 -[(.boot))](@ref (.boot))) | 0x00BE9160 -[(.main)](@ref (.main)) | 0x80000400 -[__romPos](@ref __romPos) | 0x00001000 [entry_point](@ref entry_point) | 0x80000400 [create_thread](@ref create_thread) | 0x80000450 [main_func](@ref main_func) | 0x80000484 @@ -2579,11 +2492,8 @@ Variable Name | Memory Address [osSpTaskLoad](@ref osSpTaskLoad) | 0x800CCF8C [osSpTaskStartGo](@ref osSpTaskStartGo) | 0x800CD0EC [osContInit](@ref osContInit) | 0x800CD130 -[__osContGetInitData](@ref __osContGetInitData) | 0x800CD328 -[__osPackRequestData](@ref __osPackRequestData) | 0x800CD3F8 [osContStartReadData](@ref osContStartReadData) | 0x800CD4F0 [osContGetReadData](@ref osContGetReadData) | 0x800CD5B4 -[__osPackReadData](@ref __osPackReadData) | 0x800CD65C [osRecvMesg](@ref osRecvMesg) | 0x800CD750 [osWritebackDCacheAll](@ref osWritebackDCacheAll) | 0x800CD890 [osSendMesg](@ref osSendMesg) | 0x800CD8C0 @@ -2595,27 +2505,13 @@ Variable Name | Memory Address [osSpTaskYield](@ref osSpTaskYield) | 0x800CDD40 [osSpTaskYielded](@ref osSpTaskYielded) | 0x800CDD60 [osGetTime](@ref osGetTime) | 0x800CDDE0 -[__ull_rshift](@ref __ull_rshift) | 0x800CDE70 -[__ull_rem](@ref __ull_rem) | 0x800CDE9C -[__ull_div](@ref __ull_div) | 0x800CDED8 -[__ll_lshift](@ref __ll_lshift) | 0x800CDF14 -[__ll_rem](@ref __ll_rem) | 0x800CDF40 -[__ll_div](@ref __ll_div) | 0x800CDF7C -[__ll_mul](@ref __ll_mul) | 0x800CDFD8 -[__ull_divremi](@ref __ull_divremi) | 0x800CE008 -[__ll_mod](@ref __ll_mod) | 0x800CE068 -[__ll_rshift](@ref __ll_rshift) | 0x800CE104 -[__osGetCurrFaultedThread](@ref __osGetCurrFaultedThread) | 0x800CE130 [sqrtf](@ref sqrtf) | 0x800CE140 [guOrthoF](@ref guOrthoF) | 0x800CE150 [guOrtho](@ref guOrtho) | 0x800CE2A4 [osSetTime](@ref osSetTime) | 0x800CE310 [osEepromProbe](@ref osEepromProbe) | 0x800CE340 [osPfsIsPlug](@ref osPfsIsPlug) | 0x800CE3B0 -[__osPfsRequestData](@ref __osPfsRequestData) | 0x800CE550 -[__osPfsGetInitData](@ref __osPfsGetInitData) | 0x800CE64C [osPfsInit](@ref osPfsInit) | 0x800CE720 -[__osPfsGetStatus](@ref __osPfsGetStatus) | 0x800CE7D4 [osPfsNumFiles](@ref osPfsNumFiles) | 0x800CE8E0 [osPfsFileState](@ref osPfsFileState) | 0x800CEA30 [osPfsFreeBlocks](@ref osPfsFreeBlocks) | 0x800CED20 @@ -2635,108 +2531,45 @@ Variable Name | Memory Address [guMtxCatL](@ref guMtxCatL) | 0x800CF820 [osPfsFindFile](@ref osPfsFindFile) | 0x800CF880 [osPfsDeleteFile](@ref osPfsDeleteFile) | 0x800CFA40 -[__osPfsReleasePages](@ref __osPfsReleasePages) | 0x800CFD20 -[__osBlockSum](@ref __osBlockSum) | 0x800CFF58 [osEepromLongWrite](@ref osEepromLongWrite) | 0x800D0050 [osEepromLongRead](@ref osEepromLongRead) | 0x800D0190 [osPfsReadWriteFile](@ref osPfsReadWriteFile) | 0x800D03CC [osPfsAllocateFile](@ref osPfsAllocateFile) | 0x800D07D0 -[__osPfsDeclearPage](@ref __osPfsDeclearPage) | 0x800D0C54 [osAiSetFrequency](@ref osAiSetFrequency) | 0x800D0F80 [osAiGetLength](@ref osAiGetLength) | 0x800D10E0 [osAiSetNextBuffer](@ref osAiSetNextBuffer) | 0x800D10F0 [osGetCount](@ref osGetCount) | 0x800D11A0 -[__osExceptionPreamble](@ref __osExceptionPreamble) | 0x800D11B0 -[__osException](@ref __osException) | 0x800D11C0 [func_800D16E4](@ref func_800D16E4) | 0x800D16E4 -[__osEnqueueAndYield](@ref __osEnqueueAndYield) | 0x800D17CC -[__osEnqueueThread](@ref __osEnqueueThread) | 0x800D18CC -[__osPopThread](@ref __osPopThread) | 0x800D1914 -[__osDispatchThread](@ref __osDispatchThread) | 0x800D1924 -[__osCleanupThread](@ref __osCleanupThread) | 0x800D1AA0 -[__osDisableInt](@ref __osDisableInt) | 0x800D1AB0 -[__osRestoreInt](@ref __osRestoreInt) | 0x800D1AD0 -[__osDequeueThread](@ref __osDequeueThread) | 0x800D1AF0 -[__osSetSR](@ref __osSetSR) | 0x800D1B30 -[__osGetSR](@ref __osGetSR) | 0x800D1B40 -[__osSetFpcCsr](@ref __osSetFpcCsr) | 0x800D1B50 -[__osSiRawReadIo](@ref __osSiRawReadIo) | 0x800D1B60 -[__osSiRawWriteIo](@ref __osSiRawWriteIo) | 0x800D1BB0 [osWritebackDCache](@ref osWritebackDCache) | 0x800D1C00 [osMapTLBRdb](@ref osMapTLBRdb) | 0x800D1C80 [osPiRawReadIo](@ref osPiRawReadIo) | 0x800D1CE0 -[__osSetHWIntrRoutine](@ref __osSetHWIntrRoutine) | 0x800D1D40 -[__osLeoInterrupt](@ref __osLeoInterrupt) | 0x800D1D90 -[__osTimerServicesInit](@ref __osTimerServicesInit) | 0x800D2610 -[__osTimerInterrupt](@ref __osTimerInterrupt) | 0x800D269C -[__osSetTimerIntr](@ref __osSetTimerIntr) | 0x800D2814 -[__osInsertTimer](@ref __osInsertTimer) | 0x800D2888 [osGetThreadPri](@ref osGetThreadPri) | 0x800D2A10 -[__osViInit](@ref __osViInit) | 0x800D2A30 -[__osViGetCurrentContext](@ref __osViGetCurrentContext) | 0x800D2B80 -[__osViSwapContext](@ref __osViSwapContext) | 0x800D2B90 -[__osPiCreateAccessQueue](@ref __osPiCreateAccessQueue) | 0x800D2EF0 -[__osPiGetAccess](@ref __osPiGetAccess) | 0x800D2F40 -[__osPiRelAccess](@ref __osPiRelAccess) | 0x800D2F84 [osPiRawStartDma](@ref osPiRawStartDma) | 0x800D2FB0 [osEPiRawStartDma](@ref osEPiRawStartDma) | 0x800D3090 -[__osDevMgrMain](@ref __osDevMgrMain) | 0x800D3170 [bcopy](@ref bcopy) | 0x800D3520 [osVirtualToPhysical](@ref osVirtualToPhysical) | 0x800D3830 -[__osSpSetStatus](@ref __osSpSetStatus) | 0x800D38B0 -[__osSpSetPc](@ref __osSpSetPc) | 0x800D38C0 -[__osSpRawStartDma](@ref __osSpRawStartDma) | 0x800D3900 -[__osSpDeviceBusy](@ref __osSpDeviceBusy) | 0x800D3990 [osSetTimer](@ref osSetTimer) | 0x800D39C0 -[__osSiRawStartDma](@ref __osSiRawStartDma) | 0x800D3AA0 -[__osSiCreateAccessQueue](@ref __osSiCreateAccessQueue) | 0x800D3B50 -[__osSiGetAccess](@ref __osSiGetAccess) | 0x800D3BA0 -[__osSiRelAccess](@ref __osSiRelAccess) | 0x800D3BE4 [osJamMesg](@ref osJamMesg) | 0x800D3C10 [osPiGetCmdQueue](@ref osPiGetCmdQueue) | 0x800D3D60 -[__osSpGetStatus](@ref __osSpGetStatus) | 0x800D3D90 [guMtxF2L](@ref guMtxF2L) | 0x800D3DA0 [guMtxIdentF](@ref guMtxIdentF) | 0x800D3EA0 [guMtxIdent](@ref guMtxIdent) | 0x800D3F28 [guMtxL2F](@ref guMtxL2F) | 0x800D3F58 [osEepromWrite](@ref osEepromWrite) | 0x800D4010 -[__osPackEepWriteData](@ref __osPackEepWriteData) | 0x800D41C0 -[__osEepStatus](@ref __osEepStatus) | 0x800D42CC -[__osSumcalc](@ref __osSumcalc) | 0x800D44F0 -[__osIdCheckSum](@ref __osIdCheckSum) | 0x800D454C -[__osRepairPackId](@ref __osRepairPackId) | 0x800D45B4 -[__osCheckPackId](@ref __osCheckPackId) | 0x800D49CC -[__osGetId](@ref __osGetId) | 0x800D4B64 -[__osCheckId](@ref __osCheckId) | 0x800D4DC0 -[__osPfsRWInode](@ref __osPfsRWInode) | 0x800D4EBC -[__osPfsSelectBank](@ref __osPfsSelectBank) | 0x800D51DC [osPfsChecker](@ref osPfsChecker) | 0x800D5250 [corrupted_init](@ref corrupted_init) | 0x800D5914 [corrupted](@ref corrupted) | 0x800D5AC8 -[__osContRamRead](@ref __osContRamRead) | 0x800D5CB0 -[__osPackRamReadData](@ref __osPackRamReadData) | 0x800D5EF4 [guNormalize](@ref guNormalize) | 0x800D6060 [sinf](@ref sinf) | 0x800D60F0 [cosf](@ref cosf) | 0x800D62B0 [_Printf](@ref _Printf) | 0x800D6A90 [guMtxXFMF](@ref guMtxXFMF) | 0x800D70E0 [guMtxCatF](@ref guMtxCatF) | 0x800D7180 -[__osContRamWrite](@ref __osContRamWrite) | 0x800D72F0 -[__osPackRamWriteData](@ref __osPackRamWriteData) | 0x800D7520 [osEepromRead](@ref osEepromRead) | 0x800D76A0 -[__osPackEepReadData](@ref __osPackEepReadData) | 0x800D7890 -[__osAiDeviceBusy](@ref __osAiDeviceBusy) | 0x800D79A0 [osSetIntMask](@ref osSetIntMask) | 0x800D79D0 [osDestroyThread](@ref osDestroyThread) | 0x800D7A70 -[__osSiDeviceBusy](@ref __osSiDeviceBusy) | 0x800D7B70 [osLeoDiskInit](@ref osLeoDiskInit) | 0x800D7BA0 -[__osSetCompare](@ref __osSetCompare) | 0x800D7C90 -[__osResetGlobalIntMask](@ref __osResetGlobalIntMask) | 0x800D7CA0 -[__osEPiRawWriteIo](@ref __osEPiRawWriteIo) | 0x800D7D00 [osYieldThread](@ref osYieldThread) | 0x800D7D50 -[__osProbeTLB](@ref __osProbeTLB) | 0x800D7DA0 -[__osContAddressCrc](@ref __osContAddressCrc) | 0x800D7E60 -[__osContDataCrc](@ref __osContDataCrc) | 0x800D7F10 [memcpy](@ref memcpy) | 0x800D7FE0 [strlen](@ref strlen) | 0x800D800C [strchr](@ref strchr) | 0x800D8034 @@ -3766,24 +3599,12 @@ Variable Name | Memory Address [gAudioLoadLock](@ref gAudioLoadLock) | 0x800EA5DC [osClockRate](@ref osClockRate) | 0x800EA5E0 [D_800EA5E8](@ref D_800EA5E8) | 0x800EA5E8 -[__OSGlobalIntMask](@ref __OSGlobalIntMask) | 0x800EA5EC [D_800EA5F0](@ref D_800EA5F0) | 0x800EA5F0 [viMgrMainArgs](@ref viMgrMainArgs) | 0x800EA600 [osViModeTable](@ref osViModeTable) | 0x800EA620 -[__osPiDevMgr](@ref __osPiDevMgr) | 0x800EB340 -[__osPiTable](@ref __osPiTable) | 0x800EB35C [_osContInitialized](@ref _osContInitialized) | 0x800EB360 [hdwrBugFlag](@ref hdwrBugFlag) | 0x800EB370 -[__osHwIntTable](@ref __osHwIntTable) | 0x800EB380 -[__osThreadTail](@ref __osThreadTail) | 0x800EB3A0 -[__osRunQueue](@ref __osRunQueue) | 0x800EB3A8 -[__osActiveQueue](@ref __osActiveQueue) | 0x800EB3AC -[__osRunningThread](@ref __osRunningThread) | 0x800EB3B0 -[__osFaultedThread](@ref __osFaultedThread) | 0x800EB3B4 -[__osTimerList](@ref __osTimerList) | 0x800EB3C0 [sViContexts](@ref sViContexts) | 0x800EB3D0 -[__osViCurr](@ref __osViCurr) | 0x800EB430 -[__osViNext](@ref __osViNext) | 0x800EB434 [osViClock](@ref osViClock) | 0x800EB438 [gOsPiAccessQueueCreated](@ref gOsPiAccessQueueCreated) | 0x800EB440 [gOsSiAccessQueueCreated](@ref gOsSiAccessQueueCreated) | 0x800EB450 @@ -3959,10 +3780,6 @@ Variable Name | Memory Address [gHeadsetPanVolume](@ref gHeadsetPanVolume) | 0x800F6310 [gStereoPanVolume](@ref gStereoPanVolume) | 0x800F6510 [gDefaultPanVolume](@ref gDefaultPanVolume) | 0x800F6710 -[(.main))](@ref (.main))) | 0x800F6910 -[(.main))](@ref (.main))) | 0x000F7510 -[(.main))](@ref (.main))) | 0x00BE9160 -[(.main.noload)](@ref (.main.noload)) | 0x800F6910 [gControllers](@ref gControllers) | 0x800F6910 [gPlayers](@ref gPlayers) | 0x800F6990 [D_800FD850](@ref D_800FD850) | 0x800FD850 @@ -5007,9 +4824,7 @@ Variable Name | Memory Address [D_80194040](@ref D_80194040) | 0x80194040 [piMgrThread](@ref piMgrThread) | 0x80195270 [piMgrStack](@ref piMgrStack) | 0x80195420 -[__osPiMesgQueue](@ref __osPiMesgQueue) | 0x80196420 [piMgrMesgBuff](@ref piMgrMesgBuff) | 0x80196438 -[__osEventStateTab](@ref __osEventStateTab) | 0x80196440 [D_801964C0](@ref D_801964C0) | 0x801964C0 [_osContCmdBuf](@ref _osContCmdBuf) | 0x80196500 [_osContPifCtrl](@ref _osContPifCtrl) | 0x8019653C @@ -5018,25 +4833,14 @@ Variable Name | Memory Address [D_80196548](@ref D_80196548) | 0x80196548 [_osContMesgQueue](@ref _osContMesgQueue) | 0x80196568 [_osContMesgBuff](@ref _osContMesgBuff) | 0x80196580 -[__osPfsPifRam](@ref __osPfsPifRam) | 0x80196590 [leoDiskStack](@ref leoDiskStack) | 0x801965E0 -[__osBaseTimer](@ref __osBaseTimer) | 0x801975E0 -[__osCurrentTime](@ref __osCurrentTime) | 0x80197600 -[__osBaseCounter](@ref __osBaseCounter) | 0x80197608 -[__osViIntrCount](@ref __osViIntrCount) | 0x8019760C -[__osTimerCounter](@ref __osTimerCounter) | 0x80197610 [osPiMesgBuff](@ref osPiMesgBuff) | 0x80197620 [gOsPiMessageQueue](@ref gOsPiMessageQueue) | 0x80197628 [osSiMesgBuff](@ref osSiMesgBuff) | 0x80197640 [gOsSiMessageQueue](@ref gOsSiMessageQueue) | 0x80197648 -[__osEepPifRam](@ref __osEepPifRam) | 0x80197660 [D_8019769C](@ref D_8019769C) | 0x8019769C [D_801976A0](@ref D_801976A0) | 0x801976A0 [LeoDiskHandle](@ref LeoDiskHandle) | 0x80197850 -[__osDiskHandle](@ref __osDiskHandle) | 0x801978C0 -[(.main.noload))](@ref (.main.noload))) | 0x801978D0 -[(.racing)](@ref (.racing)) | 0x8028DF00 -[__romPos](@ref __romPos) | 0x000F7510 [func_8028DF00](@ref func_8028DF00) | 0x8028DF00 [func_8028DF38](@ref func_8028DF38) | 0x8028DF38 [func_8028E028](@ref func_8028E028) | 0x8028E028 @@ -5479,10 +5283,6 @@ Variable Name | Memory Address [gCourseTable](@ref gCourseTable) | 0x802B8D80 [D_802B91C0](@ref D_802B91C0) | 0x802B91C0 [D_802B91C8](@ref D_802B91C8) | 0x802B91C8 -[(.racing))](@ref (.racing))) | 0x802BA030 -[(.racing))](@ref (.racing))) | 0x00123640 -[(.racing))](@ref (.racing))) | 0x00BE9160 -[(.racing.noload)](@ref (.racing.noload)) | 0x802BA030 [D_802BA030](@ref D_802BA030) | 0x802BA030 [D_802BA032](@ref D_802BA032) | 0x802BA032 [D_802BA034](@ref D_802BA034) | 0x802BA034 @@ -5594,14 +5394,6 @@ Variable Name | Memory Address [gAudioErrorFlags](@ref gAudioErrorFlags) | 0x803B7198 [D_803B71A0](@ref D_803B71A0) | 0x803B71A0 [D_803B71B0](@ref D_803B71B0) | 0x803B71B0 -[(0x8)](@ref (0x8)) | 0x803B71C0 -[(.racing.noload))](@ref (.racing.noload))) | 0x803B71C0 -[0x10)](@ref 0x10)) | 0x000FD1A0 -[0x10)](@ref 0x10)) | 0x0000000F -[0xffff)](@ref 0xffff)) | 0x0000D1A0 -[(.endingSequences)](@ref (.endingSequences)) | 0x80280000 -[__romPos](@ref __romPos) | 0x00123640 -[0x0000000000123640](@ref 0x0000000000123640) | 0x80280000 [func_80280000](@ref func_80280000) | 0x80280000 [func_80280038](@ref func_80280038) | 0x80280038 [func_80280268](@ref func_80280268) | 0x80280268 @@ -5790,11 +5582,6 @@ Variable Name | Memory Address [D_80286A04](@ref D_80286A04) | 0x80286A04 [D_80286B34](@ref D_80286B34) | 0x80286B34 [D_80286B5C](@ref D_80286B5C) | 0x80286B5C -[(.endingSequences))](@ref (.endingSequences))) | 0x802874A0 -[(.endingSequences))](@ref (.endingSequences))) | 0x0012AAE0 -[(.endingSequences))](@ref (.endingSequences))) | 0x00BE9160 -[(.endingSequences.noload)](@ref (.endingSequences.noload)) | 0x802874A0 -[0x000000000012aae0](@ref 0x000000000012aae0) | 0x802874A0 [D_802874A0](@ref D_802874A0) | 0x802874A0 [D_802874B0](@ref D_802874B0) | 0x802874B0 [D_802874D4](@ref D_802874D4) | 0x802874D4 @@ -5819,11 +5606,6 @@ Variable Name | Memory Address [sCutsceneSplineSegment](@ref sCutsceneSplineSegment) | 0x80287B1C [D_80287B1E](@ref D_80287B1E) | 0x80287B1E [D_80287B20](@ref D_80287B20) | 0x80287B20 -[(.endingSequences.noload))](@ref (.endingSequences.noload))) | 0x80287B30 -[0x10)](@ref 0x10)) | 0x000006A0 -[0xffff)](@ref 0xffff)) | 0x000006A0 -[(.data_segment2)](@ref (.data_segment2)) | 0x02000000 -[__romPos](@ref __romPos) | 0x0012AAE0 [D_02000000](@ref D_02000000) | 0x02000000 [D_02000028](@ref D_02000028) | 0x02000028 [D_02000050](@ref D_02000050) | 0x02000050 @@ -6611,18 +6393,6 @@ Variable Name | Memory Address [D_02008008](@ref D_02008008) | 0x02008008 [D_02008030](@ref D_02008030) | 0x02008030 [D_02008058](@ref D_02008058) | 0x02008058 -[(.data_segment2))](@ref (.data_segment2))) | 0x02008070 -[(.data_segment2))](@ref (.data_segment2))) | 0x00132B50 -[(.data_segment2))](@ref (.data_segment2))) | 0x00BE9160 -[(.common_textures)](@ref (.common_textures)) | 0x0D000000 -[__romPos](@ref __romPos) | 0x00132B50 -[0x0000000000132b50](@ref 0x0000000000132b50) | 0x0D000000 -[(0x10)](@ref (0x10)) | 0x0D012920 -[(.common_textures))](@ref (.common_textures))) | 0x0D012920 -[(.common_textures))](@ref (.common_textures))) | 0x00145470 -[(.common_textures))](@ref (.common_textures))) | 0x00BE9160 -[(.kart_textures)](@ref (.kart_textures)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00145470 [gKartLuigi000](@ref gKartLuigi000) | 0x0F000000 [gKartLuigi001](@ref gKartLuigi001) | 0x0F0004F4 [gKartLuigi002](@ref gKartLuigi002) | 0x0F0009F4 @@ -18451,12 +18221,6 @@ Variable Name | Memory Address [d_luigi_raceway_staff_ghost](@ref d_luigi_raceway_staff_ghost) | 0x0F4F9CAC [d_royal_raceway_staff_ghost](@ref d_royal_raceway_staff_ghost) | 0x0F4FAD04 [D_0F4FCAD0](@ref D_0F4FCAD0) | 0x0F4FCAD0 -[(.kart_textures))](@ref (.kart_textures))) | 0x0F4FCB00 -[(.kart_textures))](@ref (.kart_textures))) | 0x00641F70 -[(.kart_textures))](@ref (.kart_textures))) | 0x00BE9160 -[(.other_textures)](@ref (.other_textures)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00641F70 -[0x0000000000641f70](@ref 0x0000000000641f70) | 0x0F000000 [gTextureSignShellShot0](@ref gTextureSignShellShot0) | 0x0F000000 [gTextureSignShellShot1](@ref gTextureSignShellShot1) | 0x0F00038C [gTextureGrayCheckerboard](@ref gTextureGrayCheckerboard) | 0x0F0005D4 @@ -18991,21 +18755,9 @@ Variable Name | Memory Address [gTextureCourseOutlineDoubleDeck](@ref gTextureCourseOutlineDoubleDeck) | 0x0F0E1BA8 [gTextureCourseOutlineDksJungleParkway](@ref gTextureCourseOutlineDksJungleParkway) | 0x0F0E1D2C [gTextureCourseOutlineBigDonut](@ref gTextureCourseOutlineBigDonut) | 0x0F0E2014 -[(0x10)](@ref (0x10)) | 0x0F0E22B0 -[(.other_textures))](@ref (.other_textures))) | 0x0F0E22B0 -[(.other_textures))](@ref (.other_textures))) | 0x00724220 -[(.other_textures))](@ref (.other_textures))) | 0x00BE9160 -[(.data_802BA370)](@ref (.data_802BA370)) | 0x802BA370 -[__romPos](@ref __romPos) | 0x00724220 [gSineTable](@ref gSineTable) | 0x802BA370 [gCosineTable](@ref gCosineTable) | 0x802BB370 [gArctanTable](@ref gArctanTable) | 0x802BF370 -[(0x10)](@ref (0x10)) | 0x802BFB80 -[(.data_802BA370))](@ref (.data_802BA370))) | 0x802BFB80 -[(.data_802BA370))](@ref (.data_802BA370))) | 0x00729A30 -[(.data_802BA370))](@ref (.data_802BA370))) | 0x00BE9160 -[(.textures_0a)](@ref (.textures_0a)) | 0x0A000000 -[__romPos](@ref __romPos) | 0x00729A30 [gTextureMarioFace00](@ref gTextureMarioFace00) | 0x0A000000 [gTextureMarioFace00_end](@ref gTextureMarioFace00_end) | 0x0A000CD4 [gTextureMarioFace01](@ref gTextureMarioFace01) | 0x0A000CD4 @@ -19878,12 +19630,6 @@ Variable Name | Memory Address [gTexture7FA194](@ref gTexture7FA194) | 0x0A0D0764 [gTexture7FA264](@ref gTexture7FA264) | 0x0A0D0834 [gTexture7FA334](@ref gTexture7FA334) | 0x0A0D0904 -[(0x10)](@ref (0x10)) | 0x0A0D0990 -[(.textures_0a))](@ref (.textures_0a))) | 0x0A0D0990 -[(.textures_0a))](@ref (.textures_0a))) | 0x007FA3C0 -[(.textures_0a))](@ref (.textures_0a))) | 0x00BE9160 -[(.textures_0b)](@ref (.textures_0b)) | 0x0B000000 -[__romPos](@ref __romPos) | 0x007FA3C0 [gTexturePlayerSelect](@ref gTexturePlayerSelect) | 0x0B000000 [gTexturePlayerSelect_end](@ref gTexturePlayerSelect_end) | 0x0B000C00 [gTextureOption](@ref gTextureOption) | 0x0B000C00 @@ -20010,256 +19756,27 @@ Variable Name | Memory Address [gTexturePinkBar_end](@ref gTexturePinkBar_end) | 0x0B026C00 [gTextureGoldBar](@ref gTextureGoldBar) | 0x0B026C00 [gTextureGoldBar_end](@ref gTextureGoldBar_end) | 0x0B027950 -[(0x10)](@ref (0x10)) | 0x0B027950 -[(.textures_0b))](@ref (.textures_0b))) | 0x0B027950 -[(.textures_0b))](@ref (.textures_0b))) | 0x00821D10 -[(.textures_0b))](@ref (.textures_0b))) | 0x00BE9160 -[(.data_821D10)](@ref (.data_821D10)) | 0x0B000000 -[__romPos](@ref __romPos) | 0x00821D10 [ceremony_data](@ref ceremony_data) | 0x0B000000 [data_821D10_end](@ref data_821D10_end) | 0x0B003AF0 -[(0x10)](@ref (0x10)) | 0x0B003AF0 -[(.data_821D10))](@ref (.data_821D10))) | 0x0B003AF0 -[(.data_821D10))](@ref (.data_821D10))) | 0x00825800 -[(.data_821D10))](@ref (.data_821D10))) | 0x00BE9160 -[(.data_825800)](@ref (.data_825800)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00825800 [startup_logo](@ref startup_logo) | 0x06000000 [data_825800_end](@ref data_825800_end) | 0x06002CD0 -[(0x10)](@ref (0x10)) | 0x06002CD0 -[(.data_825800))](@ref (.data_825800))) | 0x06002CD0 -[(.data_825800))](@ref (.data_825800))) | 0x008284D0 -[(.data_825800))](@ref (.data_825800))) | 0x00BE9160 -[(.course_mario_raceway_dl_mio0)](@ref (.course_mario_raceway_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x008284D0 -[0x00000000008284d0](@ref 0x00000000008284d0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003150 -[(.course_mario_raceway_dl_mio0))](@ref (.course_mario_raceway_dl_mio0))) | 0x06003150 -[(.course_mario_raceway_dl_mio0))](@ref (.course_mario_raceway_dl_mio0))) | 0x0082B620 -[(.course_mario_raceway_dl_mio0))](@ref (.course_mario_raceway_dl_mio0))) | 0x00BE9160 -[(.course_choco_mountain_dl_mio0)](@ref (.course_choco_mountain_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0082B620 -[0x000000000082b620](@ref 0x000000000082b620) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06002920 -[(.course_choco_mountain_dl_mio0))](@ref (.course_choco_mountain_dl_mio0))) | 0x06002920 -[(.course_choco_mountain_dl_mio0))](@ref (.course_choco_mountain_dl_mio0))) | 0x0082DF40 -[(.course_choco_mountain_dl_mio0))](@ref (.course_choco_mountain_dl_mio0))) | 0x00BE9160 -[(.course_bowsers_castle_dl_mio0)](@ref (.course_bowsers_castle_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0082DF40 -[0x000000000082df40](@ref 0x000000000082df40) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003E80 -[(.course_bowsers_castle_dl_mio0))](@ref (.course_bowsers_castle_dl_mio0))) | 0x06003E80 -[(.course_bowsers_castle_dl_mio0))](@ref (.course_bowsers_castle_dl_mio0))) | 0x00831DC0 -[(.course_bowsers_castle_dl_mio0))](@ref (.course_bowsers_castle_dl_mio0))) | 0x00BE9160 -[(.course_banshee_boardwalk_dl_mio0)](@ref (.course_banshee_boardwalk_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00831DC0 -[0x0000000000831dc0](@ref 0x0000000000831dc0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003DE0 -[(.course_banshee_boardwalk_dl_mio0))](@ref (.course_banshee_boardwalk_dl_mio0))) | 0x06003DE0 -[(.course_banshee_boardwalk_dl_mio0))](@ref (.course_banshee_boardwalk_dl_mio0))) | 0x00835BA0 -[(.course_banshee_boardwalk_dl_mio0))](@ref (.course_banshee_boardwalk_dl_mio0))) | 0x00BE9160 -[(.course_yoshi_valley_dl_mio0)](@ref (.course_yoshi_valley_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00835BA0 -[0x0000000000835ba0](@ref 0x0000000000835ba0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06009BA0 -[(.course_yoshi_valley_dl_mio0))](@ref (.course_yoshi_valley_dl_mio0))) | 0x06009BA0 -[(.course_yoshi_valley_dl_mio0))](@ref (.course_yoshi_valley_dl_mio0))) | 0x0083F740 -[(.course_yoshi_valley_dl_mio0))](@ref (.course_yoshi_valley_dl_mio0))) | 0x00BE9160 -[(.course_frappe_snowland_dl_mio0)](@ref (.course_frappe_snowland_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0083F740 -[0x000000000083f740](@ref 0x000000000083f740) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003700 -[(.course_frappe_snowland_dl_mio0))](@ref (.course_frappe_snowland_dl_mio0))) | 0x06003700 -[(.course_frappe_snowland_dl_mio0))](@ref (.course_frappe_snowland_dl_mio0))) | 0x00842E40 -[(.course_frappe_snowland_dl_mio0))](@ref (.course_frappe_snowland_dl_mio0))) | 0x00BE9160 -[(.course_koopa_troopa_beach_dl_mio0)](@ref (.course_koopa_troopa_beach_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00842E40 -[0x0000000000842e40](@ref 0x0000000000842e40) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06007D90 -[(.course_koopa_troopa_beach_dl_mio0))](@ref (.course_koopa_troopa_beach_dl_mio0))) | 0x06007D90 -[(.course_koopa_troopa_beach_dl_mio0))](@ref (.course_koopa_troopa_beach_dl_mio0))) | 0x0084ABD0 -[(.course_koopa_troopa_beach_dl_mio0))](@ref (.course_koopa_troopa_beach_dl_mio0))) | 0x00BE9160 -[(.course_royal_raceway_dl_mio0)](@ref (.course_royal_raceway_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0084ABD0 -[0x000000000084abd0](@ref 0x000000000084abd0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003D10 -[(.course_royal_raceway_dl_mio0))](@ref (.course_royal_raceway_dl_mio0))) | 0x06003D10 -[(.course_royal_raceway_dl_mio0))](@ref (.course_royal_raceway_dl_mio0))) | 0x0084E8E0 -[(.course_royal_raceway_dl_mio0))](@ref (.course_royal_raceway_dl_mio0))) | 0x00BE9160 -[(.course_luigi_raceway_dl_mio0)](@ref (.course_luigi_raceway_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0084E8E0 -[0x000000000084e8e0](@ref 0x000000000084e8e0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06004540 -[(.course_luigi_raceway_dl_mio0))](@ref (.course_luigi_raceway_dl_mio0))) | 0x06004540 -[(.course_luigi_raceway_dl_mio0))](@ref (.course_luigi_raceway_dl_mio0))) | 0x00852E20 -[(.course_luigi_raceway_dl_mio0))](@ref (.course_luigi_raceway_dl_mio0))) | 0x00BE9160 -[(.course_moo_moo_farm_dl_mio0)](@ref (.course_moo_moo_farm_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00852E20 -[0x0000000000852e20](@ref 0x0000000000852e20) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06005060 -[(.course_moo_moo_farm_dl_mio0))](@ref (.course_moo_moo_farm_dl_mio0))) | 0x06005060 -[(.course_moo_moo_farm_dl_mio0))](@ref (.course_moo_moo_farm_dl_mio0))) | 0x00857E80 -[(.course_moo_moo_farm_dl_mio0))](@ref (.course_moo_moo_farm_dl_mio0))) | 0x00BE9160 -[(.course_toads_turnpike_dl_mio0)](@ref (.course_toads_turnpike_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00857E80 -[0x0000000000857e80](@ref 0x0000000000857e80) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x0600E820 -[(.course_toads_turnpike_dl_mio0))](@ref (.course_toads_turnpike_dl_mio0))) | 0x0600E820 -[(.course_toads_turnpike_dl_mio0))](@ref (.course_toads_turnpike_dl_mio0))) | 0x008666A0 -[(.course_toads_turnpike_dl_mio0))](@ref (.course_toads_turnpike_dl_mio0))) | 0x00BE9160 -[(.course_kalimari_desert_dl_mio0)](@ref (.course_kalimari_desert_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x008666A0 -[0x00000000008666a0](@ref 0x00000000008666a0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06008650 -[(.course_kalimari_desert_dl_mio0))](@ref (.course_kalimari_desert_dl_mio0))) | 0x06008650 -[(.course_kalimari_desert_dl_mio0))](@ref (.course_kalimari_desert_dl_mio0))) | 0x0086ECF0 -[(.course_kalimari_desert_dl_mio0))](@ref (.course_kalimari_desert_dl_mio0))) | 0x00BE9160 -[(.course_sherbet_land_dl_mio0)](@ref (.course_sherbet_land_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0086ECF0 -[0x000000000086ecf0](@ref 0x000000000086ecf0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06003D10 -[(.course_sherbet_land_dl_mio0))](@ref (.course_sherbet_land_dl_mio0))) | 0x06003D10 -[(.course_sherbet_land_dl_mio0))](@ref (.course_sherbet_land_dl_mio0))) | 0x00872A00 -[(.course_sherbet_land_dl_mio0))](@ref (.course_sherbet_land_dl_mio0))) | 0x00BE9160 -[(.course_rainbow_road_dl_mio0)](@ref (.course_rainbow_road_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00872A00 -[0x0000000000872a00](@ref 0x0000000000872a00) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x0600DAA0 -[(.course_rainbow_road_dl_mio0))](@ref (.course_rainbow_road_dl_mio0))) | 0x0600DAA0 -[(.course_rainbow_road_dl_mio0))](@ref (.course_rainbow_road_dl_mio0))) | 0x008804A0 -[(.course_rainbow_road_dl_mio0))](@ref (.course_rainbow_road_dl_mio0))) | 0x00BE9160 -[(.course_wario_stadium_dl_mio0)](@ref (.course_wario_stadium_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x008804A0 -[0x00000000008804a0](@ref 0x00000000008804a0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06005190 -[(.course_wario_stadium_dl_mio0))](@ref (.course_wario_stadium_dl_mio0))) | 0x06005190 -[(.course_wario_stadium_dl_mio0))](@ref (.course_wario_stadium_dl_mio0))) | 0x00885630 -[(.course_wario_stadium_dl_mio0))](@ref (.course_wario_stadium_dl_mio0))) | 0x00BE9160 -[(.course_block_fort_dl_mio0)](@ref (.course_block_fort_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00885630 -[0x0000000000885630](@ref 0x0000000000885630) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06000150 -[(.course_block_fort_dl_mio0))](@ref (.course_block_fort_dl_mio0))) | 0x06000150 -[(.course_block_fort_dl_mio0))](@ref (.course_block_fort_dl_mio0))) | 0x00885780 -[(.course_block_fort_dl_mio0))](@ref (.course_block_fort_dl_mio0))) | 0x00BE9160 -[(.course_skyscraper_dl_mio0)](@ref (.course_skyscraper_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00885780 -[0x0000000000885780](@ref 0x0000000000885780) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06000120 -[(.course_skyscraper_dl_mio0))](@ref (.course_skyscraper_dl_mio0))) | 0x06000120 -[(.course_skyscraper_dl_mio0))](@ref (.course_skyscraper_dl_mio0))) | 0x008858A0 -[(.course_skyscraper_dl_mio0))](@ref (.course_skyscraper_dl_mio0))) | 0x00BE9160 -[(.course_double_deck_dl_mio0)](@ref (.course_double_deck_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x008858A0 -[0x00000000008858a0](@ref 0x00000000008858a0) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06000170 -[(.course_double_deck_dl_mio0))](@ref (.course_double_deck_dl_mio0))) | 0x06000170 -[(.course_double_deck_dl_mio0))](@ref (.course_double_deck_dl_mio0))) | 0x00885A10 -[(.course_double_deck_dl_mio0))](@ref (.course_double_deck_dl_mio0))) | 0x00BE9160 -[(.course_dks_jungle_parkway_dl_mio0)](@ref (.course_dks_jungle_parkway_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x00885A10 -[0x0000000000885a10](@ref 0x0000000000885a10) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06007240 -[(.course_dks_jungle_parkway_dl_mio0))](@ref (.course_dks_jungle_parkway_dl_mio0))) | 0x06007240 -[(.course_dks_jungle_parkway_dl_mio0))](@ref (.course_dks_jungle_parkway_dl_mio0))) | 0x0088CC50 -[(.course_dks_jungle_parkway_dl_mio0))](@ref (.course_dks_jungle_parkway_dl_mio0))) | 0x00BE9160 -[(.course_big_donut_dl_mio0)](@ref (.course_big_donut_dl_mio0)) | 0x06000000 -[__romPos](@ref __romPos) | 0x0088CC50 -[0x000000000088cc50](@ref 0x000000000088cc50) | 0x06000000 -[(0x10)](@ref (0x10)) | 0x06000120 -[(.course_big_donut_dl_mio0))](@ref (.course_big_donut_dl_mio0))) | 0x06000120 -[(.course_big_donut_dl_mio0))](@ref (.course_big_donut_dl_mio0))) | 0x0088CD70 -[(.course_big_donut_dl_mio0))](@ref (.course_big_donut_dl_mio0))) | 0x00BE9160 -[(.course_mario_raceway_offsets)](@ref (.course_mario_raceway_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088CD70 -[0x000000000088cd70](@ref 0x000000000088cd70) | 0x09000000 [mario_raceway_textures](@ref mario_raceway_textures) | 0x09000000 [mario_raceway_dls](@ref mario_raceway_dls) | 0x090001F0 -[(0x10)](@ref (0x10)) | 0x09000300 -[(.course_mario_raceway_offsets))](@ref (.course_mario_raceway_offsets))) | 0x09000300 -[(.course_mario_raceway_offsets))](@ref (.course_mario_raceway_offsets))) | 0x0088D070 -[(.course_mario_raceway_offsets))](@ref (.course_mario_raceway_offsets))) | 0x00BE9160 -[(.course_choco_mountain_offsets)](@ref (.course_choco_mountain_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088D070 -[0x000000000088d070](@ref 0x000000000088d070) | 0x09000000 [choco_mountain_textures](@ref choco_mountain_textures) | 0x09000000 [choco_mountain_dls](@ref choco_mountain_dls) | 0x09000150 -[(0x10)](@ref (0x10)) | 0x090002D0 -[(.course_choco_mountain_offsets))](@ref (.course_choco_mountain_offsets))) | 0x090002D0 -[(.course_choco_mountain_offsets))](@ref (.course_choco_mountain_offsets))) | 0x0088D340 -[(.course_choco_mountain_offsets))](@ref (.course_choco_mountain_offsets))) | 0x00BE9160 -[(.course_bowsers_castle_offsets)](@ref (.course_bowsers_castle_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088D340 -[0x000000000088d340](@ref 0x000000000088d340) | 0x09000000 [bowsers_castle_textures](@ref bowsers_castle_textures) | 0x09000000 [bowsers_castle_dls](@ref bowsers_castle_dls) | 0x090001D0 -[(0x10)](@ref (0x10)) | 0x09000380 -[(.course_bowsers_castle_offsets))](@ref (.course_bowsers_castle_offsets))) | 0x09000380 -[(.course_bowsers_castle_offsets))](@ref (.course_bowsers_castle_offsets))) | 0x0088D6C0 -[(.course_bowsers_castle_offsets))](@ref (.course_bowsers_castle_offsets))) | 0x00BE9160 -[(.course_banshee_boardwalk_offsets)](@ref (.course_banshee_boardwalk_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088D6C0 -[0x000000000088d6c0](@ref 0x000000000088d6c0) | 0x09000000 [banshee_boardwalk_textures](@ref banshee_boardwalk_textures) | 0x09000000 [banshee_boardwalk_dls](@ref banshee_boardwalk_dls) | 0x09000170 -[(0x10)](@ref (0x10)) | 0x09000300 -[(.course_banshee_boardwalk_offsets))](@ref (.course_banshee_boardwalk_offsets))) | 0x09000300 -[(.course_banshee_boardwalk_offsets))](@ref (.course_banshee_boardwalk_offsets))) | 0x0088D9C0 -[(.course_banshee_boardwalk_offsets))](@ref (.course_banshee_boardwalk_offsets))) | 0x00BE9160 -[(.course_yoshi_valley_offsets)](@ref (.course_yoshi_valley_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088D9C0 -[0x000000000088d9c0](@ref 0x000000000088d9c0) | 0x09000000 [yoshi_valley_textures](@ref yoshi_valley_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x090000F0 -[(.course_yoshi_valley_offsets))](@ref (.course_yoshi_valley_offsets))) | 0x090000F0 -[(.course_yoshi_valley_offsets))](@ref (.course_yoshi_valley_offsets))) | 0x0088DAB0 -[(.course_yoshi_valley_offsets))](@ref (.course_yoshi_valley_offsets))) | 0x00BE9160 -[(.course_frappe_snowland_offsets)](@ref (.course_frappe_snowland_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088DAB0 -[0x000000000088dab0](@ref 0x000000000088dab0) | 0x09000000 [frappe_snowland_textures](@ref frappe_snowland_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000090 -[(.course_frappe_snowland_offsets))](@ref (.course_frappe_snowland_offsets))) | 0x09000090 -[(.course_frappe_snowland_offsets))](@ref (.course_frappe_snowland_offsets))) | 0x0088DB40 -[(.course_frappe_snowland_offsets))](@ref (.course_frappe_snowland_offsets))) | 0x00BE9160 -[(.course_koopa_troopa_beach_offsets)](@ref (.course_koopa_troopa_beach_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088DB40 -[0x000000000088db40](@ref 0x000000000088db40) | 0x09000000 [koopa_troopa_beach_textures](@ref koopa_troopa_beach_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000110 -[(.course_koopa_troopa_beach_offsets))](@ref (.course_koopa_troopa_beach_offsets))) | 0x09000110 -[(.course_koopa_troopa_beach_offsets))](@ref (.course_koopa_troopa_beach_offsets))) | 0x0088DC50 -[(.course_koopa_troopa_beach_offsets))](@ref (.course_koopa_troopa_beach_offsets))) | 0x00BE9160 -[(.course_royal_raceway_offsets)](@ref (.course_royal_raceway_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088DC50 -[0x000000000088dc50](@ref 0x000000000088dc50) | 0x09000000 [royal_raceway_textures](@ref royal_raceway_textures) | 0x09000000 [royal_raceway_dls](@ref royal_raceway_dls) | 0x090002C0 -[(0x10)](@ref (0x10)) | 0x090004D0 -[(.course_royal_raceway_offsets))](@ref (.course_royal_raceway_offsets))) | 0x090004D0 -[(.course_royal_raceway_offsets))](@ref (.course_royal_raceway_offsets))) | 0x0088E120 -[(.course_royal_raceway_offsets))](@ref (.course_royal_raceway_offsets))) | 0x00BE9160 -[(.course_luigi_raceway_offsets)](@ref (.course_luigi_raceway_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088E120 -[0x000000000088e120](@ref 0x000000000088e120) | 0x09000000 [luigi_raceway_textures](@ref luigi_raceway_textures) | 0x09000000 [luigi_raceway_dls](@ref luigi_raceway_dls) | 0x09000290 -[(0x10)](@ref (0x10)) | 0x09000470 -[(.course_luigi_raceway_offsets))](@ref (.course_luigi_raceway_offsets))) | 0x09000470 -[(.course_luigi_raceway_offsets))](@ref (.course_luigi_raceway_offsets))) | 0x0088E590 -[(.course_luigi_raceway_offsets))](@ref (.course_luigi_raceway_offsets))) | 0x00BE9160 -[(.course_moo_moo_farm_offsets)](@ref (.course_moo_moo_farm_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088E590 -[0x000000000088e590](@ref 0x000000000088e590) | 0x09000000 [moo_moo_farm_textures](@ref moo_moo_farm_textures) | 0x09000000 [moo_moo_farm_dls](@ref moo_moo_farm_dls) | 0x090001D0 -[(0x10)](@ref (0x10)) | 0x09000340 -[(.course_moo_moo_farm_offsets))](@ref (.course_moo_moo_farm_offsets))) | 0x09000340 -[(.course_moo_moo_farm_offsets))](@ref (.course_moo_moo_farm_offsets))) | 0x0088E8D0 -[(.course_moo_moo_farm_offsets))](@ref (.course_moo_moo_farm_offsets))) | 0x00BE9160 -[(.course_toads_turnpike_offsets)](@ref (.course_toads_turnpike_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088E8D0 -[0x000000000088e8d0](@ref 0x000000000088e8d0) | 0x09000000 [toads_turnpike_textures](@ref toads_turnpike_textures) | 0x09000000 [toads_turnpike_dl_0](@ref toads_turnpike_dl_0) | 0x09000140 [toads_turnpike_dl_1](@ref toads_turnpike_dl_1) | 0x09000178 @@ -20273,277 +19790,59 @@ Variable Name | Memory Address [toads_turnpike_dl_9](@ref toads_turnpike_dl_9) | 0x09000350 [toads_turnpike_dl_10](@ref toads_turnpike_dl_10) | 0x09000388 [toads_turnpike_dl_11](@ref toads_turnpike_dl_11) | 0x090003C0 -[(0x10)](@ref (0x10)) | 0x09000400 -[(.course_toads_turnpike_offsets))](@ref (.course_toads_turnpike_offsets))) | 0x09000400 -[(.course_toads_turnpike_offsets))](@ref (.course_toads_turnpike_offsets))) | 0x0088ECD0 -[(.course_toads_turnpike_offsets))](@ref (.course_toads_turnpike_offsets))) | 0x00BE9160 -[(.course_kalimari_desert_offsets)](@ref (.course_kalimari_desert_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088ECD0 -[0x000000000088ecd0](@ref 0x000000000088ecd0) | 0x09000000 [kalimari_desert_textures](@ref kalimari_desert_textures) | 0x09000000 [kalimari_desert_dls](@ref kalimari_desert_dls) | 0x090001A0 -[(0x10)](@ref (0x10)) | 0x090002E0 -[(.course_kalimari_desert_offsets))](@ref (.course_kalimari_desert_offsets))) | 0x090002E0 -[(.course_kalimari_desert_offsets))](@ref (.course_kalimari_desert_offsets))) | 0x0088EFB0 -[(.course_kalimari_desert_offsets))](@ref (.course_kalimari_desert_offsets))) | 0x00BE9160 -[(.course_sherbet_land_offsets)](@ref (.course_sherbet_land_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088EFB0 -[0x000000000088efb0](@ref 0x000000000088efb0) | 0x09000000 [sherbet_land_textures](@ref sherbet_land_textures) | 0x09000000 [sherbet_land_dls](@ref sherbet_land_dls) | 0x090000B0 [sherbet_land_dls_2](@ref sherbet_land_dls_2) | 0x090001D0 -[(0x10)](@ref (0x10)) | 0x090002F0 -[(.course_sherbet_land_offsets))](@ref (.course_sherbet_land_offsets))) | 0x090002F0 -[(.course_sherbet_land_offsets))](@ref (.course_sherbet_land_offsets))) | 0x0088F2A0 -[(.course_sherbet_land_offsets))](@ref (.course_sherbet_land_offsets))) | 0x00BE9160 -[(.course_rainbow_road_offsets)](@ref (.course_rainbow_road_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F2A0 -[0x000000000088f2a0](@ref 0x000000000088f2a0) | 0x09000000 [rainbow_road_textures](@ref rainbow_road_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000060 -[(.course_rainbow_road_offsets))](@ref (.course_rainbow_road_offsets))) | 0x09000060 -[(.course_rainbow_road_offsets))](@ref (.course_rainbow_road_offsets))) | 0x0088F300 -[(.course_rainbow_road_offsets))](@ref (.course_rainbow_road_offsets))) | 0x00BE9160 -[(.course_wario_stadium_offsets)](@ref (.course_wario_stadium_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F300 -[0x000000000088f300](@ref 0x000000000088f300) | 0x09000000 [wario_stadium_textures](@ref wario_stadium_textures) | 0x09000000 [wario_stadium_dls](@ref wario_stadium_dls) | 0x09000150 -[(0x10)](@ref (0x10)) | 0x09000300 -[(.course_wario_stadium_offsets))](@ref (.course_wario_stadium_offsets))) | 0x09000300 -[(.course_wario_stadium_offsets))](@ref (.course_wario_stadium_offsets))) | 0x0088F600 -[(.course_wario_stadium_offsets))](@ref (.course_wario_stadium_offsets))) | 0x00BE9160 -[(.course_block_fort_offsets)](@ref (.course_block_fort_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F600 -[0x000000000088f600](@ref 0x000000000088f600) | 0x09000000 [block_fort_textures](@ref block_fort_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000080 -[(.course_block_fort_offsets))](@ref (.course_block_fort_offsets))) | 0x09000080 -[(.course_block_fort_offsets))](@ref (.course_block_fort_offsets))) | 0x0088F680 -[(.course_block_fort_offsets))](@ref (.course_block_fort_offsets))) | 0x00BE9160 -[(.course_skyscraper_offsets)](@ref (.course_skyscraper_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F680 -[0x000000000088f680](@ref 0x000000000088f680) | 0x09000000 [skyscraper_textures](@ref skyscraper_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000180 -[(.course_skyscraper_offsets))](@ref (.course_skyscraper_offsets))) | 0x09000180 -[(.course_skyscraper_offsets))](@ref (.course_skyscraper_offsets))) | 0x0088F800 -[(.course_skyscraper_offsets))](@ref (.course_skyscraper_offsets))) | 0x00BE9160 -[(.course_double_deck_offsets)](@ref (.course_double_deck_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F800 -[0x000000000088f800](@ref 0x000000000088f800) | 0x09000000 [double_deck_textures](@ref double_deck_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000030 -[(.course_double_deck_offsets))](@ref (.course_double_deck_offsets))) | 0x09000030 -[(.course_double_deck_offsets))](@ref (.course_double_deck_offsets))) | 0x0088F830 -[(.course_double_deck_offsets))](@ref (.course_double_deck_offsets))) | 0x00BE9160 -[(.course_dks_jungle_parkway_offsets)](@ref (.course_dks_jungle_parkway_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F830 -[0x000000000088f830](@ref 0x000000000088f830) | 0x09000000 [dks_jungle_parkway_textures](@ref dks_jungle_parkway_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000190 -[(.course_dks_jungle_parkway_offsets))](@ref (.course_dks_jungle_parkway_offsets))) | 0x09000190 -[(.course_dks_jungle_parkway_offsets))](@ref (.course_dks_jungle_parkway_offsets))) | 0x0088F9C0 -[(.course_dks_jungle_parkway_offsets))](@ref (.course_dks_jungle_parkway_offsets))) | 0x00BE9160 -[(.course_big_donut_offsets)](@ref (.course_big_donut_offsets)) | 0x09000000 -[__romPos](@ref __romPos) | 0x0088F9C0 -[0x000000000088f9c0](@ref 0x000000000088f9c0) | 0x09000000 [big_donut_textures](@ref big_donut_textures) | 0x09000000 -[(0x10)](@ref (0x10)) | 0x09000050 -[(.course_big_donut_offsets))](@ref (.course_big_donut_offsets))) | 0x09000050 -[(.course_big_donut_offsets))](@ref (.course_big_donut_offsets))) | 0x0088FA10 -[(.course_big_donut_offsets))](@ref (.course_big_donut_offsets))) | 0x00BE9160 -[(.mario_raceway_vertex)](@ref (.mario_raceway_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x0088FA10 -[0x000000000088fa10](@ref 0x000000000088fa10) | 0x0F000000 [d_course_mario_raceway_vertex](@ref d_course_mario_raceway_vertex) | 0x0F000000 [d_course_mario_raceway_packed](@ref d_course_mario_raceway_packed) | 0x0F0096F4 -[(0x10)](@ref (0x10)) | 0x0F00BB00 -[(.mario_raceway_vertex))](@ref (.mario_raceway_vertex))) | 0x0F00BB00 -[(.mario_raceway_vertex))](@ref (.mario_raceway_vertex))) | 0x0089B510 -[(.mario_raceway_vertex))](@ref (.mario_raceway_vertex))) | 0x00BE9160 -[(.choco_mountain_vertex)](@ref (.choco_mountain_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x0089B510 -[0x000000000089b510](@ref 0x000000000089b510) | 0x0F000000 [d_course_choco_mountain_vertex](@ref d_course_choco_mountain_vertex) | 0x0F000000 [d_course_choco_mountain_packed](@ref d_course_choco_mountain_packed) | 0x0F00A0B4 -[(0x10)](@ref (0x10)) | 0x0F00C130 -[(.choco_mountain_vertex))](@ref (.choco_mountain_vertex))) | 0x0F00C130 -[(.choco_mountain_vertex))](@ref (.choco_mountain_vertex))) | 0x008A7640 -[(.choco_mountain_vertex))](@ref (.choco_mountain_vertex))) | 0x00BE9160 -[(.bowsers_castle_vertex)](@ref (.bowsers_castle_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008A7640 -[0x00000000008a7640](@ref 0x00000000008a7640) | 0x0F000000 [d_course_bowsers_castle_vertex](@ref d_course_bowsers_castle_vertex) | 0x0F000000 [d_course_bowsers_castle_packed](@ref d_course_bowsers_castle_packed) | 0x0F00E368 -[(0x10)](@ref (0x10)) | 0x0F011FF0 -[(.bowsers_castle_vertex))](@ref (.bowsers_castle_vertex))) | 0x0F011FF0 -[(.bowsers_castle_vertex))](@ref (.bowsers_castle_vertex))) | 0x008B9630 -[(.bowsers_castle_vertex))](@ref (.bowsers_castle_vertex))) | 0x00BE9160 -[(.banshee_boardwalk_vertex)](@ref (.banshee_boardwalk_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008B9630 -[0x00000000008b9630](@ref 0x00000000008b9630) | 0x0F000000 [d_course_banshee_boardwalk_vertex](@ref d_course_banshee_boardwalk_vertex) | 0x0F000000 [d_course_banshee_boardwalk_packed](@ref d_course_banshee_boardwalk_packed) | 0x0F0068E8 -[(0x10)](@ref (0x10)) | 0x0F008EE0 -[(.banshee_boardwalk_vertex))](@ref (.banshee_boardwalk_vertex))) | 0x0F008EE0 -[(.banshee_boardwalk_vertex))](@ref (.banshee_boardwalk_vertex))) | 0x008C2510 -[(.banshee_boardwalk_vertex))](@ref (.banshee_boardwalk_vertex))) | 0x00BE9160 -[(.yoshi_valley_vertex)](@ref (.yoshi_valley_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008C2510 -[0x00000000008c2510](@ref 0x00000000008c2510) | 0x0F000000 [d_course_yoshi_valley_vertex](@ref d_course_yoshi_valley_vertex) | 0x0F000000 [d_course_yoshi_valley_packed](@ref d_course_yoshi_valley_packed) | 0x0F007D90 -[(0x10)](@ref (0x10)) | 0x0F00A3F0 -[(.yoshi_valley_vertex))](@ref (.yoshi_valley_vertex))) | 0x0F00A3F0 -[(.yoshi_valley_vertex))](@ref (.yoshi_valley_vertex))) | 0x008CC900 -[(.yoshi_valley_vertex))](@ref (.yoshi_valley_vertex))) | 0x00BE9160 -[(.frappe_snowland_vertex)](@ref (.frappe_snowland_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008CC900 -[0x00000000008cc900](@ref 0x00000000008cc900) | 0x0F000000 [d_course_frappe_snowland_vertex](@ref d_course_frappe_snowland_vertex) | 0x0F000000 [d_course_frappe_snowland_packed](@ref d_course_frappe_snowland_packed) | 0x0F009D24 -[(0x10)](@ref (0x10)) | 0x0F00C550 -[(.frappe_snowland_vertex))](@ref (.frappe_snowland_vertex))) | 0x0F00C550 -[(.frappe_snowland_vertex))](@ref (.frappe_snowland_vertex))) | 0x008D8E50 -[(.frappe_snowland_vertex))](@ref (.frappe_snowland_vertex))) | 0x00BE9160 -[(.koopa_troopa_beach_vertex)](@ref (.koopa_troopa_beach_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008D8E50 -[0x00000000008d8e50](@ref 0x00000000008d8e50) | 0x0F000000 [d_course_koopa_troopa_beach_vertex](@ref d_course_koopa_troopa_beach_vertex) | 0x0F000000 [d_course_koopa_troopa_beach_packed](@ref d_course_koopa_troopa_beach_packed) | 0x0F00FD78 -[(0x10)](@ref (0x10)) | 0x0F013540 -[(.koopa_troopa_beach_vertex))](@ref (.koopa_troopa_beach_vertex))) | 0x0F013540 -[(.koopa_troopa_beach_vertex))](@ref (.koopa_troopa_beach_vertex))) | 0x008EC390 -[(.koopa_troopa_beach_vertex))](@ref (.koopa_troopa_beach_vertex))) | 0x00BE9160 -[(.royal_raceway_vertex)](@ref (.royal_raceway_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008EC390 -[0x00000000008ec390](@ref 0x00000000008ec390) | 0x0F000000 [d_course_royal_raceway_vertex](@ref d_course_royal_raceway_vertex) | 0x0F000000 [d_course_royal_raceway_packed](@ref d_course_royal_raceway_packed) | 0x0F00EC60 -[(0x10)](@ref (0x10)) | 0x0F0122B0 -[(.royal_raceway_vertex))](@ref (.royal_raceway_vertex))) | 0x0F0122B0 -[(.royal_raceway_vertex))](@ref (.royal_raceway_vertex))) | 0x008FE640 -[(.royal_raceway_vertex))](@ref (.royal_raceway_vertex))) | 0x00BE9160 -[(.luigi_raceway_vertex)](@ref (.luigi_raceway_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x008FE640 -[0x00000000008fe640](@ref 0x00000000008fe640) | 0x0F000000 [d_course_luigi_raceway_vertex](@ref d_course_luigi_raceway_vertex) | 0x0F000000 [d_course_luigi_raceway_packed](@ref d_course_luigi_raceway_packed) | 0x0F009800 -[(0x10)](@ref (0x10)) | 0x0F00CDA0 -[(.luigi_raceway_vertex))](@ref (.luigi_raceway_vertex))) | 0x0F00CDA0 -[(.luigi_raceway_vertex))](@ref (.luigi_raceway_vertex))) | 0x0090B3E0 -[(.luigi_raceway_vertex))](@ref (.luigi_raceway_vertex))) | 0x00BE9160 -[(.moo_moo_farm_vertex)](@ref (.moo_moo_farm_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x0090B3E0 -[0x000000000090b3e0](@ref 0x000000000090b3e0) | 0x0F000000 [d_course_moo_moo_farm_vertex](@ref d_course_moo_moo_farm_vertex) | 0x0F000000 [d_course_moo_moo_farm_packed](@ref d_course_moo_moo_farm_packed) | 0x0F00DAEC -[(0x10)](@ref (0x10)) | 0x0F0105A0 -[(.moo_moo_farm_vertex))](@ref (.moo_moo_farm_vertex))) | 0x0F0105A0 -[(.moo_moo_farm_vertex))](@ref (.moo_moo_farm_vertex))) | 0x0091B980 -[(.moo_moo_farm_vertex))](@ref (.moo_moo_farm_vertex))) | 0x00BE9160 -[(.toads_turnpike_vertex)](@ref (.toads_turnpike_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x0091B980 -[0x000000000091b980](@ref 0x000000000091b980) | 0x0F000000 [d_course_toads_turnpike_vertex](@ref d_course_toads_turnpike_vertex) | 0x0F000000 [d_course_toads_turnpike_packed](@ref d_course_toads_turnpike_packed) | 0x0F00A5D0 -[(0x10)](@ref (0x10)) | 0x0F00D2F0 -[(.toads_turnpike_vertex))](@ref (.toads_turnpike_vertex))) | 0x0F00D2F0 -[(.toads_turnpike_vertex))](@ref (.toads_turnpike_vertex))) | 0x00928C70 -[(.toads_turnpike_vertex))](@ref (.toads_turnpike_vertex))) | 0x00BE9160 -[(.kalimari_desert_vertex)](@ref (.kalimari_desert_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00928C70 -[0x0000000000928c70](@ref 0x0000000000928c70) | 0x0F000000 [d_course_kalimari_desert_vertex](@ref d_course_kalimari_desert_vertex) | 0x0F000000 [d_course_kalimari_desert_packed](@ref d_course_kalimari_desert_packed) | 0x0F00B394 -[(0x10)](@ref (0x10)) | 0x0F00E360 -[(.kalimari_desert_vertex))](@ref (.kalimari_desert_vertex))) | 0x0F00E360 -[(.kalimari_desert_vertex))](@ref (.kalimari_desert_vertex))) | 0x00936FD0 -[(.kalimari_desert_vertex))](@ref (.kalimari_desert_vertex))) | 0x00BE9160 -[(.sherbet_land_vertex)](@ref (.sherbet_land_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00936FD0 -[0x0000000000936fd0](@ref 0x0000000000936fd0) | 0x0F000000 [d_course_sherbet_land_vertex](@ref d_course_sherbet_land_vertex) | 0x0F000000 [d_course_sherbet_land_packed](@ref d_course_sherbet_land_packed) | 0x0F0049F8 -[(0x10)](@ref (0x10)) | 0x0F005C90 -[(.sherbet_land_vertex))](@ref (.sherbet_land_vertex))) | 0x0F005C90 -[(.sherbet_land_vertex))](@ref (.sherbet_land_vertex))) | 0x0093CC60 -[(.sherbet_land_vertex))](@ref (.sherbet_land_vertex))) | 0x00BE9160 -[(.rainbow_road_vertex)](@ref (.rainbow_road_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x0093CC60 -[0x000000000093cc60](@ref 0x000000000093cc60) | 0x0F000000 [d_course_rainbow_road_vertex](@ref d_course_rainbow_road_vertex) | 0x0F000000 [d_course_rainbow_road_packed](@ref d_course_rainbow_road_packed) | 0x0F005A5C -[(0x10)](@ref (0x10)) | 0x0F006C60 -[(.rainbow_road_vertex))](@ref (.rainbow_road_vertex))) | 0x0F006C60 -[(.rainbow_road_vertex))](@ref (.rainbow_road_vertex))) | 0x009438C0 -[(.rainbow_road_vertex))](@ref (.rainbow_road_vertex))) | 0x00BE9160 -[(.wario_stadium_vertex)](@ref (.wario_stadium_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x009438C0 -[0x00000000009438c0](@ref 0x00000000009438c0) | 0x0F000000 [d_course_wario_stadium_vertex](@ref d_course_wario_stadium_vertex) | 0x0F000000 [d_course_wario_stadium_packed](@ref d_course_wario_stadium_packed) | 0x0F00A9CC -[(0x10)](@ref (0x10)) | 0x0F00DEC0 -[(.wario_stadium_vertex))](@ref (.wario_stadium_vertex))) | 0x0F00DEC0 -[(.wario_stadium_vertex))](@ref (.wario_stadium_vertex))) | 0x00951780 -[(.wario_stadium_vertex))](@ref (.wario_stadium_vertex))) | 0x00BE9160 -[(.block_fort_vertex)](@ref (.block_fort_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00951780 -[0x0000000000951780](@ref 0x0000000000951780) | 0x0F000000 [d_course_block_fort_vertex](@ref d_course_block_fort_vertex) | 0x0F000000 [d_course_block_fort_packed](@ref d_course_block_fort_packed) | 0x0F0018D8 -[(0x10)](@ref (0x10)) | 0x0F002110 -[(.block_fort_vertex))](@ref (.block_fort_vertex))) | 0x0F002110 -[(.block_fort_vertex))](@ref (.block_fort_vertex))) | 0x00953890 -[(.block_fort_vertex))](@ref (.block_fort_vertex))) | 0x00BE9160 -[(.skyscraper_vertex)](@ref (.skyscraper_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00953890 -[0x0000000000953890](@ref 0x0000000000953890) | 0x0F000000 [d_course_skyscraper_vertex](@ref d_course_skyscraper_vertex) | 0x0F000000 [d_course_skyscraper_packed](@ref d_course_skyscraper_packed) | 0x0F001678 -[(0x10)](@ref (0x10)) | 0x0F001D90 -[(.skyscraper_vertex))](@ref (.skyscraper_vertex))) | 0x0F001D90 -[(.skyscraper_vertex))](@ref (.skyscraper_vertex))) | 0x00955620 -[(.skyscraper_vertex))](@ref (.skyscraper_vertex))) | 0x00BE9160 -[(.double_deck_vertex)](@ref (.double_deck_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00955620 -[0x0000000000955620](@ref 0x0000000000955620) | 0x0F000000 [d_course_double_deck_vertex](@ref d_course_double_deck_vertex) | 0x0F000000 [d_course_double_deck_packed](@ref d_course_double_deck_packed) | 0x0F000CD4 -[(0x10)](@ref (0x10)) | 0x0F001050 -[(.double_deck_vertex))](@ref (.double_deck_vertex))) | 0x0F001050 -[(.double_deck_vertex))](@ref (.double_deck_vertex))) | 0x00956670 -[(.double_deck_vertex))](@ref (.double_deck_vertex))) | 0x00BE9160 -[(.dks_jungle_parkway_vertex)](@ref (.dks_jungle_parkway_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00956670 -[0x0000000000956670](@ref 0x0000000000956670) | 0x0F000000 [d_course_dks_jungle_parkway_vertex](@ref d_course_dks_jungle_parkway_vertex) | 0x0F000000 [d_course_dks_jungle_parkway_packed](@ref d_course_dks_jungle_parkway_packed) | 0x0F00A45C -[(0x10)](@ref (0x10)) | 0x0F00D880 -[(.dks_jungle_parkway_vertex))](@ref (.dks_jungle_parkway_vertex))) | 0x0F00D880 -[(.dks_jungle_parkway_vertex))](@ref (.dks_jungle_parkway_vertex))) | 0x00963EF0 -[(.dks_jungle_parkway_vertex))](@ref (.dks_jungle_parkway_vertex))) | 0x00BE9160 -[(.big_donut_vertex)](@ref (.big_donut_vertex)) | 0x0F000000 -[__romPos](@ref __romPos) | 0x00963EF0 -[0x0000000000963ef0](@ref 0x0000000000963ef0) | 0x0F000000 [d_course_big_donut_vertex](@ref d_course_big_donut_vertex) | 0x0F000000 [d_course_big_donut_packed](@ref d_course_big_donut_packed) | 0x0F001B84 -[(0x10)](@ref (0x10)) | 0x0F002370 -[(.big_donut_vertex))](@ref (.big_donut_vertex))) | 0x0F002370 -[(.big_donut_vertex))](@ref (.big_donut_vertex))) | 0x00966260 -[(.big_donut_vertex))](@ref (.big_donut_vertex))) | 0x00BE9160 -[__romPos](@ref __romPos) | 0x00966260 -[(.audio_banks))](@ref (.audio_banks))) | 0x00013840 -[(.audio_banks))](@ref (.audio_banks))) | 0x00979AA0 -[(.audio_banks))](@ref (.audio_banks))) | 0x00BE9160 -[(.audio_tables)](@ref (.audio_tables)) | 0x00013840 -[__romPos](@ref __romPos) | 0x00979AA0 -[(.audio_tables))](@ref (.audio_tables))) | 0x0025FD00 -[(.audio_tables))](@ref (.audio_tables))) | 0x00BC5F60 -[(.audio_tables))](@ref (.audio_tables))) | 0x00BE9160 -[(.sequences)](@ref (.sequences)) | 0x0025FD00 -[__romPos](@ref __romPos) | 0x00BC5F60 [music_sequence_table_header](@ref music_sequence_table_header) | 0x0025FD00 [music_sequence_table](@ref music_sequence_table) | 0x0025FD04 [music_sequence_table_end](@ref music_sequence_table_end) | 0x0025FE00 @@ -20607,16 +19906,7 @@ Variable Name | Memory Address [seq_1D](@ref seq_1D) | 0x002821F0 [seq_1C_end](@ref seq_1C_end) | 0x002821F0 [seq_1D_end](@ref seq_1D_end) | 0x00282E70 -[(.sequences))](@ref (.sequences))) | 0x00282E80 -[(.sequences))](@ref (.sequences))) | 0x00BE90E0 -[(.sequences))](@ref (.sequences))) | 0x00BE9160 -[(.instrument_sets)](@ref (.instrument_sets)) | 0x00282E80 -[__romPos](@ref __romPos) | 0x00BE90E0 -[0x0000000000be90e0](@ref 0x0000000000be90e0) | 0x00282E80 [instrument_sets](@ref instrument_sets) | 0x00282E80 -[(.instrument_sets))](@ref (.instrument_sets))) | 0x00282F00 -[(.instrument_sets))](@ref (.instrument_sets))) | 0x00BE9160 -[(.instrument_sets))](@ref (.instrument_sets))) | 0x00BE9160 Note: This information is generated during the compilation process.