From 5e337e6ecf3f495786724cbd1deff7762ba79218 Mon Sep 17 00:00:00 2001 From: patchzyy <64382339+patchzyy@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:01:27 +0200 Subject: [PATCH] add ntsc-u and ntsc-j support Co-authored-by: DarthMDev Co-authored-by: rooklz --- .gitattributes | 8 + .gitignore | 4 +- Launcher/Build-Installer.ps1 | 35 +- Launcher/LocalBuild.ps1 | 26 +- Launcher/NativeBuildFlags.ps1 | 30 +- Launcher/Test-PinnedFacts.ps1 | 65 +- .../RetroWfcPayload.cs | 74 +- Launcher/WiiCompiled.Setup.Linux/DiscTool.cs | 47 +- Launcher/WiiCompiled.Setup.Linux/Program.cs | 14 +- .../ProjectManifest.cs | 19 +- .../ConsoleCommands.cs | 4 +- .../InputValidation.cs | 38 +- .../WiiCompiled.Setup.Windows/Installation.cs | 24 +- .../InstallerEngine.cs | 102 +- .../LocalBuildService.cs | 8 +- Launcher/WiiCompiled.Setup.Windows/Models.cs | 15 +- .../PayloadArchive.cs | 39 +- .../ProductRepairService.cs | 27 +- .../WiiCompiled.Setup.Windows/SelfTests.cs | 251 +- .../ToolkitFingerprint.cs | 6 +- Launcher/build-cache.sh | 67 +- Launcher/local-build-macos.command | 18 +- Launcher/local-build.sh | 13 +- Launcher/macos/extract-disc.command | 39 +- Launcher/macos/setup.command | 27 +- projects/mkwii-ntsc-j/MAP.txt | 29432 ++++++++++++++++ projects/mkwii-ntsc-j/MAP_REPORT.md | 672 + projects/mkwii-ntsc-j/data_addresses.txt | 150 + projects/mkwii-ntsc-j/recomp.yml | 73 + projects/mkwii-ntsc-j/region_port.json | 591 + projects/mkwii-ntsc-u/MAP.txt | 29412 +++++++++++++++ projects/mkwii-ntsc-u/MAP_REPORT.md | 948 + projects/mkwii-ntsc-u/data_addresses.txt | 243 + projects/mkwii-ntsc-u/recomp.yml | 73 + projects/mkwii-ntsc-u/region_port.json | 1826 + runtime/cmake/PublicProducts.cmake | 7 + runtime/game/guest_region.cpp | 26 + runtime/include/abi_bridge.h | 12 +- runtime/include/guest_abi/abi_version.h | 2 +- runtime/include/guest_abi/dispatch.h | 13 +- .../include/guest_abi/guest_address_table.inc | 744 + runtime/include/guest_abi/guest_region.h | 137 + .../include/guest_abi/native_cpu_calls.inc | 80 +- runtime/include/guest_function_imports.h | 13 + runtime/include/guest_function_imports.inc | 10 + runtime/include/hle_stubs.h | 6 +- runtime/include/nand_path.h | 5 +- runtime/include/nand_settings.h | 33 +- runtime/src/dynamic_aspect.cpp | 24 +- runtime/src/fiber_manager.cpp | 10 +- runtime/src/guest_region.cpp | 15 + runtime/src/hle/audio/audio.cpp | 8 +- runtime/src/hle/audio/ax_effects.cpp | 11 +- runtime/src/hle/audio/ax_internal.h | 27 +- runtime/src/hle/audio/ax_memory.cpp | 2 +- runtime/src/hle/audio/ax_mix.cpp | 18 +- runtime/src/hle/esp.cpp | 3 +- runtime/src/hle/gx/gx_egg.cpp | 26 +- runtime/src/hle/gx/gx_fatal_stubs.cpp | 2 +- runtime/src/hle/gx/gx_init.cpp | 49 +- runtime/src/hle/gx/gx_internal.h | 11 +- runtime/src/hle/net/network_config.cpp | 8 +- runtime/src/hle/net/network_deferred.cpp | 3 +- runtime/src/hle/os/os_alarm.cpp | 18 +- runtime/src/hle/os/os_init.cpp | 35 +- runtime/src/hle/os/os_internal.h | 18 +- runtime/src/hle/os/os_interrupt.cpp | 19 +- runtime/src/hle/os/os_scheduler.cpp | 4 +- runtime/src/hle/os/os_thread.cpp | 18 +- runtime/src/hle/sc.cpp | 8 +- runtime/src/hle/storage/dvd.cpp | 45 +- runtime/src/hle/storage/nand_api.cpp | 4 +- runtime/src/hle/storage/nand_fs.cpp | 2 +- runtime/src/hle/storage/nand_internal.h | 2 +- runtime/src/hle/storage/nand_isfs.cpp | 72 +- runtime/src/hle/storage/riivolution.cpp | 7 +- runtime/src/hle/task_thread.cpp | 44 +- runtime/src/hle/vi.cpp | 28 +- runtime/src/music_attenuation.cpp | 3 +- runtime/src/recomp_mod_loader.cpp | 5 +- runtime/src/system_bridge.cpp | 16 +- runtime/tests/nand_settings_tests.cpp | 26 +- tools/region/gen_guest_address_table.py | 182 + tools/region/port_data_addresses.py | 548 + tools/region/port_map.py | 1909 + tools/region/test_port_data_addresses.py | 110 + translator/src/Translator.Cli/Program.cs | 43 +- .../Build/TranslatedBuildShardEmitter.cs | 6 +- .../src/Translator.Core/GuestAddressTable.cs | 80 + .../Mods/Mkwii/RetroRewindRegionPatches.cs | 101 + .../src/Translator.Core/RuntimeNativeIndex.cs | 16 + .../GuestAddressTableTests.cs | 119 + .../Translator.Tests/KamekPulFileTests.cs | 13 +- .../RegionalRetroRewindTests.cs | 114 + .../RetroRewindRegionPatchesTests.cs | 153 + .../RetroWfcPayloadLoweringTests.cs | 37 +- .../binary/payload.RMCED00.bin | Bin 0 -> 28992 bytes .../binary/payload.RMCJD00.bin | Bin 0 -> 28992 bytes .../TranslatedBuildShardEmitterTests.cs | 4 +- .../Translator.Tests/Translator.Tests.csproj | 2 +- 100 files changed, 68895 insertions(+), 641 deletions(-) create mode 100644 projects/mkwii-ntsc-j/MAP.txt create mode 100644 projects/mkwii-ntsc-j/MAP_REPORT.md create mode 100644 projects/mkwii-ntsc-j/data_addresses.txt create mode 100644 projects/mkwii-ntsc-j/recomp.yml create mode 100644 projects/mkwii-ntsc-j/region_port.json create mode 100644 projects/mkwii-ntsc-u/MAP.txt create mode 100644 projects/mkwii-ntsc-u/MAP_REPORT.md create mode 100644 projects/mkwii-ntsc-u/data_addresses.txt create mode 100644 projects/mkwii-ntsc-u/recomp.yml create mode 100644 projects/mkwii-ntsc-u/region_port.json create mode 100644 runtime/game/guest_region.cpp create mode 100644 runtime/include/guest_abi/guest_address_table.inc create mode 100644 runtime/include/guest_abi/guest_region.h create mode 100644 runtime/include/guest_function_imports.h create mode 100644 runtime/include/guest_function_imports.inc create mode 100644 runtime/src/guest_region.cpp create mode 100644 tools/region/gen_guest_address_table.py create mode 100644 tools/region/port_data_addresses.py create mode 100644 tools/region/port_map.py create mode 100644 tools/region/test_port_data_addresses.py create mode 100644 translator/src/Translator.Core/GuestAddressTable.cs create mode 100644 translator/src/Translator.Core/Mods/Mkwii/RetroRewindRegionPatches.cs create mode 100644 translator/tests/Translator.Tests/GuestAddressTableTests.cs create mode 100644 translator/tests/Translator.Tests/RegionalRetroRewindTests.cs create mode 100644 translator/tests/Translator.Tests/RetroRewindRegionPatchesTests.cs create mode 100644 translator/tests/Translator.Tests/TestAssets/RetroWfcPayload/binary/payload.RMCED00.bin create mode 100644 translator/tests/Translator.Tests/TestAssets/RetroWfcPayload/binary/payload.RMCJD00.bin diff --git a/.gitattributes b/.gitattributes index 6344b3b..6946e58 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,11 @@ # Patch files must stay LF: git apply matches context bytes against LF upstream sources *.patch -text translator/tests/Translator.Tests/TestAssets/**/*.bin binary + +# Region tables reproduced by tools/region/ +projects/mkwii-ntsc-*/MAP.txt linguist-generated=true +projects/mkwii-ntsc-*/MAP_REPORT.md linguist-generated=true +projects/mkwii-ntsc-*/region_port.json linguist-generated=true +projects/mkwii-ntsc-j/data_addresses.txt linguist-generated=true +runtime/include/guest_abi/guest_address_table.inc linguist-generated=true +runtime/include/guest_function_imports.inc linguist-generated=true diff --git a/.gitignore b/.gitignore index 7be3ef6..331770e 100644 --- a/.gitignore +++ b/.gitignore @@ -66,7 +66,9 @@ project.lock.json /.vs/ /.vscode/ /.idea/ -/tools/ +/tools/* +!/tools/region/ +__pycache__/ /TEMP/ /tmp/ /test_output/ diff --git a/Launcher/Build-Installer.ps1 b/Launcher/Build-Installer.ps1 index 677a21e..faeb12d 100644 --- a/Launcher/Build-Installer.ps1 +++ b/Launcher/Build-Installer.ps1 @@ -23,12 +23,23 @@ $publish = Join-Path $workRoot 'publish' $payloadRoot = Join-Path $workRoot 'payload' $setupProject = Join-Path $PSScriptRoot 'WiiCompiled.Setup.Windows\WiiCompiled.Setup.Windows.csproj' $translatorProject = Join-Path $repoRoot 'translator\src\Translator.Cli\Translator.Cli.csproj' -$projectFile = Join-Path $repoRoot 'projects\mkwii\recomp.yml' -# Everything Mario-Kart-specific in the manifest below is read from the project file rather than -# restated here, and Test-PinnedFacts.ps1 checks the copies that cannot read it (the C++ entry -# address, the C# endpoint constant, the lists this script and the installed host both carry). -$pins = Get-MkwProjectPins $projectFile +# Every supported release is one projects//recomp.yml. Everything Mario-Kart-specific in the +# manifest below is read from those files rather than restated here, and Test-PinnedFacts.ps1 +# checks the copies that cannot read them (the C++ entry address, the C# Retro-WFC table, the +# lists this script and the installed host both carry). +$releaseProjects = @(Get-ChildItem -LiteralPath (Join-Path $repoRoot 'projects') -Directory | + Where-Object { Test-Path -LiteralPath (Join-Path $_.FullName 'recomp.yml') -PathType Leaf } | + Sort-Object Name) +if ($releaseProjects.Count -eq 0) { throw 'No translation project defines a supported release.' } +$supportedReleases = @(foreach ($releaseProject in $releaseProjects) { + $pins = Get-MkwProjectPins (Join-Path $releaseProject.FullName 'recomp.yml') + [ordered]@{ GameId = $pins.GameId; DolSha256 = $pins.DolSha256; RelSha256 = $pins.RelSha256 } +}) +foreach ($key in @('GameId', 'DolSha256')) { + $duplicates = @($supportedReleases | Group-Object { $_[$key] } | Where-Object Count -gt 1) + if ($duplicates.Count -gt 0) { throw "Two translation projects pin the same $($key): $($duplicates[0].Name)." } +} # The audit reports by throwing, which aborts this run; nothing native has been invoked yet, so # there is no exit code to inspect. & (Join-Path $PSScriptRoot 'Test-PinnedFacts.ps1') -RepositoryRoot $repoRoot @@ -243,7 +254,9 @@ if (Test-Path -LiteralPath $runtimeDeveloperBuild) { } $auroraExtern = Join-Path $workspace 'aurora-main\extern' Get-ChildItem -LiteralPath $auroraExtern -Directory -Force | Remove-Item -Recurse -Force -Copy-Directory (Join-Path $repoRoot 'projects\mkwii') (Join-Path $workspace 'projects\mkwii') +foreach ($releaseProject in $releaseProjects) { + Copy-Directory $releaseProject.FullName (Join-Path $workspace "projects\$($releaseProject.Name)") +} Copy-Item -LiteralPath (Join-Path $PSScriptRoot 'LocalBuild.ps1') -Destination (Join-Path $workspace 'LocalBuild.ps1') # LocalBuild.ps1 dot-sources the canonical configure flags from this sibling. Copy-Item -LiteralPath (Join-Path $PSScriptRoot 'NativeBuildFlags.ps1') -Destination (Join-Path $workspace 'NativeBuildFlags.ps1') @@ -326,22 +339,20 @@ foreach ($required in @('ToolkitFingerprint','TranslationFingerprint','NativeToo $productVersion = ((& $setupHost --version) -join '').Trim() if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($productVersion)) { throw 'The setup host did not report its version.' } +# Schema 3 replaced schema 2's single Expected* release fields with SupportedReleases. $manifest = [ordered]@{ - SchemaVersion = 2 + SchemaVersion = 3 ProductVersion = $productVersion - ExpectedGameId = $pins.GameId - ExpectedDolSha256 = $pins.DolSha256 - ExpectedRelSha256 = $pins.RelSha256 + SupportedReleases = $supportedReleases ToolkitReleaseTag = if ($ToolkitReleaseTag) { $ToolkitReleaseTag } else { '' } BuildModel = 'local-translation-and-compilation' - RetroWfcPayloadUri = $pins.RetroWfcPayloadUri ToolkitFingerprint = $identities.ToolkitFingerprint ToolkitPackageFingerprint = $identities.ToolkitPackageFingerprint RuntimeAssetsFingerprint = $identities.RuntimeAssetsFingerprint TranslationFingerprint = $identities.TranslationFingerprint NativeToolchainFingerprint = $identities.NativeToolchainFingerprint } -$manifest | ConvertTo-Json | Set-Content (Join-Path $payloadRoot 'payload-manifest.json') -Encoding UTF8 +$manifest | ConvertTo-Json -Depth 4 | Set-Content (Join-Path $payloadRoot 'payload-manifest.json') -Encoding UTF8 Write-Host '[4/6] Enforcing the copyright and generated-code boundary...' # Both audits are PowerShell scripts that throw directly on failure (Test-PayloadBoundary.ps1 diff --git a/Launcher/LocalBuild.ps1 b/Launcher/LocalBuild.ps1 index 9df843f..15eb89f 100644 --- a/Launcher/LocalBuild.ps1 +++ b/Launcher/LocalBuild.ps1 @@ -166,7 +166,6 @@ $toolchainBin = Join-Path $toolchain 'llvm-mingw\bin' $cc = Join-Path $toolchainBin 'x86_64-w64-mingw32-clang.exe' $cxx = Join-Path $toolchainBin 'x86_64-w64-mingw32-clang++.exe' $windres = Join-Path $toolchainBin 'x86_64-w64-mingw32-windres.exe' -$project = Join-Path $Workspace 'projects\mkwii\recomp.yml' $assets = Join-Path $Workspace 'Assets' $generated = Join-Path $Workspace 'generated' $functions = Join-Path $generated 'functions' @@ -183,14 +182,18 @@ $retroRoot = if ([string]::IsNullOrWhiteSpace($RetroRewindPackageDirectory)) { foreach ($required in @( @($translator, 'Bundled translator'), @($cmake, 'Bundled CMake'), @($ninja, 'Bundled Ninja'), - @($cc, 'Bundled C compiler'), @($cxx, 'Bundled C++ compiler'), @($windres, 'Bundled resource compiler'), @($project, 'Translation project'), + @($cc, 'Bundled C compiler'), @($cxx, 'Bundled C++ compiler'), @($windres, 'Bundled resource compiler'), @((Join-Path $assets 'main.dol'), 'Extracted main.dol'), @((Join-Path $assets 'StaticR.rel'), 'Extracted StaticR.rel') )) { Assert-File $required[0] $required[1] } # Everything Mario-Kart-specific this script needs is read from the project file rather than # restated here: the translation entry point below, and (through the retro-rewind profile the -# translator loads itself) the module guest/link bases the mod translation uses. -$pins = Get-MkwProjectPins $project +# translator loads itself) the module guest/link bases the mod translation uses. The project is +# the one pinned to the extracted main.dol, which decides the region. +$selectedProject = Resolve-MkwProjectForAssets $Workspace $assets +$project = $selectedProject.Path +$pins = $selectedProject.Pins +$retroWfcPayloadFile = "binary\payload.$(($pins.RetroWfcPayloadUri -split 'g=')[-1]).bin" # Three independent knobs: $translatorThreads (the translator's own worker threads; peak memory is # one heap that barely moves with thread count, so clamping it only slows translation), $translatedJobs @@ -243,7 +246,8 @@ try { # outputs plus --prune-stale mean Ninja only recompiles shards whose bytes actually moved. $reuseBase = $false if (-not $ForceCleanBuild -and -not [string]::IsNullOrWhiteSpace($TranslationFingerprint) -and - (Get-RecordedFingerprint $translationProvenance 'TranslationFingerprint') -eq $TranslationFingerprint) { + (Get-RecordedFingerprint $translationProvenance 'TranslationFingerprint') -eq $TranslationFingerprint -and + (Get-RecordedFingerprint $translationProvenance 'DolSha256') -eq $pins.DolSha256) { $artifacts = @($baseMetadata, $baseManifest, (Join-Path $generated 'base_translation_sources.bin'), (Join-Path $generated 'base_translation_mod_awareness.json')) $reuseBase = -not ($artifacts | Where-Object { -not (Test-Path -LiteralPath $_ -PathType Leaf) }) @@ -312,11 +316,11 @@ try { Invoke-Checked $translator @( 'emit-base-manifest', '--project', $project, '--out', $baseManifestDir, - '--functions-dir', $functions, '--translation-output-metadata', $baseMetadata, '--region', 'P' + '--functions-dir', $functions, '--translation-output-metadata', $baseMetadata, '--region', $pins.Region ) 'Creating the local base translation manifest' -StepId 'emit-base-manifest' if (-not [string]::IsNullOrWhiteSpace($TranslationFingerprint)) { - [ordered]@{ SchemaVersion = 1; TranslationFingerprint = $TranslationFingerprint } | + [ordered]@{ SchemaVersion = 1; TranslationFingerprint = $TranslationFingerprint; DolSha256 = $pins.DolSha256 } | ConvertTo-Json | Set-Content -LiteralPath $translationProvenance -Encoding UTF8 } } @@ -329,14 +333,14 @@ try { 'translate-mod', '--project', $project, '--profile', 'retro-rewind', '--base-manifest', $baseManifest, '--base-translation-output-metadata', $baseMetadata, '--code-pul', $codePul, '--mod-root', $retroRoot, '--mod-name', 'Retro Rewind', - '--region', 'P', '--out', $retroOut, '--prefer-cached-inputs', '--emit-cpp', + '--region', $pins.Region, '--out', $retroOut, '--prefer-cached-inputs', '--emit-cpp', '--threads', $translatorThreads ) if ($SkipRetroWfcPayload) { $translateModArguments += '--skip-retro-wfc' } elseif (-not [string]::IsNullOrWhiteSpace($RetroWfcOfflineDirectory)) { $offlineRoot = [IO.Path]::GetFullPath($RetroWfcOfflineDirectory) - $offlinePayload = Join-Path $offlineRoot 'binary\payload.RMCPD00.bin' + $offlinePayload = Join-Path $offlineRoot $retroWfcPayloadFile Assert-File $offlinePayload 'Offline Retro-WFC shared payload' $translateModArguments += @('--retro-wfc-payload', $offlinePayload) } else { @@ -447,8 +451,8 @@ try { RelSha256 = $relSha CodePulSha256 = if ($isRetro) { Get-MkwFileSha256 (Join-Path $retroRoot 'Binaries\Code.pul') } else { $null } RetroWfcPayloadMode = if (-not $isRetro) { $null } elseif ($SkipRetroWfcPayload) { 'skipped' } else { $RetroWfcPayloadOrigin } - RetroWfcPayloadSha256 = if ($isRetro -and -not $SkipRetroWfcPayload) { Get-MkwFileSha256 (Join-Path $RetroWfcOfflineDirectory 'binary\payload.RMCPD00.bin') } else { $null } - RetroWfcPayloadLength = if ($isRetro -and -not $SkipRetroWfcPayload) { (Get-Item -LiteralPath (Join-Path $RetroWfcOfflineDirectory 'binary\payload.RMCPD00.bin')).Length } else { $null } + RetroWfcPayloadSha256 = if ($isRetro -and -not $SkipRetroWfcPayload) { Get-MkwFileSha256 (Join-Path $RetroWfcOfflineDirectory $retroWfcPayloadFile) } else { $null } + RetroWfcPayloadLength = if ($isRetro -and -not $SkipRetroWfcPayload) { (Get-Item -LiteralPath (Join-Path $RetroWfcOfflineDirectory $retroWfcPayloadFile)).Length } else { $null } Compiler = "llvm-mingw clang-22 sha256:$compilerSha" } $provenance | ConvertTo-Json | Set-Content -LiteralPath (Join-Path $Destination 'local-build.json') -Encoding UTF8 diff --git a/Launcher/NativeBuildFlags.ps1 b/Launcher/NativeBuildFlags.ps1 index 3e701eb..9e8ad39 100644 --- a/Launcher/NativeBuildFlags.ps1 +++ b/Launcher/NativeBuildFlags.ps1 @@ -93,7 +93,7 @@ function Get-MkwBuildSafePath([string]$Path, [string]$Kind, [string]$MarkerFile) function Get-MkwProjectPins([string]$ProjectFile) { <# - The Mario Kart Wii facts pinned by projects/mkwii/recomp.yml (game identity, clean input + The Mario Kart Wii facts pinned by a projects/*/recomp.yml (game identity, clean input digests, translation entry point, Retro-WFC endpoint), read from one place instead of being restated; Test-PinnedFacts.ps1 checks the copies that can't read YAML (C++ header, C# constants) against these values. Parsing is literal, not a YAML dependency, since the file is @@ -101,7 +101,7 @@ function Get-MkwProjectPins([string]$ProjectFile) { #> Assert-File $ProjectFile 'Translation project file' $pins = [ordered]@{ - GameId = ''; DolSha256 = ''; RelSha256 = ''; EntryPoint = ''; RetroWfcPayloadUri = '' + GameId = ''; Region = ''; DolSha256 = ''; RelSha256 = ''; EntryPoint = ''; RetroWfcPayloadUri = '' } $section = '' $inputKey = '' @@ -112,6 +112,8 @@ function Get-MkwProjectPins([string]$ProjectFile) { if ($section -eq 'inputs' -and $line -match '^\s{2}([A-Za-z0-9_]+):\s*$') { $inputKey = $Matches[1]; continue } if ($section -eq 'project' -and $line -match '^\s*game_id:\s*(\S+)\s*$') { $pins.GameId = $Matches[1] + } elseif ($section -eq 'project' -and $line -match '^\s*region:\s*(\S+)\s*$') { + $pins.Region = $Matches[1] } elseif ($section -eq 'inputs' -and $line -match '^\s*sha256:\s*([0-9a-fA-F]{64})\s*$') { if ($inputKey -eq 'dol') { $pins.DolSha256 = $Matches[1].ToLowerInvariant() } elseif ($inputKey -eq 'rel') { $pins.RelSha256 = $Matches[1].ToLowerInvariant() } @@ -130,6 +132,30 @@ function Get-MkwProjectPins([string]$ProjectFile) { return $pins } +function Resolve-MkwProjectForAssets([string]$Workspace, [string]$AssetsDirectory) { + <# + The translation project pinned to the main.dol in AssetsDirectory, after checking that + StaticR.rel and any extracted disc data belong to the same release. + #> + $dolSha = Get-MkwFileSha256 (Join-Path $AssetsDirectory 'main.dol') + foreach ($file in Get-ChildItem -LiteralPath (Join-Path $Workspace 'projects') -Filter 'recomp.yml' -Recurse -File) { + $pins = Get-MkwProjectPins $file.FullName + if ($pins.DolSha256 -ne $dolSha) { continue } + if ((Get-MkwFileSha256 (Join-Path $AssetsDirectory 'StaticR.rel')) -ne $pins.RelSha256) { + throw "StaticR.rel does not match the clean $($pins.GameId) release of main.dol." + } + $bootBin = Join-Path $AssetsDirectory 'DATA\sys\boot.bin' + if (Test-Path -LiteralPath $bootBin -PathType Leaf) { + $discId = [Text.Encoding]::ASCII.GetString([IO.File]::ReadAllBytes($bootBin), 0, 6) + if ($discId -ne $pins.GameId) { + throw "The extracted game data is $discId but main.dol is $($pins.GameId); extract the game again." + } + } + return [pscustomobject]@{ Path = $file.FullName; Pins = $pins } + } + throw "main.dol (sha256 $dolSha) is not a supported clean Mario Kart Wii release." +} + function Invoke-Checked([string]$FilePath, [string[]]$Arguments, [string]$Description, [string]$LogPrefix = 'MKWCBUILD', [string]$StepId = '', [bool]$WaitForProcessTree = $true) { <# diff --git a/Launcher/Test-PinnedFacts.ps1 b/Launcher/Test-PinnedFacts.ps1 index 5280993..d88867a 100644 --- a/Launcher/Test-PinnedFacts.ps1 +++ b/Launcher/Test-PinnedFacts.ps1 @@ -1,7 +1,8 @@ # Fails the release build when a fact duplicated across the repo stops agreeing with the copy -# that owns it (recomp.yml). Scripts read pinned facts through Get-MkwProjectPins, but three -# consumers can't read YAML (the C++ runtime header, the C# constants, shell scripts, and hand-written lists on -# both sides of the C#/PowerShell boundary), so those are checked here instead. +# that owns it (each projects/*/recomp.yml). Scripts read pinned facts through Get-MkwProjectPins +# or build-cache.sh's mkw_project_pin, but some consumers can't read YAML (the C++ runtime header, +# the C# Retro-WFC table, and hand-written lists on both sides of the C#/PowerShell boundary), so +# those are checked here instead. [CmdletBinding()] param([string]$RepositoryRoot) @@ -46,32 +47,36 @@ function Compare-Set([string[]]$Expected, [string[]]$Actual, [string]$ExpectedNa if ($extra.Count -gt 0) { Add-Failure "$ActualName has entries $ExpectedName does not: $($extra -join ', ')." } } -$pins = Get-MkwProjectPins (Join-Path $repoRoot 'projects\mkwii\recomp.yml') +# Every supported release is one projects//recomp.yml, the same set Build-Installer.ps1 ships. +$releases = @(Get-ChildItem -LiteralPath (Join-Path $repoRoot 'projects') -Directory | Sort-Object Name | + ForEach-Object { Join-Path $_.FullName 'recomp.yml' } | Where-Object { Test-Path -LiteralPath $_ -PathType Leaf } | + ForEach-Object { $pins = Get-MkwProjectPins $_; $pins.Project = $_; [pscustomobject]$pins }) +if ($releases.Count -eq 0) { throw 'No projects/*/recomp.yml was found; update Test-PinnedFacts.ps1.' } -# --- The Retro-WFC endpoint: recomp.yml owns it; the installer host pins the same string so a -# --- redirected or rewritten endpoint cannot be fetched from. The literal lives in -# --- WiiCompiled.Setup.Common (shared with WiiCompiled.Setup.Linux) - InputValidation.cs only -# --- re-exports it as `= RetroWfcPayload.CurrentRetroWfcPayloadUri;`, no literal to capture there. +# --- The Retro-WFC endpoints: each recomp.yml owns its release's; the host derives the same URL +# --- from its game table so a redirected or rewritten endpoint cannot be fetched from. $retroWfcPayload = Read-SourceFile (Join-Path $common 'RetroWfcPayload.cs') 'RetroWfcPayload.cs' -$hostUri = Get-CapturedValue $retroWfcPayload 'CurrentRetroWfcPayloadUri\s*=\s*"([^"]+)"' ` - 'The host Retro-WFC endpoint constant' -if ($hostUri -cne $pins.RetroWfcPayloadUri) { - Add-Failure "InputValidation.CurrentRetroWfcPayloadUri is '$hostUri' but recomp.yml pins '$($pins.RetroWfcPayloadUri)'." +$payloadGames = @{} +foreach ($entry in [regex]::Matches((Get-CapturedValue $retroWfcPayload ` + '(?s)PayloadGames\s*=\s*new\([^)]*\)\s*\{(.*?)\};' 'The host Retro-WFC game table'), + '\["([^"]+)"\]\s*=\s*"([^"]+)"')) { + $payloadGames[$entry.Groups[1].Value] = $entry.Groups[2].Value } -$macosSetup = Read-SourceFile (Join-Path $launcher 'macos\setup.command') 'macOS setup.command' -$macosUri = Get-CapturedValue $macosSetup "'([^']*/api/wfc/payload\?g=RMCPD00)'" ` - 'The macOS Retro-WFC endpoint' -if ($macosUri -cne $pins.RetroWfcPayloadUri) { - Add-Failure "macOS setup.command downloads '$macosUri' but recomp.yml pins '$($pins.RetroWfcPayloadUri)'." +$uriTemplate = Get-CapturedValue $retroWfcPayload 'PayloadUri\(string gameId\)\s*=>\s*\$"([^"]+)"' ` + 'The host Retro-WFC endpoint template' +Compare-Set ([string[]]@($releases.GameId)) ([string[]]@($payloadGames.Keys)) ` + 'projects/*/recomp.yml' 'RetroWfcPayload.PayloadGames' +foreach ($release in $releases) { + if (-not $payloadGames.ContainsKey($release.GameId)) { continue } + $hostUri = $uriTemplate.Replace('{PayloadGame(gameId)}', $payloadGames[$release.GameId]) + if ($hostUri -cne $release.RetroWfcPayloadUri) { + Add-Failure "RetroWfcPayload.PayloadUri($($release.GameId)) is '$hostUri' but $($release.Project) pins '$($release.RetroWfcPayloadUri)'." + } } - -# --- The game identity: the manifest carries it, but the host also compiles a fallback for a -# --- manifest that predates the field, and that fallback decides which disc is accepted. -$models = Read-SourceFile (Join-Path $setup 'Models.cs') 'Models.cs' -$hostGameId = Get-CapturedValue $models 'ExpectedGameId\s*\{\s*get;\s*set;\s*\}\s*=\s*"([^"]+)"' ` - 'The host expected game id' -if ($hostGameId -cne $pins.GameId) { - Add-Failure "PayloadManifest.ExpectedGameId defaults to '$hostGameId' but recomp.yml pins '$($pins.GameId)'." +foreach ($key in @('GameId', 'DolSha256')) { + foreach ($duplicate in @($releases | Group-Object $key | Where-Object Count -gt 1)) { + Add-Failure "Several projects pin the same $($key) $($duplicate.Name)." + } } # --- The translation entry point: the translator is told it by LocalBuild.ps1 (which reads @@ -79,8 +84,10 @@ if ($hostGameId -cne $pins.GameId) { $systemBridge = Read-SourceFile (Join-Path $repoRoot 'runtime\include\system_bridge.h') 'system_bridge.h' $runtimeEntry = (Get-CapturedValue $systemBridge 'kDefaultEntryAddress\s*=\s*(0[xX][0-9a-fA-F]+)' ` 'The runtime default entry address').ToLowerInvariant() -if ($runtimeEntry -ne $pins.EntryPoint) { - Add-Failure "system_bridge.h enters at $runtimeEntry but recomp.yml translates from $($pins.EntryPoint)." +foreach ($release in $releases) { + if ($runtimeEntry -ne $release.EntryPoint) { + Add-Failure "system_bridge.h enters at $runtimeEntry but $($release.Project) translates from $($release.EntryPoint)." + } } # --- The pinned dependency set: Build-Installer.ps1 stages it, the installed host requires it. @@ -137,6 +144,6 @@ Compare-Set $knownSteps $emittedSteps 'BuildStepIds' 'the steps LocalBuild.ps1 e if ($failures.Count -gt 0) { throw "Pinned facts disagree between their copies:`n $($failures -join "`n ")" } -Write-Host ("Pinned-fact audit passed: game {0}, entry {1}, endpoint {2}; dependency, runtime-asset, " -f - $pins.GameId, $pins.EntryPoint, $pins.RetroWfcPayloadUri) -NoNewline +Write-Host ("Pinned-fact audit passed: games {0}, entry {1}; Retro-WFC endpoint, dependency, runtime-asset, " -f + ($releases.GameId -join ', '), $runtimeEntry) -NoNewline Write-Host 'build-step, and build-script parameter contracts all agree.' diff --git a/Launcher/WiiCompiled.Setup.Common/RetroWfcPayload.cs b/Launcher/WiiCompiled.Setup.Common/RetroWfcPayload.cs index 258fb85..482e0af 100644 --- a/Launcher/WiiCompiled.Setup.Common/RetroWfcPayload.cs +++ b/Launcher/WiiCompiled.Setup.Common/RetroWfcPayload.cs @@ -11,22 +11,39 @@ namespace WiiCompiled.Setup.Common; public sealed record RetroWfcPayloadSnapshot(string Directory, string Sha256, long ByteLength); /// -/// Downloads and verifies the Retro-WFC payload (a small, RSA-signed blob served from a single -/// fixed endpoint). Shared by both installers - moved here from WiiCompiled.Setup.Windows's -/// InputValidation.cs, which keeps every one of these method names as thin forwarding wrappers so -/// its many existing call sites (ProductRepairService.cs, LocalBuildService.cs, Installation.cs, -/// SelfTests.cs) needed no changes. +/// Downloads and verifies the Retro-WFC payload (a small, RSA-signed blob served from one fixed +/// endpoint per game release). Shared by both installers and the translator. /// public static class RetroWfcPayload { private const long MaximumRetroWfcPayloadBytes = 16L * 1024 * 1024; - // The payload is tens of kilobytes from a single fixed endpoint 30s is good. + // The payload is tens of kilobytes from a fixed regional endpoint; allow 30 seconds. private static readonly TimeSpan RetroWfcDownloadTimeout = TimeSpan.FromSeconds(30); private static readonly TimeSpan RetroWfcRetryDelay = TimeSpan.FromSeconds(1); - public const string CurrentRetroWfcPayloadUri = "https://rwfc.net/api/wfc/payload?g=RMCPD00"; - private static readonly string RetroWfcOfflinePayloadFile = - Path.Combine("binary", "payload.RMCPD00.bin"); + /// + /// Base game id to Retro-WFC payload game. Test-PinnedFacts.ps1 checks this table against the + /// retro_wfc_payload every projects/*/recomp.yml pins. + /// + private static readonly Dictionary PayloadGames = new(StringComparer.Ordinal) + { + ["RMCP01"] = "RMCPD00", + ["RMCE01"] = "RMCED00", + ["RMCJ01"] = "RMCJD00", + }; + + public static IReadOnlyCollection SupportedGameIds => PayloadGames.Keys; + + public static string PayloadGame(string gameId) => + PayloadGames.TryGetValue(gameId, out var payloadGame) + ? payloadGame + : throw new InvalidDataException($"Unsupported Retro-WFC base game '{gameId}'."); + + public static string PayloadRelativePath(string gameId) => + Path.Combine("binary", $"payload.{PayloadGame(gameId)}.bin"); + + public static string PayloadUri(string gameId) => + $"https://rwfc.net/api/wfc/payload?g={PayloadGame(gameId)}"; /// Retro-WFC production payload signing key (PROD PayloadPublicKey). Verifies /// the payload past the 0x110 header; on-console stage1 pins the same key, so @@ -45,47 +62,48 @@ public static class RetroWfcPayload private const int RetroWfcPayloadSignatureOffset = 0x10; private const int RetroWfcPayloadMinimumBytes = 0x130; - public static string ValidateStagedRetroWfcPayloadDirectory(string stagedDirectory, + public static string ValidateStagedRetroWfcPayloadDirectory(string stagedDirectory, string gameId, RSAParameters? signingKey = null) { if (string.IsNullOrWhiteSpace(stagedDirectory)) throw new InvalidDataException("The staged Retro-WFC payload directory is missing."); var root = Path.GetFullPath(stagedDirectory); - var payload = Path.Combine(root, RetroWfcOfflinePayloadFile); + var relativePath = PayloadRelativePath(gameId); + var payload = Path.Combine(root, relativePath); try { if ((File.GetAttributes(payload) & FileAttributes.Directory) != 0) throw new InvalidDataException( - "The staged Retro-WFC payload directory does not contain binary\\payload.RMCPD00.bin."); + $"The staged Retro-WFC payload directory does not contain {relativePath}."); } catch (FileNotFoundException) { throw new InvalidDataException( - "The staged Retro-WFC payload directory does not contain binary\\payload.RMCPD00.bin."); + $"The staged Retro-WFC payload directory does not contain {relativePath}."); } catch (DirectoryNotFoundException) { throw new InvalidDataException( - "The staged Retro-WFC payload directory does not contain binary\\payload.RMCPD00.bin."); + $"The staged Retro-WFC payload directory does not contain {relativePath}."); } - ValidateRetroWfcPayloadFile(payload, signingKey); + ValidateRetroWfcPayloadFile(payload, PayloadGame(gameId), signingKey); return root; } - public static string ResolveRetroWfcPayloadFile(string stagedDirectory, + public static string ResolveRetroWfcPayloadFile(string stagedDirectory, string gameId, RSAParameters? signingKey = null) => - Path.Combine(ValidateStagedRetroWfcPayloadDirectory(stagedDirectory, signingKey), - RetroWfcOfflinePayloadFile); + Path.Combine(ValidateStagedRetroWfcPayloadDirectory(stagedDirectory, gameId, signingKey), + PayloadRelativePath(gameId)); - public static string ComputeRetroWfcPayloadSha256(string stagedDirectory, + public static string ComputeRetroWfcPayloadSha256(string stagedDirectory, string gameId, RSAParameters? signingKey = null) => - Sha256File(ResolveRetroWfcPayloadFile(stagedDirectory, signingKey)); + Sha256File(ResolveRetroWfcPayloadFile(stagedDirectory, gameId, signingKey)); public static void ValidateRetroWfcPayloadUri(string uriText) { - if (!string.Equals(uriText, CurrentRetroWfcPayloadUri, StringComparison.Ordinal)) - throw new InvalidDataException("The installer does not define the fixed Retro-WFC payload endpoint."); + if (!PayloadGames.Keys.Any(gameId => string.Equals(uriText, PayloadUri(gameId), StringComparison.Ordinal))) + throw new InvalidDataException("The installer does not define this fixed Retro-WFC payload endpoint."); } public static async Task DownloadRetroWfcPayloadAsync(string uriText, @@ -96,7 +114,8 @@ public static class RetroWfcPayload var uri = new Uri(uriText, UriKind.Absolute); var root = Path.GetFullPath(destinationDirectory); - var destination = Path.Combine(root, RetroWfcOfflinePayloadFile); + var payloadGame = uri.Query[3..]; // ValidateRetroWfcPayloadUri accepts only the exact ?g= form. + var destination = Path.Combine(root, "binary", $"payload.{payloadGame}.bin"); Directory.CreateDirectory(Path.GetDirectoryName(destination)!); using var handler = new HttpClientHandler { AllowAutoRedirect = false }; using var client = new HttpClient(handler) { Timeout = Timeout.InfiniteTimeSpan }; @@ -154,7 +173,7 @@ public static class RetroWfcPayload } actualSha256 = Convert.ToHexString(hash.GetHashAndReset()).ToLowerInvariant(); } - ValidateRetroWfcPayloadFile(temporary); + ValidateRetroWfcPayloadFile(temporary, uri.Query[3..]); File.Move(temporary, destination, overwrite: true); return new RetroWfcPayloadSnapshot(root, actualSha256, total); } @@ -181,7 +200,8 @@ public static class RetroWfcPayload request.StatusCode is { } status && (int)status >= 500; } - private static void ValidateRetroWfcPayloadFile(string payload, RSAParameters? signingKey = null) + private static void ValidateRetroWfcPayloadFile(string payload, string expectedGame, + RSAParameters? signingKey = null) { byte[] image; using (var stream = File.OpenRead(payload)) @@ -201,6 +221,10 @@ public static class RetroWfcPayload throw new InvalidDataException( $"The Retro-WFC payload declares {declaredSize} bytes but contains {image.Length}."); + if (image.Length < 0x144 || + System.Text.Encoding.ASCII.GetString(image, 0x138, 12).TrimEnd('\0') != expectedGame) + throw new InvalidDataException($"The Retro-WFC payload is not for {expectedGame}."); + using var rsa = RSA.Create(); rsa.ImportParameters(signingKey ?? new RSAParameters { diff --git a/Launcher/WiiCompiled.Setup.Linux/DiscTool.cs b/Launcher/WiiCompiled.Setup.Linux/DiscTool.cs index 4b0cab0..3279895 100644 --- a/Launcher/WiiCompiled.Setup.Linux/DiscTool.cs +++ b/Launcher/WiiCompiled.Setup.Linux/DiscTool.cs @@ -11,29 +11,30 @@ namespace WiiCompiled.Setup.Linux; /// internal static class DiscTool { - public static async Task ValidateAndExtractAsync( - string isoPath, ProjectManifest manifest, string assetsDirectory, string workspace, + /// Validates and extracts the disc, returning the supported release it is. + public static async Task ValidateAndExtractAsync( + string isoPath, IReadOnlyList releases, string assetsDirectory, string workspace, string? nodToolBin, IInstallReporter reporter, CancellationToken cancellationToken) { - if (IsAlreadyExtracted(manifest, assetsDirectory)) - { - reporter.Progress(InstallStages.ExtractDisc, "Reusing the verified extracted disc", 6); - return; - } - var nodTool = nodToolBin ?? await NodToolProvider.ResolveAsync(workspace, cancellationToken); // `nodtool info` only decodes the disc/partition headers (milliseconds); `nodtool extract` // copies the whole data partition to disk (tens of seconds for a custom-track-heavy MKWii - // ISO). Checking the game ID first, before extracting, means a wrong disc fails fast - - // matching the original dolphin-tool `header` step this replaces. + // ISO). The game ID picks the release, so a wrong disc fails fast and an existing + // extraction is only reused for the same release. reporter.Progress(InstallStages.ExtractDisc, "Reading the disc header", 2); var info = NodToolInfoParser.Parse(await RunInfoAsync(nodTool, isoPath, cancellationToken)); - if (!string.Equals(info.GameId, manifest.GameId, StringComparison.Ordinal)) + var manifest = releases.FirstOrDefault(release => + string.Equals(info.GameId, release.GameId, StringComparison.Ordinal)) + ?? throw new InvalidOperationException( + $"This disc is '{info.GameId}', which is not a supported Mario Kart Wii release " + + $"({ProjectManifest.Describe(releases)}). " + + "Only your own legally-owned copy of a supported game/region can be used."); + + if (IsAlreadyExtracted(manifest, assetsDirectory)) { - throw new InvalidOperationException( - $"This disc is '{info.GameId}', not the expected '{manifest.GameId}' (Mario Kart Wii, region {manifest.Region}). " + - "Only your own legally-owned copy of that exact game/region can be used."); + reporter.Progress(InstallStages.ExtractDisc, "Reusing the verified extracted disc", 6); + return manifest; } // Extracted straight into Assets/DATA (kept, not a scratch dir) - the runtime reads course/ @@ -71,6 +72,22 @@ internal static class DiscTool File.Copy(relPath, Path.Combine(assetsDirectory, "StaticR.rel"), overwrite: true); File.WriteAllText(Path.Combine(assetsDirectory, ExtractionMarker), ExtractionRecord(dolSha, dataDir)); reporter.Progress(InstallStages.ExtractDisc, "Disc validated and extracted", 6); + return manifest; + } + + /// The release already extracted into Assets, chosen by its main.dol like local-build.sh. + public static ProjectManifest SelectExtracted(IReadOnlyList releases, string assetsDirectory) + { + var dolSha = Sha256Of(Path.Combine(assetsDirectory, "main.dol")); + var manifest = releases.FirstOrDefault(release => string.Equals(dolSha, release.DolSha256, StringComparison.Ordinal)) + ?? throw new InvalidOperationException( + $"Assets/main.dol (sha256 {dolSha}) is not a supported clean Mario Kart Wii release " + + $"({ProjectManifest.Describe(releases)})."); + var relSha = Sha256Of(Path.Combine(assetsDirectory, "StaticR.rel")); + if (!string.Equals(relSha, manifest.RelSha256, StringComparison.Ordinal)) + throw new InvalidOperationException( + $"Assets/StaticR.rel does not match the clean {manifest.GameId} release of Assets/main.dol."); + return manifest; } private static async Task RunInfoAsync(string nodTool, string isoPath, CancellationToken cancellationToken) @@ -97,7 +114,7 @@ internal static class DiscTool private const string ExtractionMarker = ".disc-extracted"; - // Only one disc revision is accepted, so a completed, verified extraction is identical to a fresh one. + // Each release has one accepted revision, so a completed, verified extraction is identical to a fresh one. private static bool IsAlreadyExtracted(ProjectManifest manifest, string assetsDirectory) { var marker = Path.Combine(assetsDirectory, ExtractionMarker); diff --git a/Launcher/WiiCompiled.Setup.Linux/Program.cs b/Launcher/WiiCompiled.Setup.Linux/Program.cs index 2ce7b3a..8bbe64f 100644 --- a/Launcher/WiiCompiled.Setup.Linux/Program.cs +++ b/Launcher/WiiCompiled.Setup.Linux/Program.cs @@ -95,13 +95,14 @@ internal static class Program if (installsRetro) retroDir = RetroRewindSource.ResolveRetroRewind6(retroDir!); var workspace = flags.GetValueOrDefault("workspace") ?? WorkspaceLocator.FindFrom(AppContext.BaseDirectory); - var manifest = ProjectManifest.Load(Path.Combine(workspace, "projects", "mkwii", "recomp.yml")); + var releases = ProjectManifest.LoadAll(workspace); var assetsDir = Path.Combine(workspace, "Assets"); reporter.Progress(InstallStages.Validate, "Checking prerequisites", 1); + ProjectManifest release; if (flags.TryGetValue("game", out var isoPath) && !string.IsNullOrEmpty(isoPath)) { - await DiscTool.ValidateAndExtractAsync(isoPath, manifest, assetsDir, workspace, + release = await DiscTool.ValidateAndExtractAsync(isoPath, releases, assetsDir, workspace, flags.GetValueOrDefault("disc-tool-bin"), reporter, token); } else @@ -114,6 +115,7 @@ internal static class Program "No --game ISO was given and Assets/main.dol + Assets/StaticR.rel are not already present. " + "Either pass --game , or extract them yourself first (see translator/README.md)."); } + release = DiscTool.SelectExtracted(releases, assetsDir); } var state = JsonState.TryRead(StatePath) ?? new InstallState { Workspace = workspace }; @@ -133,10 +135,10 @@ internal static class Program try { // A valid signature authenticates a payload, but does not prove it is the latest - // signed revision. Always ask the fixed endpoint for the current snapshot; the - // downloader verifies it before atomically replacing the cache. + // signed revision. Always ask the release's fixed endpoint for the current snapshot; + // the downloader verifies it before atomically replacing the cache. await RetroWfcPayload.DownloadRetroWfcPayloadAsync( - RetroWfcPayload.CurrentRetroWfcPayloadUri, cacheDir, token); + RetroWfcPayload.PayloadUri(release.GameId), cacheDir, token); } catch (Exception downloadFailure) when (!token.IsCancellationRequested && downloadFailure is HttpRequestException or TimeoutException @@ -147,7 +149,7 @@ internal static class Program // that must remain a hard failure instead of hiding possible endpoint tampering. try { - RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(cacheDir); + RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(cacheDir, gameId: release.GameId); } catch (Exception cacheFailure) when (cacheFailure is IOException or UnauthorizedAccessException or InvalidDataException) diff --git a/Launcher/WiiCompiled.Setup.Linux/ProjectManifest.cs b/Launcher/WiiCompiled.Setup.Linux/ProjectManifest.cs index 43b9a21..953fd01 100644 --- a/Launcher/WiiCompiled.Setup.Linux/ProjectManifest.cs +++ b/Launcher/WiiCompiled.Setup.Linux/ProjectManifest.cs @@ -3,7 +3,7 @@ using System.Text.RegularExpressions; namespace WiiCompiled.Setup.Linux; /// -/// The handful of facts this tool needs out of projects/mkwii/recomp.yml. Parsed literally line by +/// The handful of facts this tool needs out of a projects/*/recomp.yml. Parsed literally line by /// line - the same approach Launcher/NativeBuildFlags.ps1's Get-MkwProjectPins and /// Launcher/local-build.sh already use - rather than pulling in a YAML library, since the manifest /// is machine-written with a fixed shape. @@ -67,4 +67,21 @@ internal sealed class ProjectManifest return new ProjectManifest { GameId = gameId, Region = region, DolSha256 = dolSha, RelSha256 = relSha }; } + + /// Every supported release: one per projects/*/recomp.yml, as local-build.sh selects them. + public static IReadOnlyList LoadAll(string workspace) + { + var projects = Directory.EnumerateDirectories(Path.Combine(workspace, "projects")) + .Select(directory => Path.Combine(directory, "recomp.yml")) + .Where(File.Exists) + .Order(StringComparer.Ordinal) + .Select(Load) + .ToList(); + if (projects.Count == 0) + throw new InvalidOperationException($"No projects/*/recomp.yml was found under {workspace}."); + return projects; + } + + public static string Describe(IEnumerable projects) => + string.Join(", ", projects.Select(project => $"{project.GameId} (region {project.Region})")); } diff --git a/Launcher/WiiCompiled.Setup.Windows/ConsoleCommands.cs b/Launcher/WiiCompiled.Setup.Windows/ConsoleCommands.cs index acabbef..02ab9a2 100644 --- a/Launcher/WiiCompiled.Setup.Windows/ConsoleCommands.cs +++ b/Launcher/WiiCompiled.Setup.Windows/ConsoleCommands.cs @@ -64,9 +64,7 @@ internal static class ConsoleCommands { using var payload = PayloadArchive.OpenCurrent(); var manifest = payload.ReadManifest(); - var tool = Path.Combine(temp, "nodtool.exe"); - payload.ExtractEntry(InstalledLayout.ToolkitEntryPrefix + "nodtool.exe", tool); - payload.ExtractDirectory(InstalledLayout.ToolkitEntryPrefix + "Redist", temp); + var tool = payload.ExtractDiscTool(temp); reporter?.Progress(InstallStages.Validate, "Checking the Wii disc image...", 10); var header = InputValidation.ReadDiscHeaderAsync(tool, command.GamePath!).GetAwaiter().GetResult(); InputValidation.EnsureCompatibleDisc(header, manifest); diff --git a/Launcher/WiiCompiled.Setup.Windows/InputValidation.cs b/Launcher/WiiCompiled.Setup.Windows/InputValidation.cs index 5ca7558..3e9a14f 100644 --- a/Launcher/WiiCompiled.Setup.Windows/InputValidation.cs +++ b/Launcher/WiiCompiled.Setup.Windows/InputValidation.cs @@ -54,33 +54,29 @@ internal static class InputValidation } : "Unknown"; - public static void EnsureCompatibleDisc(DiscHeader header, PayloadManifest manifest) - { - if (!header.GameId.Equals(manifest.ExpectedGameId, StringComparison.OrdinalIgnoreCase)) - { - throw new InvalidDataException( - $"This build supports Mario Kart Wii PAL ({manifest.ExpectedGameId}). " + - $"The selected image is {header.GameId} ({header.InternalName}, {header.Region})."); - } - } + /// The supported release this disc is, or a clear rejection naming every supported one. + public static GameRelease EnsureCompatibleDisc(DiscHeader header, PayloadManifest manifest) => + manifest.SupportedReleases.FirstOrDefault(release => + release.GameId.Equals(header.GameId, StringComparison.OrdinalIgnoreCase)) + ?? throw new InvalidDataException( + "This build supports Mario Kart Wii " + + string.Join(", ", manifest.SupportedReleases.Select(release => + $"{RegionFromGameId(release.GameId)} ({release.GameId})")) + + $". The selected image is {header.GameId} ({header.InternalName}, {header.Region})."); - // Thin forwarding wrappers: the actual download/RSA-verification logic lives in - // WiiCompiled.Setup.Common.RetroWfcPayload (shared with WiiCompiled.Setup.Linux) so there's one - // copy of it, not two. Kept under these names so every existing call site here - // (ProductRepairService.cs, LocalBuildService.cs, Installation.cs, SelfTests.cs) is unchanged. - public const string CurrentRetroWfcPayloadUri = RetroWfcPayload.CurrentRetroWfcPayloadUri; - - public static string ValidateStagedRetroWfcPayloadDirectory(string stagedDirectory, + // Forwarding wrappers over WiiCompiled.Setup.Common.RetroWfcPayload that require the game id, + // so no caller here can silently fall back to one region's payload. + public static string ValidateStagedRetroWfcPayloadDirectory(string stagedDirectory, string gameId, RSAParameters? signingKey = null) => - RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(stagedDirectory, signingKey); + RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(stagedDirectory, gameId, signingKey); - public static string ResolveRetroWfcPayloadFile(string stagedDirectory, + public static string ResolveRetroWfcPayloadFile(string stagedDirectory, string gameId, RSAParameters? signingKey = null) => - RetroWfcPayload.ResolveRetroWfcPayloadFile(stagedDirectory, signingKey); + RetroWfcPayload.ResolveRetroWfcPayloadFile(stagedDirectory, gameId, signingKey); - public static string ComputeRetroWfcPayloadSha256(string stagedDirectory, + public static string ComputeRetroWfcPayloadSha256(string stagedDirectory, string gameId, RSAParameters? signingKey = null) => - RetroWfcPayload.ComputeRetroWfcPayloadSha256(stagedDirectory, signingKey); + RetroWfcPayload.ComputeRetroWfcPayloadSha256(stagedDirectory, gameId, signingKey); public static void ValidateRetroWfcPayloadUri(string uriText) => RetroWfcPayload.ValidateRetroWfcPayloadUri(uriText); diff --git a/Launcher/WiiCompiled.Setup.Windows/Installation.cs b/Launcher/WiiCompiled.Setup.Windows/Installation.cs index de600c9..3b0c1af 100644 --- a/Launcher/WiiCompiled.Setup.Windows/Installation.cs +++ b/Launcher/WiiCompiled.Setup.Windows/Installation.cs @@ -168,6 +168,26 @@ internal sealed class Installation public InstallState? ReadInstallState() => JsonState.TryRead(InstallStatePath); + /// The game id of the installed disc, which selects its region's Retro-WFC payload. + public string ReadGameId() + { + try { return ReadDiscGameId(GameDataDirectory); } + catch (IOException ex) + { + throw new InvalidDataException( + "The installed game data has no readable disc header. Apply setup again with the disc image.", ex); + } + } + + /// The six-character game id in an extracted disc's sys/boot.bin. + internal static string ReadDiscGameId(string dataRoot) + { + using var stream = File.OpenRead(Path.Combine(dataRoot, "sys", "boot.bin")); + var id = new byte[6]; + stream.ReadExactly(id); + return System.Text.Encoding.ASCII.GetString(id); + } + internal ToolkitState? ReadToolkitState() => JsonState.TryRead(ToolkitStatePath); /// @@ -396,7 +416,7 @@ internal sealed class Installation try { - var payload = InputValidation.ResolveRetroWfcPayloadFile(WorkspaceRetroWfcPayload); + var payload = InputValidation.ResolveRetroWfcPayloadFile(WorkspaceRetroWfcPayload, ReadGameId()); if (!InputValidation.Sha256File(payload).Equals(fingerprint.RetroWfcPayloadSha256, StringComparison.OrdinalIgnoreCase) || new FileInfo(payload).Length != fingerprint.RetroWfcPayloadLength) @@ -581,7 +601,7 @@ internal sealed class Installation { try { - var payload = InputValidation.ResolveRetroWfcPayloadFile(WorkspaceRetroWfcPayload); + var payload = InputValidation.ResolveRetroWfcPayloadFile(WorkspaceRetroWfcPayload, ReadGameId()); return new FileInfo(payload).Length == snapshot.ByteLength && InputValidation.Sha256File(payload).Equals(snapshot.Sha256, StringComparison.Ordinal); } diff --git a/Launcher/WiiCompiled.Setup.Windows/InstallerEngine.cs b/Launcher/WiiCompiled.Setup.Windows/InstallerEngine.cs index f69e4f9..d4467b7 100644 --- a/Launcher/WiiCompiled.Setup.Windows/InstallerEngine.cs +++ b/Launcher/WiiCompiled.Setup.Windows/InstallerEngine.cs @@ -40,6 +40,28 @@ internal sealed class InstallerEngine var toolkit = InstalledLayout.Toolkit(staging); var workspace = InstalledLayout.Workspace(staging); + // The disc decides which release's inputs everything below expects, so it is identified + // before any reuse decision or toolkit extraction. + _reporter.Progress(InstallStages.Validate, "Checking the Wii disc image...", 1); + var nodTool = payload.ExtractDiscTool(Path.Combine(staging, "disc-tool")); + var header = await InputValidation.ReadDiscHeaderAsync(nodTool, options.GamePath, + cancellationToken); + var release = InputValidation.EnsureCompatibleDisc(header, manifest); + var canonicalRetroRoot = options.RetroDirectoryPath is null + ? null + : RetroRewindSource.ResolveRetroRewind6(options.RetroDirectoryPath); + ValidateRetroOptions(canonicalRetroRoot, options.RetroWfcPayloadMode); + + var retroCompileInputs = canonicalRetroRoot is null + ? null + : SnapshotRetroRewindCompileInputs(canonicalRetroRoot, + Path.Combine(staging, "compile-inputs"), cancellationToken); + if (options.Portable) + { + var portableRoot = PortableRoot.Create(parent); + _reporter.Diagnostic($"Installing as a portable installation under {portableRoot}."); + } + var candidateToolkitFingerprint = manifest.ToolkitFingerprint; var candidateToolkitPackageFingerprint = manifest.ToolkitPackageFingerprint; var candidateRuntimeAssetsFingerprint = manifest.RuntimeAssetsFingerprint; @@ -49,7 +71,7 @@ internal sealed class InstallerEngine var installedToolkitPackageFingerprint = existing.IsPresent ? existing.ResolveToolkitPackageFingerprint() : ""; - var reusableGameAssets = FindReusableGameAssets(existing, manifest); + var reusableGameAssets = FindReusableGameAssets(existing, release); var sameToolkit = existing.IsPresent && reusableGameAssets is not null && installedToolkitFingerprint.Equals(candidateToolkitFingerprint, @@ -68,7 +90,7 @@ internal sealed class InstallerEngine var extractWorkspace = !sameToolkit || !runtimeAssetsCurrent; _reporter.Progress(InstallStages.ExtractToolkit, - "Inspecting the release's local recompilation toolkit...", 1); + "Inspecting the release's local recompilation toolkit...", 4); if (extractToolkit) payload.ExtractDirectory(InstalledLayout.ToolkitDirectoryName, toolkit); if (extractWorkspace) { @@ -82,30 +104,10 @@ internal sealed class InstallerEngine payload.ExtractEntry(InstalledLayout.PayloadManifestFileName, Path.Combine(staging, InstalledLayout.PayloadManifestFileName)); - var nodTool = extractToolkit ? Path.Combine(toolkit, "nodtool.exe") : installedNodTool; - _reporter.Progress(InstallStages.Validate, "Checking the Wii disc image...", 2); - var header = await InputValidation.ReadDiscHeaderAsync(nodTool, options.GamePath, - cancellationToken); - InputValidation.EnsureCompatibleDisc(header, manifest); - var canonicalRetroRoot = options.RetroDirectoryPath is null - ? null - : RetroRewindSource.ResolveRetroRewind6(options.RetroDirectoryPath); - ValidateRetroOptions(canonicalRetroRoot, options.RetroWfcPayloadMode, manifest); - - var retroCompileInputs = canonicalRetroRoot is null - ? null - : SnapshotRetroRewindCompileInputs(canonicalRetroRoot, - Path.Combine(staging, "compile-inputs"), cancellationToken); - if (options.Portable) - { - var portableRoot = PortableRoot.Create(parent); - _reporter.Diagnostic($"Installing as a portable installation under {portableRoot}."); - } - if (sameToolkit) { var desiredInputDrift = ProductRepairService.FindDesiredInputDrift(existing, - candidateToolkitFingerprint, manifest.ExpectedDolSha256, manifest.ExpectedRelSha256); + candidateToolkitFingerprint, release.DolSha256, release.RelSha256); if (desiredInputDrift.Retro && retroCompileInputs is null) throw new InvalidOperationException( "This release changes the clean game inputs used by the installed Retro Rewind product. " + @@ -113,7 +115,7 @@ internal sealed class InstallerEngine var reconciliation = await ReconcileSameToolkitAsync(existing, retroCompileInputs, canonicalRetroRoot, options.RetroWfcPayloadMode, Path.Combine(staging, "repair"), - manifest.ExpectedDolSha256, manifest.ExpectedRelSha256, cancellationToken); + release.DolSha256, release.RelSha256, cancellationToken); var remainingCancellation = reconciliation.PublicationCommitted ? CancellationToken.None : cancellationToken; @@ -125,11 +127,10 @@ internal sealed class InstallerEngine remainingCancellation.ThrowIfCancellationRequested(); EnsureReconciliationCurrent(existing, candidateToolkitFingerprint, retroCompileInputs, - manifest.ExpectedDolSha256, manifest.ExpectedRelSha256, - reconciliation.CachedRetroWfcPayloadMatches); + release.DolSha256, release.RelSha256, reconciliation.CachedRetroWfcPayloadMatches); var updatedState = BuildInstallState(existing.ReadInstallState(), installDirectory, manifest, - retroCompileInputs, canonicalRetroRoot, options.RetroWfcPayloadMode); + release, retroCompileInputs, canonicalRetroRoot, options.RetroWfcPayloadMode); PrepareMetadata(staging, manifest, updatedState); remainingCancellation.ThrowIfCancellationRequested(); @@ -159,11 +160,11 @@ internal sealed class InstallerEngine if (reusableGameAssets is null) { await ExtractGameAssetsAsync(nodTool, options.GamePath, - Path.Combine(staging, "GameAssets"), manifest, cancellationToken); + Path.Combine(staging, "GameAssets"), release, cancellationToken); } await PublishToolkitAndReconcileProductsAsync(existing, staging, workspace, manifest, - previousState, options, canonicalRetroRoot, retroCompileInputs, + release, previousState, options, canonicalRetroRoot, retroCompileInputs, publishGameAssets: reusableGameAssets is null, createShortcuts: firstInstall, cancellationToken: cancellationToken); } @@ -187,7 +188,7 @@ internal sealed class InstallerEngine ["generated", "build", "native-build", "Assets", "PulsarPacks"]; private async Task PublishToolkitAndReconcileProductsAsync(Installation existing, string staging, - string stagedWorkspace, PayloadManifest manifest, InstallState? previousState, + string stagedWorkspace, PayloadManifest manifest, GameRelease release, InstallState? previousState, InstallOptions options, string? canonicalRetroRoot, RetroRewindCompileInputs? retroCompileInputs, bool publishGameAssets, bool createShortcuts, CancellationToken cancellationToken) @@ -206,7 +207,7 @@ internal sealed class InstallerEngine } - var state = BuildInstallState(previousState, installDirectory, manifest, + var state = BuildInstallState(previousState, installDirectory, manifest, release, compileInputs: null, canonicalRetroRoot, options.RetroWfcPayloadMode); PrepareMetadata(staging, manifest, state); @@ -226,10 +227,9 @@ internal sealed class InstallerEngine var reconciliation = await ReconcileSameToolkitAsync(existing, retroCompileInputs, canonicalRetroRoot, options.RetroWfcPayloadMode, repairScratch: null, - manifest.ExpectedDolSha256, manifest.ExpectedRelSha256, cancellationToken); + release.DolSha256, release.RelSha256, cancellationToken); EnsureReconciliationCurrent(existing, manifest.ToolkitFingerprint, retroCompileInputs, - manifest.ExpectedDolSha256, manifest.ExpectedRelSha256, - reconciliation.CachedRetroWfcPayloadMatches); + release.DolSha256, release.RelSha256, reconciliation.CachedRetroWfcPayloadMatches); } private Task ReconcileSameToolkitAsync(Installation existing, @@ -354,7 +354,8 @@ internal sealed class InstallerEngine } private static InstallState BuildInstallState(InstallState? previousState, string installDirectory, - PayloadManifest manifest, RetroRewindCompileInputs? compileInputs, string? canonicalRetroRoot, + PayloadManifest manifest, GameRelease release, RetroRewindCompileInputs? compileInputs, + string? canonicalRetroRoot, RetroWfcPayloadMode payloadMode, RetroWfcPayloadSnapshot? retroWfcPayloadSnapshot = null) { @@ -368,8 +369,8 @@ internal sealed class InstallerEngine InstalledUtc = previousState?.InstalledUtc ?? DateTime.UtcNow, RetroRewindInstalled = previousState?.RetroRewindInstalled ?? false, ToolkitReleaseTag = manifest.ToolkitReleaseTag, - DolSha256 = manifest.ExpectedDolSha256, - RelSha256 = manifest.ExpectedRelSha256, + DolSha256 = release.DolSha256, + RelSha256 = release.RelSha256, RetroRewindCodePulSha256 = previousState?.RetroRewindCodePulSha256 ?? "", RetroRewindCompileInputsSha256 = previousState?.RetroRewindCompileInputsSha256 ?? "", RetroWfcPayloadMode = previousState?.RetroWfcPayloadMode ?? "", @@ -444,8 +445,7 @@ internal sealed class InstallerEngine Path.Combine(InstalledLayout.Workspace(installDirectory), "runtime", "assets"))); } - private static void ValidateRetroOptions(string? canonicalRetroRoot, RetroWfcPayloadMode mode, - PayloadManifest manifest) + private static void ValidateRetroOptions(string? canonicalRetroRoot, RetroWfcPayloadMode mode) { if (canonicalRetroRoot is null && mode != RetroWfcPayloadMode.NotApplicable) throw new InvalidOperationException( @@ -453,11 +453,9 @@ internal sealed class InstallerEngine if (canonicalRetroRoot is not null && mode == RetroWfcPayloadMode.NotApplicable) throw new InvalidOperationException( "Download the Retro-WFC payload, or explicitly skip the optional payload."); - if (canonicalRetroRoot is not null && mode == RetroWfcPayloadMode.Online) - InputValidation.ValidateRetroWfcPayloadUri(manifest.RetroWfcPayloadUri); } - private string? FindReusableGameAssets(Installation existing, PayloadManifest manifest) + private string? FindReusableGameAssets(Installation existing, GameRelease release) { var dataRoot = existing.GameDataDirectory; // No fst.bin simply means nothing was extracted here before; anything past that gate is an @@ -466,7 +464,7 @@ internal sealed class InstallerEngine if (!File.Exists(Path.Combine(dataRoot, "sys", "fst.bin"))) return null; try { - ValidateExtractedGame(dataRoot, manifest); + ValidateExtractedGame(dataRoot, release); return dataRoot; } catch (Exception ex) when (ex is IOException or UnauthorizedAccessException or InvalidDataException) @@ -478,7 +476,7 @@ internal sealed class InstallerEngine } private async Task ExtractGameAssetsAsync(string nodTool, string gamePath, string destination, - PayloadManifest manifest, CancellationToken cancellationToken) + GameRelease release, CancellationToken cancellationToken) { _reporter.Progress(InstallStages.ExtractDisc, "Extracting the game disc. This is the longest preparation step...", 6); @@ -493,15 +491,16 @@ internal sealed class InstallerEngine cancellationToken); if (extraction.ExitCode != 0) throw new InvalidDataException("Game extraction failed. " + extraction.CombinedOutput.Trim()); - ValidateExtractedGame(dataRoot, manifest); + ValidateExtractedGame(dataRoot, release); } - private static void ValidateExtractedGame(string dataRoot, PayloadManifest manifest) + internal static void ValidateExtractedGame(string dataRoot, GameRelease release) { var dol = Path.Combine(dataRoot, "sys", "main.dol"); var rel = Path.Combine(dataRoot, "files", "rel", "StaticR.rel"); var fst = Path.Combine(dataRoot, "sys", "fst.bin"); - var missing = new[] { dol, rel, fst }.Where(path => !File.Exists(path)) + var boot = Path.Combine(dataRoot, "sys", "boot.bin"); + var missing = new[] { dol, rel, fst, boot }.Where(path => !File.Exists(path)) .Select(path => Path.GetRelativePath(dataRoot, path)).ToList(); if (missing.Count > 0) throw new InvalidDataException( @@ -509,10 +508,13 @@ internal sealed class InstallerEngine string.Join(", ", missing) + "."); var mismatches = new List(); + var discGameId = Installation.ReadDiscGameId(dataRoot); + if (!discGameId.Equals(release.GameId, StringComparison.Ordinal)) + mismatches.Add($"sys/boot.bin names {discGameId}"); foreach (var (name, path, expected) in new[] { - ("main.dol", dol, manifest.ExpectedDolSha256), - ("StaticR.rel", rel, manifest.ExpectedRelSha256) + ("main.dol", dol, release.DolSha256), + ("StaticR.rel", rel, release.RelSha256) }) { var actual = InputValidation.Sha256File(path); @@ -523,7 +525,7 @@ internal sealed class InstallerEngine if (mismatches.Count > 0) throw new InvalidDataException( - "The disc is RMCP01 but its game code does not match the supported clean PAL revision: " + + $"The disc is {release.GameId} but its game data does not match the supported clean revision: " + string.Join("; ", mismatches) + ". " + "Patched or otherwise modified game code cannot be installed safely."); } diff --git a/Launcher/WiiCompiled.Setup.Windows/LocalBuildService.cs b/Launcher/WiiCompiled.Setup.Windows/LocalBuildService.cs index 1347c1e..e265544 100644 --- a/Launcher/WiiCompiled.Setup.Windows/LocalBuildService.cs +++ b/Launcher/WiiCompiled.Setup.Windows/LocalBuildService.cs @@ -23,7 +23,8 @@ internal sealed class LocalBuildService /// public async Task BuildAsync(string installStaging, BuildProfile profile, string outputDirectory, RetroWfcPayloadMode retroWfcPayloadMode, string? retroWfcOfflinePayloadDirectory, - CancellationToken cancellationToken, ToolkitFingerprintComponents? toolkitComponents = null, + string? retroWfcGameId, CancellationToken cancellationToken, + ToolkitFingerprintComponents? toolkitComponents = null, bool forceCleanBuild = false, BuildProgressWindow? progress = null, string? retroRewindPackageDirectory = null, string? baseOutputDirectory = null) { @@ -45,8 +46,9 @@ internal sealed class LocalBuildService retroRewindPackageDirectory = RetroRewindSource.ResolveRetroRewind6( retroRewindPackageDirectory); if (retroWfcPayloadMode == RetroWfcPayloadMode.Online) - retroWfcOfflinePayloadDirectory = - InputValidation.ValidateStagedRetroWfcPayloadDirectory(retroWfcOfflinePayloadDirectory!); + retroWfcOfflinePayloadDirectory = InputValidation.ValidateStagedRetroWfcPayloadDirectory( + retroWfcOfflinePayloadDirectory!, + retroWfcGameId ?? throw new ArgumentException("The Retro-WFC payload needs its game id.")); var arguments = new List { diff --git a/Launcher/WiiCompiled.Setup.Windows/Models.cs b/Launcher/WiiCompiled.Setup.Windows/Models.cs index e62b261..f945693 100644 --- a/Launcher/WiiCompiled.Setup.Windows/Models.cs +++ b/Launcher/WiiCompiled.Setup.Windows/Models.cs @@ -33,16 +33,23 @@ internal sealed class InstallOptions public bool HasRetroRewind => RetroDirectoryPath is not null; } +/// A clean retail release the payload installs, as pinned by its projects/*/recomp.yml. +internal sealed class GameRelease +{ + public string GameId { get; set; } = ""; + public string DolSha256 { get; set; } = ""; + public string RelSha256 { get; set; } = ""; +} + internal sealed class PayloadManifest { + public const int CurrentSchemaVersion = 3; + public int SchemaVersion { get; set; } public string ProductVersion { get; set; } = ""; - public string ExpectedGameId { get; set; } = "RMCP01"; - public string ExpectedDolSha256 { get; set; } = ""; - public string ExpectedRelSha256 { get; set; } = ""; + public List SupportedReleases { get; set; } = []; public string ToolkitReleaseTag { get; set; } = ""; public string BuildModel { get; set; } = ""; - public string RetroWfcPayloadUri { get; set; } = ""; /// /// Content identities computed once at release-build time (Build-Installer.ps1 --emit-payload-identities) diff --git a/Launcher/WiiCompiled.Setup.Windows/PayloadArchive.cs b/Launcher/WiiCompiled.Setup.Windows/PayloadArchive.cs index d85f1fa..8f9b1b4 100644 --- a/Launcher/WiiCompiled.Setup.Windows/PayloadArchive.cs +++ b/Launcher/WiiCompiled.Setup.Windows/PayloadArchive.cs @@ -54,10 +54,21 @@ internal sealed class PayloadArchive : IDisposable var entry = FindEntry(InstalledLayout.PayloadManifestFileName) ?? throw new InvalidDataException("The payload manifest is missing."); using var stream = entry.Open(); + return ParseManifest(stream); + } + + internal static PayloadManifest ParseManifest(Stream stream) + { var manifest = JsonSerializer.Deserialize(stream, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }) ?? throw new InvalidDataException("The payload manifest is invalid."); - if (manifest.SchemaVersion != 2) + ValidateManifest(manifest); + return manifest; + } + + internal static void ValidateManifest(PayloadManifest manifest) + { + if (manifest.SchemaVersion != PayloadManifest.CurrentSchemaVersion) throw new InvalidDataException($"Unsupported payload schema {manifest.SchemaVersion}."); // The payload identities are the release-computed replacement for hashing the whole // toolkit on the user's machine; a payload without them was packaged incorrectly. @@ -65,8 +76,30 @@ internal sealed class PayloadArchive : IDisposable string.IsNullOrWhiteSpace(manifest.ToolkitPackageFingerprint) || string.IsNullOrWhiteSpace(manifest.RuntimeAssetsFingerprint)) throw new InvalidDataException("The payload manifest is missing its content identities."); - InputValidation.ValidateRetroWfcPayloadUri(manifest.RetroWfcPayloadUri); - return manifest; + if (manifest.SupportedReleases is not { Count: > 0 }) + throw new InvalidDataException("The payload manifest names no supported game release."); + foreach (var release in manifest.SupportedReleases) + { + if (!RetroWfcPayload.SupportedGameIds.Contains(release.GameId) || + !IsSha256(release.DolSha256) || !IsSha256(release.RelSha256)) + throw new InvalidDataException( + $"The payload manifest describes an unsupported or incomplete release '{release.GameId}'."); + } + if (manifest.SupportedReleases.DistinctBy(release => release.GameId).Count() != + manifest.SupportedReleases.Count) + throw new InvalidDataException("The payload manifest lists a game release twice."); + } + + private static bool IsSha256(string value) => + value.Length == 64 && value.All(char.IsAsciiHexDigit); + + /// Extracts nodtool and the runtime DLLs it loads; returns the nodtool path. + public string ExtractDiscTool(string directory) + { + var tool = Path.Combine(directory, "nodtool.exe"); + ExtractEntry(InstalledLayout.ToolkitEntryPrefix + "nodtool.exe", tool); + ExtractDirectory(InstalledLayout.ToolkitEntryPrefix + "Redist", directory); + return tool; } public void ExtractEntry(string entryName, string destination) diff --git a/Launcher/WiiCompiled.Setup.Windows/ProductRepairService.cs b/Launcher/WiiCompiled.Setup.Windows/ProductRepairService.cs index 815890e..c7e4e6b 100644 --- a/Launcher/WiiCompiled.Setup.Windows/ProductRepairService.cs +++ b/Launcher/WiiCompiled.Setup.Windows/ProductRepairService.cs @@ -99,7 +99,11 @@ internal sealed class ProductRepairService Directory.CreateDirectory(scratchRoot); RetroWfcPayloadSnapshot? payloadSnapshot = null; - if (requestedPayloadMode == RetroWfcPayloadMode.Online) + // The installed disc's region decides which Retro-WFC payload the product embeds. + var payloadGameId = requestedPayloadMode == RetroWfcPayloadMode.Online + ? _installation.ReadGameId() + : null; + if (payloadGameId is not null) { _reporter.Progress(InstallStages.PrepareRetro, "Downloading the current shared Retro-WFC payload snapshot...", 3); @@ -107,12 +111,12 @@ internal sealed class ProductRepairService try { payloadSnapshot = await InputValidation.DownloadRetroWfcPayloadAsync( - InputValidation.CurrentRetroWfcPayloadUri, payloadScratch, cancellationToken); + RetroWfcPayload.PayloadUri(payloadGameId), payloadScratch, cancellationToken); } catch (Exception ex) when (!cancellationToken.IsCancellationRequested && ex is HttpRequestException or TimeoutException or IOException) { - payloadSnapshot = RecoverInstalledRetroWfcPayload(toolkitFingerprint, + payloadSnapshot = RecoverInstalledRetroWfcPayload(toolkitFingerprint, payloadGameId, Path.Combine(scratchRoot, "retro-wfc-payload-recovered"), ex, cancellationToken); } } @@ -236,7 +240,7 @@ internal sealed class ProductRepairService "Recompiling Mario Kart Wii and Retro Rewind with the installed toolkit...", 5); await BuildWithCleanRetryAsync(forceCleanBuild, clean => builder.BuildAsync(_installation.Root, BuildProfile.Both, retroOutput, - requestedPayloadMode, payloadSnapshot?.Directory, cancellationToken, + requestedPayloadMode, payloadSnapshot?.Directory, payloadGameId, cancellationToken, toolkitComponents, clean, progress: new BuildProgressWindow(_reporter, InstallStages.BuildBase, 5, 92), retroRewindPackageDirectory: compileInputs.RetroRewindRoot, @@ -255,7 +259,7 @@ internal sealed class ProductRepairService "Recompiling Mario Kart Wii with the installed toolkit...", 5); await BuildWithCleanRetryAsync(forceCleanBuild, clean => builder.BuildAsync(_installation.Root, BuildProfile.Base, baseOutput, - RetroWfcPayloadMode.NotApplicable, null, cancellationToken, + RetroWfcPayloadMode.NotApplicable, null, null, cancellationToken, toolkitComponents, clean, progress: new BuildProgressWindow(_reporter, InstallStages.BuildBase, 5, 92))); LocalBuildService.WriteFingerprint(baseOutput, BuildProfile.Base, toolkitFingerprint, @@ -270,7 +274,7 @@ internal sealed class ProductRepairService "Recompiling Retro Rewind for the canonical Code.pul...", 5); await BuildWithCleanRetryAsync(forceCleanBuild, clean => builder.BuildAsync(_installation.Root, BuildProfile.RetroRewind, retroOutput, - requestedPayloadMode, payloadSnapshot?.Directory, cancellationToken, + requestedPayloadMode, payloadSnapshot?.Directory, payloadGameId, cancellationToken, toolkitComponents, clean, progress: new BuildProgressWindow(_reporter, InstallStages.BuildRetro, 5, 92), retroRewindPackageDirectory: compileInputs.RetroRewindRoot)); @@ -310,7 +314,8 @@ internal sealed class ProductRepairService private RetroWfcPayloadSnapshot RecoverInstalledRetroWfcPayload(string toolkitFingerprint, - string destinationDirectory, Exception downloadFailure, CancellationToken cancellationToken) + string gameId, string destinationDirectory, Exception downloadFailure, + CancellationToken cancellationToken) { InvalidOperationException Unavailable(string reason) => new( "The Retro-WFC payload service is unavailable" + @@ -334,7 +339,7 @@ internal sealed class ProductRepairService try { cachedFile = InputValidation.ResolveRetroWfcPayloadFile( - _installation.WorkspaceRetroWfcPayload); + _installation.WorkspaceRetroWfcPayload, gameId); cancellationToken.ThrowIfCancellationRequested(); if (new FileInfo(cachedFile).Length != fingerprint.RetroWfcPayloadLength || !InputValidation.Sha256File(cachedFile).Equals(fingerprint.RetroWfcPayloadSha256, @@ -343,11 +348,11 @@ internal sealed class ProductRepairService throw Unavailable("the installed payload snapshot no longer matches its recorded identity."); } - var destination = Path.Combine(Path.GetFullPath(destinationDirectory), "binary", - "payload.RMCPD00.bin"); + var destination = Path.Combine(Path.GetFullPath(destinationDirectory), + RetroWfcPayload.PayloadRelativePath(gameId)); Directory.CreateDirectory(Path.GetDirectoryName(destination)!); File.Copy(cachedFile, destination, overwrite: true); - var root = InputValidation.ValidateStagedRetroWfcPayloadDirectory(destinationDirectory); + var root = InputValidation.ValidateStagedRetroWfcPayloadDirectory(destinationDirectory, gameId); _reporter.Diagnostic( "The Retro-WFC payload service is unavailable; reusing the installation's verified " + $"payload snapshot (sha256 {fingerprint.RetroWfcPayloadSha256[..12]}..., " + diff --git a/Launcher/WiiCompiled.Setup.Windows/SelfTests.cs b/Launcher/WiiCompiled.Setup.Windows/SelfTests.cs index a20577a..c751841 100644 --- a/Launcher/WiiCompiled.Setup.Windows/SelfTests.cs +++ b/Launcher/WiiCompiled.Setup.Windows/SelfTests.cs @@ -28,19 +28,9 @@ internal static class SelfTests } finally { File.Delete(path); } }, failures); - Test("Disc compatibility", () => - InputValidation.EnsureCompatibleDisc(new DiscHeader { GameId = "RMCP01" }, - new PayloadManifest { ExpectedGameId = "RMCP01" }), failures); - Test("Disc rejection", () => - { - try - { - InputValidation.EnsureCompatibleDisc(new DiscHeader { GameId = "RMCJ01" }, - new PayloadManifest { ExpectedGameId = "RMCP01" }); - throw new Exception("Wrong region was accepted."); - } - catch (InvalidDataException) { } - }, failures); + Test("Disc compatibility", TestDiscCompatibility, failures); + Test("Payload manifest releases", TestPayloadManifestReleases, failures); + Test("Extracted game release validation", TestExtractedGameRelease, failures); Test("Payload timestamp normalization", TestPayloadTimestampNormalization, failures); Test("Workspace timestamp reconciliation", TestWorkspaceTimestampReconciliation, failures); Test("Toolkit accompanies the workspace", TestToolkitRefreshDecision, failures); @@ -77,6 +67,152 @@ internal static class SelfTests return failures.Count == 0 ? 0 : 1; } + private static PayloadManifest MultiReleaseManifest() => new() + { + SchemaVersion = PayloadManifest.CurrentSchemaVersion, + ToolkitFingerprint = "toolkit", ToolkitPackageFingerprint = "package", RuntimeAssetsFingerprint = "assets", + SupportedReleases = + [ + new GameRelease { GameId = "RMCP01", DolSha256 = new string('1', 64), RelSha256 = new string('2', 64) }, + new GameRelease { GameId = "RMCE01", DolSha256 = new string('3', 64), RelSha256 = new string('4', 64) }, + new GameRelease { GameId = "RMCJ01", DolSha256 = new string('5', 64), RelSha256 = new string('6', 64) } + ] + }; + + private static void TestDiscCompatibility() + { + var manifest = MultiReleaseManifest(); + foreach (var release in manifest.SupportedReleases) + { + var selected = InputValidation.EnsureCompatibleDisc( + new DiscHeader { GameId = release.GameId.ToLowerInvariant() }, manifest); + if (!ReferenceEquals(selected, release)) + throw new Exception($"{release.GameId} did not select its own release."); + } + + foreach (var unsupported in new[] { "RMCK01", "RMCP02", "RSBE01" }) + { + try + { + InputValidation.EnsureCompatibleDisc(new DiscHeader { GameId = unsupported }, manifest); + throw new Exception($"{unsupported} was accepted."); + } + catch (InvalidDataException ex) when (ex.Message.Contains("NTSC-U (RMCE01)", StringComparison.Ordinal) && + ex.Message.Contains(unsupported, StringComparison.Ordinal)) { } + } + } + + private static void TestPayloadManifestReleases() + { + PayloadArchive.ValidateManifest(MultiReleaseManifest()); + + // The shape Build-Installer.ps1 writes (PowerShell's ConvertTo-Json of the ordered manifest). + var dol = new string('a', 64); + var rel = new string('b', 64); + var json = $$""" + { + "SchemaVersion": 3, + "ProductVersion": "1.0.0", + "SupportedReleases": [ + { "GameId": "RMCP01", "DolSha256": "{{dol}}", "RelSha256": "{{rel}}" }, + { "GameId": "RMCE01", "DolSha256": "{{rel}}", "RelSha256": "{{dol}}" } + ], + "ToolkitReleaseTag": "", + "BuildModel": "local-translation-and-compilation", + "ToolkitFingerprint": "toolkit", + "ToolkitPackageFingerprint": "package", + "RuntimeAssetsFingerprint": "assets", + "TranslationFingerprint": "translation", + "NativeToolchainFingerprint": "native" + } + """; + using (var stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(json))) + { + var parsed = PayloadArchive.ParseManifest(stream); + if (parsed.SupportedReleases.Count != 2 || parsed.SupportedReleases[1].GameId != "RMCE01" || + parsed.SupportedReleases[1].DolSha256 != rel) + throw new Exception("The packaged release list was not read back exactly."); + } + + void Reject(string description, Action corrupt) + { + var manifest = MultiReleaseManifest(); + corrupt(manifest); + try + { + PayloadArchive.ValidateManifest(manifest); + throw new Exception($"A manifest with {description} was accepted."); + } + catch (InvalidDataException) { } + } + + Reject("the previous single-release schema", manifest => manifest.SchemaVersion = 2); + Reject("no releases", manifest => manifest.SupportedReleases.Clear()); + Reject("an unsupported release", manifest => manifest.SupportedReleases[0].GameId = "RMCK01"); + Reject("a missing input digest", manifest => manifest.SupportedReleases[1].RelSha256 = ""); + Reject("a duplicated release", manifest => + manifest.SupportedReleases.Add(new GameRelease + { + GameId = "RMCE01", DolSha256 = new string('7', 64), RelSha256 = new string('8', 64) + })); + } + + private static void TestExtractedGameRelease() + { + var root = Path.Combine(Path.GetTempPath(), "mkwc-release-" + Guid.NewGuid().ToString("N")); + try + { + var data = Path.Combine(root, "GameAssets", "DATA"); + Directory.CreateDirectory(Path.Combine(data, "sys")); + Directory.CreateDirectory(Path.Combine(data, "files", "rel")); + File.WriteAllText(Path.Combine(data, "sys", "main.dol"), "ntsc-u dol"); + File.WriteAllText(Path.Combine(data, "sys", "fst.bin"), "fst"); + File.WriteAllText(Path.Combine(data, "files", "rel", "StaticR.rel"), "ntsc-u rel"); + File.WriteAllText(Path.Combine(data, "sys", "boot.bin"), "RMCE01" + new string('\0', 26)); + var release = new GameRelease + { + GameId = "RMCE01", + DolSha256 = InputValidation.Sha256File(Path.Combine(data, "sys", "main.dol")), + RelSha256 = InputValidation.Sha256File(Path.Combine(data, "files", "rel", "StaticR.rel")) + }; + + InstallerEngine.ValidateExtractedGame(data, release); + if (new Installation(root).ReadGameId() != "RMCE01") + throw new Exception("The installed game id was not read from the extracted disc header."); + + void Reject(string description, GameRelease expected) + { + try + { + InstallerEngine.ValidateExtractedGame(data, expected); + throw new Exception($"{description} was accepted."); + } + catch (InvalidDataException) { } + } + + Reject("Another release's digests", new GameRelease + { + GameId = "RMCE01", DolSha256 = new string('1', 64), RelSha256 = release.RelSha256 + }); + Reject("A disc header of another region", new GameRelease + { + GameId = "RMCJ01", DolSha256 = release.DolSha256, RelSha256 = release.RelSha256 + }); + File.Delete(Path.Combine(data, "sys", "boot.bin")); + Reject("An extraction without a disc header", release); + try + { + _ = new Installation(root).ReadGameId(); + throw new Exception("A missing disc header produced a game id."); + } + catch (InvalidDataException) { } + } + finally + { + if (Directory.Exists(root)) Directory.Delete(root, recursive: true); + } + } + private static void TestAcceptedExtension(string extension) { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + extension); @@ -694,42 +830,91 @@ internal static class SelfTests private static void TestRetroWfcPayloadSnapshotReconciliation() { - // The endpoint is pinned in exactly one place; this test must not restate it. - const string endpoint = InputValidation.CurrentRetroWfcPayloadUri; const string shaB = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; var root = Path.Combine(Path.GetTempPath(), "mkwc-wfc-snapshot-" + Guid.NewGuid().ToString("N")); try { - InputValidation.ValidateRetroWfcPayloadUri(endpoint); + using var signingRsa = RSA.Create(2048); + var signingKey = signingRsa.ExportParameters(includePrivateParameters: false); + byte[] SignedPayload(string payloadGame) + { + var image = new byte[0x150]; + "WWFC/Payload"u8.CopyTo(image); + BinaryPrimitives.WriteUInt32BigEndian(image.AsSpan(0x0C), (uint)image.Length); + System.Text.Encoding.ASCII.GetBytes(payloadGame).CopyTo(image, 0x138); + image[^1] = 0x5A; + signingRsa.SignData(image.AsSpan(0x110), HashAlgorithmName.SHA256, + RSASignaturePadding.Pkcs1).CopyTo(image.AsSpan(0x10)); + return image; + } + + // Every supported release has its own endpoint and staged file, and a payload staged for + // one region never validates as another region's. + var endpoints = new HashSet(StringComparer.Ordinal); + foreach (var gameId in RetroWfcPayload.SupportedGameIds) + { + var endpoint = RetroWfcPayload.PayloadUri(gameId); + InputValidation.ValidateRetroWfcPayloadUri(endpoint); + if (!endpoints.Add(endpoint)) + throw new Exception($"{gameId} shares another release's Retro-WFC endpoint."); + try + { + InputValidation.ValidateRetroWfcPayloadUri(endpoint + "&extra=1"); + throw new Exception("A non-canonical Retro-WFC endpoint was accepted."); + } + catch (InvalidDataException) { } + + var regionalRoot = Path.Combine(root, "regional-" + gameId); + var regionalPath = Path.Combine(regionalRoot, RetroWfcPayload.PayloadRelativePath(gameId)); + Directory.CreateDirectory(Path.GetDirectoryName(regionalPath)!); + File.WriteAllBytes(regionalPath, SignedPayload(RetroWfcPayload.PayloadGame(gameId))); + if (InputValidation.ResolveRetroWfcPayloadFile(regionalRoot, gameId, signingKey) != regionalPath) + throw new Exception($"{gameId} did not resolve its own staged payload file."); + foreach (var otherGameId in RetroWfcPayload.SupportedGameIds.Where(other => other != gameId)) + { + var foreignRoot = Path.Combine(root, $"foreign-{gameId}-{otherGameId}"); + var foreignPath = Path.Combine(foreignRoot, RetroWfcPayload.PayloadRelativePath(otherGameId)); + Directory.CreateDirectory(Path.GetDirectoryName(foreignPath)!); + File.WriteAllBytes(foreignPath, SignedPayload(RetroWfcPayload.PayloadGame(gameId))); + try + { + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(foreignRoot, otherGameId, + signingKey); + throw new Exception($"A {gameId} payload was accepted for {otherGameId}."); + } + catch (InvalidDataException) { } + try + { + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(regionalRoot, otherGameId, + signingKey); + throw new Exception($"{otherGameId} accepted a directory staged only for {gameId}."); + } + catch (InvalidDataException) { } + } + } try { - InputValidation.ValidateRetroWfcPayloadUri(endpoint + "&extra=1"); - throw new Exception("A non-canonical Retro-WFC endpoint was accepted."); + _ = RetroWfcPayload.PayloadUri("RMCK01"); + throw new Exception("An unsupported release has a Retro-WFC endpoint."); } catch (InvalidDataException) { } + const string gameUnderTest = "RMCE01"; var installation = new Installation(root); Directory.CreateDirectory(installation.RetroDirectory); var payloadRoot = Path.Combine(root, "download"); - var payloadPath = Path.Combine(payloadRoot, "binary", "payload.RMCPD00.bin"); + var payloadPath = Path.Combine(payloadRoot, RetroWfcPayload.PayloadRelativePath(gameUnderTest)); Directory.CreateDirectory(Path.GetDirectoryName(payloadPath)!); - using var signingRsa = RSA.Create(2048); - var signingKey = signingRsa.ExportParameters(includePrivateParameters: false); - var bytes = new byte[0x140]; - "WWFC/Payload"u8.CopyTo(bytes); - BinaryPrimitives.WriteUInt32BigEndian(bytes.AsSpan(0x0C), (uint)bytes.Length); - bytes[^1] = 0x5A; - signingRsa.SignData(bytes.AsSpan(0x110), HashAlgorithmName.SHA256, - RSASignaturePadding.Pkcs1).CopyTo(bytes.AsSpan(0x10)); + var bytes = SignedPayload(RetroWfcPayload.PayloadGame(gameUnderTest)); File.WriteAllBytes(payloadPath, bytes); - _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, signingKey); + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameUnderTest, signingKey); try { - _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot); + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameUnderTest); throw new Exception("A payload signed by a foreign key passed the pinned production key."); } catch (InvalidDataException) { } - var shaA = InputValidation.ComputeRetroWfcPayloadSha256(payloadRoot, signingKey); + var shaA = InputValidation.ComputeRetroWfcPayloadSha256(payloadRoot, gameUnderTest, signingKey); var snapshot = new RetroWfcPayloadSnapshot(payloadRoot, shaA, bytes.Length); JsonState.Write(Path.Combine(installation.RetroDirectory, ProductFingerprint.FileName), new ProductFingerprint @@ -764,7 +949,7 @@ internal static class SelfTests File.WriteAllBytes(payloadPath, bytes); try { - _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, signingKey); + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameUnderTest, signingKey); throw new Exception("A payload with a malformed declared length was accepted."); } catch (InvalidDataException) { } @@ -774,7 +959,7 @@ internal static class SelfTests File.WriteAllBytes(payloadPath, bytes); try { - _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, signingKey); + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameUnderTest, signingKey); throw new Exception("A payload with tampered signed content was accepted."); } catch (InvalidDataException) { } @@ -784,7 +969,7 @@ internal static class SelfTests File.WriteAllBytes(payloadPath, bytes); try { - _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, signingKey); + _ = InputValidation.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameUnderTest, signingKey); throw new Exception("A payload with a malformed header was accepted."); } catch (InvalidDataException) { } diff --git a/Launcher/WiiCompiled.Setup.Windows/ToolkitFingerprint.cs b/Launcher/WiiCompiled.Setup.Windows/ToolkitFingerprint.cs index 61b1e6c..7735291 100644 --- a/Launcher/WiiCompiled.Setup.Windows/ToolkitFingerprint.cs +++ b/Launcher/WiiCompiled.Setup.Windows/ToolkitFingerprint.cs @@ -40,7 +40,11 @@ internal static class ToolkitFingerprint ]; private static readonly string[] TranslationFiles = - [InstalledLayout.WorkspaceEntryPrefix + "LocalBuild.ps1"]; + [ + InstalledLayout.WorkspaceEntryPrefix + "LocalBuild.ps1", + // Maps the PAL-keyed native index to the installed release's addresses. + InstalledLayout.WorkspaceEntryPrefix + "runtime/include/guest_abi/guest_address_table.inc" + ]; private const string NativeSourcePrefix = InstalledLayout.WorkspaceEntryPrefix + "runtime/src/"; private const string NativeIndexEntry = InstalledLayout.WorkspaceEntryPrefix + "runtime/native-index.json"; diff --git a/Launcher/build-cache.sh b/Launcher/build-cache.sh index f88d1b0..e6a395c 100644 --- a/Launcher/build-cache.sh +++ b/Launcher/build-cache.sh @@ -1,5 +1,6 @@ -# Shared incremental-build logic for the Unix setups (Linux AppImage and macOS), sourced by -# local-build.sh, local-build-macos.command, the AppImage's AppRun and macos/setup.command. +# Shared incremental-build and release-selection logic for the Unix setups (Linux AppImage and +# macOS), sourced by local-build.sh, local-build-macos.command, macos/extract-disc.command, the +# AppImage's AppRun and macos/setup.command. # Mirrors the Windows installer's translation/toolchain identities and timestamp preservation. # Must stay compatible with macOS's bash 3.2. @@ -76,6 +77,7 @@ mkw_translation_identity() { printf 'rel %s\n' "$(mkw_digest_path "$workspace/Assets/StaticR.rel")" printf 'translator %s\n' "$(mkw_digest_path "$translator")" printf 'script %s\n' "$(mkw_digest_path "$script")" + printf 'regions %s\n' "$(mkw_digest_path "$workspace/runtime/include/guest_abi/guest_address_table.inc")" mkw_digest_tree "$workspace" projects mkw_native_index_identity "$workspace" } | mkw_sha256 @@ -99,6 +101,67 @@ mkw_toolchain_identity() { } | mkw_sha256 } +# Prints one fact a projects/*/recomp.yml pins: game_id, region, dol, rel or retro_wfc_payload. +# Literal line matching against the fixed shape, like NativeBuildFlags.ps1's Get-MkwProjectPins. +# $1 = recomp.yml, $2 = fact. +mkw_project_pin() { + awk -v want="$2" ' + { sub(/\r$/, ""); sub(/#.*/, "") } + /^[A-Za-z0-9_]+:/ { section = $1; sub(/:.*/, "", section); input = ""; next } + section == "inputs" && /^ [A-Za-z0-9_]+:[[:space:]]*$/ { input = $1; sub(/:$/, "", input); next } + section == "project" && $1 == (want ":") { print $2; exit } + section == "inputs" && input == want && $1 == "sha256:" { print tolower($2); exit } + want == "retro_wfc_payload" && $1 == "retro_wfc_payload:" { print $2; exit } + ' "$1" +} + +# Prints the recomp.yml of the supported release whose game id is $2. $1 = workspace. +mkw_project_for_game() { + local project + for project in "$1"/projects/*/recomp.yml; do + if [[ -f "$project" && "$(mkw_project_pin "$project" game_id)" == "$2" ]]; then + printf '%s\n' "$project" + return 0 + fi + done + return 1 +} + +# Prints the recomp.yml pinned to $2/main.dol after checking StaticR.rel and any extracted disc +# header against it, like NativeBuildFlags.ps1's Resolve-MkwProjectForAssets. +# $1 = workspace, $2 = assets directory. +mkw_resolve_project() { + local project dol_sha game_id disc_id + dol_sha=$(mkw_sha256 "$2/main.dol") + for project in "$1"/projects/*/recomp.yml; do + [[ -f "$project" && "$(mkw_project_pin "$project" dol)" == "$dol_sha" ]] || continue + game_id=$(mkw_project_pin "$project" game_id) + if [[ "$(mkw_sha256 "$2/StaticR.rel")" != "$(mkw_project_pin "$project" rel)" ]]; then + printf 'StaticR.rel does not match the clean %s release of main.dol.\n' "$game_id" >&2 + return 1 + fi + if [[ -f "$2/DATA/sys/boot.bin" ]]; then + disc_id=$(head -c 6 "$2/DATA/sys/boot.bin") + if [[ "$disc_id" != "$game_id" ]]; then + printf 'The extracted game data is %s but main.dol is %s; extract the game again.\n' "$disc_id" "$game_id" >&2 + return 1 + fi + fi + printf '%s\n' "$project" + return 0 + done + printf 'main.dol (sha256 %s) is not a supported clean Mario Kart Wii release.\n' "$dol_sha" >&2 + return 1 +} + +# The offline file name the translator expects for a release's Retro-WFC payload. $1 = recomp.yml. +mkw_retro_wfc_payload_file() { + local uri + uri=$(mkw_project_pin "$1" retro_wfc_payload) + [[ -n "$uri" ]] || return 1 + printf 'binary/payload.%s.bin\n' "${uri##*g=}" +} + # $1 = JSON file, $2 = key. Prints the recorded string value, or nothing. mkw_read_identity() { [[ -f "$1" ]] || return 0 diff --git a/Launcher/local-build-macos.command b/Launcher/local-build-macos.command index fc57f41..a4a26f2 100755 --- a/Launcher/local-build-macos.command +++ b/Launcher/local-build-macos.command @@ -19,9 +19,9 @@ Usage: local-build-macos.command --output-dir DIR [options] --profile {base|retro-rewind|both} Product to build (default: base) --output-dir DIR Output .app directory (required; Retro Rewind for both) --base-output-dir DIR Base .app directory (required with --profile both) - --game IMAGE --nodtool PATH Extract and verify a clean PAL RMCP01 disc image first + --game IMAGE --nodtool PATH Extract and verify a clean supported disc image first --retro-rewind-package-dir DIR RetroRewind6 directory (required for Retro Rewind) - --retro-wfc-offline-dir DIR Directory containing binary/payload.RMCPD00.bin + --retro-wfc-offline-dir DIR Directory containing the release's binary/payload..bin --skip-retro-wfc-payload Build Retro Rewind without the shared Retro-WFC payload --force-clean-build Delete local generated and current-architecture native build caches --parallel N Pin translation and build parallelism @@ -82,13 +82,15 @@ if (( builds_retro )); then fi for tool in "$cmake_bin" "$ninja_bin" clang clang++ shasum; do command -v "$tool" >/dev/null || fail "required tool not found: $tool"; done -project="$workspace/projects/mkwii/recomp.yml"; assets="$workspace/Assets"; generated="$workspace/generated" +assets="$workspace/Assets"; generated="$workspace/generated" functions="$generated/functions"; metadata="$generated/base_translation_output.json"; manifest_dir="$workspace/build/base" manifest="$manifest_dir/mkwii_base_manifest.json"; shards="$generated/build_shards" native_build="$workspace/native-build-macos-$macos_arch" -assert_file "$project" 'translation project' -if [[ -n "$game" ]]; then "$script_dir/macos/extract-disc.command" --game "$game" --assets-dir "$assets" --nodtool "$nodtool"; fi +if [[ -n "$game" ]]; then "$script_dir/macos/extract-disc.command" --workspace "$workspace" --game "$game" --assets-dir "$assets" --nodtool "$nodtool"; fi assert_file "$assets/main.dol" 'extracted main.dol'; assert_file "$assets/StaticR.rel" 'extracted StaticR.rel' +# The translation project is the one pinned to the extracted main.dol, which decides the region. +project=$(mkw_resolve_project "$workspace" "$assets") || fail 'the extracted game cannot be translated' +region=$(mkw_project_pin "$project" region); [[ -n "$region" ]] || fail "could not find the region of $project" if (( force_clean )); then step force-clean 'Discarding translation and native build caches' @@ -148,12 +150,12 @@ else step translate-base 'Translating the user-owned base game' translator translate-recursive "$entry_point" --project "$project" --outdir "$functions" --output-metadata "$metadata" --production-source-bundle "$generated/base_translation_sources.bin" --no-function-files --prune-stale --threads "$translator_threads" step emit-base-manifest 'Creating the local base translation manifest' - translator emit-base-manifest --project "$project" --out "$manifest_dir" --functions-dir "$functions" --translation-output-metadata "$metadata" --region P + translator emit-base-manifest --project "$project" --out "$manifest_dir" --functions-dir "$functions" --translation-output-metadata "$metadata" --region "$region" mkw_write_identity "$translation_provenance" TranslationFingerprint "$translation_fingerprint" fi if (( builds_retro )); then - mod_out="$workspace/build/mods/retro_rewind_full_cpp"; args=(translate-mod --project "$project" --profile retro-rewind --base-manifest "$manifest" --base-translation-output-metadata "$metadata" --code-pul "$retro_root/Binaries/Code.pul" --mod-root "$retro_root" --mod-name 'Retro Rewind' --region P --out "$mod_out" --prefer-cached-inputs --emit-cpp --threads "$translator_threads") - if (( skip_retro_wfc )); then args+=(--skip-retro-wfc); else offline_payload="$retro_wfc/binary/payload.RMCPD00.bin"; assert_file "$offline_payload" 'Offline Retro-WFC payload'; args+=(--retro-wfc-payload "$offline_payload"); fi + mod_out="$workspace/build/mods/retro_rewind_full_cpp"; args=(translate-mod --project "$project" --profile retro-rewind --base-manifest "$manifest" --base-translation-output-metadata "$metadata" --code-pul "$retro_root/Binaries/Code.pul" --mod-root "$retro_root" --mod-name 'Retro Rewind' --region "$region" --out "$mod_out" --prefer-cached-inputs --emit-cpp --threads "$translator_threads") + if (( skip_retro_wfc )); then args+=(--skip-retro-wfc); else payload_file=$(mkw_retro_wfc_payload_file "$project") || fail "$project pins no Retro-WFC payload"; offline_payload="$retro_wfc/$payload_file"; assert_file "$offline_payload" 'Offline Retro-WFC payload'; args+=(--retro-wfc-payload "$offline_payload"); fi step translate-mod 'Translating Retro Rewind'; translator "${args[@]}" fi step generate-data-init 'Generating local game data initialization'; translator generate-data-init --project "$project" diff --git a/Launcher/local-build.sh b/Launcher/local-build.sh index b90fe20..e26b258 100755 --- a/Launcher/local-build.sh +++ b/Launcher/local-build.sh @@ -208,7 +208,6 @@ if [[ "$x86_cpu_profile" == "auto" ]]; then fi fi -project=$workspace/projects/mkwii/recomp.yml assets=$workspace/Assets generated=$workspace/generated functions=$generated/functions @@ -221,9 +220,12 @@ translation_provenance=$generated/translation-provenance.json toolchain_provenance=$build/toolchain-provenance.json retro_root=${retro_rewind_package_dir:-$workspace/PulsarPacks/completed/RetroRewind/RetroRewind6} -assert_file "$project" "Translation project" assert_file "$assets/main.dol" "Extracted main.dol (see translator/README.md - owning the game is required)" assert_file "$assets/StaticR.rel" "Extracted StaticR.rel (see translator/README.md - owning the game is required)" +# The translation project is the one pinned to the extracted main.dol, which decides the region. +project=$(mkw_resolve_project "$workspace" "$assets") || fail "the extracted game cannot be translated" +region=$(mkw_project_pin "$project" region) +[[ -n "$region" ]] || fail "Could not find the region of $project" # The AppImage bundles Clang, but Linux startup objects and the C/C++ link runtimes # still come from the host. Check them before the expensive translation so a missing @@ -362,7 +364,7 @@ else log_step emit-base-manifest "Creating the local base translation manifest" translator emit-base-manifest --project "$project" --out "$base_manifest_dir" \ - --functions-dir "$functions" --translation-output-metadata "$base_metadata" --region P + --functions-dir "$functions" --translation-output-metadata "$base_metadata" --region "$region" mkw_write_identity "$translation_provenance" TranslationFingerprint "$translation_fingerprint" fi @@ -374,12 +376,13 @@ if (( builds_retro )); then translate_mod_args=(translate-mod --project "$project" --profile retro-rewind --base-manifest "$base_manifest" --base-translation-output-metadata "$base_metadata" --code-pul "$code_pul" --mod-root "$retro_root" --mod-name "Retro Rewind" - --region P --out "$retro_out" --prefer-cached-inputs --emit-cpp + --region "$region" --out "$retro_out" --prefer-cached-inputs --emit-cpp --threads "$translator_threads") if (( skip_retro_wfc_payload )); then translate_mod_args+=(--skip-retro-wfc) else - offline_payload=$retro_wfc_offline_dir/binary/payload.RMCPD00.bin + payload_file=$(mkw_retro_wfc_payload_file "$project") || fail "$project pins no Retro-WFC payload" + offline_payload=$retro_wfc_offline_dir/$payload_file assert_file "$offline_payload" "Offline Retro-WFC shared payload" translate_mod_args+=(--retro-wfc-payload "$offline_payload") fi diff --git a/Launcher/macos/extract-disc.command b/Launcher/macos/extract-disc.command index fb3fc05..7aaf384 100755 --- a/Launcher/macos/extract-disc.command +++ b/Launcher/macos/extract-disc.command @@ -1,30 +1,35 @@ #!/usr/bin/env bash -# Extract a user-owned Mario Kart Wii PAL (RMCP01) disc image for a local build. +# Extract a user-owned Mario Kart Wii disc image of a supported release for a local build. # This script deliberately contains no game data and is intended for the macOS # setup application and for maintainers testing that setup path. set -euo pipefail -readonly EXPECTED_DOL_SHA256=80d18895b39c63bd80f457398bfcbb91b7d16ac116a41a88967e954080155b05 -readonly EXPECTED_REL_SHA256=16d9d146112541fefea701ecb5bc1a496f9d50e4a752fbb5b6778e7c6399f67d +script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +# shellcheck source=../build-cache.sh +source "$script_dir/../build-cache.sh" fail() { printf 'extract-disc.command: error: %s\n' "$*" >&2; exit 1; } sha256() { shasum -a 256 "$1" | awk '{ print $1 }'; } usage() { cat <<'EOF' -Usage: extract-disc.command --game IMAGE --assets-dir DIR --nodtool PATH +Usage: extract-disc.command --game IMAGE --assets-dir DIR --nodtool PATH [--workspace DIR] -Extracts a user-owned Mario Kart Wii PAL RMCP01 image into DIR. The final -layout is DIR/main.dol, DIR/StaticR.rel, and DIR/DATA. Existing data is left -untouched unless the complete new extraction passes both content hash checks. +Extracts a user-owned Mario Kart Wii image into DIR. The image must be a release +a projects/*/recomp.yml in the workspace (default: this script's repository) +pins. The final layout is DIR/main.dol, DIR/StaticR.rel, and DIR/DATA. Existing +data is left untouched unless the complete new extraction passes both content +hash checks. EOF } game="" assets_dir="" nodtool="" +workspace=$(cd "$script_dir/../.." && pwd) while (($#)); do case "$1" in + --workspace) workspace=${2:-}; shift 2 ;; --game) game=${2:-}; shift 2 ;; --assets-dir) assets_dir=${2:-}; shift 2 ;; --nodtool) nodtool=${2:-}; shift 2 ;; @@ -39,11 +44,21 @@ done assets_dir=$(mkdir -p "$assets_dir" && cd "$assets_dir" && pwd) +# The disc's game ID selects the release, so an existing extraction is only reused for the same one. +printf 'MKWCBUILD:STEP:validate-disc Checking the selected disc image\n' +disc_info=$("$nodtool" info "$game") || fail 'nodtool could not read the disc image' +game_id=$(awk '/^Game ID: / { print $3; exit }' <<<"$disc_info") +[[ -n "$game_id" ]] || fail 'nodtool did not report the disc game ID' +project=$(mkw_project_for_game "$workspace" "$game_id") || fail "disc $game_id is not a supported Mario Kart Wii release" +expected_dol_sha256=$(mkw_project_pin "$project" dol) +expected_rel_sha256=$(mkw_project_pin "$project" rel) +[[ -n "$expected_dol_sha256" && -n "$expected_rel_sha256" ]] || fail "$project does not pin the clean $game_id digests" + # Sorted " " of every extracted file; recorded at extraction, compared on reuse. data_manifest() { (cd "$1" && find . -type f -print0 | LC_ALL=C sort -z | xargs -0 stat -f '%z %N'); } if [[ -d "$assets_dir/DATA/files" && -f "$assets_dir/.data-manifest" && -f "$assets_dir/main.dol" && -f "$assets_dir/StaticR.rel" ]] && \ - [[ $(sha256 "$assets_dir/main.dol") == "$EXPECTED_DOL_SHA256" && $(sha256 "$assets_dir/StaticR.rel") == "$EXPECTED_REL_SHA256" ]] && \ + [[ $(sha256 "$assets_dir/main.dol") == "$expected_dol_sha256" && $(sha256 "$assets_dir/StaticR.rel") == "$expected_rel_sha256" ]] && \ [[ "$(data_manifest "$assets_dir/DATA")" == "$(cat "$assets_dir/.data-manifest")" ]]; then printf 'MKWCBUILD:STEP:disc-ready Reusing the verified extracted game assets\n' exit 0 @@ -52,8 +67,6 @@ scratch=$(mktemp -d "${TMPDIR:-/tmp}/wiicompiled-disc.XXXXXX") cleanup() { rm -rf "$scratch"; } trap cleanup EXIT -printf 'MKWCBUILD:STEP:validate-disc Checking the selected disc image\n' -"$nodtool" info "$game" >/dev/null printf 'MKWCBUILD:STEP:extract-disc Extracting the user-owned disc image\n' "$nodtool" extract "$game" "$scratch/extracted" @@ -63,8 +76,8 @@ rel=$(find "$scratch/extracted" -type f -path '*/files/rel/StaticR.rel' -print - [[ -n "$rel" ]] || fail 'nodtool extraction did not contain files/rel/StaticR.rel' dol_sha=$(sha256 "$dol") rel_sha=$(sha256 "$rel") -[[ $dol_sha == "$EXPECTED_DOL_SHA256" ]] || fail "main.dol does not match the clean PAL RMCP01 image (expected $EXPECTED_DOL_SHA256, got $dol_sha)" -[[ $rel_sha == "$EXPECTED_REL_SHA256" ]] || fail "StaticR.rel does not match the clean PAL RMCP01 image (expected $EXPECTED_REL_SHA256, got $rel_sha)" +[[ $dol_sha == "$expected_dol_sha256" ]] || fail "main.dol does not match the clean $game_id image (expected $expected_dol_sha256, got $dol_sha)" +[[ $rel_sha == "$expected_rel_sha256" ]] || fail "StaticR.rel does not match the clean $game_id image (expected $expected_rel_sha256, got $rel_sha)" data_root=$(dirname "$(dirname "$dol")") [[ -d "$data_root/files" ]] || fail 'nodtool extraction did not contain the Wii files directory' @@ -92,4 +105,4 @@ mv "$stage/StaticR.rel" "$assets_dir/StaticR.rel" rmdir "$stage" rm -rf "$backup" -printf 'MKWCBUILD:STEP:disc-ready Verified and extracted clean PAL RMCP01 game assets\n' +printf 'MKWCBUILD:STEP:disc-ready Verified and extracted clean %s game assets\n' "$game_id" diff --git a/Launcher/macos/setup.command b/Launcher/macos/setup.command index e9d2b17..28c2e33 100755 --- a/Launcher/macos/setup.command +++ b/Launcher/macos/setup.command @@ -48,7 +48,7 @@ ninja_bin="$host_tools/ninja" if [[ -z "$game" ]]; then game=$(/usr/bin/osascript <<'APPLESCRIPT' -set selectedFile to choose file with prompt "Choose your clean Mario Kart Wii PAL (RMCP01) disc image" +set selectedFile to choose file with prompt "Choose your clean Mario Kart Wii disc image" POSIX path of selectedFile APPLESCRIPT ) || exit 0 @@ -100,18 +100,28 @@ if (( needs_workspace_refresh )); then fi fi +# The extracted disc decides the release, and with it the region's Retro-WFC payload. +# shellcheck source=../build-cache.sh +source "$workspace/Launcher/build-cache.sh" +"$workspace/Launcher/macos/extract-disc.command" --workspace "$workspace" --game "$game" \ + --assets-dir "$workspace/Assets" --nodtool "$nodtool" +project=$(mkw_resolve_project "$workspace" "$workspace/Assets") || fail 'the extracted game cannot be built' + profile=base -build_args=(--workspace "$workspace" --game "$game" --nodtool "$nodtool" --output-dir "$products") +build_args=(--workspace "$workspace" --output-dir "$products") if [[ -n "$retro_dir" ]]; then profile=both # Online play needs the shared Retro-WFC payload. Keep it in the per-user # support directory rather than the packaged app or build workspace, then # verify its pinned signature before publishing it into the local cache. + game_id=$(mkw_project_pin "$project" game_id) + payload_uri=$(mkw_project_pin "$project" retro_wfc_payload) + payload_file=$(mkw_retro_wfc_payload_file "$project") || fail "$project pins no Retro-WFC payload" retro_wfc_dir="$support_root/RetroWfcPayload" - retro_wfc_payload="$retro_wfc_dir/binary/payload.RMCPD00.bin" + retro_wfc_payload="$retro_wfc_dir/$payload_file" cached_payload_valid=0 if [[ -f "$retro_wfc_payload" ]]; then - if "$translator" validate-retro-wfc-payload --directory "$retro_wfc_dir"; then + if "$translator" validate-retro-wfc-payload --directory "$retro_wfc_dir" --game-id "$game_id"; then cached_payload_valid=1 else printf 'Discarding an invalid cached Retro-WFC payload...\n' >&2 @@ -125,15 +135,14 @@ if [[ -n "$retro_dir" ]]; then printf 'Downloading the current Retro-WFC payload needed for online play...\n' mkdir -p "$retro_wfc_dir" payload_stage=$(mktemp -d "$retro_wfc_dir/.payload-download.XXXXXX") - temporary_payload="$payload_stage/binary/payload.RMCPD00.bin" + temporary_payload="$payload_stage/$payload_file" mkdir -p "$(dirname "$temporary_payload")" trap 'rm -rf "$payload_stage"' EXIT if /usr/bin/curl --fail --silent --show-error --connect-timeout 10 --max-time 30 \ - --retry 1 --output "$temporary_payload" \ - 'https://rwfc.net/api/wfc/payload?g=RMCPD00'; then - "$translator" validate-retro-wfc-payload --directory "$payload_stage" || \ + --retry 1 --output "$temporary_payload" "$payload_uri"; then + "$translator" validate-retro-wfc-payload --directory "$payload_stage" --game-id "$game_id" || \ fail 'downloaded Retro-WFC payload failed signature validation' - mkdir -p "$retro_wfc_dir/binary" + mkdir -p "$(dirname "$retro_wfc_payload")" mv "$temporary_payload" "$retro_wfc_payload" rmdir "$payload_stage/binary" "$payload_stage" trap - EXIT diff --git a/projects/mkwii-ntsc-j/MAP.txt b/projects/mkwii-ntsc-j/MAP.txt new file mode 100644 index 0000000..f8c5a84 --- /dev/null +++ b/projects/mkwii-ntsc-j/MAP.txt @@ -0,0 +1,29432 @@ +# NTSC-J (RMCJ01) function map, ported from ../mkwii/MAP.txt (PAL RMCP01) by tools/region/port_map.py. +# Every entry was validated against the RMCJ01 main.dol/StaticR.rel; see MAP_REPORT.md next to this file. +# Verdicts: PROVEN=12202, REFERENCED=12693, PLAUSIBLE=4513, IDENTITY=15, INTERPOLATED=0, ADDED=6 (binary-proven entries no PAL entry covers); entries=29429 +800018a8 0x800018a8 +80001d50 0x80001d50 +80001d6c 0x80001d6c +80001d90 0x80001d90 +80001dc0 0x80001dc0 +80001de8 0x80001de8 +80001dec 0x80001dec +80001e14 0x80001e14 +80001e30 0x80001e30 +80001f1c 0x80001f1c +80001f40 0x80001f40 +80001f54 0x80001f54 +80002440 0x80002440 +8000245c 0x8000245c +8000249c __TRKreset +80005f34 memcpy +80005f84 __fill_mem +80006038 memset +80006068 __check_pad3 +80006090 __set_debug_bba +8000609c __get_debug_bba +800060a4 __start +80006210 __init_registers +800062a0 __init_data +80006348 __init_hardware +8000636c __flush_cache +800063a0 0x800063a0 +800072c0 StrapScene::__ct +800073f0 RKScene::__dt +80007448 StrapScene::__dt +800074a4 StrapScene::LinkModule +800074d8 StrapScene::enter +800077c8 StrapScene::CheckInput +800079d0 StrapScene::calc +80007bc0 EGG::ColorFader::getStatus +80007bc8 StrapScene::draw +80007f2c StrapScene::exit +80007f34 EGG::Scene::outgoing_child_create +80007f38 EGG::Scene::incoming_child_destroy +80007f3c EGG::Scene::reinit +80007f40 EGG::Scene::exit +80007f44 EGG::Scene::enter +80007f48 EGG::Scene::draw +80007f4c EGG::Scene::calc +80007f50 getContentArcNameByIdx +80007f64 0x80007f64 +80007f7c DiscError::__ct +80007fac DiscError::__dt +80008004 setDiscReadErrorMessage +80008050 0x80008050 +80008054 DiscInfoMessageData_printError +80008b2c nw4r::ut::Color::__dt +80008b6c DiscCheckThread::create +80008c0c DiscCheckThread::__dt +80008c74 DvdThread_main +80008d7c DiscCheckThread::halt +80008dd0 DiscInfo_printError +80008dd8 0x80008dd8 +80008ddc 0x80008ddc +80008de0 RKSystem::GetStaticInstance +80008dec RKSystem::WPADAlloc +80008e0c RKSystem::WPADFree +80008e4c RKSystem::Main +80008f08 RKSystem::GetSystemHeap +80008f10 EGG::TSystem::Initialize +800090ec EGG::TSystem::InitRenderMode +800090f0 RKSystem::Initialize +80009478 RKSystem::Run +80009774 EGG::TSystem::GetDisplay +8000977c EGG::TSystem::OnBeginFrame +80009780 EGG::TSystem::OnEndFrame +80009784 EGG::TSystem::GetSceneMgr +8000978c EGG::TSystem::GetPerfView +800097a0 RKSceneManager::ChangeSceneByCreatorAfterFadeOut +800097a8 RKSceneManager::calcCurrentFader +800098e0 RKSceneManager::calc +800098e4 RKSceneManager::draw +800098e8 RKSceneManager::drawCurrentFaderImpl +800098f8 RKSceneManager::calcCurrentFaderImpl +80009908 EGG::TSystem::GetVideo +80009910 EGG::TSystem::GetSystemHeap +80009918 EGG::TSystem::GetXfbMgr +80009920 EGG::TSystem::GetAudioMgr +80009928 __sinit_\RKSystem_cpp +80009a9c EGG::Vector3f::__dt +80009adc EGG::Vector2f::__dt +80009b1c ExpHeapGroup::SetHeapsGroupId +80009b80 ExpHeapGroup::CalculateGroupSizeRecords +80009be8 RKParameterFile::__ct +80009c3c RKParameterFile::__dt +80009cc8 RKParameterFile::AddParameter +80009d38 RKParameterFile::ReadParameterFile +80009e54 RamStream::__dt +80009eac RKParameterFile::vf_0x18 +80009eb0 RKParameterFile::vf_0x14 +80009eb4 RKParameterFile::vf_0x10 +80009eb8 ModuleLinker::Disposer__dt +80009f4c ModuleLinker::Create +80009fc8 ModuleLinker::0x8000a06c +80009fcc ModuleLinker::0x8000a070 +80009fd0 ModuleLinker::__dt +8000a0e4 ModuleLinker::Link +8000a354 ModuleLinker::CallModule +8000a39c ModuleLinker::Report +8000a4ac RKSceneCreator::create +8000a504 RKSceneCreator::destroy +8000a52c SystemManager::create +8000a580 SystemManager::__dt +8000a5e4 SystemManager::__ct +8000a84c SystemManager::PrepareLaunch +8000aae4 SystemManager::LoadMapFile +8000abac SystemManager::Init +8000ae9c SystemManager::GetCountry +8000af10 SystemManager::GetLongitude +8000afc4 SystemManager::GetLatitude +8000b078 SystemManager::Shutdown +8000b0ac SystemManager::ReturnToMenu +8000b0e0 SystemManager::RestartGame +8000b118 0x8000b118 +8000b134 0x8000b134 +8000b150 SystemManager::SetSystemPowerCallbacks +8000b190 SystemManager::HandlePowerState +8000b1fc SystemManager::GetGameId +8000b204 SystemManager::GenerateGameId +8000b22c SystemManager::RipFromDiscAsync +8000b294 SystemManager::RipFromDiscImpl +8000b460 SystemManager::ProcessRipRequest +8000b4ec SystemManager::RipFromDisc(heap) +8000b514 SystemManager::RipFromDisc(no heap) +8000b534 SystemManager::GetDisplayModeType +8000b578 SystemManager::StopAllControllerMotors +8000b5d4 Main +8000b5d8 __DBMtrHandler +8000b5fc __DBIntrHandler +8000b620 DBInitComm +8000b67c DBInitInterrupts +8000b6d0 DBQueryData +8000b774 DBRead +8000b7f4 DBWrite +8000b904 DBOpen +8000b908 DBClose +8000b90c __EXI2Imm +8000bbf4 __DBEXIInit +8000bcb0 __DBEXIReadReg +8000bdd4 __DBEXIWriteReg +8000bed8 __DBEXIReadRam +8000bfb8 __DBEXIWriteRam +8000c098 _ftell +8000c140 ftell +8000c144 _fseek +8000c308 fseek +8000c30c rewind +8000c354 atexit +8000c358 Block_link +8000c4a8 SubBlock_merge_next +8000c550 deallocate_from_fixed_pools +8000c73c free +8000c86c __close_all +8000c910 __flush_line_buffered_output_files +8000c994 __flush_all +8000ca00 __ull2dec +8000cadc __timesdec +8000cd64 __str2dec +8000ce50 __two_exp +8000ce8c __two_exp_switch +8000ce90 __two_exp_caseD_ffffffc0 +8000cea4 __two_exp_caseD_ffffffcb +8000cebc __two_exp_caseD_ffffffe0 +8000ced4 __two_exp_caseD_fffffff0 +8000ceec __two_exp_caseD_fffffff8 +8000cf04 __two_exp_caseD_fffffff9 +8000cf1c __two_exp_caseD_fffffffa +8000cf34 __two_exp_caseD_fffffffb +8000cf4c __two_exp_caseD_fffffffc +8000cf64 __two_exp_caseD_fffffffd +8000cf7c __two_exp_caseD_fffffffe +8000cf94 __two_exp_caseD_ffffffff +8000cfac __two_exp_caseD_0 +8000cfc4 __two_exp_caseD_1 +8000cfdc __two_exp_caseD_2 +8000cff4 __two_exp_caseD_3 +8000d00c __two_exp_caseD_4 +8000d024 __two_exp_caseD_5 +8000d03c __two_exp_caseD_6 +8000d054 __two_exp_caseD_7 +8000d06c __two_exp_caseD_8 +8000d084 __two_exp_caseD_ffffffc1 +8000d1bc __equals_dec +8000d2a0 __less_dec +8000d3a0 __minus_dec +8000d8bc __num2dec_internal +8000da20 __num2dec +8000dbc0 __dec2num +8000e358 __prep_buffer +8000e380 __load_buffer +8000e47c __flush_buffer +8000e534 fread +8000e538 __fread +8000e878 __fwrite +8000eb80 fclose +8000ec3c fflush +8000ed70 __msl_strnicmp +8000ee28 __fpclassifyf +8000ee88 __signbitd +8000eea0 __fpclassifyd +8000ef1c mbtowc +8000ef34 __mbtowc_noconv +8000ef80 __wctomb_noconv +8000ef9c mbstowcs +8000f05c wcstombs +8000f114 memmove +8000f1e0 memchr +8000f20c __memrchr +8000f238 memcmp +8000f284 __copy_longs_aligned +8000f340 __copy_longs_rev_aligned +8000f3e8 __copy_longs_unaligned +8000f4a8 __copy_longs_rev_unaligned +8000f554 __stdio_atexit +8000f564 parse_format +8000f8f4 parse_format_switch +8000f8f8 parse_format_caseD_58 +8000f940 parse_format_caseD_46 +8000f988 parse_format_caseD_41 +8000f9d4 parse_format_caseD_47 +8000f9e8 parse_format_caseD_45 +8000fa38 parse_format_caseD_70 +8000fa5c parse_format_caseD_63 +8000fa94 parse_format_caseD_73 +8000fac0 0x8000fac0 +8000fb20 long2str +8000fd58 longlong2str +80010008 double2hex +800103d8 round_decimal +80010500 float2str +80010c98 _pformatter +80010d98 _pformatter_switch +80010d9c _pformatter_caseD_64 +80010ef8 _pformatter_caseD_58 +80011054 _pformatter_caseD_45 +800110c4 _pformatter_caseD_41 +80011134 _pformatter_caseD_73 +80011258 _pformatter_caseD_6e +80011310 _pformatter_caseD_63 +80011330 _pformatter_caseD_25 +80011340 _pformatter_caseD_26 +80011544 __FileWrite +8001159c __StringWrite +80011608 printf +800116d4 vprintf +80011750 vsnprintf +800117d8 vsprintf +8001185c snprintf +80011950 sprintf +80011a24 qsort +80011b94 rand +80011bb4 srand +80011bbc parse_format +80011e90 parse_format_switch +80011e94 parse_format_caseD_58 +80011eac parse_format_caseD_41 +80011ef4 parse_format_caseD_70 +80011f08 parse_format_caseD_63 +80011f34 parse_format_caseD_73 +80011fec parse_format_caseD_5b +800121d8 parse_format_caseD_42 +800121e0 parse_format_caseD_6e +80012244 __sformatter +800124c8 __sformatter_switch +800124cc __sformatter_caseD_64 +800124d4 __sformatter_caseD_69 +80012614 __sformatter_switch +80012618 __sformatter_caseD_0 +80012620 __sformatter_caseD_1 +80012628 __sformatter_caseD_2 +80012630 __sformatter_caseD_3 +80012638 __sformatter_caseD_4 +8001264c __sformatter_caseD_5 +80012654 __sformatter_caseD_6 +8001265c __sformatter_caseD_7 +80012680 __sformatter_caseD_6f +80012688 __sformatter_caseD_75 +80012690 __sformatter_caseD_58 +800127ac __sformatter_switch +800127b0 __sformatter_caseD_0 +800127b8 __sformatter_caseD_1 +800127c0 __sformatter_caseD_2 +800127c8 __sformatter_caseD_3 +800127d0 __sformatter_caseD_4 +800127e4 __sformatter_caseD_5 +800127ec __sformatter_caseD_6 +800127f4 __sformatter_caseD_7 +80012818 __sformatter_caseD_41 +800128c0 __sformatter_caseD_63 +80012a6c __sformatter_caseD_25 +80012b14 __sformatter_caseD_73 +80012bb8 __sformatter_caseD_5b +80012e20 __sformatter_caseD_6e +80012e90 __sformatter_caseD_26 +80012edc __StringRead +80012f64 sscanf +8001302c raise +80013044 strcpy +80013104 strncpy +80013148 strcat +80013174 strncat +800131c0 strcmp +800132dc strncmp +8001331c strchr +8001334c strcspn +800133f0 strtok +80013514 strstr +80013580 __strtold +800148b4 atof +80014910 __strtoul +80014d24 __strtoull +800151cc strtoul +80015274 strtol +80015360 atoi +80015424 __write_console +800154f4 0x800154f4 +800154fc fwide +80015574 wmemcpy +8001557c wmemchr +800155a4 parse_format +800158f4 parse_format_switch +800158f8 parse_format_caseD_58 +8001593c parse_format_caseD_46 +80015988 parse_format_caseD_41 +800159d8 parse_format_caseD_47 +800159ec parse_format_caseD_45 +80015a40 parse_format_caseD_70 +80015a64 parse_format_caseD_63 +80015aa0 parse_format_caseD_73 +80015ad0 parse_format_caseD_6e +80015ae8 parse_format_caseD_42 +80015b34 long2str +80015d78 longlong2str +80016034 double2hex +8001648c round_decimal +800165b4 float2str +80016d40 __wpformatter +80016e50 __wpformatter_switch +80016e54 __wpformatter_caseD_64 +80016fb0 __wpformatter_caseD_58 +8001710c __wpformatter_caseD_45 +80017188 __wpformatter_caseD_41 +80017204 __wpformatter_caseD_73 +800173b0 __wpformatter_caseD_6e +80017468 __wpformatter_caseD_63 +800174c0 __wpformatter_caseD_25 +800174d0 __wpformatter_caseD_26 +800176cc __wStringWrite +80017738 swprintf +80017830 vswprintf +800178bc wcslen +800178d8 wcscpy +800178f4 wcsncpy +80017938 wcscmp +8001796c wcschr +80017998 __ieee754_acos +80017c64 __ieee754_asin +80017efc __ieee754_atan2 +80018154 __ieee754_fmod +80018484 __ieee754_log +80018738 __ieee754_log10 +8001884c __ieee754_pow +80019060 __ieee754_rem_pio2 +800193e4 __ieee754_sqrt +8001962c __kernel_cos +8001973c __kernel_rem_pio2 +8001adf4 __kernel_sin +8001aeb4 __kernel_tan +8001b104 nan +8001b108 scalbn +8001b10c atan +8001b33c ceil +8001b488 copysign +8001b4b4 cos +8001b57c floor +8001b6cc frexp +8001b754 ldexp +8001b8c0 modf +8001b9bc sin +8001ba88 tan +8001bb00 acos +8001bb04 asin +8001bb08 atan2 +8001bb0c fmod +8001bb10 log10 +8001bb14 pow +8001bb18 sqrt +8001bb1c stricmp +8001bbbc strncasecmp +8001bbc0 strcasecmp +8001bc60 CBGetBytesAvailableForRead +8001bc68 CircleBufferInitialize +8001bc8c CircleBufferWriteBytes +8001bd94 CircleBufferReadBytes +8001bea0 MWEnterCriticalSection +8001bed0 MWExitCriticalSection +8001bed8 gdev_cc_initialize +8001bf14 0x8001bf14 +8001bf1c 0x8001bf1c +8001bf40 0x8001bf40 +8001bf48 gdev_cc_read +8001bffc gdev_cc_write +8001c070 gdev_cc_pre_continue +8001c094 gdev_cc_post_stop +8001c0b8 gdev_cc_peek +8001c12c gdev_cc_initinterrupts +8001c150 TRK_DispatchMessage +8001c194 TRK_DispatchMessage_switch +8001c198 TRK_DispatchMessage_caseD_1 +8001c1a8 TRK_DispatchMessage_caseD_2 +8001c1b8 TRK_DispatchMessage_caseD_3 +8001c1c8 TRK_DispatchMessage_caseD_7 +8001c1d8 TRK_DispatchMessage_caseD_10 +8001c1e8 TRK_DispatchMessage_caseD_11 +8001c1f8 TRK_DispatchMessage_caseD_12 +8001c208 TRK_DispatchMessage_caseD_13 +8001c218 TRK_DispatchMessage_caseD_18 +8001c228 TRK_DispatchMessage_caseD_19 +8001c238 TRK_DispatchMessage_caseD_1a +8001c248 TRK_DispatchMessage_caseD_17 +8001c254 TRK_DispatchMessage_caseD_0 +8001c270 InitMetroTRK +8001c308 InitMetroTRK_BBA +8001c39c EnableMetroTRKInterrupts +8001c3a0 TRKTargetTranslate +8001c408 __TRK_copy_vectors +8001c53c TRKInitializeTarget +8001c584 __TRKreset +8001c594 TRKLoadContext +8001c61c TRKEXICallBack +8001c654 InitMetroTRKCommTable +8001c78c TRKUARTInterruptHandler +8001c790 TRK_InitializeIntDrivenUART +8001c810 TRKPollUART +8001c824 TRKReadUARTN +8001c860 TRK_WriteUARTN +8001c89c ReserveEXI2Port +8001c8b0 UnreserveEXI2Port +8001c8c4 0x8001c8c4 +8001c8dc InitializeProgramEndTrap +8001c930 TRK_flush_cache +8001c968 TRK_main +8001c9a4 TRK_NubMainLoop +8001ca90 TRK_memcpy +8001cbcc TRK_memset +8001ccf4 TRKSaveExtended1Block +8001ceb8 TRKRestoreExtended1Block +8001d01c TRK_MessageSend +8001d080 TRK_InitializeMessageBuffers +8001d0a0 TRK_GetFreeBuffer +8001d13c TRKGetBuffer +8001d160 TRK_ReleaseBuffer +8001d188 TRKResetBuffer +8001d1b0 TRK_SetBufferPosition +8001d1e0 TRK_AppendBuffer +8001d284 TRK_ReadBuffer +8001d314 TRKAppendBuffer1_ui32 +8001d3e4 TRKAppendBuffer1_ui64 +8001d4d8 TRKAppendBuffer_ui8 +8001d53c TRKAppendBuffer_ui32 +8001d62c TRKReadBuffer1_ui64 +8001d70c TRKReadBuffer_ui8 +8001d7a4 TRKReadBuffer_ui32 +8001d88c GetTRKConnected +8001d894 TRK_DoConnect +8001d904 TRKDoDisconnect +8001d98c TRKDoReset +8001d9f8 TRKDoOverride +8001da64 TRKDoReadMemory +8001dbf0 TRKDoReadMemory_switch +8001dbf4 TRKDoReadMemory_caseD_702 +8001dbfc TRKDoReadMemory_caseD_700 +8001dc04 TRKDoReadMemory_caseD_704 +8001dc0c TRKDoReadMemory_caseD_705 +8001dc14 TRKDoReadMemory_caseD_706 +8001dc1c TRKDoReadMemory_caseD_701 +8001dc98 TRKDoWriteMemory +8001de00 TRKDoWriteMemory_switch +8001de04 TRKDoWriteMemory_caseD_702 +8001de0c TRKDoWriteMemory_caseD_700 +8001de14 TRKDoWriteMemory_caseD_704 +8001de1c TRKDoWriteMemory_caseD_705 +8001de24 TRKDoWriteMemory_caseD_706 +8001de2c TRKDoWriteMemory_caseD_701 +8001dea8 TRKDoReadRegisters +8001e0a4 TRKDoWriteRegisters +8001e344 TRKDoContinue +8001e408 TRKDoStep +8001e68c TRKDoStop +8001e744 TRKDoSetOption +8001e810 __read_console +8001e878 __TRK_write_console +8001e8e0 __read_file +8001e8e8 __access_file +8001e8f0 0x8001e8f0 +8001e99c TRKDoNotifyStopped +8001ea2c TRKInitializeEventQueue +8001ea50 TRKGetNextEvent +8001eadc TRKPostEvent +8001eba8 TRKConstructEvent +8001ebc0 TRKDestructEvent +8001ebc8 TRK_InitializeNub +8001ec74 TRK_TerminateNub +8001ec98 TRK_board_display +8001eca4 TRK_InitializeEndian +8001ed18 TRKTestForPacket +8001ede4 TRKGetInput +8001ee10 TRKProcessInput +8001ee50 TRKInitializeSerialHandler +8001ee58 TRKTerminateSerialHandler +8001ee60 TRK_strlen +8001ee7c TRK_SuppAccessFile +8001f070 TRK_RequestSend +8001f198 HandleOpenFileSupportRequest +8001f2b0 HandleCloseFileSupportRequest +8001f394 HandlePositionFileSupportRequest +8001f4a0 TRKTargetContinue +8001f4d4 SetUseSerialIO +8001f4dc GetUseSerialIO +8001f4e4 __TRK_get_MSR +8001f4ec __TRK_set_MSR +8001f4f4 TRKValidMemory32 +8001f5ec TRK_ppc_memcpy +8001f6b8 TRKTargetAccessMemory +8001f808 TRKTargetAccessDefault +8001f900 TRKTargetAccessFP +8001fa3c TRKTargetAccessExtended1 +8001fba0 TRKTargetAccessExtended2 +8001ff40 0x8001ff40 +8001fff8 TRKSwapAndGo +80020110 TRKTargetInterrupt +8002016c TRKTargetAddStopInfo +800202a0 TRKTargetAddExceptionInfo +8002033c TRKTargetCheckStep +80020458 TRKTargetSingleStep +800204dc TRKTargetStepOutOfRange +8002054c TRKTargetGetPC +8002055c TRKTargetSupportRequest +80020750 TRKTargetStopped +80020760 TRKTargetSetStopped +80020770 TRKTargetStop +80020788 TRKPPCAccessSPR +80020864 TRKPPCAccessPairedSingleRegister +8002090c ReadFPSCR +80020930 WriteFPSCR +80020954 TRKPPCAccessFPRegister +80020b1c TRKPPCAccessSpecialReg +80020b84 TRKTargetSetInputPendingPtr +80020b94 GetThreadInfo +80020c24 TRKAccessFile +80020c2c 0x80020c2c +80020c34 0x80020c34 +80020c3c 0x80020c3c +80020c44 __sys_free +80020cfc __register_fragment +80020d30 __unregister_fragment +80020d58 __construct_new_array +80020e5c __partial_array_destructor::__dt +80020f18 __construct_array +80021010 __destroy_array +80021088 __destroy_new_array +80021108 __init_cpp_exceptions +80021144 __fini_cpp_exceptions +80021178 strlen +80021194 __va_arg +8002125c __register__global_object +80021274 __destroy__global_chain +800212bc __register_atexit +80021308 __ptmf_test +80021338 __ptmf_cmpr +80021374 __ptmf_scall +8002139c __cvt_fp2unsigned +800213f8 __save_fpr +8002141c _save_fpr_23 +80021430 _save_fpr_28 +80021444 __restore_fpr +80021468 _rest_fpr_23 +8002147c _rest_fpr_28 +80021490 _save_gpr_14 +80021494 _save_gpr_15 +80021498 _save_gpr_16 +8002149c _save_gpr_17 +800214a0 _save_gpr_18 +800214a4 _save_gpr_19 +800214a8 _save_gpr_20 +800214ac _save_gpr_21 +800214b0 _save_gpr_22 +800214b4 _save_gpr_23 +800214b8 _save_gpr_24 +800214bc _save_gpr_25 +800214c0 _save_gpr_26 +800214c4 _save_gpr_27 +800214dc _rest_gpr_14 +800214e0 _rest_gpr_15 +800214e4 _rest_gpr_16 +800214e8 _rest_gpr_17 +800214ec _rest_gpr_18 +800214f0 _rest_gpr_19 +800214f4 _rest_gpr_20 +800214f8 _rest_gpr_21 +800214fc _rest_gpr_22 +80021500 _rest_gpr_23 +80021504 _rest_gpr_24 +80021508 _rest_gpr_25 +8002150c _rest_gpr_26 +80021510 _rest_gpr_27 +80021528 __div2u +80021614 __div2i +8002174c __mod2u +80021830 __mod2i +8002193c __shl2i +80021960 __shr2u +80021984 __cvt_ull_db +80021a24 __cvt_dbl_ull +80021ad0 nw4r::db::DirectPrint_Init +80021b90 nw4r::db::DirectPrint_IsActive +80021bc0 nw4r::db::DirectPrint_EraseXfb +80021d50 nw4r::db::DirectPrint_ChangeXfb +80021d90 nw4r::db::DirectPrint_StoreCache +80021db0 nw4r::db::DirectPrint_DrawString +80021ea0 nw4r::db::DrawStringToXfb +80022000 nw4r::db::DrawStringLineToXfb +800220e0 nw4r::db::DrawCharToXfb +800223a0 nw4r::db::DirectPrint_SetupFB +80022590 nw4r::db::RemoveConsoleFromList_ +80022640 nw4r::db::Console_Create +800227f0 nw4r::db::Console_Destroy +80022820 nw4r::db::DoDrawConsole_ +800229d0 nw4r::db::Console_DrawDirect +80022a50 nw4r::db::PrintToBuffer_ +80022e00 nw4r::db::Console_VFPrintf +80022ee0 nw4r::db::Console_Printf +80023000 nw4r::db::Console_GetTotalLines +80023070 nw4r::db::Exception_Init +80023160 nw4r::db::ErrorHandler_ +800232a0 nw4r::db::RunThread_ +80023330 nw4r::db::DumpException_ +800234c0 nw4r::db::Exception_Printf_ +800235a0 nw4r::db::PrintContext_ +800238a0 nw4r::db::ShowMainInfo_ +80023ae0 nw4r::db::ShowGPRMap_ +80023b90 nw4r::db::ShowFloat_ +80023fa0 nw4r::db::Exception_SetConsole +80023fc0 nw4r::db::Exception_SetUserCallback +80023fe0 nw4r::db::DbgPrintBase::GetInstance +80023ff0 nw4r::db::DbgPrintBase::Initialize +800240b0 nw4r::db::DbgPrintBase::Initialize +80024170 nw4r::db::DbgPrintBase::SetFont +80024180 nw4r::db::DbgPrintBase::GetFont +80024190 nw4r::db::DbgPrintBase::SetTextColor +800241c0 nw4r::db::DbgPrintBase::GetTextColor +800241f0 nw4r::db::DbgPrintBase::SetFontSize +80024200 nw4r::db::DbgPrintBase::GetFontSize +80024210 nw4r::db::DbgPrintBase::SetVisible +80024220 nw4r::db::DbgPrintBase::IsVisible +80024230 nw4r::db::DbgPrintBase::Registerf +80024340 nw4r::db::DbgPrintBase::Registerf +80024460 nw4r::db::DbgPrintBase::VRegisterf +80024530 nw4r::db::DbgPrintBase::Register +800245e0 nw4r::db::DbgPrintBase::Registf +800246f0 nw4r::db::DbgPrintBase::Registf +80024810 nw4r::db::DbgPrintBase::VRegistf +800248e0 nw4r::db::DbgPrintBase::Reset +800248f0 0x800248f0 +80024990 nw4r::db::DbgPrintBase::Flush +80024b30 nw4r::db::DbgPrintBase::Flush +80024bf0 nw4r::db::DbgPrintBase::__ct +80024c60 nw4r::db::DbgPrintBase::__dt +80024cb0 nw4r::db::DbgPrintBase::Unregister +80024cd0 0x80024cd0 +80024d10 nw4r::db::DbgPrintBase::SetBuffer +80024d40 nw4r::db::DbgPrintBase::ReleaseBuffer +80024da0 nw4r::db::DbgPrintBase::Operator.new +80024df0 nw4r::db::DbgPrintBase::GetInstance +80024e10 nw4r::db::DbgPrintBase::Initialize +80024ed0 nw4r::db::DbgPrintBase::Initialize +80024f90 nw4r::db::DbgPrintBase::SetFont +80024fa0 nw4r::db::DbgPrintBase::GetFont +80024fb0 nw4r::db::DbgPrintBase::SetTextColor +80024fe0 nw4r::db::DbgPrintBase::GetTextColor +80025010 nw4r::db::DbgPrintBase::SetFontSize +80025020 nw4r::db::DbgPrintBase::GetFontSize +80025030 nw4r::db::DbgPrintBase::SetVisible +80025040 nw4r::db::DbgPrintBase::IsVisible +80025050 nw4r::db::DbgPrintBase::Registerf +80025160 nw4r::db::DbgPrintBase::Registerf +80025280 nw4r::db::DbgPrintBase::VRegisterf +80025350 nw4r::db::DbgPrintBase::Register +80025400 nw4r::db::DbgPrintBase::Registf +80025510 nw4r::db::DbgPrintBase::Registf +80025630 nw4r::db::DbgPrintBase::VRegistf +80025700 nw4r::db::DbgPrintBase::Reset +80025710 0x80025710 +800257b0 nw4r::db::DbgPrintBase::Flush +80025950 nw4r::db::DbgPrintBase::Flush +80025a10 nw4r::db::DbgPrintBase::__ct +80025a80 nw4r::db::DbgPrintBase::__dt +80025ad0 nw4r::db::DbgPrintBase::Unregister +80025af0 0x80025af0 +80025b30 nw4r::db::DbgPrintBase::SetBuffer +80025b60 nw4r::db::DbgPrintBase::ReleaseBuffer +80025bc0 nw4r::db::DbgPrintBase::Operator.new +80025c10 nw4r::db::DbgPrintBase::Operator.delete +80025c20 nw4r::db::Assertion_Printf_ +80025ce0 PrintExceptionTrace +80025d90 nw4r::db::VPanic +80025ed0 nw4r_db_Panic +80025f70 nw4r::db::VWarning +80026120 nw4r::db::WarningAlarmFunc_ +80026140 nw4r::ef::DrawOrder::Draw +800261d0 nw4r::ef::DrawOrder::Add +80026250 nw4r::ef::DrawOrder::Remove +80026260 nw4r::ef::Effect::__ct +800262d0 nw4r::ef::Effect::__dt +80026330 nw4r::ef::Effect::Initialize +80026470 nw4r::ef::Effect::Closing +80026480 0x80026480 +80026490 0x80026490 +800265a0 nw4r::ef::Effect::CreateEmitter +800266a0 nw4r::ef::Effect::RetireEmitter +80026730 nw4r::ef::Effect::RetireEmitterAll +80026800 nw4r::ef::Effect::RetireParticleAll +80026890 nw4r::ef::Effect::Calc +80026c80 nw4r::ef::Effect::Draw +80026cb0 nw4r::ef::Effect::GetRootEmitter +80026cc0 nw4r::ef::Effect::GetNumEmitter +80026cd0 nw4r::ef::Effect::GetEmitter +80026ce0 nw4r::ef::Effect::ForeachParticleManager +80026d70 nw4r::ef::Effect::ForeachEmitterFrom +80026e50 nw4r::ef::Effect::SetRootMtx +80026ec0 nw4r::ef::Effect::CreateEmitter +80026fc0 nw4r::ef::EffectSystem::__dt +80027050 nw4r::ef::EffectSystem::GetInstance +80027060 nw4r::ef::EffectSystem::Initialize +80027170 nw4r::ef::ActivityList::__ct +800271c0 nw4r::ef::EffectSystem::Closing +80027230 nw4r::ef::EffectSystem::CreateEffect(name) +800272a0 nw4r::ef::EffectSystem::CreateEffect(res) +800273d0 nw4r::ef::EffectSystem::RetireEffectAll +800274c0 nw4r::ef::EffectSystem::RetireEmitterAll +80027550 nw4r::ef::EffectSystem::RetireParticleAll +800275e0 nw4r::ef::EffectSystem::Draw +80027670 nw4r::ef::EffectSystem::SetProcessCamera +80027700 nw4r::ef::Swap +80027750 nw4r::ef::EffectSystem::SortEffect +800278d0 nw4r::ef::EffectSystem::SortEffectOperatorZ +800279d0 __sinit_\ef_effectsystem_cpp +80027b00 nw4r::ef::Emitter::__ct +80027b60 nw4r::ef::Emitter::__dt +80027ba0 nw4r::ef::Emitter::RetireParticleAll +80027c30 nw4r::ef::Emitter::DestroyFunc +80027c40 0x80027c40 +80027d30 nw4r::ef::Emitter::Closing +80027de0 nw4r::ef::Emitter::RetireParticleManagerAll +80027eb0 nw4r::ef::Emitter::InitializeDatas +80028180 nw4r::ef::Emitter::Initialize +800282f0 nw4r::ef::Emitter::CreateEmitter +800285d0 nw4r::ef::Emitter::CreateEmitterTmp +80028cb0 nw4r::ef::GetLODratio +80028db0 nw4r::ef::Emitter::Emission +80029200 nw4r::ef::Emitter::CalcEmitter +800293c0 nw4r::ef::Emitter::CalcParticle +80029450 nw4r::ef::Emitter::CalcEmission +80029570 nw4r::ef::Emitter::CalcBillboard +80029750 nw4r::ef::Emitter::RestructMatrix +80029980 nw4r::ef::Emitter::CalcGlobalMtx +80029ad0 nw4r::ef::Emitter::SetMtxDirty +80029be0 nw4r::ef::Emitter::GetNumParticleManager +80029bf0 nw4r::ef::Emitter::GetParticleManager +80029c00 nw4r::ef::ForeachParticleManagerSub +80029c50 nw4r::ef::Emitter::ForeachParticleManager +80029d40 nw4r::ef::AnimCurveExecuteU8 +8002b020 nw4r::ef::AnimCurveExecuteF32 +8002bfd0 nw4r::ef::AnimCurveExecuteRotate +8002d080 nw4r::ef::AnimCurveExecuteTexture +8002d650 nw4r::ef::CreateChild +8002d7c0 nw4r::ef::AnimCurveExecuteChild +8002e580 nw4r::ef::AnimBakedExecuteU8 +8002e8d0 nw4r::ef::AnimBakedExecuteF32 +8002ec20 nw4r::ef::GetTypePositionSphere +8002ed40 nw4r::ef::GetTypePositionCube +8002ee20 nw4r::ef::GetTypePositionCylinder +8002eef0 nw4r::ef::GetTypePositionCircle +8002f000 nw4r::ef::GetTypePositionRectangle +8002f0f0 nw4r::ef::GetTypePositionPlane +8002f1a0 nw4r::ef::CrossCheckPlane +8002f640 nw4r::ef::CrossCheckRectangle +8002fbe0 nw4r::ef::CrossCheckCircle +80030170 nw4r::ef::CrossCheckSphere +800307b0 nw4r::ef::CrossCheckCylinder +80030fa0 nw4r::ef::CrossCheckCube +800316e0 nw4r::ef::CrossCheck +80031b00 nw4r::ef::CalcPostField +80032360 nw4r::ef::Particle::__ct +80032370 nw4r::ef::Particle::__dt +800323b0 nw4r::ef::Particle::SendClosing +800323c0 nw4r::ef::Particle::DestroyFunc +800323d0 nw4r::ef::ParticleParameter::Initialize +800326f0 nw4r::ef::Particle::Initialize +80033110 nw4r::ef::Particle::GetAlphaFlick +80033350 nw4r::ef::ParticleManager::__ct +800333b0 nw4r::ef::ParticleManager::SendClosing +800333c0 nw4r::ef::ParticleManager::DestroyFunc +800333d0 nw4r::ef::ParticleManager::Closing +80033460 nw4r::ef::ParticleManager::RetireParticleAll +80033510 nw4r::ef::ParticleManager::Initialize +80033660 nw4r::ef::ParticleManager::__dt +800336a0 nw4r::ef::ParticleManager::CreateParticle +800337d0 nw4r::ef::ParticleManager::Calc +80034ea0 nw4r::ef::ParticleManager::Draw +80035180 nw4r::ef::ParticleManager::CalcGlobalMtx +80035260 nw4r::ef::ParticleManager::BeginCalc +800352d0 nw4r::ef::ParticleManager::EndCalc +80035320 nw4r::ef::ParticleManager::BeginDraw +80035420 nw4r::ef::ParticleManager::EndDraw +80035430 nw4r::ef::ParticleManager::Draw_ModifyColor +80035850 __sinit_\ef_particlemanager_cpp +80035860 nw4r::ef::Resource::GetInstance +80035870 nw4r::ef::BreffRelocate +800359e0 nw4r::ef::BreffSearchName +80035aa0 nw4r::ef::BreffIndexOf +80035b40 nw4r::ef::BreftRelocate +80035bd0 nw4r::ef::BreftSearchName +80035c90 nw4r::ef::Resource::Add +80035d10 nw4r::ef::Resource::FindEmitter +80035dd0 nw4r::ef::Resource::FindEmitter +80035e80 nw4r::ef::Resource::AddTexture +80035f00 nw4r::ef::Resource::RelocateCurveTexture +80036020 nw4r::ef::Resource::RelocateCurveChild +80036120 nw4r::ef::Resource::RelocateCommand +80036360 nw4r::ef::Resource::RemoveEffectProject +80036400 nw4r::ef::Resource::RemoveTextureProject +800364a0 __sinit_\ef_resource_cpp +800364f0 nw4r::ef::UtlistToArray +80036580 nw4r::ef::GetDirMtxY +80036690 nw4r::ef::MtxGetRotationMtx +800367b0 nw4r::ef::MtxGetRotation +80036920 nw4r::ef::MtxGetTranslate +80036940 nw4r::ef::MtxGetScale +80036e20 nw4r::ef::Normalize +80036e90 nw4r::ef::_PSSinCosRad +80036f10 nw4r::ef::PSSinCosRad +80036f90 nw4r::ef::Rotation2VecY +800370e0 nw4r::ef::PSMTX34RotXYZRad +80037260 nw4r::ef::MTX34ScaleNonZero +800372e0 nw4r::ef::MTX34ScaleNonZero +80037370 nw4r::ef::MTX34ScaleInv +80037420 nw4r::ef::MTXColLen +80037480 nw4r::ef::HandleBase::__ct +80037490 nw4r::ef::HandleBase::Operator=(HandleBase) +800374b0 nw4r::ef::HandleBase::Operator=(LinkedObject) +800374e0 nw4r::ef::HandleBase::IsValid +80037510 nw4r::ef::HandleBase::GetPtr +80037550 nw4r::ef::EmitterForm::CalcVelocity +80037a20 nw4r::ef::EmitterForm::CalcLife +80037b00 nw4r::ef::CreationQueue::__ct +80037b10 nw4r::ef::CreationQueue::AddParticleCreation +80037c90 nw4r::ef::CreationQueue::AddEmitterCreation +80037e10 nw4r::ef::CreationQueue::Execute +80037f50 nw4r::ef::EmitFormBuilder::Create +80037fd0 __sinit_\ef_emform_cpp +80038030 nw4r::ef::EmitterFormPoint::Emission +80038380 nw4r::ef::EmitterFormLine::Emission +800386c0 nw4r::ef::EmitterFormDisc::Emission +80038bf0 nw4r::ef::EmitterFormSphere::Emission +80039450 nw4r::ef::EmitterFormCylinder::EmissionSub +800398b0 nw4r::ef::EmitterFormCylinder::Emission +80039c00 nw4r::ef::EmitterFormTorus::Emission +8003a240 nw4r::ef::EmitterFormCube::EmissionSub +8003a580 nw4r::ef::EmitterFormCube::Emission +8003be50 nw4r::ef::DrawStrategyBuilder::Create +8003bfd0 nw4r::ef::DrawStrategyImpl::__ct +8003c2e0 nw4r::ef::DrawStrategyImpl::Initialize +8003c3c0 nw4r::ef::DrawStrategyImpl::_InitTev +8003c6b0 nw4r::ef::DrawStrategyImpl::_InitColor +8003ca80 nw4r::ef::DrawStrategyImpl::SetupGP +8003cf20 nw4r::ef::DrawStrategyImpl::_SetupTevReg +8003d750 nw4r::ef::DrawStrategyImpl::_SetupTexture +8003ddc0 nw4r::ef::DrawStrategyImpl::GetGetFirstDrawParticle +8003dde0 nw4r::ef::DrawStrategyImpl::GetGetNextDrawParticle +8003de00 nw4r::ef::DrawStrategyImpl::GetFirstDrawParticle_EldersFirst +8003de30 nw4r::ef::DrawStrategyImpl::GetFirstDrawParticle_YoungersFirst +8003de80 nw4r::ef::DrawStrategyImpl::GetNextDrawParticle_EldersFirst +8003deb0 nw4r::ef::DrawStrategyImpl::GetNextDrawParticle_YoungersFirst +8003dee0 nw4r::ef::DrawStrategyImpl::AheadContext::__ct +8003e100 nw4r::ef::DrawStrategyImpl::__dt +8003e140 __sinit_\ef_drawstrategyimpl_cpp +8003e1d0 nw4r::ef::DrawBillboardStrategy::__ct +8003e210 nw4r::ef::DrawBillboardStrategy::Draw +8003e250 nw4r::ef::DrawBillboardStrategy::DrawNormalBillboard +8003ed10 nw4r::ef::DrawBillboardStrategy::DrawYBillboard +8003f640 nw4r::ef::DrawBillboardStrategy::DrawDirectionalB +8003fed0 nw4r::ef::DrawBillboardStrategy::InitGraphics +8003ffa0 nw4r::ef::DrawBillboardStrategy::GetCalcAheadFunc +80040020 nw4r::ef::DrawStrategyImpl::CalcAhead_Speed +80040100 nw4r::ef::DrawStrategyImpl::CalcAhead_EmitterCent +800401c0 nw4r::ef::DrawStrategyImpl::CalcAhead_EmitterDesi +800401e0 nw4r::ef::DrawStrategyImpl::CalcAhead_Particle +80040300 nw4r::ef::DrawStrategyImpl::CalcAhead_ParticleBot +80040570 nw4r::ef::DrawBillboardStrategy::__dt +800405b0 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +800405f0 nw4r::ef::DrawQuad +80040730 nw4r::math::VEC3::__ct +80040740 nw4r::math::VEC3Transform +80040780 0x80040780 +80040790 nw4r::ef::DrawQuad +80040930 nw4r::ef::DrawDirectionalStrategy::Draw +80040a40 nw4r::ef::EmitterResource::GetEmitterDrawSetting +80040a50 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +800417d0 nw4r::math::MTX34::__ct +800417e0 nw4r::ef::DrawInfo::GetViewMtxCooked +800419b0 nw4r::math::MTX34Mult +800419f0 nw4r::math::VEC3::Operator= +80041a10 nw4r::math::VEC3::__ct +80041a20 nw4r::ef::DrawStrategyImpl::Normalize +80041a90 nw4r::math::VEC3Dot +80041ab0 nw4r::ef::DrawStrategyImpl::GetYoungestParticle +80041ac0 nw4r::ef::DrawStrategyImpl::GetElderParticle +80041ad0 nw4r::ef::Particle::Draw_GetSizeX +80041b50 nw4r::ef::Particle::Draw_GetSizeY +80041c30 nw4r::ef::Particle::GetMoveDir +80041c80 nw4r::math::FSqrt +80041cd0 nw4r::ef::CalcRotate +80042040 nw4r::math::MTX34::__ct +80042090 nw4r::ef::CalcLocalTransform +80042290 nw4r::math::VEC3Cross +800422d0 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +80042910 nw4r::ef::DrawDirectionalStrategy::InitGraphics +800429d0 nw4r::ef::DrawDirectionalStrategy::GetCalcAheadFu +80042a60 nw4r::ef::DrawStrategyImpl::CalcAhead_NoDesign +80042a90 nw4r::ef::DrawDirectionalStrategy::~DrawDirection +80042ad0 nw4r::ef::DrawFreeStrategy::__ct +80042b10 nw4r::ef::DrawQuad +80042c50 nw4r::ef::DrawFreeStrategy::Draw +80043590 nw4r::ef::DrawFreeStrategy::__dt +800435d0 nw4r::ef::DrawLineStrategy::__ct +80043610 nw4r::ef::DrawLineStrategy::Draw +80043c90 nw4r::ef::DrawLineStrategy::__dt +80043cd0 nw4r::ef::DrawPointStrategy::__ct +80043d10 nw4r::ef::DrawPointStrategy::Draw +800441b0 nw4r::ef::DrawPointStrategy::__dt +800441f0 nw4r::ef::DrawStripeStrategy::__ct +80044230 nw4r::ef::DrawStripeStrategy::DrawStripe +80044570 nw4r::ef::DrawStrategyImpl::GetNumDrawParticle +80044580 nw4r::ef::DrawStripeStrategy::GetStripeTexmapType +80044590 nw4r::math::FInv +800445b0 nw4r::ef::DrawStripeStrategy::DrawParticle +80044a50 GXEnd +80044a60 nw4r::ef::DrawStripeStrategy::CalcVertexTube +80044f60 nw4r::ef::DrawStripeStrategy::DrawTubeSegment +80045340 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045600 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045940 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045d00 nw4r::ef::DrawStripeStrategy::DrawStripeTube +80045ef0 nw4r::ef::DrawStripeStrategy::Draw +80046760 nw4r::ef::DrawStripeStrategy::GetInitialPrevAxis +800468b0 nw4r::ef::DrawStripeStrategy::GetCalcAheadFunc +80046980 nw4r::ef::DrawStripeStrategy::CalcAhead_Particle_ +80046aa0 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80046d10 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80046fd0 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80047200 nw4r::ef::DrawStripeStrategy::__dt +80047240 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80047280 nw4r::ef::DrawSmoothStripeStrategy::CalcVertex +80047670 nw4r::ef::DrawSmoothStripeStrategy::CalcVertexTub +80047b70 nw4r::ef::DrawSmoothStripeStrategy::DrawSection_B +80047e40 nw4r::math::VEC3::Operator+ +80047e70 nw4r::ef::DrawSmoothStripeStrategy::DrawSectionEn +80048090 nw4r::ef::DrawSmoothStripeStrategy::DrawSectionTu +80048b50 GXEnd +80048b60 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80048eb0 nw4r::ef::DrawSmoothStripeStrategy::GetDrawOrder +80048ec0 nw4r::ef::DrawSmoothStripeStrategy::GetStripeTexm +80048ed0 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Verte +80048ee0 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049300 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +800497a0 nw4r::ef::DrawStrategyImpl::GetYoungestDrawPartic +800497f0 nw4r::math::VEC3::Operator- +80049820 nw4r::math::VEC3::Operator+= +80049850 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Verte +80049890 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Opera +800498d0 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049bd0 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049f80 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +8004a500 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +8004a710 nw4r::ef::DrawSmoothStripeStrategy::Draw +8004b0c0 nw4r::ef::DrawSmoothStripeStrategy::GetInitialPre +8004b210 nw4r::ef::DrawSmoothStripeStrategy::GetCalcAheadF +8004b2e0 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b400 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b670 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b930 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004bb60 nw4r::ef::DrawSmoothStripeStrategy::~DrawSmoothSt +8004bba0 nw4r::ef::ResEmitter::GetEmitTrack +8004bbd0 nw4r::ef::ResAnimCurve::SetStop +8004bc00 nw4r::g3d::ResName::Operator== +8004bc50 nw4r::g3d::detail::ResWriteBPCmd +8004bc80 nw4r::g3d::detail::ResWriteBPCmd +8004bce0 nw4r::g3d::detail::ResWriteCPCmd +8004bd10 nw4r::g3d::detail::ResWriteXFCmd +8004bd50 nw4r::g3d::detail::ResWriteSSMask +8004bdb0 nw4r::g3d::ResDic::Get +8004be90 nw4r::g3d::ResDic::Get +8004bf70 ResDic_operator[] +8004bff0 ResDic_operator[] +8004c060 nw4r::g3d::ResDic::GetIndex +8004c0f0 nw4r::g3d::ResDic::GetIndex +8004c160 nw4r::g3d::ResFile::GetResMdl(name) +8004c1d0 nw4r::g3d::ResFile::GetResMdl(idx) +8004c270 nw4r::g3d::ResFile::GetResMdl(u32 idx) +8004c310 nw4r::g3d::ResFile::GetResMdlNumEntries +8004c380 nw4r::g3d::ResFile::GetResPltt +8004c400 nw4r::g3d::ResFile::GetResTex +8004c470 nw4r::g3d::ResFile::GetResTex +8004c4f0 nw4r::g3d::ResFile::GetResTex(idx) +8004c590 nw4r::g3d::ResFile::GetResTex(u32 idx) +8004c630 nw4r::g3d::ResFile::GetResTexNumEntries +8004c6a0 nw4r::g3d::ResFile::GetResAnmChr(name) +8004c710 nw4r::g3d::ResFile::GetResAnmChr(ResName) +8004c7b0 nw4r::g3d::ResFile::GetResAnmChrNumEntries +8004c820 nw4r::g3d::ResFile::GetResAnmClr(name) +8004c890 nw4r::g3d::ResFile::GetResAnmClr(ResName) +8004c930 nw4r::g3d::ResFile::GetResAnmClrNumEntries +8004c9a0 nw4r::g3d::ResFile::GetResAnmTexPat(name) +8004ca10 nw4r::g3d::ResFile::GetResAnmTexPat(ResName) +8004cab0 nw4r::g3d::ResFile::GetResAnmTexPatNumEntries +8004cb20 nw4r::g3d::ResFile::GetResAnmTexSrt(name) +8004cb90 nw4r::g3d::ResFile::GetResAnmTexSrt(ResName) +8004cc30 nw4r::g3d::ResFile::GetResAnmTexSrtNumEntries +8004cca0 nw4r::g3d::ResFile::GetResAnmShp(name) +8004cd10 nw4r::g3d::ResFile::GetResAnmShp(ResName) +8004cdb0 nw4r::g3d::ResFile::GetResAnmShpNumEntries +8004ce20 nw4r::g3d::ResFile::GetResAnmScn +8004ce90 nw4r::g3d::ResFile::HasResMdl +8004cee0 nw4r::g3d::ResFile::HasResAnmChr +8004cf30 nw4r::g3d::ResFile::HasResAnmVis +8004cf80 nw4r::g3d::ResFile::HasResAnmClr +8004cfd0 nw4r::g3d::ResFile::HasResAnmTexPat +8004d020 nw4r::g3d::ResFile::HasResAnmTexSrt +8004d070 nw4r::g3d::ResFile::HasResAnmShp +8004d0c0 nw4r::g3d::ResFile::HasResAnmScn +8004d110 nw4r::g3d::ResFile::Bind +8004d350 nw4r::g3d::ResFile::Release +8004d550 nw4r::g3d::ResFile::Init +8004d820 nw4r::g3d::ResFile::CheckRevision +8004e170 nw4r::g3d::ResMdl::GetResByteCode +8004e1c0 nw4r::g3d::ResMdl::GetResNode(name) +8004e210 nw4r::g3d::ResMdl::GetResNode(ResName) +8004e260 nw4r::g3d::ResMdl::GetResNode(idx) +8004e2c0 nw4r::g3d::ResMdl::GetResNode(u32 idx) +8004e320 nw4r::g3d::ResMdl::GetResNodeNumEntries +8004e360 nw4r::g3d::ResMdl::GetResVtxPos +8004e3b0 nw4r::g3d::ResMdl::GetResVtxPos +8004e410 nw4r::g3d::ResMdl::GetResVtxPos +8004e470 nw4r::g3d::ResMdl::GetResVtxPosNumEntries +8004e4b0 nw4r::g3d::ResMdl::GetResVtxNrm +8004e500 nw4r::g3d::ResMdl::GetResVtxNrm +8004e560 nw4r::g3d::ResMdl::GetResVtxNrm +8004e5c0 nw4r::g3d::ResMdl::GetResVtxNrmNumEntries +8004e600 nw4r::g3d::ResMdl::GetResVtxClr +8004e650 nw4r::g3d::ResMdl::GetResVtxClr +8004e6b0 nw4r::g3d::ResMdl::GetResVtxClr +8004e710 nw4r::g3d::ResMdl::GetResVtxClrNumEntries +8004e750 nw4r::g3d::ResMdl::GetResVtxTexCoord +8004e7b0 nw4r::g3d::ResMdl::GetResVtxFurPos +8004e810 nw4r::g3d::ResMdl::GetResMat(name) +8004e860 nw4r::g3d::ResMdl::GetResMat(resname) +8004e8b0 nw4r::g3d::ResMdl::GetResMat(idx) +8004e910 nw4r::g3d::ResMdl::GetResMat(u32 idx) +8004e970 nw4r::g3d::ResMdl::GetResMatNumEntries +8004e9b0 nw4r::g3d::ResMdl::GetResShp +8004ea10 nw4r::g3d::ResMdl::GetResShp +8004ea70 nw4r::g3d::ResMdl::GetResShpNumEntries +8004eab0 nw4r::g3d::ResMdl::GetResTexPlttInfoOffsetFromTexName +8004eb10 nw4r::g3d::ResMdl::GetResTexPlttInfoOffsetFromTexNameNumEntries +8004eb50 nw4r::g3d::ResMdl::Bind +8004ec60 nw4r::g3d::ResMdl::Release +8004ed50 nw4r::g3d::ResMdl::Init +8004f2f0 nw4r::g3d::ResShp::GetResVtxPos +8004f340 nw4r::g3d::ResShp::GetResVtxNrm +8004f3a0 nw4r::g3d::ResShp::GetResVtxClr +8004f410 nw4r::g3d::ResShp::GetResVtxFurPos +8004f470 nw4r::g3d::ResShp::Init +8004f800 nw4r::g3d::ResShp::CallPrePrimitiveDisplayList +8004f8e0 0x8004f8e0 +8004f950 nw4r::g3d::ResTev::GXSetTevSwapModeTable +8004fa00 nw4r::g3d::ResTev::GXSetTevSwapMode +8004fa60 nw4r::g3d::ResTev::GXSetTevAlphaIn +8004faf0 nw4r::g3d::ResTev::GXSetTevAlphaOp +8004fba0 nw4r::g3d::ResTev::GXSetTevKColorSel +8004fc30 nw4r::g3d::ResTev::GXSetTevKAlphaSel +8004fcc0 nw4r::g3d::ResTev::GXGetTevOrder +8004fd90 nw4r::g3d::ResTev::GXSetTevOrder +8004feb0 nw4r::g3d::ResTev::GXGetTevColorOp +8004ff90 nw4r::g3d::ResTev::GXSetTevColorIn +80050020 nw4r::g3d::ResTev::GXSetTevColorOp +800500d0 nw4r::g3d::ResTev::GXGetIndTexOrder +80050170 nw4r::g3d::ResTev::SetNumTevStages +80050260 nw4r::g3d::ResTev::CallDisplayList +800502c0 nw4r::g3d::ResTev::CopyTo +80050330 nw4r::g3d::ResTev::DCStore +80050350 nw4r::g3d::ResMat::GetParent +80050370 nw4r::g3d::ResMatPix::DCStore +80050390 nw4r::g3d::ResMatTevColor::DCStore +800503b0 nw4r::g3d::ResMatIndMtxAndScale::DCStore +800503d0 nw4r::g3d::ResMatTexCoordGen::DCStore +800503f0 0x800503f0 +80050420 0x80050420 +80050450 nw4r::g3d::ResMatPix::CopyTo +80050490 nw4r::g3d::ResMatTevColor::CopyTo +800504d0 nw4r::g3d::ResMatIndMtxAndScale::CopyTo +80050510 nw4r::g3d::ResMatTexCoordGen::CopyTo +80050550 nw4r::g3d::ResTexObj::GetTexObj +80050580 nw4r::g3d::ResTexObj::GetTexObj +800505b0 nw4r::g3d::ResTexObj::IsValidTexObj +800505f0 SetTextureUsed +80050620 nw4r::g3d::ResTexObj::CopyTo +800506b0 nw4r::g3d::ResTlutObj::GetTlut +800506e0 nw4r::g3d::ResTlutObj::GetTlut +80050710 nw4r::g3d::ResTlutObj::IsValidTlut +80050750 nw4r::g3d::ResTlutObj::CopyTo +800507e0 nw4r::g3d::ResTexSrt::CopyTo +800508c0 0x800508c0 +80050940 0x80050940 +80050990 0x80050990 +80050a10 nw4r::g3d::ResGenMode::GXSetNumTexGens +80050a30 nw4r::g3d::ResGenMode::GXSetNumTexStages +80050a50 nw4r::g3d::ResGenMode::GXSetCullMode +80050a70 nw4r::g3d::ResGenMode::CopyTo +80050ab0 nw4r::g3d::ResMatMisc::GXGetZCompLoc +80050ad0 nw4r::g3d::ResMatMisc::SetLightSetIdx +80050b00 nw4r::g3d::ResMatMisc::GetLightSetIdx +80050b20 nw4r::g3d::ResMatMisc::GetFogIdx +80050b40 nw4r::g3d::ResMatMisc::GetIndirectTexMtxCalcMetho +80050b90 nw4r::g3d::ResMatMisc::CopyTo +80050c00 nw4r::g3d::ResMatFur::GetLyrRate +80050cc0 nw4r::g3d::ResMatPix::GXSetZMode +80050ce0 nw4r::g3d::ResMatPix::GXSetDstAlpha +80050d00 nw4r::g3d::ResMatTevColor::GXGetTevColor +80050dc0 nw4r::g3d::ResMatTevColor::GXSetTevColor +80050e60 nw4r::g3d::ResMatTevColor::GXGetTevKColor +80050f20 nw4r::g3d::ResMatTevColor::GXSetTevKColor +80050fb0 nw4r::g3d::ResMatIndMtxAndScale::CallDisplayList +80050ff0 nw4r::g3d::ResMatIndMtxAndScale::GXGetIndTexMtx +800512b0 nw4r::g3d::ResMatIndMtxAndScale::GXGetIndTexMtx +800514a0 nw4r::g3d::ResMatIndMtxAndScale::GXSetIndTexMtx +80051610 nw4r::g3d::ResMatChan::GXGetChanMatColor +80051650 nw4r::g3d::ResMatChan::GXGetChanCtrl +80051710 nw4r::g3d::ResMatChan::CopyTo +80051770 nw4r::g3d::ResMatTexCoordGen::CallDisplayList +80051840 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2 +800519f0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2 +80051a54 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_switch +80051a58 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_0 +80051a64 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_1 +80051a70 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_2 +80051a7c nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_3 +80051a88 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_13 +80051a90 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_14 +80051a98 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_4 +80051aa0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_5 +80051aa8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_6 +80051ab0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_7 +80051ab8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_8 +80051ac0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_9 +80051ac8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_a +80051ad0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_b +80051ad8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_c +80051ae0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_d +80051ae8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_e +80051af0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_f +80051af8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_10 +80051b00 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_11 +80051b08 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_12 +80051bf0 nw4r::g3d::ResMat::Bind +80051cc0 nw4r::g3d::ResMat::Release +80051d60 nw4r::g3d::ResMat::ForceBindTex +80051fb0 nw4r::g3d::ResMat::ReleaseTex +800520b0 nw4r::g3d::ResMat::Init +800520e0 nw4r::g3d::ResMat::GetResTev +80052100 nw4r::g3d::ResMat::GetResMatFur +80052120 nw4r::g3d::ResTexPlttInfo::Bind +800523e0 nw4r::g3d::ResVtxPos::SetArray +80052420 nw4r::g3d::ResVtxPos::GetArray +80052460 nw4r::g3d::ResVtxPos::CopyTo +800524c0 0x800524c0 +80052500 0x80052500 +80052540 nw4r::g3d::ResVtxNrm::CopyTo +800525a0 0x800525a0 +800525e0 nw4r::g3d::ResVtxClr::GetArray +80052620 nw4r::g3d::ResVtxClr::CopyTo +80052680 0x80052680 +800526c0 0x800526c0 +80052740 nw4r::g3d::ResVtxPos::DCStore +80052760 nw4r::g3d::ResVtxNrm::DCStore +80052780 nw4r::g3d::ResVtxClr::DCStore +800527a0 nw4r::g3d::ResVtxTexCoord::DCStore +800527c0 nw4r::g3d::ResVtxFurVec::DCStore +800527e0 nw4r::g3d::ResVtxFurPos::DCStore +80052800 0x80052800 +80052820 0x80052820 +80052850 nw4r::g3d::ResTex::GetTexObjParam +80052910 nw4r::g3d::ResTex::GetTexObjCIParam +800529d0 0x800529d0 +80052a00 nw4r::g3d::ResTex::Init +80052a10 nw4r::g3d::ResNode::PatchChrAnmResult +80052bb0 nw4r::g3d::ResNode::CalcChrAnmResult +80052d20 nw4r::g3d::ResNode::SetScale +80052dd0 nw4r::g3d::ResNode::SetTranslate +80052e60 nw4r::g3d::ResNode::SetRotate +80052ef0 nw4r::g3d::detail::GetResKeyFrameAnmResult +80053030 nw4r::g3d::detail::GetResColorAnmResult +80053140 nw4r::g3d::ResAnmClr::GetAnmResult +800532b0 nw4r::g3d::@unnamed@g3d_resanmtexpat_cpp@::Search +80053370 nw4r::g3d::ResAnmTexPat::GetAnmResult +800534f0 nw4r::g3d::ResAnmTexPat::Bind +80053660 nw4r::g3d::ResAnmTexPat::Release +80053800 0x80053800 +80053c20 0x80053c20 +80053ed0 0x80053ed0 +80054010 0x80054010 +80054190 0x80054190 +80054380 0x80054380 +80054df0 0x80054df0 +80055050 nw4r::g3d::ResAnmChr::GetAnmResult_ +80055070 nw4r::g3d::ResAnmChr::GetAnmResult_T +80055100 nw4r::g3d::ResAnmChr::GetAnmResult_R +80055170 nw4r::g3d::ResAnmChr::GetAnmResult_S +800551b0 nw4r::g3d::ResAnmChr::GetAnmResult_RT +80055260 nw4r::g3d::ResAnmChr::GetAnmResult_SR +80055300 nw4r::g3d::ResAnmChr::GetAnmResult_ST +800553a0 nw4r::g3d::ResAnmChr::GetAnmResult_SRT +80055460 nw4r::g3d::ResAnmChr::GetAnmResult +800554e0 nw4r::g3d::ChrAnmResult::GetScale +80055520 nw4r::g3d::ChrAnmResult::GetRotTrans +800555d0 nw4r::g3d::ChrAnmResult::SetRotTrans +80055760 nw4r::g3d::ResLightSet::Bind +800558d0 nw4r::g3d::ResAnmAmbLight::GetAnmResult +800559a0 0x800559a0 +80055d90 0x80055d90 +80055ef0 nw4r::g3d::ResAnmCamera::GetAnmResult +80056200 nw4r::g3d::ResAnmScn::HasResAnmAmbLight +80056260 nw4r::g3d::ResAnmScn::HasResAnmLight +800562c0 nw4r::g3d::ResAnmScn::GetResLightSetNumEntries +80056340 nw4r::g3d::ResAnmScn::GetResAnmAmbLight(ResName) +800563d0 nw4r::g3d::ResAnmScn::GetResAnmAmbLight(idx) +80056480 nw4r::g3d::ResAnmScn::GetResAnmAmbLightNumEntries +80056500 nw4r::g3d::ResAnmScn::GetResAnmLight(ResName) +80056590 nw4r::g3d::ResAnmScn::GetResAnmLight(idx) +80056640 nw4r::g3d::ResAnmScn::GetResAnmLightNumEntries +800566c0 nw4r::g3d::ResAnmScn::GetResAnmFog +80056770 nw4r::g3d::ResAnmScn::GetResAnmFogNumEntries +800567f0 nw4r::g3d::ResAnmScn::GetResAnmCamera +800568a0 nw4r::g3d::ResAnmScn::GetResAnmCameraNumEntries +80056920 nw4r::g3d::ResAnmScn::GetResLightSetByRefNumber(u32) +80056970 nw4r::g3d::ResAnmScn::GetResLightSetByRefNumber(int) +800569c0 nw4r::g3d::ResAnmScn::GetResAnmAmbLightByRefNumber +80056a10 nw4r::g3d::ResAnmScn::GetResAnmLightByRefNumber +80056a60 nw4r::g3d::ResAnmScn::GetResAnmFogByRefNumber +80056ab0 nw4r::g3d::ResAnmScn:GetResAnmCameraByRefNumber(u32) +80056b00 nw4r::g3d::ResAnmScn:GetResAnmCameraByRefNumber(int) +80056b50 nw4r::g3d::ResAnmScn::Bind +80056cc0 0x80056cc0 +80056e30 nw4r::g3d::ApplyVisAnmResult +80056ef0 nw4r::g3d::ApplyVisAnmResult +80056f80 0x80056f80 +80056fa0 0x80056fa0 +80056fe0 0x80056fe0 +80056ff0 0x80056ff0 +80057000 0x80057000 +80057010 0x80057010 +80057050 0x80057050 +800570c0 0x800570c0 +800571b0 0x800571b0 +800572d0 0x800572d0 +80057330 0x80057330 +800573b0 0x800573b0 +80057440 0x80057440 +800574a0 0x800574a0 +80057530 0x80057530 +80057590 0x80057590 +80057690 0x80057690 +80057750 0x80057750 +800577d0 0x800577d0 +80057910 0x80057910 +800579c0 0x800579c0 +80057bb0 0x80057bb0 +80057c70 0x80057c70 +80057c80 0x80057c80 +80057d40 0x80057d40 +80057d50 0x80057d50 +80057e30 0x80057e30 +80057f30 0x80057f30 +80057fb0 0x80057fb0 +80058000 nw4r::g3d::ApplyClrAnmResult +800584c0 0x800584c0 +80058530 0x80058530 +80058580 0x80058580 +800585b0 0x800585b0 +800585c0 0x800585c0 +80058610 0x80058610 +80058690 0x80058690 +80058700 0x80058700 +80058730 0x80058730 +80058740 0x80058740 +800587b0 0x800587b0 +800587e0 0x800587e0 +800587f0 0x800587f0 +80058820 0x80058820 +80058830 0x80058830 +80058850 nw4r::g3d::AnmObjTexPat::Release +80058890 nw4r::g3d::AnmObjTexPat::Attach +800588a0 nw4r::g3d::AnmObjTexPat::Detach +800588b0 nw4r::g3d::AnmObjTexPat::DetachAll +800588c0 nw4r::g3d::AnmObjTexPat::__dt +80058900 nw4r::g3d::AnmObjTexPatNode::__dt +80058970 nw4r::g3d::AnmObjTexPatNode::Attach +80058a60 nw4r::g3d::AnmObjTexPatNode::Detach +80058b80 nw4r::g3d::AnmObjTexPatNode::DetachAll +80058be0 nw4r::g3d::AnmObjTexPatNode::UpdateFrame +80058c60 nw4r::g3d::AnmObjTexPatNode::SetFrame +80058cf0 nw4r::g3d::AnmObjTexPatNode::GetFrame +80058d50 nw4r::g3d::AnmObjTexPatNode::SetUpdateRate +80058de0 nw4r::g3d::AnmObjTexPatNode::GetUpdateRate +80058e40 nw4r::g3d::AnmObjTexPatNode::Bind +80058f40 nw4r::g3d::AnmObjTexPatNode::Release +80059000 nw4r::g3d::AnmObjTexPatNode::G3dProc +80059080 nw4r::g3d::AnmObjTexPatOverride::Construct +800591c0 nw4r::g3d::AnmObjTexPatOverride::GetResult +80059280 nw4r::g3d::AnmObjTexPatRes::Construct +80059470 nw4r::g3d::AnmObjTexPatRes::SetFrame +80059530 nw4r::g3d::AnmObjTexPatRes::GetFrame +80059540 nw4r::g3d::AnmObjTexPatRes::SetUpdateRate +80059600 nw4r::g3d::AnmObjTexPatRes::GetUpdateRate +80059610 nw4r::g3d::AnmObjTexPatRes::UpdateFrame +800596f0 nw4r::g3d::AnmObjTexPatRes::Bind +800597f0 nw4r::g3d::AnmObjTexPatRes::GetResult +80059870 nw4r::g3d::AnmObjTexPatRes::G3dProc +800598c0 nw4r::g3d::ApplyTexPatAnmResult +80059ac0 nw4r::g3d::AnmObjTexPatRes::IsDerivedFrom +80059b30 nw4r::g3d::AnmObjTexPat::IsDerivedFrom +80059b80 nw4r::g3d::AnmObjTexPatRes::GetTypeName +80059bb0 nw4r::g3d::AnmObjTexPatRes::GetTypeObj +80059bc0 nw4r::g3d::AnmObjTexPatRes::__dt +80059c10 nw4r::g3d::AnmObjTexPatOverride::IsDerivedFrom +80059c90 nw4r::g3d::AnmObjTexPatNode::IsDerivedFrom +80059d00 nw4r::g3d::AnmObjTexPatOverride::GetTypeName +80059d30 nw4r::g3d::AnmObjTexPatOverride::GetTypeObj +80059d40 nw4r::g3d::AnmObjTexPatOverride::__dt +80059db0 nw4r::g3d::AnmObjTexPatNode::GetTypeName +80059de0 nw4r::g3d::AnmObjTexPatNode::GetTypeObj +80059df0 nw4r::g3d::AnmObjTexPat::GetTypeName +80059e20 nw4r::g3d::AnmObjTexPat::GetTypeObj +80059e30 0x80059e30 +80059e50 0x80059e50 +80059e90 0x80059e90 +80059ea0 0x80059ea0 +80059eb0 0x80059eb0 +80059ec0 0x80059ec0 +80059f00 0x80059f00 +80059f70 0x80059f70 +8005a060 0x8005a060 +8005a180 0x8005a180 +8005a1e0 0x8005a1e0 +8005a260 0x8005a260 +8005a2f0 0x8005a2f0 +8005a350 0x8005a350 +8005a3e0 0x8005a3e0 +8005a440 0x8005a440 +8005a540 0x8005a540 +8005a600 0x8005a600 +8005a680 0x8005a680 +8005a7c0 0x8005a7c0 +8005a870 0x8005a870 +8005aa60 nw4r::g3d::AnmObjTexSrtRes::SetFrame +8005ab20 0x8005ab20 +8005ab30 0x8005ab30 +8005abf0 0x8005abf0 +8005ac00 0x8005ac00 +8005ace0 0x8005ace0 +8005ade0 0x8005ade0 +8005ae60 0x8005ae60 +8005aeb0 0x8005aeb0 +8005af50 0x8005af50 +8005b100 0x8005b100 +8005b170 0x8005b170 +8005b1c0 0x8005b1c0 +8005b1f0 0x8005b1f0 +8005b200 0x8005b200 +8005b250 0x8005b250 +8005b2d0 0x8005b2d0 +8005b340 0x8005b340 +8005b370 0x8005b370 +8005b380 0x8005b380 +8005b3f0 0x8005b3f0 +8005b420 0x8005b420 +8005b430 0x8005b430 +8005b460 0x8005b460 +8005b470 nw4r::g3d::AnmObjChr::Release +8005b4b0 nw4r::g3d::AnmObjChr::Attach +8005b4c0 nw4r::g3d::AnmObjChr::Attach +8005b4d0 nw4r::g3d::AnmObjChr::SetWeight +8005b4e0 nw4r::g3d::AnmObjChr::GetWeight +8005b4f0 nw4r::g3d::AnmObjChr::DetachAll +8005b500 nw4r::g3d::AnmObjChr::__dt +8005b540 nw4r::g3d::AnmObjChrNode::__dt +8005b5b0 nw4r::g3d::AnmObjChrNode::Attach +8005b6a0 nw4r::g3d::AnmObjChrNode::Detach +8005b7c0 nw4r::g3d::AnmObjChrNode::DetachAll +8005b820 nw4r::g3d::AnmObjChrNode::UpdateFrame +8005b8a0 nw4r::g3d::AnmObjChrNode::SetFrame +8005b930 nw4r::g3d::AnmObjChrNode::GetFrame +8005b990 nw4r::g3d::AnmObjChrNode::SetUpdateRate +8005ba20 0x8005ba20 +8005ba80 nw4r::g3d::AnmObjChrNode::Bind +8005bb80 nw4r::g3d::AnmObjChrNode::Bind(BindOption) +8005bc90 nw4r::g3d::AnmObjChrNode::Release +8005bd50 nw4r::g3d::AnmObjChrNode::Release(BindOption) +8005bea0 nw4r::g3d::AnmObjChrNode::G3dProc +8005bf20 nw4r::g3d::AnmObjChrBlend::Construct +8005c0a0 nw4r::g3d::AnmObjChrBlend::GetResult +8005c6e0 nw4r::g3d::AnmObjChrBlend::SetWeight +8005c6f0 nw4r::g3d::AnmObjChrBlend::GetWeight +8005c700 nw4r::g3d::AnmObjChrRes::Construct +8005c8f0 nw4r::g3d::AnmObjChrRes::SetFrame +8005c9b0 nw4r::g3d::AnmObjChrRes::GetFrame +8005c9c0 nw4r::g3d::AnmObjChrRes::SetUpdateRate +8005ca80 nw4r::g3d::AnmObjChrRes::GetUpdateRate +8005ca90 nw4r::g3d::AnmObjChrRes::UpdateFrame +8005cb70 nw4r::g3d::AnmObjChrRes::Bind +8005cc80 nw4r::g3d::AnmObjChrRes::Bind(BindOption) +8005ce80 nw4r::g3d::AnmObjChrRes::Release(BindOption) +8005d050 nw4r::g3d::AnmObjChrRes::GetResult +8005d0d0 nw4r::g3d::AnmObjChrRes::G3dProc +8005d120 nw4r::g3d::AnmObjChrRes::IsDerivedFrom +8005d190 nw4r::g3d::AnmObjChr::IsDerivedFrom +8005d1e0 nw4r::g3d::AnmObjChrRes::GetTypeName +8005d210 nw4r::g3d::AnmObjChrRes::GetTypeObj +8005d220 nw4r::g3d::AnmObjChrRes::__dt +8005d270 nw4r::g3d::AnmObjChrBlend::IsDerivedFrom +8005d2f0 nw4r::g3d::AnmObjChrNode::IsDerivedFrom +8005d360 nw4r::g3d::AnmObjChrBlend::GetTypeName +8005d390 nw4r::g3d::AnmObjChrBlend::GetTypeObj +8005d3a0 nw4r::g3d::AnmObjChrBlend::__dt +8005d410 nw4r::g3d::AnmObjChrNode::GetTypeName +8005d440 nw4r::g3d::AnmObjChrNode::GetTypeObj +8005d450 nw4r::g3d::AnmObjChr::GetTypeName +8005d480 nw4r::g3d::AnmObjChr::GetTypeObj +8005d490 0x8005d490 +8005d4b0 0x8005d4b0 +8005d4f0 0x8005d4f0 +8005d500 0x8005d500 +8005d510 0x8005d510 +8005d520 0x8005d520 +8005d530 0x8005d530 +8005d540 0x8005d540 +8005d580 0x8005d580 +8005d5f0 0x8005d5f0 +8005d6e0 0x8005d6e0 +8005d800 0x8005d800 +8005d860 0x8005d860 +8005d8e0 0x8005d8e0 +8005d970 0x8005d970 +8005d9d0 0x8005d9d0 +8005da60 0x8005da60 +8005dac0 0x8005dac0 +8005dbc0 0x8005dbc0 +8005dc80 0x8005dc80 +8005dd00 0x8005dd00 +8005de80 0x8005de80 +8005e190 0x8005e190 +8005e1a0 0x8005e1a0 +8005e1b0 0x8005e1b0 +8005e3f0 0x8005e3f0 +8005e4c0 0x8005e4c0 +8005e4d0 0x8005e4d0 +8005e590 0x8005e590 +8005e5a0 0x8005e5a0 +8005e690 0x8005e690 +8005e850 0x8005e850 +8005e8d0 0x8005e8d0 +8005e920 0x8005e920 +8005e990 0x8005e990 +8005e9e0 0x8005e9e0 +8005ea10 0x8005ea10 +8005ea20 0x8005ea20 +8005ea70 0x8005ea70 +8005eaf0 0x8005eaf0 +8005eb60 0x8005eb60 +8005eb90 0x8005eb90 +8005eba0 0x8005eba0 +8005ec10 0x8005ec10 +8005ec40 0x8005ec40 +8005ec50 0x8005ec50 +8005ec80 0x8005ec80 +8005ec90 0x8005ec90 +8005ef10 nw4r::g3d::AnmScn::GetLightSetting +8005f240 0x8005f240 +8005f250 0x8005f250 +8005f260 0x8005f260 +8005f2a0 0x8005f2a0 +8005f2b0 0x8005f2b0 +8005f2c0 0x8005f2c0 +8005f2d0 0x8005f2d0 +8005f2e0 0x8005f2e0 +8005f2f0 0x8005f2f0 +8005f300 0x8005f300 +8005f310 0x8005f310 +8005f320 0x8005f320 +8005f330 0x8005f330 +8005f340 0x8005f340 +8005f350 nw4r::g3d::AnmScnRes::Construct +8005f4f0 nw4r::g3d::AnmScnRes::__ct +8005f600 0x8005f600 +8005f640 nw4r::g3d::AnmScnRes::SetFrame +8005f6a0 0x8005f6a0 +8005f6b0 0x8005f6b0 +8005f6e0 0x8005f6e0 +8005f6f0 0x8005f6f0 +8005f770 0x8005f770 +8005f7c0 0x8005f7c0 +8005f900 0x8005f900 +8005f970 0x8005f970 +8005fb00 nw4r::g3d::AnmScnRes::GetFog +8005fbb0 nw4r::g3d::AnmScnRes::GetCamera +8005fd10 0x8005fd10 +8005fdb0 0x8005fdb0 +8005fe40 0x8005fe40 +8005fed0 0x8005fed0 +8005ff60 0x8005ff60 +8005ffa0 0x8005ffa0 +8005fff0 0x8005fff0 +80060170 0x80060170 +800601c0 0x800601c0 +80060200 0x80060200 +80060230 0x80060230 +80060240 0x80060240 +80060270 0x80060270 +80060280 nw4r::g3d::G3dObj::__dt +800602d0 nw4r::g3d::G3dObj::Destroy +80060350 nw4r::g3d::G3dObj::DetachFromParent +800603b0 nw4r::g3d::G3dObj::IsDerivedFrom +800603d0 nw4r::g3d::G3dObj::GetTypeName +80060400 nw4r::g3d::G3dObj::GetTypeObj +80060410 0x80060410 +80060420 nw4r::g3d::PlayPolicy_Loop +80060490 nw4r::g3d::AnmObj::SetAnmFlag +800604c0 nw4r::g3d::AnmObj::TestAnmFlag +800604e0 nw4r::g3d::fifo::GDSetGenMode2 +80060560 0x80060560 +80060590 Fifo_GDSetTexCoordScale2 +80060600 nw4r::g3d::fifo::GDSetIndTexMtx +800608a0 0x800608a0 +80060900 0x80060900 +80060980 0x80060980 +80060a00 nw4r::g3d::tmem::SetTMemLayout +80060b00 TexRegionCallback(_GXTexObj_* +80060bd0 0x80060bd0 +80060c00 setTexRegion_(TMemCachePlan) +80060d60 nw4r::g3d::detail::Copy32ByteBlocks +80060e40 nw4r::g3d::detail::ZeroMemory32ByteBlocks +80060f10 nw4r::g3d::detail::ZeroMemory16ByteBlocks +80060fa0 0x80060fa0 +80061380 0x80061380 +80061490 0x80061490 +800618d0 nw4r::g3d::detail::ScnDependentMtxFunc::DefaultMa +800618e0 nw4r::g3d::G3DState::IndTexMtxInfo::FifoSend +80061950 0x80061950 +80061990 0x80061990 +800619a0 0x800619a0 +80061aa0 0x80061aa0 +80061ed0 nw4r::g3d::G3DState::CameraMtxState::CameraMtxSta +80061f70 nw4r::g3d::G3DState::LoadResMatMisc +80061fe0 nw4r::g3d::G3DState::LoadResTexObj +80062250 nw4r::g3d::G3DState::LoadResTlutObj +800623a0 nw4r::g3d::G3DState::LoadResGenMode +80062570 nw4r::g3d::G3DState::LoadResTev +80062780 nw4r::g3d::G3DState::LoadResMatPix +80062830 nw4r::g3d::G3DState::LoadResMatTevColor +800628e0 nw4r::g3d::G3DState::LoadResMatIndMtxAndScale +800629a0 nw4r::g3d::G3DState::LoadResMatIndMtxAndScale +80062b70 nw4r::g3d::G3DState::LoadResMatChan +800632a0 nw4r::g3d::G3DState::LoadResMatTexCoordGen +80063330 nw4r::g3d::G3DState::LoadResTexSrt +800635e0 0x800635e0 +80063790 0x80063790 +80063ae0 nw4r::g3d::G3DState::SetViewPosNrmMtxArray +80063b70 0x80063b70 +80063c40 nw4r::g3d::G3DState::SetScnDependentTexMtxFunc +80063cb0 nw4r::g3d::G3DState::GetScnDependentTexMtxFunc +80063d10 0x80063d10 +80063d50 0x80063d50 +80063d60 0x80063d60 +80063e00 nw4r::g3d::G3DState::LoadFog +80063ec0 0x80063ec0 +80063ed0 0x80063ed0 +80063f00 nw4r::g3d::G3DState::LoadLightSet +80063f60 nw4r::g3d::G3DState::LoadLightSet +80063ff0 nw4r::g3d::G3DState::SetCameraProjMtx +800640a0 nw4r::g3d::G3DState::GetCameraMtxPtr +800640c0 0x800640c0 +80064130 nw4r::g3d::G3DState::GetCameraMtxPtr +80064160 nw4r::g3d::G3DState::SetRenderModeObj +80064360 nw4r::g3d::G3DState::GetRenderModeObj +80064370 nw4r::g3d::G3DState::Invalidate +800644c0 nw4r::g3d::G3DState::IndMtxOpStd::SetNrmMapMtx +80064620 nw4r::g3d::G3DState::IndMtxOpStd::Reset +80064670 nw4r::g3d::G3DState::IndMtxOpStd::__cl +800647e0 __sinit_g3d_state_cpp +80064a50 nw4r::g3d::detail::LoadMaterial +80064ef0 0x80064ef0 +800657a0 0x800657a0 +80065850 0x80065850 +80065920 0x80065920 +80065b60 0x80065b60 +80065e40 0x80065e40 +80066120 0x80066120 +800664a0 0x800664a0 +80066720 0x80066720 +800669c0 0x800669c0 +80066cf0 0x80066cf0 +80067190 0x80067190 +800676f0 0x800676f0 +80067780 0x80067780 +800677e0 0x800677e0 +800677f0 nw4r::g3d::detail::workmem::GetMtxIDTemporary +80067800 0x80067800 +80067810 0x80067810 +80067820 0x80067820 +80067830 0x80067830 +80067840 nw4r::g3d::WorldMtxManip::SetScale +800678c0 nw4r::g3d::CalcWorld +80067e90 0x80067e90 +80068170 0x80068170 +80068690 0x80068690 +80068860 nw4r::g3d::DrawResMdlLoop(byteCode) +800689a0 nw4r::g3d::DrawResMdlLoop(byteCode, rep) +80068b70 nw4r::g3d::DrawResMdlLoop(MdlZ) +80068c80 nw4r::g3d::DrawResMdlLoop(MdlZ, rep) +80068de0 nw4r::g3d::SetUpMdlZ +80068f20 nw4r::g3d::DrawResMdlDirectly +80069150 0x80069150 +80069190 0x80069190 +80069200 0x80069200 +800697c0 0x800697c0 +80069d80 0x80069d80 +80069fe0 nw4r::g3d::Camera::__ct +80069ff0 nw4r::g3d::Camera::Init +8006a040 nw4r::g3d::Camera::Init +8006a160 nw4r::g3d::Camera::SetPosition +8006a190 nw4r::g3d::Camera::SetPosition +8006a1d0 nw4r::g3d::Camera::SetPosture +8006a3f0 nw4r::g3d::Camera::SetCameraMtxDirectly +8006a440 nw4r::g3d::Camera::SetPerspective +8006a480 nw4r::g3d::Camera::SetOrtho +8006a4c0 nw4r::g3d::Camera::SetProjectionMtxDirectly +8006a510 nw4r::g3d::Camera::SetScissor +8006a530 nw4r::g3d::Camera::SetScissorBoxOffset +8006a550 nw4r::g3d::Camera::SetViewport +8006a5f0 nw4r::g3d::Camera::SetViewportZRange +8006a610 nw4r::g3d::Camera::GetViewport +8006a680 nw4r::g3d::Camera::GetCameraMtx +8006a6e0 nw4r::g3d::Camera::GetProjectionMtx +8006a7c0 nw4r::g3d::Camera::GetProjectionTexMtx +8006a890 nw4r::g3d::Camera::GetEnvironmentTexMtx +8006a910 nw4r::g3d::Camera::GXSetViewport +8006a9a0 nw4r::g3d::Camera::GXSetProjection +8006aa70 nw4r::g3d::Camera::GXSetScissor +8006aaa0 nw4r::g3d::Camera::GXSetScissorBoxOffset +8006aac0 0x8006aac0 +8006aee0 0x8006aee0 +8006b040 nw4r::g3d::detail::dcc::CalcWorldMtx_Basic +8006b1b0 0x8006b1b0 +8006b1f0 0x8006b1f0 +8006b290 0x8006b290 +8006b2d0 0x8006b2d0 +8006b390 0x8006b390 +8006b440 0x8006b440 +8006b490 0x8006b490 +8006b570 0x8006b570 +8006b5f0 0x8006b5f0 +8006b720 0x8006b720 +8006b750 0x8006b750 +8006b8f0 0x8006b8f0 +8006ba40 0x8006ba40 +8006bad0 0x8006bad0 +8006bc80 0x8006bc80 +8006bd20 nw4r::g3d::detail::dcc::CalcWorldMtx_Maya_SSC_App +8006bec0 0x8006bec0 +8006bf00 0x8006bf00 +8006bf90 0x8006bf90 +8006bfd0 0x8006bfd0 +8006c070 0x8006c070 +8006c140 0x8006c140 +8006c190 0x8006c190 +8006c260 0x8006c260 +8006c2e0 0x8006c2e0 +8006c3f0 0x8006c3f0 +8006c420 0x8006c420 +8006c560 0x8006c560 +8006c690 0x8006c690 +8006c720 0x8006c720 +8006c880 0x8006c880 +8006c920 nw4r::g3d::detail::dcc::CalcWorldMtx_Xsi +8006cae0 0x8006cae0 +8006cb30 0x8006cb30 +8006cbe0 0x8006cbe0 +8006cc20 0x8006cc20 +8006cce0 0x8006cce0 +8006cdb0 0x8006cdb0 +8006ce10 0x8006ce10 +8006cee0 0x8006cee0 +8006cf60 0x8006cf60 +8006d090 0x8006d090 +8006d0c0 0x8006d0c0 +8006d210 0x8006d210 +8006d350 0x8006d350 +8006d3f0 0x8006d3f0 +8006d560 0x8006d560 +8006d600 nw4r::g3d::ScnObj::CalcWorldMtx +8006d6b0 nw4r::g3d::ScnObj::CalcViewMtx +8006d6d0 nw4r::g3d::ScnObj::__ct +8006d7c0 nw4r::g3d::ScnObj::__dt +8006d840 nw4r::g3d::ScnObj::SetScnObjOption +8006d860 nw4r::g3d::ScnObj::SetScnObjOption_caseD_1 +8006d888 nw4r::g3d::ScnObj::SetScnObjOption_caseD_2 +8006d8b0 nw4r::g3d::ScnObj::SetScnObjOption_caseD_3 +8006d8d8 nw4r::g3d::ScnObj::SetScnObjOption_caseD_4 +8006d900 nw4r::g3d::ScnObj::SetScnObjOption_caseD_5 +8006d928 nw4r::g3d::ScnObj::SetScnObjOption_caseD_6 +8006d950 nw4r::g3d::ScnObj::SetScnObjOption_caseD_7 +8006d978 nw4r::g3d::ScnObj::SetScnObjOption_caseD_8 +8006d9a0 nw4r::g3d::ScnObj::SetScnObjOption_caseD_9 +8006d9c8 nw4r::g3d::ScnObj::SetScnObjOption_caseD_0 +8006d9e0 nw4r::g3d::ScnObj::GetScnObjOption +8006da10 nw4r::g3d::ScnObj::GetScnObjOption_caseD_1 +8006da20 nw4r::g3d::ScnObj::GetScnObjOption_caseD_2 +8006da30 nw4r::g3d::ScnObj::GetScnObjOption_caseD_3 +8006da40 nw4r::g3d::ScnObj::GetScnObjOption_caseD_4 +8006da50 nw4r::g3d::ScnObj::GetScnObjOption_caseD_5 +8006da60 nw4r::g3d::ScnObj::GetScnObjOption_caseD_6 +8006da70 nw4r::g3d::ScnObj::GetScnObjOption_caseD_7 +8006da80 nw4r::g3d::ScnObj::GetScnObjOption_caseD_8 +8006da90 nw4r::g3d::ScnObj::GetScnObjOption_caseD_9 +8006daa0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_0 +8006dab0 nw4r::g3d::ScnObj::SetMtx +8006db40 nw4r::g3d::ScnObj::SetMtx +8006dba0 nw4r::g3d::ScnObj::GetMtx +8006dbf0 nw4r::g3d::ScnObj::GetValueForSortOpa +8006dc00 nw4r::g3d::ScnObj::GetValueForSortXlu +8006dc10 nw4r::g3d::ScnObj::SetPriorityDrawOpa +8006dc40 nw4r::g3d::ScnObj::SetPriorityDrawXlu +8006dc70 nw4r::g3d::ScnObj::EnableScnObjCallbackTiming +8006dcb0 nw4r::g3d::ScnObj::EnableScnObjCallbackExecOp +8006dcd0 nw4r::g3d::ScnObj::SetBoundingVolume +8006dd60 nw4r::g3d::ScnObj::GetBoundingVolume +8006ddc0 nw4r::g3d::ScnLeaf::ForEach +8006de00 nw4r::g3d::ScnLeaf::SetScnObjOption +8006de40 nw4r::g3d::ScnLeaf::GetScnObjOption +8006de90 nw4r::g3d::ScnObj::CalcWorldMtx +8006df90 nw4r::g3d::ScnLeaf::GetScaleProperty +8006dfd0 nw4r::g3d::ScnLeaf::DefG3dProcScnLeaf +8006e2b0 nw4r::g3d::ScnGroup::Construct +8006e370 nw4r::g3d::ScnGroup::ForEach +8006e4b0 nw4r::g3d::ScnGroup::ScnGroup_G3DPROC_GATHER_SCNOBJ +8006e5d0 nw4r::g3d::ScnGroup::G3dProc +8006e610 nw4r::g3d::ScnGroup::DefG3dProcScnGroup +8006ea80 nw4r::g3d::ScnGroup::Insert +8006ec10 nw4r::g3d::ScnGroup::Remove(idx) +8006ecd0 nw4r::g3d::ScnGroup::Remove(ScnObj) +8006ed60 nw4r::g3d::ScnGroup::__ct +8006edd0 nw4r::g3d::ScnGroup::__dt +8006ee90 nw4r::g3d::ScnGroup::IsDerivedFrom +8006eee0 nw4r::g3d::G3dObj::IsDerivedFrom +8006ef20 nw4r::g3d::ScnGroup::GetTypeNameStatic +8006ef50 nw4r::g3d::ScnGroup::GetTypeObjStatic +8006ef60 nw4r::g3d::ScnLeaf::IsDerivedFrom +8006efb0 nw4r::g3d::ScnLeaf::GetTypeNameStatic +8006efe0 nw4r::g3d::ScnLeaf::GetTypeObjStatic +8006eff0 nw4r::g3d::ScnLeaf::destruct +8006f080 nw4r::g3d::ScnObj::GetTypeNameStatic +8006f0b0 nw4r::g3d::ScnObj::GetTypeObjStatic +8006f0c0 nw4r::g3d::ScnRoot::Construct +8006f200 nw4r::g3d::ScnRoot::G3dProc +8006f2b0 nw4r::g3d::ScnRoot::GetCamera +8006f310 nw4r::g3d::ScnRoot::GetCurrentCamera +8006f350 nw4r::g3d::ScnRoot::SetCurrentCamera +8006f360 nw4r::g3d::ScnRoot::GetFog +8006f3c0 nw4r::g3d::ScnRoot::GetLightSet +8006f410 nw4r::g3d::ScnRoot::SetAnmScn +8006f4b0 nw4r::g3d::ScnRoot::UpdateFrame +8006f520 0x8006f520 +8006f750 nw4r::g3d::ScnRoot::CalcAnmScn +8006f8e0 nw4r::g3d::ScnRoot::CalcWorld +8006f930 nw4r::g3d::ScnRoot::CalcMaterial +8006f950 nw4r::g3d::ScnRoot::CalcVtx +8006f970 nw4r::g3d::ScnRoot::CalcView +8006f9f0 nw4r::g3d::ScnRoot::GatherDrawScnObj +8006fae0 nw4r::g3d::ScnRoot::ZSort +8006fb40 nw4r::g3d::ScnRoot::DrawOpa +8006fbc0 nw4r::g3d::ScnRoot::DrawXlu +8006fc40 nw4r::g3d::ScnRoot::ForceDrawMode +8006fc70 nw4r::g3d::ScnRoot::__ct +8006fd70 0x8006fd70 +8006fdf0 nw4r::g3d::ScnObjGather::Add +8006ff10 nw4r::g3d::ScnObjGather::ZSort +8006ff70 0x8006ff70 +8006ffb0 0x8006ffb0 +8006fff0 std::sort(void_(nw4r::g3d::ScnObj_** +80070370 std::sort(void_(nw4r::g3d::ScnObj_** +800706f0 std::__sort132(void_(nw4r::g3d::ScnObj_** +800707f0 nw4r::g3d::ScnObjGather::Sort +80070850 nw4r::g3d::@unnamed@g3d_scnroot_cpp@::LessByGetVa +800708e0 nw4r::g3d::@unnamed@g3d_scnroot_cpp@::LessByGetVa +80070970 nw4r::g3d::ScnObjGather::Sort(CompFuncs) +800709e0 nw4r::g3d::ScnObjGather::DrawOpa +80070a70 nw4r::g3d::ScnObjGather::DraxXlu +80070b00 nw4r::g3d::ScnObjGather::CheckScnObj +80070b10 nw4r::g3d::ScnObjGather::__ct +80070b40 nw4r::g3d::ScnObjGather::Clear +80070b50 nw4r::g3d::ScnObjGather::__dt +80070b90 0x80070b90 +80070c00 0x80070c00 +80070c30 0x80070c30 +80070c40 nw4r::g3d::ScnMdlSimple::Construct +80070de0 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_CalcPosture +80071040 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_G3DPROC_GATHER_SCNOBJ +80071080 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_G3DPROC_CALC_ +800713d0 nw4r::g3d::ScnMdlSimple::G3dProc +80071c60 nw4r::g3d::ScnMdlSimple::SetScnObjOption +80071ca0 nw4r::g3d::ScnMdlSimple::GetScnObjOption +80071ce0 nw4r::g3d::ScnMdlSimple::GetScnMtxPos +80071e20 nw4r::g3d::ScnMdlSimple::SetAnmObj +80072430 nw4r::g3d::ScnMdlSimple::RemoveAnmObj +800725b0 nw4r::g3d::ScnMdlSimple::RemoveAnmObj +80072690 nw4r::g3d::ScnMdlSimple::GetAnmObj +800726f0 nw4r::g3d::ScnMdlSimple::GetAnmObj +80072750 nw4r::g3d::ScnMdlSimple::UpdateFrame +80072810 nw4r::g3d::ScnMdlSimple::EnableScnMdlCallbackTiming +80072850 nw4r::g3d::ScnMdlSimple::DisableScnMdlCallbackTiming +80072890 nw4r::g3d::ScnMdlSimple::GetViewPosMtxArray +800728c0 nw4r::g3d::ScnMdlSimple::GetViewNrmMtxArray +80072900 nw4r::g3d::ScnMdlSimple::GetViewTexMtxArray +80072940 nw4r::g3d::ScnMdlSimple::GetByteCode +80072990 0x80072990 +80072bb0 nw4r::g3d::ScnMdlSimple::destruct +80072cd0 nw4r::g3d::ScnMdlSimple::IsDerivedFrom +80072d40 nw4r::g3d::ScnMdlSimple::GetTypeNameStatic +80072d70 nw4r::g3d::ScnMdlSimple::GetTypeObj +80072d80 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTexObj +80072dd0 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatTevColor +80072e20 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTexSrtEx +80072e80 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatMiscEx +80072ee0 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatTevColorEx +80072f60 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTevEx +80072fd0 nw4r::g3d::ScnMdl::CopiedMatAccess::__ct +80073250 nw4r::g3d::ScnMdl::CopiedVisAccess::IsVisible +800732d0 nw4r::g3d::ScnMdl::CopiedVisAccess::CopiedVisAcce +80073390 nw4r::g3d::ScnMdl::Construct +80073f20 nw4r::g3d::ScnMdl::ScnMdl_G3DPROC_CALC_MAT +80074690 nw4r::g3d::ScnMdl::G3dProc +80074b40 nw4r::g3d::ScnMdl::SetScnObjOption +80074b80 nw4r::g3d::ScnMdl::GetScnObjOption +80074bc0 nw4r::g3d::ScnMdl::InitBuffer +80074f60 nw4r::g3d::ScnMdl::CleanMatBuffer +800752a0 nw4r::g3d::ScnMdl::SetAnmObj +80075410 nw4r::g3d::ScnMdl::RemoveAnmObj +80075610 nw4r::g3d::ScnMdl::RemoveAnmObj +80075660 nw4r::g3d::ScnMdl::GetAnmObj +80075680 nw4r::g3d::ScnMdl::GetAnmObj +800756a0 nw4r::g3d::ScnMdl::__dt +80075710 nw4r::g3d::ScnMdl::IsDerivedFrom +80075790 nw4r::g3d::ScnMdl::GetTypeNameStatic +800757c0 nw4r::g3d::ScnMdl::GetTypeObjStatic +800757d0 0x800757d0 +800757e0 0x800757e0 +80075910 nw4r::g3d::ScnObjGatherExScnMdl::DrawOpa +80075940 nw4r::g3d::ScnObjGatherExScnMdl::DrawXlu +80075970 nw4r::g3d::ScnObjGatherExScnMdl::CheckScnObj +80075af0 nw4r::g3d::ScnObjGatherExScnMdl::GetResMdl +80075b00 nw4r::g3d::ScnObjGatherExScnMdl::DrawLoop +80075ef0 nw4r::g3d::ScnObjGatherExScnMdl::HasEqualTarget +80075f80 nw4r::g3d::ScnObjGatherExScnMdl::TypeID +80075f90 nw4r::g3d::ScnGroupEx::Construct +800760f0 nw4r::g3d::ScnGroupEx::SetResMdl +80076130 0x80076130 +80076170 nw4r::g3d::ScnGroupEx::G3dProc +800764a0 nw4r::g3d::ScnGroupEx::__dt +800764e0 nw4r::g3d::ScnObjGatherExScnMdl::SetResMdl +80076590 nw4r::g3d::ScnObjGatherExScnMdl::__dt +800765d0 0x800765d0 +800765e0 0x800765e0 +800765f0 0x800765f0 +80076600 0x80076600 +80076610 0x80076610 +80076620 0x80076620 +80076630 nw4r::g3d::ScnGroupEx::IsDerivedFrom +800766a0 nw4r::g3d::ScnGroupEx::GetTypeName +800766d0 nw4r::g3d::ScnGroupEx::GetTypeObj +800766e0 nw4r::g3d::ScnMdl1Mat1Shp::Construct +80076800 nw4r::g3d::ScnMdl1Mat1Shp::G3dProc +80076af0 nw4r::g3d::ScnMdl1Mat1Shp::IsDerivedFrom +80076b60 nw4r::g3d::ScnMdl1Mat1Shp::GetTypeName +80076b90 nw4r::g3d::ScnMdl1Mat1Shp::GetTypeObj +80076ba0 nw4r::g3d::ScnMdl1Mat1Shp::__dt +80076be0 nw4r::g3d::CalcMaterialDirectly +80076ff0 nw4r::g3d::G3dInit +800770e0 nw4r::g3d::G3dReset +800770f0 nw4r::g3d::ScnProc::Construct +80077200 nw4r::g3d::ScnProc::G3dProc +80077300 nw4r::g3d::ScnProc::IsDerivedFrom +80077370 nw4r::g3d::ScnProc::GetTypeName +800773a0 nw4r::g3d::ScnProc::GetTypeObj +800773b0 nw4r::g3d::ScnProc::__dt +800773f0 nw4r::g3d::Fog::__ct +80077400 nw4r::g3d::Fog::Init +80077470 nw4r::g3d::Fog::CopyTo +800774d0 nw4r::g3d::Fog::SetFogRangeAdjParam +800774f0 nw4r::g3d::Fog::SetGP +80077580 nw4r::g3d::LightObj::Clear +800775a0 nw4r::g3d::LightObj::InitLightColor +800775f0 nw4r::g3d::LightObj::InitLightPos +80077630 nw4r::g3d::LightObj::InitLightDir +80077670 nw4r::g3d::LightObj::InitLightSpot +800776b0 nw4r::g3d::LightObj::InitLightAttnA +800776f0 nw4r::g3d::LightObj::InitLightDistAttn +80077730 nw4r::g3d::LightObj::InitLightAttnK +80077770 nw4r::g3d::LightObj::InitSpecularDir +800777b0 nw4r::g3d::LightObj::InitLightShininess +80077810 nw4r::g3d::LightObj::GetLightPos +80077830 nw4r::g3d::LightObj::GetLightDir +80077850 nw4r::g3d::LightSetting::__ct +80077c90 nw4r::g3d::LightSetting::Import +80077e30 nw4r::g3d::LightSetting::ApplyViewMtx +80077f50 nw4r::g3d::LightSet::SelectLightObj +80077fc0 nw4r::g3d::LightSet::SelectAmbLightObj +80078030 nw4r::g3d::CalcVtx +80078840 nw4r::lyt::LytInit +800788a0 nw4r::lyt::Pane::__ct +800789e0 nw4r::lyt::Pane::__dt +80078b20 nw4r::lyt::Pane::AppendChild +80078b70 nw4r::lyt::Pane::GetPaneRect +80078c00 nw4r::lyt::Pane::GetVtxColor +80078c10 nw4r::lyt::Pane::SetVtxColor +80078c20 nw4r::lyt::Pane::GetColorElement +80078c50 nw4r::lyt::Pane::SetColorElement +80078c80 nw4r::lyt::Pane::GetVtxColorElement +80078c90 nw4r::lyt::Pane::SetVtxColorElement +80078ca0 nw4r::lyt::Pane::FindPaneByName +80078d50 nw4r::lyt::Pane::FindMaterialByName +80078e10 nw4r::lyt::Pane::CalculateMtx +80079110 nw4r::lyt::Pane::Draw +800791a0 nw4r::lyt::Pane::DrawSelf +800791b0 nw4r::lyt::Pane::Animate +80079240 nw4r::lyt::Pane::AnimateSelf +80079300 nw4r::lyt::Pane::BindAnimation +80079320 nw4r::lyt::Pane::UnbindAnimation +800793b0 nw4r::lyt::Pane::UnbindAllAnimation +800793d0 nw4r::lyt::UnbindAnimationSelf +80079430 nw4r::lyt::Pane::AddAnimationLink +80079470 nw4r::lyt::Pane::FindAnimationLinkSelf +80079480 nw4r::lyt::Pane::FindAnimationLinkSelf +80079490 nw4r::lyt::Pane::SetAnimationEnable +80079590 nw4r::lyt::Pane::SetAnimationEnable +80079690 nw4r::lyt::Pane::LoadMtx +800796f0 nw4r::lyt::Pane::GetVtxPos +800797c0 nw4r::lyt::Pane::GetMaterialNum +800797e0 nw4r::lyt::Pane::GetMaterial +800797f0 nw4r::lyt::Pane::GetMaterial +80079810 nw4r::lyt::Pane::GetRuntimeTypeInfo +80079820 0x80079820 +80079830 nw4r::lyt::Group::__ct +800798a0 nw4r::lyt::Group::__ct +800799c0 nw4r::lyt::Group::__dt +80079a70 nw4r::lyt::Group::AppendPane +80079b00 nw4r::lyt::GroupContainer::__dt +80079bd0 nw4r::lyt::GroupContainer::AppendGroup +80079c10 nw4r::lyt::GroupContainer::FindGroupByName +80079c90 nw4r::lyt::SetTagProcessorImpl +80079e50 nw4r::lyt::IsIncludeAnimationGroupRef +80079f20 nw4r::lyt::Layout::__ct +80079f60 nw4r::lyt::Layout::__dt +8007a090 nw4r::lyt::Layout::Build +8007a3e0 nw4r::lyt::Layout::CreateAnimTransform +8007a460 nw4r::lyt::Layout::CreateAnimTransform +8007a4c0 nw4r::lyt::Layout::CreateAnimTransform +8007a550 nw4r::lyt::Layout::BindAnimation +8007a580 nw4r::lyt::Layout::UnbindAnimation +8007a5b0 nw4r::lyt::Layout::UnbindAllAnimation +8007a5d0 nw4r::lyt::Layout::BindAnimationAuto +8007a860 nw4r::lyt::Layout::SetAnimationEnable +8007a890 nw4r::lyt::Layout::CalculateMtx +8007a8b0 nw4r::lyt::Layout::Draw +8007a8d0 nw4r::lyt::Layout::Animate +8007a8f0 nw4r::lyt::Layout::SetTagProcessor +8007aab0 nw4r::lyt::Layout::BuildPaneObj +8007aca0 nw4r::ut::Color::__ct +8007acb0 nw4r::lyt::Picture::__ct +8007ae00 nw4r::lyt::Picture::__dt +8007aee0 nw4r::lyt::Picture::Append +8007b0a0 nw4r::lyt::Picture::GetVtxColor +8007b0d0 nw4r::lyt::Picture::SetVtxColor +8007b100 nw4r::lyt::Picture::GetVtxColorElement +8007b120 nw4r::lyt::Picture::SetVtxColorElement +8007b140 nw4r::lyt::Picture::DrawSelf +8007b220 nw4r::lyt::Picture::GetRuntimeTypeInfo +8007b230 __sinit_\lyt_picture_cpp +8007b240 nw4r::lyt::TextBox::__ct +8007b530 nw4r::lyt::TextBox::__dt +8007b6d0 nw4r::lyt::TextBox::GetVtxColor +8007b700 nw4r::lyt::TextBox::SetVtxColor +8007b750 nw4r::lyt::TextBox::GetVtxColorElement +8007b770 nw4r::lyt::TextBox::SetVtxColorElement +8007b790 nw4r::lyt::TextBox::DrawSelf +8007be70 0x8007be70 +8007c250 0x8007c250 +8007c290 nw4r::lyt::TextBox::GetStringBufferLength +8007c2c0 nw4r::lyt::TextBox::AllocStringBuffer +8007c390 nw4r::lyt::TextBox::FreeStringBuffer +8007c3e0 nw4r::lyt::TextBox::SetString +8007c4c0 nw4r::lyt::TextBox::SetString +8007c590 nw4r::ut::Font__dt +8007c5d0 nw4r::lyt::TextBox::LoadMtx +8007c660 0x8007c660 +8007c9d0 0x8007c9d0 +8007cb30 nw4r::lyt::TextBox::GetRuntimeTypeInfo +8007cb40 0x8007cb40 +8007cb50 nw4r::lyt::Window::__ct +8007cde0 nw4r::lyt::Window::__dt +8007cf30 nw4r::lyt::Window::FindMaterialByName +8007d030 nw4r::lyt::Window::GetVtxColor +8007d060 nw4r::lyt::Window::SetVtxColor +8007d090 nw4r::lyt::Window::GetVtxColorElement +8007d0b0 nw4r::lyt::Window::SetVtxColorElement +8007d0d0 nw4r::lyt::Window::DrawSelf +8007d210 nw4r::lyt::Window::AnimateSelf +8007d2a0 nw4r::lyt::Window::UnbindAnimationSelf +8007d330 nw4r::lyt::Window::DrawContent +8007d440 nw4r::lyt::Window::DrawFrame +8007da20 nw4r::lyt::Window::DrawFrame4 +8007e170 nw4r::lyt::Window::DrawFrame8 +8007efc0 nw4r::lyt::Window::GetFrameSize +8007f0c0 nw4r::lyt::Window:GetMaterialNum +8007f0d0 nw4r::lyt::Window::GetMaterial +8007f100 nw4r::lyt::Window::GetFrameMaterial +8007f130 nw4r::lyt::Window::GetContent +8007f140 0x8007f140 +8007f150 0x8007f150 +8007f160 Bounding_construct +8007f1a0 0x8007f1a0 +8007f200 0x8007f200 +8007f210 nw4r::lyt::Window::GetRuntimeTypeInfo +8007f220 __sinit_\lyt_bounding_cpp +8007f230 0x8007f230 +8007f340 0x8007f340 +8007f540 nw4r::math::VEC2::__as +8007f560 nw4r::ut::LinkList::__ct +8007f580 nw4r::lyt::Material::__ct +8007fbf0 _GXColorS10::Operator= +8007fc20 nw4r::ut::Color::Operator= +8007fc30 nw4r::lyt::MaterialResourceNum::GetTexMapNum +8007fc40 nw4r::lyt::MaterialResourceNum::GetTexSRTNum +8007fc50 nw4r::lyt::MaterialResourceNum::GetCoordGenNum +8007fc60 nw4r::lyt::MaterialResourceNum::GetChanCtrlNum +8007fc70 nw4r::lyt::MaterialResourceNum::GetMapColNum +8007fc80 nw4r::lyt::MaterialResourceNum::HasTevSwapTable +8007fc90 nw4r::lyt::MaterialResourceNum::HasAlphaCompare +8007fca0 nw4r::lyt::MaterialResourceNum::HasBlendMode +8007fcb0 nw4r::lyt::MaterialResourceNum::GetIndTexStageNum +8007fcc0 nw4r::lyt::MaterialResourceNum::GetIndTexStageNum +8007fcd0 0x8007fcd0 +8007fce0 0x8007fce0 +8007fd00 nw4r::lyt::res::TexMap::GetWarpModeS +8007fd10 nw4r::lyt::res::TexMap::GetWarpModeT +8007fd20 0x8007fd20 +8007fd40 nw4r::lyt::res::TexMap::GetMinFilter +8007fd60 nw4r::lyt::res::TexMap::GetMagFilter +8007fd80 0x8007fd80 +8007fdb0 0x8007fdb0 +8007fde0 0x8007fde0 +8007fe10 nw4r::lyt::TevSwapMode::__as +8007fe20 nw4r::lyt::TexSRT::operator_= +8007fe50 0x8007fe50 +8007fe80 0x8007fe80 +8007ff30 0x8007ff30 +8007ff60 0x8007ff60 +8007ff90 0x8007ff90 +8007ffa0 0x8007ffa0 +8007ffb0 nw4r::snd::DvdSoundArchive::OpenExtStream +8007ffc0 0x8007ffc0 +8007ffd0 0x8007ffd0 +8007ffe0 0x8007ffe0 +8007fff0 0x8007fff0 +80080000 nw4r::lyt::detail::ConvertOffsToPtr +80080010 nw4r::lyt::detail::ConvertOffsToPtr +80080020 0x80080020 +80080030 0x80080030 +80080040 0x80080040 +80080050 nw4r::lyt::detail::ConvertOffsToPtr::CalcCompletion +80510898 0x80510898 +805108d8 0x805108d8 +805109b4 0x805109b4 +80510a90 KMP::Manager::CalcNextCPRecursive +80510e80 KMP::Manager::CalcNextCP +80511780 KMP::Manager::ResetCKPTScannedState +805117fc KMP::Manager::CalcExactFinishTime +80511848 KMP::Holder::CalcExactFinishTime +8051199c Vec2::Operator- +805119c0 Vec2::Operator+ +805119e4 KMP::CKPTSection::CalcDistanceFromCPRecursive +80511cf0 KMP::CKPTSection::CalcTotalDistance +80512014 KMP::Manager::CreateInstance +8051209c KMP::Manager::DestroyInstance +805120ec KMP::Manager::__ct +8051212c KMP::Manager::__dt +8051216c KMP::Manager::Init +80512590 KMP::Manager::GetRawKMP +805125ac KMP::RawHolder::__ct +805125ec KMP::Holder::GetType +805125f8 KMP::Manager::GetCAMECount +80512614 KMP::RawHolder::GetVersion +8051261c KMP::Holder::GetOpeningCamIdx +8051262c KMP::Holder::SetId +80512634 KMP::Manager::GetAREACount +80512650 KMP::Manager::GetEENPTCount +8051266c KMP::Manager::GetITPTCount +80512688 KMP::Manager::GetJGPTCount +805126a4 KMP::Manager::GetKTPTCount +805126c0 KMP::Holder::IsNarrowGrid +805126cc KMP::Holder::GetFilterEffectColor +805126d8 KMP::Holder::HasFilterEffect +805126e4 KMP::Manager::ParseSTGI +80512804 KMP::Manager::ParseMSPT +80512924 KMP::Manager::ParseCNPT +80512a44 KMP::Manager::ParseJGPT +80512b64 KMP::Manager::ParseCAME +80512c84 KMP::Manager::ParseAREA +80512d18 KMP::Manager::ParsePOTI +80512e48 KMP::Manager::ParseGOBJ +80512f80 Vec3::__dt +80512fc0 KMP::Manager::ParseCKPT +805130fc KMP::Manager::ParseCKPH +8051345c KMP::Manager::ParseITPT +8051357c KMP::Manager::ParseITPH +80513698 KMP::Manager::ParseENPT +805137c0 KMP::Manager::ParseENPH +805138dc KMP::Manager::ParseKTPT +80513a5c KMP::AREASection::GetHolder +80513a80 KMP::JGPTSection::GetHolder +80513aa4 KMP::KTPTSection::GetHolder +80513ac8 KMP::Manager::GetHolder +80513b14 KMP::Holder::GetRoute +80513b88 KMP::KTPTSection::GetBlock +80513bd8 KMP::KTPTSection::__ct +80513ce8 KMP::Holder::CalcCoordinates_0Indexed +80514114 0x80514114 +80514154 Vec3::Operator-(unary) +8051417c Vec3::RotateQuaternion +80514190 Vec3::MultiplyByScalar +805141b8 Vec3::Operator+ +805141ec Vec3::Operator- +80514220 KMP::Holder::InitLinks +805144a4 KMP::Holder::CalcCoordinates +805144b0 KMP::Manager::GetHolder +805144fc KMP::Manager::GetHolder +80514548 KMP::Manager::GetHolder +805145b0 KMP::Manager::CalcExtremes +805146bc KMP::Manager::GetHolder +80514708 KMP::Manager::GetHolder +80514770 KMP::CKPHSection::Init +80514994 KMP::CKPHSection::GetHolder +80514a18 KMP::Holder::Init +80514a60 KMP::Holder::CalcDepthRecursive +80514bc4 KMP::CKPTSection::Init +80514e64 KMP::Holder__ct +80514f60 KMP::LinkedCKPT::__ct +80514f64 KMP::LinkedCKPT::__dt +80514fa4 KMP::Holder::InitLinks +805153ec KMP::Holder::InitType +805155a4 KMP::Manager::GetHolder +805155f0 KMP::Manager::GetHolder +8051563c KMP::Manager::GetCKPHHolderByCT +805156bc KMP::Manager::POTISection::__ct +80515784 KMP::Manager::GetHolder +805157d0 KMP::AREASection::__ct +8051590c KMP::AREASection::SortByPriority +805159d0 KMP::Holder::__ct +80515a30 KMP::Holder::IsPointInAREA +80515ab8 KMP::Holder::GetRouteId +80515ae8 KMP::Holder::GetRoute +80515ba0 KMP::HolderAREABox::__ct +80515d34 KMP::Holder::__dt +80515d74 KMP::HolderAREABox::IsPointInAREAShape +80515e7c KMP::HolderAREACylinder::__ct +80516008 KMP::HolderAREACylinder::IsPointInAREAShape +805160e8 KMP::Manager::GetHolder +80516134 KMP::Manager::GetAREAHolderByPriority +80516188 KMP::Manager::FindAREA +805163e0 KMP::Manager::GetMiniMapAREAParams +80516530 KMP::Manager::GetHolder +8051657c KMP::Manager::GetCAMEHolderFromAREAId +80516654 KMP::Holder::GetNext +805166cc KMP::IsNonPrivateBattle +805166f4 KMP::Holder::InitLinks +80516f10 KMP::Manager::GetNextENPT +80516f8c KMP::Manager::GetNextENPTCount +80516ff0 KMP::Manager::GetPrevENPT +8051706c KMP::Manager::GetPrevENPTCount +805170d0 KMP::Manager::ToggleENPH +805171d8 KMP::Holder::ToggleENPHLink +80517664 KMP::Holder::AddPrevLink +805176b8 KMP::Holder::AddNextLink +8051770c KMP::Holder::AddLink +80517808 KMP::Holder::InitLinks +80517b70 KMP::Manager::GetNextITPT +80517be8 KMP::Manager::GetNextITPTCount +80517c4c KMP::Manager::GetPrevITPT +80517cc4 KMP::Manager::GetPrevITPTCount +80517d28 KMP::Holder::__ct +80517e7c KMP::Holder::InitLinks +805182a0 KMP::Manager::GetHolder +805182ec KMP::Holder::GetPosition +80518438 Vec3::MultiplyByScalar2 +80518460 KMP::Manager::GetHolder +805184ac KMP::Manager::GetHolder +805184f8 KMP::Manager::GetHolder +80518530 KMP::Holder::GetFilterEffectAlpha +8051855c KMP::AREASection::__dt +805185c0 KMP::Holder::__dt +80518640 ArchiveFile::__ct +80518674 ArchiveFile::__dt +8051874c ArchiveFile::Mount +8051878c 0x8051878c +80518790 ArchiveFile::Load +80518924 ArchiveFile::LoadUncompressed +8051893c ArchiveFile::MountFromRawArchive(void*) +805189c0 ArchiveFile::GetFileNewBuffer +80518a68 0x80518a68 +80518a70 ArchiveFile::Dump +80518b24 ArchiveFile::TryDump +80518bc0 ArchiveFile::ClearAll +80518c48 0x80518c48 +80518c4c ArchiveFile::Unmount +80518cf0 ArchiveFile::ClearArchive +80518d48 ArchiveFile::ClearDump +80518da0 ArchiveFile::GetFile +80518e88 ArchiveFile::Decompress +80518f24 ArchiveFile::SetDumpToDecompress +80518f58 ArchiveFile::MountFromRawArchive(ArchiveFile*) +80518ff0 Friend::__dt +80519030 Friend::SetFriend +80519070 Friend::StoreToDest +80519084 Friend::AddFriend +80519100 0x80519100 +805191ec 0x805191ec +80519300 Friend::SetData +80519350 Friend::AddLoss +80519368 Friend::AddWin +80519380 0x80519380 +805193cc 0x805193cc +8051949c 0x8051949c +805196b4 0x805196b4 +80519758 0x80519758 +80519938 0x80519938 +8051999c 0x8051999c +805199cc 0x805199cc +805199fc KCLController::CanReuseLastTrianglesList +80519a78 0x80519a78 +80519ae4 0x80519ae4 +80519af4 0x80519af4 +80519b24 0x80519b24 +80519b2c 0x80519b2c +80519b34 0x80519b34 +80519b60 GameScene::__ct +80519ce8 BaseScene::__dt +80519d40 GameScene::__dt +80519d9c GameScene::FadeIn +80519e00 GameScene::FadeOut +80519e5c GameScene::FinalizeEnter +8051a3cc GameScene::GetScreenCount +8051a3d4 GameScene::vf_0x58 +8051a3d8 GameScene::AddArchivesHolder +8051a468 GameScene::UnmountArchives +8051a4d8 GameScene::enter +8051a904 GameScene::SetFramerate +8051a968 GameScene::ChangeScene +8051aa0c 0x8051aa0c +8051aa14 GameScene::FadeOutToReinit +8051aa60 GameScene::CreateChildScene +8051aa74 GameScene::Reset +8051ab78 0x8051ab78 +8051abd0 GameScene::exit +8051acf4 BaseScene::ResetRacedataScenarios +8051ad00 0x8051ad00 +8051ad1c 0x8051ad1c +8051ad44 GameScene::vf_0x48 +8051ad48 GameScene::calc +8051b110 GameScene::isSpectating +8051b118 GameScene::vf_0x2c +8051b120 GameScene::vf_0x50 +8051b128 0x8051b128 +8051b130 GameScene::reinit +8051b250 GameScene::OnReinit +8051b254 GameScene::isPaused +8051b264 GameScene::CreateHeap +8051b308 GameScene::DestroyHeap +8051b350 GameScene::vf_0x5c +8051b354 0x8051b354 +8051b5f8 GameScene::draw +8051b6b4 0x8051b6b4 +8051b850 GameScene::GetCurrent +8051b880 0x8051b880 +8051b98c BaseScene::outgoing_child_create +8051b990 BaseScene::incoming_child_destroy +8051b994 0x8051b994 +8051b998 0x8051b998 +8051b99c BaseScene::reinit +8051b9a0 BaseScene::exit +8051b9a4 BaseScene::enter +8051b9a8 BaseScene::draw +8051b9ac BaseScene::calc +8051b9b0 0x8051b9b0 +8051ba08 RKG::ClearBuffer +8051ba14 RKG::CheckHeader +8051baa0 RKGFile::CheckValidity +8051bbbc RKGFile::SetCRC32 +8051bbf0 GhostData::__ct +8051bcb4 Timer::__dt +8051bcf4 Timer::__ct +8051bd18 GhostData::__ct(RKG) +8051be20 GhostData::Reset +8051beac 0x8051beac +8051beb0 GhostData::ReadRKG +8051c110 GhostData::Init +8051c174 GhostData::FillHeader +8051c38c GhostData::CreateRKGWithoutInputs +8051c400 GhostData::CreateRKG +8051c49c GhostData::Fill +8051c7fc Input::Controller::GetType +8051c804 0x8051c804 +8051c80c Input::ControllerHolder::GetInputsSize +8051c814 GhostGroup::__ct +8051c910 GhostData::__dt +8051c978 GhostGroup::__dt +8051c9e4 GhostGroup::DisableGhostData +8051ca04 GhostGroup::GetGhostData +8051ca3c GhostGroup::ReadRKG +8051ca60 RKG::CompressTo +8051cb34 RKG::DecompressTo +8051cd08 RKG::GetLength +8051ce54 HomeMenuMgr::CreateInstance +8051ceb4 HomeMenuMgr::DestroyInstance +8051cf04 HomeMenuMgr::__dt +8051cf68 HomeMenuMgr::LoadHBMArc +8051d01c 0x8051d01c +8051d020 HomeMenuMgr::__ct +8051d214 HomeMenuMgr::ResetControllerData +8051d298 HomeMenuMgr::Open +8051d374 HomeMenuMgr::Close +8051d444 0x8051d444 +8051d6f0 HomeMenuMgr::UpdateControllerData +8051d8f8 HomeMenuMgr::UpdateLockParams +8051d940 0x8051d940 +8051da94 HomeMenuMgr::Calc +8051dce0 0x8051dce0 +8051dda0 0x8051dda0 +8051def4 0x8051def4 +8051e168 HomeMenuMgr::Draw +8051e1dc Input::State::Reset +8051e21c Input::State::operator== +8051e284 Input::UIState::Reset +8051e2e0 Input::State::SetStickXMirrorCheck +8051e368 Input::State::SetStickX +8051e3a8 Input::State::ConvertQuantised +8051e3e0 Input::State::SetStickY +8051e420 Input::UIState::SetStickXMirrorCheck +8051e4a8 Input::UIState::SetStickY +8051e4e8 Input::State::SetControlMotionFlick +8051e528 Input::Controller::__ct +8051e614 Input::State::__dt +8051e654 Input::UIState::__dt +8051e694 Input::Controller::Update +8051e98c Input::Controller::ResetSelf +8051e990 Input::Controller::UpdateBatteryField +8051e9f4 Input::Controller::GetRemainingBattery +8051e9fc Input::Controller::GetRuntimeTypeInfo +8051ea08 Input::WiiController::__ct +8051eb6c Input::Controller::__dt +8051ebac Input::WiiController::Init +8051ec88 Input::Controller::Init +8051ecfc Input::Controller::SetDriftType +8051ed04 Input::WiiController::WPADInfoCallback +8051ed34 Input::WiiController::UpdateBattery +8051ed50 Input::WiiController::GetRemainingBattery +8051ed90 Input::WiiController::UpdateStatesClassic +8051f3fc Input::WiiController::UpdateStatesNunchuck +8051f560 Input::WiiController::UpdateStatesCore +8051f604 Input::WiiController::UpdateImpl +8051f938 Input::WiiController::TogglePointer +8051f950 Input::GCNController::__ct +8051fa98 Input::GCNController::Init +8051fb30 Input::GCNController::UpdateImpl +8052007c Input::GCNController::HasRumble +805200b0 Input::GhostController::__ct +805202a4 Input::GhostController::__dt +80520318 Input::GhostController::Init +805203cc Input::GhostController::HasRKGInputs +805203e0 0x805203e0 +80520498 0x80520498 +8052051c Input::GhostController::UpdateImpl +805206cc Input::GhostDirectionStream::Read +80520834 Input::GhostDirectionStream::GetInputSize +8052083c Input::ControllerHolder::CreateRumbleController +805208ac Input::RealControllerHolder::SetDriftType +805208e4 Input::ControllerHolder::__ct +80520a90 Input::ControllerHolder::Init +80520b18 Input::ControllerHolder::Update +80520ed4 Input::RealControllerHolder::SetController +80520f54 Input::RealControllerHolder::StartGhostReading +80521008 Input::RealControllerHolder::EndGhostWriting +805210e8 Input::RealControllerHolder::Update +805211c4 Input::RealControllerHolder::SetGhostController +805212b0 Input::RealControllerHolder::PrepareForRace +8052132c Input::AIControllerHolder::CopyCPUInputs +805213b4 Input::ControllerHolder::RequestRumble(3args) +8052144c Input::ControllerHolder::RequestRumble(4args) +80521704 Input::Controller::HasRumble +8052170c 0x8052170c +805217c8 0x805217c8 +80521850 Input::ControllerHolder::RequestRumbleByDuration +8052190c Input::ControllerHolder::RequestRumbleByDurationNoFaderCheck +80521994 Input::ControllerHolder::StopAllRumble +805219f8 Input::ControllerHolder::ActivateRumble +80521a0c Input::Controller::ActivateRumble +80521a10 Input::ControllerHolder::StopRumble +80521a24 Input::ControllerHolder::StopCurrentRumble +80521a28 Input::ControllerHolder::ResetSelfController +80521a3c Input::RealControllerHolder::__ct +80521c34 Input::ControllerHolder::__dt +80521c74 Input::RealControllerHolder::__dt +80521cd8 Input::Manager::SetFSStickClamp +80521ce4 Input::ControllerParams::Fill +80521e14 Input::Controller::GetChannel +80521e1c 0x80521e1c +80521e8c 0x80521e8c +80521f24 0x80521f24 +80522008 0x80522008 +80522010 Input::Manager::ResetKPAD +80522074 Input::ControllerHolder::CopyCPUInputs +80522078 Input::RealControllerHolder::GetInputsSize +80522080 Input::RealControllerHolder::GetRKGInputs +80522088 Input::RealControllerHolder::Init +8052211c Input::AIControllerHolder::__dt +8052215c Input::AIController::__dt +8052219c Input::Controller::IsPointerEnabled +805221a4 Input::Controller::TogglePointer +805221a8 Input::GhostController::SetDriftType +805221ac Input::GhostController::GetType +805221b4 Input::Controller::Func_0x24 +805221c0 Input::GCNController:ResetSelf +805221cc Input::GCNController:StopRumble +805221d8 Input::GCNController:ActivateRumble +805221e4 Input::GCNController:GetChannel +805221ec Input::GCNController:GetType +805221f4 Input::GCNController:__dt +80522234 Input::WiiController::ResetSelf +80522244 Input::WiiController::StopRumble +80522250 Input::WiiController::ActivateRumble +8052225c Input::WiiController::HasRumble +80522274 Input::WiiController::IsPointerEnabled +805222a4 Input::WiiController::GetChannel +805222ac Input::WiiController::GetType +805222b4 Input::WiiController::__dt +805222f4 Input::GhostDirectionStream::Write +80522468 Input::GhostTrickStream::Write +805225dc Input::GhostTrickStream::Read +80522744 Input::GhostTrickStream::GetInputSize +8052274c Input::GhostActionStream::Write +805228c0 Input::GhostActionStream::Read +80522a28 Input::GhostActionStream::GetInputSize +80522a30 Input_cpp_sinit_ +80522a60 Input::Manager::SyncSimpleCallback +80522abc Input::Manager::CreateInstance +80522b0c Input::Manager::DestroyInstance +80522b5c Input::Manager::__dt +80522c30 Input::DummyController::__dt +80522c70 Input::Manager::__ct +80522e20 Input::AIControllerHolder::__ct +80522ea0 Input::Manager::Init +80522ea4 0x80522ea4 +80522f2c Input::Manager::ResetIdleFrameCounter +80522f54 0x80522f54 +80523010 Input::Manager::Prepare +805230a4 Input::Manager::ResetSelfWiiAndGCNControllers +8052312c 0x8052312c +80523168 Input::Manager::UpdateControllers +80523270 Input::Manager::Update +80523310 0x80523310 +805233d8 Input::Manager::ConvertType +80523400 0x80523400 +80523548 0x80523548 +80523690 0x80523690 +8052382c Input::Manager::ResetDummyController +8052383c Input::Manager::TrySetController +80523a6c 0x80523a6c +80523be4 Input::Manager::ResetRealController +80523bfc 0x80523bfc +80523c58 Input::Manager::InitControllerHolders +80523db8 0x80523db8 +80523e80 0x80523e80 +80523ebc Input::Manager::InitGhostController +80523ed8 Input::Manager::PrepareRealControllerHolderForRace +80523ee8 Input::Manager::EnableGhostReading +80523f00 Input::Manager::StartGhostReading +80523f4c Input::Manager::EndGhostWriting +80523f5c Input::Manager::EndAllGhostWriting +80523fa8 Input::Manager::CopyPADStatus +80524040 Input::Manager::InitRumble +80524098 Input::Manager::ResetRumble +805240b4 0x805240b4 +80524108 Input::Manager::SyncWiimotes +80524164 0x80524164 +805241c0 Input::Manager::EnableAllPointers +80524258 Input::Manager::ToggleAllPointers +805242c4 0x805242c4 +80524318 0x80524318 +80524330 Input::Manager::RequestRumbleByDuration +80524348 0x80524348 +805243d0 0x805243d0 +805243d8 Input::AIController::UpdateImpl +80524428 Input::AIController::GetType +80524430 Input::DummyController::UpdateImpl +80524434 SITransferCommands +80524444 Input::GhostWriter::__ct +805245ac Input::GhostWriter::__dt +80524628 Input::GhostWriter::Init +805246a0 Input::GhostWriter::CopyToRKGInputsBuffer +80524750 Input::GhostWriter::IsInputsSumSmallEnough +805247f4 Input::GhostWriter::WriteFrame +805248f8 Input::GhostActionStream::WriteNewValue +80524908 Input::GhostActionStream::IncrementDuration +80524918 Input::GhostActionStream::IsNewInput +8052493c Input::GhostActionStream::ReadValue +80524944 Input::GhostActionStream::IsCurReadInputFinished +80524960 Input::GhostDirectionStream::WriteNewValue +80524970 Input::GhostDirectionStream::IncrementDuration +80524980 Input::GhostDirectionStream::IsNewInput +805249a4 Input::GhostDirectionStream::ReadValue +805249ac Input::GhostDirectionStream::IsCurReadInputFinished +805249c8 Input::GhostTrickStream::WriteNewValue +805249dc Input::GhostTrickStream::IncrementDuration +805249f4 Input::GhostTrickStream::IsNewInput +80524a1c Input::GhostTrickStream::ReadValue +80524a28 Input::GhostTrickStream::IsCurReadInputFinished +80524a48 Input::KRMMgr::Init +80524b84 Input::KRMMgr::__ct +80524bf8 Input::Rumble::Init +80524c24 Input::Rumble::Request(KRMEntry) +80524c68 Input::Rumble::Request(float) +80524ca4 0x80524ca4 +80524cb4 Input::Rumble::Update +80524e18 Input::RumbleController::__ct +80524e88 Input::RumbleController::Init +80524f3c Input::RumbleController::Stop +80524fcc Input::RumbleController::DeactivateRumble +8052508c Input::RumbleController::Update +805252f4 Input::RumbleController::Request(KRMEntry) +805253f4 Input::RumbleController::Request(float) +8052550c Input::RumbleController::GetFreeRumble +805255b8 Input::RumbleController::__dt +805255f8 Input::Rumble::__dt +80525638 0x80525638 +80525708 0x80525708 +80525738 0x80525738 +80525780 0x80525780 +805257e0 0x805257e0 +80525908 Mii::Init +80525974 0x80525974 +805259a0 Mii::Load +80525d3c 0x80525d3c +80525d80 0x80525d80 +80525de0 Mii::GetRFLArgs +80525fbc Mii::CreateScnRfl +80526134 0x80526134 +80526274 0x80526274 +8052637c 0x8052637c +80526390 0x80526390 +80526400 0x80526400 +805264e4 MiiManager::Disposer__dt +8052657c MiiManager::CreateInstance +805265cc 0x805265cc +80526600 MiiManager::__ct +805266bc MiiManagerSub::__ct +805266d4 MiiManagerSub::__dt +80526714 MiiManager::Init +80526ad8 MiiManager::__dt +80526c18 MiiManager::CountOfficialMiis +80526e18 0x80526e18 +80526e94 MiiManager::GetMiddleDB3 +80526e9c 0x80526e9c +80526f0c Mii::ComputeRFLStoreData +80526f6c Mii::IsMiiId +80526f84 Mii::GetMiiId +80527060 MiiManager::GetStatus +80527080 MiiManager::IsOfficialOrDefaultMii +805270f8 MiiManager::CreatePlayerMiiFromOfficial +8052748c MiiManager::CreateStoreMii(RFLCreateID) +805276e0 MiiManager::CreateOfficialMii(RFLIdx) +80527804 MiiManager::CreateOfficialMii(RFLCreateID) +80527904 MiiManager::CreateDefaultMii(RFLIdx) +805279e8 MiiManager::CreateDefaultMii(RFLCreateID) +80527aec MiiManager::CreateOfficialMii(IdxArray) +80527c10 MiiManager::AllowMiiDisplay +80527c30 MiiManager::CreateMiddleDBMii +80527f18 MiiManager::CreateRandomMii +8052813c MiiManager::CreateMii(CreationParams) +80528828 0x80528828 +805289b4 Mii::__dt +805289f4 MiiManager::CreateMiddleDB2Mii +80528cb0 MiiManager::CreateMii(RFLStoreData) +80528da0 MiiManager::CreateControllerMii +80528eb0 0x80528eb0 +80528f10 0x80528f10 +80528fc0 MiiManager::CreatePlayerMiiFromMiddleDB +805290b0 MiiManager::PrepareRFLWiFiPacket +805290c8 MiiManager::RFLWiFiInfo2MiddleDB +80529118 MiiManager::RFLWiFiInfo2StoreData +80529164 MiiCreationParams::InitAndReset +80529184 MiiCreationParams::Init +805291a4 MiiCreationParams::Reset +805291dc 0x805291dc +805291f0 0x805291f0 +80529218 0x80529218 +8052927c 0x8052927c +8052929c 0x8052929c +805292bc MiiCreationParams2::Init +805292f8 MiiCreationParams2::Reset +80529324 0x80529324 +80529338 0x80529338 +80529360 0x80529360 +805293c4 0x805293c4 +805293e4 0x805293e4 +80529404 0x80529404 +80529444 MovieManager::__ct +805294e8 MovieManager::__dt +80529564 MovieManager::IsMoviePlaying +8052958c MovieManager::DrawDone +805295c0 MovieManager::Init +805295c8 MovieManager::Quit +805295cc MovieManager::CheckForEnd +80529620 MovieManager::GetCurrentFrameNum +80529650 MovieManager::Prepare +805296e8 MovieManager::PrepareAsync +80529780 MovieManager::RequestPrepare +805297dc MovieManager::Play +80529824 MovieManager::PlayAsync +8052986c MovieManager::RequestPlay +80529884 MovieManager::Pause +805298c4 MovieManager::PauseAsync +80529904 MovieManager::RequestPause +8052991c MovieManager::Close +80529960 MovieManager::CloseAsync +805299a4 MovieManager::RequestClose +805299bc MovieManager::SetVolume +805299c8 MovieManager::GetVolume +805299cc MovieManager::FillCurTextureInfo +80529a18 ArchivesHolder::CreateByType +80529b48 CourseArchivesHolder::__ct +80529b9c CourseArchivesHolder::Reset +80529c28 UIArchivesHolder::__ct +80529c7c UIArchivesHolder::Reset +80529cec CommonArchivesHolder::__ct +80529d40 CommonArchivesHolder::Reset +80529db0 CourseArchivesHolder::__dt +80529e08 UIArchivesHolder::__dt +80529e60 CommonArchivesHolder::__dt +80529eb8 ArchivesHolder::ArchiveHolder +80529fc8 ArchivesHolder::Reset +8052a05c ArchivesHolder::__dt +8052a0e0 ArchivesHolder::GetFile +8052a180 ArchivesHolder::HasArchives +8052a1e4 ArchivesHolder::FileExists +8052a2d4 ArchivesHolder::LoadArchives +8052a408 ArchivesHolder::UnmountArchives +8052a468 ArchivesHolder::LoadFromOther +8052a4ec ArchivesHolder::DumpArchive +8052a5c0 ArchivesHolder::ClearArchives +8052a620 ArchivesHolder::GetTotalMountedArchivesSize +8052a688 ArchivesHolder::GetFirstMountedArchive +8052a700 ArchivesHolder::GetFirstMountedArchiveEnd +8052a788 ArchivesHolder::GetLoadedArchivesCount +8052a7dc NandUtils::SafeOpen +8052a858 NandUtils::SafeOpen_NandUtils::SafeOpen_switch +8052a85c NandUtils::SafeOpen_caseD_0 +8052a864 NandUtils::SafeOpen_caseD_-3 +8052a87c NandUtils::SafeOpen_caseD_-4 +8052a884 NandUtils::SafeOpen_caseD_-15 +8052a88c NandUtils::SafeOpen_caseD_-12 +8052a894 NandUtils::SafeOpen_caseD_-14 +8052a8e4 NandUtils::Open +8052a9d8 NandUtils::SafeClose +8052aac4 NandUtils::Close +8052aba8 NandUtils::Read +8052ad78 NandUtils::GetLength +8052ae54 NandUtils::Write +8052b004 NandUtils::Check +8052b0d4 NandUtils::CreateDir +8052b1cc NandUtils::GetType +8052b2dc NandUtils::Create +8052b3d4 NandUtils::Delete +8052b4c0 NandUtils::SetStatus +8052b5bc NandUtils::GetStatus +8052b6b8 NandUtils::FileExists +8052b6dc NandMgr::Disposer_dt +8052b774 NandMgr::CreateInstance +8052b818 NandMgr::DestroyInstance +8052b84c NandMgr::__ct +8052b8c4 NandMgr::__dt +8052b978 NandMgr::Init +8052ba30 NandMgr::ReadRKSYS +8052bae8 NandMgr::ReadFile +8052bb8c NandMgr::CheckRKSYSLength +8052bc50 NandMgr::WriteToRKSYS +8052bda8 NandMgr::WriteFile +8052be6c 0x8052be6c +8052bf50 0x8052bf50 +8052c00c NandMgr::CreateRKSYS +8052c164 NandMgr::DeleteRKSYS +8052c490 NandMgr::GetBannerType +8052c4ec 0x8052c4ec +8052c624 0x8052c624 +8052c748 0x8052c748 +8052c7d8 0x8052c7d8 +8052c878 0x8052c878 +8052c98c 0x8052c98c +8052c9e8 0x8052c9e8 +8052ca98 0x8052ca98 +8052cb40 0x8052cb40 +8052cbf0 RKSYS::Rating::AddPoints +8052cc18 ElineController::__ct +8052cc90 0x8052cc90 +8052cd04 0x8052cd04 +8052cd50 0x8052cd50 +8052cdec ElineMgr::__ct +8052d1a8 ElineMgr::GetController +8052d208 ElineMgr::Update +8052d2ec RacedataPlayer::__ct +8052d390 RKSYS::Rating::__dt +8052d3d0 RacedataPlayer::RegisterPlayerParams +8052d470 RacedataPlayer::ComputeGPRank +8052d548 RacedataScenario::__ct +8052d5e8 RacedataPlayer::__dt +8052d628 RacedataScenario::BlueTeamHasMorePoints +8052d698 RacedataPlayer::GetTeam +8052d6a0 RacedataScenario::GetPlayer(const) +8052d6b0 RacedataPlayer::GetPlayerCount +8052d6c0 Racedata::Init +8052ddac RacedataPlayer::SetCharacterId +8052ddb4 RacedataScenario::GetPlayer +8052ddc4 RacedataPlayer::SetKartId +8052ddcc RacedataPlayer::SetPlayerType +8052ddd4 Racedata::ResetScenarios +8052dfc0 RacedataPlayer::ResetScores +8052dfd8 RacedataPlayer::SetPrevFinishPos +8052dfe0 0x8052dfe0 +8052dfe8 0x8052dfe8 +8052e0e4 0x8052e0e4 +8052e0e8 0x8052e0e8 +8052e0ec 0x8052e0ec +8052e0f0 0x8052e0f0 +8052e1f0 0x8052e1f0 +8052e2d0 RacedataScenario::UpdatePoints +8052e698 RacedataScenario::GetGameType +8052e6a0 RacedataPlayer::GetPlayerType +8052e6a8 RacedataScenario::InitControllers +8052e870 RacedataScenario::InitGhostPlayer +8052e954 0x8052e954 +8052e9e4 0x8052e9e4 +8052eb60 RacedataScenario::UpdateFromPrevRace +8052ee68 RacedataScenario::InitScreens +8052f108 RacedataScenario::ComputePlayerCounts +8052f2a4 RacedataScenario::InitRng +8052f38c RacedataScenario::InitCompetitionSettings +8052f510 RacedataScenario::Init +8052f7d8 Racedata::CreateInstance +8052f968 Racedata::DestroyInstance +8052f9b8 Racedata::__dt +8052fa74 RacedataScenario::__dt +8052fadc Racedata::__ct +8052fc44 Racedata::InitRace +8052ff2c RacedataScenario::operator= +805301e4 Racedata::InitAwards +8053088c RacedataScenario::AreTeamsEnabled +80530898 0x80530898 +805308a0 RacedataPlayer::GetCharacterId +805308a8 RacedataPlayer::GetKartId +805308b0 RacedataPlayer::SetMii +805309e8 RacedataPlayer::GetMii +805309f0 Racedata::InitCredits +80531664 Racedata::UpdatePrevFromCur +80531764 RacedataScenario::RegisterParameters +80531898 Racedata::GetHudSlotId +805318ac Racedata::SetGhost +805318f0 Racedata::GetPlayerIdOfLocalPlayer +80531900 Racedata::HandleRaceFinish? +80531948 Racedata::LoadNextGPTrack +805319b0 Racedata::IsTTReplay +805319f0 Racedata::vf_0x18 +805319f4 Racedata::vf_0x14 +805319f8 Racedata::vf_0x10 +805319fc 0x805319fc +80531a04 Raceinfo::CreateInstance +80531a54 Raceinfo::DestroyInstance +80531aa4 GMDataGP::__ct +80531b08 Raceinfo::CreateGMData +80531b48 Raceinfo::CreateGMData_Raceinfo::CreateGMData_switch +80531b4c Raceinfo::CreateGMData_case_0 +80531ba0 Raceinfo::CreateGMData_case_1 +80531bc8 Raceinfo::CreateGMData_case_4 +80531bd4 Raceinfo::CreateGMData_case_3 +80531c48 Raceinfo::CreateGMData_case_7 +80531d60 Raceinfo::CreateGMData_case_9 +80531dc4 Raceinfo::CreateGMData_case_2 +80531e08 GMDataOnlineVSPlayer::__ct +80531e2c GMDataOnlineVSPlayer::__dt +80531e6c 0x80531e6c +80531eac 0x80531eac +80531eec 0x80531eec +80531f2c 0x80531f2c +80531f6c 0x80531f6c +80531fac 0x80531fac +80531fec 0x80531fec +8053202c 0x8053202c +8053206c Raceinfo::GetBattleDuration +80532120 Raceinfo::__ct +805326c4 RaceTimerMgrBase::Reset +80532760 RaceTimerMgrBase::__dt +805327bc Raceinfo::__dt +805328c8 RaceinfoPlayer::__dt +80532908 Raceinfo::Init +80532a0c GMData::Init +80532a10 Raceinfo::GetRemainingCountdownTime +80532a40 Raceinfo::ComputeDelfinoPierTideState +80532b34 Raceinfo::Update +80533020 RaceTimerMgrBase::Update +80533024 Raceinfo::GetLapCount +80533058 GMData::HandlePositionTracking +8053347c 0x8053347c +80533568 GMData::vf_0x20 +8053356c 0x8053356c +805335b4 GMData::vf_0x24 +805335ec Raceinfo::EndPlayerRace +80533704 Raceinfo::SetPlayerDisconnected +80533754 0x80533754 +80533858 RaceinfoPlayer::__ct +80533b14 0x80533b14 +80533c68 RaceinfoPlayer::UpdateRealLocal +80534004 0x80534004 +80534174 RaceinfoPlayer::EndRace +805342b4 0x805342b4 +80534338 RaceinfoPlayer::EndLap +805345f8 RaceinfoPlayer::Vanish +8053463c RaceinfoPlayer::Disconnect +8053464c 0x8053464c +805346ec 0x805346ec +80534778 RaceinfoPlayer::UpdateCheckPoint +80534b8c 0x80534b8c +80534c84 RaceinfoPlayer::Update +80535018 0x80535018 +8053501c 0x8053501c +80535098 RaceinfoPlayer::CopyCPUInputs +805350ac RaceinfoPlayer::FillTimerWithLapSplits +805351e4 RaceTimerMgr::Reset +80535284 RaceTimerMgr::Update +80535620 Raceinfo::CloneTimer +80535694 GMDataTT::CanRaceEnd +80535768 GMData::UpdateLocalPlayer +80535804 GMData::Update +80535874 GMData::GetJGPTHolder +805358a8 GMDataGP::CanRaceEnd +80535964 GMDataGP::Update +805359d4 GMDataVS::CanRaceEnd +80535b88 Raceinfo::CanRaceEnd +80535b9c Raceinfo::GetJGPTHolder +80535bb0 Raceinfo::IsAtLeastStage +80535bc8 0x80535bc8 +80535c5c Raceinfo::GetInitialPhysicsValues +80535ca4 Raceinfo::GetInitialPhysicsValues::switch +80535ca8 Raceinfo::GetInitialPhysicsValues::case_3 +80535dd0 Raceinfo::GetInitialPhysicsValues::case_b +80535e04 Raceinfo::GetInitialPhysicsValues::case_c +80535e14 Raceinfo::GetInitialPhysicsValues::case_2 +80535e24 Raceinfo::GetInitialPhysicsValues::case_4 +80535ec0 Raceinfo::GetInitialPhysicsValues::case_0 +80535f48 Raceinfo::GetKTPTHolder +80535f94 Raceinfo::GetKTPTHolder_switch +80535f98 Raceinfo::GetKTPTHolder_case_3 +805360b8 Raceinfo::GetKTPTHolder_case_4 +80536138 Raceinfo::GetKTPTHolder_case_b +80536164 Raceinfo::GetKTPTHolder_case_c +8053616c Raceinfo::GetKTPTHolder_case_2 +80536174 Raceinfo::GetKTPTHolder_case_0 +805361a8 Raceinfo::GetStartENPT +80536244 Raceinfo::GetRawKRT +80536278 RaceinfoPlayer::ComputeGPRank +80536604 0x80536604 +80536b10 0x80536b10 +80536b24 GMData::vf_0x28 +80536b28 0x80536b28 +80536b68 0x80536b68 +80536bcc 0x80536bcc +80536c34 0x80536c34 +80536c3c 0x80536c3c +80536ca0 0x80536ca0 +80536d08 0x80536d08 +80536d10 0x80536d10 +80536d74 0x80536d74 +80536ddc 0x80536ddc +80536de4 0x80536de4 +80536e48 0x80536e48 +80536eb0 0x80536eb0 +80536eb8 0x80536eb8 +80536f1c 0x80536f1c +80536f84 0x80536f84 +80536f8c 0x80536f8c +80536ff0 0x80536ff0 +80537058 0x80537058 +80537060 RaceTimerMgr::__dt +805370c0 0x805370c0 +805371b0 Vec3::Cross +805371fc 0x805371fc +80537500 Mtx34::GetColumnByIdx +80537524 0x80537524 +805375d4 0x805375d4 +80537614 0x80537614 +80537654 0x80537654 +80537918 0x80537918 +80537a04 0x80537a04 +80537af0 0x80537af0 +80537b24 0x80537b24 +80537ba0 0x80537ba0 +80537c9c KMGHolder::SetKMG +80537cc4 KMGHolder::ConvertArenaIdToIdx +80537d98 GMDataBattle::HandlePositionTracking +805380f0 GMDataBalloonBattle::OnItemCollision +80538314 GMDataBalloonBattle::OnKartCollision +80538540 GMDataBalloonBattle::OnOOBCollision +80538660 0x80538660 +80538780 0x80538780 +80538834 0x80538834 +805388d0 GMDataOnlineBalloonBattle::GetKMGSeconds2 +805388d8 GMDataOnlineBalloonBattle::GetKMGSeconds3 +805388e0 0x805388e0 +8053896c GMDataBattle::Init +80538b5c GMDataOnlineBalloonBattle::GetKMGSeconds1 +80538b64 GMDataBattle::GetJGPTHolder +80538c64 0x80538c64 +80538d84 0x80538d84 +80538ef4 GMDataBalloonBattle::Update +805390f0 GMDataBalloonBattle::CanRaceEnd +805391a4 GMDataCoinBattle::Update +80539404 GMDataCoinBattle::CanRaceEnd +80539410 GMDataCoinBattle::OnItemCollision +805394b0 GMDataCoinBattle::OnKartCollision +80539568 GMDataCoinBattle::OnOOBCollision +805395bc GMDataOnlineBalloonBattle::Init +80539908 GMDataOnlineBalloonBattle::__ct +80539b00 0x80539b00 +80539b40 0x80539b40 +80539b80 0x80539b80 +80539bc0 0x80539bc0 +80539c00 0x80539c00 +80539c40 0x80539c40 +80539c80 0x80539c80 +80539cc0 0x80539cc0 +80539d00 0x80539d00 +80539d40 0x80539d40 +8053a0a0 0x8053a0a0 +8053a104 0x8053a104 +8053a10c 0x8053a10c +8053a170 0x8053a170 +8053a178 0x8053a178 +8053a1e8 0x8053a1e8 +8053a1f0 0x8053a1f0 +8053a254 0x8053a254 +8053a25c 0x8053a25c +8053a2c0 0x8053a2c0 +8053a2c8 0x8053a2c8 +8053a32c 0x8053a32c +8053a334 0x8053a334 +8053a398 0x8053a398 +8053a3a0 0x8053a3a0 +8053a55c 0x8053a55c +8053a57c 0x8053a57c +8053a59c 0x8053a59c +8053aa28 0x8053aa28 +8053aa90 0x8053aa90 +8053aaf8 0x8053aaf8 +8053ab78 0x8053ab78 +8053abe0 0x8053abe0 +8053ac48 0x8053ac48 +8053acb0 0x8053acb0 +8053ad18 0x8053ad18 +8053ad4c 0x8053ad4c +8053ae4c GMDataOnlineBalloonBattle::OnItemCollision +8053af04 GMDataOnlineBalloonBattle::OnKartCollision +8053afbc GMDataOnlineBalloonBattle::OnOOBCollision +8053b068 GMDataOnlineBalloonBattle::vf_0x3c +8053b078 0x8053b078 +8053b124 GMDataOnlineBalloonBattle::OnObjectCollision +8053b1d0 0x8053b1d0 +8053b204 0x8053b204 +8053b290 0x8053b290 +8053b30c 0x8053b30c +8053b420 0x8053b420 +8053b574 GMDataOnlineBalloonBattle::Update +8053b6dc GMDataOnlineBalloonBattle::Update_switch +8053b6e0 GMDataOnlineBalloonBattle::Update_case_1 +8053b6f4 GMDataOnlineBalloonBattle::Update_case_2 +8053b704 GMDataOnlineBalloonBattle::Update_case_3 +8053b718 GMDataOnlineBalloonBattle::Update_case_4 +8053b79c GMDataOnlineBalloonBattle::Update_case_5 +8053b7ac GMDataOnlineBalloonBattle::Update_case_6 +8053b7f0 GMDataOnlineBalloonBattle::Update_case_7 +8053b7f8 GMDataOnlineBalloonBattle::Update_case_0 +8053b7fc GMDataOnlineBalloonBattle::Update_case_8 +8053c4ac 0x8053c4ac +8053c548 0x8053c548 +8053c790 0x8053c790 +8053c9e0 0x8053c9e0 +8053cb20 0x8053cb20 +8053cbe0 0x8053cbe0 +8053cd20 GMDataOnlineBalloonBattle::vf_0x28 +8053cda8 GMDataOnlineCoinBattle::Update +8053d1c8 0x8053d1c8 +8053d238 GMDataBattle::vf_0x3c +8053d23c GMDataCoinBattle::OnObjectCollision +8053d240 GMDataCoinBattle::GetKMGSeconds3 +8053d25c GMDataCoinBattle::GetKMGSeconds2 +8053d278 GMDataCoinBattle::GetKMGSeconds1 +8053d294 GMDataOnlineBalloonBattle::CanRaceEnd +8053d29c GMDataBalloonBattle::GetKMGSeconds3 +8053d2b8 GMDataBalloonBattle::GetKMGSeconds2 +8053d2d4 GMDataBalloonBattle::GetKMGSeconds1 +8053d2f0 0x8053d2f0 +8053d2f4 0x8053d2f4 +8053d2f8 0x8053d2f8 +8053d2fc Raceinfo::RaceinfoGamemodeDataMissionTournament +8053d338 Raceinfo::RaceinfoGamemodeDataMissionTournament_switch +8053d33c Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_0 +8053d368 Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_1 +8053d394 Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_7 +8053d3d0 0x8053d3d0 +8053d428 0x8053d428 +8053d42c 0x8053d42c +8053d478 0x8053d478 +8053d47c 0x8053d47c +8053d490 0x8053d490 +8053d498 0x8053d498 +8053d4b4 0x8053d4b4 +8053d978 0x8053d978 +8053d998 0x8053d998 +8053db14 0x8053db14 +8053dbfc 0x8053dbfc +8053dc18 0x8053dc18 +8053dc20 0x8053dc20 +8053dc30 0x8053dc30 +8053dc70 0x8053dc70 +8053dcb0 0x8053dcb0 +8053dcf0 GMDataOnlineVS::Init +8053ddfc 0x8053ddfc +8053e000 0x8053e000 +8053e12c 0x8053e12c +8053e53c 0x8053e53c +8053e5c0 0x8053e5c0 +8053e6e8 0x8053e6e8 +8053e7d0 0x8053e7d0 +8053e954 0x8053e954 +8053eb04 0x8053eb04 +8053ec24 GMDataOnlineVS::Update +8053ee20 GMDataOnlineVS::HandlePositionTracking +8053f390 GMDataOnlineVS::CanRaceEnd +8053f4b8 GMDataOnlineVS::vf_0x24 +8053f518 GMDataOnlineVS::UpdateLocalPlayers +8053f5cc ArchiveMgr::CreateInstance +8053f61c ArchiveMgr::DestroyInstance +8053f66c ArchiveMgr::__ct +8053f7e8 AllkartArchivesLoader::__ct +8053f814 AllkartArchivesLoader::__dt +8053f854 0x8053f854 +8053f894 0x8053f894 +8053f89c ArchiveMgr::__dt +8053f9b8 ArchiveMgr::LoadArchiveAsync +8053fa20 ArchiveMgr::WaitForLoad +8053fb6c 0x8053fb6c +8053fb7c 0x8053fb7c +8053fb8c ArchiveMgr::LoadArchive(holder) +8053fc40 ArchiveMgr::LoadArchive(file) +8053fd14 ArchiveMgr::LoadArchive(holder, 2heaps) +8053fdd0 ArchiveMgr::LoadArchive(type) +8053fed8 ArchiveMgr::LoadContentArchive +80540000 ArchiveMgr::LoadUIArchive +805400e0 ArchiveMgr::LoadCourseArchive +80540298 ArchiveRoot_loadMissionTrack +80540494 ArchiveMgr::LoadCompetitionArchives +8054067c ArchiveMgr::LoadKartArchive(holder) +805407bc ArchiveMgr::LoadKartArchive(playerId) +80540910 ArchiveMgr::LoadKartArchiveHolder2(playerId) +80540a64 0x80540a64 +80540b54 ArchiveMgr::Unmount(source) +80540b64 ArchiveMgr::Unmount(holder) +80540b6c ArchiveMgr::UnmountContentArchive +80540b7c ArchiveMgr::GetFile +80540bf8 ArchiveMgr::GetMenuKartBRRES +80540ca0 ArchiveMgr::GetKartBRRES +80540d48 ArchiveMgr::GetKartArchiveFile +80540db8 ArchiveMgr::GetKartArchiveFileHolder2 +80540e28 ArchiveMgr::GetBSP +80540edc ArchiveMgr::GetContentFileNewBuffer +80540f34 ArchiveMgr::HasArchives +80540f44 ArchiveMgr::HasKartArchive +80540f54 ArchiveMgr::HasKartArchiveHolder2 +80540f64 ArchiveMgr::HasContentArchive +80540f94 ArchiveMgr::GetArchive +8054101c ArchiveMgr::SetLayoutResources +805410b8 ArchiveMgr::GetArchiveCount +80541114 ArchiveMgr::GetUIArchiveCount +80541124 ArchiveMgr::AttachUIAccessor +805411f8 ArchiveMgr::AttachLayoutResources +80541318 ArchiveMgr::LoadCourseArchiveAsync +8054132c ArchiveMgr::RequestLoadCourseArchiveAsync +80541348 ArchiveMgr::GetKartArchivePostfix +8054136c ArchiveMgr::GetKartArchivePrefix +80541390 AsyncCourseArchiveLoader::__ct +805413f0 AsyncCourseArchiveLoader::Init +80541444 AsyncCourseArchiveLoader::__dt +805414d8 AsyncCourseArchiveLoader::Load +80541598 AsyncCourseArchiveLoader::CopyToHolder +805415b8 0x805415b8 +805415c8 ArchiveMgr::ExecuteTask +8054163c ArchiveMgr::RequestTask +80541660 ArchiveMgr::ProcessRequestsAndShutdown +805417c4 ArchiveMgr::LoadKartArchiveAsync +805419b0 0x805419b0 +80541b90 ArchiveMgr::RequestLoadKartArchives +80541c4c ArchiveMgr::InitAllkartArchivesLoaders +80541d3c ArchiveMgr::ResetAllkartArchivesLoaders +80541dfc ArchiveMgr::GetAllKartLoaderHeap +80541e0c ArchiveMgr::LoadEarthBrres(heap) +80541ea4 ArchiveMgr::CreateEarthHeap +80541f04 ArchiveMgr::DestroyEarthHeap +80541f50 ArchiveMgr::LoadEarthBrresAsync +80542014 ArchiveMgr::LoadEarthBrres +805420d4 ArchiveMgr::RequestLoadEarthBrres +8054213c ArchiveMgr::LoadStaffGhostAsync +805421e8 0x805421e8 +805421f8 RootScene::__ct +80542328 RootScene::__dt +80542390 RootScene::SetHeapsGroupId +80542398 RootScene::CreateArchiveMgr +80542400 RootScene::CreateGroup1Instances +80542460 RootScene::CreateAudioMgr +805424dc RootScene::CreateScnMgrCreator +80542520 RootScene::CreateRacedata +80542564 RootScene::CreateEffectsMgr +805425ac RootScene::CreateHomeMenuMgr +805425f4 RootScene::CreateRKNetInstances +80542644 RootScene::CreateUIInstances +8054268c 0x8054268c +805426cc RootScene::CreateInstances +80543234 RootScene::InitInstances +8054344c 0x8054344c +8054348c 0x8054348c +80543490 RootScene::RequestRootScene +805434fc 0x805434fc +80543504 RootScene::enter +80543604 RootScene::exit +80543608 RootScene::calc +8054360c RootScene::draw +80543610 0x80543610 +80543698 RKSYS::Mgr::Disposer__dt +80543730 RKSYS::Mgr::CreateInstance +8054385c RKSYS::Mgr::DestroyInstance +80543890 RKSYS::Mgr::__ct +8054398c RKSYS::LicenseMgr::__ct +80543c1c RKSYS::LicenseCup::__ct +80543c40 Timer::__ct(bool) +80543c90 Timer::SetActive +80543c98 RKSYS::LicenseCup::__dt +80543cd8 RKSYS::LicenseLdbEntry::__ct +80543cfc RKSYS::LicenseLdbEntry::__dt +80543d3c RKSYS::LicenseUnkTimer::__ct +80543d60 RKSYS::LicenseUnkTimer::__dt +80543da0 RKSYS::LicenseFriends::__dt +80543de0 RKSYS::LicenseCompletion::__ct +80543e04 RKSYS::LicenseCompletion::__dt +80543e44 RKSYS::LicenseStaffGhostStatus::__ct +80543e50 RKSYS::Rating::__ct +80543e68 RKSYS::LicenseUnkTimer2::__ct +80543e8c RKSYS::LicenseUnkTimer2::__dt +80543ecc RKSYS::LicenseMgr::SetInitialized +80543ed8 RKSYS::LicenseMgr::__dt +80543f8c RKSYS::Mgr::__dt +80544068 0x80544068 +805441a4 RKSYS::Mgr::RequestTask +805441c0 RKSYS::Mgr::LoadTask +805441cc RKSYS::Mgr::LoadRKSYS +805443b8 RKSYS::Mgr::Init +805443dc RKSYS::Mgr::SaveCoreTask +8054445c RKSYS::Mgr::SaveCoreImpl +805444c8 RKSYS::Mgr::SaveCore +80544544 RKSYS::Mgr::WriteLicenses +805445ac RKSYS::Mgr::WriteCoreAndRequestSaveCore +80544658 RKSYS::LicenseMgr::SetCurLicense +80544690 RKSYS::Mgr::CheckLicenseMagic +805446c0 RKSYS::Mgr::ReadLicense +80544f60 RKSYS::LicenseMgr::ReadMiiName +80544fd8 RKSYS::LicenseMgr::GetMiiName +80544fdc RKSYS::LicenseMgr::ReadRFLCreateID +80545030 RKSYS::LicenseMgr::SetRFLCreateID +80545074 RKSYS::LicenseMgr::ReadDWCAccUserData +80545118 RKSYS::LicenseMgr::SetDWCUserData +805451b0 RKSYS::LicenseMgr::ReadFriendData +805451d4 RKSYS::LicenseMgr::GetFriends +805451dc RKSYS::LicenseMgr::ReadCup +805452b4 RKSYS::LicenseMgr::GetCup +805452cc RKSYS::LicenseMgr::ReadLdbEntry +80545380 RKSYS::LicenseMgr::GetLdbEntry(SaveCourseId) +80545398 RKSYS::LicenseMgr::ReadUnkTimer +80545414 RKSYS::LicenseMgr::GetUnkTimer +80545424 RKSYS::LicenseMgr::ReadCompletion +80545458 RKSYS::LicenseMgr::SetCompletion +80545480 RKSYS::LicenseMgr::ReadPBGhostBitfield +8054549c RKSYS::LicenseMgr::SetPBGhostBitfield +805454a8 RKSYS::LicenseMgr::ReadDLGhostBitfield +805454c4 RKSYS::LicenseMgr::SetDLGhostBitfield +805454d0 RKSYS::LicenseMgr::SetRKPDEA_2 +805454dc RKSYS::LicenseMgr::ReadRKPDEA_2 +80545504 RKSYS::LicenseMgr::ReadStaffGhostStatus +80545528 RKSYS::LicenseMgr::SetStaffGhostStatus +80545540 RKSYS::LicenseMgr::SetRKPD1BC_31 +8054554c RKSYS::LicenseMgr::ReadRKPD1BC_31 +80545568 RKSYS::LicenseMgr::GetRKPDVR +80545584 RKSYS::LicenseMgr::SetVR +80545594 RKSYS::LicenseMgr::GetRKPDBR +805455b0 RKSYS::LicenseMgr::SetBR +805455c0 RKSYS::LicenseMgr::SetOfflineVSWins +805455e0 RKSYS::LicenseMgr::ReadOfflineVSWins +805455f8 RKSYS::LicenseMgr::SetOfflineVSLosses +80545618 RKSYS::LicenseMgr::ReadOfflineVSLosses +80545630 RKSYS::LicenseMgr::SetOfflineBattleWins +80545650 RKSYS::LicenseMgr::ReadOfflineBattleWins +80545668 RKSYS::LicenseMgr::SetOfflineBattleLosses +80545688 RKSYS::LicenseMgr::ReadOfflineBattleLosses +805456a0 RKSYS::LicenseMgr::SetWFCVSWins +805456c0 RKSYS::LicenseMgr::ReadWFCVSWins +805456d8 RKSYS::LicenseMgr::SetWFCVSLosses +805456f8 RKSYS::LicenseMgr::ReadWFCVSLosses +80545710 RKSYS::LicenseMgr::SetWFCBattleWins +80545730 RKSYS::LicenseMgr::ReadWFCBattleWins +80545748 RKSYS::LicenseMgr::SetWFCBattleLosses +80545768 RKSYS::LicenseMgr::ReadWFCBattleLosses +80545780 RKSYS::LicenseMgr::SetGhostRacesWins +805457a0 RKSYS::LicenseMgr::ReadGhostRacesWins +805457b8 RKSYS::LicenseMgr::SetGhostRacesLosses +805457d8 RKSYS::LicenseMgr::ReadGhostRacesLosses +805457f0 RKSYS::LicenseMgr::SetTotalRacePlayed +80545810 RKSYS::LicenseMgr::ReadTotalRacePlayed +80545828 RKSYS::LicenseMgr::SetTotalBattlePlayed +80545848 RKSYS::LicenseMgr::ReadTotalBattlePlayed +80545860 RKSYS::LicenseMgr::SetRacesOnWheel +80545880 RKSYS::LicenseMgr::ReadRacesOnWheel +80545898 RKSYS::LicenseMgr::SetBattlesOnWheel +805458b8 RKSYS::LicenseMgr::ReadBattlesOnWheel +805458d0 RKSYS::LicenseMgr::ReadDistanceTravelled +805458e8 RKSYS::LicenseMgr::SetDistanceTravelled +80545924 RKSYS::LicenseMgr::SetGhostDataChallengesSent +80545944 RKSYS::LicenseMgr::ReadGhostDataChallengesSent +8054595c RKSYS::LicenseMgr::SetGhostDataChallengesReceived +8054597c RKSYS::LicenseMgr::ReadGhostDataChallengesReceived +80545994 RKSYS::LicenseMgr::SetItemHitsDelivered +805459b4 RKSYS::LicenseMgr::ReadItemHitsDelivered +805459cc RKSYS::LicenseMgr::SetItemHitsReceived +805459ec RKSYS::LicenseMgr::ReadItemHitsReceived +80545a04 RKSYS::LicenseMgr::SetTricksPerformed +80545a24 RKSYS::LicenseMgr::ReadTricksPerformed +80545a3c RKSYS::LicenseMgr::SetTimes1stPlaceAchieved +80545a5c RKSYS::LicenseMgr::ReadTimes1stPlaceAchieved +80545a74 RKSYS::LicenseMgr::ReadDistancetravelledwhilein1stplace +80545a8c RKSYS::LicenseMgr::SetDistancetravelledwhilein1stplace +80545ac8 RKSYS::LicenseMgr::ReadDistancetravelledonVSRaces +80545ae0 RKSYS::LicenseMgr::SetDistancetravelledonVSRaces +80545b1c RKSYS::LicenseMgr::SetCompetitionsEntered +80545b3c RKSYS::LicenseMgr::ReadCompetitionsEntered +80545b54 RKSYS::LicenseMgr::SetRacesOnCharacter +80545b7c RKSYS::LicenseMgr::ReadRacesOnCharacter +80545b9c RKSYS::LicenseMgr::SetRacesOnKart +80545bc4 RKSYS::LicenseMgr::ReadRacesOnKart +80545be4 RKSYS::LicenseMgr::SetRacesOnTrack +80545c0c RKSYS::LicenseMgr::ReadRacesOnTrack +80545c2c RKSYS::LicenseMgr::SetRacesOnBattleArena +80545c54 RKSYS::LicenseMgr::ReadRacesOnBattleArena +80545c74 RKSYS::LicenseMgr::SetUnk55f0 +80545c90 RKSYS::LicenseMgr::ReadUnk55f0 +80545ccc RKSYS::LicenseMgr::SetDefaultDrift +80545cd8 RKSYS::LicenseMgr::ReadDefaultDrift +80545cf4 RKSYS::LicenseMgr::Set CC +80545d08 RKSYS::LicenseMgr::ReadCC +80545d2c RKSYS::LicenseMgr::SetCPUDifficulty +80545d40 RKSYS::LicenseMgr::ReadCPUDifficulty +80545d64 RKSYS::LicenseMgr::SetVehicleType +80545d78 RKSYS::LicenseMgr::ReadVehicleType +80545d9c RKSYS::LicenseMgr::SetCourseChoice +80545db0 RKSYS::LicenseMgr::ReadCourseChoice +80545dd4 RKSYS::LicenseMgr::SetItemsType +80545de8 RKSYS::LicenseMgr::ReadItemsType +80545e0c RKSYS::LicenseMgr::SetTotalRaceCount +80545e20 RKSYS::LicenseMgr::ReadTotalRaceCount +80545e44 RKSYS::LicenseMgr::ReadUnkTimer2 +80545eac RKSYS::LicenseMgr::SetUnkTimer2 +80545eec RKSYS::LicenseMgr::ReadRKPD_1BC +80545f4c RKSYS::LicenseMgr::SetRKPD_1BC +80545f78 RKSYS::LicenseMgr::ReadRKPD_5680 +80545fe0 RKSYS::LicenseUnk5680::Set +80546034 RKSYS::LicenseMgr::SetRKPD_5680 +8054605c RKSYS::LicenseMgr::ReadRKPD_5688 +805460b4 RKSYS::LicenseMgr::SetRKPD_5688 +805460c4 RKSYS::LicenseMgr::ReadRKPD_568c +805460fc RKSYS::LicenseMgr::SetRKPD_568c +80546128 RKSYS::LicenseMgr::SetRKPD_568c_31 +80546134 RKSYS::LicenseMgr::ReadRKPD_5688_31 +80546150 RKSYS::LicenseMgr::WriteToRKPD +80546934 RKSYS::LicenseMgr::IsInitialized +80546940 RKSYS::LicenseMgr::WriteMiiName +8054695c RKSYS::LicenseMgr::GetMiiName +80546960 RKSYS::LicenseMgr::WriteRFLCreateID +805469b4 RKSYS::LicenseMgr::GetRFLCreateID +805469bc RKSYS::LicenseMgr::WriteDWCAccUserData +80546a50 RKSYS::LicenseMgr::GetDWCAccUserData +80546a5c RKSYS::LicenseMgr::WriteFriendData +80546a7c RKSYS::LicenseMgr::GetFriends +80546a84 RKSYS::LicenseMgr::WriteCup +80546aa8 RKSYS::LicenseMgr::GetCup +80546ac0 RKSYS::LicenseMgr::WriteLdbEntry +80546bec RKSYS::LicenseMgr::GetLdbEntry +80546c04 RKSYS::LicenseMgr::WriteUnkTimer +80546cf4 RKSYS::LicenseMgr::GetUnkTimer +80546d04 RKSYS::LicenseMgr::WriteCompletion +80546d38 RKSYS::LicenseMgr::GetCompletion +80546d44 RKSYS::LicenseMgr::WritePBGhostBitfield +80546d5c RKSYS::LicenseMgr::GetPBGhostBitfield +80546d68 RKSYS::LicenseMgr::WriteDLGhostBitfield +80546d80 RKSYS::LicenseMgr::GetDLGhostBitfield +80546d8c RKSYS::LicenseMgr::WriteRKPD_EA_2 +80546dac RKSYS::LicenseMgr::GetRKPD_EA_2 +80546db8 RKSYS::LicenseMgr::WriteRKPD1BC_31 +80546dd8 RKSYS::LicenseMgr::GetRKPD1BC_31 +80546de4 RKSYS::LicenseMgr::WriteVR +80546e00 RKSYS::LicenseMgr::GetVR +80546e0c RKSYS::LicenseMgr::WriteBR +80546e28 RKSYS::LicenseMgr::GetBR +80546e34 RKSYS::LicenseMgr::WriteOfflineVSWins +80546e4c RKSYS::LicenseMgr::GetOfflineVSWins +80546e58 RKSYS::LicenseMgr::WriteOfflineVSLosses +80546e70 RKSYS::LicenseMgr::GetOfflineVSLosses +80546e7c RKSYS::LicenseMgr::WriteOfflineBattleWins +80546e94 RKSYS::LicenseMgr::GetOfflineBattleWins +80546ea0 RKSYS::LicenseMgr::WriteOfflineBattleLosses +80546eb8 RKSYS::LicenseMgr::GetOfflineBattleLosses +80546ec4 RKSYS::LicenseMgr::WriteWFCVSWins +80546edc RKSYS::LicenseMgr::GetWFCVSWins +80546ee8 RKSYS::LicenseMgr::WriteWFCVSLosses +80546f00 RKSYS::LicenseMgr::GetWFCVSLosses +80546f0c RKSYS::LicenseMgr::WriteWFCBattleWins +80546f24 RKSYS::LicenseMgr::GetWFCBattleWins +80546f30 RKSYS::LicenseMgr::WriteWFCBattleLosses +80546f48 RKSYS::LicenseMgr::GetWFCBattleLosses +80546f54 RKSYS::LicenseMgr::WriteGhostRacesWins +80546f6c RKSYS::LicenseMgr::GetGhostRacesWins +80546f78 RKSYS::LicenseMgr::WriteGhostRacesLosses +80546f90 RKSYS::LicenseMgr::GetGhostRacesLosses +80546f9c RKSYS::LicenseMgr::WriteTotalRacePlayed +80546fb4 RKSYS::LicenseMgr::GetTotalRacePlayed +80546fd4 RKSYS::LicenseMgr::WriteTotalBattlePlayed +80546fec RKSYS::LicenseMgr::WriteRacesOnWheel +8054700c RKSYS::LicenseMgr::GetTotalBattlePlayed +80547024 RKSYS::LicenseMgr::GetRacesOnWheel +80547044 RKSYS::LicenseMgr::WriteBattlesOnWheel +8054705c RKSYS::LicenseMgr::GetBattlesOnWheel +8054707c RKSYS::LicenseMgr::WriteDistanceTravelled +80547094 RKSYS::LicenseMgr::GetDistanceTravelled +805470b4 RKSYS::LicenseMgr::WriteGhostDataChallengesSent +805470cc RKSYS::LicenseMgr::GetGhostDataChallengesSent +805470ec RKSYS::LicenseMgr::WriteGhostDataChallengesReceived +80547104 RKSYS::LicenseMgr::GetGhostDataChallengesReceived +80547124 RKSYS::LicenseMgr::WriteItemHitsDelivered +8054713c RKSYS::LicenseMgr::GetItemHitsDelivered +8054715c RKSYS::LicenseMgr::WriteItemHitsReceived +80547174 RKSYS::LicenseMgr::GetItemHitsReceived +80547194 RKSYS::LicenseMgr::WriteTricksPerformed +805471ac RKSYS::LicenseMgr::GetTricksPerformed +805471cc RKSYS::LicenseMgr::WriteTimes1stPlaceAchieved +805471e4 RKSYS::LicenseMgr::GetTimes1stPlaceAchieved +80547204 RKSYS::LicenseMgr::WriteDistancetravelledwhilein1stplace +8054721c RKSYS::LicenseMgr::GetDistancetravelledwhilein1stplace +8054723c RKSYS::LicenseMgr::WriteDistancetravelledonVSRaces +80547254 RKSYS::LicenseMgr::GetDistancetravelledonVSRaces +80547274 RKSYS::LicenseMgr::WriteCompetitionsEntered +8054728c RKSYS::LicenseMgr::GetCompetitionsEntered +805472b0 RKSYS::LicenseMgr::WriteRacesOnCharacter +805472d0 RKSYS::LicenseMgr::GetRacesOnCharacter +805472fc RKSYS::LicenseMgr::WriteRacesOnKart +8054731c RKSYS::LicenseMgr::GetRacesOnKart +80547348 RKSYS::LicenseMgr::WriteRacesOnTrack +80547368 RKSYS::LicenseMgr::GetRacesOnTrack +80547394 RKSYS::LicenseMgr::WriteRacesOnBattleArena +805473b4 RKSYS::LicenseMgr::WriteUnk55f0 +805473e4 RKSYS::LicenseMgr::GetUnk55f0 +80547400 RKSYS::LicenseMgr::WriteStaffGhostStatus +80547424 RKSYS::LicenseMgr::GetStaffGhostStatus +80547438 RKSYS::LicenseMgr::WriteDefaultDrift +80547458 RKSYS::LicenseMgr::GetDefaultDrift +80547464 RKSYS::LicenseMgr::WriteCC +8054748c RKSYS::LicenseMgr::GetCC +805474a0 RKSYS::LicenseMgr::WriteCPUDifficulty +805474c8 RKSYS::LicenseMgr::GetCPUDifficulty +805474dc RKSYS::LicenseMgr::WriteVehicleType +80547504 RKSYS::LicenseMgr::GetVehicleType +80547518 RKSYS::LicenseMgr::WriteCourseChoice +80547540 RKSYS::LicenseMgr::GetCourseChoice +80547554 RKSYS::LicenseMgr::WriteItemsType +8054757c RKSYS::LicenseMgr::GetItemsType +80547590 RKSYS::LicenseMgr::WriteTotalRaceCount +805475b8 RKSYS::LicenseMgr::GetTotalRaceCount +805475cc RKSYS::LicenseMgr::WriteUnkTimer2 +8054769c RKSYS::LicenseMgr::GetUnkTimer2 +805476b0 RKSYS::LicenseMgr::GetRKPD_1BC +805476f4 RKSYS::LicenseMgr::WriteRKPD_1BC +8054779c RKSYS::LicenseMgr::GetRKPD_5680 +805477a8 RKSYS::LicenseMgr::WriteRKPD_5680 +80547804 RKSYS::LicenseUnk5680::Get_0 +8054780c RKSYS::LicenseUnk5680::Get_7 +80547814 RKSYS::LicenseUnk5680::Get_11 +8054781c RKSYS::LicenseMgr::GetRKPD_5688 +8054782c RKSYS::LicenseMgr::WriteRKPD_5688 +80547888 RKSYS::LicenseMgr::WriteRKPD_568c +805478c0 RKSYS::LicenseMgr::GetRKPD_568c +805478cc RKSYS::LicenseMgr::WriteRKPD_5688_31 +805478ec RKSYS::LicenseMgr::GetRKPD_5688_31 +805478f8 RKSYS::LicenseMgr::WriteMagic +80547918 RKSYS::LicenseUnk5680::__ct(copy) +8054793c RKSYS::Mgr::EraseLicense +805479b0 RKSYS::Mgr::CreateLicense +80547a80 0x80547a80 +80547a84 RKSYS::Reset +80547ba4 RKSYS::SetCRC +80547be0 RKSYS::IsCRCCorrect +80547c28 RKSYS::CheckMagicAndVersion +80547c58 RKSYS::CheckRegion +80547c80 RKSYS::ResetRKPD +80547dd4 RKSYS::CreateRKPD +80547e74 RKSYS::ReadRKPDCup +80547f38 RKSYS::ReadRKPDLdbEntry +80547fd8 RKSYS::ReadRKPDUnkTimer +80548040 RKSYS::ReadRKPDUnkTimer2 +805481cc RKSYS::WriteRKPDLdbEntry +805482e4 RKSYS::WriteRKPDUnkTimer +805483c0 RKSYS::WriteRKPDUnkTimer2 +8054847c RKSYS::ResetRKGD +8054850c RKSYS::GetRKGDUnk8Idx +805485d8 RKSYS::SetRKGDUnk8 +805487b0 RKSYS::LicenseMgr::GetLdbEntry(CourseId) +80548810 RKSYS::LicenseMgr::OverwriteAndStoreLdbEntry +80548904 RKSYS::LicenseMgr::StoreLdbEntry +80548a74 RKSYS::LicenseMgr::GetGhostPosition +80548b64 RKSYS::LicenseMgr::GetBestRank +80548d30 RKSYS::LicenseMgr::GetFavouriteCharacter +80548df0 RKSYS::LicenseMgr::GetFavouriteKart +80548ed0 RKSYS::LicenseMgr::GetFavouriteTrack +80548ff0 RKSYS::LicenseMgr::GetFavouriteBattleArena +805490a0 RKSYS::LicenseMgr::GetWheelRacesPercentage +80549190 RKSYS::LicenseMgr::GetInFirstPercentage +805491f8 RKSYS::LicenseMgr::Copy5680To5688 +80549218 RKSYS::LicenseMgr::Generate5688Bitfield +80549250 RKSYS::LicenseCompletion::Reset +80549268 RKSYS::LicenseCompletion::GetOffsetAndRelativeBit +8054927c RKSYS::LicenseCompletion::SetComplete +805492a4 RKSYS::LicenseCompletion::ResetComplete +805492cc RKSYS::LicenseCompletion::IsCompleted +805492fc RKSYS::Mgr::GetGhostOffset +8054933c RKSYS::Mgr::ReadGhostTask +80549394 RKSYS::Mgr::ReadGhost +805493e8 RKSYS::Mgr::ReadGhostAsync +805495c4 RKSYS::Mgr::LoadGhostGroupTask +805495d0 RKSYS::Mgr::LoadGhostGroup +8054972c RKSYS::Mgr::LoadGhostGroupAsync +80549864 RKSYS::Mgr::WriteGhostTask +80549918 RKSYS::Mgr::WriteGhost +805499c8 RKSYS::Mgr::SaveGhostAsync +80549c08 RKSYS::Mgr::EraseGhostTask +80549ca8 RKSYS::Mgr::EraseGhost +80549d44 RKSYS::Mgr::EraseGhostAsync +80549f48 RKSYS::Mgr::GetValidLicensesCount +80549fd8 RKSYS::Mgr::GetCombinedLicenseCompletions +8054a0bc RKSYS::Mgr::ReplaceBinaryTask +8054a0c8 RKSYS::Mgr::ReplaceBinary +8054a1e8 RKSYS::Mgr::EraseBinary +8054a338 RKSYS::Mgr::GetCountry +8054a360 RKSYS::Mgr::GetLongitude +8054a388 RKSYS::Mgr::GetLatitude +8054a3b0 GameSceneCreator::CreateInstance +8054a3e4 GameSceneCreator::create +8054a4a8 GameSceneCreator::destroy +8054a4ac LensFlare::QuadDrawer::__ct +8054a730 0x8054a730 +8054a734 GameScreenEffectsMgr::GetRootScreenWidth +8054a750 GameScreenEffectsMgr::GetRootScreenHeight +8054a770 LensFlare::QuadDrawer::Draw +8054a944 0x8054a944 +8054aa14 LensFlare::Texture::__ct +8054aae4 LensFlare::Texture::SetPosition +8054ab28 LensFlare::Texture::CopyFromEFB +8054ab54 0x8054ab54 +8054ac90 LensFlare::__ct +8054ae94 0x8054ae94 +8054aef8 LensFlare::__dt +8054afac LensFlare::OnFadeOutPrepareStart +8054afec LensFlare::FadeOutPrepareUpdate +8054b144 LensFlare::OnFadeOutStart +8054b148 LensFlare::FadeOutUpdate +8054b1f0 LensFlare::OnNoTargetStart +8054b240 LensFlare::NoTargetUpdate +8054b29c LensFlare::OnNormalStateStart +8054b34c LensFlare::OnNormalStateUpdate +8054b488 LensFlare::Update +8054b790 Vec2::MultiplyByScalar +8054b7ac LensFlare::DrawQuads +8054b814 LensFlare::CopyEFBToTexture +8054b840 0x8054b840 +8054b848 0x8054b848 +8054b8d0 LensFlareMgr::__ct +8054bcd0 LensFlareMgr::__dt +8054bd94 LensFlareMgr::GetBRRESTexCount +8054bd9c LensFlareMgr::GetRawTexture +8054be18 LensFlareMgr::GetTextureWidth +8054be80 LensFlareMgr::GetTextureHeight +8054bee8 LensFlareMgr::GetTextureName +8054bf64 LensFlareMgr::GetTextureFormat +8054bf74 LensFlareMgr::Update +8054bfe0 LensFlareMgr::DrawTextures +8054c130 LensFlareMgr::Draw +8054c1b4 LensFlareMgr::CopyEFBToTextures +8054c270 LensFlareMgr::AddLensFX +8054c2d8 LensFlareMgr::EnableExternalLens +8054c2fc LensFlareMgr::GetTargetPosition +8054c5c4 LensFlareMgr::GetScreenPosition +8054c7ac 0x8054c7ac +8054c7d8 0x8054c7d8 +8054c810 FilterEffect::__ct +8054ca30 0x8054ca30 +8054ca94 FilterEffectMgr::SetColor +8054cabc FilterEffect::Update +8054cb90 0x8054cb90 +8054cba0 0x8054cba0 +8054cbac 0x8054cbac +8054cc48 0x8054cc48 +8054cc4c 0x8054cc4c +8054cca0 0x8054cca0 +8054cca4 0x8054cca4 +8054ccbc 0x8054ccbc +8054cccc 0x8054cccc +8054ccec 0x8054ccec +8054ccf0 0x8054ccf0 +8054cd08 FilterEffect::Draw +8054ce08 FilterEffectMgr::__ct +8054d074 FilterEffectMgr::__dt +8054d12c FilterEffect:__dt +8054d194 FilterEffectMgr::Update +8054d288 FilterEffectMgr::Draw +8054d3d0 0x8054d3d0 +8054d3f4 0x8054d3f4 +8054d424 0x8054d424 +8054d5c4 CourseFilterEffect::__ct +8054d7a4 0x8054d7a4 +8054d808 CourseFilterEffect::Update +8054d8dc CourseFilterEffect::OnNoFilterStart +8054d8ec CourseFilterEffect::OnWhiteFilterPrepareStart +8054d910 CourseFilterEffect::WhiteFilterPrepareUpdate +8054d964 CourseFilterEffect::OnWhiteFilterStart +8054d968 CourseFilterEffect::WhiteFilterUpdate +8054d980 CourseFilterEffect::OnBlackFilterStart +8054d9a0 CourseFilterEffect::BlackFilterUpdate +8054d9b8 CourseFilterEffect::OnAlphaFadeoutStart +8054d9bc CourseFilterEffect::AlphaFadeoutUpdate +8054da18 CourseFilterEffect::Draw +8054db18 CourseFilterEffectMgr::__ct +8054dd48 CourseFilterEffectMgr::__dt +8054de00 CourseFilterEffect::__dt +8054de68 CourseFilterEffectMgr::Update +8054df5c CourseFilterEffectMgr:Draw +8054e094 0x8054e094 +8054e0ac 0x8054e0ac +8054e24c CreditsBars::__ct +8054e328 0x8054e328 +8054e32c CreditsBars::Init +8054e354 CreditsBars::Draw +8054e4d4 GameScreenEffectsMgr::__ct +8054eaa0 GameScreenEffectsMgr::__dt +8054eb30 GameScreenEffectsMgr::Update +8054ed48 0x8054ed48 +8054ed9c GameScreenEffectsMgr::Draw +8054f124 GameScreenEffectsMgr::DrawCourseFilterEffects +8054f260 GameScreenEffectsMgr::CopyEFBToLensFlareTextures +8054f328 GameScreenEffectsMgr::AddLensFX +8054f390 GameScreenEffectsMgr::EnableExternalLensFlare +8054f3b8 0x8054f3b8 +8054f3e0 0x8054f3e0 +8054f414 GameScreenEffectsMgr::RequestWhiteCourseFilter +8054f430 CreditsBars::__dt +8054f470 GameScreenEffects_cpp_sinit_ +8054f4ac IsVehicleTypeUnlocked +8054f554 0x8054f554 +8054f564 GetCupType +8054f5c4 IsCupUnlocked +8054f858 IsCharacterUnlocked +8054f88c IsCharacterUnlocked_switch +8054f890 IsCharacterUnlocked_caseD_11 +8054f928 IsCharacterUnlocked_caseD_18 +8054f9b0 IsCharacterUnlocked_caseD_1a +8054fa34 IsCharacterUnlocked_caseD_10 +8054fa4c IsKartUnlocked +8054fb24 0x8054fb24 +8054fb44 0x8054fb44 +8054fde8 isFastStaffGhostUnlocked +8054fec8 0x8054fec8 +80550068 0x80550068 +8055006c BitRotator::__ct +8055008c BitRotator::Update +805500b0 GetTick +805500b4 GetHour +80550130 THP::CreateAudioDecodeThread +80550200 THP::AudioDecodeThreadStart +80550220 THP::AudioDecodeThreadCancel +80550268 THP::AudioDecoder +80550290 THP::AudioDecoderForOnMemory +8055033c THP::AudioDecode +80550428 THP::PopFreeAudioBuffer +8055045c THP::PushFreeAudioBuffer +80550470 THP::PopDecodedAudioBuffer +805504b4 THP::PushDecodedAudioBuffer +805504c8 THP::PlayerInit +805505e8 THP::PlayerQuit +80550640 THP::PlayerOpen +805508c8 THP::PlayerClose +8055091c THP::PlayerCalcNeedMemory +805509d4 THP::PlayerSetBuffer +80550c14 THP::InitAllMessageQueue +80550ce4 THP::PrepareReady +80550cf8 THP::PlayerPrepare +80550f78 THP::PlayerPlay +80550fd8 THP::PlayerStop +805510b4 THP::PlayerPause +805510f0 THP::PlayerSkip +805512c0 THP::PlayControl +80551584 THP::ProperTimingForGettingNextFrame +805516b0 THP::PlayerDrawCurrentFrame +805516b8 THP::PlayerGetVideoInfo +80551700 THP::PlayerGetAudioInfo +80551748 THP::PlayerGetFrameRate +80551770 THP::PlayerGetTotalFrame +80551794 THP::PlayerGetState +805517a4 THP::PlayerDrawDone +80551814 0x80551814 +80551880 THP::AudioMixCallback +805519ec THP::MixAudio +80551db8 THP::PlayerSetVolume +80551ee4 THP::PlayerGetVolume +80551f1c THP::CreateReadThread +80551fbc THP::ReadThreadStart +80551fdc THP::ReadThreadCancel +80552024 THP::Reader +80552114 THP::PopReadedBuffer +80552148 THP::PopReadedBuffer2 +8055215c THP::PopFreeReadBuffer +80552190 THP::PushFreeReadBuffer +805521a4 THP::PopReadedBuffer2 +805521d8 THP::PushReadedBuffer2 +805521ec THP::CreateVideoDecodeThread +805522c0 THP::VideoDecodeThreadStart +805522e0 THP::VideoDecodeThreadCancel +80552328 THP::VideoDecoder +805523f4 THP::VideoDecoderOnMemory +80552524 THP::VideoDecode +80552670 THP::PopFreeTextureSet +805526a4 THP::PushFreeTextureSet +805526b8 THP::PopDecodedTextureSet +805526fc THP::PushDecodedTextureSet +80552710 courseIdToGhostIndex +805527f4 GetCourseIdBySlot +80552818 0x80552818 +805529b8 0x805529b8 +80552b00 0x80552b00 +80552c94 0x80552c94 +80552ee4 0x80552ee4 +8055300c 0x8055300c +8055307c 0x8055307c +80553080 0x80553080 +80553088 0x80553088 +805530a0 0x805530a0 +805530a8 0x805530a8 +80553108 0x80553108 +8055314c 0x8055314c +805531a4 0x805531a4 +805531a8 0x805531a8 +805531ac 0x805531ac +805531b8 0x805531b8 +805531c4 0x805531c4 +805531d0 GlobeScene::__ct +80553214 GlobeScene::__dt +8055326c GlobeScene::OnEnter +80553338 GlobeScene::CreateAndInitInstances +80553408 GlobeScene::OnEnterEnd +80553448 GlobeScene::OnExit +80553490 GlobeScene::OnCalc +80553508 RaceScene::__ct +80553554 RaceScene::__dt +805535d0 RaceScene::OnEnter +80553b88 RaceScene::CreateAndInitInstances +805540ac RaceScene::OnEnterEnd +8055432c RaceScene::vf_0x58 +80554330 RaceScene::OnExit +80554414 RaceScene::OnReinit +80554454 RaceScene::UpdateRaceInstances +80554690 0x80554690 +80554710 RaceScene::UpdateSomeInstances +80554794 RaceScene::isPaused +805547ec RaceScene::OnCalc +805548e8 RaceScene::GetScreenCount +805548f8 RaceScene::isSpectating +80554908 RaceScene::vf_0x48 +80554914 RaceScene::vf_0x50 +8055491c RaceScene::vf_0x58 +80554924 MenuScene::__ct +80554968 MenuScene::__dt +805549c0 MenuScene::OnEnter +80554ad4 MenuScene::CreateAndInitInstances +80554be4 MenuScene::OnEnterEnd +80554c18 MenuScene::OnExit +80554c48 MenuScene::OnCalc +80554c9c RelProlog +80554ce8 RelEpilog +80554d30 RelUnresolvedSection +80554de4 Random::__ct +80554e50 Random::Reset +80554e94 Random::__ct(seed) +80554eb8 Random::__dt +80554ef8 Random::Next +80554f4c Random::NextLimited +80554fa8 Random::NextFloat +80555028 Random::NextFloatLimited +805550ac 0x805550ac +805550d0 ModelTransformator::__ct +805551dc ModelTransformator::AppendAnmHolder +805551e4 ModelTransformator::AppendAnmBlend +805551ec ModelTransformator::SetBlendWeightDecrement +80555210 ModelTransformator::GetBlendWeightDecrement +8055523c ModelTransformator::DecrementBlendWeight +8055526c ModelTransformator::DetachAllAnmFromBlend(type) +8055529c ModelTransformator::DetachAllAnmFromBlend(listIdx) +805552fc ModelTransformator::LinkAnimationByName +80556098 ModelTransformator::IsG3dObj +805560b4 AnmChrBlendHolder::__dt +805560f4 0x805560f4 +80556134 ModelTransformator::LinkAnimationByBRRESIdx +80556890 ModelTransformator::LinkChrAnmToBone +80556a6c 0x80556a6c +80556b24 ModelTransformator::LinkEmptyAnm +80556bb4 ModelTransformator::GetAnmHolderByIdx +80556bbc ModelTransformator::GetAnmObjByIdx +80556be4 ModelTransformator::AddAnmToScnMdlAndSetupBRASD +80556c70 ModelTransformator::AddAnmToScnMdl +80556c88 ModelTransformator::OverwriteAnm +80556ca8 ModelTransformator::RestoreAnm +80556cc0 ModelTransformator::GetAnmHolderByType +80556cd0 ModelTransformator::GetPrevAnmHolderByType +80556ce0 ModelTransformator::IsTypeActive +80556cfc ModelTransformator::IsTypeInPrev +80556d18 ModelTransformator::GetAnmObjByType +80556d2c ModelTransformator::DetachHolderFromParent +80556d4c ModelTransformator::PlayAnmNoBlend +80556ec8 0x80556ec8 +80556fd0 ModelTransformator::AddAnmBlendToScnMdl +80557004 ModelTransformator::PlayAnmWithBlend +805571b0 ModelTransformator::StopAnmType +80557258 ModelTransformator::UpdateBRASDAndBlend +805572d4 AnmHolder::GetFrame +805572e0 ModelTransformator::UpdateBlend +805574a0 AnmHolder::IsLooped +805574a8 AnmHolder::GetFrameCount +805574b4 0x805574b4 +80557538 ModelTransformator::Bind +80557590 ModelTransformator::UpdateActiveAnms +80557678 0x80557678 +80557710 0x80557710 +80557750 0x80557750 +80557874 0x80557874 +80557930 ModelTransformator::vf_0x8 +80557934 AnmHolder::SetUpdateRate +80557938 AnmHolder::GetUpdateRate +80557944 AnmHolder::UpdateRateAndSetFrame +80557948 AnmHolder::SetFrame +8055794c 0x8055794c +8055798c 0x8055798c +805579d4 0x805579d4 +80557a24 0x80557a24 +80557c68 0x80557c68 +80557d68 0x80557d68 +80557eb8 0x80557eb8 +80558084 0x80558084 +80558114 AnmTexPatOverrideHolder::__dt +80558154 AnmTexPatOverrideHolder::SetWeight +8055819c AnmTexPatOverrideHolder::GetWeight +805581ec AnmTexPatOverrideHolder::AttachNew +80558430 AnmTexPatOverrideHolder::Attach +80558530 AnmTexPatOverrideHolder::DecrementWeight +80558680 AnmTexPatOverrideHolder::ShouldDetachFromParent +8055884c AnmTexPatOverrideHolder::DetachAll +805588dc 0x805588dc +8055891c 0x8055891c +80558964 0x80558964 +805589b4 0x805589b4 +80558bf8 0x80558bf8 +80558cf8 0x80558cf8 +80558e48 0x80558e48 +80559014 0x80559014 +805590a4 0x805590a4 +805590e4 0x805590e4 +8055912c 0x8055912c +8055917c 0x8055917c +805593c0 0x805593c0 +805594c0 0x805594c0 +80559610 0x80559610 +805597dc 0x805597dc +8055986c AnmChrBlendHolder::__dt +805598ac AnmChrBlendHolder::SetWeight +8055995c AnmChrBlendHolder::GetWeight +805599fc AnmChrBlendHolder::AttachNew +80559c40 AnmChrBlendHolder::Attach +80559d40 AnmChrBlendHolder::DecrementWeight +80559e90 AnmChrBlendHolder::ShouldDetachFromParent +8055a05c AnmChrBlendHolder::DetachAll +8055a0ec 0x8055a0ec +8055a100 0x8055a100 +8055a114 0x8055a114 +8055a180 0x8055a180 +8055a204 0x8055a204 +8055a268 0x8055a268 +8055a27c 0x8055a27c +8055a290 AnmTexPatHolder::GetFrame +8055a2a4 AnmTexPatHolder::SetFrame +8055a2b8 AnmTexPatHolder::UpdateRateAndSetFrame +8055a324 AnmTexPatHolder::GetFrameCount +8055a3a8 AnmTexPatHolder::IsLooped +8055a40c AnmTexPatHolder::GetUpdateRate +8055a420 AnmTexPatHolder::SetUpdateRate +8055a434 0x8055a434 +8055a448 0x8055a448 +8055a45c 0x8055a45c +8055a4c8 0x8055a4c8 +8055a54c 0x8055a54c +8055a5b0 0x8055a5b0 +8055a5c4 0x8055a5c4 +8055a5d8 0x8055a5d8 +8055a5ec 0x8055a5ec +8055a600 0x8055a600 +8055a66c 0x8055a66c +8055a6f0 0x8055a6f0 +8055a754 0x8055a754 +8055a768 0x8055a768 +8055a77c AnmChrHolder::GetFrame +8055a790 AnmChrHolder::SetFrame +8055a7a4 AnmChrHolder::UpdateRateAndSetFrame +8055a810 AnmChrHolder::GetFrameCount +8055a894 AnmChrHolder::IsLooped +8055a8f8 AnmChrHolder::GetUpdateRate +8055a90c AnmChrHolder::SetUpdateRate +8055a920 0x8055a920 +8055a950 0x8055a950 +8055a970 0x8055a970 +8055a9dc ModelDirector::SetScale +8055aa30 0x8055aa30 +8055aaa8 0x8055aaa8 +8055ab14 0x8055ab14 +8055ab68 0x8055ab68 +8055ab78 0x8055ab78 +8055abd8 0x8055abd8 +8055ac18 ModelDirector::__ct(ClipInfo) +8055ae8c ModelDirector::__ct +8055aed8 ModelDirector::__ct(ScnMgrIdx) +8055af3c ModelDirector::__dt +8055af7c ModelDirector::GetBRRES +8055af98 ModelDirector::BindBRRES +8055b024 ModelDirector::BindBRRESFallback +8055b0d4 ModelDirector::RipAndBindBRRES +8055b178 ModelDirector::BindBRRESImpl +8055b380 ModelDirector::BRRESExists +8055b3c4 ModelDirector::GetResMdl(string) +8055b3d4 ModelDirector::GetResMdl(idx) +8055b3e4 ModelDirector::MdlExists +8055b41c ModelDirector::HasResMdl +8055b420 ModelDirector::Init +8055b680 ModelDirector::InitG3D +8055b854 ModelDirector::AppendToScnMgr +8055b890 ModelDirector::CreateScn +8055ba68 ModelDirector::LoadWithAnm(name) +8055bb50 ModelDirector::LoadWithAnm(idx) +8055bc38 ModelDirector::LoadNoAnm(name) +8055bc98 ModelDirector::LoadNoAnm(idx) +8055bcf8 ModelDirector::LoadWithOption(name) +8055bdcc ModelDirector::LoadWithOption(idx) +8055bea0 ModelDirector::LoadScnMdl1Mat1Shp +8055bf00 MiiHeadsModel::InitModel +8055c174 0x8055c174 +8055c244 0x8055c244 +8055c2bc 0x8055c2bc +8055c370 ModelDirector::ToggleVisible +8055c488 ModelDirector::EnableDraw +8055c550 0x8055c550 +8055c58c ModelDirector::UpdateVisibility +8055c660 ModelDirector::EnableScreen +8055c678 ModelDirector::DisableScreen +8055c690 ModelDirector::IsVisibleOnScreen +8055c6b0 ModelDirector::EnableScreen2 +8055c6c8 ModelDirector::IsVisibleOnScreen2 +8055c6e8 ModelDirector::SetScnMdlOptions +8055c804 0x8055c804 +8055c888 0x8055c888 +8055c910 0x8055c910 +8055c9bc 0x8055c9bc +8055ca74 0x8055ca74 +8055cbbc ModelDirector::Update +8055cc74 0x8055cc74 +8055cdc8 ModelDirector::SetAllScnOptionsFromClipInfo +8055ced4 ModelDirector::SetDisableDrawScnOptionsFromClipInfo +8055d03c 0x8055d03c +8055d1ac 0x8055d1ac +8055d2a0 0x8055d2a0 +8055d370 ModelDirector::CreateTransformator +8055d470 0x8055d470 +8055d580 0x8055d580 +8055d664 ModelDirector::SetAudioActor +8055d76c ModelDirector::LinkAnimation +8055d900 0x8055d900 +8055da74 0x8055da74 +8055dbf4 ModelDirector::LinkEmptyAnm +8055dd08 0x8055dd08 +8055e460 ModelDirector::LinkAllAnimations +8055eb64 ModelDirector::PrepareAllAnms +8055ebfc 0x8055ebfc +8055ec0c 0x8055ec0c +8055ec2c 0x8055ec2c +8055ec34 ModelDirector::SetLight +8055ec44 ModelDirector::GetScnMgr +8055ec7c ModelDirector::RemoveFromGroup +8055eccc ModelDirector::ToggleTransparent +8055ed68 ModelDirector::ReplaceMatGXTexObj +8055ed9c 0x8055ed9c +8055ee44 ModelDirector::UpdateDrawPriority +8055ee88 0x8055ee88 +8055ef64 0x8055ef64 +8055f028 0x8055f028 +8055f0d4 0x8055f0d4 +8055f158 ModelDirector::ChangeTransformator +8055f1c8 ModelDirector::GetScale +8055f214 ModelDirector::SetScale(float) +8055f250 ModelCalcBase::__ct +8055f25c 0x8055f25c +8055f33c 0x8055f33c +8055f410 ModelCalcCallback::GetBoneWorldMtx +8055f4e4 0x8055f4e4 +8055f5c4 0x8055f5c4 +8055f698 0x8055f698 +8055f76c 0x8055f76c +8055f7b4 ModelCalcCallback::__ct +8055f868 0x8055f868 +8055f8a8 ModelCalcCallback::ExecCallback_CALC_WORLD +8055f8cc ModelCalcCBBoneLinked::__ct +8055f990 ModelCalcCallback::__dt +8055f9d0 ModelCalcCBBoneLinked::ExecWorldCBImpl +8055fbac 0x8055fbac +8055fc74 ModelCalcCBBoneLinked::__dt +8055fcb4 ModelCalcCallback::ExecCallback_CALC_XLU +8055fcb8 ModelCalcCallback::ExecCallback_CALC_OPA +8055fcbc ModelCalcCallback::ExecCallback_CALC_VIEW +8055fcc0 ModelCalcCallback::ExecCallback_CALC_MAT +8055fcc4 0x8055fcc4 +8055fcc8 0x8055fcc8 +8055fd08 ModelCalcCallback::__dt(thunk) +8055fd10 ModelCalcCBBoneLinked::__dt(thunk) +8055fd18 ModelCalcCallback::ExecCallback_CALC_WORLD(thunk) +8055fd20 0x8055fd20 +8055fd28 Light::__ct +8055ff0c 0x8055ff0c +8055ffc8 Light::Init +8056017c 0x8056017c +80560324 0x80560324 +80560420 0x80560420 +8056047c Light::InitLightObject +805605b4 0x805605b4 +80560610 0x80560610 +805606a0 Light::Update +80560980 0x80560980 +805609a4 LightMgrHolder::__ct +80560a68 LightMgrHolder::805610e8 +80560b8c LightMgrHolder::8056120c +80560c68 LightMgrHolder::LoadBLIGHT +80560c6c LightMgrHolder::805612ec +80560d0c 0x80560d0c +80560d18 LightMgrHolder::AcquireLight +80560d84 LightMgrHolder::moveFromAtoB +80560dd0 LightMgrHolder::vf_0x10 +80560eec LightMgrHolder::Update +80560f70 LightMgrHolder::LoadBLMAP +80561008 LightMgrHolderRace::__ct +805612c8 LightMgrHolder::__dt +80561308 LightMgrHolderRace::LoadBLIGHT +80561408 LightMgrHolder::LoadBLMAP +80561498 LightMgrHolderMenu_construct +80561568 LightMgrHolderMenu_loadBlight +805615c0 LightMgrHolderMenu_loadLightMap +8056161c LightMgrHolderMiiBody_construct +805616ec LightMgrHolderMiiBody_loadBlight +80561754 LightMgrHolderMiiBody_loadLightMap +805617c0 LightMgrHolderMiiBody_destruct +80561800 LightMgrHolderMenu_destruct +80561840 LightMgrHolderRace::destruct +80561880 Light::__dt +805618c0 ScnMgr::__ct +805619e4 0x805619e4 +80561a3c ScnMgr::__dt +80561ac4 ScnMgr::ResetRenderModeObj +80561b00 ScnMgr::InitImpl +80561cd0 ScnMgr::LoadPostEffects +80561cd4 ScnMgr::vf_0x28 +80561cd8 ScnMgr::CreateAllGroups +80561dc4 ScnMgr::CreateScnGroup +80561df0 ScnMgr::LoadLights +80561e4c ScnMgr::DrawLights +80561e9c 0x80561e9c +80561ea0 ScnMgr::DoneDraw +80561f28 ScnMgr::DrawModelsImpl +80562208 ScnMgr::UpdateScnRoot +805624b4 ScnMgr::UpdateCameras +80562570 GameCamera::GetViewMatrix +80562578 ScnMgr::RemoveShadowTextureMgr +8056258c 0x8056258c +8056260c 0x8056260c +8056263c ScnMgr::InsertModelDirectorInScn +80562810 ScnMgr::SetModelDrawPriority +805628e0 ScnMgr::SetModelXluDrawPriority +80562900 0x80562900 +805629e8 0x805629e8 +80562a6c 0x80562a6c +80562b2c 0x80562b2c +80562bec ScnMgr::SetAnmScn +80562d90 ScnMgr::SetRootAnmScn +80562f34 ScnMgr::AppendScnGroupExHolder +80562f44 ScnMgr::RemoveModelDirector +80562f4c ScnMgr::AppendScreenSpecificModelDirector +80562f54 ScnMgr::AppendMatModelDirector +80562f5c ScnMgr::RemoveMatModelDirector +80562f64 ScnMgr::SwitchScnRoot +80562ff4 ScnMgr::UpdateVisibility +8056305c 0x8056305c +80563174 0x80563174 +8056327c ScnMgr::CreateScnGroupEx +805633f8 ScnMgr::RearrangeDirectorGroups +8056351c ScnMgr::80563b9c +80563568 ScnMgr::80563be8 +805635b8 ScnMgr::80563c38 +80563604 ScnGroupExHolder::__ct +80563664 TextureHolder::__ct +80563730 TextureHolder::CopyFromEFB +80563868 TextureHolder::80563ee8 +805639f4 ScnMgr::UpdateModelDrawPriority +80563a8c ScnMgr::RemoveGroup +80563ac0 ScnMgr::InsertGroup +80563afc ScnMgr::GetScnGroup +80563b58 TextureHolder::__dt +80563b98 ScnMgr::vf_0x2c +80563b9c ScnMgr::DrawModels +80563ba4 ScnMgr::CalcSelf +80563ba8 ScnMgr::vf_0xC +80563bac ScnMgr::Init +80563bb8 ScnGroupHolder::__dt +80563bf8 ScnGroupExHolder::__dt +80563c38 Renderer::__ct +80563c8c Renderer::__dt +80563cf8 RendererWithModels::__ct +80563d4c RendererWithModels::__dt +80563dc4 RendererWithModels::Calc +80563dd8 RendererWithModels::Draw +80563e28 RendererWithModels::DrawWithProjection +80563e6c 0x80563e6c +80563f98 RendererMixed::__ct +80563fec RendererMixed::Draw +80564008 RendererMii::__ct +80564064 RendererMixed::__dt +805640e0 RendererMii::DrawModels +8056413c RendererMii::__dt +805641bc ScnMgr::InitScn +80564320 0x80564320 +80564368 0x80564368 +80564394 0x80564394 +8056445c ScnMgr::CalcAll +805644fc ScnMgr::Calc(idx) +805645c4 0x805645c4 +805645e4 ScnMgr::Draw(idx) +805646e0 ScnMgr::DrawMain +805647b8 ScnMgr::DrawSecondary +80564924 0x80564924 +8056493c Renderer::Remove(internal idx) +80564974 ScnMgr::Unregister +805649b0 ScnMgr::Reset +80564a30 ScnMgr::Finalize +80564a94 Renderer::Register(listIdx) +80564ae4 Renderer::RegisterAndAppendScreen +80564be8 Renderer::Register2ndList(NoAppend) +80564c2c Renderer::Remove(listIdx) +80564c44 Renderer::RemoveFrom1stList +80564c54 Renderer::RemoveFrom2ndList +80564c68 Renderer::Register(bool Append) +80564d1c ScnMgr::Register +80564d50 0x80564d50 +80564dbc 0x80564dbc +80564e14 0x80564e14 +80564e6c 0x80564e6c +80564fb0 ScnMgr::AcquireLight +80564fc0 0x80564fc0 +80564fd4 0x80564fd4 +80564fe4 0x80564fe4 +80564ff4 0x80564ff4 +80565044 0x80565044 +80565048 0x80565048 +805650ac 0x805650ac +80565124 0x80565124 +8056519c GameScreen::__ct +80565448 0x80565448 +80565488 0x80565488 +805654c8 0x805654c8 +80565508 0x80565508 +80565548 0x80565548 +80565638 0x80565638 +80565720 GameScreen::SetAndLoadOrthoProj +80565808 0x80565808 +805658f0 0x805658f0 +805659a0 GameScreen::SetAndLoadProjection +80565a50 0x80565a50 +80565b00 0x80565b00 +80565b68 GameScreen::SetProjection +80565bf8 0x80565bf8 +80565cb0 0x80565cb0 +80565d38 0x80565d38 +80565ddc 0x80565ddc +80565e64 0x80565e64 +80565f04 0x80565f04 +80565ff0 0x80565ff0 +80566030 0x80566030 +80566070 0x80566070 +805661a4 0x805661a4 +805662d8 0x805662d8 +80566538 GameScreen::Set16_9AspectRatio +805665a0 GameScreen::Set4_3AspectRatio +80566620 GameScreen::Init +8056673c 0x8056673c +805667b8 GameScreen::CalcDimensions +805668ec GameScreen::GetAbsoluteToView +80566940 GameScreen::GetViewToScreen +80566944 GameScreen::GetAbsoluteToScreen +805669c4 0x805669c4 +80566a34 0x80566a34 +80566ab0 GameScreen::__dt +80566af0 RendererGlobe::__ct +80566b2c RendererMenu::__dt +80566b8c 0x80566b8c +80566be8 RendererGlobe::__dt +80566c4c Kart::Damage::__ct +80566cdc 0x80566cdc +80566d1c Kart::Damage::Reset +80566d30 Kart::Damage::Update +80566e74 Kart::Damage::SetAffectedByPOW +80566e7c Kart::Damage::SetPOWParams +80566ea4 Kart::Damage::SetPOWParams(static) +80566ecc Kart::Damage::ShouldReceivePOWDamage +80566ef8 Kart::Damage::ResetPOWParams +80566f14 Kart::Damage::UpdatePOWParams +80566f5c Kart::Damage::SetDamage +805673d4 Kart::Damage::UpdateCurDamage +80567408 Kart::Damage::EndCurDamage +80567518 0x80567518 +805675e8 0x805675e8 +80567664 Kart::Damage::UpdateCurDamageSpeed +805676bc Kart::Damage::ApplySpinDamage +805678e8 Kart::Damage::ApplyBananaDamage +80567934 Kart::Damage::ApplyGoombaDamage +80567980 Kart::Damage::ApplyFireDamage +805679cc Kart::Damage::ApplyShockDamage +805679d8 Kart::Damage::ApplyZapperDamage +805679e4 Kart::Damage::ApplyPOWDamage +80567b18 0x80567b18 +80567b84 Kart::Damage::UpdateSpinOutdamage +80567cfc Kart::Damage::OnSpinOutDamageEnd +80567d38 Kart::Damage::UpdatePOWDamage +80567ed8 Kart::Damage::vf_0x10 +80567fa0 Kart::Damage::OnPOWDamageEnd +80567fdc Kart::Damage::ApplyShellFIBDamage +8056805c Kart::Damage::OnShellFIBDamageEnd +80568098 Kart::Damage::ApplyStarDamage +80568114 Kart::Damage::ApplyKnockback +80568428 Kart::Damage::UpdateKnockbackDamage +805685c0 0x805685c0 +805685fc Kart::Damage::OnStarCarDamageEnd +80568638 Kart::Damage::ApplyChompDamage +805686b4 Kart::Damage::UpdateBigKnockbackDamage +805688e8 Kart::Damage::OnBigKnockbackDamageEnd +80568924 Kart::Damage::ApplyCarDamage +805689a4 Kart::Damage::ApplyBulletDamage +80568a20 Kart::Damage::ApplyLaunchDamage +80568c34 Kart::Damage::UpdateLaunchDamage +80569048 Kart::Damage::OnLaunchDamageEnd +8056904c 0x8056904c +805690f4 Kart::Damage::ApplyThwompDamage +80569198 Kart::Damage::ApplyMegaDamage +8056923c Kart::Damage::ApplySquishRespawnDamage +805692f8 Kart::Damage::ApplyCarSquishDamage +8056939c Kart::Damage::UpdateSquishDamage +80569450 Kart::Damage::OnSquishDamageEnd +80569468 Kart::Damage::ApplyDrivingDirKnockback +80569514 Kart::Damage::ApplySidewaysKnockback +805696cc 0x805696cc +80569724 0x80569724 +8056977c 0x8056977c +8056981c 0x8056981c +805698ac 0x805698ac +80569930 0x80569930 +805699cc 0x805699cc +80569ae4 Kart::Damage::vf_0x14 +80569ae8 0x80569ae8 +80569b28 Kart::Damage::__dt +80569b68 0x80569b68 +80569ba8 KartDamageCpp_sinit_ +80569be4 Kart::ModelsVisibility::__ct +80569c30 0x80569c30 +80569c70 Kart::ModelsVisibility::SetInvisible +80569c80 Kart::ModelsVisibility::SetModelsVisibility +80569df0 Kart::ModelsVisibility::UpdateModelsVisibility +80569f00 Kart::ModelsVisibility::SetModelDraw +80569f1c Kart::ModelsVisibility::__dt +80569f5c Kart::MatTEVHandler::SetPartTEVSwapMode +80569f6c Kart::MatTEVHandler::__ct +80569fb0 Kart::MatTEVHandler::SetTexSwapModeAndSetTEVSwapModes +8056a058 Kart::MatTEVHandler::SetTEVSwapModes +8056a100 Kart::MatTEVHandler::SetModelTEVSwapMode(bool) +8056a21c Kart::MatTEVHandler::SetModelTevColorOp +8056a318 Kart::MatTEVHandler::SetTEVSwapModesNoTexModeUpdate +8056a3a8 Kart::MatTEVHandler::SetModelTEVSwapMode +8056a4ac Kart::MatTEVHandler::__dt +8056a4ec Kart::ScaleAnmController::LoadAnimations +8056a61c Kart::ScaleAnmController::GetAnmScale +8056a674 Kart::ScaleAnmController::GetPressUpAnmScale +8056a6c4 Kart::ScaleAnmController::__ct +8056a810 0x8056a810 +8056a850 0x8056a850 +8056a890 Kart::ScaleAnmController::Reset +8056a934 Kart::ScaleAnmController::RequestScaleChange +8056a9e0 0x8056a9e0 +8056aa14 0x8056aa14 +8056aa4c 0x8056aa4c +8056aae8 Kart::ScaleAnmController::RequestEndScale +8056ab98 Kart::ScaleAnmController::Update +8056addc 0x8056addc +8056af28 Kart::ScaleAnmController::__dt +8056af68 KartScaleAnmController_cpp_sinit_ +8056afb0 Kart::ScaleAnmController::__ct +8056afbc Kart::StarAnmMgr::LoadAnm +8056b228 Kart::StarAnmMgr::__ct +8056b26c Kart::StarAnmMgr::Activate +8056b290 Kart::StarAnmMgr::Update +8056b52c Kart::StarAnmMgr::StartEnding +8056b540 Kart::StarAnmMgr::End +8056b54c Kart::StarAnmMgr::Reset +8056b688 0x8056b688 +8056b7a0 Kart::StarAnmMgr::SetModelColorsImpl +8056b8a0 0x8056b8a0 +8056b9b0 Kart::StarAnmMgr::SetModelColors +8056b9b4 Kart::StarAnmMgr::__dt +8056b9f4 0x8056b9f4 +8056ba4c Kart::Part::__dt +8056ba8c Kart::Arm::LoadModel +8056baa4 Kart::Arm::UpdateMatrix +8056bd14 Kart::Body::__ct +8056bd7c Kart::Body::LoadModel +8056bd90 Kart::Body::CreateModelDirectors +8056bdd8 Kart::Body::Init +8056be34 Kart::Body::Reset +8056be80 Kart::Body::vf_0x58 +8056bec4 0x8056bec4 +8056bf08 0x8056bf08 +8056bf84 Kart::Body::GetMatrix +8056bfe4 Kart::Body::UpdateMatrix +8056c080 0x8056c080 +8056c138 0x8056c138 +8056c1f4 Kart::Body::vf_0x60 +8056c270 0x8056c270 +8056c2d0 0x8056c2d0 +8056c2e4 0x8056c2e4 +8056c344 0x8056c344 +8056c368 Kart::Body::Load2ndModel +8056c3c8 0x8056c3c8 +8056c4dc 0x8056c4dc +8056c5f4 0x8056c5f4 +8056c640 Kart::BodyKart::__ct +8056c704 Kart::Body::__dt +8056c744 Kart::BodyKart::SetDispParams +8056c784 Kart::BodyKart::Load +8056c818 Kart::BodyKart::UpdateMatrix +8056ca98 Kart::BodyKart::vf_0xc +8056cb2c Kart::BodyKart::vf_0x64 +8056cbb0 Kart::BodyKart::vf_0x24 +8056cc00 Kart::BodyKart::ApplyStarColors +8056cc78 Kart::BodyKart::vf_0x2c +8056ccf0 Kart::BodyKart::vf_0x30 +8056cd68 Kart::BodyKart::UpdateModelDrawPriority +8056cdf0 0x8056cdf0 +8056ce30 Kart::BikeHandle::LoadModel +8056ce40 Kart::BikeHandle::UpdateMatrix +8056cfc0 0x8056cfc0 +8056d000 Kart::BikeSwingArm::LoadModel +8056d010 Kart::BikeSwingArm::UpdateMatrix +8056d1d8 Kart::BodyBike::__ct +8056d270 Kart::BikeHandle::__dt +8056d2b0 Kart::BikeSwingArm::__dt +8056d2f0 Kart::BodyBike::SetDispParams +8056d304 Kart::BodyBike::LoadModel +8056d318 Kart::BodyBike::Load +8056d38c Kart::BodyBike::vf_0x60 +8056d408 Kart::BodyBike::UpdateMatrix +8056d6d4 Kart::Body::GetMatrix +8056d814 Kart::BodyBike::UpdateWheelMatrix +8056d940 Kart::BodyBike::vf_0xC +8056d9b4 Kart::BodyBike::vf_0x64 +8056da14 Kart::BodyBike::vf_0x24 +8056da34 Kart::BodyBike::ApplyStarColors +8056da88 Kart::BodyBike::vf_0x2c +8056dadc Kart::BodyBike::vf_0x30 +8056db30 Kart::BodyBike::UpdateModelDrawPriority +8056db98 Kart::BodyQuacker::__ct +8056dc3c Kart::BodyBike::__dt +8056dc7c Kart::BodyQuacker::GetMatrix +8056dcdc Kart::BodyQuacker::UpdateMatrix +8056dd9c Kart::Body::SetHandleDistance +8056dda4 Kart::Body::SetFloat_0x98 +8056ddac Kart::BodyQuacker::__dt +8056ddec Kart::Part::vf_0x24 +8056de14 Kart::BodyKart::__dt +8056de54 Kart::Arm::__dt +8056de94 0x8056de94 +8056de9c 0x8056de9c +8056dea4 0x8056dea4 +8056deac 0x8056deac +8056deb4 0x8056deb4 +8056debc 0x8056debc +8056dec4 0x8056dec4 +8056decc 0x8056decc +8056ded4 0x8056ded4 +8056dedc 0x8056dedc +8056dee4 0x8056dee4 +8056deec Kart::Collision::__ct +8056df64 0x8056df64 +8056dfa4 Kart::Collision::Reset +8056e08c 0x8056e08c +8056e0e4 Kart::Collision::ProcessVehicleBodyCollision +8056e254 Kart::Collision::ProcessWheelCollision +8056e2b0 Kart::Collision::ProcessMovingRoad +8056e384 Kart::Collision::ProcessFloor +8056e7a4 0x8056e7a4 +8056e874 0x8056e874 +8056eb04 0x8056eb04 +8056ebec 0x8056ebec +8056ee10 0x8056ee10 +8056ee90 Kart::Collision::ProcessTriggers +8056f0bc 0x8056f0bc +8056f170 Kart::Collision::CheckKartCollision +805706a0 Kart::Movement::vf_0x30 +805706a4 0x805706a4 +80570728 0x80570728 +80570bb4 0x80570bb4 +80570d38 0x80570d38 +80570d58 0x80570d58 +80570d7c 0x80570d7c +80570e04 0x80570e04 +80570ef0 0x80570ef0 +80570f74 0x80570f74 +80570fb4 Kart::Collision::CheckTriggersAndOOB +80571254 0x80571254 +805715dc 0x805715dc +80571684 0x80571684 +80571718 0x80571718 +80571890 Kart::Collision::CheckObjectCollision +80571ec4 0x80571ec4 +80571ef4 Object::GetId +80571efc Kart::Collision::CheckItemCollision +80572514 0x80572514 +805725a0 Kart::Collision::UpdateCollisions +805728cc 0x805728cc +80572a54 Kart::Collision::InitHitboxes +80572af0 Kart::Collision::HandleNoopCollision +80572af8 Kart::Collision::HandleBananaCollision +80572b10 Kart::Collision::HandleShellCollision +80572b30 Kart::Collision::HandleBlueShellCollision +80572b48 Kart::Collision::HandleBombCollision +80572b60 Kart::Collision::HandleMushroomCollision +80572ba4 Kart::Collision::HandleStarCollision +80572bdc Kart::Collision::HandleFibCollision +80572d44 0x80572d44 +80572d4c 0x80572d4c +80572d54 0x80572d54 +80572d5c 0x80572d5c +80572d64 0x80572d64 +80572d6c 0x80572d6c +80572d74 0x80572d74 +80572de4 0x80572de4 +80572e98 ObjectCollidable::GetCollision +80572ea0 0x80572ea0 +80572ebc 0x80572ebc +80572f2c 0x80572f2c +80572f34 0x80572f34 +80572f3c 0x80572f3c +80572f54 0x80572f54 +80572f5c 0x80572f5c +80572f64 0x80572f64 +80572f6c 0x80572f6c +80572fbc 0x80572fbc +80573048 0x80573048 +805730d4 0x805730d4 +80573110 0x80573110 +80573138 0x80573138 +805731a4 0x805731a4 +805733ac 0x805733ac +80573480 Kart::Collision::ActivateOOB +80573844 0x80573844 +80573854 Kart::Collision::UpdateRespawn +80573970 Kart::Collision::__dt +805739b0 0x805739b0 +805739e8 0x805739e8 +80573a88 0x80573a88 +80573a94 Kart::Zipper::__ct +80573af0 Kart::Zipper::__dt +80573b30 0x80573b30 +80573b48 0x80573b48 +80573b90 0x80573b90 +80573c74 0x80573c74 +80573cc0 Kart::Zipper::Update +805745fc Vec3::RotateQuaternionConjugate +80574610 0x80574610 +805747e0 0x805747e0 +80574a4c 0x80574a4c +80574c68 0x80574c68 +80575224 Kart::Zipper::End +80575264 0x80575264 +805753c4 Kart::Trick::__ct +80575428 Kart::Trick::__dt +80575468 Kart::Trick::Reset +805754b8 Kart::Trick::UpdateNext +805755ec 0x805755ec +805756d0 0x805756d0 +805756e4 0x805756e4 +805756fc Kart::Trick::TryStart +80575868 Kart::Trick::Start +80575998 0x80575998 +805759f8 0x805759f8 +80575abc 0x80575abc +80575aec Kart::Trick::StartInner +80575bb0 0x80575bb0 +80575d64 Kart::Trick::Update +80575de0 Kart::Trick::SetupProperties +80575e7c Kart::Trick::UpdateRot +80575f98 0x80575f98 +80576004 0x80576004 +80576038 Kart::Trick::End +805760c4 0x805760c4 +805760d8 Kart::TrickBike::Start +8057621c Kart::TrickBike::StartInner +80576314 Kart::TrickBike::UpdateRot +8057647c Kart::TrickBike::__ct +805764bc Kart::BRRESHandle::__ct +805765d4 Kart::BRRESHandle::__dt +80576614 0x80576614 +80576690 0x80576690 +8057670c Kart::BRRESHandle::LoadKartBRRES +80576810 Kart::BRRESHandle::LoadDriverBRRES +805768ac 0x805768ac +80576968 0x80576968 +805769e4 Kart::BRRESHandle::LoadBodyModel +80576ba0 0x80576ba0 +80576c58 0x80576c58 +80576c70 Kart::BRRESHandle::LoadLeftBackWheelModel +80576d28 Kart::BRRESHandle::LoadLeftFrontWheelModel +80576de0 Kart::BRRESHandle::LoadRightBackWheelModel +80576e98 Kart::BRRESHandle::LoadRightFrontWheelModel +80576f50 0x80576f50 +80577054 Kart::BRRESHandle::LoadArmModel +8057722c Kart::BRRESHandle::LoadDriverModels +8057729c Kart::BRRESHandle::LoadBikeHandleModel +80577364 Kart::BRRESHandle::LoadBikeSwingArmModel +8057741c Kart::BRRESHandle::LoadBikeFrontWheelModel +805774d4 Kart::BRRESHandle::LoadBikeBackWheelModel +8057758c Kart::BRRESHandle::LoadBikeSuspensionsModel +80577644 0x80577644 +805776fc Kart::BRRESHandle::LoadShadowModel +80577780 Kart::BRRESHandle::LoadKillerModels +80577880 0x80577880 +80577924 0x80577924 +80577944 Kart::Movement::__ct +80577a9c Kart::Boost::__dt +80577adc 0x80577adc +80577b1c 0x80577b1c +80577b5c 0x80577b5c +80577b9c Kart::Movement::CreateTrickZipper +80577c1c Kart::Movement::SetTurnParams +80577e54 Kart::Movement::Reset +8057825c Kart::Movement::Update +805792e0 0x805792e0 +805792e8 Kart::Movement::UpdateHopPhysics +8057932c Kart::Movement::Respawn +805793d0 0x805793d0 +80579664 0x80579664 +80579728 0x80579728 +805798a0 0x805798a0 +805798ec 0x805798ec +80579964 Kart::Movement::SomethingWheelieBump +80579abc 0x80579abc +80579ac0 Kart::Movement::UpdateDir +8057a234 Kart::Movement::UpdateTurn +8057a4e8 Kart::Movement::UpdateVehicleSpeed +8057a9a8 0x8057a9a8 +8057aa88 Kart::Movement::ComputeWallCollisionSpeedFactor +8057ac1c Kart::Movement::vf_0x68 +8057ac20 0x8057ac20 +8057b0fc 0x8057b0fc +8057b1e8 Kart::Movement::GetAccelerationFromSpeed +8057b31c Kart::Movement::ResetBulletSpeed +8057b32c Kart::Movement::ResetMaxSpeed +8057b33c Kart::Movement::UpdateAcceleration +8057bd48 Kart::Movement::GetWheelieSoftSpeedLimitBonus +8057bd54 Kart::Movement::UpdateOffroad +8057bf68 0x8057bf68 +8057c01c Kart::Movement::UpdateRotate +8057c754 0x8057c754 +8057c88c Kart::Movement::UpdateVehicleRotationVector +8057cb54 Kart::Movement::UpdateSSMTRotation +8057cd18 Kart::Movement::UpdateUps +8057d208 Kart::Movement::UpdateUpsWhileAirbone +8057d398 Kart::Movement::CheckIfCanHop +8057d3dc Kart::Movement::Hop +8057d5c0 Kart::Movement::CancelWheelie +8057d5c4 Kart::Movement::UpdateManualDrift +8057da5c Kart::Movement::UpdateAutoDrift +8057dcc8 0x8057dcc8 +8057dd74 Kart::Movement::StartManualDrift +8057dfb8 0x8057dfb8 +8057e074 0x8057e074 +8057e0fc 0x8057e0fc +8057e184 Kart::Movement::UpdateHopAndSlipdrift +8057e31c 0x8057e31c +8057e3d0 0x8057e3d0 +8057e414 0x8057e414 +8057e438 0x8057e438 +8057e5a8 0x8057e5a8 +8057e6a0 0x8057e6a0 +8057e6b4 0x8057e6b4 +8057e70c 0x8057e70c +8057e7d0 Kart::Movement::UpdateMTCharge +8057e960 Kart::Movement::GetMTMaxCharge +8057e96c Kart::Movement::GetSMTMaxCharge +8057e978 0x8057e978 +8057e9a4 0x8057e9a4 +8057e9dc 0x8057e9dc +8057ea10 0x8057ea10 +8057eb50 0x8057eb50 +8057ed58 Kart::Movement::ActivateMushroom +8057efb0 0x8057efb0 +8057f128 Kart::Movement::EndTrick +8057f2ec Kart::Movement::ActivateZipperBoost +8057f4ec 0x8057f4ec +8057f698 Kart::Movement::TryStartJumpPad +8057fa3c 0x8057fa3c +8057fbe8 Kart::Movement::ActivateStar +8057fd70 0x8057fd70 +8057fdb8 Kart::Movement::ApplyShock +8057fe9c 0x8057fe9c +8057ff6c 0x8057ff6c +8057ffc8 0x8057ffc8 +80580024 0x80580024 +805800e8 0x805800e8 +805800f8 Kart::Movement::ApplyShockEffect +80580318 0x80580318 +80580404 0x80580404 +80580494 Kart::Movement::ActivateMega +8058065c 0x8058065c +80580740 0x80580740 +805808a8 0x805808a8 +8058091c 0x8058091c +805809b4 0x805809b4 +80580a28 0x80580a28 +80580d24 0x80580d24 +80580d68 0x80580d68 +80580f8c Kart::Movement::UpdateScale +805810a0 Kart::Movement::SetScale +805810bc 0x805810bc +805810f8 0x805810f8 +805811a4 Kart::Movement::CalcBlink +805812ec 0x805812ec +80581328 0x80581328 +805813a4 0x805813a4 +805813a8 Kart::Movement::ActivateTC +805813c0 Kart::Movement::DeactivateTC +805813d8 Kart::Movement::ApplyInk +8058149c Kart::Movement::UpdateCharacterInk +805815f0 0x805815f0 +80581610 Kart::Movement::SomethingRespawnBoost +80581aac Kart::Movement::ApplyStartBoost +80581bf8 0x80581bf8 +80581d24 0x80581d24 +80581e08 0x80581e08 +80581e48 0x80581e48 +80581e70 0x80581e70 +80581eb0 Kart::Movement::TryEndJumpPad +80582014 Kart::Movement::UpdateBoost +80582184 0x80582184 +8058224c 0x8058224c +80582714 0x80582714 +80582734 0x80582734 +80582758 0x80582758 +805827b4 0x805827b4 +805828b8 0x805828b8 +805828d8 0x805828d8 +805828fc 0x805828fc +8058291c Kart::Movement::ReleaseMT +80582bfc 0x80582bfc +80582c44 0x80582c44 +80582c64 Kart::Movement::CancelBoost +80582da4 0x80582da4 +80582e0c Kart::Movement::vf_0x24 +80582fd8 Kart::Movement::OnOOB +8058314c Kart::Movement::vf_0x2c +80583504 0x80583504 +80583508 Kart::Movement::UpdateStickyRoad +805838ac 0x805838ac +805839c4 Kart::Movement::SetInitialPhysicsValues +80583cb4 Kart::Movement::DoRespawn +80583fc8 0x80583fc8 +805840bc 0x805840bc +805842a8 thunk_0x8058473c +805842ac thunk_0x8058473c +805842b0 0x805842b0 +8058430c Kart::Movement::EnterCannon +805846d8 Kart::Movement::UpdateCannon +80584c48 0x80584c48 +80584d1c Kart::Movement::GetCannonPosAndDir +80584f3c 0x80584f3c +8058522c Kart::Movement::ActivateBullet +80585384 0x80585384 +805853a8 0x805853a8 +805853e0 0x805853e0 +80585420 0x80585420 +80585468 0x80585468 +80585478 0x80585478 +80585a3c 0x80585a3c +805860fc Kart::Movement::UpdateFromPseaVenice +8058635c Kart::Movement::UpdateDiving +80586698 0x80586698 +80586734 0x80586734 +80586810 0x80586810 +80586928 Kart::Movement::UpdateSlipStream +80586e40 0x80586e40 +80586f0c Kart::Movement::UpdateWheelie +80586f10 Kart::Movement::UpdateSpecialFloor +805872b8 0x805872b8 +80587324 0x80587324 +805874b0 Kart::MovementBike::__ct +805874f8 Kart::Movement::__dt +80587538 Kart::MovementBike::CreateTrickZipper +805875d4 Kart::MovementBike::SetTurnParams +80587680 Kart::MovementBike::Reset +805876e4 Kart::MovementBike::UpdateWheelie +805876e8 Kart::MovementBike::UpdateVehicleRotationVector +80587ca4 Kart::MovementBike::GetWheelieSoftSpeedLimitBonus +80587cd0 Kart::MovementBike::StartWheelie +80587d44 Kart::MovementBike::CancelWheelie2 +80587d74 Kart::MovementBike::UpdateWheelie +80588118 Kart::MovementBike::TryStartWheelie +805881e0 0x805881e0 +80588208 Kart::MovementBike::UpdateMtCharge +805882d0 Kart::MovementBike::vf_0x24 +805884b0 Kart::MovementBike::CancelWheelie +805884d8 Kart::MovementBike::OnOoB +8058862c Kart::MovementBike::vf_0x2c +805886a8 Kart::Boost::__ct +805886f4 Kart::Boost::Reset +80588730 Kart::Boost::Activate +80588798 Kart::Boost::CancelAll +805887a4 Kart::Boost::Update +80588940 Kart::MovementBike::vf_0x30 +80588950 Kart::MovementBike::vf_0x68 +80588960 Kart::MovementBike::CheckWheelie +805889a4 Kart::Movement::GetStarDuration +805889b0 0x805889b0 +805889dc 0x805889dc +80588a30 0x80588a30 +80588a98 0x80588a98 +80588b40 0x80588b40 +80588b8c 0x80588b8c +80588bb0 0x80588bb0 +80588bd4 0x80588bd4 +80588bec 0x80588bec +80588c88 0x80588c88 +80588d7c 0x80588d7c +80588d80 Kart::MovementRealLocal::Hop +80588dc0 Kart::MovementBikeRealLocal::Hop +80588e00 Kart::MovementBikeRealLocal::StartWheelie +80588e94 Kart::MovementBikeRealLocal::CancelWheelie2 +80588eec Kart::MovementRemote::CanHop +80588f4c Kart::MovementBikeRemote::CanHop +80588fac Kart::MovementBikeRemote::TryStartWheelie +80589038 Kart::Movement::vf_0x58 +8058903c Kart::MovementBike::GetLeanRot +80589044 Kart::MovementBikeRemote::__dt +80589084 Kart::MovementBike::__dt +805890c4 Kart::Movement::CheckWheelie +805890cc Kart::Movement::GetLeanRot +805890d8 Kart::MovementRemote::__dt +80589118 Kart::MovementBikeRealLocal::__dt +80589158 Kart::MovementRealLocal::__dt +80589198 0x80589198 +805891b0 0x805891b0 +805891c4 0x805891c4 +805891dc RacedataHandler_consstruct +80589264 0x80589264 +805892a4 0x805892a4 +805892e4 0x805892e4 +8058930c 0x8058930c +805898e4 0x805898e4 +8058a0f4 0x8058a0f4 +8058a134 0x8058a134 +8058a174 0x8058a174 +8058a1b4 0x8058a1b4 +8058a1f4 0x8058a1f4 +8058a234 0x8058a234 +8058a274 0x8058a274 +8058a2b4 0x8058a2b4 +8058a2f4 0x8058a2f4 +8058a334 0x8058a334 +8058a374 0x8058a374 +8058a3b4 0x8058a3b4 +8058a3f4 0x8058a3f4 +8058a434 0x8058a434 +8058a474 0x8058a474 +8058a4b4 0x8058a4b4 +8058a4f4 0x8058a4f4 +8058a534 0x8058a534 +8058a588 0x8058a588 +8058a5dc 0x8058a5dc +8058a630 0x8058a630 +8058a684 0x8058a684 +8058a6d8 0x8058a6d8 +8058a758 0x8058a758 +8058a760 0x8058a760 +8058a7c8 0x8058a7c8 +8058a7d0 0x8058a7d0 +8058a838 0x8058a838 +8058a840 0x8058a840 +8058a8a8 0x8058a8a8 +8058a8b0 0x8058a8b0 +8058a918 0x8058a918 +8058a920 0x8058a920 +8058a988 0x8058a988 +8058a990 0x8058a990 +8058a9f8 0x8058a9f8 +8058aa00 0x8058aa00 +8058aa68 0x8058aa68 +8058aa70 0x8058aa70 +8058aa8c 0x8058aa8c +8058aaa8 0x8058aaa8 +8058aac4 0x8058aac4 +8058ab18 RacedataHandler_processInputs +8058ae14 0x8058ae14 +8058b228 0x8058b228 +8058b378 0x8058b378 +8058b760 Audio::KartActor::Reset +8058b7a0 0x8058b7a0 +8058ba08 0x8058ba08 +8058ba0c 0x8058ba0c +8058ba5c 0x8058ba5c +8058bd58 0x8058bd58 +8058be10 0x8058be10 +8058be40 0x8058be40 +8058bf64 0x8058bf64 +8058bf94 0x8058bf94 +8058bf9c 0x8058bf9c +8058bfcc 0x8058bfcc +8058bfd4 0x8058bfd4 +8058c004 0x8058c004 +8058c00c 0x8058c00c +8058c03c 0x8058c03c +8058c044 0x8058c044 +8058c074 0x8058c074 +8058c07c 0x8058c07c +8058c0e0 0x8058c0e0 +8058c144 0x8058c144 +8058c1a8 0x8058c1a8 +8058c20c 0x8058c20c +8058c270 0x8058c270 +8058c2d4 0x8058c2d4 +8058c338 0x8058c338 +8058c3a8 RacedataFactory_construct +8058c3f4 0x8058c3f4 +8058c434 0x8058c434 +8058c438 0x8058c438 +8058c43c RacedataFactory_sendRacedataRecord +8058c4b0 RacedataFactory_packRacedataRecord +8058cd4c RacedataFactoryFlags_construct +8058cd94 RacedataFactoryFlags_destroy +8058cdd4 0x8058cdd4 +8058cde4 0x8058cde4 +8058cdfc 0x8058cdfc +8058ce20 0x8058ce20 +8058ce5c 0x8058ce5c +8058ce9c 0x8058ce9c +8058cea0 0x8058cea0 +8058cef0 0x8058cef0 +8058cfc4 0x8058cfc4 +8058d158 0x8058d158 +8058d228 0x8058d228 +8058d258 0x8058d258 +8058d288 0x8058d288 +8058d2bc 0x8058d2bc +8058d2e0 0x8058d2e0 +8058d304 0x8058d304 +8058d328 0x8058d328 +8058d3ac 0x8058d3ac +8058d3d0 0x8058d3d0 +8058d424 0x8058d424 +8058d460 0x8058d460 +8058d4b0 0x8058d4b0 +8058d4d4 0x8058d4d4 +8058d55c 0x8058d55c +8058d58c 0x8058d58c +8058d5cc 0x8058d5cc +8058d5d8 0x8058d5d8 +8058d61c 0x8058d61c +8058d660 0x8058d660 +8058d6a4 0x8058d6a4 +8058d6e0 0x8058d6e0 +8058d73c Kart::Player::__ct +8058d830 0x8058d830 +8058d870 Kart::Player::__dt +8058d8e0 0x8058d8e0 +8058d8fc 0x8058d8fc +8058d994 0x8058d994 +8058db08 Kart::Player::InitSub +8058dbac Kart::Player::Init +8058df78 Kart::Player::CreateBody +8058dfc8 0x8058dfc8 +8058e0a4 0x8058e0a4 +8058e144 0x8058e144 +8058e184 Kart::Player::PrepateTiresAndSUspensions +8058e310 0x8058e310 +8058e38c Kart::Player::InitWheels +8058e588 Kart::Wheel::__dt +8058e5c8 0x8058e5c8 +8058e660 Kart::Player::CreateSound +8058e6a8 0x8058e6a8 +8058e6e8 0x8058e6e8 +8058e7c8 Kart::Player::SetStartPosition +8058e834 Kart::Player::UpdateKartSub +8058e83c Kart::Player::Update2 +8058e9cc 0x8058e9cc +8058eb74 Kart::Wheel::vf_0x24 +8058eb8c 0x8058eb8c +8058ebe0 Kart::PlayerBike::CreateBody +8058ec68 Kart::PlayerBike::InitWheels +8058ee2c Kart::WheelFront::__dt +8058ee6c Kart::WheelBikeFront::__dt +8058eeac Kart::Suspensions::__dt +8058eeec Kart::PlayerBike::CreateSound +8058ef34 Kart::Manager::SetupPlayer +8058f1a0 Kart::Player::CreateModel +8058f230 Kart::PlayerBike::__dt +8058f2a4 0x8058f2a4 +8058f310 0x8058f310 +8058f350 0x8058f350 +8058f390 Kart::Manager::Disposer__dt +8058f428 Kart::Manager::CreateInstance +8058f478 Kart::Manager::DestroyInstance +8058f4ac Kart::Manager::__ct +8058f754 Kart::Manager::__dt +8058f860 Kart::Manager::Init +8058f968 Kart::Manager::Update +8058fa80 Kart::Manager::GetKartPlayer +8058fa90 0x8058fa90 +8058faa8 Kart::Link::InitList +8058fab8 Kart::Link::LinkKartList +8058fb0c Kart::Link::__ct +8058fb50 Kart::Link::SetPointersFromPlayer +8058fb8c Kart::Link::GetKartPosition +8058fba4 Kart::Player::GetPreviousPosition +8058fbb8 Kart::Link::SetKartPosition +8058fbe4 Kart::Link::GetMtx +8058fbf8 Kart::Link::GetKartBodyMtx +8058fc08 Kart::Link::SetKartRotation +8058fc5c Kart::Link::GetWheelCount0 +8058fc6c Kart::Link::GetWheelCount1 +8058fc7c Kart::Link::GetWheelCountReciprocal +8058fc8c Kart::Link::GetWheelCountPlus1Reciprocal +8058fc9c Kart::Link::GetWheelPosition +8058fcb8 Kart::Link::WheelHasFloorCollision +8058fcd0 Kart::Link::SetBody0x94 +8058fce8 Kart::Link::SetBodyHandleDistance +8058fd00 Kart::Link::SetStartBoost +8058fd10 Kart::Link::GetWheelSpeed +8058fd2c Kart::Link::GetPhysicsHolder +8058fd3c Kart::Link::GetPhysicsHolder(const) +8058fd4c Kart::Link::GetPhysics +8058fd60 Kart::Link::GetPhysics(const) +8058fd74 Kart::Link::GetControllerHolder +8058fd9c Kart::Link::ActivateRumble(3 args) +8058fdf8 Kart::Link::ActivateRumble(1 arg) +8058fef0 Kart::Link::ActivateRumble(no arg) +8058ffd0 Kart::Link::IsLocal +8058ffe4 Kart::Link::IsCPU +8058fff8 Kart::Link::IsGhost +8059000c Kart::Link::IsMii +8059001c Kart::Link::GetBody +80590028 Kart::Link::GetBody(const) +80590034 Kart::Link::GetSuspensions +80590048 Kart::Link::GetSuspensions(const) +8059005c Kart::Link::GetWheels +80590070 Kart::Link::GetWheels(const) +80590084 Kart::Link::GetWheelPhysicsHolder +8059009c Kart::Link::GetWheelPhysicsHolder(const) +805900b4 Kart::Link::GetWheelPhysics +805900cc Kart::Link::GetWheelPhysics(const) +805900e4 Kart::Link::GetSub +805900f0 Kart::Link::GetSub(const) +805900fc Kart::Link::GetMovement +80590108 Kart::Link::GetMovement(const) +80590114 Kart::Link::GetKartActor +80590120 Kart::Link::GetCharacterActor +80590130 Kart::Link::PlayCharacterSound +80590140 Kart::Link::GetObject +8059014c Kart::Link::GetShadow +80590158 Kart::Link::GetPhysicsHolderHitboxGroup +8059016c Kart::Link::GetPhysicsHolderHitboxGroup(const) +80590180 Kart::Link::GetWheelPhysicsHitboxGroup +8059019c Kart::Link::GetVehicleBodyCollisionData +805901b4 Kart::Link::GetWheelCollisionData +805901cc Kart::Link::GetCollision +805901d8 Kart::Link::GetCollision(const) +805901e4 Kart::Link::GetStatsAndBsp +805901f4 Kart::Link::GetStats +80590208 Kart::Link::GetBsp +8059021c Kart::Link::GetBspHitboxes +80590234 Kart::Link::GetBspWheel +80590254 Kart::Link::GetValues0x18 +80590264 Kart::Link::GetKartDriverDispEntry +80590274 Kart::Link::GetRotatingItemsParams +8059028c Kart::Link::GetKartPartsDispEntry +8059029c Kart::Link::GetBikePartsDispEntry +805902ac Kart::Link::GetExhaustParticleSet2 +805902d8 Kart::Link::GetExhaustParticleSet +8059030c Kart::Link::GetBalloonsPosition +80590338 Kart::Link::GetDriverDispEntry +80590348 Kart::Link::GetCameraVerticalDistance +80590374 Kart::Link::GetBaseHopStickX +80590384 Kart::Link::GetHopStickX +80590390 Kart::Link::GetType +805903a8 Kart::Link::GetStatsWheelCount +805903c0 Kart::Link::GetDriverController +805903cc Kart::Link::GetTriggersCollisionRadius +805903dc Kart::Link::GetPlayerIdx +805903ec Kart::Link::IsBike +805903fc Kart::Link::GetKartId +8059040c Kart::Link::ToggleKartVisible +8059041c Kart::Link::ToggleVisible +805905c4 Kart::Link::GetBodyMatCol0(copy) +805905ec Kart::Link::GetBodyMatCol1(copy) +80590614 Kart::Link::GetBodyMatCol2(copy) +8059063c Kart::Link::GetBodyMatCol0 +80590650 Kart::Link::GetBodyMatCol1 +80590664 Kart::Link::GetBodyMatCol2 +80590678 Kart::Link::GetEngineSpeed +80590688 Kart::Link::GetSpeed +805906a0 Kart::Link::GetDamage +805906ac Kart::Link::GetDamage(const) +805906b8 Kart::Link::80590d38 +805906dc Kart::Link::SetDamageType +80590708 Kart::Link::SetAffectedByPOW +80590714 Kart::Link::80590d94 +80590724 Kart::Link::GetCurDamageType +80590734 Kart::Link::CancelBoost +80590740 Kart::Link::GetSpeedRatioCapped +80590750 Kart::Link::GetSpeedRatio +80590760 Kart::Link::HasCamera +80590778 Kart::Link::SetCamera +80590784 Kart::Link::GetScreenIdx +805907a8 Kart::Link::UpdateCameraOnRespawn +805907c0 Kart::Link::UpdateCameraOnBoost +805907d8 Kart::Link::ResetCameraFov +805907f0 Kart::Link::UpdateCameraOnExplosion +80590808 Kart::Link::80590e88 +8059080c Kart::Link::80590e8c +80590824 Kart::Link::80590ea4 +80590858 Kart::Link::StopCloseCamera +80590878 Kart::Link::SetCamera +80590898 Kart::Link::StopCameraMovAndRotation +805908b8 Kart::Link::80590f38 +805908d8 Kart::Link::80590f58 +805908f0 Kart::Link::UpdateCameraOnOOBHit +80590910 Kart::Link::ActivateStarAnm +8059091c Kart::Link::80590f9c +805909ac Kart::Link::UpdateStarAnm +805909b8 Kart::Link::StopStarAnm +805909c4 Kart::Link::80591044 +805909d0 Kart::Link::80591050 +805909f0 Kart::Link::GetStarAnm +805909fc Kart::Link::GetStarColor +80590a0c Kart::Link::GetModelsVisibility +80590a18 Kart::Link::GetModelsVisibility +80590a24 Kart::Link::GetMatTEVHandler +80590a30 Kart::Link::GetBaseSpeed +80590a40 Kart::Link::GetAIController +80590a4c Kart::Link::GetBodyClosestFloorFlags +80590a64 Kart::Link::GetBodyClosestFloorSettings +80590a7c Kart::Link::IsWheelHittingWall +80590ab8 Kart::Link::GetClosestFloorKCLFlags +80590af0 Kart::Link::GetClosestFloorKCLSettingss +80590b28 Kart::Link::GetBodyKCLIntensity +80590b40 Kart::Link::805911c0 +80590b58 Kart::Link::GetDriftState +80590b68 Kart::Link::GetMTCharge +80590b78 Kart::Link::GetSMTCharge +80590b88 Kart::Link::GetMTMaxCharge +80590b94 Kart::Link::GetSMTMaxCharge +80590ba0 Kart::Link::TranslateBody +80590be4 Kart::Link::80591264 +80590c94 Kart::Link::IsRespawning +80590cc4 Kart::Link::80591344 +80590cf8 Kart::Link::80591378 +80590d28 Kart::Link::805913a8 +80590d7c Kart::Link::IsWaitingForBackwards +80590d98 Kart::Link::GetBackwardsAllowCounter +80590da8 Kart::Link::Get1stLight +80590db4 Kart::Link::Get2ndLight +80590dc0 Kart::Link::GetRacedataFactory +80590dcc Kart::Link::GetRacedataHandler +80590dd8 Kart::Link::GetRacedataFactoryFlags +80590de8 Kart::Link::80591468 +80590df8 Kart::Link::SetScale +80590e3c Kart::Link::GetScale +80590e4c Kart::Link::IsWheelieing +80590e64 Kart::Link::GetStartBoostCharge +80590e74 Kart::Link::805914f4 +80590ea0 Kart::Link::GetEntity +80590eac Kart::Link::GetClipInfo +80590eb8 Kart::Link::CallOnAllPartsFunc +80590f88 Kart::Link::AreKartModelsVisible +80590f98 Kart::Link::GetKiller +80590fa4 Kart::Link::GetBillViewMtx +80590fe4 Kart::Link::ResetInertia +8059108c Kart::Link::8059170c +80591104 Kart::Link::StartOobWipe +80591120 Kart::Link::GetOobWipeState +80591130 Kart::Link::805917b0 +80591140 Kart::Link::805917c0 +80591174 Kart::Link::805917f4 +805911a8 Kart::Link::80591828 +805911cc Kart::Link::8059184c +80591218 Kart::Link::80591898 +8059123c Kart::Link::IncrementItemsHitCount +80591260 Kart::Link::IncrementItemsCollisionCount +80591284 Kart::Link::GetZipper +80591294 Kart::Link::GetTrick +805912a4 Kart::Link::InitLights +805912fc Kart::Link::SetLightObjIdx +80591318 0x80591318 +80591368 0x80591368 +80591374 Kart::InitParamBinsFromCommon +805914f4 Kart::InitParamBinsFromRace +8059161c Kart::ResetParamBins +80591668 Kart::GetParamBinFromCommon +80591680 Kart::GetParamBinFromRace +805916cc Kart::GetParamBin +8059173c Kart::GetBSP +80591750 Kart::LoadKartAndDriverParamBinsFromCommon +805917d8 Kart::LoadKartParamBinFromCommon +80591828 Kart::LoadDriverParamBinFromCommon +80591878 Kart::LoadStatsParamFileFromCommon +805918cc Kart::GetKartParamEntry +805918e0 Kart::GetDriverParamEntry +80591924 Kart::ComputeStats +80591d8c Kart::LoadKartDriverDisp +80591e18 Kart::GetKartDriverDispEntry +80591e4c Kart::LoadKartPartsDisp +80591ed8 Kart::GetKartPartsDispEntry +80591f14 Kart::LoadBikePartsDisp +80591fa0 Kart::GetBikePartsDispEntry +80591fe0 Kart::SetMiiDispParam +80591ff8 Kart::LoadMiiDisp +80592048 Kart::LoadMiiDispFromMiiBody +80592098 Kart::LoadCameraParam +805920dc Kart::LoadDriverDisp +8059212c Kart::GetMiiDispEntry +80592140 Kart::GetDriverDispEntry +80592154 Kart::Link::GetCameraParamBin +805921c8 Kart::Part::__ct +8059225c 0x8059225c +805922a0 Kart::Part::CreateModelDirectors +805923a8 Kart::Part::LoadModel +805923b0 Kart::Part::Create2ndModelDirector +805924d4 Kart::Part::Load +805924e4 Kart::Part::UpdateMatrix +80592578 0x80592578 +8059263c Kart::Part::vf_0xC +8059265c Kart::Part::SetModelScale +80592684 Kart::Part::SetModelMtx +80592708 Kart::Part::ToggleModelVisible +80592730 Kart::Part::vf_0x20 +80592764 0x80592764 +80592778 Kart::Part::ApplyStarColors +805927dc Kart::Part::vf_0x2c +80592860 Kart::Part::vf_0x30 +805928cc Kart::Part::UpdateModelDrawPriority +80592928 0x80592928 +80592940 Kart::Values::__ct +80592a0c 0x80592a0c +80592a64 0x80592a64 +80592aa4 0x80592aa4 +80592aa8 0x80592aa8 +80592ab8 0x80592ab8 +80592c90 0x80592c90 +80592ddc 0x80592ddc +805930fc 0x805930fc +80593154 0x80593154 +80593194 0x80593194 +805935a0 0x805935a0 +805935f8 0x805935f8 +80593638 0x80593638 +8059368c 0x8059368c +8059369c 0x8059369c +805936d4 0x805936d4 +8059373c 0x8059373c +80593788 0x80593788 +80593798 0x80593798 +80593924 0x80593924 +80593a14 0x80593a14 +80593a54 0x80593a54 +80593ab4 0x80593ab4 +80593b3c 0x80593b3c +80593d34 Kart::Status::__ct +80593edc Kart::Status::Reset +80593f14 Kart::Status::Init +80593fb4 0x80593fb4 +80593fc4 0x80593fc4 +80594084 0x80594084 +805940cc Kart::Status::UpdateCollisionsAndMore +805941fc Kart::Status::UpdateFromInput +80594554 Kart::Status::UpdateCollisions +8059526c 0x8059526c +80595270 0x80595270 +80595298 Kart::Status::UpdateStartBoostCharge +80595354 Kart::Status::ComputeStartBoost +80595478 Kart::Status::ApplyStartBoost +805955dc 0x805955dc +80595624 0x80595624 +80595634 0x80595634 +80595644 Kart::Status::__dt +80595684 0x80595684 +805956c8 Kart::Sub::Init +805958f8 Kart::Sub::InitParts +80595a7c 0x80595a7c +80595afc Kart::Sub::ResetPhysics +80595d64 0x80595d64 +80595dd4 Kart::Sub::SetPointers +80595e00 Kart::Sub::Update +8059667c Kart::Player::ApplyPhysics +805971bc Kart::Sub::UpdateTransforms +805972b4 0x805972b4 +8059736c 0x8059736c +805973c0 0x805973c0 +80597408 Kart::Sub::UpdateMovingRoad +805976cc Kart::Player::ApplyCollisionForce +80597a58 0x80597a58 +80597c0c Kart::Sub::InitEntity +80597cb8 0x80597cb8 +80597d5c 0x80597d5c +80597d74 0x80597d74 +80597d8c 0x80597d8c +80597fb0 0x80597fb0 +805980c4 0x805980c4 +80598210 0x80598210 +80598448 Kart::Sub::__dt +80598488 Kart::Suspensions::__ct +805984d0 Kart::Suspensions::LoadModel +805984e0 Kart::Suspensions::Init +80598554 Kart::Suspensions::InitPhysicsHolder +8059855c Kart::Suspensions::Reset +80598564 0x80598564 +8059856c Kart::Suspensions::UpdateMatrix +80598968 Kart::SuspensionsBike::LoadModel +80598978 Kart::SuspensionsBike::UpdateMatrix +80598aa4 0x80598aa4 +80598ab4 0x80598ab4 +80598d0c 0x80598d0c +80598d4c Kart::SuspensionsBike::__dt +80598d8c WheelPhysics::__ct +80598df0 WheelPhysics::InitHitboxGroup +80598e54 0x80598e54 +80598e88 WheelPhysics::Reset +80598f40 0x80598f40 +80599010 WheelPhysics::UpdateCollision +80599450 WheelPhysics::Realign +8059971c 0x8059971c +80599740 0x80599740 +8059982c WheelPhysics::HasFloorCollision +8059983c AnimatedModelExplodable_GetWorldMatrix +80599848 WheelPhysics::GetCollisionData +80599854 WheelPhysicsHolder::__ct +805998d4 WheelPhysicsHolder::Reset +80599920 0x80599920 +805999ac 0x805999ac +80599bf8 WheelPhysicsHolder::Update +80599e78 Vec3::MultMtxByVec +80599ef4 WheelPhysicsHolder::ApplySuspensions +8059a344 WheelPhysics::__dt +8059a384 0x8059a384 +8059a3c4 Kart::Wheel::__ct +8059a430 Kart::Wheel::Init +8059a494 Kart::Wheel::CreatePhysics +8059a4e8 0x8059a4e8 +8059a4f0 Kart::Wheel::LoadModel +8059a574 Kart::WheelFront::LoadModel +8059a59c Kart::WheelFront::CreatePhysics +8059a5f0 Kart::Wheel::UpdateMatrix +8059a7bc 0x8059a7bc +8059a84c Kart::WheelFront::UpdateMatrix +8059a9b8 Kart::WheelBikeFront::CreatePhysics +8059aa0c Kart::WheelBikeFront::LoadModel +8059aa1c Kart::WheelBikeFront::UpdateMatrix +8059ab7c Kart::WheelBikeRear::CreatePhysics +8059abd0 Kart::WheelBikeRear::LoadModel +8059abe0 Kart::WheelBikeRear::UpdateMatrix +8059ad38 0x8059ad38 +8059aea4 0x8059aea4 +8059aee4 Kart::WheelBikeRear::__dt +8059af24 0x8059af24 +8059af80 Kart::Killer::ModelCalc::ExecWorldCBImpl +8059afd8 Kart::Killer::__ct +8059b138 Kart::Killer::Activate +8059b5c4 Kart::Killer::Update +8059b80c Kart::Killer::Init +8059ba38 Kart::Killer::ToggleVisible +8059ba98 cancelBullet +8059bc1c 0x8059bc1c +8059bdcc 0x8059bdcc +8059c118 0x8059c118 +8059c1e8 0x8059c1e8 +8059c208 0x8059c208 +8059c2d4 0x8059c2d4 +8059c434 0x8059c434 +8059c4d4 0x8059c4d4 +8059c5e0 Kart::Killer::UpdateDuration +8059c7a4 0x8059c7a4 +8059c884 0x8059c884 +8059c944 0x8059c944 +8059ca04 0x8059ca04 +8059ca40 Kart::Killer::UpdateUps +8059cc38 0x8059cc38 +8059cc54 Kart::Killer::UpdateSettings +8059cdcc Kart::Killer::UpdateGravity +8059cf1c 0x8059cf1c +8059cfd8 0x8059cfd8 +8059d260 0x8059d260 +8059d2e4 0x8059d2e4 +8059d2fc 0x8059d2fc +8059d464 0x8059d464 +8059d65c 0x8059d65c +8059d81c Kart::Killer::__dt +8059d85c Kart::Killer::ModelCalc::__dt +8059d89c Kart::Killer::ModelCalc::__dt(thunk) +8059d8a4 MenuModelMgr::Disposer__dt +8059d93c MenuModelMgr::CreateInstance +8059d9cc MenuModelMgr::DestroyInstance +8059da00 MenuModelMgr::__ct +8059da64 MenuModelMgr::__dt +8059db7c MenuModelMgr::Start +8059dbd0 MenuModelMgr::Init +8059de28 MenuModelMgr::Update +8059de7c MenuModelMgr::Draw +8059ded0 MenuModelMgr::ResetKartModels +8059dee8 MenuModelMgr::RequestDriverModel +8059df00 MenuModelMgr::RequestKartModel +8059df18 MenuModelMgr::RequestBackModel +8059df24 MenuModelMgr::TogglePlayerModel +8059df3c 0x8059df3c +8059df54 MenuModelMgr::ToggleBackModel +8059df5c MenuModelMgr::GetTexObj +8059df70 0x8059df70 +8059df98 0x8059df98 +8059dfb4 MenuModelMgr::GetDriverTexture +8059dfc4 MenuModelMgr::GetKartTexture +8059e01c 0x8059e01c +8059e02c 0x8059e02c +8059e0ec ScnMgrMenu::__ct +8059e148 ScnMgrMenu::__dt +8059e1a0 ScnMgrMenu::UpdateCameras +8059e234 0x8059e234 +8059e244 ScnMgrMenu::LoadLights +8059e2a0 ScnMgrMenu::CreateScnGroup +8059e2f8 ScnMgrMenu::SetAnmScn +8059e30c ScnMgrMii::__ct +8059e364 ScnMgrMii::__dt +8059e3bc ScnMgrMii::LoadLights +8059e424 0x8059e424 +8059e460 0x8059e460 +8059e464 0x8059e464 +8059e514 0x8059e514 +8059e578 0x8059e578 +8059e5d0 0x8059e5d0 +8059e628 RendererMenu::__ct +8059e6b0 RendererMenu::Calc +8059e6e8 RendererMenu::DrawModels +8059ee70 MenuModel::vf_0x18 +8059ee88 RendererMenu::Draw +8059ef3c Kart::PhysicsHolder::Init +8059eff8 Kart::Physics::__dt +8059f038 0x8059f038 +8059f078 Kart::PhysicsHolder::__dt +8059f108 0x8059f108 +8059f148 Kart::PhysicsHolder::Reset +8059f2e8 Kart::PhysicsHolder::Update +8059f588 0x8059f588 +8059f5b0 0x8059f5b0 +8059f5c8 0x8059f5c8 +8059f68c 0x8059f68c +8059f750 0x8059f750 +8059f814 0x8059f814 +8059f8d8 0x8059f8d8 +8059f9d0 0x8059f9d0 +8059fa50 0x8059fa50 +8059facc 0x8059facc +8059fb4c 0x8059fb4c +8059fc38 0x8059fc38 +8059fcc0 Kart::PhysicsHolder::UpdateMat +8059fd44 0x8059fd44 +8059fd90 Kart::PhysicsHolder::ResetQuaternions +8059fe00 0x8059fe00 +8059fe20 Kart::PhysicsHolder::__ct +8059fed0 0x8059fed0 +8059ff20 AutoCameraMoverRace::__dt +8059ff60 CamMove::__dt +8059ffa0 0x8059ffa0 +8059ffe0 AutoCameraMover::__dt +805a0020 0x805a0020 +805a0060 0x805a0060 +805a01e8 0x805a01e8 +805a022c 0x805a022c +805a026c 0x805a026c +805a0270 0x805a0270 +805a039c 0x805a039c +805a043c 0x805a043c +805a04f0 0x805a04f0 +805a0594 0x805a0594 +805a0608 0x805a0608 +805a0780 0x805a0780 +805a084c 0x805a084c +805a0920 0x805a0920 +805a0b38 0x805a0b38 +805a0c9c 0x805a0c9c +805a0d40 0x805a0d40 +805a0da4 0x805a0da4 +805a0df8 AutoCameraMoverRace::vf_0x14 +805a0e00 AutoCameraMoverRace::vf_0x18 +805a0e08 0x805a0e08 +805a0e48 0x805a0e48 +805a0e88 0x805a0e88 +805a0ebc 0x805a0ebc +805a0ee0 0x805a0ee0 +805a0f60 0x805a0f60 +805a0fd0 0x805a0fd0 +805a10d0 0x805a10d0 +805a1160 0x805a1160 +805a11a0 0x805a11a0 +805a11e0 0x805a11e0 +805a11e4 CameraLink::__ct +805a123c GameCamera::__ct +805a1358 CameraLink::__dt +805a1398 GameCamera::Update +805a13b4 CameraMgr::__ct +805a13c4 CameraLink::InitCameraList +805a13e4 CameraMgr::SetInstance +805a13fc CameraLink::Register +805a140c 0x805a140c +805a1470 CameraLink::UpdateAllCameras +805a14f8 CameraMgr::Update +805a14fc CameraMgr::__dt +805a153c GameCamera::__dt +805a157c GameCamera::vf_0xC +805a1580 GameCamera::GetPosition +805a159c GameCamera::GetViewMatrix(const) +805a15a4 GameCamera::Update(thunk) +805a15ac GameCamera::vf_0xC(thunk) +805a15b4 GameCamera::__dt(thunk) +805a15bc GameCamValues::Reset +805a1674 RaceCamera::CopyVec(2vecs) +805a1690 RaceCamera::_ct +805a192c 0x805a192c +805a1930 Vec3::__ct(no args) +805a1934 0x805a1934 +805a1974 0x805a1974 +805a19b4 RaceCamera::Init +805a1b48 RaceCamera::GetCamParams +805a1b50 RaceCamera::Update +805a2488 0x805a2488 +805a24a0 RaceCamera::CopyVec(1vec) +805a24bc RaceCamera::CheckBitfield334 +805a24d4 0x805a24d4 +805a24dc RaceCamera::NegateVec +805a2504 0x805a2504 +805a25b4 0x805a25b4 +805a2614 RaceCamera::SubtractVecs +805a2648 RaceCamera::AddVecs(3vecs) +805a267c 0x805a267c +805a2960 RaceCamera::LinearTransfo(2vecs) +805a29a0 RaceCamera::DotVec +805a29d0 RaceCamera::CheckKartStatusField1 +805a29f0 0x805a29f0 +805a2c94 RaceCamera::CheckKartStatusField0 +805a2cb4 RaceCamera::IsAutomatic +805a2cc8 RaceCamera::ClampFloat +805a2cfc RaceCamera::AcosDeg +805a2de8 0x805a2de8 +805a2e30 RaceCamera::UpdateCamValues +805a37ac RaceCamera::CrossVec +805a37f8 RaceCamera::NormalizeAndGetNorm +805a37fc RaceCamera::CompareFloats +805a381c PSMTXMultVec +805a3820 RaceCamera::ScaleVec(2vecs) +805a3848 0x805a3848 +805a3850 0x805a3850 +805a3858 0x805a3858 +805a3860 0x805a3860 +805a3910 0x805a3910 +805a3944 RaceCamera::SubtractVecsPS +805a3968 RaceCamera::AddVecs(2vecs) +805a399c RaceCamera::ScaleVec(3vecs) +805a39c4 0x805a39c4 +805a39cc 0x805a39cc +805a3a0c 0x805a3a0c +805a3a14 RaceCamera::GetVecMag +805a3a18 RaceCamera::NormalizeVecPS +805a3a50 0x805a3a50 +805a3fbc 0x805a3fbc +805a4124 0x805a4124 +805a42b0 0x805a42b0 +805a433c RaceCamera::OnRespawn +805a4564 0x805a4564 +805a4588 0x805a4588 +805a465c RaceCamera::FlushPrevValues +805a4690 0x805a4690 +805a473c RaceCamera::OnBoost +805a475c RaceCamera::ResetAddedFov +805a476c RaceCamera::OnExplosion +805a47a0 0x805a47a0 +805a47b4 0x805a47b4 +805a4ec8 0x805a4ec8 +805a514c 0x805a514c +805a56b0 0x805a56b0 +805a56f0 RaceCamera::vf_0x50 +805a5f44 0x805a5f44 +805a5f78 0x805a5f78 +805a5fa8 0x805a5fa8 +805a6058 0x805a6058 +805a613c 0x805a613c +805a6200 0x805a6200 +805a6278 0x805a6278 +805a6438 0x805a6438 +805a6518 0x805a6518 +805a6584 0x805a6584 +805a65c8 0x805a65c8 +805a65d8 RaceCamera::GetViewMtx +805a674c 0x805a674c +805a6764 0x805a6764 +805a67b0 0x805a67b0 +805a67c0 BCPInfo::Load +805a6834 0x805a6834 +805a6884 0x805a6884 +805a68c4 OpeningPan::Load +805a6a20 OpeningPan::Init +805a6c5c 0x805a6c5c +805a6cd8 OpeningPan::Calc +805a6ee8 0x805a6ee8 +805a6f0c cPN_Feather_SetNodeWeight +805a6f1c 0x805a6f1c +805a6f2c FormationSet_GetFormationSpec +805a6f3c 0x805a6f3c +805a6f4c 0x805a6f4c +805a7050 0x805a7050 +805a70ac 0x805a70ac +805a7170 0x805a7170 +805a71a0 0x805a71a0 +805a7ccc RaceCameraMgr::Disposer__dt +805a7d64 RaceCameraMgr::CreateInstance +805a7db4 RaceCameraMgr::DestroyInstance +805a7de8 RaceCameraMgr::__ct +805a865c RaceCameraMgr::__dt +805a8714 0x805a8714 +805a88fc RaceCamera::__dt +805a893c RaceCameraMgr::HasEveryOpeningPanEnded +805a898c RaceCameraMgr::Update +805a89ec RaceCameraMgr::ApplyShaking +805a8c34 0x805a8c34 +805a8db0 0x805a8db0 +805a8e58 0x805a8e58 +805a8eb0 0x805a8eb0 +805a902c 0x805a902c +805a9088 0x805a9088 +805a921c 0x805a921c +805a9284 0x805a9284 +805a92f0 0x805a92f0 +805a9330 0x805a9330 +805a9364 0x805a9364 +805a9394 0x805a9394 +805a93c0 0x805a93c0 +805a9484 RaceCameraMgr::ChangeFocusedPlayer +805a94e4 0x805a94e4 +805a9524 OpeningPan::__dt +805a9564 RaceCamera::__dt(thunk) +805a956c RaceCamera::Update(thunk) +805a9574 RaceCamera::Init(thunk) +805a957c 0x805a957c +805a9584 AutoCameraMover::__ct +805a9638 0x805a9638 +805a96b0 0x805a96b0 +805a96c0 0x805a96c0 +805a96d0 0x805a96d0 +805a985c 0x805a985c +805a98d4 0x805a98d4 +805a9ab8 0x805a9ab8 +805a9ac0 0x805a9ac0 +805a9bac 0x805a9bac +805aa090 0x805aa090 +805aa168 0x805aa168 +805aa218 0x805aa218 +805aa264 0x805aa264 +805aa2c0 0x805aa2c0 +805aa37c 0x805aa37c +805aa564 0x805aa564 +805aa5e4 0x805aa5e4 +805aa688 0x805aa688 +805aa8e4 AutoCameraMoverRace::__ct +805aaef4 AutoCameraMoverRace::ResetActions +805aaefc AutoCameraMoverRace::vf_0x10 +805ab450 0x805ab450 +805ab610 0x805ab610 +805ab714 0x805ab714 +805ab7b8 0x805ab7b8 +805ab7bc 0x805ab7bc +805ab7cc 0x805ab7cc +805ab7dc 0x805ab7dc +805ab7ec 0x805ab7ec +805ab7fc 0x805ab7fc +805ab80c 0x805ab80c +805ab81c 0x805ab81c +805ab84c AutoCameraMoverRace::OnAction0Start +805ab850 AutoCameraMoverRace::OnAction0Update +805ab934 AutoCameraMoverRace::OnAction1Start +805ab960 AutoCameraMoverRace::OnAction1Update +805aba98 AutoCameraMoverRace::OnAction2Start +805abb70 AutoCameraMoverRace::OnAction2Update +805abca8 AutoCameraMoverRace::OnRaceEndStart +805abd04 AutoCameraMoverRace::OnRaceEndUpdate +805abe24 AutoCameraMoverRace::OnAction4Start +805abee0 AutoCameraMoverRace::OnAction4Update +805abfec AutoCameraMoverRace::OnAction5Start +805ac0c4 AutoCameraMoverRace::OnAction5Update +805ac23c AutoCameraMoverRace::OnAction6Start +805ac3ac AutoCameraMoverRace::OnAction6Update +805ac49c 0x805ac49c +805ac5b4 0x805ac5b4 +805ac79c 0x805ac79c +805ac80c 0x805ac80c +805ac8dc 0x805ac8dc +805acb0c 0x805acb0c +805acb30 0x805acb30 +805acba8 DemoCamera_ct +805acda0 0x805acda0 +805acde0 DemoCamera_init +805acf34 0x805acf34 +805acf48 0x805acf48 +805ad19c 0x805ad19c +805ad22c 0x805ad22c +805ad2a4 0x805ad2a4 +805ad3a8 0x805ad3a8 +805ad464 0x805ad464 +805ad4c0 0x805ad4c0 +805ad630 0x805ad630 +805ad718 0x805ad718 +805ad758 0x805ad758 +805ad7a0 0x805ad7a0 +805ad7d0 0x805ad7d0 +805ad818 CamMove::OnStart +805ad860 CamMove::Update +805ad890 CamMove::OnEnd +805ad8d8 0x805ad8d8 +805ad970 BFGHolder::__ct +805ada78 BFGHolder::Update +805adcdc 0x805adcdc +805add3c 0x805add3c +805addc0 FogManager::__ct +805adebc FogManager::Update +805adf74 0x805adf74 +805ae090 0x805ae090 +805ae0b4 FogManager::__dt +805ae0f4 BFGHolder::__dt +805ae134 0x805ae134 +805ae250 0x805ae250 +805ae36c VEC3_perpInPlane +805ae458 0x805ae458 +805ae508 Vec3_projUnit +805ae550 VEC3_rejUnit +805ae5a4 VEC3_projAndRej +805ae60c 0x805ae60c +805ae628 0x805ae628 +805ae694 0x805ae694 +805ae794 0x805ae794 +805ae844 GetPath +805ae8ec 0x805ae8ec +805ae9a0 0x805ae9a0 +805ae9c8 0x805ae9c8 +805aea70 0x805aea70 +805aeac8 0x805aeac8 +805aeb3c 0x805aeb3c +805aeba8 0x805aeba8 +805aecb0 0x805aecb0 +805aecf0 ScnMgrCreator::Disposer__dt +805aed88 ScnMgrCreator::CreateInstance +805aee0c 0x805aee0c +805aee4c ScnMgrCreator::DestroyInstance +805aee80 ScnMgrCreator::__dt +805aef28 ScnMgrCreator::CreateScnMgr +805af0f4 ScnMgrCreator::CreateRace +805af2c8 0x805af2c8 +805af368 ScnMgrCreator::CreateMenu +805af430 ScnMgrCreator::CreateGlobe +805af4f8 0x805af4f8 +805af5c8 0x805af5c8 +805af5d8 0x805af5d8 +805af618 0x805af618 +805af694 0x805af694 +805af7a0 0x805af7a0 +805af808 0x805af808 +805afa34 0x805afa34 +805afc1c 0x805afc1c +805afe14 0x805afe14 +805afeac 0x805afeac +805b04a8 0x805b04a8 +805b07c0 0x805b07c0 +805b0c7c 0x805b0c7c +805b0c80 ScnMgrRace::__ct +805b0cd4 ScnMgrRace::__ct +805b0d2c 0x805b0d2c +805b0dcc ScnMgrRace::805b144c +805b0df0 ScnMgrRace::SetModelXluDrawPriority +805b0e60 ScnMgrRace::LoadPostEffects +805b1398 ScnMgrRace::LoadLights +805b13f4 ScnMgrRace::vf_0xC +805b15f8 ScnMgrRace::CalcSelf +805b1658 ScnMgrRace::Draw +805b16dc 0x805b16dc +805b18ac 0x805b18ac +805b1a90 ScnMgrRace::UpdateCameras +805b1ae8 0x805b1ae8 +805b1b68 0x805b1b68 +805b1bc4 0x805b1bc4 +805b1cfc 0x805b1cfc +805b1ed0 0x805b1ed0 +805b1ee8 0x805b1ee8 +805b1fd4 0x805b1fd4 +805b20c0 0x805b20c0 +805b2c0c 0x805b2c0c +805b2cb0 0x805b2cb0 +805b2df0 0x805b2df0 +805b2ecc 0x805b2ecc +805b2ff0 0x805b2ff0 +805b3064 0x805b3064 +805b3068 0x805b3068 +805b33d8 0x805b33d8 +805b33ec ScnProcShadows::Draw +805b33f8 ScnProcShadows2::Draw +805b3404 0x805b3404 +805b3410 0x805b3410 +805b341c ScnProcEffects::Draw +805b3454 ScnProcCourseFilterEffect::Draw +805b3474 ScnProcEffectsSelfItem::Draw +805b3480 ScnMgrRace::Init +805b3828 ScnProcEffectsSelfItem::__dt +805b3880 ScnProcCourseFilterEffect::__dt +805b38d8 ScnProcEffects::__dt +805b3930 0x805b3930 +805b3988 0x805b3988 +805b39e0 ScnProcShadows2::__dt +805b3a38 ScnProcShadows::__dt +805b3a90 RendererRaceUIScreen::__ct +805b3ad4 RendererRaceUIScreen::__dt +805b3b2c RendererRaceUIScreen::Draw +805b3bbc RendererRaceUIOrtho::__ct +805b3c00 RendererRaceUIOrtho::__dt +805b3c58 RendererRaceUIOrtho::Draw +805b3c94 RendererRaceUIOrtho::Calc +805b3c98 RendererRaceUIScreen::Calc +805b3c9c RendererRaceModels::__ct +805b3ce8 RendererRaceModels::DrawModels +805b3d3c RendererRaceModels::vf_0x1c +805b3e08 RendererRaceModels::Draw +805b3e8c 0x805b3e8c +805b4004 RendererRaceModels::__dt +805b405c 0x805b405c +805b4068 0x805b4068 +805b422c 0x805b422c +805b43b0 0x805b43b0 +805b440c 0x805b440c +805b4418 0x805b4418 +805b4478 Kart::Physics::__ct +805b44d4 Kart::Physics::Reset +805b46a4 Kart::Physics::ResetSpeed +805b4740 Kart::Physics::Init(Reset Thunk) +805b4744 Kart::Physics::Init +805b4804 Kart::Physics::InitInertia +805b48b4 Kart::Physics::CalcInvInertia +805b48c4 0x805b48c4 +805b4a78 0x805b4a78 +805b4af0 Kart::Physics::Update +805b54e4 0x805b54e4 +805b54e8 Kart::Physics::Stabilize +805b5668 0x805b5668 +805b57c0 0x805b57c0 +805b58c4 0x805b58c4 +805b58f8 0x805b58f8 +805b5ad0 Kart::Physics::ApplyWheelSuspension +805b5c1c 0x805b5c1c +805b5d08 0x805b5d08 +805b5d3c 0x805b5d3c +805b5db8 0x805b5db8 +805b5dc8 Kart::PhysicsBike::Stabilize +805b6064 Kart::PhysicsBike::__dt +805b60a4 Kart::Collision::UpdateCollisionsInner +805b641c 0x805b641c +805b66c8 Kart::Collision::ApplyBodyCollision +805b68cc Kart::Collision::UpdateWheelCollision +805b6bdc 0x805b6bdc +805b6c38 0x805b6c38 +805b7250 0x805b7250 +805b72a8 0x805b72a8 +805b78c8 Hitbox::Set +805b7904 Hitbox::Reset +805b793c Hitbox::Update +805b7a28 0x805b7a28 +805b7ad8 0x805b7ad8 +805b7b50 0x805b7b50 +805b7b64 0x805b7b64 +805b7b9c CollisionData::__ct +805b7c3c HitboxGroup::__ct +805b7cb0 HitboxGroup::Reset +805b7d58 0x805b7d58 +805b7da0 0x805b7da0 +805b7e00 0x805b7e00 +805b7e40 HitboxGroup::__ct(hitboxes) +805b8028 0x805b8028 +805b80dc HitboxGroup::__ct(radius,position) +805b81bc HitboxGroup::UpdateBoundingRadius +805b8304 ShadowModelDirector::__ct(ClipInfo) +805b8374 ShadowModelDirector::__ct +805b83c8 ShadowModelDirector::__dt +805b8420 ShadowModelDirector::SetScnOptions +805b8524 ShadowModelsMgr::Disposer__dt +805b85bc ShadowModelsMgr::CreateInstance +805b867c ShadowModelsMgr::DestroyInstance +805b86b0 ShadowModelsMgr::__ct +805b8744 ShadowModelsMgr::__dt +805b87e0 ShadowModelsMgr::InsertModel +805b87e8 ShadowModelsMgr::InsertModel2 +805b87f0 ShadowModelsMgr::Draw +805b88c0 ShadowModelsMgr::Draw2 +805b8990 MatModelDirector::__ct +805b89ec MatModelDirector::__ct(scnMgrIdx) +805b8a48 MatModelDirector::__ct(ClipInfo) +805b8aa4 MatModelDirector::__dt +805b8b0c MatModelDirector::AppendToScnMgr +805b8b50 MatModelDirector::SetMaterialNames +805b8b60 MatModelDirector::CopyMaterialsTevColors +805b8c48 MatModelDirector::ReplaceDefaultScnMdlTevColorDL +805b8c78 MatModelDirector::__dt(thunk) +805b8c80 NdevArgsExtractor::__ct +805b8c84 NdevArgsExtractor::__dt +805b8cc4 NdevArgsExtractor::ExtractAllArgs +805b9a0c NdevArgsExtractor::ExtractSection +805b9b04 NdevArgsExtractor::ExtractLicense +805b9bf4 NdevArgsExtractor::ExtractPad +805b9d58 NdevArgsExtractor::ExtractGhostType +805b9e48 NdevArgsExtractor::ExtractCourseId +805b9f38 NdevArgsExtractor::ExtractGhostLicense +805ba060 NdevArgsExtractor::ExtractFriendIdx +805ba118 NdevArgsExtractor::ExtractW +805ba20c NdevArgsExtractor::ExtractD +805ba30c NdevArgsExtractor::ExtractInt +805ba3e0 NdevArgsExtractor::ExtractU64 +805ba4c0 Pages::ActionLess::__ct +805ba504 Pages::ActionLess::__dt +805ba56c Pages::ActionLess::OnInit +805ba5c0 Pages::ActionLess::OnActivate +805ba5cc Pages::ActionLess::AfterControlUpdate +805ba604 Pages::ActionLess::RequestEnd +805ba610 Pages::AutoEndingTransparent::__ct +805ba678 Pages::AutoEndingTransparent::__dt +805ba70c Pages::AutoEndingTransparent::OnInit +805ba800 Pages::AutoEndingTransparent::ResetText +805ba810 Pages::AutoEndingTransparent::SetMessageWindowText +805ba818 Pages::AutoEnding::__ct +805ba890 CtrlMenuPageTitleText::__dt +805ba8e8 Pages::AutoEnding::__dt +805ba9a4 Pages::AutoEnding::OnInit +805bab40 Pages::AutoEnding::ResetText +805bab90 Pages::AutoEnding::SetTitleText +805bab98 Pages::AutoEnding::SetMessageWindowText +805baba0 Page::vf_0x5c +805baba4 Page::OnSectionChange +805baba8 Page::OnResume +805babac Page::OnUpdate +805babb0 Page::BeforeControlUpdate +805babb4 Page::AfterExitAnimations +805babb8 Page::BeforeExitAnimations +805babbc Page::AfterEntranceAnimations +805babc0 Page::BeforeEntranceAnimations +805babc4 Page::OnDeactivate +805babc8 Page::OnDispose +805babcc Page::IsDVDEnabled +805babd4 Page::IsHomeMenuWorking +805babdc Page::Getpage +805babe4 0x805babe4 +805babec Pages::AutoEnding::GetRuntimeTypeInfo +805babf8 Page::GetNextPage +805bac00 Pages::AutoEndingTransparent::GetRuntimeTypeInfo +805bac0c Pages::ActionLess::GetRuntimeTypeInfo +805bac18 ActionLessPage_cpp_sinit_ +805bac38 Pages::AwardFade::GetPlayersVolumeMgr +805bac44 Pages::AwardFade::__ct +805bacc8 Pages::AwardFade::__dt +805bad3c Pages::AwardFade::OnInit +805bae5c Pages::AwardFade::OnActivate +805baea8 Pages::AwardFade::BeforeEntranceAnimations +805baeac Pages::AwardFade::BeforeExitAnimations +805baeb0 Pages::AwardFade::AfterControlUpdate +805baff8 Pages::AwardFade::HandleClick +805bb0a4 AwardDemoCongratulations::GetClassName +805bb0b4 AwardDemoCongratulations::__ct +805bb0f0 AwardDemoCongratulations::__dt +805bb148 AwardDemoCongratulations::Load +805bb220 AwardDemoCongratulations::InitSelf +805bb258 0x805bb258 +805bb290 0x805bb290 +805bb2c8 AwardDemoResultItem::GetClassName +805bb2d8 AwardDemoResultItem::__ct +805bb314 AwardDemoResultItem::__dt +805bb36c AwardDemoResultItem::Load +805bb518 AwardDemoResultItem::InitSelf +805bb550 AwardDemoResultItem::SetValues +805bb9bc Pages::AwardResults::__ct +805bba88 Pages::AwardResults::__dt +805bbb30 Pages::AwardResults::OnInit +805bbfa0 Pages::AwardResults::OnActivate +805bbfc0 Pages::AwardResults::BeforeEntranceAnimations +805bbfe0 Pages::AwardResults::AfterControlUpdate +805bc0bc Pages::AwardResults::HandleClick +805bc25c Pages::AwardResults::InitConfig +805bc35c Pages::AwardResults::SetWinOrLose +805bc520 0x805bc520 +805bc5a4 Pages::AwardResults::PrepareCongratulations +805bc744 Pages::AwardResults::PrepareResultItems +805bc8b0 Pages::AwardResults::PrepareCup +805bc93c Pages::AwardResults::PrepareCup_switch +805bc940 Pages::AwardResults::PrepareCup_caseD_0 +805bc948 Pages::AwardResults::PrepareCup_caseD_1 +805bc950 Pages::AwardResults::PrepareCup_caseD_2 +805bc958 Pages::AwardResults::PrepareCup_caseD_3 +805bc960 Pages::AwardResults::PrepareCup_caseD_4 +805bc968 Pages::AwardResults::PrepareCup_caseD_5 +805bc970 Pages::AwardResults::PrepareCup_caseD_6 +805bc978 Pages::AwardResults::PrepareCup_caseD_7 +805bc9d0 Pages::AwardResults::InitRank +805bcc4c Pages::AwardResults::GetRuntimeTypeInfo +805bcc58 UIControl::805bd2d8 +805bcc5c UIControl::OnPlayAnimSound +805bcc60 UIControl::OnUpdate +805bcc64 AwardDemoResultItem::GetRuntimeTypeInfo +805bcc70 AwardDemoCongratulations::GetRuntimeTypeInfo +805bcc7c 0x805bcc7c +805bcc84 Pages::AwardFade::GetRuntimeTypeInfo +805bcc90 TriggerPtmf +805bccc0 TriggerPtmf +805bccf0 AwardPages_cpp_sinit_ +805bcd1c PushButton::GetClassName +805bcd28 PushButton::__ct +805bce30 PushButton::__dt +805bce98 PushButton::Load +805bd084 ManipulatorManager::GetRuntimeTypeInfo +805bd090 PushButton::OnLoad +805bd094 0x805bd094 +805bd0a0 PushButton::LoadWithAnims +805bd448 PushButton::SetOnClickHandler +805bd460 PushButton::SetOnSelectHandler +805bd468 PushButton::SetOnDeSelectHandler +805bd470 PushButton::SelectInitial +805bd4c4 PushButton::Select +805bd4d8 PushButton::SelectFocus +805bd554 PushButton::SetPlayerBitfield +805bd560 PushButton::Init +805bd718 PushButton::Update +805bd8c4 PushButton::IsSelected +805bd908 PushButton::GetAnimationFrameSize +805bd97c PushButton::HandleSelect +805bdaac PushButton::OnSelect +805bdab0 PushButton::HandleDeselect +805bdcd4 PushButton::OnDeselect +805bdcd8 PushButton::HandleClick +805bddac PushButton::OnClick +805bddb0 PushButton::SetSelectionSoundId +805bddb8 PushButtonScaleFade::GetClassName +805bddc8 PushButtonScaleFade::__ct +805bdedc PushButtonScaleFade::__dt +805bdf48 PushButtonScaleFade::SetPositionAnim +805bdf80 0x805bdf80 +805bdf84 PushButtonScaleFade::GetRuntimeTypeInfo +805bdf90 PushButton::GetRuntimeTypeInfo +805bdf9c PushButton::TriggerPtmf +805bdfcc PushButton_cpp_sinit_ +805bdfec Pages::AddMKChannel::__ct +805be174 CtrlMenuBackButton::__dt +805be1cc Pages::AddMKChannel::__dt +805be278 Pages::AddMKChannel::OnInit +805be4a8 Pages::AddMKChannel::OnDispose +805be4ac Pages::AddMKChannel::OnActivate +805be4b0 Pages::AddMKChannel::OnDeactivate +805be4b4 Pages::AddMKChannel::GetNextPage +805be4cc Pages::AddMKChannel::OnAddButtonClick +805be6e8 Page::GetRuntimeTypeInfo +805be6f4 Pages::AddMKChannel::OnCancelButtonClick +805be780 Pages::AddMKChannel::OnBackButtonClick +805be7bc Pages::AddMKChannel::OnBackPress +805be7cc Pages::MKChannelExplanation::__ct +805be8e4 Pages::MKChannelExplanation::__dt +805be984 Pages::MKChannelExplanation::OnInit +805beb20 Pages::MKChannelExplanation::OnActivate +805beb2c Pages::MKChannelExplanation::GetNextPage +805beb64 Pages::MKChannelExplanation::OnButtonClick +805bec10 Pages::MKChannelExplanation::OnBackPress +805bec58 0x805bec58 +805bec5c Pages::MKChannelExplanation::GetRuntimeTypeInfo +805bec68 Pages::AddMKChannel::GetRuntimeTypeInfo +805bec74 Pages::MKChannelExplanation::TriggerButtonPtmf +805beca4 Pages::AddMKChannel::TriggerButtonPtmf +805becd4 Pages::MKChannelExplanation::TriggerBackPtmf +805bed04 Pages::AddMKChannel::TriggerBackPtmf +805bed34 AddMKChannelPage_cpp_sinit_ +805bed50 NotifyButton::GetClassName +805bed5c NotifyButton::__ct +805bed98 NotifyButton::__dt +805bedf0 NotifyButton::Load +805beeac NotifyButton::InitSelf +805bef80 NotifyButton::OnUpdate +805bf318 NotifyButton::OnClick +805bf35c NotifyButton::OnClick_switch +805bf360 NotifyButton::OnClick_caseD_0 +805bf368 NotifyButton::OnClick_caseD_1 +805bf370 NotifyButton::OnClick_caseD_2 +805bf478 NotifyButton::OnClick_caseD_3 +805bf480 NotifyButton::OnClick_caseD_5 +805bf488 NotifyButton::OnClick_caseD_7 +805bf490 NotifyButton::OnClick_caseD_8 +805bf498 NotifyButton::OnClick_caseD_9 +805bf4a0 NotifyButton::OnClick_caseD_a +805bf4f0 NotifyButton::OnClick_switch_805bfb90::CaseD_a +805bf514 0x805bf514 +805bf51c 0x805bf51c +805bf524 0x805bf524 +805bf52c 0x805bf52c +805bf534 0x805bf534 +805bf53c 0x805bf53c +805bf544 0x805bf544 +805bf54c 0x805bf54c +805bf554 0x805bf554 +805bf55c 0x805bf55c +805bf564 0x805bf564 +805bf574 NotifyButton::CheckStatusAvailabilities +805bf79c NotifyButton::UpdateText +805bf7d8 NotifyButton::UpdateText_switch +805bf7dc NotifyButton::UpdateText_caseD_0 +805bf7e4 NotifyButton::UpdateText_caseD_1 +805bf7ec NotifyButton::UpdateText_caseD_2 +805bf7f4 NotifyButton::UpdateText_caseD_3 +805bf7fc NotifyButton::UpdateText_caseD_4 +805bf804 NotifyButton::UpdateText_caseD_5 +805bf80c NotifyButton::UpdateText_caseD_6 +805bf814 NotifyButton::UpdateText_caseD_7 +805bf81c NotifyButton::UpdateText_caseD_8 +805bf824 NotifyButton::UpdateText_caseD_9 +805bf82c NotifyButton::UpdateText_caseD_a +805bf898 Pages::Channel::__ct +805bfa40 CtrlMenuInstructionText::__dt +805bfa98 Pages::Channel::__dt +805bfb7c Pages::Channel::OnInit +805c0204 Pages::Channel::OnDispose +805c0208 Pages::Channel::OnActivate +805c0260 Pages::Channel::OnButtonClick +805c04f8 Pages::Channel::OnButtonSelect +805c05a0 Pages::Channel::OnButtonSelect_switch +805c05a4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_0 +805c05ac Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_1 +805c05b4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_2 +805c05bc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_3 +805c05c4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_4 +805c05cc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_5 +805c05d4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_6 +805c05dc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_7 +805c05e4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_8 +805c05ec Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_9 +805c05f4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_a +805c0610 Pages::Channel::OnBackPress +805c0648 Pages::ChannelGhostChoice::__ct +805c07b8 Pages::ChannelGhostChoice::__dt +805c0868 Pages::ChannelGhostChoice::OnInit +805c0b80 Pages::ChannelGhostChoice::OnActivate +805c0bd8 Pages::ChannelGhostChoice::OnButtonClick +805c0cc0 Pages::ChannelGhostChoice::OnButtonSelect +805c0d14 Pages::ChannelGhostChoice::OnBackPress +805c0d2c Pages::ChannelRankingChoice::__ct +805c0e9c Pages::ChannelRankingChoice::__dt +805c0f4c Pages::ChannelRankingChoice::OnInit +805c11bc Pages::ChannelRankingChoice::OnActivate +805c120c Pages::ChannelRankingChoice::GetNextPage +805c1224 Pages::ChannelRankingChoice::OnButtonClick +805c1450 Pages::ChannelRankingChoice::OnButtonSelect +805c14a4 Pages::ChannelRankingChoice::OnBackPress +805c14b4 Pages::ChannelRankingChoice::GetRuntimeTypeInfo +805c14c0 Pages::ChannelGhostChoice::GetNextPage +805c14c8 Pages::ChannelGhostChoice::GetRuntimeTypeInfo +805c14d4 Pages::Channel::GetNextPage +805c14dc Pages::Channel::GetRuntimeTypeInfo +805c14e8 NotifyButton::GetRuntimeTypeInfo +805c14f4 TriggerPtmf +805c1524 TriggerPtmf +805c1554 TriggerPtmf +805c1584 TriggerPtmf +805c15b4 TriggerPtmf +805c15e4 TriggerPtmf +805c1614 ChannelPage_cpp_sinit_ +805c1640 Pages::Approve::__ct +805c1798 Pages::Approve::__dt +805c1838 Pages::Approve::OnInit +805c1a0c Pages::Approve::OnActivate +805c1a98 Pages::Approve::OnDeactivate +805c1a9c Pages::Approve::Reset +805c1b28 Pages::Approve::SetTitleMessage +805c1b30 Pages::Approve::SetMessageWindowMessage +805c1b38 Pages::Approve::SetApproveButtonMessage +805c1b40 Pages::Approve::OnClick +805c1bbc Pages::Approve::OnBackButtonClick +805c1c38 Pages::Approve::OnBackPress +805c1ca4 Pages::Approve::BeforeEntranceAnimations +805c1cc0 0x805c1cc0 +805c1cdc 0x805c1cdc +805c1ce4 Pages::Approve::GetRuntimeTypeInfo +805c1cf0 Pages::Approve::TriggerApprovePtmf +805c1d20 Pages::Approve::TriggerDisapprovePtmf +805c1d50 ApprovePage_cpp_sinit_ +805c1d64 ControlGroup::__ct +805c1d80 ControlGroup::__dt +805c1de0 ControlGroup::Init(UIControl) +805c1fa0 ControlGroup::Init(Page) +805c215c ControlGroup::SetControl +805c2184 ControlGroup::805c2804 +805c21e8 ControlGroup::InitControls +805c2258 ControlGroup::Update +805c22c8 ControlGroup::Draw +805c23dc ControlGroup::ResetControlsPosition +805c2440 ControlGroup::GetControl +805c2450 ControlGroup::DoAction +805c2598 ControlLoader::__ct +805c25a0 ControlLoader::__dt +805c25e0 ControlLoader::Load +805c2800 ControlLoader::LoadBRCTR +805c28b4 ControlLoader::LoadAnimations +805c2b98 ControlLoader::IsStringInArray +805c2c30 ControlLoader::FindStringInArray +805c2ca8 ControlLoader::GetVariant +805c2d28 ControlLoader::LoadVariant +805c2df0 ControlLoader::LoadMessages +805c2ed0 ControlLoader::LoadPictures +805c2f78 Pages::BatteryMgr::__ct +805c2fbc Pages::BatteryMgr::__dt +805c3024 Pages::BatteryMgr::OnInit +805c3080 Pages::BatteryMgr::OnActivate +805c30cc Pages::BatteryMgr::BeforeEntranceAnimations +805c30d0 0x805c30d0 +805c30d4 Pages::BatteryMgr::BeforeExitAnimations +805c30d8 Pages::BatteryMgr::AfterControlUpdate +805c3160 Pages::LowBattery::__ct +805c31f4 Pages::LowBattery::__dt +805c3280 Pages::LowBattery::OnInit +805c33a8 Pages::LowBattery::OnActivate +805c340c Pages::LowBattery::AfterControlUpdate +805c3444 Pages::LowBattery::OnClick +805c3458 Pages::LowBattery::BeforeEntranceAnimations +805c349c Pages::LowBattery::AfterExitAnimations +805c34e0 Pages::LowBattery::GetRuntimeTypeInfo +805c34ec Pages::BatteryMgr::GetNextPage +805c34f4 Pages::BatteryMgr::GetRuntimeTypeInfo +805c3500 TriggerPtmf +805c3530 LowBatteryPage_cpp_sinit_ +805c354c CountDown::__ct +805c356c CountDown::__dt +805c35ac Countdown::SetInitial +805c35c4 Countdown::Update +805c3648 CountDownTimerControl::GetClassName +805c3654 CountDownTimerControl::__ct +805c3698 CountDownTimerControl::__dt +805c36f0 CountDownTimerControl::Load +805c377c CountDownTimerControl::InitSelf +805c39fc CountDownTimerControl::OnUpdate +805c3d00 CountDownTimerControl::AnimateCurrentCountDown +805c3db0 CountDownTimerControl::Reset +805c3e60 0x805c3e60 +805c40c8 CountDownTimerControl::GetRuntimeTypeInfo +805c40d4 CountDown_cpp_sinit_ +805c40e8 0x805c40e8 +805c419c 0x805c419c +805c4204 0x805c4204 +805c4270 0x805c4270 +805c4668 Page::EndActivationState +805c466c 0x805c466c +805c468c Page::EndExitState +805c4690 0x805c4690 +805c4800 0x805c4800 +805c4d08 0x805c4d08 +805c4f0c 0x805c4f0c +805c502c 0x805c502c +805c504c 0x805c504c +805c50a8 0x805c50a8 +805c50b0 0x805c50b0 +805c50bc TriggerPtmf +805c50ec TriggerPtmf +805c511c 0x805c511c +805c5130 0x805c5130 +805c51b4 0x805c51b4 +805c521c 0x805c521c +805c5298 0x805c5298 +805c5458 Page::EndExitState +805c545c 0x805c545c +805c5460 0x805c5460 +805c5ad8 0x805c5ad8 +805c6170 0x805c6170 +805c61a8 0x805c61a8 +805c63c8 0x805c63c8 +805c6498 0x805c6498 +805c649c 0x805c649c +805c64a4 0x805c64a4 +805c64ac 0x805c64ac +805c64b4 0x805c64b4 +805c64bc 0x805c64bc +805c64c4 0x805c64c4 +805c64cc 0x805c64cc +805c64d4 0x805c64d4 +805c64dc 0x805c64dc +805c64e4 0x805c64e4 +805c6588 0x805c6588 +805c65f8 0x805c65f8 +805c6838 0x805c6838 +805c6914 0x805c6914 +805c6be8 0x805c6be8 +805c6d38 0x805c6d38 +805c6d78 0x805c6d78 +805c70b8 0x805c70b8 +805c71a4 0x805c71a4 +805c7288 0x805c7288 +805c7368 0x805c7368 +805c7534 0x805c7534 +805c788c 0x805c788c +805c7988 0x805c7988 +805c7a20 0x805c7a20 +805c7a88 0x805c7a88 +805c7a98 0x805c7a98 +805c7c68 0x805c7c68 +805c7d18 0x805c7d18 +805c7e10 0x805c7e10 +805c7ee4 0x805c7ee4 +805c7f88 0x805c7f88 +805c8128 0x805c8128 +805c8164 0x805c8164 +805c816c 0x805c816c +805c81b0 0x805c81b0 +805c81f4 0x805c81f4 +805c8200 0x805c8200 +805c8208 0x805c8208 +805c8214 0x805c8214 +805c821c 0x805c821c +805c8228 TriggerPtmf +805c8258 TriggerPtmf +805c8288 TriggerPtmf +805c82b8 TriggerPtmf +805c82e8 TriggerPtmf +805c8318 __sinit_DownloadGhostList_cpp +805c8338 DpdPointerControl::GetClassName +805c8344 DpdPointerControl::DpadpointerControl +805c8388 DpdPointerControl::__dt +805c83e0 DpdPointerControl::Load +805c86ec DpdPointerControl::InitSelf +805c883c DpdPointerControl::OnUpdate +805c8eb4 Pages::DpdPointer::__ct +805c8f18 Pages::DpdPointer::__dt +805c8f8c Pages::DpdPointer::OnInit +805c9018 Pages::DpdPointer::OnActivate +805c9024 Pages::DpdPointer::BeforeControlUpdate +805c908c Pages::DpdPointer::CheckForConditions +805c9094 Pages::System::AddPageLayer +805c909c Pages::System::Func_0x20 +805c90a0 Pages::System::ChangeSection +805c90a4 Pages::System::IsVisible +805c90ac Pages::DpdPointer::GetClassName +805c90b8 Pages::DpdPointer::GetRuntimeTypeInfo +805c90c4 DpdPointerControl::GetRuntimeTypeInfo +805c90d0 __sinit_DpdPointer_cpp +805c90f4 Pages::Empty::__ct +805c9138 Pages::Empty::__dt +805c91a0 Pages::Empty::OnInit +805c9208 Page::OnActivate +805c920c Pages::Empty::BeforeExitAnimations +805c9210 Pages::Empty::BeforeEntranceAnimations +805c9214 NumericEditBox::GetClassName +805c9220 NumericEditBox::__ct +805c9378 NumericEditBox::__dt +805c93fc NumericEditBox::Load +805c983c NumericEditBox::vf_0x3c +805c9840 NumericEditBox::SelectInitial +805c9894 NumericEditBox::Select +805c98b4 NumericEditBox::RemoveAllDigits +805c9968 NumericEditBox::HasFullDigits +805c99a8 NumericEditBox::HasUnusedDigit +805c99e8 NumericEditBox::ComputeSum +805c9a48 NumericEditBox::AddDigit +805c9bd0 NumericEditBox::RemoveDigit +805c9db8 NumericEditBox::Init +805c9ebc NumericEditBox::Update +805ca068 NumericEditBox::HandleUpPress +805ca140 NumericEditBox::HandleDownPress +805ca1f0 NumericEditBox::HandleClick +805ca2cc NumericEditBox::HandleRightPress +805ca3a4 NumericEditBox::HandleLeftPress +805ca460 NumericEditBox::EditLetter::GetClassName +805ca470 NumericEditBox::EditLetter::__ct +805ca4ac NumericEditBox::EditLetter::__dt +805ca504 NumericEditBox::EditLetter::Load +805ca58c NumericEditBox::EditLetter::Init +805ca60c NumericEditBox::EditLetter::Update +805ca610 NumericEditBox::EditLetter::AddDigit +805ca664 NumericEditBox::EditLetter::RemoveDigit +805ca670 NumericEditBox::EditLetter::ToggleCursor +805ca6bc NumericEditBox::EditLetter::AnimateDigit +805ca6f4 0x805ca6f4 +805ca6f8 NumericEditBox::GetRuntimeTypeInfo +805ca704 NumericEditBox::EditLetter::GetRuntimeTypeInfo +805ca710 TriggerPtmf +805ca740 NumericEditBox_cpp_sinit_ +805ca75c 0x805ca75c +805ca768 0x805ca768 +805ca7a4 StaffRollControl::__dt +805ca7fc StaffRollControl::Load +805ca8b0 StaffRollControl::InitSelf +805ca8e8 StaffRollControl::AppearAnimated +805ca920 StaffRollControl::DisappearAnimated +805ca958 Pages::StaffRoll::__ct +805ca9f4 StaffRollText::__ct +805caa50 StaffRollText::__dt +805caac4 Pages::StaffRoll::__dt +805cab44 Pages::StaffRoll::OnInit +805cb084 Pages::StaffRoll::OnActivate +805cb0d4 Pages::StaffRoll::BeforeEntranceAnimations +805cb0d8 Pages::StaffRoll::BeforeExitAnimations +805cb0dc Pages::StaffRoll::AfterControlUpdate +805cb458 Pages::StaffRoll::SetHasNotStarted +805cb470 Pages::StaffRoll::OnClick +805cb47c EndingMovieControl::GetClassName +805cb48c EndingMovieControl::__ct +805cb4c8 EndingMovieControl::__dt +805cb520 EndingMovieControl::Load +805cb618 EndingMovieControl::InitSelf +805cb650 EndingMovieControl::FadeIn +805cb688 EndingMovieControl::FadeOut +805cb6c0 EndingMovieControl::IsCurrentAnimation1Or2 +805cb708 Pages::EndingMovie::__ct +805cb7a4 Pages::EndingMovie::__dt +805cb824 Pages::EndingMovie::OnInit +805cba28 0x805cba28 +805cba94 Pages::EndingMovie::AfterEntranceAnimations +805cba98 Pages::EndingMovie::AfterControlUpdate +805cbbc8 Pages::EndingMovie::OnMovieActivate +805cbc94 Pages::CreditsCongrats::__ct +805cbd28 Pages::CreditsCongrats::__dt +805cbdd8 Pages::CreditsCongrats::OnInit +805cbfc4 Pages::CreditsCongrats::OnActivate +805cc140 Pages::CreditsCongrats::AfterControlUpdate +805cc4e0 Pages::CreditsCongrats::OnResumt +805cca88 Pages::CreditsCongrats::OnClick +805cca94 Pages::CreditsCongrats::Publish +805ccbc4 Pages::CreditsCongrats::AfterPublish +805cccc4 Pages::CreditsCongrats::AfterPublishMsg +805ccdc4 Pages::CreditsCongrats::AfterDontPostTooMany +805ccec4 Pages::CreditsCongrats::HandlePublishError +805ccf94 Pages::CreditsCongrats::HandlePublishError_switch +805ccf98 Pages::CreditsCongrats::HandlePublishError_caseD_1 +805ccfa0 Pages::CreditsCongrats::HandlePublishError_caseD_2 +805ccfa8 Pages::CreditsCongrats::HandlePublishError_caseD_3 +805ccfb0 Pages::CreditsCongrats::HandlePublishError_caseD_4 +805ccfb8 Pages::CreditsCongrats::HandlePublishError_caseD_5 +805ccfc0 Pages::CreditsCongrats::HandlePublishError_caseD_6 +805ccfc8 Pages::CreditsCongrats::HandlePublishError_caseD_8 +805ccfd0 Pages::CreditsCongrats::HandlePublishError_caseD_9 +805ccfd8 Pages::CreditsCongrats::HandlePublishError_caseD_7 +805ccfec Pages::CreditsCongrats::HandlePublishError_caseD_0 +805cd060 0x805cd060 +805cd12c Pages::CreditsCongrats::GetRuntimeTypeInfo +805cd138 Pages::EndingMovie::GetRuntimeTypeInfo +805cd144 EndingMovieControl::GetRuntimeTypeInfo +805cd150 Pages::StaffRoll::GetRuntimeTypeInfo +805cd15c StaffRollControl::GetRuntimeTypeInfo +805cd168 TriggerPtmf +805cd198 TriggerPtmf +805cd1c8 TriggerPtmf +805cd1f8 Ending_cpp_sinit_ +805cd228 Text::Info::__ct +805cd310 Text::PaneHandler::__ct +805cd32c Text::PaneHandler::__dt +805cd39c Text::Mgr::CreateInstance +805cd444 Text::Mgr::DestroyInstance +805cd4c0 Text::PaneHandler::Init +805cd5dc Text::PaneHandler::SetMessage +805cdd14 Text::PaneHandler::SetMessage_switch +805cdd18 Text::PaneHandler::SetMessage_case0 +805cdda8 Text::PaneHandler::SetMessage_case10 +805cde10 Text::PaneHandler::SetMessage_case12 +805cde60 Text::PaneHandler::SetMessage_case13 +805cdf0c Text::PaneHandler::SetMessage_case14 +805ce078 Text::PaneHandler::SetMessage_case15 +805ce1b4 Text::PaneHandler::SetMessage_case1 +805ce6a0 ManipulatorHandler::CheckPlayerPointer +805ce6a8 Text::PaneHandler::ResetMessage +805ce6e4 Text::PaneHandler::Draw +805ce7b4 0x805ce7b4 +805ce7d0 0x805ce7d0 +805ce7ec Text::PaneHandler::GetBMGInfo +805ce8a0 0x805ce8a0 +805ce944 Text::GlyphParams::__ct +805ce948 Text::GlyphParams::__dt +805ce988 Text::GlyphParams::SetCharacter +805ce9ec Text::GlyphUnicodeExternal::__ct +805ce9f0 Text::GlyphUnicodeExternal::__dt +805cea30 Text::GlyphUnicodeExternal::SetCharacter +805ceb58 Text::GlyphDrawer::__dt +805ceb98 Text::GlyphDrawer::Init +805cee74 Text::GlyphDrawer::Draw +805cef5c Text::GlyphDrawer::DrawExternalUnicode +805cf0c0 Text::GlyphDrawer::SetupGXColors +805cf2c8 Text::GlyphDrawer::SetupGXColors_switch +805cf2cc Text::GlyphDrawer::SetupGXColors_caseD_1 +805cf2e4 Text::GlyphDrawer::SetupGXColors_caseD_10 +805cf2fc Text::GlyphDrawer::SetupGXColors_caseD_11 +805cf318 Text::GlyphDrawer::SetupGXColors_caseD_12 +805cf334 Text::GlyphDrawer::SetupGXColors_caseD_13 +805cf350 Text::GlyphDrawer::SetupGXColors_caseD_14 +805cf36c Text::GlyphDrawer::SetupGXColors_caseD_15 +805cf388 Text::GlyphDrawer::SetupGXColors_caseD_16 +805cf3a4 Text::GlyphDrawer::SetupGXColors_caseD_17 +805cf3bc Text::GlyphDrawer::SetupGXColors_caseD_20 +805cf3d4 Text::GlyphDrawer::SetupGXColors_caseD_21 +805cf3f0 Text::GlyphDrawer::SetupGXColors_caseD_30 +805cf408 Text::GlyphDrawer::SetupGXColors_caseD_31 +805cf424 Text::GlyphDrawer::SetupGXColors_caseD_32 +805cf43c Text::GlyphDrawer::SetupGXColors_caseD_33 +805cf454 Text::GlyphDrawer::SetupGXColors_caseD_40 +805cf470 Text::GlyphDrawer::SetupGXColors_caseD_18 +805cf4b4 Text::GlobalHandler::__ct +805cf4c0 Text::GlobalHandler::__dt +805cf500 Text::GlobalHandler::SetPaneHandler +805cf850 0x805cf850 +805cf98c Text::GlobalHandler::SetCharacter +805cfc00 Text::GlobalHandler::SetExternalUnicodeChar +805cfe60 0x805cfe60 +805cfef8 0x805cfef8 +805cff3c 0x805cff3c +805cff50 Text::GlobalHandler::Calc +805d056c 0x805d056c +805d05b0 Text::GlobalHandler::CalcMessageParams +805d0674 Text::GlobalHandler::GetGlyphParamsAndIncrement +805d06ac Text::GlobalHandler::GetUnicodeGlyphParamsAndIncrement +805d06e4 Text::GlobalHandler::SetPaneHandlerAndPane +805d0810 Text::GameFont::__ct +805d085c Text::GameFont::__dt +805d08cc Text::GameFont::Load +805d0920 Text::GameFont::GetTextureByCode +805d0a10 Text::GameFont::GetTextureByIdx +805d0af0 Text::GameFont::Init +805d0be8 Text::FontMgr::__ct +805d0c08 Text::FontMgr::__dt +805d0ca0 Text::FontMgr::CreateInstance +805d0cf0 Text::FontMgr::DestroyInstance +805d0d80 Text::FontMgr::Init +805d1034 Text::FontMgr::InitFont +805d10e0 Text::FontMgr::GetFont +805d1164 HandleDisplayControl::GetClassName +805d1170 HandleDisplayControl::__ct +805d11ac HandleDisplayControl::__dt +805d1204 HandleDisplayControl::Load +805d1284 0x805d1284 +805d12e8 HandleDisplayControl::InitSelf +805d1394 Pages::WheelOnlyComp::__ct +805d1400 Pages::WheelOnlyComp::__dt +805d1484 Pages::WheelOnlyComp::OnInit +805d15ac Pages::WheelOnlyComp::OnActivate +805d15c0 Pages::WheelOnlyComp::AfterEntranceAnimations +805d15d4 Pages::WheelOnlyComp::AfterControlUpdate +805d1724 Pages::WheelOnlyComp::GetRuntimeTypeInfo +805d1730 HandleDisplayControl::GetRuntimeTypeInfo +805d173c WheelOnlyComp_cpp_sinit_ +805d1760 FriendList::__ct +805d17d4 0x805d17d4 +805d1814 FriendListEntry::__ct +805d185c FriendListEntry::__dt +805d189c 0x805d189c +805d18dc 0x805d18dc +805d191c FriendList::__dt +805d1980 FriendList::Init +805d1a90 FriendList::SaveToRKSYS +805d1b40 FriendList::Update +805d1ba4 0x805d1ba4 +805d1cb4 0x805d1cb4 +805d1d9c FriendList::GetFriendCount +805d1e38 FriendList::AddFriend +805d1fdc FriendList::RemoveFriend +805d2054 FriendList::GetFriendIdx +805d2150 FriendList::GetFriendEntry +805d216c FriendList::GetFriend +805d21a4 FriendList::GetFriendStatus +805d21dc FriendList::IsFriendStatusLessThan25 +805d2228 FriendList::IsUpdated +805d2244 FriendList::UpdateKeyController +805d226c 0x805d226c +805d22b8 0x805d22b8 +805d22e0 0x805d22e0 +805d232c FriendList::UpdateStatuses +805d2420 FriendList::UpdateStatuses_switch +805d2424 FriendList::UpdateStatuses_caseD_1 +805d242c FriendList::UpdateStatuses_caseD_2 +805d2434 FriendList::UpdateStatuses_caseD_3 +805d243c FriendList::UpdateStatuses_caseD_5 +805d2444 FriendList::UpdateStatuses_caseD_6 +805d244c FriendList::UpdateStatuses_caseD_7 +805d2454 FriendList::UpdateStatuses_caseD_8 +805d245c FriendList::UpdateStatuses_caseD_9 +805d2464 FriendList::UpdateStatuses_caseD_a +805d246c FriendList::UpdateStatuses_caseD_b +805d24d0 FriendList::UpdateStatuses_caseD_4 +805d24dc FriendList::UpdateStatuses_caseD_c +805d2534 FriendList::UpdateStatuses_caseD_d +805d259c FriendList::UpdateStatuses_caseD_e +805d25f4 FriendList::UpdateStatuses_caseD_0 +805d2620 FriendList::UpdateFriendData +805d29e4 0x805d29e4 +805d29e8 0x805d29e8 +805d2a10 0x805d2a10 +805d2a14 0x805d2a14 +805d2a34 0x805d2a34 +805d2a38 0x805d2a38 +805d2a84 0x805d2a84 +805d2a88 0x805d2a88 +805d2ad4 0x805d2ad4 +805d2ad8 FriendCodesController::Update +805d2b94 FriendCodesController::TrySaveMgrToRKSYS +805d2bf8 FriendCodesController::SaveMgrToRKSYS +805d2d2c FriendCodesController::ResetMgrKeys +805d2d3c FriendReceiver::TrySaveToRKSYS +805d2db0 FriendReceiver::TryReceiveData +805d2f98 FriendReceiver::SaveToRKSYS +805d3048 FriendReceiver::vf_0x10 +805d30dc FriendButton::GetClassName +805d30e8 FriendButton::__ct +805d312c FriendButton::__dt +805d3184 FriendButton::Load +805d325c FriendButton::SetMii +805d3438 0x805d3438 +805d3530 FriendButton::InitSelf +805d3534 FriendButton::OnUpdate +805d3904 FriendButton::OnSelect +805d39fc FriendButton::OnDeselect +805d3aa4 Pages::FriendList::__ct +805d3c84 Pages::FriendList::__dt +805d3d48 Pages::FriendList::OnInit +805d410c Pages::FriendList::OnDispose +805d4110 Pages::FriendList::OnActivate +805d4330 Pages::FriendList::BeforeEntranceAnimations +805d4438 Pages::FriendList::BeforeExitAnimations +805d444c Pages::FriendList::OnDeactivate +805d44ec Pages::FriendList::AfterControlUpdate +805d4568 Pages::FriendList::AddNewFriend +805d45e4 Pages::FriendList::OnFriendButtonClick +805d472c Pages::FriendList::OnBackButtonClick +805d47c0 Pages::FriendList::OnRightArrowPress +805d48f0 Pages::FriendList::OnLeftArrowPress +805d49e8 Pages::FriendList::OnBackPress +805d4a68 Pages::FriendList::CompareFriendIndexes +805d4af8 Pages::FriendList::FriendStatusToValue +805d4b18 Pages::FriendList::FriendStatusToValue_switch +805d4b1c Pages::FriendList::FriendStatusToValue_Case_fffffffe +805d4b24 Pages::FriendList::FriendStatusToValue_Case_ffffffff +805d4b2c Pages::FriendList::FriendStatusToValue_Case_0 +805d4b34 Pages::FriendList::FriendStatusToValue_Case_1 +805d4b3c Pages::FriendList::FriendStatusToValue_Case_2 +805d4b44 Pages::FriendList::FriendStatusToValue_Case_3 +805d4b4c Pages::FriendList::FriendStatusToValue_Case_4 +805d4b54 Pages::FriendList::FriendStatusToValue_Case_5 +805d4b5c Pages::FriendList::FriendStatusToValue_Case_6 +805d4b64 Pages::FriendList::FriendStatusToValue_Case_7 +805d4b6c Pages::FriendList::FriendStatusToValue_Case_8 +805d4b74 Pages::FriendList::FriendStatusToValue_Case_9 +805d4b7c Pages::FriendList::FriendStatusToValue_Case_a +805d4b84 Pages::FriendList::FriendStatusToValue_Case_b +805d4b8c Pages::FriendList::FriendStatusToValue_Case_c +805d4b94 Pages::FriendList::FriendStatusToValue_Case_d +805d4b9c Pages::FriendList::FriendStatusToValue_Case_e +805d4ba4 Pages::FriendList::FriendStatusToValue_Case_f +805d4bac Pages::FriendList::FriendStatusToValue_Case_10 +805d4bb4 Pages::FriendList::FriendStatusToValue_Case_11 +805d4bbc Pages::FriendList::FriendStatusToValue_Case_12 +805d4bc4 Pages::FriendList::FriendStatusToValue_Case_13 +805d4bcc Pages::FriendList::FriendStatusToValue_Case_14 +805d4bd4 Pages::FriendList::FriendStatusToValue_Case_15 +805d4bdc Pages::FriendList::FriendStatusToValue_Case_16 +805d4be4 Pages::FriendList::FriendStatusToValue_Case_17 +805d4bec Pages::FriendList::FriendStatusToValue_Case_18 +805d4bf4 Pages::FriendList::FriendStatusToValue_Case_19 +805d4bfc Pages::FriendList::FriendStatusToValue_Case_1a +805d4c0c Pages::FriendList::UpdatePageCounter +805d4cd4 Pages::FriendList::UpdateMiiGroup +805d4ddc JoinFriendButton::GetClassName +805d4dec JoinFriendButton::__ct +805d4e28 JoinFriendButton::__dt +805d4e80 JoinFriendButton::__dt +805d4f88 JoinFriendButton::SetStatus +805d50f4 JoinFriendButton::OnUpdate +805d5138 Pages::FriendInfo::__ct +805d52f0 Pages::FriendInfo::__dt +805d53d0 Pages::FriendInfo::OnInit +805d58dc Pages::FriendInfo::OnActivate +805d5a04 Pages::FriendInfo::AfterControlUpdate +805d5c6c Pages::FriendInfo::PlaySound +805d5d4c Pages::FriendInfo::SetInfoText +805d5f30 0x805d5f30 +805d5f54 Pages::FriendInfo::OnJoinButtonClick +805d61e8 Pages::FriendInfo::OnRemoveButtonClick +805d622c Pages::FriendInfo::OnBackButtonClick +805d6270 Pages::FriendInfo::OnBackPress +805d6288 Pages::FriendRemove::__ct +805d63e0 Pages::FriendRemove::__dt +805d6480 Pages::FriendRemove::OnInit +805d661c Pages::FriendRemove::OnActivate +805d66ec Pages::FriendRemove::OnDeactivate +805d67a4 Pages::FriendRemove::OnResume +805d6878 Pages::FriendRemove::OnRemoveButtonClick +805d6a6c Pages::FriendRemove::OnCancelAndBackButtonClick +805d6ac8 Pages::FriendRemove::OnBackPress +805d6ae0 Pages::FriendRemoving::__ct +805d6b54 Pages::FriendRemoving::__dt +805d6be4 Pages::FriendRemoving::OnInit +805d6ce0 Pages::FriendRemoving::OnActivate +805d6dd0 Pages::FriendRemoving::BeforeExitAnimations +805d6f34 Pages::FriendRemoving::AfterControlUpdate +805d7248 Pages::FriendJoinMgr::__ct +805d728c Pages::FriendJoinMgr::__dt +805d72f4 Pages::FriendJoinMgr::OnInit +805d7360 Pages::FriendJoinMgr::OnActivate +805d7630 Pages::FriendJoinMgr::BeforeEntranceAnimations +805d7634 Pages::FriendJoinMgr::AfterEntranceAnimations +805d7644 Pages::FriendJoinMgr::BeforeExitAnimations +805d7648 Pages::FriendJoinMgr::GetNextPage +805d7650 Pages::FriendJoinMgr::GetRuntimeTypeInfo +805d765c Pages::FriendRemoving::IsHomeMenuWorking +805d7664 Pages::FriendRemoving::GetNextPage +805d766c Pages::FriendRemoving::GetRuntimeTypeInfo +805d7678 Pages::FriendRemove::GetNextPage +805d7680 Pages::FriendRemove::GetRuntimeTypeInfo +805d768c Pages::FriendInfo::GetNextPage +805d7694 Pages::FriendInfo::GetRuntimeTypeInfo +805d76a0 JoinFriendButton::GetRuntimeTypeInfo +805d76ac Pages::FriendList::GetNextPage +805d76b4 Pages::FriendList::GetRuntimeTypeInfo +805d76c0 FriendButton::GetRuntimeTypeInfo +805d76cc TriggerPtmf +805d76fc TriggerPtmf +805d772c TriggerPtmf +805d775c TriggerPtmf +805d778c TriggerPtmf +805d77bc TriggerPtmf +805d77ec TriggerPtmf +805d781c FriendListPage_cpp_sinit_ +805d7854 Pages::FriendRoom::__ct +805d7a3c Pages::FriendRoom::__dt +805d7ae8 Pages::FriendRoom::OnInit +805d7d20 Pages::FriendRoom::OnActivate +805d7dd8 Pages::FriendRoom::OnDeactivate +805d7de4 Pages::FriendRoom::AfterControlUpdate +805d8574 Pages::FriendRoom::OnResume +805d881c Pages::FriendRoom::SetStatus +805d8824 0x805d8824 +805d8860 Pages::FriendRoom::OnMessagesButtonClick +805d8948 Pages::FriendRoom::OnStartButtonClick +805d8a30 Pages::FriendRoom::OnAddFriendsButtonClick +805d8a3c Pages::FriendRoom::OnBackButtonClick +805d8b7c Pages::FriendRoom::OnButtonSelect +805d8be8 Pages::FriendRoom::OnBackPress +805d8d28 FriendMatchingPlayer::GetClassName +805d8d38 FriendMatchingPlayer::__ct +805d8dac FriendMatchingPlayer::__dt +805d8e04 FriendMatchingPlayer::Load +805d8ef0 FriendMatchingPlayer::InitSelf +805d8fdc FriendMatchingPlayer::OnUpdate +805d9158 0x805d9158 +805d9270 0x805d9270 +805d92d4 0x805d92d4 +805d9384 FriendMatchingPlayer::OnMessageSent +805d9414 Pages::FriendRoomManager::__ct +805d94a8 Pages::FriendRoomManager::__dt +805d9550 Pages::FriendRoomManager::OnInit +805d968c Pages::FriendRoomManager::OnActivate +805d97fc Pages::FriendRoomManager::AfterEntranceAnimations +805d9904 Pages::FriendRoomManager::BeforeExitAnimations +805d99d0 Pages::FriendRoomManager::OnDeactivate +805d9a1c Pages::FriendRoomManager::AfterControlUpdate +805da52c AvoidController_UseMinimumAvoidance +805da53c 0x805da53c +805da58c Pages::FriendRoomManager::GetMessageBmg +805da680 Pages::FriendRoomManager::SetToSendPacket +805da704 0x805da704 +805da70c 0x805da70c +805da734 0x805da734 +805da744 0x805da744 +805da758 0x805da758 +805da75c 0x805da75c +805da79c 0x805da79c +805da814 0x805da814 +805daae0 0x805daae0 +805dab54 0x805dab54 +805dabfc 0x805dabfc +805dac24 0x805dac24 +805dac34 0x805dac34 +805daf10 0x805daf10 +805daf94 MessageSelectControl::GetClassName +805dafa4 MessageSelectControl::__ct +805db000 MessageSelectControl::__dt +805db074 MessageSelectControl::Load +805db1c8 MessageSelectControl::InitSelf +805db1cc MessageSelectControl::OnUpdate +805db2c4 MessageSelectControl::SetPositionAnim +805db2fc MessageSelectControl::Activate +805db394 MessageSelectControl::Deactivate +805db404 MessageSelectControl::ChangeToPage +805db464 MessageSelectControl::ChangeFromPage +805db4fc MessageSelectControl::IsActivated +805db534 MessageSelectControl::IsDeactivated +805db568 MessageSelectControl::SetButtonBmg +805db5a0 MessageSelectControl::SetOnClickHandler +805db600 MessageSelectControl::SelectInitialButton +805db610 MessageSelectControl::GetSelectedButtonId +805db670 Pages::FriendRoomMessages::__ct +805db8b8 SheetSelectControlScaleFade::__dt +805db910 Pages::FriendRoomMessages::__dt +805db9e0 Pages::FriendRoomMessages::OnInit +805dbc54 Pages::FriendRoomMessages::OnActivate +805dbff8 Pages::FriendRoomMessages::OnDeactivate +805dc094 Pages::FriendRoomMessages::BeforeControlUpdate +805dc11c 0x805dc11c +805dc378 Pages::FriendRoomMessages::End +805dc390 Pages::FriendRoomMessages::UpdateMessage +805dc54c Pages::FriendRoomMessages::OnMessageButtonClick +805dc654 Pages::FriendRoomMessages::OnModeButtonClick +805dc75c Pages::FriendRoomMessages::OnAddFriendsButtonClick +805dc9a4 Pages::FriendRoomMessages::OnRightArrowPress +805dcab0 Pages::FriendRoomMessages::OnLeftArrowPress +805dcbb8 Pages::FriendRoomMessages::OnBackButtonClick +805dcbf4 Pages::FriendRoomMessages::OnBackPress +805dcc0c Pages::FriendRoomWaiting::__ct +805dcc68 Pages::FriendRoomWaiting::__dt +805dccf4 Pages::FriendRoomWaiting::OnInit +805dce88 Pages::FriendRoomWaiting::OnActivate +805dd000 Pages::FriendRoomWaiting::OnDeactivate +805dd010 Pages::FriendRoomWaiting::BeforeEntranceAnimations +805dd09c Pages::FriendRoomWaiting::BeforeExitAnimations +805dd0a0 Pages::FriendRoomWaiting::AfterControlUpdate +805dd5a4 Pages::FriendRoomWaiting::OnResume +805dd964 0x805dd964 +805dd96c Pages::FriendRoomWaiting::StartRoom +805de114 Pages::Menu::GetRuntimeTypeInfo +805de120 0x805de120 +805de128 Pages::FriendRoomWaiting::IsHomeMenuWorking +805de130 Pages::FriendRoomWaiting::GetRuntimeTypeInfo +805de13c Pages::FriendRoomMessages::GetRuntimeTypeInfo +805de148 MessageSelectControl::GetRuntimeTypeInfo +805de154 Pages::FriendRoomManager::GetRuntimeTypeInfo +805de160 FriendMatchingPlayer::GetRuntimeTypeInfo +805de16c Pages::FriendRoom::GetRuntimeTypeInfo +805de178 TriggerPtmf +805de1a8 TriggerPtmf +805de1d8 TriggerPtmf +805de208 TriggerPtmf +805de238 TriggerPtmf +805de268 TriggerPtmf +805de298 FriendRoomPage_cpp_sinit_ +805de2cc Pages::GhostRaceExplanation::__ct +805de3e4 Pages::GhostRaceExplanation::__dt +805de484 Pages::GhostRaceExplanation::OnInit +805de600 Pages::GhostRaceExplanation::OnActivate +805de788 Pages::GhostRaceExplanation::GetNextPage +805de7d8 Pages::GhostRaceExplanation::OnButtonClick +805de864 Pages::GhostRaceExplanation::OnBackPress +805de8b0 Pages::GhostRaceMgr::__ct +805de934 Pages::GhostRaceMgr::__dt +805de99c Pages::GhostRaceMgr::OnInit +805deaac Pages::GhostRaceMgr::OnActivate +805debcc Pages::GhostRaceMgr::BeforeEntranceAnimations +805debd0 Pages::GhostRaceMgr::BeforeExitAnimations +805debd4 Pages::GhostRaceMgr::AfterControlUpdate +805dee1c Pages::GhostRaceMgr::OnResume +805df254 Pages::GhostRaceMgr::DownloadGhost +805df9d0 0x805df9d0 +805dfae0 0x805dfae0 +805dfc20 Pages::GhostRaceMgr::PrepareRace +805dfe18 Pages::GhostRaceMgr::OnErrorBoxClick +805dfe60 Pages::GhostRaceInfo::__ct +805dff78 Pages::GhostRaceInfo::__dt +805e0018 Pages::GhostRaceInfo::OnInit +805e0190 Pages::GhostRaceInfo::OnActivate +805e019c Pages::GhostRaceInfo::UpdateGhostInfo +805e01f4 Pages::GhostRaceInfo::OnButtonClick +805e0320 Pages::GhostRaceInfo::OnBackPress +805e03d8 Pages::GhostRaceInfo::GetRuntimeTypeInfo +805e03e4 Pages::GhostRaceMgr::GetNextPage +805e03ec Pages::GhostRaceMgr::GetRuntimeTypeInfo +805e03f8 Pages::GhostRaceExplanation::GetRuntimeTypeInfo +805e0404 TriggerPtmf +805e0434 TriggerPtmf +805e0464 TriggerPtmf +805e0494 TriggerPtmf +805e04c4 TriggerPtmf +805e04f4 GhostRacePage_cpp_sinit_ +805e0514 Pages::GhostManager::__ct +805e0594 Pages::GhostManager::__dt +805e0660 Pages::GhostManager::OnInit +805e08d8 Pages::GhostManager::OnActivate +805e09d4 Pages::GhostManager::BeforeEntranceAnimations +805e09d8 Pages::GhostManager::BeforeExitAnimations +805e09dc Pages::GhostManager::OnDeactivate +805e09e0 Pages::GhostManager::AfterControlUpdate +805e09e4 Pages::GhostManager::OnSectionChange +805e0a8c Pages::GhostManager::RequestAllGhosts +805e0af0 Pages::GhostManager::UpdateState +805e0b28 Pages::GhostManager::UpdateState_switch +805e0b2c Pages::GhostManager::UpdateState_case_1 +805e0c3c Pages::GhostManager::UpdateState_case_2 +805e0c60 Pages::GhostManager::UpdateState_case_3 +805e0c98 Pages::GhostManager::UpdateState_case_4 +805e0cd0 Pages::GhostManager::UpdateState_case_5 +805e0d08 Pages::GhostManager::UpdateState_case_6 +805e0d38 Pages::GhostManager::UpdateState_case_7 +805e0d5c Pages::GhostManager::UpdateState_case_9 +805e0d88 Pages::GhostManager::UpdateState_case_a +805e0db4 Pages::GhostManager::UpdateState_case_b +805e0de0 Pages::GhostManager::UpdateState_case_c +805e0e04 Pages::GhostManager::UpdateState_case_d +805e0e24 Pages::GhostManager::UpdateState_case_0 +805e0ea0 Pages::GhostManager::AreStaffGhostsLoading +805e0f18 0x805e0f18 +805e1024 Pages::GhostManager::PrepareRaceState +805e10a8 Pages::GhostManager::PrepareReplayState +805e10dc 0x805e10dc +805e10fc 0x805e10fc +805e1170 0x805e1170 +805e1274 Pages::GhostManager::RequestGhost +805e13e0 Pages::GhostManager::SetupGhostRace +805e1638 Pages::GhostManager::SetupGhostReplay +805e17d4 0x805e17d4 +805e18ac 0x805e18ac +805e1968 GhostList::__ct +805e1978 GhostList::__dt +805e19b8 GhostList::FillWithAllGhosts +805e1a74 GhostList::FillWithAllDLdGhosts +805e1adc GhostList::Init +805e1ba4 GhostList::Reset +805e1bb0 GhostList::FillFromGroup +805e1cf8 GhostList::Sort +805e1d0c GhostList::CompareEntries +805e1ddc GhostList::GetHeader +805e1e04 GhostList::CheckIsNew +805e1e30 GhostList::AllAreGhostsNrw +805e1e64 GhostList::SetSectionParamsGhostValues +805e1eec GhostList::EraseEntry +805e1ffc Pages::GhostManager::GetRuntimeTypeInfo +805e2008 GhostManagerPage_cpp_sinit_ +805e201c GhostInfoControl::GetClassName +805e2028 GhostInfoControl::__ct +805e20b8 GhostInfoControl::__dt +805e2120 GhostInfoControl::Load +805e2240 GhostInfoControl::InitSelf +805e2244 GhostInfoControl::OnUpdate +805e2248 GhostInfoControl::UpdateInfo +805e255c 0x805e255c +805e261c GhostInfoControl::UpdateInfoAnimate +805e267c 0x805e267c +805e26cc 0x805e26cc +805e2704 0x805e2704 +805e273c 0x805e273c +805e2774 0x805e2774 +805e27ac 0x805e27ac +805e27e4 0x805e27e4 +805e281c GhostInfoControl::GetRuntimeTypeInfo +805e2828 GhostInfoControl_cpp_sinit_ +805e283c SectionParams::__ct +805e28d4 SectionParams::__dt +805e295c SectionParams::Reset +805e2b00 SectionParams::ResetMiisGhostsAndSubs +805e2b88 SectionParams::ResetBattleParams +805e2ba0 0x805e2ba0 +805e2bc8 SectionParams::RandomizeVSTracks +805e2d48 SectionParams::SetVStracks +805e2f7c SectionParams::IsCourseUnlockedInOneCC +805e308c SectionParams::IsCupUnlockedInOneCC +805e3134 SectionParams::RandomizeBattleArenas +805e31d8 SectionParams::SetBattleArenas +805e32b4 SectionParams::CopyMiisToRacedata +805e3474 OnlineParams::ResetRaceNumberAndCC +805e3484 OnlineParams::Reset +805e3614 OnlineParams::CalcRank +805e3624 OnlineParams::SetRankBMG +805e3648 0x805e3648 +805e365c 0x805e365c +805e3674 0x805e3674 +805e3698 0x805e3698 +805e36a4 TitleParams::__ct +805e36d8 TitleParams::Reset +805e37d8 TitleParams::ForceDemo +805e37e4 0x805e37e4 +805e3828 0x805e3828 +805e3838 0x805e3838 +805e3844 SectionParams::TrackIdxToCourseId +805e387c SectionParams::CourseIdToTrackIdx +805e38d4 SectionParams::CourseIdToCupIdx +805e3950 SectionParams::ArenaIdToCupIdx +805e3984 SectionParams::ResetLicenseParams +805e3b08 Pages::Globe::__ct +805e3b9c Pages::Globe::MessageWindow::__dt +805e3bf4 Pages::Globe::__dt +805e3c78 Pages::Globe::OnInit +805e3e98 Pages::Globe::OnActivate +805e3f9c Pages::Globe::BeforeEntranceAnimations +805e3fa0 Pages::Globe::BeforeExitAnimations +805e3fa4 Pages::Globe::AfterControlUpdate +805e4990 0x805e4990 +805e4b30 0x805e4b30 +805e4e0c 0x805e4e0c +805e50cc 0x805e50cc +805e51e0 0x805e51e0 +805e52e8 Pages::Globe::SetMessage +805e56bc 0x805e56bc +805e57c0 0x805e57c0 +805e58c4 0x805e58c4 +805e59c8 0x805e59c8 +805e5b14 0x805e5b14 +805e5c60 0x805e5c60 +805e5d48 0x805e5d48 +805e5dc0 0x805e5dc0 +805e5e90 0x805e5e90 +805e5f00 0x805e5f00 +805e5f94 0x805e5f94 +805e5fe4 0x805e5fe4 +805e6020 Pages::Globe::GetFriendActivityBMG +805e603c Pages::Globe::GetFriendActivityBMG_switch +805e6040 Pages::Globe::GetFriendActivityBMG_caseD_1 +805e6048 Pages::Globe::GetFriendActivityBMG_caseD_2 +805e6050 Pages::Globe::GetFriendActivityBMG_caseD_3 +805e6058 Pages::Globe::GetFriendActivityBMG_caseD_4 +805e6060 Pages::Globe::GetFriendActivityBMG_caseD_5 +805e6068 Pages::Globe::GetFriendActivityBMG_caseD_6 +805e6070 Pages::Globe::GetFriendActivityBMG_caseD_7 +805e6078 Pages::Globe::GetFriendActivityBMG_caseD_8 +805e6080 Pages::Globe::GetFriendActivityBMG_caseD_9 +805e6088 Pages::Globe::GetFriendActivityBMG_caseD_a +805e6090 Pages::Globe::GetFriendActivityBMG_caseD_b +805e6098 Pages::Globe::GetFriendActivityBMG_caseD_c +805e60a0 Pages::Globe::GetFriendActivityBMG_caseD_d +805e60a8 Pages::Globe::GetFriendActivityBMG_caseD_e +805e60b0 Pages::Globe::GetFriendActivityBMG_caseD_f +805e60b8 Pages::Globe::GetFriendActivityBMG_caseD_10 +805e60c0 Pages::Globe::GetFriendActivityBMG_caseD_11 +805e60c8 Pages::Globe::GetFriendActivityBMG_caseD_12 +805e60d0 Pages::Globe::GetFriendActivityBMG_caseD_13 +805e60d8 Pages::Globe::GetFriendActivityBMG_caseD_14 +805e60e0 Pages::Globe::GetFriendActivityBMG_caseD_15 +805e60e8 Pages::Globe::GetFriendActivityBMG_caseD_16 +805e60f0 Pages::Globe::GetFriendActivityBMG_caseD_17 +805e60f8 Pages::Globe::GetFriendActivityBMG_caseD_18 +805e6100 Pages::Globe::GetFriendActivityBMG_caseD_19 +805e6108 Pages::Globe::GetFriendActivityBMG_caseD_1a +805e6110 Pages::Globe::GetFriendActivityBMG_caseD_0 +805e6118 Pages::Globe::MessageWindow::GetClassName +805e6128 0x805e6128 +805e620c Pages::Globe::MessageWindow::InitSelf +805e6270 0x805e6270 +805e630c 0x805e630c +805e63bc 0x805e63bc +805e63f0 Pages::Globe::GetRuntimeTypeInfo +805e63fc Pages::Globe::MessageWindow::GetRuntimeTypeInfo +805e6408 GlobePage_cpp_sinit_ +805e642c 0x805e642c +805e6478 0x805e6478 +805e64e0 0x805e64e0 +805e654c 0x805e654c +805e6604 Page::EndActivationState +805e6608 0x805e6608 +805e66b8 0x805e66b8 +805e6734 0x805e6734 +805e6afc 0x805e6afc +805e6d1c 0x805e6d1c +805e6d28 0x805e6d28 +805e6d3c PaneManager::SearchForPane +805e6dd4 PaneManager::GetParentPane +805e6ddc 0x805e6ddc +805e6fdc PaneManager::IsPaneAndParentsVisible +805e70d4 PaneManager::IsPaneVisible +805e70e0 PaneManager::SetTextBoxMessage +805e71cc PaneManager::DoAction +805e7348 PaneManager::CheckForUserInfo +805e7388 PaneManager::CheckForUserInfo2 +805e73c8 PaneManager::GetNextUserInfo +805e741c PaneManager::ConvertColorS10ToUT +805e74d0 0x805e74d0 +805e74f8 PaneManagerHolder::__dt +805e7584 PaneManagerHolder::__ct +805e7670 PicturePaneManager::__ct +805e768c TextPaneManager::__ct +805e76a8 MoviePaneManager::__ct +805e76c4 0x805e76c4 +805e76c8 PaneManagerHolder::InsertPicturePane +805e7718 PaneManagerHolder::InsertTextPane +805e7768 PaneManagerHolder::InsertMoviePane +805e77b8 PaneManagerHolder::Draw +805e7814 PicturePaneManager::Draw +805e7938 TextPaneManager::Draw +805e7a54 MoviePaneManager::Draw +805e7b70 PaneManagerHolder::InsertManager +805e7ba0 Layout::__ct +805e7be8 Layout::__dt +805e7c44 Layout::GetPaneByName +805e7c5c Layout::CreateResourceAccessor +805e7e04 Layout::Build +805e7e84 MainLayout::__ct +805e7f0c MainLayout::__dt +805e7fd0 MainLayout::CreateResourceAccessor +805e8178 MainLayout::Build +805e8904 MainLayout::GetTextPaneHandlerByName +805e897c MainLayout::GetTextPaneHandlerByPane +805e89c4 MainLayout::GetMoviePaneHandlerByName +805e8a3c MainLayout::GetMoviePaneHandlerByPane +805e8a84 MainLayout::Animate +805e8a98 MainLayout::Update +805e8b44 MainLayout::Draw +805e8bac Text::PaneHandler::Initializer::Calc +805e8cb0 MoviePaneHander::Initializer::Calc +805e8db4 PaneTypeCounter::Calc +805e8fe4 PaneManager::Initializer::Calc +805e9404 PictureLayout::__ct +805e949c PictureLayout::__dt +805e94fc PictureLayout::CreateResourceAccessor +805e96b4 PictureLayout::Build +805e9754 PictureLayout::SetPrevLayout +805e975c PictureLayout::IsLinkedToLYT +805e97c8 PictureLayoutList::__ct +805e97d4 PictureLayoutList::__dt +805e985c PictureLayoutList::Attach +805e9b68 LayoutResourceAccessorList::__ct +805e9b74 LayoutResourceAccessorList::__dt +805e9c34 LayoutFont::__dt +805e9c74 0x805e9c74 +805e9cb4 0x805e9cb4 +805e9cf4 LayoutResources::__dt +805e9d6c LayoutResourceLink::__dt +805e9dac LayoutResourceAccessorList::Attach +805e9f48 LayoutResourceAccessor::Init +805ea04c LayoutResourceLink::__ct +805ea05c 0x805ea05c +805ea060 0x805ea060 +805ea0a0 0x805ea0a0 +805ea0f4 LicenseControl::GetClassName +805ea100 LicenseButton::GetClassName +805ea110 Pages::LicenseSelect::__ct +805ea348 LicenseButton::__ct +805ea384 LicenseButton::__dt +805ea3dc Pages::LicenseSelect::__dt +805ea494 Pages::LicenseSelect::OnInit +805ea770 Pages::LicenseSelect::SetControlMii +805eb050 Pages::LicenseSelect::OnActivate +805eb074 Pages::LicenseSelect::OnResume +805eb078 Pages::LicenseSelect::AfterControlUpdate +805eb07c Pages::LicenseSelect::OnLicenseButtonClick +805eb420 Pages::LicenseSelect::OnOptionsButtonClick +805eb568 Pages::LicenseSelect::OnBackButtonClick +805eb5ac Pages::LicenseSelect::OnBackPress +805eb5c4 Pages::LicenseSelect::OnNewLicenseApprove +805eb620 Pages::LicenseSelect::OnNewLicenseDisapprove +805eb67c Pages::LicenseSelect::OnNewLicenseBack +805eb688 Pages::LicenseChangeMii::__ct +805eb7ec LicenseControl::__dt +805eb844 Pages::LicenseChangeMii::__dt +805eb8e4 Pages::LicenseChangeMii::OnInit +805ebb50 Pages::LicenseChangeMii::OnActivate +805ebdc4 Pages::LicenseChangeMii::SetControlMii +805ec6a4 Pages::LicenseChangeMii::UpdateMiiGroup +805ec6b4 Pages::LicenseChangeMii::PrepareMessageBox +805ec808 0x805ec808 +805ec8cc 0x805ec8cc +805eca48 0x805eca48 +805ecbb0 Pages::LicenseChangeMii::OnClick +805ecd2c Pages::LicenseChangeMii::OnMiiApprove +805ecd38 Pages::LicenseChangeMii::OnMiiDisapprove +805ecd44 Pages::LicenseChangeMii::OnMessageBoxClick +805ecdc8 Pages::LicenseSettings::__ct +805ecfe8 Pages::LicenseSettings::__dt +805ed0c0 Pages::LicenseSettings::OnInit +805ed4d4 Pages::LicenseSettings::OnActivate +805ed52c Pages::LicenseSettings::OnRecordsButtonClick +805ed570 Pages::LicenseSettings::OnChangeMiiButtonClick +805ed5b4 Pages::LicenseSettings::OnEraseLicenseButtonClick +805ed5f8 Pages::LicenseSettings::OnBackPress +805ed644 Pages::LicenseSettings::OnSelectButton +805ed6b0 Pages::LicenseSettings::OnBackPress +805ed6d0 Pages::LicenseErase::__ct +805ed860 Pages::LicenseErase::__dt +805ed90c Pages::LicenseErase::OnInit +805edb14 Pages::LicenseErase::OnActivate +805edb20 Pages::LicenseErase::OnResume +805edcf8 Pages::LicenseErase::GetNextPage +805edd10 Pages::LicenseErase::OnYesButtonClick +805ede54 Pages::LicenseErase::OnNoButtonClick +805edea8 Pages::LicenseErase::OnBackPress +805edeb8 Pages::LicenseErase::OnErasedLicense +805edf00 Pages::LicenseErase::GetRuntimeTypeInfo +805edf0c Pages::LicenseSettings::GetNextPage +805edf14 Pages::LicenseSettings::GetRuntimeTypeInfo +805edf20 Pages::LicenseChangeMii::GetNextPage +805edf28 Pages::LicenseChangeMii::GetRuntimeTypeInfo +805edf34 Pages::LicenseSelect::GetNextPage +805edf3c Pages::LicenseSelect::GetRuntimeTypeInfo +805edf48 LicenseButton::GetRuntimeTypeInfo +805edf54 LicenseControl::GetRuntimeTypeInfo +805edf60 LicenseUI_cpp_sinit_ +805edf90 TriggerPtmf +805edfc0 TriggerPtmf +805edff0 TriggerPtmf +805ee020 TriggerPtmf +805ee050 TriggerPtmf +805ee080 TriggerPtmf +805ee0b0 TriggerPtmf +805ee0e0 TriggerPtmf +805ee110 TriggerPtmf +805ee140 TriggerPtmf +805ee170 0x805ee170 +805ee1ac MiiNameMsgPrinter::__ct +805ee1dc MiiNameMsgPrinter::__dt +805ee234 MiiNameMsgPrinter::Load +805ee354 MiiNameMsgPrinter::PrintMessage +805ee444 ManipulatorManager::__ct +805ee468 ManipulatorManager::__dt +805ee4a8 ManipulatorManager::Init +805ee52c ManipulatorManager::UpdatePlayerBitfield2 +805ee534 ManipulatorManager::CheckActions +805ee538 ManipulatorManager::Activate +805ee5c4 ManipulatorManager::OnLoad +805ee64c ManipulatorManager::Load +805ee660 ManipulatorManager::OnReset +805ee674 ManipulatorManager::Update +805ee6e8 ManipulatorManager::GetControllerHolder +805ee700 ButtonInfo::__ct +805ee7ac ButtonInfo::__dt +805ee7ec ButtonInfo::Reset +805ee7fc ButtonInfo::Update +805eea14 ButtonInfo::Init +805eea98 0x805eea98 +805eeb1c PageManipulatorManager::__ct +805eebd8 PageManipulatorManager::__dt +805eec40 PageManipulatorManager::Init +805eed18 PageManipulatorManager::CheckActions +805eee84 PageManipulatorManager::Activate +805eef64 PageManipulatorManager::OnReset +805ef044 PageManipulatorManager::SetGlobalHandler +805ef05c ControlButtonInfo::__ct +805ef124 ControlButtonInfo::__dt +805ef164 ControlButtonInfo::Reset +805ef174 ControlButtonInfo::Update +805ef234 ControlButtonInfo::Init +805ef2c8 ControlButtonInfo::LockNonDirectionalActions +805ef34c ControlButtonInfo::IsADirectionHeldForMultipleOf15 +805ef3b8 ControlButtonInfo::GetFramesOnCurControl +805ef3d4 ControlManipulator::__ct +805ef4b0 ControlManipulator::__dt +805ef51c 0x805ef51c +805ef524 ControlManipulator::Init +805ef5d4 ControlManipulator::SetAction +805ef5ec 0x805ef5ec +805ef5f0 ControlManipulator::SetEnabledHudSlots +805ef5f8 0x805ef5f8 +805ef6a4 ControlManipulator::HasDirectionalHandler +805ef71c ControlManipulator::TriggerAction +805ef770 0x805ef770 +805ef7d0 ControlManipulator::Load +805ef91c ControlManipulator::Update +805efcb8 ControlManipulator::GetHudColor +805efd1c ControlManipulator::GetHudSlotIdColor +805efdb4 ControlManipulator::GetHudSlotIdColorSingle +805efe68 ControlBoundingBox::__ct +805efea8 ControlBoundingBox::__dt +805efee8 0x805efee8 +805efef0 0x805efef0 +805efef4 ControlBoundingBox::CalculateBounds +805f017c ControlBoundingBox::TriggerOnSelectHandler +805f01cc ControlBoundingBox::TriggerOnDeselectHandler +805f021c 0x805f021c +805f0284 ControlsManipulatorManager::__ct +805f0374 ControlManipulatorHolder::__ct +805f0470 ControlManipulatorHolder::__dt +805f04b0 ControlsManipulatorManager::__dt +805f0524 ControlsManipulatorManager::Init +805f0614 ControlManipulator::CalcDistanceBothWrapping +805f0620 ControlsManipulatorManager::AddControlManipulator +805f0660 ControlsManipulatorManager::SetGlobalHandler +805f067c ControlsManipulatorManager::SetControlManipulator +805f0690 ControlsManipulatorManager::SetDistanceFunc +805f06f4 ControlManipulator::CalcDistanceVerticalWrappingOnly +805f0700 ControlManipulator::CalcDistanceNoWrapping +805f070c ControlsManipulatorManager::GetHolderList +805f0770 ControlsManipulatorManager::CheckActions +805f149c ControlsManipulatorManager::Activate +805f15d0 ControlsManipulatorManager::OnLoad +805f16f0 ControlsManipulatorManager::OnReset +805f1818 ControlsManipulatorManager::OnActivate +805f181c ControlsManipulatorManager::Update +805f19c8 ControlsManipulatorManager::SetChildControlManipulator +805f19dc ControlsManipulatorManager::InitHolders +805f1a10 ControlsManipulatorManager::IsActionAllowed +805f1a48 ControlsManipulatorManager::HasDirectionalGlobalHandler +805f1ac0 ControlsManipulatorManager::Func_805f21e4 +805f1b48 ControlsManipulatorManager::Func_805f226c +805f1bb0 ControlsManipulatorManager::CheckPlayerPointer +805f1c60 ControlManipulator::CalcDistance +805f1d28 ControlManipulator::CalcDistance_Switch +805f1d2c ControlManipulator::CalcDistance_Case_1 +805f1f80 ControlManipulator::CalcDistance_Case_5 +805f2208 ControlManipulator::CalcDistance_Case_0 +805f2224 ControlManipulator::CalcDistanceLinear +805f23c4 ControlManipulator::CalcDistanceLinear_Switch +805f23c8 ControlManipulator::CalcDistanceLinear_case_1 +805f2418 ControlManipulator::CalcDistanceLinear_case_4 +805f2468 ControlManipulator::CalcDistanceLinear_case_5 +805f24c8 ControlManipulator::CalcDistanceLinear_case_6 +805f2528 ControlManipulator::CalcDistanceLinear_case_0 +805f2540 0x805f2540 +805f25b0 ControlsManipulatorManager:IsWiimoteCursorEnabled +805f25b8 ControlsManipulatorManager::GetRuntimeTypeInfo +805f25c4 ManipulatorManager::IsPointerEnabled +805f25cc ManipulatorManager::OnActivate +805f25d0 ManipulatorManager::GetHolderList +805f25d4 PageManipulatorManager::GetRuntimeTypeInfo +805f25e0 0x805f25e0 +805f2600 BackGroundModelControl::GetClassName +805f260c BackGroundModelControl::__ct +805f2648 BackGroundModelControl::__dt +805f26a0 BackGroundModelControl::Load +805f2760 BackGroundModelControl::RequestModel +805f2780 BackGroundModelControl::InitSelf +805f2784 BackGroundModelControl::OnUpdate +805f2b14 DriverModelControl::GetClassName +805f2b24 DriverModelControl::__ct +805f2b60 DriverModelControl::__dt +805f2bb8 DriverModelControl::Load +805f2d48 DriverModelControl::SetAnimationType +805f2d70 DriverModelControl::RequestModel +805f2e44 DriverModelControl::InitSelf +805f2e48 DriverModelControl::OnUpdate +805f30c0 DriverModelControl::SetPositionAnim +805f310c DriverModelControl::SetModelPositionOnAnim +805f3288 VehicleModelControl::GetClassName +805f3298 VehicleModelControl::__ct +805f32d4 VehicleModelControl::__dt +805f332c VehicleModelControl::Load +805f3474 VehicleModelControl::SetAnimationType +805f34a0 VehicleModelControl::RequestNewModel +805f3568 VehicleModelControl::InitSelf +805f35d4 VehicleModelControl::OnUpdate +805f3980 VehicleModelControl::SetPositionAnim +805f39ec VehicleModelControl::SetModelPositionOnAnim +805f3b80 NoteModelControl::GetClassName +805f3b90 NoteModelControl::__ct +805f3bcc NoteModelControl::__dt +805f3c24 NoteModelControl::Load +805f3d7c NoteModelControl::SetAnimationType +805f3d9c NoteModelControl::InitSelf +805f3ed4 NoteModelControl::OnUpdate +805f45d8 NoteModelControl::SetPositionAnim +805f4728 NoteModelControl::SetModelPositionOnAnim +805f4858 NoteModelControl::GetRuntimeTypeInfo +805f4864 VehicleModelControl::GetRuntimeTypeInfo +805f4870 DriverModelControl::GetRuntimeTypeInfo +805f487c BackGroundModelControl::GetRuntimeTypeInfo +805f4888 ModelControl_cpp_sinit_ +805f48ac Pages::ModelRenderer::__ct +805f4aa4 Pages::ModelRenderer::__dt +805f4b0c Pages::ModelRenderer::OnInit +805f4de0 Pages::ModelRenderer::OnDispose +805f4dfc Pages::ModelRenderer::OnActivate +805f4fb0 Pages::ModelRenderer::BeforeEntranceAnimations +805f4fb4 Pages::ModelRenderer::BeforeExitAnimations +805f4fb8 Pages::ModelRenderer::BeforeControlUpdate +805f4fbc Pages::ModelRenderer::RequestCharacterModel +805f4fe8 Pages::ModelRenderer::LoadKartModelsByCharacter +805f5094 0x805f5094 +805f5234 Pages::ModelRenderer::RequestKartModel +805f5260 Pages::ModelRenderer::RequestBackgroundModel +805f5288 0x805f5288 +805f530c Pages::ModelRenderer::SetBackgroundModelVisibility +805f5328 Pages::ModelRenderer::GetModelTexObj +805f534c Pages::ModelRenderer::GetBackgroundModelTexObj +805f5374 Pages::ModelRenderer::GetVariantType +805f5570 Pages::ModelRenderer::PrepareParams +805f5634 Pages::ModelRenderer::GetModelCount +805f5704 ModelRendererParams::Reset +805f5720 0x805f5720 +805f5880 ModelValuesHolder::GetValues +805f58b8 Pages::ModelRenderer::GetRuntimeTypeInfo +805f58c4 ModelRendererPage_cpp_sinit_ +805f58d8 ModelRendererValuesHolder::Init +805f8400 ModelRendererValues::SetValues +805f8410 BMGHolder::__ct +805f842c BMGHolder::__dt +805f846c BMGHolder::Load +805f84dc BMGHolder::Init +805f8564 BMGHolder::GetMsgId +805f85cc BMGHolder::GetMessageById +805f8608 BMGHolder::GetFontIndex +805f8638 Pages::Click::__ct +805f86bc Pages::Click::__dt +805f8724 Pages::Click::OnInit +805f8794 Pages::Click:::OnLoad +805f87b8 Pages::Click::AfterControlUpdate +805f881c Pages::Click::Reset +805f8830 Pages::Click::OnClick +805f8888 Pages::MessageBoxTransparent::__ct +805f8930 Pages::MessageBoxTransparent::__dt +805f89c4 Pages::MessageBoxTransparent::OnInit +805f8b00 Pages::MessageBoxTransparent::Reset +805f8b20 Pages::MessageBoxTransparent::SetMessageWindowText +805f8b28 Pages::MessageBoxTransparent::BeforeEntranceAnimations +805f8b6c Pages::MessageBox::AfterExitAnimations +805f8bb0 Pages::MessageBoxTransparent::SetButtonImage +805f8bf8 Pages::MessageBox::__ct +805f8cb8 Pages::MessageBox::__dt +805f8d50 Pages::MessageBox::OnInit +805f8e9c Pages::MessageBox::Reset +805f8efc Pages::MessageBox::SetTitleText +805f8f04 Pages::MessageBox::SetMessageWindowText +805f8f0c Pages::MessageBox::SetButtonImage +805f8f54 Pages::MessageBox::GetNextPage +805f8f5c Pages::MessageBox::GetRuntimeTypeInfo +805f8f68 Pages::MessageBoxTransparent::GetRuntimeTypeInfo +805f8f74 Pages::Click::GetRuntimeTypeInfo +805f8f80 Pages::Click::TriggerPtmf +805f8fb0 MessagePagecpp_sinit_ +805f8fd0 MessageWindowControl::GetClassName +805f8fdc MessageWindowControl::__ct +805f9018 MessageWindowControl::__dt +805f9070 MessageWindowControl::Load +805f90ec MessageWindowControlScaleFade::GetClassName +805f90fc MessageWindowControlScaleFade::__ct +805f9138 MessageWindowControlScaleFade::__dt +805f9194 MessageWindowControlScaleFade::SetPositionAnim +805f91cc 0x805f91cc +805f91dc SimpleMessageWindowControl::__ct +805f9218 SimpleMessageWindowControl::__dt +805f9270 SimpleMessageWindowControl::Load +805f9324 SimpleMessageWindowControl::InitSelf +805f9388 BlackBackControlForMessage::GetClassName +805f9398 BlackBackControlForMessage::__ct +805f93d4 BlackBackControlForMessage::__dt +805f942c BlackBackControlForMessage::Load +805f94a0 BlackBackControlForMessage::SetPositionAnim +805f9500 BusySymbol::GetClassName +805f9510 BusySymbol::__ct +805f954c BusySymbol::__dt +805f95a4 BusySymbol::Load +805f9638 BusySymbol::InitSelf +805f9670 BusySymbol::SetPositionAnim +805f96d0 BusySymbol::OnUpdate +805f96ec BusySymbol::GetRuntimeTypeInfo +805f96f8 BlackBackControlForMessage::GetRuntimeTypeInfo +805f9704 SimpleMessageWindowControl::GetRuntimeTypeInfo +805f9710 MessageWindowControlScaleFade::GetRuntimeTypeInfo +805f971c MessageWindowControl::GetRuntimeTypeInfo +805f9728 0x805f9728 +805f9754 MiiGroup::__ct +805f97f4 MiiCreationParams2::__dt +805f9834 MiiGroup::__dt +805f9928 MiiGroup::Init +805f9c4c MiiGroup::Reset +805f9ca0 MiiGroup::ResetCreationParams +805f9cd8 MiiGroup::AddMii +805f9e5c MiiGroup::LoadMiddleDB2Mii +805f9eec MiiGroup::LoadMii(RFLStoreData) +805f9f54 MiiGroup::LoadOfficialMii +805f9fbc MiiGroup::LoadStoreMii +805fa024 MiiGroup::LoadDefaultMii +805fa08c 0x805fa08c +805fa194 MiiGroup::ReplaceMiiByPlayerMii +805fa20c MiiGroup::GetMii +805fa21c 0x805fa21c +805fa240 MiiGroup::GetMiiTexObj +805fa258 MiiGroup::HasAllMiiTexObjs +805fa360 MiiGroup::DeleteMii +805fa484 0x805fa484 +805fa4d0 MiiGroup::CopyMii +805fa810 MiiGroup::CopyMiiToOtherGroup +805fac68 0x805fac68 +805fada8 0x805fada8 +805fade0 0x805fade0 +805fae18 0x805fae18 +805fae34 0x805fae34 +805fae94 0x805fae94 +805fae98 Pages::BackModel::__ct +805faeec Pages::BackModel::__dt +805faf6c Pages::BackModel::OnInit +805fb088 Pages::BackModel::OnInit_switch +805fb08c Pages::BackModel::OnInit_case_60 +805fb09c Pages::BackModel::OnInit_case_49 +805fb0ac Pages::BackModel::OnInit_case_4b +805fb0bc Pages::BackModel::OnInit_case_4c +805fb0c8 Pages::BackModel::OnInit_case_4d +805fb0dc Pages::BackModel::GetRuntimeTypeInfo +805fb0e8 BackModelPage_cpp_sinit_ +805fb0fc MoviePaneHandler::__ct +805fb12c MoviePaneHandler::__dt +805fb16c MoviePaneHandler::Init +805fb278 MoviePaneHandler::Crop(Rect*) +805fb344 MoviePaneHandler::Crop(4floats) +805fb43c MoviePaneHandler::Draw +805fc61c MoviePlayer::__ct +805fc66c MoviePlayer::__dt +805fc6c4 MoviePlayer::Init +805fc6c8 MoviePlayer::Quit +805fc758 MoviePlayer::Update +805fc984 MoviePlayer::Prepare +805fcbf8 0x805fcbf8 +805fcc74 MoviePlayer::Close +805fccbc MoviePlayer::GetCurTHPTextureInfo +805fccd8 MoviePlayer::IsPlaying +805fcd14 MoviePlayer::Pause +805fcd30 MoviePlayer::Play +805fcd4c MoviePlayer::GetCurTextureIdx +805fcd54 MoviePlayer::Reprepare +805fcda0 0x805fcda0 +805fcdf4 Pages::Options::__ct +805fcf14 Pages::Options::__dt +805fcfc0 Pages::Options::OnInit +805fd1c0 Pages::Options::OnDispose +805fd1c4 Pages::Options::OnActivate +805fd1e8 Pages::Options::OnButtonClick +805fd35c Pages::Options::OnBackPress +805fd384 Pages::WifiOptions::__ct +805fd4b4 Pages::WifiOptions::__dt +805fd578 Pages::WifiOptions::OnInit +805fd810 Pages::WifiOptions::OnActivate +805fd834 Pages::WifiOptions::OnButtonClick +805fd9ec Pages::WifiOptions::OnBackPress +805fda04 Pages::OptionExplanation::__ct +805fdb1c Pages::OptionExplanation::__dt +805fdbbc Pages::OptionExplanation::OnInit +805fdd3c Pages::OptionExplanation::OnActivate +805fdd68 Pages::OptionExplanation::OnButtonClick +805fde58 Pages::OptionExplanation::OnBackPress +805fded4 Pages::OptionChoice::__ct +805fe004 Pages::OptionChoice::__dt +805fe0b0 Pages::OptionChoice::OnInit +805fe334 Pages::OptionChoice::OnActivate +805fe364 Pages::OptionChoice::OnResume +805fe43c Pages::OptionChoice::SetTitleText +805fe448 Pages::OptionChoice::SetMessageWindowText +805fe454 Pages::OptionChoice::SetButtonText +805fe4b8 Pages::OptionChoice::SetInitialButton +805fe4c0 Pages::OptionChoice::OnButtonClick +805fe668 Pages::OptionChoice::OnBackPress +805fe680 Pages::RegionOptions::__ct +805fe7d8 Pages::RegionOptions::__dt +805fe878 Pages::RegionOptions::OnInit +805fea04 Pages::RegionOptions::OnActivate +805fea10 Pages::RegionOptions::GetNextPage +805fea70 Pages::RegionOptions::OnButtonClick +805feabc Pages::RegionOptions::OnBackButtonClick +805feb7c Pages::RegionOptions::OnBackPress +805fec04 Pages::MasterOptions::__ct +805fec80 Pages::MasterOptions::__dt +805fece8 Pages::MasterOptions::OnInit +805fed54 Pages::MasterOptions::OnActivate +805fedb4 Pages::MasterOptions::BeforeEntranceAnimations +805fedb8 Pages::MasterOptions::BeforeExitAnimations +805fedbc Pages::MasterOptions::AfterControlUpdate +805fefa0 Pages::MasterOptions::OnResume +805fefe0 0x805fefe0 +805ff184 0x805ff184 +805ff224 0x805ff224 +805ff7f0 Pages::MasterOptions::OnResume_case4 +805ff818 Pages::MasterOptions::OnResume_case5 +805ff820 Pages::MasterOptions::OnResume_case7 +805ff848 Pages::MasterOptions::OnResume_case8 +805ff850 Pages::MasterOptions::OnResume_case9 +805ff860 Pages::MasterOptions::OnResume_case3 +805ff87c Pages::MasterOptions::SetNextPageType +805ff8e0 Pages::MasterOptions::LoadOptionFirstExplanation +805ffa9c Pages::MasterOptions::LoadOptionNextExplanation +805ffb98 Pages::MasterOptions::LoadOptionChoice +80600198 0x80600198 +80600534 Pages::MasterOptions::LoadOptionChoiceSavedNetwork +80600604 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_switch +80600608 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case1 +80600610 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case2 +80600618 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case3 +80600620 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case4 +80600628 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case5 +80600630 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case6 +80600638 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case8 +80600640 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case9 +80600648 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case7 +80600670 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case0 +806006fc Pages::MasterOptions::OnClick +80600788 Pages::MasterOptions::GetNextPage +80600790 Pages::MasterOptions::GetRuntimeTypeInfo +8060079c Pages::RegionOptions::GetRuntimeTypeInfo +806007a8 Pages::OptionChoice::GetRuntimeTypeInfo +806007b4 Pages::OptionExplanation::GetRuntimeTypeInfo +806007c0 Pages::WifiOptions::GetNextPage +806007c8 Pages::WifiOptions::GetRuntimeTypeInfo +806007d4 Pages::Options::GetNextPage +806007dc Pages::Options::GetRuntimeTypeInfo +806007e8 Pages::RegionOptions::TriggerPtmf +80600818 Pages::OptionChoice::TriggerPtmf +80600848 Pages::OptionExplanation::TriggerPtmf +80600878 Pages::WifiOptions::TriggerPtmf +806008a8 Pages::Options::TriggerPtmf +806008d8 Pages::MasterOptions::TriggerPtmf +80600908 Pages::RegionOptions::TriggerBackPtmf +80600938 Pages::OptionChoice::TriggerBackPtmf +80600968 Pages::OptionExplanation::TriggerBackPtmf +80600998 Pages::WifiOptions::TriggerBackPtmf +806009c8 Pages::Options::TriggerBackPtmf +806009f8 Optionscpp_sinit_ +80600a24 PadControl::GetClassName +80600a30 PadControl::__ct +80600a6c PadControl::__dt +80600ac4 PadControl::Load +80600b84 PadControl::InitSelf +80600bf0 PadControl::OnUpdate +80600cc8 PadControl::SetParams +80600cd8 PadControl::SetPadID +80600ce0 PadControl::RegisterPad +80600d18 PadControl::UpdateFromParams +80600e70 0x80600e70 +80600e80 0x80600e80 +80600ebc 0x80600ebc +80600f18 0x80600f18 +80600f48 RecognizePadWindow::GetClassName +80600f58 RecognizePadWindow::__ct +80600f94 RecognizePadWindow::__dt +80600fec RecognizePadWindow::Load +80601068 RecognizePadWindow::InitSelf +8060106c RecognizePadWindow::OnUpdate +80601070 RecognizePadWindow::SetPositionAnim +806010a8 RecognizePadWindow::GetRuntimeTypeInfo +806010b4 0x806010b4 +806010c0 PadControl::GetRuntimeTypeInfo +806010cc PadControl_sinit_ +806010f0 Page::__ct +80601178 Page::__dt +806011d4 Page::Init +8060124c Page::OnInit +80601250 Page::Dispose +80601260 Page::Activate +8060137c Page::Deactivate +806013bc Page::IncrementDuration +806013d8 Page::CheckActions +80601498 Page::UpdateState +806016b8 Page::Exit +806018b8 Page::Enter +80601a40 Page::UpdateControls +80601aac Page::Update +80601ad0 Page::Draw +80601aec Page::ResetManipulatorManager +80601b00 0x80601b00 +80601b04 Page::Resume +80601b9c Page::HandleSectionChange +80601bc0 Page::SetAnimDirection +80601bd0 Page::InitControlGroup +80601be0 Page::AddControl +80601be8 Page::SetManipulatorManager +80601bf0 Page::EndState +80601bfc Page::EndStateAnimated +80601c18 Page::EndExitState +80601c24 Page::ChangeSectionBySceneChange +80601ca4 Page::ChangeSectionByReinit +80601d24 Page::AddPageLayer +80601dd0 Page::AnimateControls +80601f20 Page::ControlAnimator::Calc +80602040 Pages::System::GetAnimDelay +80602094 Page::MaxAnimDelayGetter::Calc +806020d4 Page::OnStateChangeAnimator::Calc +806020e4 Page::StartEntrance +80602168 Page::EndEntrance +80602278 Page::StartExit +806023d4 Page::EndExit +8060245c Page::80602ce8 +8060246c Page::PlaySound +80602480 0x80602480 +80602494 Page::SetTransitionSound +806024a0 Pages::System::__ct +80602534 Pages::System::__dt +806025c8 Pages::System::Setup +80602660 Pages::System::CheckForConditions +80602668 SystemPagecpp_sinit_ +80602678 Pages::RegisteredPads::__ct +806026dc Pages::RegisteredPads::__dt +8060275c Pages::RegisteredPads::OnInit +80602850 Pages::RegisteredPads::OnActivate +806029c4 Pages::RegisteredPads::BeforeEntranceAnimations +806029c8 Pages::RegisteredPads::AfterEntranceAnimations +806029cc Pages::RegisteredPads::AfterControlUpdate +80602a78 Pages::RegisteredPads::AfterExitAnimations +80602a7c Pages::RegisteredPads::GetNextPage +80602ac4 Pages::RegisteredPads::Register +80602b2c ConnectController::GetClassName +80602b3c ConnectController::__ct +80602b78 ConnectController::__dt +80602bd0 ConnectController::Load +80602d4c ConnectController::InitSelf +80602e04 ConnectController::OnUpdate +80602ed8 Pages::RegisterPad::__ct +80603004 CtrlMenuDummyBack::__dt +8060305c Pages::RegisterPad::__dt +80603118 Pages::RegisterPad::OnInit +80603304 Pages::RegisterPad::OnActivate +80603318 Pages::RegisterPad::AfterControlUpdate +80603684 Pages::RegisterPad::GetNextPage +8060369c Pages::RegisterPad::IsDVDEnabled +806036e4 Pages::RegisterPad::OnBackPress +80603730 Pages::RegisterPad::OnStartPress +806037e8 EasyPairingController::GetClassName +806037f8 EasyPairingController::__ct +80603834 EasyPairingController::__dt +8060388c EasyPairingController::Load +80603a1c EasyPairingController::InitSelf +80603b2c EasyPairingController::OnUpdate +80603c8c 0x80603c8c +80603cf8 Pages::PairWiimotes::__ct +80603dac Pages::PairWiimotes::__dt +80603e50 Pages::PairWiimotes::OnInit +806040b4 Pages::PairWiimotes::OnActivate +80604134 Pages::PairWiimotes::AfterEntranceAnimations +80604140 Pages::PairWiimotes::BeforeEntranceAnimations +8060414c Pages::PairWiimotes::BeforeExitAnimations +80604158 Pages::PairWiimotes::OnDeactivate +806041fc Pages::PairWiimotes::AfterControlUpdate +80604274 Pages::PairWiimotes::SyncWiimotes +806043f8 Pages::PairWiimotes::OnBackAndStartPress +8060444c Pages::ConfirmPads::__ct +80604614 Pages::ConfirmPads::__dt +806046c4 Pages::ConfirmPads::OnInit +8060490c Pages::ConfirmPads::OnActivate +80604958 Pages::ConfirmPads::OnDeactivate +80604978 Pages::ConfirmPads::OnOkButtonClick +806049d4 Pages::ConfirmPads::OnChangeButtonClick +80604ab4 Pages::ConfirmPads::OnBackButtonClick +80604be4 Pages::ConfirmPads::OnButtonSelect +80604c38 Pages::ConfirmPads::OnBackPress +80604d40 Pages::ConfirmPads::GetNextPage +80604d48 Pages::ConfirmPads::GetRuntimeTypeInfo +80604d54 Pages::PairWiimotes::GetRuntimeTypeInfo +80604d60 EasyPairingController::GetRuntimeTypeInfo +80604d6c Pages::RegisterPad::IsHomeMenuWorking +80604d74 Pages::RegisterPad::GetRuntimeTypeInfo +80604d80 ConnectController::GetRuntimeTypeInfo +80604d8c Pages::RegisterPad::GetRuntimeTypeInfo +80604d98 TriggerPtmf +80604dc8 TriggerPtmf +80604df8 TriggerPtmf +80604e28 TriggerPtmf +80604e58 RegisterPadPage_cpp_sinit_ +80604e8c RadioButtonControl::GetClassName +80604e98 RadioButtonControl::__ct +8060503c RadioButtonControl::__dt +806050c0 RadioButtonControl::Load +806054c4 RadioButtonControl::OnLoadingEnd +806054c8 RadioButtonControl::SetOnClickHandler +806054d0 RadioButtonControl::SetOnSelectHandler +806054d8 RadioButtonControl::SetOnDeselectHandler +806054e0 RadioButtonControl::SetOnChangeHandler +806054e8 RadioButtonControl::SelectInitialButton +80605570 0x80605570 +80605590 0x80605590 +80605628 0x80605628 +80605698 RadioButtonControl::Init +80605874 RadioButtonControl::Update +80605a4c RadioButtonControl::HandleSelect +80605ba8 RadioButtonControl::HandleDeselect +80605cdc RadioButtonControl::HandleButtonSelect +80605d94 RadioButtonControl::HandleClick +80605e48 RadioButtonControl::HandleRightPress +80605f04 RadioButtonControl::HandleLeftPress +80605fbc RadioButtonControl::OptionButton::GetClassName +80605fcc RadioButtonControl::OptionButton::__ct +80606008 RadioButtonControl::OptionButton::__dt +80606060 RadioButtonControl::OptionButton::Load +80606108 RadioButtonControl::OptionButton::Init +80606188 RadioButtonControl::OptionButton::Update +80606244 RadioButtonControl::OptionButton::GetParentControl +80606344 GetInstanceUnusedControl? +80606350 GetInstanceUnusedControl? +8060635c 0x8060635c +806063bc RadioButtonControl::OptionButton::ToggleChose +80606538 0x80606538 +80606598 RadioButtonControl::OptionButton::ToggleSelect +806066fc RadioButtonControl::OptionButton::SetBorderColours +806067b0 RadioButtonControl::OptionButton::SetColor_BaseColours +80606858 RadioButtonControl::Func_0x40 +8060685c RadioButtonControl::GetRuntimeTypeInfo +80606868 RadioButtonControl::OptionButton::GetRuntimeTypeInfo +80606874 RadioButtonControl_cpp_sinit_ +806068a4 RadioButtonControl_cpp_sinit_ +806068c0 RandomMatchingPlayer::GetClassName +806068cc RandomMatchingPlayer::__ct +80606940 RandomMatchingPlayer::__dt +80606998 RandomMatchingPlayer::Load +80606adc RandomMatchingPlayer::InitSelf +80606c34 RandomMatchingPlayer::OnUpdate +80606ea4 0x80606ea4 +80606fe0 0x80606fe0 +80607098 0x80607098 +80607130 0x80607130 +806072b4 0x806072b4 +806072cc RandomMatchingPlayer::SetMii +80607358 RandomMatchingPlayer::IsShowing +80607390 RandomMatchingPlayer::OnMiiShowing +80607450 RandomMatchingPlayer::CalcAngle +806074a0 0x806074a0 +806074fc MatchingMessageWindow::GetClassName +8060750c MatchingMessageWindow::__ct +80607548 MatchingMessageWindow::__dt +806075a0 MatchingMessageWindow::Load +80607604 MatchingMessageWindow::InitSelf +80607668 MatchingMessageWindow::OnUpdate +8060766c MatchingMessageWindow::SetMessage +80607724 MatchingMessageWindow::Hide +806077d4 Pages::GlobeSearch::__ct +80607908 Pages::GlobeSearch::__dt +806079dc Pages::GlobeSearch::OnInit +80607c08 Pages::GlobeSearch::OnActivate +8060848c Pages::GlobeSearch::BeforeEntranceAnimations +80608490 Pages::GlobeSearch::BeforeExitAnimations +806084e0 Pages::GlobeSearch::BeforeControlUpdate +80608a34 Pages::GlobeSearch::AfterControlUpdate +806091a4 Pages::GlobeSearch::OnResume +8060942c 0x8060942c +8060946c 0x8060946c +806095f8 Pages::GlobeSearch::PrepareLiveView +80609b80 0x80609b80 +80609dcc 0x80609dcc +80609de4 Pages::GlobeSearch::GetNextPage +80609dec Pages::GlobeSearch::IsHomeMenuWorking +80609df4 Pages::GlobeSearch::GetRuntimeTypeInfo +80609e00 MatchingMessageWindow::GetRuntimeTypeInfo +80609e0c RandomMatchingPlayer::GetRuntimeTypeInfo +80609e18 TriggerPtmf +80609e48 TriggerPtmf +80609e78 __sinit_RandomMatchingPage_cpp +80609ea0 RankingDetailItem_getTypeName +80609eac RankingDetailItem_ct +80609ee8 RankingDetailPage_dt +80609f40 0x80609f40 +8060a064 0x8060a064 +8060a09c 0x8060a09c +8060a248 0x8060a248 +8060a4ac RankingDetailPage_ct +8060a5d4 0x8060a5d4 +8060a688 0x8060a688 +8060a92c 0x8060a92c +8060a970 0x8060a970 +8060a974 0x8060a974 +8060aa7c 0x8060aa7c +8060ad60 0x8060ad60 +8060ad84 0x8060ad84 +8060adc4 0x8060adc4 +8060af10 0x8060af10 +8060b2cc 0x8060b2cc +8060b450 0x8060b450 +8060b48c 0x8060b48c +8060b49c 0x8060b49c +8060b500 0x8060b500 +8060b524 0x8060b524 +8060b564 0x8060b564 +8060b5cc 0x8060b5cc +8060b654 0x8060b654 +8060b704 0x8060b704 +8060b850 0x8060b850 +8060b9a8 0x8060b9a8 +8060bc80 0x8060bc80 +8060bcb0 0x8060bcb0 +8060bcbc 0x8060bcbc +8060bf18 0x8060bf18 +8060c330 0x8060c330 +8060c6e0 0x8060c6e0 +8060c7f8 0x8060c7f8 +8060c95c 0x8060c95c +8060c968 0x8060c968 +8060c974 0x8060c974 +8060c980 TriggerPtmf +8060c9b0 TriggerPtmf +8060c9e0 0x8060c9e0 +8060ca08 0x8060ca08 +8060cb80 0x8060cb80 +8060cc28 0x8060cc28 +8060ce08 0x8060ce08 +8060ce1c 0x8060ce1c +8060ce20 0x8060ce20 +8060cf20 0x8060cf20 +8060cf74 0x8060cf74 +8060d168 0x8060d168 +8060d1ac 0x8060d1ac +8060d1c4 0x8060d1c4 +8060d394 0x8060d394 +8060d418 0x8060d418 +8060d480 0x8060d480 +8060d4ec 0x8060d4ec +8060d4fc 0x8060d4fc +8060d508 0x8060d508 +8060d510 0x8060d510 +8060dcd8 0x8060dcd8 +8060dd10 0x8060dd10 +8060dd14 0x8060dd14 +8060dd1c 0x8060dd1c +8060dec0 0x8060dec0 +8060df94 0x8060df94 +8060e040 0x8060e040 +8060e048 0x8060e048 +8060e12c 0x8060e12c +8060e280 0x8060e280 +8060e374 0x8060e374 +8060e5c4 0x8060e5c4 +8060e5cc 0x8060e5cc +8060e5d4 0x8060e5d4 +8060e6a0 0x8060e6a0 +8060e6d0 0x8060e6d0 +8060fbf4 0x8060fbf4 +8060fcd0 0x8060fcd0 +8060fddc 0x8060fddc +8060ff08 0x8060ff08 +806104dc 0x806104dc +80610914 0x80610914 +80610a18 0x80610a18 +80610b30 0x80610b30 +80610cf0 0x80610cf0 +80610dc0 0x80610dc0 +80610dc4 0x80610dc4 +80610dcc 0x80610dcc +80610dd4 0x80610dd4 +80610ddc 0x80610ddc +80610de4 0x80610de4 +80610dec 0x80610dec +80610df4 0x80610df4 +80610dfc 0x80610dfc +80610e04 0x80610e04 +80610ea8 0x80610ea8 +80610f14 0x80610f14 +80610f1c 0x80610f1c +80610f28 0x80610f28 +80610f34 TriggerPtmf +80610f64 TriggerPtmf +80610f94 TriggerPtmf +80610fc4 0x80610fc4 +80610fe0 RankingGraphControl::GetClassName +80610fec RankingGraphControl::__ct +80611064 RankingGraphControl::__dt +80611104 RankingGraphControl::LoadAssets +8061118c 0x8061118c +806111b0 RankingGraphControl::UpdateImpl +806118c0 0x806118c0 +8061195c 0x8061195c +806119d4 0x806119d4 +80611a4c 0x80611a4c +80611a94 0x80611a94 +80611ae4 0x80611ae4 +80611b2c RankingGraphControlTimeAttack::GetClassName +80611b3c RankingGraphControlTimeAttack::__ct +80611c80 RankingGraphControlTimeAttack::__dt +80611df0 RankingGraphControlTimeAttack::Load +806121dc 0x806121dc +80612200 0x80612200 +80612204 RankingGraphControlTimeAttack::GetWindow +80612270 0x80612270 +806123b0 RankingGraphControlTimeAttack::DisplayItems +80612410 RankingGraphControlTimeAttack::DisableAllItems +80612530 RankingGraphControlTimeAttack:: DisplayItemsOnlineRankings +80612fd8 0x80612fd8 +80613018 RankingGraphControlTimeAttack:: DisplayItemsFriendsRankings +80613404 0x80613404 +80613414 0x80613414 +80613534 0x80613534 +80613670 0x80613670 +80613998 0x80613998 +806139bc 0x806139bc +806139c0 0x806139c0 +80613a0c 0x80613a0c +80613a6c 0x80613a6c +80613b50 0x80613b50 +806143d0 0x806143d0 +80614770 0x80614770 +8061477c RankingGraphControlTimeAttack::GetRuntimeTypeInfo +80614788 RankingGraphControl::GetRuntimeTypeInfo +80614794 0x80614794 +806147b8 0x806147b8 +80614824 0x80614824 +806148a8 0x806148a8 +806149d0 0x806149d0 +806149e0 0x806149e0 +80614a1c 0x80614a1c +80614a74 0x80614a74 +80614aec 0x80614aec +80614b24 0x80614b24 +80614b28 Pages::RankingGraph::__ct +80614dc4 Pages::RankingGraph::__dt +80614eac Pages::RankingGraph::OnInit +8061534c Pages::RankingGraph::OnDispose +80615400 Pages::RankingGraph::OnActivate +806155c4 0x806155c4 +806156c0 Pages::RankingGraph::OnTAUpDownChange +806156dc Pages::RankingGraph::OnTAUpDownClick +80615728 Pages::RankingGraph::OnTATextChange +806157ac Pages::RankingGraph::OnCompetitionUpDownChange +806157c8 Pages::RankingGraph::OnCompetitionTextChange +806158f4 Pages::RankingGraph::OnRankingTypeUpDownChange +80615a18 Pages::RankingGraph::OnRankingTypeTextChange +80615a28 Pages::RankingGraph::OnBackButtonClick +80615a74 Pages::RankingGraph::OnBackPress +80615a94 Pages::RankingGraph::SetBottomText +80615a9c 0x80615a9c +80615bcc 0x80615bcc +80615cac 0x80615cac +80615d30 0x80615d30 +80615d40 0x80615d40 +80615d50 0x80615d50 +80615e74 Pages::RankingGraph::GetNextPage +80615e7c Pages::RankingGraph::GetRuntimeTypeInfo +80615e88 0x80615e88 +80615e94 0x80615e94 +80615ea0 TriggerPtmf +80615ed0 TriggerPtmf +80615f00 TriggerPtmf +80615f30 TriggerPtmf +80615f60 TriggerPtmf +80615f90 0x80615f90 +80615fb8 0x80615fb8 +80616108 RankingItem::GetClassName +80616114 0x80616114 +80616164 RankingItem::__dt +806161bc RankingItem::FinishLoad +80616398 RankingItem::OnUpdate +80616824 0x80616824 +80616838 RankingItem::Disable +8061684c RankingItem::Enable +80616860 RankingItem::Appear +80616964 RankingItem::MakeAccessible +80616968 RankingItem::Disappear +80616998 0x80616998 +806169f4 0x806169f4 +80616b1c RankingItemSelectable::GetClassName +80616b2c RankingItemSelectable::__ct +80616c40 RankingItemSelectable::__dt +80616cb0 RankingItemSelectable::Load +80616cf4 RankingItemSelectable::Load_switch +80616cf8 RankingItemSelectable::Load_caseD_0 +80616d08 RankingItemSelectable::Load_caseD_1 +80616d18 RankingItemSelectable::Load_caseD_2 +80616d28 RankingItemSelectable::Load_caseD_3 +80616d38 RankingItemSelectable::Load_caseD_4 +80616d48 RankingItemSelectable::Load_caseD_5 +80616d58 RankingItemSelectable::Load_caseD_6 +80616d68 RankingItemSelectable::Load_caseD_7 +80617110 RankingItemSelectable::InitSelf +806171a4 RankingItemSelectable::Disable +806171c0 RankingItemSelectable::Enable +806176d8 RankingItemSelectable::MakeAccessible +806176f4 RankingItemSelectable::Disappear +8061772c RankingItemSelectable::vf_0x50 +80617748 RankingItemSelectable::vf_0x54 +80617760 RankingItemSelectable::vf_0x58 +80617778 RankingItemSelectable::vf_0x5c +80617794 RankingItemSelectable::vf_0x60 +80617a60 RankingItemSelectable::vf_0x64 +80617a64 RankedItemSelectable::OnSelect +8061809c RankedItemSelectable::OnSelect_switch +806180a0 RankedItemSelectable::OnSelect_caseD_0 +806180a8 RankedItemSelectable::OnSelect_caseD_1 +806180b0 RankedItemSelectable::OnSelect_caseD_3 +806180dc RankedItemSelectable::OnSelect_caseD_5 +806180e4 RankedItemSelectable::OnSelect_caseD_6 +80618120 RankedItemSelectable::OnSelect_caseD_7 +80618260 RankedItemSelectable::OnDeselect +806183c4 RankedItemSelectable::OnClick +80618608 0x80618608 +80618630 0x80618630 +80618634 0x80618634 +8061863c 0x8061863c +80618644 0x80618644 +8061864c 0x8061864c +80618654 0x80618654 +8061865c 0x8061865c +80618664 0x80618664 +8061866c 0x8061866c +80618690 RankingItemStranger::GetClassName +806186a0 RankingItemStranger::__ct +806186fc RankingItemStranger::__dt +80618758 RankingItemStranger::Load +806187f0 RankingItemStranger::Enable +80618820 RankingItemStranger::vf_0x50 +8061883c RankingItemStranger::vf_0x54 +80618854 RankingItemStranger::vf_0x58 +8061886c RankingItemStranger::vf_0x5c +80618870 RankingItemStranger::vf_0x60 +80618874 RankingItemStranger::vf_0x64 +80618878 RankingRuler::GetClassName +80618888 RankingRuler::__ct +806188c4 RankingRuler::__dt +8061891c RankingRuler::Load +80618990 RankingRuler::InitSelf +8061899c 0x8061899c +80618ae0 0x80618ae0 +80618b8c 0x80618b8c +80618b98 RankingWindow::GetClassName +80618ba8 RankingWindow::__ct +80618be4 RankingWindow::__dt +80618c3c 0x80618c3c +80618dac RankingWindow::InitSelf +80618db8 RankingWindow::OnUpdate +80618e38 0x80618e38 +80618e44 0x80618e44 +80619070 RankingWindow::GetRuntimeTypeInfo +8061907c RankingRuler::GetRuntimeTypeInfo +80619088 RankingItemStranger::GetRuntimeTypeInfo +80619094 RankingItemSelectable::GetRuntimeTypeInfo +806190a0 RankingItem::GetRuntimeTypeInfo +806190ac TriggerPtmf +806190dc 0x806190dc +80619130 0x80619130 +80619170 0x80619170 +806191cc 0x806191cc +806191dc 0x806191dc +806193c4 GLMeshWriterCore_ColourPlat +806193e4 0x806193e4 +80619430 0x80619430 +806196d0 0x806196d0 +806196ec 0x806196ec +8061975c 0x8061975c +806199b0 0x806199b0 +80619a30 0x80619a30 +80619aa0 0x80619aa0 +80619b90 0x80619b90 +80619bd8 0x80619bd8 +80619c78 0x80619c78 +80619d18 0x80619d18 +80619d64 0x80619d64 +80619dc4 0x80619dc4 +80619fec 0x80619fec +8061a290 0x8061a290 +8061a314 0x8061a314 +8061a360 0x8061a360 +8061a3c0 0x8061a3c0 +8061a570 0x8061a570 +8061a5e0 SectionPad::__ct +8061a5f0 SectionPad::__dt +8061a630 SectionPad::Init +8061a694 SectionPad::Update +8061aaac SectionPad::ResetPadsStatusAndSet0x54 +8061aacc SectionPad::GetCurrentID +8061aaec SectionPad::GetNewID +8061ab0c SectionPad::GetControllerHolder +8061ab40 SectionPad::HasAController +8061ab94 SectionPad::SetDriftType +8061abb4 SectionPad::IsDriftAuto +8061abe4 0x8061abe4 +8061ac04 SectionPad::SetID +8061ac1c 0x8061ac1c +8061ad18 0x8061ad18 +8061ae60 SectionPad::RequestPad +8061af38 SectionPad::ResetPad +8061b010 SectionPad::SetPadDisconnected +8061b024 SectionPad::DisconnectPad +8061b114 SectionPad::ResetPadsStatus +8061b130 SectionPad::GetFirstDeactivatedPad +8061b1bc SectionPad::HasControllerChanged +8061b1f4 0x8061b1f4 +8061b3c8 SectionPad::Has4WiimotePads +8061b43c SectionPad::ResetAllPads +8061b488 SectionPad::EnablePointer +8061b530 SectionPad::GetControllerHolderByIdx +8061b5b4 SectionPad::CalculateID +8061b720 SectionPad::GetType +8061b770 Pages::RecognizePad::__ct +8061b7cc Pages::RecognizePad::__dt +8061b84c Pages::RecognizePad::OnInit +8061b934 Pages::RecognizePad::OnActivate +8061b9fc Pages::RecognizePad::OnDeactivate +8061ba58 Pages::RecognizePad::AfterControlUpdate +8061baf8 Pages::RecognizePad::BeforeEntranceAnimations +8061bb3c Pages::RecognizePad::AfterExitAnimations +8061bb80 Pages::RecognizePad::CheckForConditions +8061bc8c Pages::RecognizePad::IsVisible +8061bcb0 Pages::RecognizePadMenu::__ct +8061bd18 Pages::RecognizePadMenu::__dt +8061bd9c Pages::RecognizePadMenu::BeforeEntranceAnimations +8061be94 Pages::RecognizePadMenu::AfterEntranceAnimations +8061bee0 Pages::RecognizePadMenu::BeforeExitAnimations +8061bef4 Pages::RecognizePadMenu::AfterExitAnimations +8061bf38 Pages::RecognizePadMenu::BeforeControlUpdate +8061bfe0 Pages::RecognizePadMenu::IsDVDEnabled +8061bff4 0x8061bff4 +8061c05c 0x8061c05c +8061c0e0 0x8061c0e0 +8061c1b4 0x8061c1b4 +8061c21c 0x8061c21c +8061c308 0x8061c308 +8061c354 0x8061c354 +8061c368 0x8061c368 +8061c3ac 0x8061c3ac +8061c498 0x8061c498 +8061c4b4 0x8061c4b4 +8061c51c 0x8061c51c +8061c5a0 0x8061c5a0 +8061c674 0x8061c674 +8061c760 0x8061c760 +8061c7ac 0x8061c7ac +8061c7c0 0x8061c7c0 +8061c804 0x8061c804 +8061c8f0 0x8061c8f0 +8061c90c 0x8061c90c +8061c918 0x8061c918 +8061c924 0x8061c924 +8061c930 0x8061c930 +8061c93c Pages::RecognizePadMenu::GetClassName +8061c948 Pages::RecognizePadMenu::GetRuntimeTypeInfo +8061c954 Pages::RecognizePad::GetRuntimeTypeInfo +8061c960 0x8061c960 +8061c988 Pages::RegisteringFriend::__ct +8061c9fc Pages::RegisteringFriend::__dt +8061ca74 Pages::RegisteringFriend::OnInit +8061cb1c Pages::RegisteringFriend::OnActivate +8061cc3c Pages::RegisteringFriend::BeforeEntranceAnimations +8061cc40 Pages::RegisteringFriend::BeforeExitAnimations +8061cc44 Pages::RegisteringFriend::AfterControlUpdate +8061cd9c Pages::RegisteringFriend::OnResume +8061d3b4 Pages::RegisteringFriend::GetNextPage +8061d410 Pages::RegisteringFriend::IsHomeMenuWorking +8061d42c Pages::RegisterFriend::__ct +8061d664 Pages::RegisterFriend::__dt +8061d728 Pages::RegisterFriend::OnInit +8061d9e4 Pages::RegisterFriend::OnActivate +8061da5c 0x8061da5c +8061dab4 0x8061dab4 +8061dabc Pages::RegisterFriend::OnDigitClick +8061db28 Pages::RegisterFriend::OnBackSpaceClick +8061db74 Pages::RegisterFriend::OnOkButtonClick +8061de60 Pages::RegisterFriend::OnBackButtonClick +8061dea4 Pages::RegisterFriend::OnOkButtonSelect +8061dee0 Pages::RegisterFriend::OnOkButtonDeselect +8061def0 Pages::RegisterFriend::OnBackPress +8061df78 Pages::RegisterFriend::GetRuntimeTypeInfo +8061df84 Pages::xA5::GetRuntimeTypeInfo +8061df90 TriggerPtmf +8061dfc0 TriggerPtmf +8061dff0 RegisterFriendPage_cpp_sinit_ +8061e00c 0x8061e00c +8061e090 0x8061e090 +8061e104 0x8061e104 +8061e184 0x8061e184 +8061e31c Page::EndExitState +8061e320 0x8061e320 +8061e324 0x8061e324 +8061e940 0x8061e940 +8061ec58 0x8061ec58 +8061ec5c 0x8061ec5c +8061ec64 0x8061ec64 +8061ec6c 0x8061ec6c +8061ec74 0x8061ec74 +8061ec7c 0x8061ec7c +8061ec84 0x8061ec84 +8061ec8c 0x8061ec8c +8061ec94 0x8061ec94 +8061ec9c 0x8061ec9c +8061ed64 0x8061ed64 +8061ee0c 0x8061ee0c +8061ee18 TriggerPtmf +8061ee48 0x8061ee48 +8061ee5c Pages::CorruptSaveMgr::__ct +8061eed8 Pages::CorruptSaveMgr::__dt +8061ef40 Pages::CorruptSaveMgr::OnInit +8061ef9c Pages::CorruptSaveMgr::OnActivate +8061f128 Pages::CorruptSaveMgr::AfterControlUpdate +8061f360 Pages::CorruptSaveMgr::OnResume +8061f4f8 Pages::CorruptSaveMgr::IsHomeMenuWorking +8061f510 Pages::CorruptSaveMgr::InitYesNoValues +8061f6b4 0x8061f6b4 +8061f7c0 Pages::CorruptSaveMgr::OnReturnToWiiMenuClick +8061f830 Pages::CannotSave::__ct +8061f8ac Pages::CannotSave::__dt +8061f914 Pages::CannotSave::OnInit +8061f970 Pages::CannotSave::OnActivate +8061fb14 Pages::CannotSave::OnYesNoClick +8061fbb4 Pages::CorruptMemory::__ct +8061fc00 Pages::CorruptMemory::__dt +8061fc74 Pages::CorruptMemory::OnInit +8061fd38 Pages::CorruptMemory::OnActivate +8061fdac Pages::CorruptMiiData::__ct +8061fe38 Pages::CorruptMiiData::__dt +8061feb8 Pages::CorruptMiiData::OnInit +8061ffbc Pages::CorruptMiiData::OnActivate +80620014 Pages::CorruptMiiData::OnButtonClick +80620060 Pages::CorruptMiiData::IsHomeMenuWorking +80620068 Pages::CorruptMiiData::GetRuntimeTypeInfo +80620074 Pages::CorruptMemory::IsHomeMenuWorking +8062007c Pages::CorruptMemory::GetRuntimeTypeInfo +80620088 Pages::CannotSave::__dt +80620090 Pages::CannotSave::GetRuntimeTypeInfo +8062009c Pages::CorruptSaveMgr::GetRuntimeTypeInfo +806200a8 TriggerPtmf +806200d8 TriggerPtmf +80620108 TriggerPtmf +80620138 CorruptPages_cpp_sinit_ +8062015c RKSYSRequester::__ct +80620190 0x80620190 +80620200 RKSYSRequester::__dt +80620278 RKSYSRequester::Reset +806202b4 RKSYSRequester::Update +806203d0 RKSYSRequester::Init +806204f0 RKSYSRequester::Close +80620524 RKSYSRequester::HandleRequest +80620928 RKSYSRequester::HandleAllRequests +80620a48 RKSYSRequester::CheckRequests +80620af0 RKSYSRequester::HasError +80620b04 0x80620b04 +80620b18 RKSYSRequester::RequestEraseAllGhosts +80620b30 RKSYSRequester::RequestSaveLicense +80620b5c RKSYSRequester::NotifyNewLicenseContent +80620b80 RKSYSRequester::RequestSaveLicenseIfNewContent +80620bd0 RKSYSRequester::RequestSaveGhost +80620f78 RKSYSRequester::RequestSaveGhost_0x18 +8062131c RKSYSRequester::RequestEraseGhost +80621354 RKSYSRequester::RequestEraseGhostFromLicense +80621388 RKSYSRequester::RequestGetDLdGhost +806213c4 RKSYSRequester::RequestGetGhostFromLicense +806213fc RKSYSRequester::RequestGetGroupGhosts +8062142c RKSYSRequester::RequestGetGroupGhostsFromLicense +80621458 Section::__ct +806214d0 Section::__dt +8062154c Section::Init +806217fc Section::Enter +80621924 Section::Exit +80621aec Section::UpdateSystemPages +80621c44 Section::Update +80621eb0 Section::Draw +8062222c Section::Pause +80622298 Section::Resume +80622354 Section::OnTransition +806223b4 Section::CreateMoviePlayer +80622404 Section::CreateFriendList +80622454 Section::CreateAndInitPage +806224a0 Section::CreateSystemPage +806224ec Section::AddPageLayer +8062254c Section::AddPageLayerAnimatedReturnTopLayer +806225b8 Section::IsPageTopLayer +806225ec Section::GetTopLayerPage +80622614 Section::IsHomeMenuWorking +806226d4 Section::IsDVDEnabled +806227a0 Section::ScheduleDisconnection +806227b4 Section::UpdateLayers +80622974 Section::AddPageLayerAnimated +806229d4 Section::TopLayerPage +80622a34 Section::RemovePageLayers +80622adc Section::CreatePageById +80622b04 Section::CreatePageById_switch +80622b08 Section::CreatePageById_case0 +80622b20 Section::CreatePageById_case1 +80622b38 Section::CreatePageById_case2 +80622b50 Section::CreatePageById_case3 +80622b68 Section::CreatePageById_case4 +80622b80 Section::CreatePageById_case5 +80622b98 Section::CreatePageById_case6 +80622bb0 Section::CreatePageById_case7 +80622bc8 Section::CreatePageById_case8 +80622be0 Section::CreatePageById_case9 +80622bf8 Section::CreatePageById_casea +80622c10 Section::CreatePageById_caseb +80622c28 Section::CreatePageById_casec +80622c40 Section::CreatePageById_cased +80622c58 Section::CreatePageById_casee +80622c70 Section::CreatePageById_case10 +80622c88 Section::CreatePageById_case12 +80622ca0 Section::CreatePageById_case13 +80622cb8 Section::CreatePageById_case16 +80622cd0 Section::CreatePageById_case17 +80622ce8 Section::CreatePageById_case18 +80622d00 Section::CreatePageById_case19 +80622d18 Section::CreatePageById_case1a +80622d30 Section::CreatePageById_case1b +80622d48 Section::CreatePageById_case1c +80622d60 Section::CreatePageById_case1d +80622d78 Section::CreatePageById_case1e +80622d90 Section::CreatePageById_case1f +80622da8 Section::CreatePageById_case20 +80622dc0 Section::CreatePageById_case21 +80622dd8 Section::CreatePageById_case22 +80622df0 Section::CreatePageById_case23 +80622e08 Section::CreatePageById_case24 +80622e20 Section::CreatePageById_case25 +80622e38 Section::CreatePageById_case26 +80622e50 Section::CreatePageById_case27 +80622e68 Section::CreatePageById_case28 +80622e80 Section::CreatePageById_case29 +80622e98 Section::CreatePageById_case2a +80622eb0 Section::CreatePageById_case2b +80622ec8 Section::CreatePageById_case2c +80622ee0 Section::CreatePageById_case2d +80622ef8 Section::CreatePageById_case2e +80622f10 Section::CreatePageById_case2f +80622f28 Section::CreatePageById_case30 +80622f40 Section::CreatePageById_case31 +80622f58 Section::CreatePageById_case32 +80622f70 Section::CreatePageById_case33 +80622f88 Section::CreatePageById_case34 +80622fa0 Section::CreatePageById_case35 +80622fb8 Section::CreatePageById_case36 +80622fd0 Section::CreatePageById_case37 +80622fe8 Section::CreatePageById_case38 +80623000 Section::CreatePageById_case39 +80623018 Section::CreatePageById_case3a +80623030 Section::CreatePageById_case3b +80623048 Section::CreatePageById_case3c +80623060 Section::CreatePageById_case3d +80623078 Section::CreatePageById_case3e +80623090 Section::CreatePageById_case3f +806230a8 Section::CreatePageById_case40 +806230c0 Section::CreatePageById_case41 +806230d8 Section::CreatePageById_case42 +806230f0 Section::CreatePageById_case43 +80623108 Section::CreatePageById_case44 +80623120 Section::CreatePageById_case45 +80623138 Section::CreatePageById_case46 +80623150 Section::CreatePageById_case47 +80623168 Section::CreatePageById_case48 +80623180 Section::CreatePageById_case49 +80623198 Section::CreatePageById_case4a +806231b0 Section::CreatePageById_case4b +806231c8 Section::CreatePageById_case4c +806231e0 Section::CreatePageById_case4d +806231f8 Section::CreatePageById_case4e +80623210 Section::CreatePageById_case4f +80623228 Section::CreatePageById_case51 +80623240 Section::CreatePageById_case52 +80623258 Section::CreatePageById_case53 +80623270 Section::CreatePageById_case54 +80623288 Section::CreatePageById_case55 +806232a0 Section::CreatePageById_case56 +806232b8 Section::CreatePageById_case57 +806232d0 Section::CreatePageById_case58 +806232e8 Section::CreatePageById_case59 +80623300 Section::CreatePageById_case5a +80623318 Section::CreatePageById_case5b +80623330 Section::CreatePageById_case5c +80623348 Section::CreatePageById_case5d +80623360 Section::CreatePageById_case5e +80623378 Section::CreatePageById_case5f +80623390 Section::CreatePageById_case60 +806233a8 Section::CreatePageById_case61 +806233c0 Section::CreatePageById_case62 +806233d8 Section::CreatePageById_case63 +806233f0 Section::CreatePageById_case64 +80623408 Section::CreatePageById_case65 +80623420 Section::CreatePageById_case66 +80623438 Section::CreatePageById_case67 +80623450 Section::CreatePageById_case68 +80623468 Section::CreatePageById_case69 +80623480 Section::CreatePageById_case6a +80623498 Section::CreatePageById_case6b +806234b0 Section::CreatePageById_case6c +806234c8 Section::CreatePageById_case6d +806234e0 Section::CreatePageById_case6e +806234f8 Section::CreatePageById_case6f +80623510 Section::CreatePageById_case70 +80623528 Section::CreatePageById_case71 +80623540 Section::CreatePageById_case72 +80623558 Section::CreatePageById_case73 +80623570 Section::CreatePageById_case74 +80623588 Section::CreatePageById_case75 +806235a0 Section::CreatePageById_case76 +806235b8 Section::CreatePageById_case77 +806235d0 Section::CreatePageById_case78 +806235e8 Section::CreatePageById_case79 +80623600 Section::CreatePageById_case7a +80623618 Section::CreatePageById_case7b +80623630 Section::CreatePageById_case7c +80623648 Section::CreatePageById_case7d +80623660 Section::CreatePageById_case7e +80623678 Section::CreatePageById_case7f +80623690 Section::CreatePageById_case80 +806236a8 Section::CreatePageById_case81 +806236c0 Section::CreatePageById_case82 +806236d8 Section::CreatePageById_case83 +806236f0 Section::CreatePageById_case84 +80623708 Section::CreatePageById_case85 +80623720 Section::CreatePageById_case86 +80623738 Section::CreatePageById_case87 +80623750 Section::CreatePageById_case88 +80623768 Section::CreatePageById_case89 +80623780 Section::CreatePageById_case8a +80623798 Section::CreatePageById_case8b +806237b0 Section::CreatePageById_case8c +806237c8 Section::CreatePageById_case8d +806237e0 Section::CreatePageById_case8e +806237f8 Section::CreatePageById_case8f +80623810 Section::CreatePageById_case90 +80623828 Section::CreatePageById_case91 +80623840 Section::CreatePageById_case92 +80623858 Section::CreatePageById_case93 +80623870 Section::CreatePageById_case94 +80623888 Section::CreatePageById_case95 +806238a0 Section::CreatePageById_case96 +806238b8 Section::CreatePageById_case97 +806238d0 Section::CreatePageById_case98 +806238e8 Section::CreatePageById_case99 +80623900 Section::CreatePageById_case9a +80623918 Section::CreatePageById_case9b +80623930 Section::CreatePageById_case9c +80623948 Section::CreatePageById_case9d +80623960 Section::CreatePageById_case9e +80623978 Section::CreatePageById_case9f +80623990 Section::CreatePageById_casea0 +806239a8 Section::CreatePageById_casea1 +806239c0 Section::CreatePageById_casea2 +806239d8 Section::CreatePageById_casea3 +806239f0 Section::CreatePageById_casea4 +80623a08 Section::CreatePageById_casea5 +80623a20 Section::CreatePageById_casea6 +80623a38 Section::CreatePageById_casea7 +80623a50 Section::CreatePageById_casea8 +80623a68 Section::CreatePageById_caseaa +80623a80 Section::CreatePageById_caseab +80623a98 Section::CreatePageById_caseac +80623ab0 Section::CreatePageById_casead +80623ac8 Section::CreatePageById_caseae +80623ae0 Section::CreatePageById_caseaf +80623af8 Section::CreatePageById_caseb0 +80623b10 Section::CreatePageById_caseb1 +80623b28 Section::CreatePageById_caseb2 +80623b40 Section::CreatePageById_caseb3 +80623b58 Section::CreatePageById_caseb4 +80623b70 Section::CreatePageById_caseb5 +80623b88 Section::CreatePageById_caseb6 +80623ba0 Section::CreatePageById_caseb7 +80623bb8 Section::CreatePageById_caseb8 +80623bd0 Section::CreatePageById_caseb9 +80623be8 Section::CreatePageById_caseba +80623c00 Section::CreatePageById_casebb +80623c18 Section::CreatePageById_casebc +80623c30 Section::CreatePageById_casebd +80623c48 Section::CreatePageById_casebe +80623c60 Section::CreatePageById_casebf +80623c78 Section::CreatePageById_casec0 +80623c90 Section::CreatePageById_casec1 +80623ca8 Section::CreatePageById_casec2 +80623cc0 Section::CreatePageById_casec3 +80623cd8 Section::CreatePageById_casec5 +80623cf0 Section::CreatePageById_casec6 +80623d08 Section::CreatePageById_casec7 +80623d20 Section::CreatePageById_casec8 +80623d38 Section::CreatePageById_casec9 +80623d50 Section::CreatePageById_caseca +80623d68 Section::CreatePageById_casecb +80623d80 Section::CreatePageById_casecc +80623d98 Section::CreatePageById_casecd +80623db0 Section::CreatePageById_casece +80623ddc Pages::RaceIntro::__ct +80623e30 Pages::GPHUD::__ct +80623eb0 Pages::RaceHUD::__dt +80623f18 Pages::TTHUD::__ct +80623fc0 Pages::VSHUD::__ct +80624040 Pages::VSMultiHUD::__ct +806240c0 Pages::BattleHUD::__ct +80624140 Pages::BattleMultiHUD::__ct +806241c0 Pages::TournamentHUD::__ct +80624240 Pages::GPPause::__ct +80624284 Pages::RaceMenu::__dt +806242ec Pages::VSPause::__ct +80624330 Pages::TTPause::__ct +80624374 Pages::BattlePause::__ct +806243b8 0x806243b8 +806243fc 0x806243fc +80624440 0x80624440 +80624484 0x80624484 +806244c8 Pages::GhostReplayPause::GhostReplayPausePage +8062450c Pages::GPEnd::__ct +80624550 Pages::TTEnd::__ct +80624594 Pages::VSRaceEnd::VSRaceEndPage +806245d8 Pages::BattleEnd::__ct +8062461c Pages::BattleFinalRaceEnd::__ct +80624660 0x80624660 +806246a4 0x806246a4 +806246e8 0x806246e8 +8062472c 0x8062472c +80624770 Pages::TTFriendGhostEnd::__ct +806247b4 0x806247b4 +806247f8 Pages::CheckRankings::__ct +8062483c Pages::QuitConfirmation::__ct +80624880 Pages::TTLeaderboard::__ct +806248e4 Pages::Leaderboard::__dt +8062494c 0x8062494c +806249b8 Pages::GPVSLeaderboardUpdate::__ct +806249f4 Pages::GPVSLeaderboardTotal::__ct +80624a30 Pages::WWLeaderboardUpdate::__ct +80624a6c Pages::TeamVSLeaderboardTotal::__ct +80624ad4 CtrlRaceResultTeam::__ct +80624b38 CtrlRaceResultTeam::__dt +80624bac Pages::TeamVSLeaderboardBase::__dt +80624c34 Pages::BattleLeaderboardUpdate::__ct +80624c9c Pages::BattleLeaderboardTotal::__ct +80624d04 0x80624d04 +80624d40 Pages::GPReplayHUD::__ct +80624dc0 Pages::GhostRaceHUD::__ct +80624e40 Pages::GPReplayPause::__ct +80624e84 Pages::TTReplayPause::__ct +80624ec8 Pages::WifiVSHUD::__ct +80624f48 Pages::WifiVSMultiHUD::__ct +80624fc8 Pages::WiFiFriendVSHUD::__ct +80625048 Pages::WiFiFriendTeamVSHUD::__ct +806250c8 Pages::LiveViewHUD::__ct +80625148 Pages::LiveBattleViewHUD::__ct +806251c8 Pages::StartRace::__ct +8062547c Pages::Menu::__dt +806254e8 Pages::DriftSelect::OnStartPress +806254ec Pages::MainMenu::__ct +806257c4 Pages::MenuBG::__ct +80625934 Pages::TopMenuOverlay::__ct +80625aa8 Pages::MiiSelect::__ct +80625d8c MiiName::__dt +80625de4 Pages::SinglePlayer::__ct +8062609c Pages::GPClassSelect::__ct +8062635c Pages::CharacterSelect::__ct +80626754 CtrlMenuCharacterSelect::__dt +806267ac Pages::KartSelect::__ct +80626a84 CtrlMenuMachineGraph::__ct +80626ac0 CtrlMenuMachineGraph::__dt +80626b18 Pages::DriftSelect::__ct +80626dd0 Pages::CupSelect::__ct +8062718c CtrlMenuMovieHandler::__dt +806271cc CtrlMenuMovieLayout::__dt +80627228 CtrlMenuCupSelectCup::__dt +806272b0 CtrlMenuCupSelectCourse::__dt +80627324 Pages::CourseSelect::__ct +806276b8 CtrlMenuCourseSelectCupSub::__ct +806276f4 CtrlMenuCourseSelectCupSub::__dt +8062774c CtrlMenuCourseSelectCup::__dt +806277c0 CourseButton::__ct +80627820 CtrlMenuMovieButton::__dt +8062787c CourseButton::__dt +806278dc 0x806278dc +8062795c Pages::VSModeSelect::__ct +80627c14 Pages::VSSettings::VSSetting +80627f2c Pages::VSTeamsView::__ct +80628200 CtrlMenuTeamConfirmTeam::__ct +8062825c CtrlMenuTeamConfirmTeam::__dt +806282d0 Pages::BattleModeSelect::__ct +80628588 Pages::BattleKartSelect::__ct +80628878 CharaName::__dt +806288d0 Pages::BattleSettings::__ct +80628be8 Pages::BattleCupSelect::__ct +80628fa4 CtrlMenuBattleCupSelectCup::__dt +8062902c CtrlMenuBattleCupSelectStage::__dt +806290a0 Pages::BattleStageSelect::__ct +80629434 0x80629434 +80629470 0x80629470 +806294c8 CtrlMenuBattleStageSelectCup::__dt +8062953c StageButton::__ct +8062959c StageButton::__dt +806295fc CtrlMenuBattleStageSelectStage::__ct +8062967c 0x8062967c +80629a38 0x80629a38 +80629ac0 0x80629ac0 +80629b34 0x80629b34 +80629ec8 0x80629ec8 +80629f04 0x80629f04 +80629f5c 0x80629f5c +80629fd0 0x80629fd0 +8062a030 0x8062a030 +8062a090 0x8062a090 +8062a110 0x8062a110 +8062a3e8 0x8062a3e8 +8062a6d4 0x8062a6d4 +8062a98c Pages::MultiPlayer::__ct +8062ac40 Pages::MultiKartSelect::__ct +8062af74 MultiKartBox::__ct +8062afb0 MultiKartBox::__dt +8062b008 Pages::MultiDriftSelect::__ct +8062b2bc Pages::MultiTeamSelect::__ct +8062b570 Pages::Unlock::__ct +8062b840 Pages::LicenseRecords::__ct +8062baf0 Section::CreateSectionPages +8062bb24 Section::CreateSectionPages_switch +8062bb28 Section::CreateSectionPages_case6 +8062bb34 Section::CreateSectionPages_case7 +8062bb40 Section::CreateSectionPages_case8 +8062bb4c Section::CreateSectionPages_case9 +8062bb58 Section::CreateSectionPages_casea +8062bb64 Section::CreateSectionPages_caseb +8062bb70 Section::CreateSectionPages_casec +8062bb7c Section::CreateSectionPages_cased +8062bb88 Section::CreateSectionPages_casee +8062bb94 Section::CreateSectionPages_casef +8062bba0 Section::CreateSectionPages_case10 +8062bbc4 Section::CreateSectionPages_case11 +8062bbf4 Section::CreateSectionPages_case12 +8062bc24 Section::CreateSectionPages_case13 +8062bc48 Section::CreateSectionPages_case14 +8062bc60 Section::CreateSectionPages_case15 +8062bc78 Section::CreateSectionPages_case16 +8062bc84 Section::CreateSectionPages_case17 +8062bc90 Section::CreateSectionPages_case18 +8062bc9c Section::CreateSectionPages_case19 +8062bca8 Section::CreateSectionPages_case1a +8062bcb4 Section::CreateSectionPages_case1b +8062bcc0 Section::CreateSectionPages_case1c +8062bccc Section::CreateSectionPages_case1d +8062bcd8 Section::CreateSectionPages_case1e +8062bd2c Section::CreateSectionPages_case1f +8062bd98 Section::CreateSectionPages_case20 +8062bde0 Section::CreateSectionPages_case21 +8062be34 Section::CreateSectionPages_case22 +8062be88 Section::CreateSectionPages_case23 +8062bedc Section::CreateSectionPages_case24 +8062bf24 Section::CreateSectionPages_case25 +8062bf78 Section::CreateSectionPages_case26 +8062bfcc Section::CreateSectionPages_case27 +8062c020 Section::CreateSectionPages_case28 +8062c074 Section::CreateSectionPages_case29 +8062c0d4 Section::CreateSectionPages_case2a +8062c134 Section::CreateSectionPages_case2b +8062c194 Section::CreateSectionPages_case2c +8062c1d0 Section::CreateSectionPages_case2d +8062c218 Section::CreateSectionPages_case2e +8062c248 Section::CreateSectionPages_case2f +8062c290 Section::CreateSectionPages_case30 +8062c308 Section::CreateSectionPages_case31 +8062c38c Section::CreateSectionPages_case32 +8062c3c8 Section::CreateSectionPages_case33 +8062c404 Section::CreateSectionPages_case34 +8062c440 Section::CreateSectionPages_case35 +8062c458 Section::CreateSectionPages_case36 +8062c470 Section::CreateSectionPages_case37 +8062c488 Section::CreateSectionPages_case38 +8062c4a0 Section::CreateSectionPages_case39 +8062c4ac Section::CreateSectionPages_case3a +8062c4b8 Section::CreateSectionPages_case3b +8062c4d0 Section::CreateSectionPages_case3c +8062c4e8 Section::CreateSectionPages_case3d +8062c524 Section::CreateSectionPages_case3e +8062c560 Section::CreateSectionPages_case3f +8062c5e4 Section::CreateSectionPages_case40 +8062c668 Section::CreateSectionPages_case41 +8062c6ec Section::CreateSectionPages_case42 +8062c770 Section::CreateSectionPages_case43 +8062c7f4 Section::CreateSectionPages_case44 +8062c80c Section::CreateSectionPages_case45 +8062c854 Section::CreateSectionPages_case46 +8062c89c Section::CreateSectionPages_case47 +8062c944 Section::CreateSectionPages_case48 +8062ca88 Section::CreateSectionPages_case49 +8062cbcc Section::CreateSectionPages_case4a +8062cd10 Section::CreateSectionPages_case4b +8062cd94 Section::CreateSectionPages_case4c +8062ce18 Section::CreateSectionPages_case4d +8062cf5c Section::CreateSectionPages_case4e +8062cfc8 Section::CreateSectionPages_case4f +8062d034 Section::CreateSectionPages_case50 +8062d0a0 Section::CreateSectionPages_case51 +8062d0e8 Section::CreateSectionPages_case52 +8062d130 Section::CreateSectionPages_case53 +8062d178 Section::CreateSectionPages_case54 +8062d2b0 Section::CreateSectionPages_case55 +8062d454 Section::CreateSectionPages_case56 +8062d5f8 Section::CreateSectionPages_case57 +8062d79c Section::CreateSectionPages_case58 +8062d82c Section::CreateSectionPages_case59 +8062d8bc Section::CreateSectionPages_case5a +8062d91c Section::CreateSectionPages_case5b +8062dac0 Section::CreateSectionPages_case5c +8062dc64 Section::CreateSectionPages_case5d +8062de08 Section::CreateSectionPages_case5e +8062de98 Section::CreateSectionPages_case5f +8062df28 Section::CreateSectionPages_case60 +8062dfb8 Section::CreateSectionPages_case61 +8062e048 Section::CreateSectionPages_case62 +8062e0d8 Section::CreateSectionPages_case63 +8062e168 Section::CreateSectionPages_case64 +8062e1f8 Section::CreateSectionPages_case65 +8062e288 Section::CreateSectionPages_case66 +8062e318 Section::CreateSectionPages_case67 +8062e3a8 Section::CreateSectionPages_case68 +8062e420 Section::CreateSectionPages_case69 +8062e498 Section::CreateSectionPages_case6a +8062e4ec Section::CreateSectionPages_case6b +8062e540 Section::CreateSectionPages_case6c +8062e5c4 Section::CreateSectionPages_case6d +8062e648 Section::CreateSectionPages_case6e +8062e6a8 Section::CreateSectionPages_case6f +8062e708 Section::CreateSectionPages_case70 +8062e774 Section::CreateSectionPages_case71 +8062e7e0 Section::CreateSectionPages_case72 +8062e84c Section::CreateSectionPages_case73 +8062e8b8 Section::CreateSectionPages_case74 +8062e924 Section::CreateSectionPages_case75 +8062e990 Section::CreateSectionPages_case76 +8062e9fc Section::CreateSectionPages_case77 +8062ea68 Section::CreateSectionPages_case78 +8062ea80 Section::CreateSectionPages_case79 +8062ea98 Section::CreateSectionPages_case7a +8062eaec Section::CreateSectionPages_case7b +8062eb40 Section::CreateSectionPages_case7c +8062eb94 Section::CreateSectionPages_case7d +8062ec90 Section::CreateSectionPages_case7e +8062ed5c Section::CreateSectionPages_case7f +8062ede0 Section::CreateSectionPages_case80 +8062eec4 Section::CreateSectionPages_case81 +8062ef9c Section::CreateSectionPages_case82 +8062effc Section::CreateSectionPages_case83 +8062f188 Section::CreateSectionPages_case84 +8062f320 Section::CreateSectionPages_case85 +8062f398 Section::CreateSectionPages_case86 +8062f410 Section::CreateSectionPages_case87 +8062f494 Section::CreateSectionPages_case88 +8062f4ac Section::CreateSectionPages_case89 +8062f4c4 Section::CreateSectionPages_case8a +8062f518 Section::CreateSectionPages_case8b +8062f554 Section::CreateSectionPages_case8c +8062f614 Section::CreateSectionPages_case8d +8062f644 Section::CreateSectionPages_case8e +8062f668 Section::CreateSectionPages_case8f +8062f6d4 Section::CreateSectionPages_case90 +8062f704 Section::CreateSectionPages_case91 +8062f734 Section::CreateSectionPages_case92 +8062f764 Section::CreateSectionPages_case93 +8062f794 Section::CreateSectionPages_case94 +8062f7e0 Section::AddInitialLayers +8062f814 Section::AddInitialLayers_switch +8062f818 Section::AddInitialLayers_caseD_6 +8062f824 Section::AddInitialLayers_caseD_7 +8062f830 Section::AddInitialLayers_caseD_8 +8062f83c Section::AddInitialLayers_caseD_9 +8062f848 Section::AddInitialLayers_caseD_a +8062f854 Section::AddInitialLayers_caseD_b +8062f860 Section::AddInitialLayers_caseD_c +8062f86c Section::AddInitialLayers_caseD_d +8062f878 Section::AddInitialLayers_caseD_e +8062f884 Section::AddInitialLayers_caseD_f +8062f890 Section::AddInitialLayers_caseD_10 +8062f8a8 Section::AddInitialLayers_caseD_11 +8062f8c0 Section::AddInitialLayers_caseD_12 +8062f8d8 Section::AddInitialLayers_caseD_13 +8062f8f0 Section::AddInitialLayers_caseD_14 +8062f908 Section::AddInitialLayers_caseD_15 +8062f920 Section::AddInitialLayers_caseD_16 +8062f92c Section::AddInitialLayers_caseD_17 +8062f938 Section::AddInitialLayers_caseD_18 +8062f944 Section::AddInitialLayers_caseD_19 +8062f950 Section::AddInitialLayers_caseD_1a +8062f95c Section::AddInitialLayers_caseD_1b +8062f968 Section::AddInitialLayers_caseD_1c +8062f974 Section::AddInitialLayers_caseD_1d +8062f980 Section::AddInitialLayers_caseD_1e +8062f998 Section::AddInitialLayers_caseD_1f +8062f9bc Section::AddInitialLayers_caseD_20 +8062f9d4 Section::AddInitialLayers_caseD_21 +8062f9ec Section::AddInitialLayers_caseD_22 +8062fa04 Section::AddInitialLayers_caseD_23 +8062fa1c Section::AddInitialLayers_caseD_24 +8062fa34 Section::AddInitialLayers_caseD_25 +8062fa4c Section::AddInitialLayers_caseD_26 +8062fa64 Section::AddInitialLayers_caseD_27 +8062fa7c Section::AddInitialLayers_caseD_28 +8062fa94 Section::AddInitialLayers_caseD_29 +8062faac Section::AddInitialLayers_caseD_2a +8062fac4 Section::AddInitialLayers_caseD_2b +8062fadc Section::AddInitialLayers_caseD_2c +8062faf4 Section::AddInitialLayers_caseD_2d +8062fb0c Section::AddInitialLayers_caseD_2e +8062fb24 Section::AddInitialLayers_caseD_2f +8062fb48 Section::AddInitialLayers_caseD_30 +8062fb60 Section::AddInitialLayers_caseD_31 +8062fb84 Section::AddInitialLayers_caseD_32 +8062fba8 Section::AddInitialLayers_caseD_33 +8062fbcc Section::AddInitialLayers_caseD_34 +8062fbf0 Section::AddInitialLayers_caseD_35 +8062fbfc Section::AddInitialLayers_caseD_36 +8062fc08 Section::AddInitialLayers_caseD_37 +8062fc14 Section::AddInitialLayers_caseD_38 +8062fc20 Section::AddInitialLayers_caseD_39 +8062fc2c Section::AddInitialLayers_caseD_3a +8062fc38 Section::AddInitialLayers_caseD_3b +8062fc50 Section::AddInitialLayers_caseD_3c +8062fc68 Section::AddInitialLayers_caseD_3d +8062fc80 Section::AddInitialLayers_caseD_3e +8062fc98 Section::AddInitialLayers_caseD_3f +8062fcc8 Section::AddInitialLayers_caseD_40 +8062fcf8 Section::AddInitialLayers_caseD_41 +8062fd28 Section::AddInitialLayers_caseD_42 +8062fd58 Section::AddInitialLayers_caseD_43 +8062fd88 Section::AddInitialLayers_caseD_44 +8062fda0 Section::AddInitialLayers_caseD_45 +8062fdc4 Section::AddInitialLayers_caseD_46 +8062fde8 Section::AddInitialLayers_caseD_47 +8062fe0c Section::AddInitialLayers_caseD_48 +8062fe48 Section::AddInitialLayers_caseD_49 +8062fe84 Section::AddInitialLayers_caseD_4a +8062fec0 Section::AddInitialLayers_caseD_4b +8062fefc Section::AddInitialLayers_caseD_4c +8062ff38 Section::AddInitialLayers_caseD_4d +8062ff68 Section::AddInitialLayers_caseD_4e +8062ffa4 Section::AddInitialLayers_caseD_4f +8062ffe0 Section::AddInitialLayers_caseD_50 +8063001c Section::AddInitialLayers_caseD_51 +8063004c Section::AddInitialLayers_caseD_52 +8063007c Section::AddInitialLayers_caseD_53 +806300ac Section::AddInitialLayers_caseD_54 +806300dc Section::AddInitialLayers_caseD_55 +80630124 Section::AddInitialLayers_caseD_56 +8063016c Section::AddInitialLayers_caseD_57 +806301b4 Section::AddInitialLayers_caseD_58 +806301f0 Section::AddInitialLayers_caseD_59 +8063022c Section::AddInitialLayers_caseD_5a +80630244 Section::AddInitialLayers_caseD_5b +8063028c Section::AddInitialLayers_caseD_5c +806302d4 Section::AddInitialLayers_caseD_5d +8063031c Section::AddInitialLayers_caseD_5e +80630358 Section::AddInitialLayers_caseD_5f +80630394 Section::AddInitialLayers_caseD_60 +806303d0 Section::AddInitialLayers_caseD_61 +8063040c Section::AddInitialLayers_caseD_62 +80630448 Section::AddInitialLayers_caseD_63 +80630484 Section::AddInitialLayers_caseD_64 +806304c0 Section::AddInitialLayers_caseD_65 +806304fc Section::AddInitialLayers_caseD_66 +80630538 Section::AddInitialLayers_caseD_67 +80630574 Section::AddInitialLayers_caseD_68 +806305a4 Section::AddInitialLayers_caseD_69 +806305d4 Section::AddInitialLayers_caseD_6a +80630604 Section::AddInitialLayers_caseD_6b +80630634 Section::AddInitialLayers_caseD_6c +80630664 Section::AddInitialLayers_caseD_6d +80630694 Section::AddInitialLayers_caseD_6e +806306c4 Section::AddInitialLayers_caseD_6f +806306f4 Section::AddInitialLayers_caseD_70 +80630724 Section::AddInitialLayers_caseD_71 +80630754 Section::AddInitialLayers_caseD_72 +80630784 Section::AddInitialLayers_caseD_73 +806307b4 Section::AddInitialLayers_caseD_74 +806307e4 Section::AddInitialLayers_caseD_75 +80630814 Section::AddInitialLayers_caseD_76 +80630844 Section::AddInitialLayers_caseD_77 +80630874 Section::AddInitialLayers_caseD_78 +8063088c Section::AddInitialLayers_caseD_79 +806308a4 Section::AddInitialLayers_caseD_7a +806308bc Section::AddInitialLayers_caseD_7b +806308d4 Section::AddInitialLayers_caseD_7c +806308ec Section::AddInitialLayers_caseD_7d +80630934 Section::AddInitialLayers_caseD_7e +80630970 Section::AddInitialLayers_caseD_7f +80630994 Section::AddInitialLayers_caseD_80 +806309c4 Section::AddInitialLayers_caseD_81 +806309f4 Section::AddInitialLayers_caseD_82 +80630a18 Section::AddInitialLayers_caseD_83 +80630a60 Section::AddInitialLayers_caseD_84 +80630aa8 Section::AddInitialLayers_caseD_85 +80630acc Section::AddInitialLayers_caseD_86 +80630af0 Section::AddInitialLayers_caseD_87 +80630b14 Section::AddInitialLayers_caseD_88 +80630b2c Section::AddInitialLayers_caseD_89 +80630b44 Section::AddInitialLayers_caseD_8a +80630b5c Section::AddInitialLayers_caseD_8b +80630b74 Section::AddInitialLayers_caseD_8c +80630b98 Section::AddInitialLayers_caseD_8d +80630bbc Section::AddInitialLayers_caseD_8e +80630be0 Section::AddInitialLayers_caseD_8f +80630c04 Section::AddInitialLayers_caseD_90 +80630c34 Section::AddInitialLayers_caseD_91 +80630c64 Section::AddInitialLayers_caseD_92 +80630c94 Section::AddInitialLayers_caseD_93 +80630cd4 Section::GetSceneId +80630e80 Section::GetArchiveName +806311a4 Section::HasBackModel +80631244 Section::HasDriverController +8063133c Section::GetPageName +8063134c Section::GetSectionName +8063135c 0x8063135c +806313b4 Section::GetSoundId +80631644 Section::GetGroupId +806317cc 0x806317cc +80631900 Section::GetAudioStreamIdx +8063191c Section::GetAudioStreamIdx_switch +80631920 Section::GetAudioStreamIdx_caseD_0 +80631928 Section::GetAudioStreamIdx_caseD_1 +80631930 Section::GetAudioStreamIdx_caseD_2 +80631938 Section::GetAudioStreamIdx_caseD_5 +80631940 Section::GetAudioStreamIdx_caseD_6 +80631948 Section::GetAudioStreamIdx_caseD_10 +80631950 Section::GetAudioStreamIdx_caseD_4b +80631958 Section::GetAudioStreamIdx_caseD_4c +80631960 Section::GetAudioStreamIdx_caseD_4d +80631968 Section::GetAudioStreamIdx_caseD_4e +80631970 Section::GetAudioStreamIdx_caseD_57 +80631978 Section::GetAudioStreamIdx_caseD_58 +80631980 Section::GetAudioStreamIdx_caseD_5a +80631988 Section::GetAudioStreamIdx_caseD_5b +80631990 Section::GetAudioStreamIdx_caseD_5c +80631998 Section::GetAudioStreamIdx_caseD_5d +806319a0 Section::GetAudioStreamIdx_caseD_5e +806319a8 Section::GetAudioStreamIdx_caseD_5f +806319b0 Section::GetAudioStreamIdx_caseD_60 +806319b8 Section::GetAudioStreamIdx_caseD_65 +806319c0 Section::GetAudioStreamIdx_caseD_66 +806319c8 Section::GetAudioStreamIdx_caseD_69 +806319d0 Section::GetAudioStreamIdx_caseD_6b +806319d8 Section::GetAudioStreamIdx_caseD_6e +806319e0 Section::GetAudioStreamIdx_caseD_70 +806319e8 Section::GetAudioStreamIdx_caseD_72 +806319f0 Section::GetAudioStreamIdx_caseD_74 +806319f8 Section::GetAudioStreamIdx_caseD_75 +80631a00 Section::GetAudioStreamIdx_caseD_76 +80631a08 Section::GetAudioStreamIdx_caseD_77 +80631a10 Section::GetAudioStreamIdx_caseD_78 +80631a18 Section::GetAudioStreamIdx_caseD_7a +80631a20 Section::GetAudioStreamIdx_caseD_7f +80631a28 Section::GetAudioStreamIdx_caseD_80 +80631a30 Section::GetAudioStreamIdx_caseD_81 +80631a38 Section::GetAudioStreamIdx_caseD_84 +80631a40 Section::GetAudioStreamIdx_caseD_85 +80631a48 Section::GetAudioStreamIdx_caseD_8a +80631a50 Section::GetAudioStreamIdx_caseD_8b +80631a58 Section::GetAudioStreamIdx_caseD_8c +80631a60 Section::GetAudioStreamIdx_caseD_8d +80631a68 Section::GetAudioStreamIdx_caseD_8e +80631a70 Section::GetAudioStreamIdx_caseD_8f +80631a78 Section::GetAudioStreamIdx_caseD_90 +80631a80 Section::GetAudioStreamIdx_caseD_93 +80631a88 Section::GetAudioStreamIdx_caseD_95 +80631a90 Section::GetAudioStreamIdx_caseD_96 +80631a98 Section::GetAudioStreamIdx_caseD_98 +80631aa0 Section::GetAudioStreamIdx_caseD_9a +80631aa8 Section::GetAudioStreamIdx_caseD_9b +80631ab0 Section::GetAudioStreamIdx_caseD_9c +80631ab8 Section::GetAudioStreamIdx_caseD_9d +80631ac0 Section::GetAudioStreamIdx_caseD_9f +80631ac8 Section::GetAudioStreamIdx_caseD_a0 +80631ad0 Section::GetAudioStreamIdx_caseD_a1 +80631ad8 Section::GetAudioStreamIdx_caseD_a2 +80631ae0 Section::GetAudioStreamIdx_caseD_a5 +80631ae8 Section::GetAudioStreamIdx_caseD_a8 +80631af0 Section::GetAudioStreamIdx_caseD_b1 +80631af8 Section::GetAudioStreamIdx_caseD_b3 +80631b00 Section::GetAudioStreamIdx_caseD_b4 +80631b08 Section::GetAudioStreamIdx_caseD_b5 +80631b10 Section::GetAudioStreamIdx_caseD_b6 +80631b18 Section::GetAudioStreamIdx_caseD_b8 +80631b20 Section::GetAudioStreamIdx_caseD_b9 +80631b28 Section::GetAudioStreamIdx_caseD_bb +80631b30 Section::GetAudioStreamIdx_caseD_c0 +80631b38 Section::GetAudioStreamIdx_caseD_ca +80631b40 Section::GetAudioStreamIdx_caseD_cc +80631b48 Section::GetAudioStreamIdx_caseD_cd +80631b58 Pages::RaceMenu::SetNextPage +80631b60 Pages::RaceMenu::GetNextPage +80631b68 0x80631b68 +80631b70 0x80631b70 +80631b78 0x80631b78 +80631b84 0x80631b84 +80631b90 0x80631b90 +80631b98 0x80631b98 +80631c04 0x80631c04 +80631c10 Pages::QuitConfirmation::GetMessageBMG +80631c18 Pages::QuitConfirmation::IsPausePage +80631c20 Pages::QuitConfirmation::GetButtonsBRCTRName +80631c2c Pages::QuitConfirmation::GetVariantsIdxArray +80631c38 Pages::QuitConfirmation::GetButtonCount +80631c40 Pages::QuitConfirmation::__dt +80631cac Pages::QuitConfirmation::GetRuntimeTypeInfo +80631cb8 Pages::CheckRankings::GetMessageBMG +80631cc0 Pages::CheckRankings::IsPausePage +80631cc8 Pages::CheckRankings::GetButtonsBRCTRName +80631cd4 Pages::CheckRankings::GetVariantsIdxArray +80631ce0 Pages::CheckRankings::GetButtonCount +80631ce8 Pages::CheckRankings::__dt +80631d54 Pages::CheckRankings::GetRuntimeTypeInfo +80631d60 Pages::TTFriendGhostEnd::GetMessageBMG +80631d68 Pages::TTFriendGhostEnd::IsPausePage +80631d70 Pages::TTFriendGhostEnd::GetButtonsBRCTRName +80631d7c Pages::TTFriendGhostEnd::GetVariantsIdxArray +80631d88 Pages::TTFriendGhostEnd::GetButtonCount +80631d90 Pages::TTFriendGhostEnd::__dt +80631dfc Pages::TTFriendGhostEnd::GetRuntimeTypeInfo +80631e08 0x80631e08 +80631e10 0x80631e10 +80631e18 0x80631e18 +80631e24 0x80631e24 +80631e30 0x80631e30 +80631e38 0x80631e38 +80631ea4 0x80631ea4 +80631eb0 0x80631eb0 +80631eb8 0x80631eb8 +80631ec0 0x80631ec0 +80631ecc 0x80631ecc +80631ed8 0x80631ed8 +80631ee0 0x80631ee0 +80631f4c 0x80631f4c +80631f58 0x80631f58 +80631f60 0x80631f60 +80631f68 0x80631f68 +80631f74 0x80631f74 +80631f80 0x80631f80 +80631f88 0x80631f88 +80631ff4 0x80631ff4 +80632000 0x80632000 +80632008 0x80632008 +80632010 0x80632010 +8063201c 0x8063201c +80632028 0x80632028 +80632030 0x80632030 +8063209c 0x8063209c +806320a8 Pages::BattleFinalRaceEnd::GetMessageBMG +806320b0 Pages::BattleFinalRaceEnd::IsPausePage +806320b8 Pages::BattleFinalRaceEnd::GetButtonsBRCTRName +806320c4 Pages::BattleFinalRaceEnd::GetVariantsIdxArray +806320d0 Pages::BattleFinalRaceEnd::GetButtonCount +806320d8 Pages::BattleFinalRaceEnd::__dt +80632144 Pages::BattleFinalRaceEnd::GetRuntimeTypeInfo +80632150 Pages::BattleEnd::GetMessageBMG +80632158 Pages::BattleEnd::IsPausePage +80632160 Pages::BattleEnd::GetButtonsBRCTRName +8063216c Pages::BattleEnd::GetVariantsIdxArray +80632178 Pages::BattleEnd::GetButtonCount +80632180 Pages::BattleEnd::__dt +806321ec Pages::BattleEnd::GetRuntimeTypeInfo +806321f8 Pages::VSRaceEnd::GetMessageBMG +80632200 Pages::VSRaceEnd::IsPausePage +80632208 Pages::VSRaceEnd::GetButtonsBRCTRName +80632240 Pages::VSRaceEnd::GetVariantsIdxArray +8063224c Pages::VSRaceEnd::GetButtonCount +8063227c Pages::VSRaceEnd::__dt +806322e8 Pages::VSRaceEnd::GetRuntimeTypeInfo +806322f4 Pages::GPEnd::GetMessageBMG +806322fc Pages::GPEnd::IsPausePage +80632304 Pages::GPEnd::GetButtonsBRCTRName +8063233c Pages::GPEnd::GetVariantsIdxArray +80632348 Pages::GPEnd::GetButtonCount +80632378 Pages::GPEnd::__dt +806323e4 Pages::GPEnd::GetRuntimeTypeInfo +806323f0 Pages::TTEnd::GetMessageBMG +806323f8 Pages::TTEnd::IsPausePage +80632400 Pages::TTEnd::GetButtonsBRCTRName +8063240c Pages::TTEnd::GetVariantsIdxArray +80632418 Pages::TTEnd::GetButtonCount +80632420 Pages::TTEnd::__dt +8063248c Pages::TTEnd::GetRuntimeTypeInfo +80632498 0x80632498 +806324a0 0x806324a0 +806324a8 0x806324a8 +806324b4 0x806324b4 +806324c0 0x806324c0 +806324c8 0x806324c8 +80632534 0x80632534 +80632540 0x80632540 +80632548 0x80632548 +80632550 0x80632550 +8063255c 0x8063255c +80632568 0x80632568 +80632570 0x80632570 +806325dc 0x806325dc +806325e8 0x806325e8 +806325f0 0x806325f0 +806325f8 0x806325f8 +80632604 0x80632604 +80632610 0x80632610 +80632618 0x80632618 +80632684 0x80632684 +80632690 Pages::GhostReplayPause::GetMessageBMG +80632698 Pages::GhostReplayPause::IsPausePage +806326a0 Pages::GhostReplayPause::GetButtonsBRCTRName +806326ac Pages::GhostReplayPause::GetVariantsIdxArray +806326b8 Pages::GhostReplayPause::GetButtonCount +806326c0 Pages::GhostReplayPause::__dt +8063272c Pages::GhostReplayPause::GetRuntimeTypeInfo +80632738 Pages::GPReplayPause::GetMessageBMG +80632740 Pages::GPReplayPause::IsPausePage +80632748 Pages::GPReplayPause::GetButtonsBRCTRName +80632780 Pages::GPReplayPause::GetVariantsIdxArray +8063278c Pages::GPReplayPause::GetButtonCount +806327bc Pages::GPReplayPause::__dt +80632828 Pages::GPReplayPause::GetRuntimeTypeInfo +80632834 Pages::TTReplayPause::GetMessageBMG +8063283c Pages::TTReplayPause::IsPausePage +80632844 Pages::TTReplayPause::GetButtonsBRCTRName +80632850 Pages::TTReplayPause::GetVariantsIdxArray +8063285c Pages::TTReplayPause::GetButtonCount +80632864 Pages::TTReplayPause::__dt +806328d0 Pages::TTReplayPause::GetRuntimeTypeInfo +806328dc 0x806328dc +806328e4 0x806328e4 +806328ec 0x806328ec +806328f8 0x806328f8 +80632904 0x80632904 +8063290c 0x8063290c +80632978 0x80632978 +80632984 Pages::BattlePause::GetMessageBMG +8063298c Pages::BattlePause::IsPausePage +80632994 Pages::BattlePause::GetButtonsBRCTRName +806329bc Pages::BattlePause::GetVariantsIdxArray +806329c8 Pages::BattlePause::GetButtonCount +806329d0 Pages::BattlePause::__dt +80632a3c Pages::BattlePause::GetRuntimeTypeInfo +80632a48 Pages::VSPause::GetMessageBMG +80632a50 Pages::VSPause::IsPausePage +80632a58 Pages::VSPause::GetButtonsBRCTRName +80632a80 Pages::VSPause::GetVariantsIdxArray +80632a8c Pages::VSPause::GetButtonCount +80632a94 Pages::VSPause::__dt +80632b00 Pages::VSPause::GetRuntimeTypeInfo +80632b0c Pages::GPPause::GetMessageBMG +80632b14 Pages::GPPause::IsPausePage +80632b1c Pages::GPPause::GetButtonsBRCTRName +80632b28 Pages::GPPause::GetVariantsIdxArray +80632b34 Pages::GPPause::GetButtonCount +80632b3c Pages::GPPause::__dt +80632ba8 Pages::GPPause::GetRuntimeTypeInfo +80632bb4 Pages::TTPause::GetMessageBMG +80632bbc Pages::TTPause::IsPausePage +80632bc4 Pages::TTPause::GetButtonsBRCTRName +80632bd0 Pages::TTPause::GetVariantsIdxArray +80632bdc Pages::TTPause::GetButtonCount +80632be4 Pages::TTPause::__dt +80632c50 Pages::TTPause::GetRuntimeTypeInfo +80632c5c Pages::RaceHUD::GetNextPage +80632c64 Pages::LiveBattleViewHUD::GetCtrlRaceNameBalloonCount +80632c6c Pages::LiveBattleViewHUD::GetEnabledCtrlRaceBases +80632c74 Pages::LiveBattleViewHUD::GetPausePageId +80632c7c Pages::LiveBattleViewHUD::__dt +80632ce8 Pages::LiveBattleViewHUD::GetRuntimeTypeInfo +80632cf4 Pages::LiveViewHUD::GetCtrlRaceNameBalloonCount +80632cfc Pages::LiveViewHUD::GetEnabledCtrlRaceBases +80632d04 Pages::LiveViewHUD::GetPausePageId +80632d0c Pages::LiveViewHUD::__dt +80632d78 Pages::LiveViewHUD::GetRuntimeTypeInfo +80632d84 Pages::WiFiFriendTeamVSHUD::GetCtrlRaceNameBalloonCount +80632d8c Pages::WiFiFriendTeamVSHUD::GetEnabledCtrlRaceBases +80632d94 Pages::WiFiFriendTeamVSHUD::GetPausePageId +80632d9c Pages::WiFiFriendTeamVSHUD::__dt +80632e08 Pages::WiFiFriendVSHUD::GetRuntimeTypeInfo +80632e14 Pages::WiFiFriendVSHUD::GetCtrlRaceNameBalloonCount +80632e1c Pages::WiFiFriendVSHUD::GetEnabledCtrlRaceBases +80632e24 Pages::WiFiFriendVSHUD::GetPausePageId +80632e2c Pages::WiFiFriendVSHUD::__dt +80632e98 Pages::WiFiFriendVSHUD::GetRuntimeTypeInfo +80632ea4 Pages::WifiVSMultiHUD::GetCtrlRaceNameBalloonCount +80632eac Pages::WifiVSMultiHUD::GetEnabledCtrlRaceBases +80632eb4 Pages::WifiVSMultiHUD::GetPausePageId +80632ebc Pages::WifiVSMultiHUD::__dt +80632f28 Pages::WifiVSMultiHUD::GetRuntimeTypeInfo +80632f34 Pages::WifiVSHUD::GetCtrlRaceNameBalloonCount +80632f3c Pages::WifiVSHUD::GetEnabledCtrlRaceBases +80632f44 Pages::WifiVSHUD::GetPausePageId +80632f4c Pages::WifiVSHUD::__dt +80632fb8 Pages::WifiVSHUD::GetRuntimeTypeInfo +80632fc4 Pages::BattleMultiHUD::GetCtrlRaceNameBalloonCount +80632fcc Pages::BattleMultiHUD::GetEnabledCtrlRaceBases +80632fd4 Pages::BattleMultiHUD::GetPausePageId +8063300c Pages::BattleMultiHUD::__dt +80633078 Pages::BattleMultiHUD::GetRuntimeTypeInfo +80633084 Pages::BattleHUD::GetCtrlRaceNameBalloonCount +8063308c Pages::BattleHUD::GetEnabledCtrlRaceBases +80633094 Pages::BattleHUD::GetPausePageId +806330cc Pages::BattleHUD::__dt +80633138 Pages::BattleHUD::GetRuntimeTypeInfo +80633144 Pages::VSMultiHUD::GetCtrlRaceNameBalloonCount +8063314c Pages::VSMultiHUD::GetEnabledCtrlRaceBases +80633154 Pages::VSMultiHUD::GetPausePageId +8063315c Pages::VSMultiHUD::__dt +806331c8 Pages::VSMultiHUD::GetRuntimeTypeInfo +806331d4 Pages::VSHUD::GetCtrlRaceNameBalloonCount +806331dc Pages::VSHUD::GetEnabledCtrlRaceBases +806331e4 Pages::VSHUD::GetPausePageId +806331ec Pages::VSHUD::__dt +80633258 Pages::VSHUD::GetRuntimeTypeInfo +80633264 Pages::GPHUD::GetCtrlRaceNameBalloonCount +8063326c Pages::GPHUD::GetEnabledCtrlRaceBases +80633274 Pages::GPHUD::GetPausePageId +8063327c Pages::GPHUD::__dt +806332e8 Pages::GPHUD::GetRuntimeTypeInfo +806332f4 Pages::TTHUD::GetCtrlRaceNameBalloonCount +806332fc Pages::TTHUD::GetEnabledCtrlRaceBases +80633304 Pages::TTHUD::GetPausePageId +80633350 Pages::TTHUD::__dt +806333bc Pages::TTHUD::GetRuntimeTypeInfo +806333c8 Pages::GhostRaceHUD::GetCtrlRaceNameBalloonCount +806333d0 Pages::GhostRaceHUD::GetEnabledCtrlRaceBases +806333d8 Pages::GhostRaceHUD::GetPausePageId +80633418 Pages::GhostRaceHUD::__dt +80633484 Pages::GhostRaceHUD::GetRuntimeTypeInfo +80633490 Pages::RaceHUD::GetCtrlRaceNameBalloonCount +80633498 Pages::GPReplayHUD::GetEnabledCtrlRaceBases +806334a0 Pages::GPReplayHUD::GetPausePageId +806334a8 Pages::GPReplayHUD::__dt +80633514 Pages::GPReplayHUD::GetRuntimeTypeInfo +80633520 TriggerPtmf +80633550 TriggerPtmf +80633580 TriggerPtmf +806335b0 TriggerPtmf +806335e0 TriggerPtmf +80633610 TriggerPtmf +80633640 TriggerPtmf +80633670 TriggerPtmf +806336a0 TriggerPtmf +806336d0 TriggerPtmf +80633700 TriggerPtmf +80633730 TriggerPtmf +80633760 TriggerPtmf +80633790 TriggerPtmf +806337c0 TriggerPtmf +806337f0 TriggerPtmf +80633820 TriggerPtmf +80633850 TriggerPtmf +80633880 TriggerPtmf +806338b0 TriggerPtmf +806338e0 TriggerPtmf +80633910 TriggerPtmf +80633940 TriggerPtmf +80633970 TriggerPtmf +806339a0 TriggerPtmf +806339d0 TriggerPtmf +80633a00 TriggerPtmf +80633a30 TriggerPtmf +80633a60 TriggerPtmf +80633a90 TriggerPtmf +80633ac0 TriggerPtmf +80633af0 TriggerPtmf +80633b20 TriggerPtmf +80633b50 TriggerPtmf +80633b80 TriggerPtmf +80633bb0 TriggerPtmf +80633be0 TriggerPtmf +80633c10 TriggerPtmf +80633c40 TriggerPtmf +80633c70 TriggerPtmf +80633ca0 TriggerPtmf +80633cd0 TriggerPtmf +80633d00 TriggerPtmf +80633d30 TriggerPtmf +80633d60 TriggerPtmf +80633d90 TriggerPtmf +80633dc0 TriggerPtmf +80633df0 TriggerPtmf +80633e20 TriggerPtmf +80633e50 TriggerPtmf +80633e80 TriggerPtmf +80633eb0 TriggerPtmf +80633ee0 TriggerPtmf +80633f10 TriggerPtmf +80633f40 TriggerPtmf +80633f70 TriggerPtmf +80633fa0 TriggerPtmf +80633fd0 TriggerPtmf +80634000 TriggerPtmf +80634030 TriggerPtmf +80634060 TriggerPtmf +80634090 TriggerPtmf +806340c0 TriggerPtmf +806340f0 TriggerPtmf +80634120 TriggerPtmf +80634150 TriggerPtmf +80634180 TriggerPtmf +806341b0 SectionMgr::CreateSystemPages +806342cc SectionMgr::GetSectionPriority +806343dc SectionMgr::CreateInstance +80634414 SectionMgr::DestroyInstance +8063448c SectionMgr::__ct +80634510 SectionMgr::__dt +80634590 SectionMgr::Init +806346ec SectionMgr::GetBootSectionSceneId +80634708 SectionMgr::LoadSection +806347cc SectionMgr::EnterSection +806348e8 SectionMgr::ExitSection +80634c04 0x80634c04 +80634c0c SectionMgr::RaceUpdate +80634c58 SectionMgr::Update +80634f88 SectionMgr::MenuUpdate +80634fdc SectionMgr::UnkUpdate +80635178 SectionMgr::Pause +80635180 SectionMgr::Resume +80635188 SectionMgr::SetNextSection +80635214 SectionMgr::RequestSceneChange +80635278 SectionMgr::RequestSceneReinit +806352bc SectionMgr::HandleHomeAction +80635358 SectionMgr::RequestGoToWiiMenu +806353c0 SectionMgr::RequestPowerOff +80635428 SectionMgr::GetNextSectionArchiveName +80635430 SectionMgr::NextSectionHasBackModel +80635438 SectionMgr::NextSectionHasDriverController +80635440 SectionMgr::UpdateStatusBitfield +80635554 SectionMgr::UpdateDVDStatus +80635604 SheetSelectControl::GetClassName +80635610 SheetSelectControl::__ct +806357c8 SheetSelectControl::__dt +8063586c SheetSelectControl::Load +80635930 SheetSelectControl::Func_0x38 +80635934 SheetSelectControl::SetRightArrowHandler +8063593c SheetSelectControl::SetLeftArrowHandler +80635944 SheetSelectControl::SetEnabledHudSlots +806359b0 SheetSelectControl::Toggle +80635a34 SheetSelectControl::Init +80635a98 SheetSelectControl::Update +80635a9c SheetSelectControl::HandleRightArrowSelect +80635b20 SheetSelectControl::AfterRightScroll +80635b24 SheetSelectControl::HandleLeftArrowSelect +80635ba8 SheetSelectControl::AfterLeftScroll +80635bac SheetSelectControl::SheetSelectButton::GetClassName +80635bbc SheetSelectControl::SheetSelectButton::__ct +80635cb0 SheetSelectControl::SheetSelectButton::__dt +80635d18 SheetSelectControl::SheetSelectButton::Load +80635f44 SheetSelectControl::SheetSelectButton::Init +80636130 SheetSelectControl::SheetSelectButton::Update +80636378 SheetSelectControl::SheetSelectButton::SetEnabledHudSlots +80636394 SheetSelectControl::SheetSelectButton::Toggle +806363b8 SheetSelectControl::SheetSelectButton::GetParentControl +80636454 SheetSelectControl::SheetSelectButton::HandleSelect +80636710 SheetSelectControl::SheetSelectButton::HandleDeselect +806368f8 SheetSelectControl::SheetSelectButton::Select +80636a90 SheetSelectControl::SheetSelectButton::SetPositionAnim +80636bc0 SheetSelectControl::GetArrowAnimationType +80636bc8 SheetSelectControlScaleFade::GetClassName +80636bd8 SheetSelectControlScaleFade::GetArrowAnimationType +80636be0 SheetSelectControlScaleFade::GetRuntimeTypeInfo +80636bec SheetSelectControl::GetRuntimeTypeInfo +80636bf8 SheetSelectControl::SheetSelectButton::GetRuntimeTypeInfo +80636c04 SheetSelectControl::SheetSelectButton::TriggerPtmf +80636c34 SheetSelect_cpp_sinit_ +80636c60 Pages::ESRBNotice::__ct +80636cac Pages::ESRBNotice::__dt +80636d20 Pages::ESRBNotice::OnInit +80636dc4 Pages::ESRBNotice::AfterControlUpdate +80636e34 Pages::Suggest60Hz::__ct +80636e80 Pages::Suggest60Hz::__dt +80636ef4 Pages::Suggest60Hz::OnInit +80636f9c Pages::Suggest60Hz::OnActivate +80636fe8 Pages::Suggest60Hz::AfterControl +806370a0 Pages::Suggest60Hz::IsHomeMenuWorking +806370a8 Pages::Suggest60Hz::GetRuntimeTypeInfo +806370b4 Pages::ESRBNotice::IsHomeMenuWorking +806370bc Pages::ESRBNotice::GetRuntimeTypeInfo +806370c8 NoticePages_cpp_sinit_ +806370e4 SystemBMGHolder::__ct +80637114 SystemBMGHolder::__dt +8063716c SystemBMGHolder::Init +80637178 SystemBMGHolder::GetMessage +806371b0 TabControl::GetClassName +806371bc TabControl::__ct +80637218 TabControl::__dt +80637290 TabControl::Load +8063740c TabControl::OnLoadingEnd +80637410 TabControl::SetOnClickHandler +80637418 TabControl::SetEnabledHudSlots +80637494 TabControl::SelectInitial +80637534 TabControl::SelectButtonNoPtmf +806375ac TabControl::Init +80637680 TabControl::Update +80637684 TabControl::SelectButton +80637724 TabControl::OptionButton::GetClassName +80637734 TabControl::OptionButton::__ct +80637828 TabControl::OptionButton::__dt +80637890 TabControl::OptionButton::Load +80637a5c TabControl::OptionButton::Init +80637c08 TabControl::OptionButton::Update +80637db4 TabControl::OptionButton::SetEnabledHudSlots +80637dbc TabControl::OptionButton::GetParentControl +80637ebc TabControl::OptionButton::SetInitialState +80637f1c TabControl::OptionButton::ChangeButtonState +80638074 TabControl::OptionButton::HandleSelect +80638168 TabControl::OptionButton::HandleDeselect +80638350 TabControl::OptionButton::HandleClick +8063850c TabControl::Func_0x40 +80638510 TabControl::GetRuntimeTypeInfo +8063851c TabControl::OptionButton::GetRuntimeTypeInfo +80638528 TabControl::OptionButton::TriggerPtmf +80638558 TabControl_cpp_sinit_ +80638574 Pages::GhostSelectSupporting::__ct +806385b8 Pages::GhostSelectSupporting::__dt +80638620 Pages::GhostSelectSupporting::OnInit +8063868c Pages::GhostSelectSupporting::OnActivate +80638830 Pages::GhostSelectSupporting::BeforeEntranceAnimations +80638834 Pages::GhostSelectSupporting::BeforeExitAnimations +80638838 Pages::GhostSelectSupporting::AfterControlUpdate +8063894c Pages::GhostSelectSupporting::OnResume +80638ab4 Pages::GhostSelectSupporting::InitGhostList +80638cd8 Pages::GhostSelect::__ct +80638f18 Pages::GhostSelect::__dt +80638ff4 Pages::GhostSelect::OnInit +806392bc Pages::GhostSelect::OnActivate +80639420 Pages::GhostSelect::BeforeEntranceAnimations +80639458 Pages::GhostSelect::OnResume +80639890 Pages::GhostSelect::OnRightArrowPress +80639990 Pages::GhostSelect::OnLeftArrowPress +80639a8c Pages::GhostSelect::OnChallengeGhostPress +80639aac Pages::GhostSelect::OnWatchReplayPress +80639acc Pages::GhostSelect::OnSoloTTPress +80639aec 0x80639aec +80639b30 Pages::GhostSelect::OnBackPress +80639b48 0x80639b48 +80639ba4 Pages::GhostSelect::GetNextPage +80639bac Pages::GhostSelect::GetRuntimeTypeInfo +80639bb8 Pages::GhostSelectSupporting::GetNextPage +80639bc0 Pages::GhostSelectSupporting::GetRuntimeTypeInfo +80639bcc TriggerPtmf +80639bfc TriggerPtmf +80639c2c TriggerPtmf +80639c5c GhostSelectPage_cpp_sinit_ +80639c78 TitleImage::GetClassName +80639c84 TitleImage::__ct +80639cc0 TitleImage::__dt +80639d18 TitleImage::Load +80639db8 TitleImage::InitSelf +80639df0 0x80639df0 +80639ea0 0x80639ea0 +80639ed8 0x80639ed8 +80639f88 0x80639f88 +80639fc0 TitleImage::ChangeImage +8063a0f4 Pages::Title::__ct +8063a178 CtrlMenuPressStart::__dt +8063a1d0 Pages::Title::__dt +8063a258 Pages::Title::OnInit +8063a44c Pages::Title::OnDispose +8063a450 Pages::Title::OnActivate +8063a4d0 Pages::Title::BeforeEntranceAnimations +8063a580 Pages::Title::AfterEntranceAnimations +8063a5cc Pages::Title::BeforeExitAnimations +8063a67c Pages::Title::AfterExitAnimations +8063a6b4 Pages::Title::AfterControlUpdate +8063a810 Pages::Title::OnResume +8063a81c Pages::Title::PrepareDemo +8063ac00 Pages::BlurryTitle::__ct +8063ac4c Pages::BlurryTitle::__dt +8063acc0 Pages::BlurryTitle::OnInit +8063ad84 Pages::BlurryTitle::OnActivate +8063aedc Pages::BlurryTitle::BeforeEntranceAnimations +8063aee0 TitleMovieControl::GetClassName +8063aef0 TitleMovieControl::__ct +8063af2c TitleMovieControl::__dt +8063af84 TitleMovieControl::Load +8063b024 TitleMovieControl::InitSelf +8063b05c TitleMovieControl::OnUpdate +8063b060 0x8063b060 +8063b110 0x8063b110 +8063b1c0 0x8063b1c0 +8063b1f4 Pages::TitleMovie::__ct +8063b258 Pages::TitleMovie::__dt +8063b2d0 Pages::TitleMovie::OnInit +8063b3e4 0x8063b3e4 +8063b4b0 Pages::TitleMovie::AfterExitAnimations +8063b4f4 Pages::TitleMovie::OnDeactivate +8063b508 Pages::TitleMovie::BeforeControlUpdate +8063b638 Pages::TitleMovie::AfterControlUpdate +8063b718 Pages::BlinkingPressA::__ct +8063b77c Pages::BlinkingPressA::__dt +8063b7f4 Pages::BlinkingPressA::OnInit +8063b87c Pages::BlinkingPressA::OnActivate +8063b8d4 Pages::BlinkingPressA::OnDeactivate +8063b8e8 Pages::BlinkingPressA::AfterControlUpdate +8063b9d4 Pages::BlinkingPressA::GetRuntimeTypeInfo +8063b9e0 Pages::TitleMovie::GetRuntimeTypeInfo +8063b9ec TitleMovieControl::GetRuntimeTypeInfo +8063b9f8 Pages::BlurryTitle::GetRuntimeTypeInfo +8063ba04 Pages::Title::GetNextPage +8063ba0c Pages::Title::GetRuntimeTypeInfo +8063ba18 TitleImage::GetRuntimeTypeInfo +8063ba24 Title_cpp_sinit_ +8063ba58 UIAnimator::__ct +8063ba70 UIAnimator::__dt +8063bad0 UIAnimator::SetLayout +8063badc UIAnimator::Init +8063bb40 UIAnimator::InitAnimationGroup +8063bba8 Animation::__ct +8063bbcc UIAnimator::AppendGroup +8063bcbc UIAnimator::LoadNewAnimation +8063bd80 UIAnimator::LoadAnimation +8063be28 UIAnimator::Update +8063be8c UIAnimator::GetAnimationGroupById +8063be9c UIAnimator::GetAnimationGroupById +8063beac 0x8063beac +8063beb0 AnimationGroup::__ct +8063bf18 AnimationGroup::__dt +8063bf88 AnimationGroup::PlayAnimationAtFrame +8063c104 AnimationGroup::PlayAnimationAtPercent +8063c18c AnimationGroup::PlayAnimationAtFrameAndDisable +8063c1c0 AnimationGroup::PlayAnimationAtPercentAndDisable +8063c250 AnimationGroup::Update +8063c448 0x8063c448 +8063c4d8 UIControl::__ct +8063c5cc 0x8063c5cc +8063c60c UIControl::__dt +8063c668 UIControl::8063cffc +8063c670 UIControl::Init +8063c6b0 UIControl::Update +8063c6f0 UIControl::Draw +8063c724 UIControl::SetPosition +8063c74c UIControl::PlayAnimationSound +8063c800 UIControl::SetPositionAnim +8063c8d4 UIControl::InitControlGroup +8063c8e4 UIControl::AddControl +8063c8f0 UIControl::GetAnimationDelay +8063ca04 UIControl::SetParentControlGroup +8063ca10 UIControl::SetSoundIds +8063ca1c UIControl::GetClassName +8063ca2c 0x8063ca2c +8063ca38 UIControl::PositionFromBasePosition +8063cbbc UIControl::CalculatePosition +8063cc74 UIControl::vf_0x30 +8063ccb4 UIControl::8063d648 +8063cdb8 UIControl::PlaySound +8063cdd0 UIControl::StopSound +8063cddc UIControl::HoldSound +8063cdf4 LayoutUIControl::GetClassName +8063ce04 LayoutUIControl::__ct +8063cf2c LayoutUIControl::__dt +8063cfc0 LayoutUIControl::LoadLayout +8063d02c LayoutUIControl::LoadPictureLayout +8063d06c LayoutUIControl::SetRootPane +8063d12c LayoutUIControl::Init +8063d16c LayoutUIControl::Update +8063d1f0 LayoutUIControl::Draw +8063d328 LayoutUIControl::SetTextBoxMessage +8063d420 LayoutUIControl::SetMessage +8063d460 LayoutUIControl::MessageRequester::Calc +8063d558 LayoutUIControl::ResetTextBoxMsg +8063d634 LayoutUIControl::ResetMsg +8063d66c LayoutUIControl::MessageResetter::Calc +8063d75c LayoutUIControl::SetPicturePane +8063d994 LayoutUIControl::PicturePaneExists +8063da48 LayoutUIControl::SetMiiPane +8063dbb8 LayoutUIControl::SetPaneVisibility +8063dbf8 LayoutUIControl::CropMovie(Rect) +8063dc30 LayoutUIControl::CropMovie(4floats) +8063dc88 LayoutUIControl::vf_0x30 +8063dcd0 LayoutUIControlScaleFade::GetClassName +8063dce0 LayoutUIControlScaleFade::__ct +8063de14 LayoutUIControlScaleFade::__dt +8063deac LayoutUIControlScaleFade::SetPositionAnim +8063df90 LayoutUIControlScaleFade::GetRuntimeTypeInfo +8063df9c LayoutUIControlcpp_sinit_ +8063dfc0 UpDownControl::GetClassName +8063dfcc UpDownControl::__ct +8063e1c8 UpDownControl::__dt +8063e248 UpDownControl::Load +8063e688 UpDownControl::OnLoadingEnd +8063e68c UpDownControl::SetOnChangeHandler +8063e694 UpDownControl::SetOnClickHandler +8063e69c UpDownControl::SetOnElementSelectHandler +8063e6a4 UpDownControl::SetOnDeselectHandler +8063e6ac 0x8063e6ac +8063e718 0x8063e718 +8063e72c UpDownControl::SelectInitial(count+initial) +8063e74c UpDownControl::SelectInitial(initial) +8063e764 0x8063e764 +8063e7cc UpDownControl::SetPlayerBitfield +8063e7d8 UpDownControl::Init +8063e914 UpDownControl::Update +8063ed00 UpDownControl::HandleSelect +8063ee30 UpDownControl::HandleDeselect +8063ef34 UpDownControl::HandleButtonSelect +8063ef4c UpDownControl::HandleButtonDeselect +8063ef64 UpDownControl::HandleClick +8063f1d0 UpDownControl::HandleRightPress +8063f2fc UpDownControl::HandleLeftPress +8063f41c UpDownControl::UpDownButton::GetClassName +8063f42c UpDownControl::UpDownButton::__ct +8063f468 UpDownControl::UpDownButton::__dt +8063f4c0 UpDownControl::UpDownButton::Load +8063f584 UpDownControl::UpDownButton::Init +8063f61c UpDownControl::UpDownButton::Update +8063f708 UpDownControl::UpDownButton::GetParentControl +8063f808 UpDownControl::UpDownButton::ToggleSelect +8063f9cc 0x8063f9cc +8063fa30 0x8063fa30 +8063fb74 0x8063fb74 +8063fc1c 0x8063fc1c +8063fc24 0x8063fc24 +8063fc2c TextUpDownValueControl::GetClassName +8063fc3c TextUpDownValueControl::__ct +8063fca8 TextUpDownValueControl::__dt +8063fd1c TextUpDownValueControl::Load +8063fe40 TextUpDownValueControl::SetOnTextChangeHandler +8063fe48 TextUpDownValueControl::Init +8063ff68 TextUpDownValueControl::Update +8064000c 0x8064000c +8064010c TextUpDownValueControl::InitText +806401d4 TextUpDownValueControl::OnSelect +80640348 TextUpDownValueControl::SetMessage +80640378 TextUpDownValueControl::SetMessageAnimated +80640468 TextUpDownValueControl::OnClick +806404d4 TextUpDownValueControl::IsOKStop +8064056c TextUpDownValueControl::Get3rdAnimStartFrame +806405e0 TextUpDownValueControl::SetBorderColours +80640694 TextUpDownValueControl::SetColor_BaseColours +8064073c TextUpDownValueControl::TextControl::GetClassName +8064074c TextUpDownValueControl::TextControl::__ct +80640788 TextUpDownValueControl::TextControl::__dt +806407e0 TextUpDownValueControl::TextControl::Load +80640854 TextUpDownValueControl::TextControl::InitSelf +80640904 0x80640904 +80640964 TextUpDownValueControl::TextControl::ToggleState +80640ac8 UpDownControlOld::1 +80640ad8 UpDownControlOld::2 +80640c90 UpDownControlOld::3 +80640cf8 UpDownControlOld::4 +80641040 UpDownControlOld::5 +80641048 UpDownControlOld::6 +8064112c UpDownControlOld::7 +806412f8 UpDownControlOld::8 +8064130c 0x8064130c +80641314 UpDownControlOld::9 +806413f4 UpDownControlOld::10 +806413f8 UpDownControlOld::11 +806415f8 UpDownControlOld::12 +806415fc UpDownControlOld::13 +806416dc UpDownControlOld::14 +80641924 UpDownControlOld::15 +806419dc UpDownControlOld::16 +80641a90 UpDownControlOld::17 +80641be0 UpDownControlOld::18 +80641c98 UpDownControlOld::19 +80641c9c UpDownControlOld::20 +80641d50 UpDownControlOld::21 +80641d54 TextUpDownControlOld::1 +80641d64 TextUpDownControlOld::2 +80641f28 TextUpDownControlOld::3 +80641f94 TextUpDownControlOld::4 +80641fc8 0x80641fc8 +80641fd0 0x80641fd0 +80641fd8 0x80641fd8 +80641fdc 0x80641fdc +80641fe8 0x80641fe8 +80641ff4 TextUpDownValueControl::GetTextControl +80641ff8 TextUpDownValueControl::GetRuntimeTypeInfo +80642004 TextUpDownValueControl::TextControl::GetRuntimeTypeInfo +80642010 UpDownControl::Func_0x40 +80642014 UpDownControl::GetRuntimeTypeInfo +80642020 UpDownControl::UpDownButton::GetRuntimeTypeInfo +8064202c TriggerPtmf +8064205c TriggerPtmf +8064208c UpDownControl_cpp_sinit_ +806420bc TextUpDownValueControl::SetColor_BaseColours(UpDownDisplayedText) +806420c4 TextUpDownValueControl::SetBorderColours(UpDownDisplayedText) +806420cc TextUpDownValueControl::Get3rdAnimStartFrame(UpDownDisplayedText) +806420d4 TextUpDownValueControl::Animate(UpDownDisplayedText) +806420dc TextUpDownValueControl::OnClick(UpDownDisplayedText) +806420e4 TextUpDownValueControl::SetMessageAnimated(UpDownDisplayedText) +806420ec TextUpDownValueControl::SetMessage(UpDownDisplayedText) +806420f4 TextUpDownValueControl::OnSelect(UpDownDisplayedText) +806420fc TextUpDownValueControl::InitText(UpDownDisplayedText) +80642104 TextUpDownValueControl::GetTextControl(UpDownDisplayedText) +8064210c VoteControl::GetClassName +80642118 VoteControl::__ct +80642154 VoteControl::__dt +806421ac VoteControl::Load +80642258 VoteControl::InitSelf +8064230c VoteControl::OnUpdate +80642310 VoteControl::Fill +80642480 VoteControl::AnimateSelect +806424d4 VoteControl::AnimateDeselect +8064250c VoteControl::AnimateChose +80642568 VoteControl::AnimateFadeOut +806425c4 VoteControl::IsAnimationShow +806425fc Pages::Vote::__ct +80642728 Pages::Vote::__dt +806427d4 Pages::Vote::OnInit +80642874 Pages::Vote::OnInit_switch +80642878 Pages::Vote::OnInit_case58 +80642884 Pages::Vote::OnInit_case59 +8064288c Pages::Vote::OnInit_case5a +80642a34 Pages::Vote::OnDispose +80642a38 Pages::Vote::BeforeEntranceAnimations +80642e54 Pages::Vote::BeforeControlUpdate +80643390 Pages::Vote::BeforeControlUpdate_switch +80643394 Pages::Vote::BeforeControlUpdate_case58 +8064339c Pages::Vote::BeforeControlUpdate_case59 +806433a4 Pages::Vote::BeforeControlUpdate_case5e +806433ac Pages::Vote::BeforeControlUpdate_case5f +806433b4 Pages::Vote::BeforeControlUpdate_case60 +806433bc Pages::Vote::BeforeControlUpdate_case61 +806433c4 Pages::Vote::BeforeControlUpdate_case62 +806433cc Pages::Vote::BeforeControlUpdate_case63 +806433d4 Pages::Vote::BeforeControlUpdate_case64 +806433dc Pages::Vote::BeforeControlUpdate_case65 +806433e4 Pages::Vote::BeforeControlUpdate_case66 +806433ec Pages::Vote::BeforeControlUpdate_case67 +806433f0 Pages::Vote::BeforeControlUpdate_caseDefault +80643504 Pages::Vote::BeforeExitAnimations +80643584 Pages::Vote::GetNextPage +806435b4 Pages::Vote::SetVotedCourseId +806435e4 Pages::Vote::SetCourseButtonId_switch +806435e8 Pages::Vote::SetCourseButtonId_case58 +806435f0 Pages::Vote::SetCourseButtonId_case59 +806435f4 Pages::Vote::SetCourseButtonId_case5a +806435f8 Pages::Vote::FillVoteControl +80643854 Pages::Vote::StartRoulette +80643a9c Pages::Vote::FillVotesCounter +80643c14 Pages::Vote::OnMessageBoxClick +80643cb8 Pages::Vote::GetRuntimeTypeInfo +80643cc4 VoteControl::GetRuntimeTypeInfo +80643cd0 TriggerPtmf +80643d00 VotePage_cpp_sinit_ +80643d24 0x80643d24 +80643d68 0x80643d68 +80643dd0 0x80643dd0 +80643e2c 0x80643e2c +80643f24 Page::EndExitState +80643f28 0x80643f28 +80643f2c 0x80643f2c +80644054 0x80644054 +80644064 0x80644064 +806441bc 0x806441bc +8064425c 0x8064425c +806443c4 0x806443c4 +806444ac 0x806444ac +806446e4 0x806446e4 +8064477c 0x8064477c +806447e4 0x806447e4 +806449b4 0x806449b4 +806449c0 0x806449c0 +806449c8 0x806449c8 +806449d4 0x806449d4 +80644a04 0x80644a04 +80644a34 0x80644a34 +80644a50 0x80644a50 +80644a5c 0x80644a5c +80644a98 0x80644a98 +80644af0 0x80644af0 +80644b90 0x80644b90 +80644bc8 0x80644bc8 +80644c00 0x80644c00 +80644c38 WifiAwardResultItem::GetClassName +80644c48 WifiAwardResultItem::__ct +80644c84 WifiAwardResultItem::__dt +80644cdc WifiAwardResultItem::Load +80644e54 WifiAwardResultItem::InitSelf +80644e8c 0x80644e8c +80645234 Pages::WiFiVSResults::__ct +806452f8 Pages::WiFiVSResults::__dt +80645394 Pages::WiFiVSResults::OnInit +806456c8 Pages::WiFiVSResults::OnActivate +806457b4 Pages::WiFiVSResults::BeforeEntranceAnimations +806457c8 Pages::WiFiVSResults::AfterEntranceAnimations +80645820 Pages::WiFiVSResults::BeforeExitAnimations +80645834 Pages::WiFiVSResults::AfterControlUpdate +8064586c Pages::WiFiVSResults::OnClick +80645878 0x80645878 +806458e4 0x806458e4 +80645a0c 0x80645a0c +80645c4c 0x80645c4c +80645dbc Pages::WiFiVSResults::GetNextPage +80645dc4 Pages::WiFiVSResults::GetRuntimeTypeInfo +80645dd0 WifiAwardResultItem::GetRuntimeTypeInfo +80645ddc 0x80645ddc +80645de8 TriggerPtmf +80645e18 WiFiVSResults_cpp_sinit_ +80645e40 Pages::WFCConnect::__ct +80645ebc Pages::WFCConnect::__dt +80645f24 Pages::WFCConnect::OnInit +80645f90 Pages::WFCConnect::OnActivate +80646440 Pages::WFCConnect::BeforeEntranceAnimations +80646444 Pages::WFCConnect::AfterEntranceAnimations +80646464 Pages::WFCConnect::BeforeExitAnimations +80646468 Pages::WFCConnect::AfterExitAnimations +8064646c Pages::WFCConnect::OnDeactivate +8064651c Pages::WFCConnect::AfterControlUpdate +80646b54 Pages::WFCConnect::OnResume +80646f30 Pages::WFCConnect::GetNextPage +80647004 Pages::WFCConnect::IsHomeMenuWorking +80647048 Pages::WFCConnect::SetText +80647358 Pages::WFCConnect::GetTitleBMGId +80647424 Pages::WFCConnect::OnDisconnect +80647538 Pages::WFCDataStatement::__ct +80647650 Pages::WFCDataStatement::__dt +806476f0 Pages::WFCDataStatement::OnInit +8064788c Pages::WFCDataStatement::OnActivate +80647a34 Pages::WFCDataStatement::SetType +80647a70 Pages::WFCDataStatement::OnButtonClick +80647aec Pages::WFCDataStatement::OnBackPress +80647b14 Pages::WFCAllowData::__ct +80647c7c Pages::WFCAllowData::__dt +80647d28 Pages::WFCAllowData::OnInit +80647f20 Pages::WFCAllowData::OnActivate +80648090 Pages::WFCAllowData::OnResume +80648168 Pages::WFCAllowData::OnButtonClick +80648308 Pages::WFCAllowData::OnBackButtonClick +80648320 Pages::WFCAllowData::OnBackPress +80648454 Pages::WFCDisconnect::__ct +806484d0 Pages::WFCDisconnect::__dt +80648538 Pages::WFCDisconnect::OnInit +80648594 Pages::WFCDisconnect::OnActivate +80648790 Pages::WFCDisconnect::BeforeEntranceAnimations +80648794 Pages::WFCDisconnect::BeforeExitAnimations +80648798 Pages::WFCDisconnect::OnDeactivate +80648848 Pages::WFCDisconnect::OnResume +80648858 Pages::WFCDisconnect::OnYesNoYesClick +80648938 Pages::WFCDisconnect::GetRuntimeTypeInfo +80648944 Pages::WFCAllowData::GetRuntimeTypeInfo +80648950 Pages::WFCDataStatement::GetRuntimeTypeInfo +8064895c Pages::WFCConnect::GetRuntimeTypeInfo +80648968 TriggerPtmf +80648998 TriggerPtmf +806489c8 TriggerPtmf +806489f8 TriggerPtmf +80648a28 TriggerPtmf +80648a58 TriggerPtmf +80648a88 TriggerPtmf +80648ab8 WFCConnectPage_cpp_sinit_ +80648adc Pages::DisconnectMgr::__ct +80648b28 Pages::DisconnectMgr::__dt +80648b90 Pages::DisconnectMgr::OnInit +80648bfc Pages::DisconnectMgr::OnUpdate +80648ff4 Pages::DisconnectError::__ct +80649080 Pages::DisconnectError::__dt +80649100 Pages::DisconnectError::OnInit +806491fc Pages::DisconnectError::OnActivate +80649384 Pages::DisconnectError::AfterControlUpdate +806493cc Pages::DisconnectError::BeforeEntranceAnimations +806493d8 Pages::DisconnectError::IsHomeMenuWorking +80649410 Pages::DisconnectError::GetErrorBMGId +80649644 Pages::DisconnectError::OnClick +806496b8 Pages::DisconnectError::GetRuntimeTypeInfo +806496c4 Pages::DisconnectMgr::GetRuntimeTypeInfo +806496d0 TriggerPtmf +80649700 DisconnectPage_cpp_sinit_ +8064971c Pages::LiveViewWaiting::__ct +80649778 Pages::LiveViewWaiting::__dt +80649804 Pages::LiveViewWaiting::OnInit +80649904 Pages::LiveViewWaiting::AfterControlUpdate +80649944 Pages::LiveViewWaiting::GetNextPage +80649990 Pages::LiveViewWaiting::BeforeExitAnimations +806499dc Pages::LiveViewWaiting::BeforeEntranceAnimations +80649a34 Pages::LiveViewWaiting::AfterExitAnimations +80649a40 Pages::LiveViewWaiting::GetRuntimeTypeInfo +80649a4c LiveViewWaitingPage_cpp_sinit_ +80649a60 Pages::VR::__ct +80649b4c Pages::VR::__dt +80649bf8 Pages::VR::OnInit +80649cdc Pages::VR::OnInit_switch +80649ce0 Pages::VR::OnInit_case58 +80649cf4 Pages::VR::OnInit_case59 +80649d04 Pages::VR::OnInit_case5a +80649eb8 Pages::VR::OnActivate +80649f74 Pages::VR::OnActivate_switch +80649f78 Pages::VR::OnActivate_case58 +80649f80 Pages::VR::OnActivate_case59 +80649f84 Pages::VR::OnActivate_case5a +8064a130 Pages::VR::AfterControlUpdate +8064a174 Pages::VR::FillVRControl +8064a4d8 Pages::VR::OnButtonClick +8064a514 Pages::VR::GetRuntimeTypeInfo +8064a520 TriggerPtmf +8064a550 VRPage_cpp_sinit_ +8064a564 Pages::Approve2PWFC::__ct +8064a5e0 Pages::Approve2PWFC::__dt +8064a648 Pages::Approve2PWFC::OnInit +8064a6b4 Pages::Approve2PWFC::OnActivate +8064a7c8 Pages::Approve2PWFC::BeforeEntranceAnimations +8064a7cc Pages::Approve2PWFC::BeforeExitAnimations +8064a7d0 Pages::Approve2PWFC::OnResume +8064a890 Pages::Approve2PWFC::GetNextPage +8064a8a8 Pages::Approve2PWFC::OnApprove +8064a920 FriendsStatusButton::GetClassName +8064a92c FriendsStatusButton::__ct +8064a968 FriendsStatusButton::__dt +8064a9c0 FriendsStatusButton::Load +8064aab0 FriendsStatusButton::InitSelf +8064aabc FriendsStatusButton::OnUpdate +8064ab2c FriendsStatusButton::OnSelect +8064ab30 FriendsStatusButton::OnDeselect +8064ab34 FriendsStatusButton::UpdateFriendStatus +8064acac Pages::WFCMainMenu::__ct +8064aebc Pages::WFCMainMenu::__dt +8064af7c Pages::WFCMainMenu::OnInit +8064b2fc Pages::WFCMainMenu::OnActivate +8064b354 Pages::WFCMainMenu::OnWorldwideButtonClick +8064b430 Pages::WFCMainMenu::OnRegionalButtonClick +8064b50c Pages::WFCMainMenu::OnFriendsButtonClick +8064b550 Pages::WFCMainMenu::OnBackButtonClick +8064b5b8 Pages::WFCMainMenu::OnButtonSelect +8064b624 Pages::WFCMainMenu::OnBackPress +8064b644 Pages::WFCModeSelect::__ct +8064b7dc Pages::WFCModeSelect::__dt +8064b88c Pages::WFCModeSelect::OnInit +8064bb64 Pages::WFCModeSelect::OnActivate +8064bc7c Pages::WFCModeSelect::OnModeButtonClick +8064bd84 Pages::WFCModeSelect::OnBackButtonClick +8064bdc8 Pages::WFCModeSelect::OnModeButtonSelect +8064be1c Pages::WFCModeSelect::OnBackPress +8064be34 Pages::WFCFriendsMenu::__ct +8064c044 Pages::WFCFriendsMenu::__dt +8064c104 Pages::WFCFriendsMenu::OnInit +8064c584 Pages::WFCFriendsMenu::OnActivate +8064c664 Pages::WFCFriendsMenu::OnDeactivate +8064c70c Pages::WFCFriendsMenu::OnRosterButtonClick +8064c854 Pages::WFCFriendsMenu::OnRegisterButtonClick +8064c99c Pages::WFCFriendsMenu::OnCreateRoomClick +8064cb60 Pages::WFCFriendsMenu::OnBackButtonClick +8064cc0c Pages::WFCFriendsMenu::OnButtonSelect +8064cc78 Pages::WFCFriendsMenu::OnBackPress +8064cccc Pages::WFCFriendsMenu::GetNextPage +8064ccd4 Pages::WFCFriendsMenu::GetRuntimeTypeInfo +8064cce0 Pages::WFCModeSelect::GetNextPage +8064cce8 Pages::WFCModeSelect::GetRuntimeTypeInfo +8064ccf4 Pages::WFCMainMenu::GetNextPage +8064ccfc Pages::WFCMainMenu::GetRuntimeTypeInfo +8064cd08 FriendsStatusButton::GetRuntimeTypeInfo +8064cd14 Pages::Approve2PWFC::GetRuntimeTypeInfo +8064cd20 TriggerPtmf +8064cd50 TriggerPtmf +8064cd80 TriggerPtmf +8064cdb0 TriggerPtmf +8064cde0 TriggerPtmf +8064ce10 TriggerPtmf +8064ce40 TriggerPtmf +8064ce70 WFCMainMenuPage__cpp__sinit +8064cea0 Pages::WWRaceEndCountDown::__ct +8064cef4 Pages::WWRaceEndCountDown::__dt +8064cf74 Pages::WWRaceEndCountDown::OnInit +8064d000 Pages::WWRaceEndCountDown::OnActivate +8064d16c Pages::WWRaceEndCountDown::BeforeControlUpdate +8064d1b8 FriendStatusButtonRaceAfter::GetClassName +8064d1c8 0x8064d1c8 +8064d1d4 FriendStatusButtonRaceAfter::__ct +8064d210 FriendStatusButtonRaceAfter::__dt +8064d268 FriendStatusButtonRaceAfter::8064dbfc +8064d3a4 FriendStatusButtonRaceAfter::OnInit +8064d3a8 FriendStatusButtonRaceAfter::OnUpdate +8064d408 FriendStatusButtonRaceAfter::UpdateStatus +8064d554 Pages::WWRaceEnd::__ct +8064d680 Pages::WWRaceEnd::__dt +8064d71c Pages::WWRaceEnd::OnInit +8064da44 Pages::WWRaceEnd::OnActivate +8064db48 Pages::WWRaceEnd::BeforeEntranceAnimations +8064db5c Pages::WWRaceEnd::AfterControlUpdate +8064dcfc Pages::WWRaceEnd::OnContinueRaceClick +8064de78 Pages::WWRaceEnd::OnFriendButtonClick +8064df58 Pages::WWRaceEnd::OnQuitClick +8064e03c Pages::WWRaceEndQuit::__ct +8064e100 Pages::WWRaceEndQuit::__dt +8064e18c Pages::WWRaceEndQuit::OnInit +8064e320 Pages::WWRaceEndQuit::OnDispose +8064e3a0 Pages::WWRaceEndQuit::OnActivate +8064e464 Pages::WWRaceEndQuit::OnDeactivate +8064e470 Pages::WWRaceEndQuit::AfterControlUpdate +8064e610 Pages::WWRaceEndQuit::OnYesButtonClick +8064e790 Pages::WWRaceEndQuit::OnNoButtonClick +8064e7d4 Pages::WWRaceEndWait::__ct +8064e820 Pages::WWRaceEndWait::__dt +8064e894 Pages::WWRaceEndWait::OnInit +8064e8d8 Pages::WWRaceEndWait::OnInit_switch +8064e8dc Pages::WWRaceEndWait::OnInit_case_68 +8064e8f8 Pages::WWRaceEndWait::OnInit_case_69 +8064e98c Pages::WWRaceEndWait::OnActivate +8064e9e0 Pages::WWRaceEndWait::AfterControlUpdate +8064ea90 Pages::WWRaceEndWait::AfterControlUpdate_switch +8064ea94 Pages::WWRaceEndWait::AfterControlUpdate_case_68 +8064ea9c Pages::WWRaceEndWait::AfterControlUpdate_case_69 +8064eaa4 Pages::WWRaceEndWait::AfterControlUpdate_case_6c +8064eaac Pages::WWRaceEndWait::AfterControlUpdate_case_6d +8064ec24 Pages::WWRaceEndWait::AfterControlUpdate_switch2D +8064ec28 Pages::WWRaceEndWait::AfterControlUpdate_case2_70 +8064ec30 Pages::WWRaceEndWait::AfterControlUpdate_case2_71 +8064ec38 Pages::WWRaceEndWait::AfterControlUpdate_case2_72 +8064ec40 Pages::WWRaceEndWait::AfterControlUpdate_case2_73 +8064ec48 Pages::WWRaceEndWait::AfterControlUpdate_case2_74 +8064ec50 Pages::WWRaceEndWait::AfterControlUpdate_case2_75 +8064ec58 Pages::WWRaceEndWait::AfterControlUpdate_case2_76 +8064ec60 Pages::WWRaceEndWait::AfterControlUpdate_case2_77 +8064ecc8 0x8064ecc8 +8064ef4c 0x8064ef4c +8064ef50 0x8064ef50 +8064efa8 0x8064efa8 +8064f044 Pages::DisableHomeButton::__ct +8064f088 Pages::DisableHomeButton::__dt +8064f0f0 Pages::DisableHomeButton::OnInit +8064f14c Pages::DisableHomeButton::IsHomeMenuWorking +8064f154 Pages::DisableHomeButton::GetRuntimeTypeInfo +8064f160 Pages::RaceEndWait::GetRuntimeTypeInfo +8064f16c Pages::WWRaceEndQuit::GetNextPage +8064f174 Pages::WWRaceEndQuit::GetRuntimeTypeInfo +8064f180 Pages::WWRaceEnd::GetNextPage +8064f188 Pages::WWRaceEnd::GetRuntimeTypeInfo +8064f194 FriendStatusButtonRaceAfter::GetRuntimeTypeInfo +8064f1a0 Pages::WWRaceEndCountDown::GetNextPage +8064f1a8 Pages::WWRaceEndCountDown::GetRuntimeTypeInfo +8064f1b4 TriggerPtmf +8064f1e4 TriggerPtmf +8064f214 WWRaceSupportingPages_cpp_sinit_ +8064f248 Pages::SELECTStageMgr::__ct +8064f2dc Pages::SELECTStageMgr::__dt +8064f368 Pages::SELECTStageMgr::OnInit +8064f3c0 Pages::SELECTStageMgr::OnInit_switch +8064f3c4 Pages::SELECTStageMgr::OnInit_case58 +8064f3d0 Pages::SELECTStageMgr::OnInit_case60 +8064f3dc Pages::SELECTStageMgr::OnInit_case59 +8064f3e8 Pages::SELECTStageMgr::OnInit_case62 +8064f3f0 Pages::SELECTStageMgr::OnInit_case5a +8064f49c Pages::SELECTStageMgr::OnDispose +8064f4a0 Pages::SELECTStageMgr::OnActivate +8064f574 Pages::SELECTStageMgr::OnActivate_Pages::SELECTStageMgr::OnActivate_switch +8064f578 Pages::SELECTStageMgr::OnActivate_case58 +8064f598 Pages::SELECTStageMgr::OnActivate_case59 +8064f5b4 Pages::SELECTStageMgr::OnActivate_case5a +8064f684 Pages::SELECTStageMgr::OnActivate_switch2 +8064f688 Pages::SELECTStageMgr::OnActivate_2case58 +8064f844 Pages::SELECTStageMgr::OnActivate_2case59 +8064f864 Pages::SELECTStageMgr::OnActivate_2case5a +8064f880 Pages::SELECTStageMgr::OnDeactivate +8064f884 Pages::SELECTStageMgr::BeforeControlUpdate +8064f8e0 Pages::SELECTStageMgr::AfterControlUpdate +8064fe0c Pages::SELECTStageMgr::OnResume +80650018 Pages::SELECTStageMgr::OnResume_Pages::SELECTStageMgr::OnResume_switch +8065001c Pages::SELECTStageMgr::OnResume_case58 +80650024 Pages::SELECTStageMgr::OnResume_case59 +80650028 Pages::SELECTStageMgr::OnResume_case5a +80650160 Pages::SELECTStageMgr::IsPublicBattle +80650190 Pages::SELECTStageMgr::IsPublicBattle_switch +80650194 Pages::SELECTStageMgr::IsPublicBattle_case58 +8065019c Pages::SELECTStageMgr::IsPublicBattle_case59 +806501a4 Pages::SELECTStageMgr::IsPublicBattle_case5a +806501ac Pages::SELECTStageMgr::GetEngineClass +806501fc Pages::SELECTStageMgr::GetBattleType +8065024c Pages::SELECTStageMgr::GetInstructionBmgId +8065027c Pages::SELECTStageMgr::GetInstructionBmgId_switch +80650280 Pages::SELECTStageMgr::GetInstructionBmgId_case58 +806502f0 Pages::SELECTStageMgr::GetInstructionBmgId_case59 +80650350 Pages::SELECTStageMgr::GetInstructionBmgId_case60 +806503c0 Pages::SELECTStageMgr::GetInstructionBmgId_case61 +80650430 Pages::SELECTStageMgr::GetInstructionBmgId_case62 +80650438 Pages::SELECTStageMgr::GetInstructionBmgId_case63 +80650440 Pages::SELECTStageMgr::GetInstructionBmgId_case5a +80650448 Pages::SELECTStageMgr::GetPlayerId +80650490 Pages::SELECTStageMgr::PrepareRace +80650550 Pages::SELECTStageMgr::PrepareRace_switch +80650554 Pages::SELECTStageMgr::PrepareRace_case58 +80650574 Pages::SELECTStageMgr::PrepareRace_case60 +80650594 Pages::SELECTStageMgr::PrepareRace_case61 +806505b4 Pages::SELECTStageMgr::PrepareRace_case59 +806505d4 Pages::SELECTStageMgr::PrepareRace_case62 +806505f0 Pages::SELECTStageMgr::PrepareRace_case5a +80650620 Pages::SELECTStageMgr::PrepareRace_case5a_switch +80650624 Pages::SELECTStageMgr::PrepareRace_2case58 +806506e8 Pages::SELECTStageMgr::PrepareRace_2case59 +80650760 Pages::SELECTStageMgr::PrepareRace_2case62 +8065078c Pages::SELECTStageMgr::PrepareRace_2case63 +806507b8 Pages::SELECTStageMgr::PrepareRace_2case5a +80650c38 Pages::SELECTStageMgr::UpdateOnlineParams +80650e1c Pages::SELECTStageMgr::OnDisconnect +80650ec0 Pages::SELECTStageMgr::SetModeTypes +80650f04 Pages::SELECTStageMgr::SetModeTypes_switch +80650f08 Pages::SELECTStageMgr::SetModeTypes_case58 +80650f1c Pages::SELECTStageMgr::SetModeTypes_case59 +80650f30 Pages::SELECTStageMgr::SetModeTypes_case60 +80650f6c Pages::SELECTStageMgr::SetModeTypes_case62 +80650f78 Pages::SELECTStageMgr::SetModeTypes_case63 +80650f80 Pages::SELECTStageMgr::SetModeTypes_loop +806510f0 0x806510f0 +806510fc 0x806510fc +8065113c 0x8065113c +80651214 Pages::SELECTStageMgr::IsHomeMenuWorking +8065121c Pages::SELECTStageMgr::GetRuntimeTypeInfo +80651228 Pages::SELECTStageMgr::TriggerPtmf +80651258 CountDownTimerPage_cpp_sinit_ +8065126c WipeControl::GetClassName +80651278 WipeControl::__ct +806512b4 WipeControl::__dt +8065130c WipeControl::Load +806513c0 WipeControl::InitSelf +806513f8 WipeControl::OnUpdate +806514ec Pages::Wipe::__ct +80651558 Pages::Wipe::__dt +806515e4 Pages::Wipe::OnInit +80651930 Pages::Wipe::GetRuntimeTypeInfo +8065193c WipeControl::GetRuntimeTypeInfo +80651948 WipePagecpp_sinit_ +8065196c Pages::YesNo::__ct +80651a10 Pages::YesNo::__dt +80651a9c Pages::YesNo::OnInit +80651b30 Pages::YesNo::OnActivate +80651bd0 Pages::YesNo::AfterControlUpdate +80651c0c Pages::YesNo::Reset +80651c68 Pages::YesNo::SetMessageBoxMsg +80651c70 Pages::YesNo::PrepareButton +80651ce4 Pages::YesNo::OnButtonClick +80651d6c Pages::YesNo::SelectInitialButton +80651de0 Pages::YesNoPopUp::__ct +80651eb8 Pages::YesNoPopUp::__dt +80651f68 Pages::YesNoPopUp::OnInit +806521b4 Pages::YesNoPopUp::BeforeEntranceAnimations +806521f8 Pages::YesNoPopUp::AfterExitAnimations +8065223c Pages::YesNoPopUp::Container::GetClassName +8065224c Pages::YesNoPopUp::Container::__ct +80652288 Pages::YesNoPopUp::Container::__dt +806522e0 Pages::YesNoPopUp::Container::Load +80652354 Pages::YesNoPopUp::Reset +806523b0 Pages::YesNoPopUp::Container::SetPositionAnim +806523e8 Pages::YesNoFull::__ct +806524b8 Pages::YesNoFull::__dt +8065255c Pages::YesNoFull::OnInit +8065273c Pages::YesNoFull::Reset +806527a8 Pages::YesNoFull::SetTitleMsg +806527b0 Pages::YesNoFull::BeforeEntranceAnimations +806527cc Pages::YesNoFull::AfterExitAnimations +806527e8 Pages::YesNoFull::GetRuntimeTypeInfo +806527f4 Pages::YesNoPopUp::GetRuntimeTypeInfo +80652800 Pages::YesNoPopUp::Container::GetRuntimeTypeInfo +8065280c Pages::YesNo::GetRuntimeTypeInfo +80652818 Pages::YesNo::TriggerPtmf +80652848 YesNoPagecpp_sinit_ +80652874 RKNet::PacketMgr::CreateInstance +806528f0 RKNet::PacketMgr::DestroyInstance +80652944 RKNet::PacketMgr::Reset +80652d94 RKNet::PacketMgr::Update +80652fcc RKNet::PacketMgr::ExportRacedata +80653128 RKNet::PacketMgr::GetRacedata +80653274 RKNet::PacketMgr::ExportRH2 +80653324 RKNet::PacketMgr::GetRH2 +80653380 RKNet::PacketMgr::ClearSentRacedata +806533e4 RKNet::PacketMgr::ClearSentRH2 +80653448 RKNet::PacketMgr::ProcessPlayerDC +80653460 RKNet::PacketMgr::__ct +806534b8 0x806534b8 +806534f8 0x806534f8 +80653538 RKNet::PacketMgr::__dt +80653590 RKNet::PacketMgr::UpdateAsSpectator +806536a4 RKNet::PacketMgr::EveryoneIsConnected +806537bc RKNet::PacketMgr::UpdateAsRacer +80653b14 RKNet::PacketMgr::GetPlayerRH1Timer +80653bd4 RKNet::PacketMgr::GetPlayerLagFrames +80653c48 RKNet::PacketMgr::GetMaxRH1Timer +80653d88 RKNet::PacketMgr::SetITEMItem +80653da0 RKNet::PacketMgr::IsITEMItemNew +80653dac RKNet::PacketMgr::GetITEMStoredItem +80653db8 RKNet::PacketMgr::AddEVENTEntry +80653dc4 RKNet::PacketMgr::HasFreeEVENTEntries +80653e7c RKNet::PacketMgr::GetEVENTFreeDataSpace +80653e8c RKNet::PacketMgr::IsPlayerConnected +80653f14 RKNet::PacketMgr::IsPlayerLocal +80653f84 RKNet::PacketMgr::GetHudSlotId +80653ff0 RKNet::PacketMgr::UpdateRaceinfoConnectionStatus +806540a0 0x806540a0 +8065416c RKNet::PacketMgr::ProcessLagFrames +80654374 RKNet::PacketMgr::CreateRH1AndExportRH1andUSERandRacedata +806547d0 RKNet::PacketMgr::CreateAndExportRH1andUSER +80654b0c RKNet::PacketMgr::ProcessReceived +80654db8 RKNet::PacketMgr::UpdateAidsBitfield +80654ea4 0x80654ea4 +80654eb8 0x80654eb8 +80654ec4 0x80654ec4 +80655058 0x80655058 +8065505c 0x8065505c +80655180 0x80655180 +80655188 0x80655188 +80655190 RKNet::Controller::CreateInstance +80655218 RKNet::Controller::DestroyInstance +8065527c RKNet::Controller::Init +80655814 RKNet::Controller::ScheduleShutdown +80655820 RKNet::Controller::StartSearchWW +806558dc RKNet::Controller::StartSearchRegion +80655998 RKNet::Controller::StartSearchBTWW +80655a54 RKNet::Controller::StartSearchBTRegional +80655b10 RKNet::Controller::JoinFriend +80655c40 0x80655c40 +80655d70 RKNet::Controller::JoinRoom +80655e44 RKNet::Controller::StartRoom +80655f04 RKNet::Controller::ResetRH1andROOM +80655f5c 0x80655f5c +80655f74 0x80655f74 +80655f8c 0x80655f8c +80656020 RKNet::Controller::GetErrorParams +8065609c RKNet::Controller::ResetErrorParams +806560f8 RKNet::Controller::GetSubTickDiff +80656158 RKNet::Controller::UpdateServersAsyncAlt +806561b0 RKNet::Controller::UpdateServersAsync +806561d8 RKNet::Controller::UpdateFriendsStatus +8065630c RKNet::Controller::SetFriendsAddedBack +806563d8 RKNet::Controller::SetFriendDeleted +80656408 RKNet::Controller::CanExchangeFriendData +806564b0 RKNet::Controller::IsIdle +806564dc 0x806564dc +8065656c RKNet::Controller::IsConnectedToAnyone +806565ac RKNet::Controller::ClearSplitSendRACEPointers +80656664 RKNet::Controller::SetConnectionStateToFailed +80656670 RKNet::Controller::__ct +80656a48 RKNet::FriendManager::__dt +80656a88 RKNet::Controller::__dt +80656b6c RKNet::Controller::MainNetworkLoop +80656b70 RKNet::Controller::MainLoop +806570dc RKNet::Controller::SendPacketsAndUpdateUSER +8065711c RKNet::Controller::CombineSplitSendPackets +8065749c RKNet::Controller::TrySendNextRACEPacket +80657650 RKNet::Controller::SendAidNextRACEPacket +80657730 RKNet::Controller::GetSplitSendPacketsTotalSize +806577ac RKNet::Controller::SetConnectionState +806577b4 RKNet::Controller::GetConnectionState +80657838 RKNet::Controller::HandleError +80657998 RKNet::Controller::Alloc +80657a20 RKNet::Controller::Free +80657a84 RKNet::Controller::SOAlloc +80657b04 RKNet::Controller::SOFree +80657b6c RKNet::Controller::DWCAlloc +80657bf8 RKNet::Controller::DWCFree +80657c60 RKNet::Controller::UserRecvCallback +80657c80 RKNet::Controller::LoginCallback +80657d84 RKNet::Controller::MatchedSCCallback +80657dd4 RKNet::Controller::ConnectionAttemptCallback +80657e90 RKNet::Controller::ConnectionClosedCallback +80657f44 RKNet::Controller::UpdateServerCallback +80657f68 RKNet::Controller::UpdateServerCallbackAlt +80657f84 RKNet::Controller::FriendStatusChangeCallback +80657f88 RKNet::Controller::BuddyFriendCallback +80657f94 RKNet::Controller::SetDWCRecvBuffers +80657ffc RKNet::Controller::ProcessPlayerDisconnect +80658208 RKNet::Controller::ConnectToWFC +806583a8 RKNet::Controller::InitSubs +8065844c RKNet::Controller::UpdateSubsAndVR +806585ec RKNet::Controller::ResetFriendArray +806586b0 RKNet::Controller::StartMatching +806587dc RKNet::Controller::ConnectToAnybodyAsync +80658c24 RKNet::Controller::SetupGameServer +80658c88 0x80658c88 +80658cec RKNet::Controller::ConnectToGameServerFromGroupId +80658f30 0x80658f30 +806590a8 RKNet::Controller::CalcRACEPacketCRC32 +806590f0 RKNet::Controller::ProcessRACEPacket +8065922c RKNet::Controller::UpdateAidsBelongingToPlayerIds +8065938c RKNet::Controller::ResetAidsBelongingToPlayerIds +806593c4 RKNet::Controller::GetLocalPlayerId +80659610 RKNet::Controller::GetFriendsSearchType +80659720 RKNet::Controller::UpdateStatusDatas +806598b8 RKNet::PacketHolder::__ct +80659918 RKNet::PacketHolder::__dt +80659978 RKNet::PacketHolder::Clear +806599b8 RKNet::PacketHolder::Copy +806599f8 RKNet::PacketHolder::Append +80659a48 RKNet::SplitRACEPointers::__ct +80659ae0 RKNet::SplitRACEPointers::__dt +80659b64 RKNet::RatingRangeMaker::Init +80659c4c RKNet::RatingRangeMaker::GetLowerRange +80659cb8 RKNet::RatingRangeMaker::GetUpperRange +80659d20 0x80659d20 +80659dd4 RKNet::RatingRangeMaker::GetRatingGroup +80659f40 RKNet::GPReverseBuddiesListCallback +80659fe0 RKNet::SetGPError +8065a0f4 RKNet::ROOMHandler::CreateInstance +8065a1b8 RKNet::ROOMHandler::DestroyInstance +8065a1f8 RKNet::ROOMHandler::Init +8065a300 RKNet::ROOMHandler::Reset +8065a384 RKNet::ROOMHandler::Update +8065a4dc RKNet::ROOMHandler::SetAllToSendPackets +8065a5d0 RKNet::ROOMHandler::GetRecvPacket +8065a5e0 RKNet::ROOMHandler::SetToSendPacket +8065a5f0 RKNet::ROOMHandler::__ct +8065a674 RKNet::ROOMHandler::__dt +8065a6b4 RKNet::ROOMHandler::ExportROOMandUSER +8065a800 RKNet::ROOMHandler::ImportNewPackets +8065a8cc RKNet::ROOMHandler::ResetAllPackets +8065a94c RKNet::ROOMHandler::InitPacket +8065a958 RKNet::ROOMHandler::ClearToSendPacket +8065a96c RKNet::ROOMHandler::ClearRecvPacket +8065a980 RKNet::ROOMHandler::SetToSendPacket2 +8065a990 RKNet::ROOMHandler::SetRecvPacket +8065a9a0 RKNet::ROOMHandler::GetToSendPacketPtr +8065a9b0 RKNet::ROOMHandler::GetRecvPacketPtr +8065a9c0 0x8065a9c0 +8065aa24 0x8065aa24 +8065aa78 0x8065aa78 +8065aabc 0x8065aabc +8065aafc 0x8065aafc +8065ab54 RKNet::EVENTHandler::CreateInstance +8065ac6c RKNet::EVENTHandler::DestroyInstance +8065acac RKNet::EVENTHandler::__ct +8065ad98 0x8065ad98 +8065ad9c RKNet::EVENTHandler::Update +8065adec RKNet::EVENTHandler::AddEntry +8065b004 RKNet::EVENTHandler::Reset +8065b0f8 RKNet::EVENTHandler::__dt +8065b138 RKNet::EVENTHandler::FreeExpiredSendEntries +8065b200 RKNet::EVENTHandler::ExportSendEntries +8065b350 RKNet::EVENTHandler::ImportReceivedEntries +8065b4ac RKNet::EVENTHandler::ProcessReceivedEntries +8065b6b8 RKNet::EVENTHandler::ResetEntry +8065b6e4 RKNet::EVENTHandler::GetEventType +8065b71c RKNet::EVENTHandler::SetEntryItemAndActionFromType +8065b730 RKNet::EVENTHandler::ProcessEntry +8065b758 RKNet::ITEMHandler::CreateInstance +8065b9d4 RKNet::ITEMHandler::DestroyInstance +8065ba14 RKNet::ITEMHandler::__ct +8065bc50 0x8065bc50 +8065bc54 RKNet::ITEMHandler::Update +8065bd2c RKNet::ITEMHandler::SetItem +8065bdb8 RKNet::ITEMHandler::RemoveItem +8065be4c RKNet::ITEMHandler::OnRouletteEnd +8065bf38 0x8065bf38 +8065c0d0 0x8065c0d0 +8065c298 0x8065c298 +8065c460 RKNet::ITEMHandler::GetModeRelatedInt +8065c52c 0x8065c52c +8065c630 RKNet::ITEMHandler::SetItemAndMode +8065c68c 0x8065c68c +8065c74c RKNet::ITEMHandler::SetDraggedItemAndMode +8065c7a8 0x8065c7a8 +8065c888 RKNet::ITEMHandler::GetStoredItem +8065c91c RKNet::ITEMHandler::GetDraggedItem +8065c9d0 RKNet::ITEMHandler::GetStoredItemMode +8065ca64 RKNet::ITEMHandler::GetDraggedItemMode +8065cb18 RKNet::ITEMHandler::GetTimer +8065cbc8 RKNet::ITEMHandler::IsPlayerConnected +8065cbd4 RKNet::ITEMHandler::IsItemNew +8065cc74 RKNet::ITEMHandler::IsDraggingItem +8065cd50 RKNet::ITEMHandler::HasStartedDraggingItem +8065d05c 0x8065d05c +8065d298 RKNet::ITEMHandler::__dt +8065d2d8 RKNet::ITEMHandler::ExportSendPackets +8065d3a8 RKNet::ITEMHandler::ImportNewPackets +8065d70c RKNet::ITEMHandler::UpdateItemStatusAndSums +8065dcb0 RKNet::ITEMHandler::AcknowledgeAid +8065df14 RKNet::ITEMHandler::UpdateLocalPlayersItems +8065dfa4 RKNet::ITEMHandler::UpdateStoredItem +8065e3e0 RKNet::ITEMHandler::UpdateDraggedItem +8065e6d4 RKNet::ITEMHandler::UpdateLocalPlayers +8065ed48 RKNet::ItemHandler::GetStoredItemCount +8065f038 0x8065f038 +8065f078 0x8065f078 +8065f0b8 0x8065f0b8 +8065f1d8 0x8065f1d8 +8065f4b8 0x8065f4b8 +8065f4f8 RKNet::SELECTHandler::CreateInstance +8065f5cc RKNet::SELECTHandler::DestroyInstance +8065f610 RKNet::SELECTHandler::InitPackets +8065f964 0x8065f964 +8065f968 RKNet::SELECTHandler::Update +8065faa0 RKNet::SELECTHandler::GetWinningVoter +8065fabc RKNet::SELECTHandler::GetWinningCourse +8065fadc RKNet::SELECTHandler::GetOwnSelectId +8065faf8 RKNet::SELECTHandler::GetEngineClass +8065fb14 RKNet::SELECTHandler::GetBattleType +8065fb38 RKNet::SELECTHandler::GetOwnPlayerIdToAid +8065fb40 RKNet::SELECTHandler::GetCharacterId +8065fb90 RKNet::SELECTHandler::GetKartId +8065fbe0 RKNet::SELECTHandler::GetCourseVote +8065fc30 RKNet::SELECTHandler::GetPlayerData +8065fc78 RKNet::SELECTHandler::GetStarRank +8065fcc0 RKNet::SELECTHandler::GetTeam +8065fcf8 RKNet::SELECTHandler::HasUnprocessedPackets +8065fd7c RKNet::SELECTHandler::IsPrepared +8065fdbc RKNet::SELECTHandler::SetPlayerData +8065fdd8 RKNet::SELECTHandler::__ct +8065fe60 RKNet::SELECTHandler::__dt +8065ff20 RKNet::SELECTHandler::ResetSendPacket +8066006c RKNet::SELECTHandler::ResetReceivedPackets +80660160 RKNet::SELECTHandler::ResetPacket +8066023c RKNet::SELECTHandler::ResetPlayerData +806602a8 RKNet::SELECTHandler::HandleReceivedPacketTimes +80660398 RKNet::SELECTHandler::IsBattle +806603ac RKNet::SELECTHandler::IsTrackDecided +806603c8 RKNet::SELECTHandler::EveryoneHasAccurateRaceSettings +80660438 RKNet::SELECTHandler::EveryoneHasVoted +806604a8 RKNet::SELECTHandler::EveryoneHasAccurateAidPidMap +8066051c RKNet::SELECTHandler::ClearRH1ReceivedBuffers +80660588 RKNet::SELECTHandler::PrepareAndExportSELECTandUSER +806606e4 RKNet::SELECTHandler::ImportNewPackets +806608f4 RKNet::SELECTHandler::PrepareAndExportPacket +80660b1c RKNet::SELECTHandler::ProcessNewPacketVoting +80660fa0 RKNet::SELECTHandler::DecideBattleTypeAndTeams +80661080 RKNet::SELECTHandler::GenerateOwnSELECTId +806610c8 RKNet::SELECTHandler::DecideEngineClass +80661354 RKNet::SELECTHandler::DecideTrack +806616a0 RKNet::SELECTHandler::AllocatePlayerIdsToAids +80661848 RKNet::SELECTHandler::HasMatchingPlayerIdToAid +806618fc RKNet::SELECTHandler::DecidePublicTeams +80661bf4 RKNet::SELECTHandler::DecidePrivateTeams +80661de4 RKNet::USERHandler::CreateInstance +80661e64 RKNet::USERHandler::DestroyInstance +80661eb8 RKNet::USERHandler::Prepare +80661fb0 RKNet::USERHandler::Reset +8066202c RKNet::USERHandler::Update +80662128 RKNet::USERHandler::CopySendToPacketHolder +8066216c RKNet::USERHandler::ProcessPlayerDisconnect +80662258 0x80662258 +806622c4 0x806622c4 +806622d4 0x806622d4 +806622f4 0x806622f4 +8066238c 0x8066238c +806623ec RKNet::USERHandler::SetSendVR +80662430 RKNet::USERHandler::SetSendBR +80662474 RKNet::USERHandler::__ct +806624d0 RKNet::USERHandler::__dt +80662528 RKNet::USERHandler::ImportNewPackets +80662624 0x80662624 +80662678 RKNet::USERHandler::CreateSendPacket +80662800 RKNet::FriendMgr::CreateInstance +80662928 RKNet::FriendMgr::DestroyInstance +80662968 RKNet::FriendMgr::ReadDataFromRKSYS +80662ab0 RKNet::FriendMgr::Update +80662c14 RKNet::FriendMgr::CreateAccUserData +80662c1c RKNet::FriendMgr::CheckAccUserData +80662c4c RKNet::FriendMgr::IsAccUserDataDirt +80662c7c RKNet::FriendMgr::ClearAccUserDataDirtyFlag +80662c84 RKNet::FriendMgr::CreateFriendCode +80662cb0 RKNet::FriendMgr::SetCodesForUnusedIdxs +80662db8 RKNet::FriendMgr::IsAvailable +80662dc8 RKNet::FriendMgr::IsBuddyFriend +80662e00 RKNet::FriendMgr::IsValidFriend +80662e30 RKNet::FriendMgr::CheckFriendCode +80662e68 RKNet::FriendMgr::GetFriendIdx +80662ee0 RKNet::FriendMgr::GetFriendCodeLicenseIdx +80662f84 RKNet::FriendMgr::GetLicenseFriendCode +80662fac RKNet::FriendMgr::GetFirstFreeFriendIdx +8066300c RKNet::FriendMgr::__ct +80663110 RKNet::RH1Handler::CreateInstance +806632a4 RKNet::RH1Handler::DestroyInstance +806632e8 RKNet::RH1Handler::Activate +806632f4 RKNet::RH1Handler::Reset +80663440 RKNet::RH1Handler::Update +80663778 RKNet::RH1Handler::Reset +8066381c RKNet::RH1Handler::HasValidCourse +80663a2c RKNet::RH1Handler::GetKart +80663a44 RKNet::RH1Handler::GetCharacter +80663a5c 0x80663a5c +80663bb8 RKNet::RH1Handler::GetStarRank +80663bcc RKNet::RH1Handler::GetValidCourse +80663d34 0x80663d34 +80663e3c RKNet::RH1Handler::GetPlayerCount +80663fb0 RKNet::RH1Handler::GetSELECTId +806640a8 RKNet::RH1Handler::GetEngineClass +806641a0 RKNet::RH1Handler::GetAidsBelongingToPlayer +80664298 0x80664298 +80664408 RKNet::RH1Handler::__dt +8066456c 0x8066456c +80664664 0x80664664 +806646d8 0x806646d8 +80664820 RKNet::RH1Handler::ImportNewPackets +806649a0 0x806649a0 +80664a34 RKNet::RH1Handler::ExportDefaultPacket +80664aec RKNet::RH1Handler::ExportDefaultPacket2 +80664ba4 0x80664ba4 +80664ccc 0x80664ccc +80664d6c 0x80664d6c +80664ef8 0x80664ef8 +80664f88 0x80664f88 +80664fd8 0x80664fd8 +80665004 0x80665004 +8066501c 0x8066501c +80665098 0x80665098 +806650b8 0x806650b8 +806650fc 0x806650fc +80665164 0x80665164 +806651d8 0x806651d8 +80665260 Page::EndExitState +80665264 0x80665264 +80665268 0x80665268 +80665290 0x80665290 +806652a8 0x806652a8 +80665658 0x80665658 +8066574c 0x8066574c +806657e8 0x806657e8 +806658f4 0x806658f4 +80665a74 0x80665a74 +80665c38 0x80665c38 +80665c50 0x80665c50 +80665cb8 0x80665cb8 +80665d00 0x80665d00 +80665d0c 0x80665d0c +80665d18 0x80665d18 +80665d24 0x80665d24 +80665d54 0x80665d54 +80665d84 0x80665d84 +80665db4 0x80665db4 +80665dd4 0x80665dd4 +80665eec 0x80665eec +80665f8c 0x80665f8c +80666118 0x80666118 +8066616c 0x8066616c +80666184 0x80666184 +80666200 0x80666200 +80666220 0x80666220 +80666230 0x80666230 +8066628c 0x8066628c +80666300 0x80666300 +80666454 0x80666454 +80666458 0x80666458 +80666550 0x80666550 +806665e8 0x806665e8 +80666658 0x80666658 +806666b8 0x806666b8 +80666750 0x80666750 +80666788 0x80666788 +806667bc 0x806667bc +806668a0 0x806668a0 +80666900 0x80666900 +80666910 0x80666910 +80666b20 0x80666b20 +80666c04 0x80666c04 +80666edc 0x80666edc +806670b4 0x806670b4 +806670b8 0x806670b8 +806670bc 0x806670bc +80667220 0x80667220 +80667318 0x80667318 +80667424 0x80667424 +8066752c 0x8066752c +80667568 0x80667568 +80667578 0x80667578 +80667590 0x80667590 +806675dc 0x806675dc +80667650 0x80667650 +806676e4 0x806676e4 +806676ec 0x806676ec +80667820 Page::EndExitState +80667824 0x80667824 +80667828 0x80667828 +80667b60 0x80667b60 +80667b64 0x80667b64 +80667b6c 0x80667b6c +80667b74 0x80667b74 +80667b7c 0x80667b7c +80667b84 0x80667b84 +80667b8c 0x80667b8c +80667b94 0x80667b94 +80667b9c 0x80667b9c +80667c44 0x80667c44 +80667d2c 0x80667d2c +80667d34 0x80667d34 +80667d40 0x80667d40 +80667d4c 0x80667d4c +80667d58 0x80667d58 +80667d64 0x80667d64 +80667d94 0x80667d94 +80667dc4 0x80667dc4 +80667df4 0x80667df4 +80667e24 0x80667e24 +80667e54 0x80667e54 +80667e80 ServerMgr::__dt +80667fc8 0x80667fc8 +80668024 ServerMgr::DestroyInstance +80668120 ServerMgr::CreateInstance +80668184 ServerMgr::__ct +8066831c 0x8066831c +80668340 0x80668340 +80668380 0x80668380 +806683e8 0x806683e8 +806684ec 0x806684ec +806685b8 0x806685b8 +806685cc 0x806685cc +80668610 ServerMgr::GetServerState +80668618 ServerMgr::GetState +80668620 0x80668620 +8066863c 0x8066863c +80668648 ServerMgr::GetError +80668650 ServerMgr::CountFriendsToInviteViaMsgBoard +80668764 0x80668764 +8066876c 0x8066876c +80668774 0x80668774 +806688d0 ServerMgr::Update +80668910 ServerMgr::Update_switch +80668914 ServerMgr::Update_caseD_1 +80668938 ServerMgr::Update_caseD_8 +80668940 ServerMgr::Update_caseD_16 +80668948 ServerMgr::Update_caseD_9 +80668a60 ServerMgr::Update_caseD_3 +80668d8c ServerMgr::Update_caseD_0 +80668da0 0x80668da0 +80668ec4 0x80668ec4 +806692e0 0x806692e0 +80669320 0x80669320 +80669360 BundleSortProc +80669370 0x80669370 +80669378 0x80669378 +80669454 0x80669454 +80669458 0x80669458 +806694c8 0x806694c8 +806696bc 0x806696bc +80669784 0x80669784 +80669844 0x80669844 +80669a10 0x80669a10 +80669aac 0x80669aac +80669e28 0x80669e28 +8066a0e0 0x8066a0e0 +8066a144 0x8066a144 +8066a394 0x8066a394 +8066a408 0x8066a408 +8066a618 0x8066a618 +8066a93c 0x8066a93c +8066aa84 0x8066aa84 +8066ab28 ServerMgr::GetRKG +8066ac5c 0x8066ac5c +8066aeb8 0x8066aeb8 +8066af24 0x8066af24 +8066b32c 0x8066b32c +8066b420 0x8066b420 +8066b448 0x8066b448 +8066b6d8 0x8066b6d8 +8066b7e8 ServerMgr::CheckNWC24Available +8066b7f4 0x8066b7f4 +8066b954 0x8066b954 +8066b9fc 0x8066b9fc +8066ba8c 0x8066ba8c +8066bb28 0x8066bb28 +8066bb94 ServerMgr::HasCourseNewFriendRecord +8066bc84 0x8066bc84 +8066bcd8 0x8066bcd8 +8066be64 0x8066be64 +8066bee0 0x8066bee0 +8066bf44 ServerMgr::GetCompetitionInfo +8066c070 0x8066c070 +8066c0c0 0x8066c0c0 +8066c0d0 0x8066c0d0 +8066c19c ServerMgr::GetSpecialGhostInfo +8066c1b8 0x8066c1b8 +8066c238 0x8066c238 +8066c9c8 0x8066c9c8 +8066ccd4 0x8066ccd4 +8066cda0 0x8066cda0 +8066ce60 0x8066ce60 +8066d13c 0x8066d13c +8066d228 0x8066d228 +8066d3b4 0x8066d3b4 +8066d400 0x8066d400 +8066d6b4 0x8066d6b4 +8066d7cc 0x8066d7cc +8066d9c8 0x8066d9c8 +8066db1c 0x8066db1c +8066dcc0 0x8066dcc0 +8066deb0 0x8066deb0 +8066df7c 0x8066df7c +8066e0ec 0x8066e0ec +8066e1c8 0x8066e1c8 +8066e298 0x8066e298 +8066e520 0x8066e520 +8066e5d0 0x8066e5d0 +8066e738 0x8066e738 +8066e7d8 0x8066e7d8 +8066e930 0x8066e930 +8066eb18 0x8066eb18 +8066ebfc 0x8066ebfc +8066ef28 0x8066ef28 +8066f0b4 0x8066f0b4 +8066f234 0x8066f234 +8066f478 0x8066f478 +8066f610 0x8066f610 +8066f8b4 0x8066f8b4 +8066fd18 0x8066fd18 +80670274 0x80670274 +8067066c 0x8067066c +80670878 0x80670878 +80670980 0x80670980 +806709fc 0x806709fc +80670aac 0x80670aac +80670bf4 0x80670bf4 +80670c78 0x80670c78 +80670ddc 0x80670ddc +80670eb4 0x80670eb4 +806711b8 0x806711b8 +806712e8 ServerMgr::PublishMsgBoardAsync +80671464 ServerMgr::PublishMsgBoard +8067173c ServerMgr::InitCHJObj +80671990 0x80671990 +806719a8 0x806719a8 +806719bc ServerMgr::RequestMsgBoardPublish +80671b0c 0x80671b0c +80671c8c 0x80671c8c +80671cf8 0x80671cf8 +80671eac 0x80671eac +8067206c 0x8067206c +806721a8 0x806721a8 +80672334 0x80672334 +80672480 0x80672480 +80672750 0x80672750 +806727dc 0x806727dc +80672884 0x80672884 +80672934 0x80672934 +80672bd4 0x80672bd4 +80672f3c 0x80672f3c +806730ac 0x806730ac +80673108 0x80673108 +80673258 0x80673258 +806733a8 0x806733a8 +806734f8 0x806734f8 +8067366c 0x8067366c +806737c0 0x806737c0 +80673940 0x80673940 +80673b84 0x80673b84 +80673cc4 0x80673cc4 +80673e00 0x80673e00 +80673e98 0x80673e98 +80673fc8 0x80673fc8 +806740a4 0x806740a4 +80674150 0x80674150 +806741cc 0x806741cc +80674238 0x80674238 +806742a4 0x806742a4 +806742f4 0x806742f4 +8067443c 0x8067443c +80674574 0x80674574 +806746e8 0x806746e8 +8067475c 0x8067475c +80674798 ServerMgr::CreateRKGFromRKG +8067489c ServerMgr::CheckGhostDataValidity +80674970 0x80674970 +806749f0 0x806749f0 +806749f8 0x806749f8 +80674ab0 0x80674ab0 +80674ac0 0x80674ac0 +80674b98 0x80674b98 +80674c90 0x80674c90 +80674cf8 0x80674cf8 +80674d10 0x80674d10 +80674d34 0x80674d34 +80674d3c 0x80674d3c +80674d90 0x80674d90 +80674eb4 0x80674eb4 +80675140 0x80675140 +806751ec 0x806751ec +806754b4 0x806754b4 +806755d8 0x806755d8 +8067573c 0x8067573c +80675748 0x80675748 +8067579c 0x8067579c +806757f0 0x806757f0 +80675834 0x80675834 +8067583c 0x8067583c +8067588c 0x8067588c +80675894 0x80675894 +806758b4 0x806758b4 +806758f4 0x806758f4 +80675940 0x80675940 +80675a50 0x80675a50 +80675aa8 0x80675aa8 +80675bb4 0x80675bb4 +80675d20 0x80675d20 +80675ecc 0x80675ecc +80675ed8 0x80675ed8 +80675f70 0x80675f70 +80675fdc 0x80675fdc +80675fe8 0x80675fe8 +80675ffc 0x80675ffc +80676838 0x80676838 +80676864 0x80676864 +80676888 0x80676888 +80676894 0x80676894 +8067689c 0x8067689c +806768a4 0x806768a4 +806768ac 0x806768ac +806769ec 0x806769ec +80676a34 0x80676a34 +80676ab0 0x80676ab0 +80676c50 0x80676c50 +80676d1c 0x80676d1c +80676dc4 0x80676dc4 +80676eec 0x80676eec +80676f78 0x80676f78 +80676ffc 0x80676ffc +806770f8 0x806770f8 +806771d0 0x806771d0 +80677260 0x80677260 +80677354 0x80677354 +806773ec 0x806773ec +806774d0 0x806774d0 +806775d0 0x806775d0 +8067761c 0x8067761c +806776c8 0x806776c8 +80677848 0x80677848 +80677904 0x80677904 +80677984 0x80677984 +806779f0 0x806779f0 +80677a54 0x80677a54 +80677a68 0x80677a68 +80677b10 0x80677b10 +80677bf8 0x80677bf8 +80677c94 0x80677c94 +80677cac 0x80677cac +80677cd8 0x80677cd8 +80677ce4 0x80677ce4 +80677cec 0x80677cec +80677dac 0x80677dac +80677eb8 0x80677eb8 +80677ebc 0x80677ebc +80678020 0x80678020 +80678094 0x80678094 +80678118 0x80678118 +806781e4 0x806781e4 +80678500 0x80678500 +806785b8 0x806785b8 +80678638 0x80678638 +80678690 0x80678690 +806786d8 0x806786d8 +806786e4 0x806786e4 +806786ec 0x806786ec +806786f4 0x806786f4 +80678708 0x80678708 +806788e8 0x806788e8 +806789e8 thunk_0x801de348 +806789ec 0x806789ec +806789fc 0x806789fc +80678bd4 0x80678bd4 +80678d8c 0x80678d8c +80679114 0x80679114 +806792d8 0x806792d8 +80679560 0x80679560 +80679724 0x80679724 +80679908 0x80679908 +80679aec 0x80679aec +80679bf8 0x80679bf8 +80679e1c 0x80679e1c +80679f28 0x80679f28 +8067a26c 0x8067a26c +8067a2b0 0x8067a2b0 +8067a318 0x8067a318 +8067a3a0 0x8067a3a0 +8067a3a8 0x8067a3a8 +8067a4ac Page::EndExitState +8067a4b0 0x8067a4b0 +8067a4b4 0x8067a4b4 +8067a798 0x8067a798 +8067a79c 0x8067a79c +8067a7a4 0x8067a7a4 +8067a7ac 0x8067a7ac +8067a7b4 0x8067a7b4 +8067a7bc 0x8067a7bc +8067a7c4 0x8067a7c4 +8067a7cc 0x8067a7cc +8067a7d4 0x8067a7d4 +8067a87c 0x8067a87c +8067a964 Effects::Mgr::GetRuntimeTypeInfo +8067a970 EffectsMgrcpp_sinit_ +8067a984 Effects::MGWhiteFog::__ct +8067a9f4 Effects::MGWhiteFog::__dt +8067aa34 Effects::MGWhiteFog::Update +8067aab4 Effects::MGWhiteFog::UpdateEffect +8067ab20 Effects::MGWhiteFog::Kill +8067ab34 Effects::Mgr::CreateInstance +8067abec Effects::Mgr::Init +8067af5c Effects::Mgr::Reset +8067b160 Effects::Sub9d8::__dt +8067b1a0 Effects::Mgr::LoadRaceEffects +8067bb60 Effects::Mgr::CreatePlayerEffects +8067bbec Effects::Mgr::CreateEffects::Items +8067bc2c Effects::Mgr::LoadObjectEffect +8067c050 0x8067c050 +8067c0b8 Effects::Mgr::InitRace +8067c1f4 Effects::Mgr::Update +8067c290 0x8067c290 +8067c30c Effects::Mgr::CalcPlayerEffects +8067c4b0 Effects::Mgr::UpdatePlayersVisibility +8067c5e0 Effects::Mgr::Draw +8067cd60 0x8067cd60 +8067cf78 0x8067cf78 +8067d0c0 Object::GetClipInfo +8067d0c8 Effects::Mgr::UpdatePlayerFromWheelCollision +8067d0e4 Effects::Mgr::UpdatePlayerFromKartCollision +8067d114 Effects::Mgr::GetMenuEffectByIdx +8067d11c Effects::Mgr::CalcEffect1 +8067d13c Effects::Mgr::DrawEffect1 +8067d160 Effects::Mgr::DrawSelfItem +8067d310 0x8067d310 +8067d32c Effects::Mgr::IsEveryoneLookingForwards +8067d388 Effects::Mgr::IsMTOrPlayer0xF4 +8067d3c4 0x8067d3c4 +8067d480 Effects::Sub9d8::Update +8067d728 0x8067d728 +8067d89c 0x8067d89c +8067d8dc dGeomEnable +8067d8ec 0x8067d8ec +8067d9f0 ObjectCollidable::__dt +8067da30 Object::__dt +8067da70 Objects::FlamePoleEff::OnStart +8067da7c Objects::FlamePoleEff::Update +8067dc34 0x8067dc34 +8067dcdc 0x8067dcdc +8067dd58 0x8067dd58 +8067dd60 Objects::FlamePole::__ct +8067e158 Vec3::EulerFromMatrix +8067e168 ObjectExternKCL::__dt +8067e1a8 ObjectKCL::__dt +8067e1e8 0x8067e1e8 +8067e24c Objects::FlamePole::__dt +8067e300 Objects::FlamePole::OnStart +8067e5dc Objects::FlamePole::OnUpdate +8067e8ac Objects::FlamePole::UpdateModelMatrix +8067e948 0x8067e948 +8067e95c 0x8067e95c +8067e960 Objects::FlamePole::CalcOtherEntityDistance +8067eaf0 0x8067eaf0 +8067eba4 0x8067eba4 +8067ebb0 0x8067ebb0 +8067ec58 0x8067ec58 +8067ec70 0x8067ec70 +8067ecbc 0x8067ecbc +8067ed18 0x8067ed18 +8067ed1c 0x8067ed1c +8067ed20 0x8067ed20 +8067ed24 0x8067ed24 +8067ee34 0x8067ee34 +8067eed0 0x8067eed0 +8067eed4 0x8067eed4 +8067ef50 0x8067ef50 +8067f0f8 0x8067f0f8 +8067f224 Objects::FlamePole::GetTransformationMatrix +8067f2bc 0x8067f2bc +8067f460 0x8067f460 +8067f488 Objects::FlamePole::UpdateOtherEntityPosWithRot +8067f4f4 Objects::FlamePole::IsCollidingNoTriangleCheckImpl +8067f884 0x8067f884 +8067fc14 ObjectEffect::__dt +8067fc6c Object::DoCalcShadowMtx +8067fc74 Object::vf_0xa8 +8067fc7c Object::IsLodDisabled +8067fc84 Object::GetEntity +8067fc8c Object::vf_0x84 +8067fc94 Object::GetShadowListIdx +8067fc9c Object::UpdateShadowScale +8067fcc8 Object::UpdateModelScale +8067fd38 Object::GetShadowResName +8067fd40 Object::GetLowResourceName +8067fd48 Object::GetSubFileName +8067fd9c Object::GetBRRESName +8067fdf0 Object::GetName +8067fe44 do_nothing_7d8 +8067fe48 do_nothing_7dc +8067fe4c ObjectKCL::GetScnObjDrawOptionsIdx +8067fe54 ObjectExternKCL::UpdateKCL +8067fe5c ObjectExternKCL::IsCollidingNoTerrainInfo +8067ff58 ObjectExternKCL::HasCurrentCollision +8067ff60 ObjectExternKCL::vf_0x13c +8067ff68 ObjectExternKCL::IsCollidingAddEntryNoTerrainInfo +80680064 ObjectExternKCL::HasCollision +8068006c ObjectExternKCL::IsDriveable +80680074 ObjectExternKCL::vf_0xfc +80680170 ObjectExternKCL::IsCollidingAddEntry +80680180 ObjectExternKCL::IsCollidingNoTerrainInfo(no radius) +80680238 ObjectExternKCL::IsCollidingAddEntryNoTerrainInfo(no radius) +806802f0 ObjectExternKCL::vf_0xec +806803a8 ObjectExternKCL::IsCollidingAddEntry(no radius) +80680460 ObjectExternKCL::IsCollidingNoTerrainInfoNoTriangleCheck +8068055c ObjectExternKCL::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80680658 ObjectExternKCL::IsColliding +80680754 ObjectExternKCL::IsCollidingAddEntryNoTriangleCheck +80680764 ObjectExternKCL::vf_0xc0 +8068081c ObjectExternKCL::vf_0xc4 +806808d4 ObjectExternKCL::vf_0xc8 +8068098c ObjectExternKCL::vf_0xcc +80680a44 ObjectExternKCL::UpdateOtherEntityPos +80680a98 ObjectExternKCL::SetObjInfoCalcBit +80680aa8 ObjectExternKCL::GetPeriod +80680ab4 ObjectExternKCL::GetPosition +80680abc ObjectExternKCL::UpdateDiffPosVector +80680ae8 ObjectExternKCL::vf_0xb4 +80680afc ObjectExternKCL::UpdateCollision +80680b10 Objects::FlamePole::vf__0x11c +80680b1c Objects::FlamePole::vf_0x108 +80680b28 Objects::FlamePole::AreItemsAllowed +80680b30 Objects::FlamePole::GetCollisionDiameter +80680b74 Objects::FlamePole::LoadAnimations +80680bf4 0x80680bf4 +80680bfc Objects::FlamePole::GetPropertiesBitfield +80680c04 Object::GetPosition +80680c0c ObjectCollidable::GetCollisionDiameter +80680d24 ObjectCollidable::GetSolidityCenter +80680d44 ObjectCollidable::InitEntity +80680da0 ObjectCollidable::IsSolid +80680da8 ObjectCollidable::GetCollisionTranslation +80680db4 ObjectCollidable::CheckCollision +80680e08 ObjectCollidable::OnCollision +80680e10 ObjectCollidable::OnItemCollision +80680e18 ObjectCollidable::GetScnObjDrawOptionsIdx +80680e20 Objects::FlamePoleEff::LoadAnimations +80680e78 Objects::FlamePoleEff::vf_0xec +80680e80 Objects::FlamePoleEff::GetBRRESName +80680e8c Objects::FlamePoleEff::GetPropertiesBitfield +80680e94 Objects::FlamePoleEff::__dt +80680ed4 Objects::FlamePole::__dt(thunk) +80680edc 0x80680edc +80680fbc 0x80680fbc +80681490 0x80681490 +80681504 0x80681504 +806817cc 0x806817cc +80681da8 0x80681da8 +80681f54 ObjectKCL::vf_0x111c +80681f5c ObjectKCL::vf_0x1118 +80681f60 ObjectKCL::UpdateOtherEntityPos +80681f64 ObjectKCL::SetObjInfoCalcBit +80681f68 ObjectKCL::CalcOtherEntityDistance +80681f6c ObjectKCL::vf_0x108 +80681f78 ObjectKCL::AreItemsAllowed +80681f80 ObjectKCL::UpdateKCL +80681f84 ObjectKCL::GetCollisionDiameter +80681f90 ObjectKCL::InitCollision +80681f94 0x80681f94 +80681f98 0x80681f98 +80681f9c 0x80681f9c +80681fa0 0x80681fa0 +80681fa4 0x80681fa4 +80681fac 0x80681fac +80681fb4 0x80681fb4 +80681fbc 0x80681fbc +80681fc4 0x80681fc4 +80681fc8 0x80681fc8 +80681fcc 0x80681fcc +80681fd0 0x80681fd0 +80681fd4 0x80681fd4 +80681fdc 0x80681fdc +80681fe4 0x80681fe4 +80681fec 0x80681fec +80681ff4 0x80681ff4 +80681ff8 0x80681ff8 +80681ffc 0x80681ffc +80682000 0x80682000 +80682004 0x80682004 +8068200c 0x8068200c +8068204c 0x8068204c +80682e28 0x80682e28 +80683c04 0x80683c04 +806849e0 0x806849e0 +806857bc 0x806857bc +80685bdc 0x80685bdc +80685ff4 0x80685ff4 +806862f8 0x806862f8 +806865f0 0x806865f0 +806867e8 0x806867e8 +8068684c 0x8068684c +8068690c 0x8068690c +80686a28 0x80686a28 +80686dd4 0x80686dd4 +80686dd8 0x80686dd8 +80686ddc 0x80686ddc +80686de0 0x80686de0 +80686e2c 0x80686e2c +80686e6c 0x80686e6c +80687010 0x80687010 +80687038 0x80687038 +80687098 0x80687098 +8068732c 0x8068732c +806873c4 ObjectExternKCL::UpdateOtherEntityPosWithRot +806873c8 ObjectExternKCL::vf_0x108 +806873d4 ObjectExternKCL::AreItemsAllowed +806873dc ObjectExternKCL::GetCollisionDiameter +8068741c ObjectExternKCL::GetYScale +80687424 0x80687424 +8068742c 0x8068742c +80687478 0x80687478 +80687480 0x80687480 +80687488 0x80687488 +80687490 obj_gnd_sphere::__ct +80687670 0x80687670 +80687714 0x80687714 +80687908 0x80687908 +8068790c 0x8068790c +80687b18 0x80687b18 +80687b58 0x80687b58 +80687e20 0x80687e20 +80687e7c 0x80687e7c +80688264 0x80688264 +80688308 0x80688308 +80688418 0x80688418 +806884cc 0x806884cc +8068851c 0x8068851c +8068856c 0x8068856c +806885bc 0x806885bc +8068860c 0x8068860c +8068865c 0x8068865c +806886ac 0x806886ac +806886fc 0x806886fc +8068874c 0x8068874c +8068879c 0x8068879c +8068896c 0x8068896c +806890e4 0x806890e4 +806891f0 0x806891f0 +806891f4 0x806891f4 +806891f8 0x806891f8 +806891fc 0x806891fc +80689200 0x80689200 +80689208 0x80689208 +80689210 0x80689210 +80689218 0x80689218 +80689220 0x80689220 +80689224 0x80689224 +80689228 0x80689228 +8068922c 0x8068922c +80689230 0x80689230 +80689238 0x80689238 +80689240 0x80689240 +80689248 0x80689248 +80689250 0x80689250 +80689254 0x80689254 +80689258 0x80689258 +8068925c 0x8068925c +80689260 0x80689260 +80689268 0x80689268 +806893f8 0x806893f8 +80689448 0x80689448 +80689498 0x80689498 +806894e8 0x806894e8 +80689538 0x80689538 +80689588 0x80689588 +806895d8 0x806895d8 +80689628 0x80689628 +80689678 0x80689678 +806896c8 0x806896c8 +806898a8 0x806898a8 +80689a38 0x80689a38 +80689a88 0x80689a88 +80689ad8 0x80689ad8 +80689b28 0x80689b28 +80689b78 0x80689b78 +80689bc8 0x80689bc8 +80689c18 0x80689c18 +80689c68 0x80689c68 +80689cb8 0x80689cb8 +80689d08 0x80689d08 +80689ef4 0x80689ef4 +8068a080 0x8068a080 +8068a0d0 0x8068a0d0 +8068a120 0x8068a120 +8068a170 0x8068a170 +8068a1c0 0x8068a1c0 +8068a210 0x8068a210 +8068a260 0x8068a260 +8068a2b0 0x8068a2b0 +8068a300 0x8068a300 +8068a350 0x8068a350 +8068a654 0x8068a654 +8068a7e0 0x8068a7e0 +8068a830 0x8068a830 +8068a880 0x8068a880 +8068a8d0 0x8068a8d0 +8068a920 0x8068a920 +8068a970 0x8068a970 +8068a9c0 0x8068a9c0 +8068aa10 0x8068aa10 +8068aa60 0x8068aa60 +8068aab0 0x8068aab0 +8068adbc 0x8068adbc +8068ae30 0x8068ae30 +8068afe8 0x8068afe8 +8068aff0 obj_gnd_wave1::__ct +8068b1d4 0x8068b1d4 +8068b278 0x8068b278 +8068b434 0x8068b434 +8068b438 obj_gnd_wave2::__ct +8068b650 0x8068b650 +8068b6f4 0x8068b6f4 +8068b89c 0x8068b89c +8068b8a0 0x8068b8a0 +8068bad0 0x8068bad0 +8068bb74 0x8068bb74 +8068c040 0x8068c040 +8068c044 0x8068c044 +8068c224 0x8068c224 +8068c2c8 0x8068c2c8 +8068c544 0x8068c544 +8068c548 Effects::Items::__ct +8068c8a0 Effects::Items::__dt +8068c8e0 Effects::Items::Init +8068c8ec 0x8068c8ec +8068c8f0 Effects::Items::CreateKouraTailGEffect +8068c944 Effects::Items::CreateKouraTailREffect +8068c998 Effects::Items::CreateKouraTailBEffect +8068c9ec 0x8068c9ec +8068ca14 0x8068ca14 +8068ca3c 0x8068ca3c +8068ca5c Effects::Items::FadeKouraTailGEffect +8068ca88 Effects::Items::FadeKouraTailREffect +8068cab4 Effects::Items::FadeKouraTailBEffect +8068cae0 Effects::Items::KillKouraTailGEffect +8068cb0c Effects::Items::KillKouraTailREffect +8068cb38 Effects::Items::KillKouraTailBEffect +8068cb64 Effects::Items::CreateKouraBrkGEffect +8068cbdc Effects::Items::CreateKouraBrkREffect +8068cc54 Effects::Items::CreateItemVanEffect +8068cc74 Effects::Items::CreateBombHeiEffect +8068cdb4 Effects::Items::CreateHaneKouraEffect +8068cdf0 Effects::Items::CreateBombHeiSparkEffect +8068ce88 Effects::Items:KillBombHeiEffect +8068ceb4 Effects::Items::CreateBananaEffect +8068cfc0 0x8068cfc0 +8068d054 Effects::Items::CreateKaminariGumoPreEffect +8068d144 Effects::Items::KillKaminariGumoPreEffect +8068d160 Effects::Items::CreateKaminariGumoVanEffect +8068d1f8 Effects::Items::UpdateKaminariGumoVanEffect +8068d374 Effects::Items::CreateKouraTailEffect +8068d600 0x8068d600 +8068d604 Effects::Player::__ct +8068de9c Effects::Player::GetRacedata +8068dea8 Effects::Player::GetCourseId +8068deb0 Effects::Player::Color::__ct +8068deb4 Effects::Player::Color::__dt +8068def4 Effects::Player::__dt +8068e014 Effects::Player::Init +8068e0c4 Effects::Player::Reset +8068e6b0 Effects::Player::LoadEffects +8068fde8 Effects::Player::LoadEffects_switch +8068fdec Effects::Player::LoadEffects_case0 +8068feb8 Effects::Player::LoadEffects_case1 +8068ff84 Effects::Player::LoadEffects_case2 +80690050 Effects::Player::LoadEffects_case3 +8069011c Effects::Player::LoadEffects_case4 +806901e8 Effects::Player::LoadEffects_case5 +806902b4 Effects::Player::LoadEffects_case6 +80690380 Effects::Player::LoadEffects_case7 +8069044c Effects::Player::LoadEffects_case8 +80690518 Effects::Player::LoadEffects_case9 +806905e4 Effects::Player::LoadEffects_casea +806906b0 Effects::Player::LoadEffects_caseb +806933c4 Effects::Player::Toggle +806933f0 Effects::Player::Update +80693500 Effects::Player::UpdateValues +80693d28 0x80693d28 +80694378 Effects::Player::UpdateItemEffect +80694c70 0x80694c70 +80694cd8 0x80694cd8 +80694f24 0x80694f24 +80694f60 Effects::Player::KillEffects +80695214 Effects::Player::UpdateNonItemEffects +8069635c 0x8069635c +80696588 0x80696588 +80696628 0x80696628 +806966a8 0x806966a8 +806967a4 0x806967a4 +806968a0 0x806968a0 +80696960 0x80696960 +80696a20 0x80696a20 +80696b30 0x80696b30 +80696c40 Effects::Player::CreateAndUpdateEffectsByIdx +80696df4 Effects::Player::FollowFadeEffectsByIdx +80696fe8 Effects::Player::CreateEffectsByIdx +8069705c Effects::Player::UpdateEffectsByIdx +80697198 Effects::Player::KillEffectsByIdx +8069724c Effects::Player::UpdateCollisionEffects +806973ac Effects::Player::UpdateCollisionEffects_caseD_0 +806973bc Effects::Player::UpdateCollisionEffects_caseD_1 +806973cc Effects::Player::UpdateCollisionEffects_caseD_2 +806973dc Effects::Player::UpdateCollisionEffects_caseD_3 +806973ec Effects::Player::UpdateCollisionEffects_caseD_4 +806973fc Effects::Player::UpdateCollisionEffects_caseD_5 +8069740c Effects::Player::UpdateCollisionEffects_caseD_6 +8069741c Effects::Player::UpdateCollisionEffects_caseD_7 +80697544 Effects::Player::UpdateCollisionEffects_case2D_0 +80697554 Effects::Player::UpdateCollisionEffects_case2D_1 +80697564 Effects::Player::UpdateCollisionEffects_case2D_2 +80697574 Effects::Player::UpdateCollisionEffects_case2D_3 +80697584 Effects::Player::UpdateCollisionEffects_case2D_4 +80697594 Effects::Player::UpdateCollisionEffects_case2D_5 +806975a4 Effects::Player::UpdateCollisionEffects_case2D_6 +806975b4 Effects::Player::UpdateCollisionEffects_case2D_7 +80697668 Effects::Player::UpdateVehicleEffects +80697694 Effects::Player::UpdateKartEffects +806985dc Effects::Player::UpdateBikeEffects +8069931c Effects::Player::UpdateJumpSmokeEffects +80699da4 0x80699da4 +80699f80 0x80699f80 +8069a260 0x8069a260 +8069a3ac 0x8069a3ac +8069a780 0x8069a780 +8069aa00 Effects::Player::UpdateStartUpEffects +8069adb4 Effects::Player::UpdateSlipStreamEffects +8069b164 Effects::Player::UpdateGasSmokeEffects +8069b6ac 0x8069b6ac +8069b828 0x8069b828 +8069b958 0x8069b958 +8069bcb4 0x8069bcb4 +8069bdfc 0x8069bdfc +8069be5c Effects::Player::UpdateWaterEffects +8069c584 0x8069c584 +8069c728 0x8069c728 +8069c78c Effects::Player::UpdateInBillEffects +8069d1a8 0x8069d1a8 +8069d210 Effects::Player::UpdateThunderEffects +8069d970 0x8069d970 +8069db80 0x8069db80 +8069df18 Effects::Player::Create228Effect +8069e1c8 Effects::Player::Create25CEffect +8069ea50 0x8069ea50 +8069ea88 0x8069ea88 +8069ecfc 0x8069ecfc +8069ef84 0x8069ef84 +8069f35c Effects::Player::UpdateInkEffect +8069f950 0x8069f950 +8069f9dc 0x8069f9dc +8069fa94 0x8069fa94 +806a01b8 0x806a01b8 +806a0648 Effects::Player::UpdateFromWheelCollision +806a07c8 Effects::Player::UpdateFromWheelCollision_switch +806a07cc Effects::Player::UpdateFromWheelCollision_caseD_0 +806a07e8 Effects::Player::UpdateFromWheelCollision_caseD_1 +806a0804 Effects::Player::UpdateFromWheelCollision_caseD_4 +806a0820 Effects::Player::UpdateFromWheelCollision_caseD_5 +806a083c Effects::Player::UpdateFromWheelCollision_caseD_3 +806a0854 Effects::Player::UpdateFromWheelCollision_caseD_2 +806a0868 Effects::Player::UpdateFromWheelCollision_caseD_6 +806a087c Effects::Player::UpdateFromWheelCollision_caseD_7 +806a0ccc Effects::Player::UpdateFromKartCollision +806a0e74 0x806a0e74 +806a0e8c 0x806a0e8c +806a0fa4 0x806a0fa4 +806a1044 Effects::Player::CreateAndUpdateEffectsByIdxVelocity +806a11d4 Effects::Player::FollowFadeEffectsByIdxVelocity +806a1334 0x806a1334 +806a1388 0x806a1388 +806a13dc 0x806a13dc +806a14b8 0x806a14b8 +806a151c 0x806a151c +806a1644 0x806a1644 +806a1720 0x806a1720 +806a1784 0x806a1784 +806a1860 0x806a1860 +806a18c4 0x806a18c4 +806a19b4 0x806a19b4 +806a1a90 0x806a1a90 +806a1af4 0x806a1af4 +806a1be4 0x806a1be4 +806a1c58 0x806a1c58 +806a1d0c 0x806a1d0c +806a1dec 0x806a1dec +806a1e50 0x806a1e50 +806a1f78 0x806a1f78 +806a2058 0x806a2058 +806a20bc 0x806a20bc +806a21e4 0x806a21e4 +806a2280 0x806a2280 +806a229c 0x806a229c +806a2350 0x806a2350 +806a2470 0x806a2470 +806a24f8 0x806a24f8 +806a258c 0x806a258c +806a27a4 0x806a27a4 +806a27f0 0x806a27f0 +806a28d8 0x806a28d8 +806a2a20 0x806a2a20 +806a2b10 0x806a2b10 +806a2c38 0x806a2c38 +806a2c84 0x806a2c84 +806a2d34 0x806a2d34 +806a2e24 0x806a2e24 +806a2e88 0x806a2e88 +806a2f04 0x806a2f04 +806a2f50 0x806a2f50 +806a2fb4 0x806a2fb4 +806a3130 0x806a3130 +806a33b4 0x806a33b4 +806a35fc 0x806a35fc +806a368c 0x806a368c +806a371c 0x806a371c +806a37b8 0x806a37b8 +806a38b4 0x806a38b4 +806a3984 0x806a3984 +806a3a20 0x806a3a20 +806a3b1c 0x806a3b1c +806a3bec 0x806a3bec +806a3c88 0x806a3c88 +806a3d84 0x806a3d84 +806a3e54 0x806a3e54 +806a3edc 0x806a3edc +806a3f8c 0x806a3f8c +806a4034 0x806a4034 +806a40e4 0x806a40e4 +806a418c 0x806a418c +806a4200 0x806a4200 +806a42a4 0x806a42a4 +806a4354 0x806a4354 +806a4418 0x806a4418 +806a44c8 0x806a44c8 +806a458c 0x806a458c +806a463c 0x806a463c +806a4700 0x806a4700 +806a47b0 0x806a47b0 +806a4874 0x806a4874 +806a4944 0x806a4944 +806a49e8 0x806a49e8 +806a4b3c 0x806a4b3c +806a4ccc 0x806a4ccc +806a4fe8 0x806a4fe8 +806a506c 0x806a506c +806a53f8 0x806a53f8 +806a541c 0x806a541c +806a54a0 0x806a54a0 +806a581c 0x806a581c +806a58a0 0x806a58a0 +806a5910 Vec3::DivideByScalar +806a5944 0x806a5944 +806a59a0 0x806a59a0 +806a5a94 0x806a5a94 +806a5c58 Effects::Player::CreateRKHitEffect +806a5d10 Effects::Player::OnBushCollision +806a5e50 0x806a5e50 +806a5e64 Effects::Player::CreateSpinEffect +806a6098 0x806a6098 +806a6144 0x806a6144 +806a62a0 0x806a62a0 +806a634c 0x806a634c +806a64a8 0x806a64a8 +806a6554 0x806a6554 +806a66b0 0x806a66b0 +806a675c 0x806a675c +806a68b8 0x806a68b8 +806a692c 0x806a692c +806a69d0 0x806a69d0 +806a6a44 0x806a6a44 +806a6ae8 0x806a6ae8 +806a6b94 0x806a6b94 +806a6c38 0x806a6c38 +806a6cac 0x806a6cac +806a6d50 0x806a6d50 +806a6e20 0x806a6e20 +806a6ec4 0x806a6ec4 +806a7060 0x806a7060 +806a7150 0x806a7150 +806a71d4 0x806a71d4 +806a7274 0x806a7274 +806a72f8 0x806a72f8 +806a739c 0x806a739c +806a7440 0x806a7440 +806a7510 0x806a7510 +806a7574 0x806a7574 +806a75ec 0x806a75ec +806a760c 0x806a760c +806a76b8 0x806a76b8 +806a775c 0x806a775c +806a77c0 0x806a77c0 +806a7830 0x806a7830 +806a78d4 Effects::Player::CreateKartBrakeBackwardsEffects +806a79e8 Effects::Player::KillKartBrakeBackwardsEffects +806a7b08 0x806a7b08 +806a7b50 0x806a7b50 +806a7bf4 Effects::Player::CreateBikeBrakeBackwardsEffects +806a7ce8 Effects::Player::KillBikeBrakeBackwardsEffects +806a7de8 0x806a7de8 +806a7e88 0x806a7e88 +806a7f64 0x806a7f64 +806a8004 0x806a8004 +806a8084 0x806a8084 +806a8140 Effects::Player::CreateStarEffect +806a831c Effects::Player::UpdateStarEffect +806a8598 Effects::Player::CreateRKKiller +806a86dc Effects::Player::UpdateRKKiller +806a8910 0x806a8910 +806a8994 0x806a8994 +806a8a14 0x806a8a14 +806a8a98 0x806a8a98 +806a8bbc 0x806a8bbc +806a8c5c 0x806a8c5c +806a8d38 0x806a8d38 +806a8f38 0x806a8f38 +806a91b4 0x806a91b4 +806a93b4 0x806a93b4 +806a9630 0x806a9630 +806a9834 0x806a9834 +806a98e0 0x806a98e0 +806a99a8 0x806a99a8 +806a9b38 0x806a9b38 +806a9b74 0x806a9b74 +806a9b9c Effects::Player::UpdatePowEffect +806a9df0 Effects::Player::UpdatePow1Effect +806a9ff4 0x806a9ff4 +806aa098 0x806aa098 +806aa214 0x806aa214 +806aa264 0x806aa264 +806aa350 0x806aa350 +806aa46c 0x806aa46c +806aa570 Effects::Player::UpdateNiseBoxBiriEffect +806aa740 0x806aa740 +806aa840 0x806aa840 +806aa904 0x806aa904 +806aa9a8 0x806aa9a8 +806aaad4 0x806aaad4 +806aab78 0x806aab78 +806aac78 0x806aac78 +806aad1c 0x806aad1c +806aaf0c Effects::Player::TriggerPochaEffect +806ab160 0x806ab160 +806ab188 0x806ab188 +806ab1c8 Effects::Player::CreatePochaEffect +806ab3a8 0x806ab3a8 +806ab57c 0x806ab57c +806ab614 0x806ab614 +806ab72c 0x806ab72c +806ab7ac 0x806ab7ac +806ab87c 0x806ab87c +806ab924 0x806ab924 +806aba6c 0x806aba6c +806abc84 0x806abc84 +806abd08 0x806abd08 +806abda8 0x806abda8 +806abe7c 0x806abe7c +806abf90 0x806abf90 +806ac170 0x806ac170 +806ac188 0x806ac188 +806ac628 0x806ac628 +806ac6f4 0x806ac6f4 +806acb84 0x806acb84 +806acc50 0x806acc50 +806ad0e0 0x806ad0e0 +806ad1ac 0x806ad1ac +806ad338 0x806ad338 +806ad34c 0x806ad34c +806ad4c4 0x806ad4c4 +806ad4d8 0x806ad4d8 +806ad54c 0x806ad54c +806ad560 Effects::Player::CreateSandEffect +806ad9d8 Effects::Player::Color::__ct(args) +806ad9ec Effects::Player::Color::operator= +806ada10 0x806ada10 +806adbf8 Effects::Player::CreateGrassEffect +806adf58 0x806adf58 +806ae134 Effects::Player::CreateSnowDirtEffect +806ae428 0x806ae428 +806ae5f4 0x806ae5f4 +806ae6a4 Effects::Player::CreateSnowRoadEffect +806aeb3c 0x806aeb3c +806aedd4 Effects::Player::CreateWaterEffect +806af058 0x806af058 +806af270 Effects::Player::CreateMudEffect +806af57c 0x806af57c +806af704 Effects::Player::CreateFlowerEffect +806af9a0 0x806af9a0 +806afb28 Effects::Player::CreateStoneEffect +806afdc0 0x806afdc0 +806aff44 0x806aff44 +806b0220 0x806b0220 +806b0470 0x806b0470 +806b081c 0x806b081c +806b0d88 Effects::Player::SetOffroadColors +806b1c18 0x806b1c18 +806b1d88 0x806b1d88 +806b1dd0 0x806b1dd0 +806b1eec 0x806b1eec +806b1f34 0x806b1f34 +806b1fb8 0x806b1fb8 +806b1fd0 0x806b1fd0 +806b22cc 0x806b22cc +806b2418 0x806b2418 +806b2968 0x806b2968 +806b2a4c 0x806b2a4c +806b2ac8 0x806b2ac8 +806b2d04 Effects::Player::SetGessoEffectsVisibility +806b2e38 Effects::Player::UpdateGessoEffectsVisibility +806b2f14 0x806b2f14 +806b2f6c Vector3_rotate +806b304c 0x806b304c +806b3130 0x806b3130 +806b31ac 0x806b31ac +806b3310 Vec3::CalcYAxisRotMtx +806b3488 0x806b3488 +806b35dc 0x806b35dc +806b3774 0x806b3774 +806b384c 0x806b384c +806b3934 0x806b3934 +806b3ae0 0x806b3ae0 +806b3c24 0x806b3c24 +806b3d10 0x806b3d10 +806b3d64 0x806b3d64 +806b3dc8 0x806b3dc8 +806b49ec 0x806b49ec +806b4b9c 0x806b4b9c +806b4c30 0x806b4c30 +806b5014 -bx^2+ax +806b5078 CreateParabola +806b509c 0x806b509c +806b50a0 0x806b50a0 +806b50a4 0x806b50a4 +806b50a8 0x806b50a8 +806b50ac 0x806b50ac +806b5134 Effects::Mgr::CreateOneTimeEffect(pos) +806b5194 Effects::Mgr::CreateOneTimeEffect(mtx) +806b51f4 Effects::Mgr::CreateOneTimeEffect(pos, scale) +806b5270 Effects::Mgr::CreateOneTimeEffect(mtx, scale) +806b52ec 0x806b52ec +806b52f0 Objects::Basabasa::__ct +806b5488 0x806b5488 +806b54ec Objects::Basabasa::OnStart +806b5694 Objects::Basabasa::vf_0x10 +806b5698 Objects::Basabasa::Update +806b576c 0x806b576c +806b58f4 0x806b58f4 +806b5b98 0x806b5b98 +806b5ee0 Objects::Basabasa::OnCollision +806b6084 Objects::Basabasa::OnItemCollision +806b6518 Objects::Basabasa::UpdateShadow +806b673c Objects::BasabasaMgr::__ct +806b6960 Objects::BasabasaMgr::__dt +806b69a0 Objects::BasabasaMgr::OnStart +806b6b2c Objects::BasabasaMgr::vf_0x10 +806b6b30 Objects::BasabasaMgr::Update +806b6c84 Objects::BasabasaMgr::LoadClipInfo +806b6c88 Objects::BasabasaMgr::LoadCollision +806b6c8c Objects::BasabasaMgr::LoadRoute +806b6c90 Objects::BasabasaMgr::LoadModels +806b6c94 Objects::BasabasaMgr::GetPropertiesBitfield +806b6c9c Objects::Basabasa::__dt +806b6d08 0x806b6d08 +806b6d10 Objects::Basabasa::LoadAnimations +806b6d54 Objects::Basabasa::GetName +806b6d60 Objects::Basabasa::GetSubFileName +806b6d6c Objects::Basabasa::GetPropertiesBitfield +806b6d74 Objects::Basabasa::__dt(thunk) +806b6d7c Objects::CarA::__ct +806b6ed4 0x806b6ed4 +806b6f38 Objects::CarA::__dt +806b6fb0 Objects::CarA::LoadModels +806b71b0 Objects::CarA::LoadCollision +806b7230 Objects::CarA::UpdateCollision +806b734c Objects::CarA::OnStart +806b74cc Objects::CarA::OnCollision +806b7698 Objects::CarA::OnItemCollision +806b7938 Objects::CarA::Update +806b7b68 0x806b7b68 +806b7bf4 0x806b7bf4 +806b7c18 0x806b7c18 +806b7d5c Objects::CarA::UpdateRoute +806b7ea4 0x806b7ea4 +806b7eb0 0x806b7eb0 +806b7f80 0x806b7f80 +806b8014 0x806b8014 +806b8338 0x806b8338 +806b83a8 0x806b83a8 +806b84c0 0x806b84c0 +806b8548 0x806b8548 +806b8550 Objects::CarA::LoadAnimations +806b85b0 Objects::CarA::GetPropertiesBitfield +806b85b8 MiiCreationParams::__dt +806b85f8 Objects::CarA::__dt(thunk) +806b8600 0x806b8600 +806b86e0 0x806b86e0 +806b8720 0x806b8720 +806b8750 0x806b8750 +806b87d0 0x806b87d0 +806b88d8 0x806b88d8 +806b88e0 0x806b88e0 +806b8a38 0x806b8a38 +806b8a94 0x806b8a94 +806b8b0c 0x806b8b0c +806b8b80 0x806b8b80 +806b8c00 0x806b8c00 +806b8ce0 0x806b8ce0 +806b8d0c 0x806b8d0c +806b9194 0x806b9194 +806b91f8 0x806b91f8 +806b9264 0x806b9264 +806b94cc 0x806b94cc +806b97b0 0x806b97b0 +806b99e4 0x806b99e4 +806b9d44 0x806b9d44 +806b9e68 0x806b9e68 +806ba258 0x806ba258 +806ba7b0 0x806ba7b0 +806baa00 0x806baa00 +806baa04 0x806baa04 +806baa08 0x806baa08 +806bac5c 0x806bac5c +806baea4 0x806baea4 +806baea8 0x806baea8 +806baeac 0x806baeac +806bb0e8 0x806bb0e8 +806bb154 0x806bb154 +806bb1ec 0x806bb1ec +806bb308 0x806bb308 +806bb448 0x806bb448 +806bb450 0x806bb450 +806bb4a0 0x806bb4a0 +806bb4a8 0x806bb4a8 +806bb4ac 0x806bb4ac +806bb4b0 0x806bb4b0 +806bb4b8 0x806bb4b8 +806bb4c4 0x806bb4c4 +806bb4d0 0x806bb4d0 +806bb4d8 0x806bb4d8 +806bb518 0x806bb518 +806bb51c 0x806bb51c +806bb524 0x806bb524 +806bb52c Objects::CowBase::__ct +806bb590 Objects::CowBase::__dt +806bb5d0 0x806bb5d0 +806bb790 0x806bb790 +806bb918 Objects::CowBase::OnCollision +806bba5c Objects::CowBase::OnItemCollision +806bbc2c 0x806bbc2c +806bbd44 0x806bbd44 +806bbee8 Objects::CowBase::vf_0xf0 +806bc040 0x806bc040 +806bc194 0x806bc194 +806bc210 0x806bc210 +806bc32c 0x806bc32c +806bc430 0x806bc430 +806bc4f4 0x806bc4f4 +806bc5b8 0x806bc5b8 +806bc640 0x806bc640 +806bc6ec Objects::CowLeader::__ct +806bc800 0x806bc800 +806bc864 Objects::CowLeader::__dt +806bc8d0 Objects::CowLeader::OnStart +806bc9f4 Objects::CowLeader::Update +806bcd1c 0x806bcd1c +806bcda4 0x806bcda4 +806bce44 0x806bce44 +806bceb8 0x806bceb8 +806bd088 0x806bd088 +806bd0dc 0x806bd0dc +806bd344 Objects::CowLeader::vf_0xf0 +806bd3b0 0x806bd3b0 +806bd3b4 Objects::CowVassal::__ct +806bd5fc 0x806bd5fc +806bd660 Objects::CowVassal::__dt +806bd6cc Objects::CowVassal::OnStart +806bd814 Objects::CowVassal::Update +806bdb54 0x806bdb54 +806bdbec 0x806bdbec +806bdc98 0x806bdc98 +806bde00 0x806bde00 +806bdf9c 0x806bdf9c +806be038 0x806be038 +806be1c0 Objects::CowGroup::__ct +806be658 Objects::CowGroup::__dt +806be698 Objects::CowGroup::OnStart +806be6d0 Objects::CowGroup::Update +806be780 0x806be780 +806be9b0 Objects::CowGroup::LoadClipInfo +806be9b4 Objects::CowGroup::LoadCollision +806be9b8 Objects::CowGroup::LoadRoute +806be9bc Objects::CowGroup::LoadModels +806be9c0 Objects::CowGroup::GetPropertiesBitfield +806be9c8 Objects::CowBase::vf_0xec +806be9d0 Objects::CowBase::LoadAnimations +806bea8c Objects::CowVassal::LoadRoute +806bea90 Objects::CowVassal::GetPropertiesBitfield +806bea98 Objects::CowLeader::GetPropertiesBitfield +806beaa0 Object::GetGetPropertiesBitfield +806beab4 Object::Update +806beb24 Objects::CowLeader::__dt(thunk) +806beb2c Objects::CowVassal::__dt(thunk) +806beb34 0x806beb34 +806beba4 0x806beba4 +806bebe4 0x806bebe4 +806bec50 0x806bec50 +806bec70 0x806bec70 +806bedd0 0x806bedd0 +806bedd4 0x806bedd4 +806beddc 0x806beddc +806bee1c 0x806bee1c +806bee24 0x806bee24 +806bee68 0x806bee68 +806beeec 0x806beeec +806beef4 0x806beef4 +806bef84 0x806bef84 +806befc4 0x806befc4 +806bf05c 0x806bf05c +806bf060 0x806bf060 +806bf140 0x806bf140 +806bf180 Objects::Cannon::__ct +806bf2b4 Objects::Cannon::LoadAnimations +806bf3fc Objects::Cannon::__dt +806bf448 Objects::Cannon::OnStart +806bf53c Objects::Cannon::Update +806bfa78 Objects::Cannon::OnActivation +806bfb60 Objects::Cannon::vf_0xec +806bfb68 0x806bfb68 +806bfb70 Objects::Cannon::GetScnObjDrawOptionsIdx +806bfb78 Objects::EffectSpawner::__ct +806bfbcc Objects::EffectSpawner::OnStart +806bfbdc Objects::EffectSpawner::OnCollision +806bfd5c Objects::EffectSpawner::Update +806bfe50 Objects::EffectSpawner::__dt +806bfe90 Objects::EffectSpawner::OnItemCollision +806bfebc Objects::EffectSpawner::OnWallCollision +806bfec0 Objects::EffectSpawner::GetPropertiesBitfield +806bfec8 Objects::LeafEffect::__ct +806c0008 Objects::LeafEffect::OnCollision +806c01c0 Objects::LeafEffect::Update +806c0344 Objects::LeafEffect::__dt +806c0384 Objects::FireSnake_ball::__ct +806c03f4 Objects::FireSnake_ball::OnStart +806c046c Objects::FireSnake_ball::vf_0xec +806c048c Objects::FireSnake_ball::ToggleVisible +806c0490 Objects::FireSnake_ball::Update +806c0494 0x806c0494 +806c0534 0x806c0534 +806c0588 0x806c0588 +806c059c Objects::FireSnake::__ct +806c08f0 Objects::MapObjProjectile::__dt +806c0930 Objects::FireSnake_ball::SetScale +806c094c 0x806c094c +806c09b0 Objects::FireSnake::__dt +806c0a1c Objects::FireSnake::OnStart +806c0b50 Objects::FireSnake::Update +806c0e84 Objects::FireSnake::OnCollision +806c0f14 Objects::FireSnake::OnItemCollision +806c0f9c Objects::FireSnake::OnCycleEnd +806c1050 Objects::FireSnake::OnCycleEnd2 +806c1054 Objects::FireSnake::OnCycleStart +806c10f4 Objects::FireSnake::OnCycleStart2 +806c1438 Objects::FireSnake::OnInitialGroundCollision +806c14fc Objects::FireSnake::vf_0x114 +806c166c Objects::FireSnake::vf_0x118 +806c17a4 Objects::FireSnake::vf_0x11c +806c1834 0x806c1834 +806c18bc Objects::FireSnake::vf_0x120 +806c18c0 Objects::FireSnake::vf_0x124 +806c1a24 Objects::FireSnake::vf_0x128 +806c1a30 Objects::FireSnake::vf_0x12c +806c1a34 Objects::FireSnake::vf_0xec +806c1b9c 0x806c1b9c +806c1f70 Objects::FireSnake_ball::GetEntity +806c1f78 Objects::FireSnake_ball::UpdateDrawInfo +806c1fd4 Objects::FireSnake_ball::vf_0x8c +806c1fd8 Objects::FireSnake_ball::vf_0xf8 +806c2068 Objects::FireSnake::RequestShoot +806c2074 Objects::FireSnake::vf_0x130 +806c207c Objects::FireSnake::LoadAnimations +806c20c8 Objects::FireSnake::GetPropertiesBitfield +806c20d0 Objects::FireSnake_eye::LoadCollision +806c20d4 Objects::FireSnake_eye::LoadRoute +806c20d8 Objects::FireSnake_eye::GetName +806c20e4 Objects::FireSnake_eye::GetSubFileName +806c20f0 Objects::FireSnake_eye::GetPropertiesBitfield +806c20f8 Objects::FireSnake_eye::__dt +806c2138 Objects::FireSnake_ball::__dt +806c2178 Objects::FireSnake_ball::vf_0xf0 +806c2180 Objects::FireSnake_ball::LoadAnimations +806c21cc Objects::FireSnake_ball::GetPropertiesBitfield +806c21d4 Objects::FireSnake::__dt(thunk) +806c21dc Objects::FireSnake_v::__ct +806c2328 Objects::FireSnake_v::OnStart +806c23c0 Objects::FireSnake_v::Update +806c2410 0x806c2410 +806c275c Objects::FireSnake_v::OnCycleEnd +806c2760 Objects::FireSnake_v::OnCycleEnd2 +806c2764 Objects::FireSnake_v::OnCycleStart +806c285c Objects::FireSnake_v::OnCycleStart2 +806c2a20 Objects::FireSnake_v::OnInitialGroundCollision +806c2a30 Objects::FireSnake_v::vf_0x114 +806c2bb4 Objects::FireSnake_v::__dt +806c2c0c 0x806c2c0c +806c2c14 0x806c2c14 +806c2d08 0x806c2d08 +806c2d48 0x806c2d48 +806c2dc8 0x806c2dc8 +806c2e5c 0x806c2e5c +806c2ed0 0x806c2ed0 +806c2ed4 0x806c2ed4 +806c2fa8 0x806c2fa8 +806c2fb0 0x806c2fb0 +806c2ff4 0x806c2ff4 +806c3034 0x806c3034 +806c30a8 0x806c30a8 +806c30ac 0x806c30ac +806c30b0 0x806c30b0 +806c30b8 0x806c30b8 +806c3108 0x806c3108 +806c3110 obj_FlamePole_v::__ct +806c3498 0x806c3498 +806c34fc 0x806c34fc +806c3638 obj_FlamePole_v_update +806c3750 0x806c3750 +806c379c 0x806c379c +806c37e4 0x806c37e4 +806c385c obj_FlamePole_v_raiseUpdate +806c38ec obj_FlamePole_v_beforeShake +806c390c obj_FlamePole_v_calcShake +806c3a28 obj_FlamePole_v_dropUpdate +806c3a54 0x806c3a54 +806c3ae4 0x806c3ae4 +806c3b34 0x806c3b34 +806c3b50 0x806c3b50 +806c3e20 0x806c3e20 +806c3e8c 0x806c3e8c +806c3ee4 0x806c3ee4 +806c3eec 0x806c3eec +806c3ef8 0x806c3ef8 +806c3f04 0x806c3f04 +806c3f0c 0x806c3f0c +806c3f14 0x806c3f14 +806c42a0 0x806c42a0 +806c42a4 0x806c42a4 +806c4500 0x806c4500 +806c4540 ManagedObjects::RegisterObject +806c455c Objects::HwanwanItembox::__ct +806c45e0 Objects::Itembox::__dt +806c4620 0x806c4620 +806c4660 Objects::HwanwanItembox::OnStart +806c46dc Objects::HwanwanItembox::Update +806c48c0 Objects::HwanwanItembox::UpdateShadow +806c49c0 Objects::Hwanwan::__ct +806c4d48 Objects::Hwanwan::__dt +806c4d88 0x806c4d88 +806c5130 Objects::Hwanwan::Update +806c5238 Objects::Hwanwan::vf_0xec +806c544c 0x806c544c +806c57b4 0x806c57b4 +806c5808 0x806c5808 +806c5880 0x806c5880 +806c5a14 RouteController::SetPercent +806c5a1c 0x806c5a1c +806c5d44 0x806c5d44 +806c5d60 0x806c5d60 +806c5de8 0x806c5de8 +806c5f98 0x806c5f98 +806c6014 0x806c6014 +806c6018 Objects::Hwanwan::LoadClipInfo +806c601c Objects::Hwanwan::LoadCollision +806c6020 Objects::Hwanwan::LoadModels +806c6024 Objects::Hwanwan::GetPropertiesBitfield +806c602c Objects::Itembox::IsActive +806c6040 Objects::Itembox::IsSolid +806c6048 Objects::Itembox::OnNormalCollision +806c604c Objects::Itembox::UpdateModelScale +806c6050 Objects::Itembox::UpdateModelMatrix +806c6054 Objects::Itembox::LoadShadow +806c6068 Objects::Itembox::GetPropertiesBitfield +806c6070 Objects::HwanwanItembox::GetBRRESName +806c607c Objects::HwanwanItembox::GetSubFileName +806c6088 Objects::HwanwanItembox::GetName +806c6094 Objects::HwanwanItembox::GetID +806c60ac Objects::HwanwanItembox::__dt +806c60ec Objects::HwanwanItembox::LoadRoute +806c60f0 Objects::Itembox::UpdateShadow +806c60f4 0x806c60f4 +806c60f8 Objects::OnStart +806c6144 Objects::Hwanwan_Chn::ToggleVisible +806c6148 Objects::Hwanwan_Chn::__dt +806c6188 Objects::Hwanwan_Chn::LoadCollision +806c618c Objects::Hwanwan_Chn::LoadRoute +806c6190 Objects::Hwanwan_Chn::GetName +806c619c Objects::Hwanwan_Chn::GetSubFileName +806c61a8 Objects::Hwanwan_Chn::GetPropertiesBitfield +806c61b0 Objects::HanachanPart::LoadModels +806c61e8 Objects::HanachanPart::OnStart +806c6274 Objects::HanachanPart::vf_0x100 +806c627c Objects::HanachanPart::Update +806c6300 Objects::HanachanPart::OnCollision +806c64ac Objects::HanachanPart::OnItemCollision +806c66d0 0x806c66d0 +806c67f4 0x806c67f4 +806c68a8 0x806c68a8 +806c6924 0x806c6924 +806c6ce0 0x806c6ce0 +806c6e04 0x806c6e04 +806c6e24 0x806c6e24 +806c6f38 0x806c6f38 +806c6f60 0x806c6f60 +806c7080 0x806c7080 +806c7180 0x806c7180 +806c72d8 nw4r::g3d::ICalcWorldCallback::__dt +806c7318 Objects::BossHanachanHead::CalcWorldCB::ExecCallbackB +806c73d4 0x806c73d4 +806c73e0 Objects::BossHanachanHead::__ct +806c74d4 Objects::HanachanPart::__dt +806c7514 0x806c7514 +806c77f8 Objects::BossHanachanHead::LoadCollision +806c7870 Objects::BossHanachanHead::OnStart +806c7918 Objects::BossHanachanHead::Update +806c7abc Objects::BossHanachanHead::UpdateCollision +806c7c40 0x806c7c40 +806c7d90 0x806c7d90 +806c7e28 0x806c7e28 +806c7e38 Objects::HanachanBody::LoadAnimations +806c7ee4 Objects::HanachanBody::OnStart +806c7f74 0x806c7f74 +806c80c8 Objects::Hanachan::__ct +806c8ba0 0x806c8ba0 +806c8c04 Objects::Hanachan::__dt +806c8c9c Objects::Hanachan::OnStart +806c8ecc Objects::Hanachan::Update +806c9224 0x806c9224 +806c922c 0x806c922c +806c93a4 0x806c93a4 +806c9534 0x806c9534 +806c9604 0x806c9604 +806c98b4 Objects::Hanachan::vf_0xC(parent) +806c98b8 0x806c98b8 +806c98e8 0x806c98e8 +806c995c 0x806c995c +806c9bc0 0x806c9bc0 +806c9bc8 0x806c9bc8 +806c9c50 0x806c9c50 +806c9d38 0x806c9d38 +806c9d98 0x806c9d98 +806c9f4c 0x806c9f4c +806ca018 0x806ca018 +806ca0f8 0x806ca0f8 +806ca13c 0x806ca13c +806ca1c8 0x806ca1c8 +806ca33c 0x806ca33c +806ca540 0x806ca540 +806ca608 0x806ca608 +806ca624 0x806ca624 +806ca714 0x806ca714 +806ca854 0x806ca854 +806ca998 0x806ca998 +806caa68 0x806caa68 +806cabf4 0x806cabf4 +806cabfc 0x806cabfc +806cadd0 0x806cadd0 +806cafbc 0x806cafbc +806cb04c 0x806cb04c +806cb230 0x806cb230 +806cb498 0x806cb498 +806cb4b4 0x806cb4b4 +806cb514 0x806cb514 +806cb584 0x806cb584 +806cb5f4 0x806cb5f4 +806cb664 0x806cb664 +806cb7b8 0x806cb7b8 +806cb8b8 0x806cb8b8 +806cbaa8 0x806cbaa8 +806cbaf8 0x806cbaf8 +806cbd2c 0x806cbd2c +806cbf54 0x806cbf54 +806cc050 nw4r::g3d::ICalcWorldCallback::ExecCallbackC +806cc054 nw4r::g3d::ICalcWorldCallback::ExecCallbackA +806cc058 Objects::Hanachan::UpdateModel +806cc05c Objects::Hanachan::LoadClipInfo +806cc060 Objects::Hanachan::LoadCollision +806cc064 Objects::Hanachan::LoadModels +806cc068 Objects::Hanachan::GetPropertiesBitfield +806cc070 Objects::HanachanPart::vf_0x104 +806cc078 Objects::HanachanPart::vf_0x84 +806cc080 Objects::HanachanPart::UpdateModelMatrix +806cc138 Objects::HanachanPart::LoadRoute +806cc13c Objects::HanachanPart::GetPropertiesBitfield +806cc144 Objects::HanachanBody::__dt +806cc184 Objects::HanachanBody::vf_0xfc +806cc18c Objects::HanachanBody::vf_0xf8 +806cc194 Objects::HanachanBody::vf_0x108 +806cc19c 0x806cc19c +806cc1b8 0x806cc1b8 +806cc1d8 0x806cc1d8 +806cc1e0 Objects::HanachanBody::GetShadowResName +806cc1ec Objects::HanachanBody::GetSubFileName +806cc1f4 Objects::HanachanPart::GetSubFileName +806cc200 Objects::BossHanachanHead::__dt +806cc240 Objects::BossHanachanHead::vf_0xfc +806cc25c Objects::BossHanachanHead::vf_0xf8 +806cc264 Objects::BossHanachanHead::vf_0xf4 +806cc2b0 Objects::BossHanachanHead::vf_0xf0 +806cc310 Objects::BossHanachanHead::vf_0xec +806cc390 Objects::BossHanachanHead::UpdateShadow +806cc404 Objects::BossHanachanHead::vf_0x108 +806cc40c Objects::BossHanachanHead::LoadAnimations +806cc494 Objects::BossHanachanHead::GetBRRESName +806cc4a0 nw4r::g3d::ICalcWorldCallback::ExecCallbackB +806cc4a4 Objects::BossHanachanHead::CalcWorldCB::__dt +806cc4e4 Objects::BossHanachanHead::CalcWorldCB::ExecCallbackB(thunk) +806cc4ec Objects::BossHanachanHead::CalcWorldCB::__dt(thunk) +806cc4f4 Objects::Hanachan::__dt(thunk) +806cc4fc 0x806cc4fc +806cc6b0 0x806cc6b0 +806cc994 0x806cc994 +806ccac4 0x806ccac4 +806ccb2c 0x806ccb2c +806ccd4c 0x806ccd4c +806cced4 0x806cced4 +806cd000 0x806cd000 +806cd32c 0x806cd32c +806cd330 0x806cd330 +806cd38c 0x806cd38c +806cd448 0x806cd448 +806cd44c 0x806cd44c +806cd450 0x806cd450 +806cd534 0x806cd534 +806cd6a8 0x806cd6a8 +806cd7d4 0x806cd7d4 +806cd9c0 0x806cd9c0 +806cda08 0x806cda08 +806cda3c 0x806cda3c +806cda9c 0x806cda9c +806cdbb4 0x806cdbb4 +806cde1c 0x806cde1c +806cde74 0x806cde74 +806cde7c 0x806cde7c +806cde84 0x806cde84 +806cde8c 0x806cde8c +806cde94 Objects::Heyho::__ct +806ce12c 0x806ce12c +806ce190 Objects::Heyho::__dt +806ce1fc Objects::Heyho::OnStart +806ce460 Objects::Heyho::vf_0x10 +806ce464 Objects::Heyho::Update +806ce690 Objects::Heyho::OnCollision +806ce804 Objects::Heyho::OnItemCollision +806cea10 Objects::Heyho::UpdateShadow +806ceb38 0x806ceb38 +806ceb3c obj_heyho_move_update +806ced80 obj_heyho_beforeJump +806ced98 obj_heyho_jump_update +806cf12c 0x806cf12c +806cf1a4 0x806cf1a4 +806cf3b4 0x806cf3b4 +806cf41c 0x806cf41c +806cf61c 0x806cf61c +806cf694 0x806cf694 +806cf71c 0x806cf71c +806cf7a8 Objects::Heyho::LoadAnimations +806cf838 Objects::Heyho::vf_0xc +806cf840 Objects::Heyho::UpdateCollision +806cf920 Objects::Heyho::GetPropertiesBitfield +806cf928 0x806cf928 +806cf930 Objects::HeyHoBallGBA::__ct +806cfbf8 0x806cfbf8 +806cfc5c Objects::HeyHoBallGBA::OnStart +806cfdec Objects::HeyHoBallGBA::Update +806cfeec Objects::HeyHoBallGBA::OnCollision +806cffe4 Objects::HeyHoBallGBA::OnItemCollision +806d006c 0x806d006c +806d0080 0x806d0080 +806d00a8 0x806d00a8 +806d0144 0x806d0144 +806d0278 0x806d0278 +806d0344 0x806d0344 +806d03f0 0x806d03f0 +806d0590 0x806d0590 +806d0710 Objects::HeyHoBallGBA::vf_0xec +806d0834 0x806d0834 +806d0974 0x806d0974 +806d09f0 0x806d09f0 +806d0b44 0x806d0b44 +806d0bdc 0x806d0bdc +806d0c14 0x806d0c14 +806d0e8c Objects::HeyHoBallGBA::__dt +806d0ef8 Objects::HeyHoBallGBA::RequestShoot +806d0f04 0x806d0f04 +806d0f0c Objects::HeyHoBallGBA::LoadAnimations +806d0f58 Objects::HeyHoBallGBA::GetPropertiesBitfield +806d0f60 0x806d0f60 +806d0f68 Objects::HeyHoShipGBA::__ct +806d1004 Objects::MapObjShooter::__dt +806d1044 Objects::HeyHoShipGBA::OnStart +806d1208 Objects::HeyHoShipGBA::Update +806d1310 Objects::HeyHoShipGBA::GetShootFromRoutePointID +806d1330 0x806d1330 +806d137c 0x806d137c +806d1440 0x806d1440 +806d16a8 0x806d16a8 +806d1730 0x806d1730 +806d198c Objects::HeyHoShipGBA::__dt +806d19cc Objects::HeyHoShipGBA::GetPropertiesBitfield +806d19d4 Objects::HeyHoShipManager::__ct +806d1b80 Objects::HeyHoShipManager::__dt +806d1bfc Objects::HeyHoShipManager::OnStart +806d1ed4 Objects::HeyHoShipManager::Update +806d1f58 0x806d1f58 +806d1f5c Objects::MapObjSniper::LoadClipInfo +806d1f60 Objects::MapObjSniper::LoadCollision +806d1f64 Objects::MapObjSniper::LoadRoute +806d1f68 Objects::MapObjSniper::LoadModels +806d1f6c Objects::MapObjSniper::GetPropertiesBitfield +806d1f74 Objects::HighwayManager::__ct +806d2654 Objects::HighwayManager::__dt +806d2728 0x806d2728 +806d2998 Objects::HighwayManager::OnStart +806d2ab4 0x806d2ab4 +806d2ac8 Objects::HighwayManager::Update +806d2fb8 0x806d2fb8 +806d3308 0x806d3308 +806d34c8 0x806d34c8 +806d3688 0x806d3688 +806d39c8 0x806d39c8 +806d3d08 0x806d3d08 +806d3f9c 0x806d3f9c +806d4230 0x806d4230 +806d4384 0x806d4384 +806d44d8 0x806d44d8 +806d4520 0x806d4520 +806d4568 0x806d4568 +806d45b0 0x806d45b0 +806d45f8 0x806d45f8 +806d4640 0x806d4640 +806d4688 0x806d4688 +806d46d0 0x806d46d0 +806d4718 0x806d4718 +806d4834 0x806d4834 +806d494c 0x806d494c +806d4b28 0x806d4b28 +806d4c0c 0x806d4c0c +806d4c58 0x806d4c58 +806d4d6c 0x806d4d6c +806d4f30 0x806d4f30 +806d4f38 Objects::K_truck_light::LoadAnimations +806d4fc8 Objects::K_truck_light::LoadCollision +806d4fcc Objects::K_truck_light::LoadRoute +806d4fd0 Objects::K_truck_light::GetSubFileName +806d4fdc Objects::K_truck_light::GetBRRESName +806d4fe8 Objects::K_truck_light::GetPropertiesBitfield +806d4ff0 Objects::K_truck_light::GetID +806d4ff8 Objects::K_truck_light::__dt +806d5038 0x806d5038 +806d5040 Objects::K_car_light::LoadAnimations +806d50d0 Objects::K_car_light::LoadCollision +806d50d4 Objects::K_car_light::LoadRoute +806d50d8 Objects::K_car_light::GetSubFileName +806d50e4 Objects::K_car_light::GetBRRESName +806d50f0 Objects::K_car_light::GetPropertiesBitfield +806d50f8 Objects::K_car_light::GetID +806d5100 Objects::K_car_light::__dt +806d5140 0x806d5140 +806d5148 Objects::K_truck_tire::LoadAnimations +806d5194 Objects::K_truck_tire::LoadCollision +806d5198 Objects::K_truck_tire::LoadRoute +806d519c Objects::K_truck_tire::GetSubFileName +806d51a8 Objects::K_truck_tire::GetBRRESName +806d51b4 Objects::K_truck_tire::GetPropertiesBitfield +806d51bc Objects::K_truck_tire::GetID +806d51c4 Objects::K_truck_tire::__dt +806d5204 0x806d5204 +806d520c Objects::K_car_tire::LoadAnimations +806d5258 Objects::K_car_tire::LoadCollision +806d525c Objects::K_car_tire::LoadRoute +806d5260 Objects::K_car_tire::GetSubFileName +806d526c Objects::K_car_tire::GetBRRESName +806d5278 Objects::K_car_tire::GetPropertiesBitfield +806d5280 Objects::K_car_tire::GetID +806d5288 Objects::K_car_tire::__dt +806d52c8 Objects::HighwayManager::LoadClipInfo +806d52cc Objects::HighwayManager::LoadCollision +806d52d0 Objects::HighwayManager::LoadRoute +806d52d4 Objects::HighwayManager::LoadModels +806d52d8 Objects::HighwayManager::GetPropertiesBitfield +806d52e0 0x806d52e0 +806d53b8 0x806d53b8 +806d5504 0x806d5504 +806d5544 0x806d5544 +806d5548 0x806d5548 +806d5550 Objects::HighwayCar::__ct +806d5f1c Objects::HighwayCar::GetBRRESName +806d5f24 0x806d5f24 +806d5f88 Objects::HighwayCar::__dt +806d5ff4 Objects::HighwayCar::LoadModels +806d602c Objects::HighwayCar::GetCollisionDiameter +806d6180 Objects::HighwayCar::OnStart +806d6538 Objects::HighwayCar::Update +806d6994 Objects::HighwayCar::OnCollision +806d6dec Objects::HighwayCar::OnItemCollision +806d7164 Objects::HighwayCar::LoadCollision +806d7264 Objects::HighwayCar::UpdateCollision +806d7364 Objects::HighwayCar::GetSolidityCenter +806d73d0 0x806d73d0 +806d73d4 0x806d73d4 +806d73d8 0x806d73d8 +806d73dc 0x806d73dc +806d7474 0x806d7474 +806d7478 0x806d7478 +806d7510 0x806d7510 +806d75c4 0x806d75c4 +806d78e8 0x806d78e8 +806d81c8 0x806d81c8 +806d8454 0x806d8454 +806d866c 0x806d866c +806d8a14 0x806d8a14 +806d8a9c 0x806d8a9c +806d8b70 0x806d8b70 +806d8c0c 0x806d8c0c +806d8d4c 0x806d8d4c +806d8ea4 0x806d8ea4 +806d8f80 0x806d8f80 +806d8ff8 0x806d8ff8 +806d9070 0x806d9070 +806d90a8 0x806d90a8 +806d91e8 0x806d91e8 +806d92dc 0x806d92dc +806d9398 0x806d9398 +806d9408 0x806d9408 +806d95cc 0x806d95cc +806d9638 0x806d9638 +806d9b24 0x806d9b24 +806d9bf8 0x806d9bf8 +806d9ccc Objects::HighwayCar::ProcessCollision +806d9d94 Objects::HighwayCar::UpdateShadow +806d9e08 Objects::HighwayCar::GetShadowResName +806d9e10 Objects::HighwayCar::GetSubFileName +806d9e18 Objects::HighwayCar::GetPropertiesBitfield +806d9e20 0x806d9e20 +806d9e28 Objects::Kbomneji::LoadAnimations +806d9e6c Objects::Kbomneji::LoadCollision +806d9e70 Objects::Kbomneji::LoadRoute +806d9e74 Objects::Kbomneji::GetSubFileName +806d9e80 Objects::Kbomneji::GetPropertiesBitfield +806d9e88 Objects::Kbomneji::__dt +806d9ec8 0x806d9ec8 +806d9ed0 Objects::K_bomb_tire00::LoadAnimations +806d9f1c Objects::K_bomb_tire00::LoadCollision +806d9f20 Objects::K_bomb_tire00::LoadRoute +806d9f24 Objects::K_bomb_tire00::GetSubFileName +806d9f30 Objects::K_bomb_tire00::GetPropertiesBitfield +806d9f38 Objects::K_bomb_tire00::__dt +806d9f78 Objects::HighwayCar::__dt(thunk) +806d9f80 Objects::KoopaFigure64::__ct +806da0b0 Objects::KoopaFigure64::OnStart +806da1c8 Objects::KoopaFigure64::Update +806da57c Objects::KoopaFigure64::UpdateForCPURace +806da624 Objects::KoopaFigure64::UpdateCollision +806da780 Objects::KoopaFigure64::__dt +806da7c0 Objects::KoopaFigure64::LoadCollision +806da7d4 Objects::KoopaFigure64::OnCollision +806da7f0 Objects::Kuribo::__ct +806da9a8 0x806da9a8 +806daa0c Objects::Kuribo::__dt +806daa78 Objects::Kuribo::OnStart +806dac18 Objects::Kuribo::vf_0x10 +806dac1c Objects::Kuribo::Update +806dadd0 Objects::Kuribo::OnCollision +806db104 Objects::Kuribo::OnItemCollision +806db888 Objects::Kuribo::OnRouteEnd +806db88c Objects::Kuribo::UpdateRouteEnd +806dba60 Objects::Kuribo::OnCycleBegin +806dba64 Objects::Kuribo::UpdateCycle +806dbacc 0x806dbacc +806dbc4c 0x806dbc4c +806dbde8 0x806dbde8 +806dbdfc 0x806dbdfc +806dbfe4 0x806dbfe4 +806dc044 0x806dc044 +806dc1c4 0x806dc1c4 +806dc308 0x806dc308 +806dc3b4 0x806dc3b4 +806dc43c 0x806dc43c +806dc448 0x806dc448 +806dc644 0x806dc644 +806dc6a4 0x806dc6a4 +806dc794 0x806dc794 +806dc8dc Objects::Kuribo::vf_0xC(ObjectCycleManager) +806dc8e4 Objects::Kuribo::LoadAnimations +806dc934 0x806dc934 +806dc93c Objects::Kuribo::__dt(thunk) +806dc944 Objects::Balloon::__ct +806dcaac Objects::Balloon::__dt +806dcaec Objects::Balloon::OnStart +806dcc48 Objects::Balloon::vf_0x10 +806dcc4c Objects::Balloon::Update +806dce3c 0x806dce3c +806dcec4 Objects::Balloon::UpdateShadow +806dcf90 Objects::Balloon::GetShadowListIdx +806dcf98 Objects::Balloon::GetPropertiesBitfield +806dcfa0 0x806dcfa0 +806dd004 0x806dd004 +806dd044 0x806dd044 +806dd0c0 0x806dd0c0 +806dd0ec 0x806dd0ec +806dd0f0 Objects::MapObjSniper::__ct +806dd160 Objects::MapObjSniper::__dt +806dd1a0 Objects::MapObjSniper::OnStart +806dd2b0 Objects::MapObjSniper::Update +806dd31c 0x806dd31c +806dd38c 0x806dd38c +806dd40c 0x806dd40c +806dd428 0x806dd428 +806dd42c 0x806dd42c +806dd434 0x806dd434 +806dd438 0x806dd438 +806dd43c 0x806dd43c +806dd440 0x806dd440 +806dd444 Objects::SunDS::__ct +806dd570 0x806dd570 +806dd5d4 Objects::SunDS::__dt +806dd640 Objects::SunDS::OnStart +806dd6a8 Objects::SunDS::Update +806dd834 0x806dd834 +806dd850 0x806dd850 +806dda74 0x806dda74 +806ddac0 0x806ddac0 +806ddac4 0x806ddac4 +806ddb50 0x806ddb50 +806ddb7c 0x806ddb7c +806ddbd4 0x806ddbd4 +806ddc04 Objects::SunDS::GetShootFromRoutePointID +806ddc34 0x806ddc34 +806ddc3c Objects::SunDS::LoadAnimations +806ddc80 Objects::SunDS::GetPropertiesBitfield +806ddc88 Objects::SunDS::__dt(thunk) +806ddc90 Objects::SunDSManager::__ct +806dddec Objects::SunDSManager::__dt +806dde68 0x806dde68 +806ddf80 0x806ddf80 +806de01c 0x806de01c +806de088 0x806de088 +806de1ac Objects::TruckChimSmk::__ct +806de3a0 Objects::TruckChimSmk::__dt +806de3e0 Objects::TruckChimSmk::OnStart +806de578 Objects::TruckChimSmk::Update +806dea60 Objects::TruckChimSmk::OnCollision +806debc4 Objects::TruckChimSmk::OnItemCollision +806debf0 Objects::TruckChimSmk::UpdateCollision +806dece8 Objects::TruckChimSmk::vf_0x10 +806decec 0x806decec +806deddc Objects::TruckChimSmk::OnWallCollision +806dede0 Objects::TruckChimSmk::LoadAnimations +806dee2c 0x806dee2c +806dee34 Objects::TruckChimSmk::GetPropertiesBitfield +806dee3c Objects::TruckChimSmkW::__ct +806defb8 Objects::TruckChimSmkW::LoadModels +806defcc Objects::TruckChimSmkW::LoadAnimations +806df024 Objects::TruckChimSmkW::LoadCollision +806df038 Objects::TruckChimSmkW::GetSolidityCenter +806df0d0 Objects::TruckChimSmkW::OnStart +806df184 Objects::TruckChimSmkW::Update +806df338 Objects::TruckChimSmkW::__dt +806df378 Objects::TruckChimSmkW::GetScnObjDrawOptionsIdx +806df380 0x806df380 +806df400 0x806df400 +806df4a0 0x806df4a0 +806df4f0 0x806df4f0 +806df508 0x806df508 +806df6bc 0x806df6bc +806df6fc 0x806df6fc +806df760 0x806df760 +806df7cc 0x806df7cc +806df82c 0x806df82c +806dfa50 0x806dfa50 +806dfa54 0x806dfa54 +806dfcbc 0x806dfcbc +806dfea0 0x806dfea0 +806e019c 0x806e019c +806e03b4 0x806e03b4 +806e045c 0x806e045c +806e08b4 0x806e08b4 +806e093c 0x806e093c +806e09dc 0x806e09dc +806e0e60 0x806e0e60 +806e0f00 0x806e0f00 +806e0f04 0x806e0f04 +806e0fac 0x806e0fac +806e143c 0x806e143c +806e14a0 0x806e14a0 +806e158c 0x806e158c +806e15fc 0x806e15fc +806e16cc 0x806e16cc +806e16d8 ObjTruckWagon_construct +806e1858 0x806e1858 +806e1898 0x806e1898 +806e1a08 0x806e1a08 +806e1a0c 0x806e1a0c +806e1a10 0x806e1a10 +806e1af8 0x806e1af8 +806e1b48 0x806e1b48 +806e1b4c 0x806e1b4c +806e1b50 0x806e1b50 +806e1b54 0x806e1b54 +806e1b58 0x806e1b58 +806e1b60 0x806e1b60 +806e1b68 0x806e1b68 +806e1bd8 0x806e1bd8 +806e1be0 0x806e1be0 +806e1c70 obj_draw_shadow_init +806e1c74 0x806e1c74 +806e1c78 0x806e1c78 +806e1c84 0x806e1c84 +806e1c90 0x806e1c90 +806e1db0 0x806e1db0 +806e1db8 0x806e1db8 +806e1e10 0x806e1e10 +806e1e68 0x806e1e68 +806e1e70 0x806e1e70 +806e1ecc 0x806e1ecc +806e1ed8 0x806e1ed8 +806e1ee4 0x806e1ee4 +806e1ee8 0x806e1ee8 +806e1eec 0x806e1eec +806e1ef4 0x806e1ef4 +806e1f34 0x806e1f34 +806e1f3c 0x806e1f3c +806e1f40 0x806e1f40 +806e1f44 0x806e1f44 +806e1f50 0x806e1f50 +806e1f5c 0x806e1f5c +806e1f60 0x806e1f60 +806e1f68 0x806e1f68 +806e1f70 0x806e1f70 +806e21e8 0x806e21e8 +806e224c 0x806e224c +806e22b8 0x806e22b8 +806e235c 0x806e235c +806e23ec 0x806e23ec +806e2474 0x806e2474 +806e2590 0x806e2590 +806e25a0 0x806e25a0 +806e25a4 0x806e25a4 +806e26a0 0x806e26a0 +806e28e8 0x806e28e8 +806e2990 0x806e2990 +806e2ab8 0x806e2ab8 +806e2ac4 0x806e2ac4 +806e2eb8 0x806e2eb8 +806e2ef8 0x806e2ef8 +806e2f8c 0x806e2f8c +806e30d0 0x806e30d0 +806e30d4 0x806e30d4 +806e30d8 0x806e30d8 +806e30dc 0x806e30dc +806e30e0 0x806e30e0 +806e30e8 0x806e30e8 +806e30f0 0x806e30f0 +806e30f8 0x806e30f8 +806e31f8 0x806e31f8 +806e3234 0x806e3234 +806e344c 0x806e344c +806e348c Objects::Pile::OnStart +806e3548 Objects::Pile::Update +806e355c 0x806e355c +806e358c 0x806e358c +806e3810 Objects::Wanwan_Chn::LoadCollision +806e3874 Objects::Wanwan_Chn::Update +806e3884 0x806e3884 +806e388c Objects::Wanwan_Chn::UpdateCollision +806e3890 Objects::Wanwan::__ct +806e40d0 Objects::Wanwan_Chn::OnStart +806e40f4 0x806e40f4 +806e4158 Objects::Wanwan::__dt +806e4204 Objects::Wanwan::vf_0x10 +806e4208 Objects::Wanwan::OnStart +806e4598 Objects::Wanwan::Update +806e48d8 Objects::Wanwan::OnCollision +806e4ad8 Objects::Wanwan::OnItemCollision +806e4d30 0x806e4d30 +806e5028 0x806e5028 +806e50f8 0x806e50f8 +806e53dc 0x806e53dc +806e5548 0x806e5548 +806e5874 Objects::Wanwan::BeforeWanderB +806e5a10 Objects::Wanwan::WanderBUpdate +806e5d9c Objects::Wanwan::BeforeWanderA +806e5ea4 Objects::Wanwan::WanderAUpdate +806e61c4 Objects::Wanwan::BeforeLookUp +806e61e8 Objects::Wanwan::LookUpUpdate +806e62c0 Objects::Wanwan::BeforeDigDown +806e6304 Objects::Wanwan::DigDownUpdate +806e6440 Objects::Wanwan::BeforeLookStraight +806e6444 Objects::Wanwan::LookStraightUpdate +806e651c Objects::Wanwan::BeforeAttack +806e65d8 Objects::Wanwan::AttackUpdate +806e6a30 Objects::Wanwan::BeforeRetreat +806e6b00 Objects::Wanwan::RetreatUpdate +806e6c00 0x806e6c00 +806e6ca4 0x806e6ca4 +806e6f1c 0x806e6f1c +806e6fb8 0x806e6fb8 +806e7050 0x806e7050 +806e71e8 0x806e71e8 +806e7210 0x806e7210 +806e74a4 0x806e74a4 +806e7548 vector3_lerp +806e75d0 0x806e75d0 +806e767c 0x806e767c +806e7680 0x806e7680 +806e79ac 0x806e79ac +806e7af4 0x806e7af4 +806e7b8c 0x806e7b8c +806e7e34 0x806e7e34 +806e7fd8 0x806e7fd8 +806e80cc 0x806e80cc +806e85b8 0x806e85b8 +806e86f0 0x806e86f0 +806e8ad0 Objects::Wanwan::UpdateModelMatrix +806e8ad4 Objects::Wanwan::LoadAnimations +806e8b20 Objects::Wanwan::vf_0xC +806e8b28 Objects::Wanwan::GetPropertiesBitfield +806e8b30 Objects::Wanwan_Chn::GetCollisionDiameter +806e8b48 Objects::Wanwan_Chn::GetName +806e8b54 Objects::Wanwan_Chn::GetSubFileName +806e8b60 Objects::Wanwan_Chn::GetPropertiesBitfield +806e8b68 Objects::Wanwan_Chn::__dt +806e8ba8 Objects::Pile::GetName +806e8bb4 Objects::Pile::GetSubFileName +806e8bc0 Objects::Pile::GetBRRESName +806e8bcc Objects::Pile::GetPropertiesBitfield +806e8bd4 Objects::Pile::__dt +806e8c14 Objects::Wanwan::__dt +806e8c1c Objects::HwanwanBall::__ct +806e8d2c 0x806e8d2c +806e8d90 Objects::HwanwanBall::OnStart +806e90e4 Objects::HwanwanBall::Update +806e9318 Objects::HwanwanBall::OnCollision +806e93d8 Objects::HwanwanBall::OnItemCollision +806e9470 0x806e9470 +806e947c 0x806e947c +806e964c 0x806e964c +806e9650 0x806e9650 +806e98f4 0x806e98f4 +806e9968 0x806e9968 +806e9d30 0x806e9d30 +806e9df0 0x806e9df0 +806ea154 0x806ea154 +806ea2b8 0x806ea2b8 +806ea340 0x806ea340 +806ea714 0x806ea714 +806ea7f0 0x806ea7f0 +806eaacc 0x806eaacc +806eacbc 0x806eacbc +806eaed8 0x806eaed8 +806eb3c4 0x806eb3c4 +806eb4fc Objects::HwanwanBall::UpdateShadow +806eb5f8 0x806eb5f8 +806eb69c 0x806eb69c +806eb75c 0x806eb75c +806eb8ec 0x806eb8ec +806eb968 0x806eb968 +806ebab8 0x806ebab8 +806ebb8c 0x806ebb8c +806ebc54 0x806ebc54 +806ebd4c Objects::HwanwanBall::__dt +806ebdb8 Objects::HwanwanBall::UpdateModelMatrix +806ebdbc Objects::HwanwanBall::LoadAnimations +806ebe0c Objects::HwanwanBall::vf_0xc +806ebe14 Objects::HwanwanBall::LoadRoute +806ebe18 Objects::HwanwanBall::GetSubFileName +806ebe24 Objects::HwanwanBall::GetPropertiesBitfield +806ebe2c Objects::HwanwanBall::__dt(thunk) +806ebe34 Effects::Menus::__ct +806ebf80 Effects::Menus::__dt +806ec000 Effects::Menus::GetEffectByIdx +806ec010 Route::__ct(POTI) +806ec168 RoutePoint::__ct +806ec16c RoutePoint::__dt +806ec1ac Route::__ct(PointsArray) +806ec2ac Route::__dt +806ec32c Route::FillNormals +806ec4c8 Route::FillBLIGHTIndexes +806ec5f4 Route::UpdatePoints +806ec77c Route::AddPoint +806ec7bc Route::GetPointById +806ec7cc RouteController::__ct +806ec870 0x806ec870 +806ec8b8 RouteController::GetNormal +806ec920 RouteController::GetBLIGHTIndex +806ec978 RouteController::GetTotalDistance +806ec9b8 0x806ec9b8 +806eca50 0x806eca50 +806eca94 0x806eca94 +806ecba8 RouteController::__dt +806ecbe8 RouteCurved::__ct(POTI) +806ecd2c RouteArc::__ct +806ecd30 RouteArc::__ct +806ecd70 RouteCurved::__ct(PointsArray) +806ece94 RouteCurved::__dt +806ecf28 RouteCurved::Update +806ecfcc RouteCurved::UpdateTotalDistance +806ed070 RouteCurved::Init +806ed8e8 0x806ed8e8 +806eda74 0x806eda74 +806edb24 RouteCurved::Calc +806edbd8 0x806edbd8 +806edd98 0x806edd98 +806ede9c RouteCurvedController::__ct +806edf90 RouteCurvedController::Init +806ee144 RouteCurvedController::SetParams +806ee200 RouteCurvedController::UpdateSpeed +806ee258 RouteCurvedController::Update +806ee528 RouteCurvedController::vf_0x24 +806ee60c RouteCurvedController::vf_0x28 +806ee708 RouteCurvedController::GetDistanceToNextPoint +806ee744 RouteCurvedController::GetTotalPercent +806ee764 RouteCurvedController::GetTotalPercentNormalDir +806ee890 RouteCurvedController::CalculateBezier +806ee9bc RouteCurvedController::CalculateBezierCurve +806eeac0 RouteCurvedController::CalculateBezierDir +806eecb4 RouteController::IsAtRouteEnd +806eecd0 0x806eecd0 +806eee70 0x806eee70 +806eeedc 0x806eeedc +806eef5c 0x806eef5c +806eefa8 RouteCurvedController::GetSpeed +806eefb0 RouteCurvedController::__dt +806eeff0 RouteCurved::GetPercentFromOriginArrays +806eeff8 RouteCurved::GetPercent +806ef000 RouteCurved::GetPointsPerArc +806ef008 RouteCurved::GetArcArray +806ef010 RouteCurved::GetSegmentArray +806ef018 RouteCurved::GetTotalDistance +806ef020 RouteStraight::__ct(POTI) +806ef25c RouteSegment::__ct +806ef260 RouteSegment::__dt +806ef2a0 RouteStraight::__ct(PointsArray) +806ef3d8 RouteStraight::__dt +806ef430 RouteStraightController::__ct +806ef4bc RouteStraightController::SetParams +806ef518 RouteStraightController::Init +806ef660 RouteStraightController::UpdateSpeed +806ef6bc RouteStraightController::Update +806ef958 RouteStraightController::vf_0x24 +806efa88 RouteStraightController::vf_0x28 +806efb78 RouteStraightController::GetDistanceToNextPoint +806efbac 0x806efbac +806efc60 0x806efc60 +806efc7c 0x806efc7c +806efe80 0x806efe80 +806efeec 0x806efeec +806eff6c 0x806eff6c +806effb0 RouteStraightController::GetSpeed +806effb8 RouteStraightController::__dt +806efff8 RouteStraight::UpdateTotalDistance +806efffc RouteStraight::Update +806f0000 RouteStraight::GetPercentFromOriginArrays +806f0008 RouteStraight::GetPercent +806f0014 RouteStraight::GetPointsPerArc +806f001c RouteStraight::GetArcArray +806f0024 RouteStraight::GetSegmentArray +806f002c RouteStraight::GetTotalDistance +806f0034 RouteHolder::CreateInstance +806f00a8 RouteHolder::__ct +806f00b8 RouteHolder::DestroyInstance +806f0104 RouteHolder::__dt +806f0144 RouteHolder::Init +806f04c4 RouteHolder::CreateRoute +806f0634 RouteHolder::UpdateRoutePoints +806f06d0 RouteHolder::AddRoutePoint +806f0768 RouteHolder::GetRouteById +806f0778 0x806f0778 +806f07c0 0x806f07c0 +806f07c4 0x806f07c4 +806f0800 0x806f0800 +806f0890 0x806f0890 +806f0920 0x806f0920 +806f09a8 0x806f09a8 +806f0a68 0x806f0a68 +806f0b28 0x806f0b28 +806f0bd4 0x806f0bd4 +806f0c98 0x806f0c98 +806f0d58 0x806f0d58 +806f0ee4 0x806f0ee4 +806f1004 0x806f1004 +806f1064 0x806f1064 +806f10c0 0x806f10c0 +806f12c4 0x806f12c4 +806f1424 0x806f1424 +806f1580 0x806f1580 +806f16e0 0x806f16e0 +806f1878 0x806f1878 +806f1934 0x806f1934 +806f19ec 0x806f19ec +806f1aa8 0x806f1aa8 +806f1abc 0x806f1abc +806f1adc 0x806f1adc +806f1afc 0x806f1afc +806f1d9c 0x806f1d9c +806f1fb0 0x806f1fb0 +806f1fe4 0x806f1fe4 +806f20a4 0x806f20a4 +806f2418 0x806f2418 +806f24a0 0x806f24a0 +806f2654 Linked3DPoints::__ct +806f2860 Linked3DPoints::__dt +806f28f0 0x806f28f0 +806f29dc 0x806f29dc +806f2abc 0x806f2abc +806f3120 0x806f3120 +806f3354 0x806f3354 +806f33e4 0x806f33e4 +806f3598 0x806f3598 +806f3698 0x806f3698 +806f3764 0x806f3764 +806f37cc 0x806f37cc +806f39f0 0x806f39f0 +806f3a54 0x806f3a54 +806f3a98 0x806f3a98 +806f3b88 0x806f3b88 +806f3bcc 0x806f3bcc +806f3c10 0x806f3c10 +806f3c6c 0x806f3c6c +806f3c9c 0x806f3c9c +806f3d14 0x806f3d14 +806f3d58 0x806f3d58 +806f3d88 0x806f3d88 +806f3dec 0x806f3dec +806f3e1c 0x806f3e1c +806f3e40 0x806f3e40 +806f3e64 0x806f3e64 +806f3e88 0x806f3e88 +806f3eac 0x806f3eac +806f3ed0 0x806f3ed0 +806f3ef4 0x806f3ef4 +806f3f18 aramGetFirstUserAddress +806f3f3c 0x806f3f3c +806f3f78 0x806f3f78 +806f4020 0x806f4020 +806f4024 0x806f4024 +806f4028 0x806f4028 +806f4454 0x806f4454 +806f48fc 0x806f48fc +806f4988 0x806f4988 +806f4a24 0x806f4a24 +806f4aac 0x806f4aac +806f4c98 0x806f4c98 +806f4d40 0x806f4d40 +806f4f6c 0x806f4f6c +806f50f8 0x806f50f8 +806f515c 0x806f515c +806f525c 0x806f525c +806f52fc 0x806f52fc +806f533c 0x806f533c +806f53bc 0x806f53bc +806f56b0 0x806f56b0 +806f5730 0x806f5730 +806f579c 0x806f579c +806f5800 0x806f5800 +806f5968 0x806f5968 +806f5b18 0x806f5b18 +806f5c88 0x806f5c88 +806f5ea4 0x806f5ea4 +806f5fd8 Audio::Engine3D::Disposer__dt +806f6070 Audio::Engine3D::CreateInstance +806f6100 Audio::Engine3D::DestroyInstance +806f6134 Audio::Engine3D::SetCurSound +806f6140 0x806f6140 +806f61c8 0x806f61c8 +806f6258 0x806f6258 +806f62d4 Audio::Engine3D::__ct +806f6338 0x806f6338 +806f6378 0x806f6378 +806f63b8 Audio::Engine3D::__dt +806f6460 Audio::Engine3D::UpdateAmbientParam +806f6c74 Audio::Engine3D::GetRequiredVoiceOutCount +806f6c7c 0x806f6c7c +806f6d04 Audio::ItemWarning::GetPan +806f6d98 Audio::ItemWarning::__ct +806f6dac 0x806f6dac +806f6dec 0x806f6dec +806f6e40 Audio::ItemWarning::Init +806f6e94 Audio::ItemWarningMgr::PlayTargetedWarning +806f70c0 0x806f70c0 +806f7114 Audio::ItemWarningMgr::PlayUntargetedWarning +806f734c Audio::ItemWarningMgr::PlayWarningOnWiimote +806f73c4 Audio::ItemWarningMgr::Disposer__dt +806f7554 Audio::ItemWarningMgr::CreateInstance +806f75dc Audio::ItemWarning::__dt +806f7638 Audio::ItemWarningMgr::DestroyInstance +806f7718 Audio::ItemWarningMgr::__dt +806f77f4 Audio::ItemWarningMgr::Init +806f7870 Audio::ItemWarningMgr::Shutdown +806f787c Audio::ItemWarningMgr::GetItemWarning +806f788c Audio::SinglePlayer::CalcWaitTime +806f7b14 Audio::SinglePlayer::Disposer__dt +806f7cb4 Audio::SinglePlayer::CreateInstance +806f7d5c Audio::SinglePlayer::DestroyInstance +806f7ed8 Audio::SinglePlayer::__ct +806f7f54 Audio::Handle::__ct +806f7f60 Audio::Handle::__dt +806f7fa0 Audio::SinglePlayer::__dt +806f80d0 Audio::SinglePlayer::Calc +806f81e8 Audio::SinglePlayer::PlaySound +806f8404 Audio::Manager::PrepareSound +806f8438 Audio::SinglePlayer::PrepareSound +806f8544 0x806f8544 +806f86a0 Audio::SinglePlayer::PlayPreparedSound +806f8724 Audio::SinglePlayer::PreventActiveSoundStop +806f8730 Audio::SinglePlayer::StopSound +806f87a8 Audio::SinglePlayer::StartSound +806f89a8 Audio::SinglePlayer::SetupActiveHandle +806f8a74 Audio::SinglePlayer::SetupActiveHandle_switch +806f8a78 Audio::SinglePlayer::SetupActiveHandle_caseD_83 +806f8aa8 Audio::SinglePlayer::SetupActiveHandle_caseD_91 +806f8ac4 Audio::SinglePlayer::SetupActiveHandle_caseD_85 +806f8b04 Audio::SinglePlayer::SetupActiveHandle_caseD_7b +806f8b30 Audio::SinglePlayer::SetupActiveHandle_caseD_7d +806f8b4c 0x806f8b4c +806f8c44 Audio::SinglePlayer::StartActiveSound +806f8d04 Audio::SinglePlayer::GetFreeHandle +806f8d90 0x806f8d90 +806f8d94 Audio::SinglePlayer::GetFanfareLength +806f8f18 0x806f8f18 +806f8f6c Audio::SinglePlayer::StopInactiveSounds +806f8ffc Audio::SinglePlayerValuesMgr::Disposer__dt +806f9128 Audio::SinglePlayerValuesMgr::CreateInstance +806f91d0 Audio::SinglePlayerValuesMgr::DestroyInstance +806f9284 Audio::SinglePlayerValuesMgr::__dt +806f9328 Audio::SinglePlayerValuesMgr::SetHandle +806f934c Audio::SinglePlayerValuesMgr::Calc +806f9480 Audio::SinglePlayerValuesMgr::DetachHandle +806f948c Audio::SinglePlayerValuesMgr::UpdateTracks +806f94e4 Audio::SinglePlayerValuesMgr::SetVolume +806f9528 0x806f9528 +806f95ec Audio::StreamsMgr::Disposer_dt +806f9718 Audio::StreamsMgr::CreateInstance +806f97c0 Audio::StreamsMgr::DestroyInstance +806f9874 Audio::StreamsMgr::__dt +806f9918 Audio::StreamsMgr::PrepareStreams +806f9a68 Audio::StreamsMgr::ChangeStreamVolume +806f9a8c Audio::StreamsMgr::Calc +806f9c18 Audio::StreamsMgr::ResetVolume +806f9c70 Audio::SinglePlayer::PlayBGSound +806f9ce4 Audio::SinglePlayer::UpdateWaitTime +806f9d50 0x806f9d50 +806f9da4 Audio::SinglePlayer::CalcTitlePageNext +806fa120 Audio::StreamsMgr::ChangeMultipleStreamsVolume +806fa198 Audio::StreamsMgr::ChangeStream +806fa4cc Audio::EngineMgr::Init +806fa620 Audio::EngineMgr::Update +806fa968 Audio::EngineMgr::CalcSoundId +806faa00 0x806faa00 +806faab0 Audio::EngineMgr::CalcAccelerating +806fabc4 Audio::EngineMgr::CalcBraking +806facac Audio::EngineMgr::CalcPitch +806fad8c Audio::RaceAmbienceMgr::Disposer__dt +806faf24 Audio::RaceAmbienceMgr::CreateInstance +806fafd0 Audio::RaceAmbienceMgr::DestroyInstance +806fb11c Audio::RaceAmbienceMgr::__ct +806fb19c 0x806fb19c +806fb1dc Audio::RaceAmbienceMgr::__dt +806fb2fc Audio::RaceAmbienceMgr::Init +806fb330 Audio::RaceAmbienceMgr::StopGlobalSound +806fb348 Audio::RaceAmbienceMgr::Update +806fb480 Audio::RaceAmbienceMgr::StopGlobalSoundFadeOut +806fb49c Audio::RaceAmbienceMgr::PlayIntroAmbience +806fb52c Audio::RaceAmbienceMgr::PlayIntroAmbience_switch +806fb530 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1 +806fb5d4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_2 +806fb5fc Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_3 +806fb6d0 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_4 +806fb7ac Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_5 +806fb868 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_6 +806fb8e4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_7 +806fb930 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_3a +806fb958 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_a +806fb9d4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_b +806fba48 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_c +806fbab8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_d +806fbb3c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_e +806fbb88 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_f +806fbc0c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_10 +806fbc94 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_11 +806fbccc Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_12 +806fbd70 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_13 +806fbe28 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_14 +806fbecc Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_16 +806fbf38 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_17 +806fbfcc Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_19 +806fc01c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1a +806fc048 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1b +806fc098 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1c +806fc0f8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1d +806fc19c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1e +806fc1c8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1f +806fc1f0 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_0 +806fc20c Audio::RaceAmbienceMgr::PlayGlobalSound +806fc3e0 Audio::RaceAmbienceMgr::StopGlobalSound(soundId) +806fc414 Audio::RaceAmbienceMgr::PlayAmbience +806fc568 Audio::RaceAmbienceMgr::SetAmbienceVolume +806fc60c Audio::RaceAmbienceMgr::SetAllAmbiencesVolume +806fc6a8 Audio::RaceAmbienceMgr::UpdateAmbiences +806fc718 Audio::RaceAmbienceMgr::UpdateVeniceAndRingMissionAmbiences +806fcbc8 0x806fcbc8 +806fcc90 Audio::Ambience::__ct +806fcd1c Audio::Ambience::__dt +806fcda8 Audio::Ambience::IsPlayingSoundId +806fcddc Audio::Ambience::PlayAmbience +806fce40 Audio::Ambience::ResetVolume +806fce6c Audio::Ambience::SetVolume +806fce84 Audio::Ambience::Update +806fd04c 0x806fd04c +806fd150 Audio::GameHeap::Disposer__dt +806fd288 Audio::GameHeap::CreateInstance +806fd358 Audio::GameHeap::DestroyInstance +806fd474 Audio::GameHeap::__ct +806fd518 Audio::GameHeapImpl::__dt +806fd584 Audio::GameHeap::__dt +806fd668 Audio::GameHeap::Initialize +806fd6b0 Audio::GameHeap::DestroySoundHeap +806fd6f0 Audio::GameHeap::SetType +806fd70c 0x806fd70c +806fd74c EGG::SoundHeapMgr::SaveState(using) +806fd820 EGG::SoundHeapMgr::LoadState(using) +806fd8ac EGG::SoundHeapMgr::GetCurrentLevel(using) +806fd900 0x806fd900 +806fd924 Audio::ReverbMgr::Disposer__dt +806fda50 Audio::ReverbMgr::CreateInstance +806fdb3c Audio::ReverbMgr::DestroyInstance +806fdbf0 Audio::ReverbMgr::__ct +806fdcc0 Audio::ReverbMgr::__dt +806fdd64 Audio::ReverbMgr::Disable +806fdd88 Audio::ReverbMgr::Clear +806fded8 0x806fded8 +806fdf18 Audio::ReverbMgr::Prepare +806fdfb0 Audio::ReverbMgr::Play +806fe028 Audio::ReverbMgr::Disable2 +806fe04c Audio::FileManager::__dt +806fe08c 0x806fe08c +806fe0cc 0x806fe0cc +806fe10c Audio::FileManager::Init +806fe238 0x806fe238 +806fe304 0x806fe304 +806fe4fc Audio::FileManager::LoadBank +806fe63c 0x806fe63c +806fe77c 0x806fe77c +806fe7e8 Audio::FileManager::IsBankLoaded +806fe870 0x806fe870 +806fe8f8 0x806fe8f8 +806feb38 0x806feb38 +806febe4 Audio::FileManager::InvalidateWaveData +806fec30 Audio::FileManager::InvalidateData +806fec7c Audio::FileManager::GetFileWaveDataAddress +806feca4 Audio::FileManager::GetFileAddress +806feccc Audio::FileManager::AudioFileManager +806fed1c Audio::FileManager::__dt(thunk) +806fed24 Audio::FileManager::InvalidateData(thunk) +806fed2c Audio::FileManager::InvalidateWaveData(thunk) +806fed34 Audio::FileManager::SetRequest +806feed0 0x806feed0 +806fef10 Audio::FileManager::LoadGroupAsync +806ff120 0x806ff120 +806ff218 Audio::GroupBankRequester::Disposer__dt +806ff344 Audio::GroupBankRequester::CreateInstance +806ff4ac Audio::GroupBankRequester::DestroyInstance +806ff560 Audio::GroupBankRequester::__ct +806ff69c Audio::GroupBankRequester::__dt +806ff740 Audio::GroupBankRequester::RequestLoad(id) +806ff778 Audio::GroupBankRequester::RequestLoad(actorId) +806ff7f0 0x806ff7f0 +806ff810 Audio::Manager::LoadState +806ff89c Audio::GroupBankRequester::ProcessRequests +806ff928 Audio::GroupBankRequester::LoadAsync +806ffaac Audio::GroupBankRequester::GroupBankLoader +806ffacc Audio::GroupBankRequester::ConstructRequests +806ffae0 Audio::GroupBankRequester::Request::__ct +806ffbe4 0x806ffbe4 +806ffc24 Audio::Actor<4>::__dt +806ffc98 0x806ffc98 +806ffd20 0x806ffd20 +806ffd94 Audio::RaceActor::SetupBRASD +806ffdc0 Audio::RaceActor::UpdateBRASDFrame +806ffe38 Audio::RaceActor::Update +806ffe80 Audio::Actor<4>::SetPosition +806ffe84 Audio::RaceActor::SetupSound +806fff00 ObjectSoundAnimNoHandle::__ct +80700028 Audio::RaceActor::__dt +807000ec ObjectSoundAnimNoHandle::Update +80700134 ObjectSoundAnimNoHandle::Link +807001a4 ObjectSoundAnimNoHandle::DisableConditional +807001ec Audio::RaceActor::DisableConditional +80700208 ObjectSoundAnimNoHandle::UpdateUserParam3 +80700228 Audio::RaceActor::UpdateUserParam3 +80700248 ObjectSoundAnimNoHandle::StartSoundLimited +807003b8 Audio::RaceActor::StartSoundLimited +80700514 ObjectSoundAnimNoHandle::HoldSoundLimited +80700684 Audio::RaceAnimActor::__ct +807007ac Audio::RaceAnimActor::StartSound +807007c0 Audio::RaceActor::StartSound +80700834 0x80700834 +8070084c Audio::RaceActor::StartSound(StartInfo) +807008cc Audio::RaceAnimActor::HoldSound +807008e0 0x807008e0 +80700954 0x80700954 +8070096c Audio::RaceActor::HoldSound +807009ec Audio::RaceAnimActor::StopSound +80700a00 Audio::RaceActor::StopSound +80700a04 Audio::RaceActor::HoldSound +80700a0c Audio::RaceActor::StartSound +80700a14 Audio::RaceActor::StartNewSoundLimited +80700b54 Audio::RaceActor::HoldSoundLimited +80700d68 Audio::RaceActor::StopAllSound +80700dcc Audio::RaceActor::GetPosition +80700dd4 Audio::RaceActor::UpdateUserParam +80700de8 Audio::RaceActor::UpdateUserParam2 +80700e00 Audio::RaceActor::detail_UpdateAmbientArg +80700e64 Audio::Actor<4>::TryStartSound(u32) +80700ef0 Audio::Actor<4>::TryStartSound(ul) +80700f7c Audio::Actor<4>::TryStartSound(str) +8070103c Audio::Actor<4>::TryStopAndStartSound(u32) +807010d0 Audio::Actor<4>::TryStopAndStartSound(ul) +80701164 Audio::Actor<4>::TryStopAndStartSound(str) +80701220 Audio::Actor<4>::TryHoldSound(u32) +80701308 Audio::Actor<4>::TryHoldSound(ul) +807013f0 Audio::Actor<4>::TryHoldSound(str) +8070150c Audio::Actor<4>::TryHoldSound(u32, handleId) +80701574 Audio::Actor<4>::TryHoldSound(u3l, handleId) +807015dc Audio::Actor<4>::TryHoldSound(str, handleId) +80701680 Audio::Actor<4>::TryPrepareSound(u32) +8070170c Audio::Actor<4>::TryPrepareSound(ul) +80701798 Audio::Actor<4>::TryPrepareSound(str) +80701858 Audio::Actor<4>::TryStopAndPrepareSound(u32) +807018ec Audio::Actor<4>::TryStopAndPrepareSound(ul) +80701980 Audio::Actor<4>::TryStopAndPrepareSound(str) +80701a3c ObjectSoundAnimNoHandle::__dt +80701b04 Audio::RaceAnimActor::__dt +80701bdc Audio::Actor::detail_UpdateAmbientArg +80701be4 0x80701be4 +80701bec 0x80701bec +80701bf4 Audio::RaceActor::__dt +80701bfc ObjectSoundAnimNoHandle::__dt +80701c04 ObjectSoundAnimNoHandle::HoldSoundLimited +80701c0c ObjectSoundAnimNoHandle::StartSoundLimited +80701c14 ObjectSoundAnimNoHandle::UpdateUserParam3 +80701c1c ObjectSoundAnimNoHandle::DisableConditional +80701c24 ObjectSoundAnimNoHandle::Update +80701c2c ObjectSoundAnimNoHandle::Link +80701c34 Audio::RaceActor::detail_UpdateAmbientArg +80701c3c 0x80701c3c +80701c44 Audio::RaceActor::UpdateBRASDFrame +80701c4c Audio::RaceActor::SetupBRASD +80701c54 Audio::RaceActor::HoldSound +80701c5c Audio::RaceActor::HoldSound(StartInfo) +80701c64 Audio::RaceActor::StartSound +80701c6c Audio::RaceActor::StartSound(StartInfo) +80701c74 Audio::RaceAnimActor::StopSound +80701c7c Audio::RaceAnimActor::HoldSound +80701c84 Audio::RaceAnimActor::StartSound +80701c8c Audio::RaceActor::StartNewSoundLimited +80701c94 Audio::RaceActor::StopAllSound +80701c9c Audio::RaceActor::HoldSoundLimited +80701ca4 Audio::RaceActor::StartSoundLimited +80701cac Audio::RaceActor::UpdateUserParam3 +80701cb4 Audio::RaceActor::DisableCondition +80701cbc Audio::RaceActor::UpdateUserParam2 +80701cc4 Audio::RaceActor::UpdateUserParam +80701ccc Audio::RaceActor::Reset +80701cd4 Audio::RaceActor::GetPosition +80701cdc Audio::RaceActor::Update +80701ce4 Audio::LinkedRaceActor::__ct +80701d38 Audio::LinkedRaceActor::__dt +80701d80 Audio::LinkedRaceActor::Link +80701e3c Audio::LinkedRaceActor::Unlink +80701e94 0x80701e94 +80701eb4 0x80701eb4 +80701f50 Audio::LinkedRaceActor::CannotPlaySounds +80701fd8 0x80701fd8 +80701fdc Audio::LinkedRaceActor::Toggle +80702038 Audio::LinkedRaceActor::GetKartPosition +80702040 Audio::LinkedRaceActor::GetObjectPosition +8070204c Audio::LinkedRaceActor::SetSoundParams +8070205c Audio::ObjectActorAnim::__ct +807020b0 0x807020b0 +807020f0 Audio::ObjectActorAnim::Link +80702160 Audio::ObjectActorAnim::Unlink +80702168 Audio::ObjectActorAnim::Update +8070216c Audio::ObjectActorAnim::StartSoundLimited +80702710 Audio::ObjectActorAnim::HoldSoundLimited +80702b30 Audio::ObjectActorAnim::StartNewSoundLimited +80702d38 Audio::ObjectActorAnim::StartSound +80703134 Audio::ObjectActorAnim::SetupSound +807033d0 Audio::ObjectActorAnim::DisableConditional +8070356c Audio::ObjectActorAnim::UpdateUserParam3 +8070361c Audio::ObjectActorAnim::__dt +807036f8 Audio::ObjectActorAnim::__dt(thunk) +80703700 Audio::ObjectActorAnim::StartSound(thunk) +80703708 Audio::ObjectActorAnim::StartNewSoundLimited(thunk) +80703710 Audio::ObjectActorAnim::HoldSoundLimited(thunk) +80703718 Audio::ObjectActorAnim::StartSoundLimited(thunk) +80703720 Audio::ObjectActorAnim::UpdateUserParam3(thunk) +80703728 Audio::ObjectActorAnim::DisableConditional(thunk) +80703730 Audio::ObjectActorAnim::Update(thunk) +80703738 Audio::ObjectActorAnim::Unlink(thunk) +80703740 Audio::ObjectActorAnim::Link(thunk) +80703748 Audio::ItemActor::__ct +807037f0 0x807037f0 +80703830 Audio::Actor<2>::__dt +807038a4 0x807038a4 +8070392c Audio::ItemActor::Link +80703934 Audio::ItemActor::Unlink +8070393c Audio::ItemActor::Update +80703954 Audio::Actor<2>::SetPosition +80703958 Audio::ItemActor::DisableConditional +80703974 0x80703974 +80703990 Audio::ItemActor::UpdateUserParam3 +807039b0 0x807039b0 +807039d0 Audio::ItemActor::StartSoundLimited +80703c00 0x80703c00 +80703d0c Audio::ItemActor::HoldSoundLimited +80703e98 0x80703e98 +80704004 Audio::ItemActor::StartNewSoundLimited +80704100 0x80704100 +807041e8 0x807041e8 +80704240 Audio::GessoActor::__ct +807042e8 0x807042e8 +8070435c 0x8070435c +807043e4 Audio::GessoActor::Link +807043ec Audio::GessoActor::Update +807043f0 0x807043f0 +80704400 0x80704400 +80704404 Audio::GessoActor::StartSoundLimited +807044fc 0x807044fc +807045e0 Audio::GessoActor::SetupBRASD +807045e4 Audio::GessoActor::UpdateBRASDFrame +807045e8 Audio::ItemActor::SetupBRASD +807045ec Audio::ItemActor::UpdateBRASD +807045f0 Audio::GessoActor::StartNewSoundLimited +807046ac Audio::GessoActor::HoldSoundLimited +807047c4 Audio::GessoActor::StopAllSound +807047d8 Audio::GessoActor::StartSound +8070484c Audio::GessoActor::StartSound(StartInfo) +807048cc Audio::GessoActor::HoldSound +80704940 Audio::GessoActor::HoldSound(StartInfo) +807049c0 Audio::GessoActor::Reset +80704a00 Audio::GessoActor::GetPosition +80704a08 Audio::GessoActor::UpdateUserParam +80704a1c Audio::GessoActor::UpdateUserParam2 +80704a34 Audio::GessoActor::DisableConditional +80704a50 Audio::GessoActor::UpdateUserPar +80704a70 Audio::GessoActor::detail_UpdateAmbientArg +80704ad4 Audio::ItemActor::StopAllSound +80704b38 Audio::ItemActor::StartSound +80704bac Audio::ItemActor::StartSound(StartInfo) +80704c2c Audio::ItemActor::HoldSound +80704ca0 Audio::ItemActor::HoldSound(StartInfo) +80704d20 Audio::ItemActor::Reset +80704d60 Audio::ItemActor::GetPosition +80704d68 Audio::ItemActor::UpdateUserParam +80704d7c Audio::ItemActor::UpdateUserParam2 +80704d94 Audio::ItemActor::detail_UpdateAmbientArg +80704df8 0x80704df8 +80704e84 0x80704e84 +80704f10 0x80704f10 +80704fd0 0x80704fd0 +80705064 0x80705064 +807050f8 0x807050f8 +807051b4 0x807051b4 +8070529c 0x8070529c +80705384 0x80705384 +807054a0 0x807054a0 +80705508 0x80705508 +80705570 0x80705570 +80705614 0x80705614 +807056a0 0x807056a0 +8070572c 0x8070572c +807057ec 0x807057ec +80705880 0x80705880 +80705914 0x80705914 +807059d0 Audio::Actor<2>::TryStartSound(u32) +80705a5c Audio::Actor<2>::TryStartSound(ul) +80705ae8 Audio::Actor<2>::TryStartSound(str) +80705ba8 Audio::Actor<2>::TryStopAndStartSound(u32) +80705c3c Audio::Actor<2>::TryStopAndStartSound(ul) +80705cd0 Audio::Actor<2>::TryStopAndStartSound(str) +80705d8c Audio::Actor<2>::TryHoldSound(u32) +80705e74 Audio::Actor<2>::TryHoldSound(ul) +80705f5c Audio::Actor<2>::TryHoldSound(str) +80706078 Audio::Actor<2>::TryHoldSound(u32, handleId) +807060e0 Audio::Actor<2>::TryHoldSound(ul, handleId) +80706148 Audio::Actor<2>::TryHoldSound(str, handleId) +807061ec Audio::Actor<2>::TryPrepareSound(u32) +80706278 Audio::Actor<2>::TryPrepareSound(ul) +80706304 Audio::Actor<2>::TryPrepareSound(str) +807063c4 Audio::Actor<2>::TryStopAndPrepareSound(u32) +80706458 Audio::Actor<2>::TryStopAndPrepareSound(ul) +807064ec Audio::Actor<2>::TryStopAndPrepareSound(str) +807065a8 Audio::ItemActor::__dt +80706634 Audio::GessoActor::__dt +807066c0 0x807066c0 +807066c8 0x807066c8 +807066d0 0x807066d0 +807066d8 0x807066d8 +807066e0 0x807066e0 +807066e8 0x807066e8 +807066f0 0x807066f0 +807066f8 Audio::ItemActor::detail_UpdateAmbientArg(thunk) +80706700 Audio::ItemActor::__dt(thunk) +80706708 Audio::ItemActor::UpdateBRASDFrame(thunk) +80706710 Audio::ItemActor::SetupBRASD(thunk) +80706718 Audio::ItemActor::HoldSound(thunk) +80706720 Audio::ItemActor::HoldSound(StartInfo)(thunk) +80706728 Audio::ItemActor::StartSound(thunk) +80706730 Audio::ItemActor::StartSound(StartInfo)(thunk) +80706738 Audio::ItemActor::StartNewSoundLimited(thunk) +80706740 Audio::ItemActor::StopAllSound(thunk) +80706748 Audio::ItemActor::HoldSoundLimited(thunk) +80706750 Audio::ItemActor::StartSoundLimited(thunk) +80706758 Audio::ItemActor::UpdateUserParam3(thunk) +80706760 Audio::ItemActor::DisableConditional(thunk) +80706768 Audio::ItemActor::UpdateUserParam2(thunk) +80706770 Audio::ItemActor::UpdateUserParam(thunk) +80706778 Audio::ItemActor::Reset(thunk) +80706780 Audio::ItemActor::GetPosition(thunk) +80706788 Audio::ItemActor::Update(thunk) +80706790 Audio::ItemActor::Unlink(thunk) +80706798 Audio::ItemActor::Link(thunk) +807067a0 0x807067a0 +807067a8 0x807067a8 +807067b0 0x807067b0 +807067b8 Audio::GessoActor::detail_UpdateAmbientArg(thunk) +807067c0 Audio::GessoActor::__dt(thunk) +807067c8 Audio::GessoActor::UpdateBRASDFrame(thunk) +807067d0 Audio::GessoActor::SetupBRASD(thunk) +807067d8 Audio::GessoActor::HoldSound(thunk) +807067e0 Audio::GessoActor::HoldSound(StartInfo)(thunk) +807067e8 Audio::GessoActor::StartSound(thunk) +807067f0 Audio::GessoActor::StartSound(StartInfo)(thunk) +807067f8 Audio::GessoActor::StartNewSoundLimited(thunk) +80706800 Audio::GessoActor::StopAllSound(thunk) +80706808 Audio::GessoActor::HoldSoundLimited(thunk) +80706810 Audio::GessoActor::StartSoundLimited(thunk) +80706818 Audio::GessoActor::UpdateUserParam3(thunk) +80706820 Audio::GessoActor::DisableConditional(thunk) +80706828 Audio::GessoActor::UpdateUserParam2(thunk) +80706830 Audio::GessoActor::UpdateUserParam(thunk) +80706838 Audio::GessoActor::Reset(thunk) +80706840 Audio::GessoActor::GetPosition(thunk) +80706848 Audio::GessoActor::Update(thunk) +80706850 Audio::GessoActor::Link(thunk) +80706858 0x80706858 +80706898 Audio::KartActor::__ct +807069cc Audio::SimpleRaceActor::__dt +80706a58 Audio::KartActor::__dt +80706b1c Audio::KartActor::SetActorType +80706b3c Audio::KartActor::DisableConditional +80706b80 Audio::KartActor::UpdateUserParam3 +80706ba0 Audio::KartActor::Link +80706cb4 Audio::KartActor::Unlink +80706d3c Audio::KartActor::Update +807074b0 0x807074b0 +807075e8 Audio::KartActor::StopAllSound +807076a8 Audio::KartActor::SetupSound +807076ac Audio::KartActor::HoldSoundLimited +80707944 Audio::KartActor::StartSoundLimited +8070818c Audio::KartActor::OutputSoundToWiimotes +807081b0 Audio::KartActor::ApplyKCLSoundTrigger +80708218 Audio::KartActor::PlayBoostSound +807083b4 Audio::KartActor::PlayRampSound +80708550 0x80708550 +807087bc Audio::KartActor::PlayCannonSound +80708818 Audio::KartActor::PlayHornSound +80708920 Audio::KartActor::StartSound +807089a4 Audio::KartActor::HoldSound +80708a30 Audio::KartActor::PlayMTSounds +80708c7c Audio::KartActor::PlayRoadSound +80708e90 0x80708e90 +80708f44 0x80708f44 +80708fec Audio::KartActor::StartNewSoundLimited +80709174 Audio::KartActor::OnObjectNormalCollision +80709310 Audio::KartActor::OnObjectWallCollision +80709464 Audio::KartActor::PlayObjectCollisionSounds +8070a638 Audio::KartActor::PlayWallCollisionSound +8070a708 Audio::KartActor::PlayBushCollisionSound +8070a768 0x8070a768 +8070a814 0x8070a814 +8070a83c 0x8070a83c +8070a8bc Audio::KartActor::UpdateLapSounds +8070aafc Audio::KartActor::UpdateKCLValues +8070ae84 0x8070ae84 +8070af48 Audio::KartActor::SetRoadState +8070af5c Audio::KartActor::GetDriftAndSSMTRoadSoundId +8070afc0 Audio::KartActor::GetDriftAndSSMTRoadSoundId_switch +8070afc4 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_16 +8070afd8 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_15 +8070afe4 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_13 +8070aff8 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_b +8070b00c Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_5 +8070b020 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_4 +8070b034 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_3 +8070b048 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_2 +8070b05c Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_1 +8070b070 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_0 +8070b080 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_17 +8070b094 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_1d +8070b0a4 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_10 +8070b0ac Audio::KartActor::GetLandingSoundId +8070b0ec Audio::KartActor::GetLandingSoundId_switch +8070b0f0 Audio::KartActor::GetLandingSoundId_caseD_16 +8070b104 Audio::KartActor::GetLandingSoundId_caseD_15 +8070b110 Audio::KartActor::GetLandingSoundId_caseD_13 +8070b124 Audio::KartActor::GetLandingSoundId_caseD_b +8070b138 Audio::KartActor::GetLandingSoundId_caseD_5 +8070b14c Audio::KartActor::GetLandingSoundId_caseD_4 +8070b160 Audio::KartActor::GetLandingSoundId_caseD_3 +8070b174 Audio::KartActor::GetLandingSoundId_caseD_2 +8070b188 Audio::KartActor::GetLandingSoundId_caseD_1 +8070b19c Audio::KartActor::GetLandingSoundId_caseD_0 +8070b1ac Audio::KartActor::GetLandingSoundId_caseD_17 +8070b1c0 Audio::KartActor::GetLandingSoundId_caseD_1d +8070b1d0 Audio::KartActor::GetLandingSoundId_caseD_10 +8070b1d8 Audio::KartActor::GetRoadSoundId +8070b240 Audio::KartActor::GetRoadSoundId_caseD_16 +8070b254 Audio::KartActor::GetRoadSoundId_caseD_15 +8070b260 Audio::KartActor::GetRoadSoundId_caseD_13 +8070b274 Audio::KartActor::GetRoadSoundId_caseD_b +8070b288 Audio::KartActor::GetRoadSoundId_caseD_5 +8070b29c Audio::KartActor::GetRoadSoundId_caseD_4 +8070b2b0 Audio::KartActor::GetRoadSoundId_caseD_3 +8070b2c4 Audio::KartActor::GetRoadSoundId_caseD_2 +8070b2d8 Audio::KartActor::GetRoadSoundId_caseD_1 +8070b2ec Audio::KartActor::GetRoadSoundId_caseD_0 +8070b2fc Audio::KartActor::GetRoadSoundId_caseD_17 +8070b310 Audio::KartActor::GetRoadSoundId_caseD_1d +8070b320 Audio::KartActor::GetRoadSoundId_caseD_10 +8070b328 Audio::KartActor::GetBrakingSoundId +8070b390 Audio::KartActor::GetBrakingSoundId_caseD_16 +8070b3a4 Audio::KartActor::GetBrakingSoundId_caseD_15 +8070b3b0 Audio::KartActor::GetBrakingSoundId_caseD_13 +8070b3c4 Audio::KartActor::GetBrakingSoundId_caseD_b +8070b3d8 Audio::KartActor::GetBrakingSoundId_caseD_5 +8070b3ec Audio::KartActor::GetBrakingSoundId_caseD_4 +8070b400 Audio::KartActor::GetBrakingSoundId_caseD_3 +8070b414 Audio::KartActor::GetBrakingSoundId_caseD_2 +8070b428 Audio::KartActor::GetBrakingSoundId_caseD_1 +8070b43c Audio::KartActor::GetBrakingSoundId_caseD_0 +8070b44c Audio::KartActor::GetBrakingSoundId_caseD_17 +8070b460 Audio::KartActor::GetBrakingSoundId_caseD_1d +8070b470 Audio::KartActor::GetBrakingSoundId_caseD_10 +8070b478 Audio::KartActor::SetNonLocalVolumeAndPriority +8070bad4 0x8070bad4 +8070bbd0 Audio::KartActor::PlayEngineSound +8070bdc4 Audio::KartActor::SetPitch +8070bed4 0x8070bed4 +8070bf1c 0x8070bf1c +8070bf50 Audio::KartActor::PlayOtherKartCollisionSound +8070bff4 0x8070bff4 +8070c074 Audio::SimpleRaceActor::SetupBRASD +8070c078 Audio::SimpleRaceActor::UpdateBRASDFrame +8070c07c 0x8070c07c +8070c080 Audio::SimpleRaceActor::__dt(thunk) +8070c088 Audio::KartActor::__dt(thunk) +8070c090 Audio::SimpleRaceActor::UpdateBRASDFrame(thunk) +8070c098 Audio::SimpleRaceActor::SetupBRASD(thunk) +8070c0a0 Audio::KartActor::HoldSound(thunk) +8070c0a8 Audio::KartActor::StartSound(thunk) +8070c0b0 Audio::KartActor::StartNewSoundLimited(thunk) +8070c0b8 Audio::KartActor::StopAllSound(thunk) +8070c0c0 Audio::KartActor::HoldSoundLimited(thunk) +8070c0c8 Audio::KartActor::StartSoundLimited(thunk) +8070c0d0 Audio::KartActor::UpdateUserParam3(thunk) +8070c0d8 Audio::KartActor::DisableConditional(thunk) +8070c0e0 Audio::KartActor::Update(thunk) +8070c0e8 Audio::KartActor::Unlink(thunk) +8070c0f0 Audio::KartActor::Link(thunk) +8070c0f8 Audio::ObjectActor::__ct +8070c1a4 0x8070c1a4 +8070c1e4 Audio::ObjectActor::__dt +8070c274 Audio::ObjectActor::Update +8070c39c Audio::ObjectActor::Unlink +8070c3a4 Audio::ObjectActor::Link +8070c414 0x8070c414 +8070c46c Audio::ObjectActor::StartNewSoundLimited +8070cfe4 Audio::ObjectActor::HoldSoundLimited +8070d2f8 Audio::ObjectActor::StartSoundLimited +8070d4b4 0x8070d4b4 +8070d7f4 Audio::ObjectActor::DisableConditional +8070dc5c Audio::ObjectActor::UpdateUserParam3 +8070dce0 Audio::ObjectActor::SetupSound +8070dd98 0x8070dd98 +8070dddc Audio::ObjectActor::__dt(thunk) +8070dde4 Audio::ObjectActor::StartNew(thunk) +8070ddec Audio::ObjectActor::HoldSoundLimited(thunk) +8070ddf4 Audio::ObjectActor::StartSoundLimited(thunk) +8070ddfc Audio::ObjectActor::UpdateUserParam3(thunk) +8070de04 Audio::ObjectActor::DisableConditional(thunk) +8070de0c Audio::ObjectActor::Update(thunk) +8070de14 Audio::ObjectActor::Unlink(thunk) +8070de1c Audio::ObjectActor::Link(thunk) +8070de24 0x8070de24 +8070dee0 0x8070dee0 +8070df20 0x8070df20 +8070dfac 0x8070dfac +8070e090 0x8070e090 +8070e19c 0x8070e19c +8070e1a4 0x8070e1a4 +8070e2fc 0x8070e2fc +8070e338 0x8070e338 +8070e33c 0x8070e33c +8070e378 0x8070e378 +8070e388 0x8070e388 +8070e398 0x8070e398 +8070e3c8 0x8070e3c8 +8070e404 0x8070e404 +8070e424 0x8070e424 +8070e434 0x8070e434 +8070e454 0x8070e454 +8070e4e4 0x8070e4e4 +8070e4e8 0x8070e4e8 +8070e4ec 0x8070e4ec +8070e4f4 0x8070e4f4 +8070e4fc 0x8070e4fc +8070e504 0x8070e504 +8070e50c 0x8070e50c +8070e514 0x8070e514 +8070e51c 0x8070e51c +8070e524 0x8070e524 +8070e52c 0x8070e52c +8070e534 Audio::PlayersVolumeMgr::Disposer__dt +8070e660 Audio::PlayersVolumeMgr::CreateInstance +8070e754 Audio::PlayersVolumeMgr::DestroyInstance +8070e808 Audio::PlayersVolumeMgr::__dt +8070e8ac 0x8070e8ac +8070e974 0x8070e974 +8070ea24 0x8070ea24 +8070ea3c 0x8070ea3c +8070ea54 Audio::PlayersVolumeMgr::Calc +8070eadc Audio::PlayersVolumeMgr::StopAllPlayersButTrackUI +8070eb3c Audio::PlayersVolumeMgr::MuteAllButTrackUI +8070ebc0 Audio::PlayersVolumeMgr::ResetAllButUI +8070ec08 Audio::PlayersVolumeMgr::Reset +8070ecb4 Audio::PlayersVolumeMgr::PauseAllButTrackUI +8070ed24 Audio::PlayersVolumeMgr::SetVolume +8070ee10 0x8070ee10 +8070eec8 0x8070eec8 +8070eee8 0x8070eee8 +8070ef24 Audio::ItemAlterationMgr::Disposer__dt +8070f074 Audio::ItemAlterationMgr::CreateInstance +8070f0e8 0x8070f0e8 +8070f128 Audio::ItemAlterationMgr::DestroyInstance +8070f22c Audio::ItemAlterationMgr::__dt +8070f304 Audio::ItemAlterationMgr::Init +8070f35c Audio::ItemAlterationMgr::IsDemo +8070f37c Audio::ItemAlterationMgr::Update +8070f51c Audio::ItemAlterationMgr::ResetItemState +8070f534 Audio::ItemAlterationMgr::UpdateStatus +8070f6e8 Audio::ItemAlterationMgr::SetAudioAlteration +8070f860 Audio::ItemAlterationMgr::GetCourseSoundId +8070f880 Audio::ItemAlterationMgr::CalcStatus2Values +8070f91c Audio::ItemAlterationMgr::PlayStarMusic +8070f974 Audio::ItemAlterationMgr::PlayMegaMusic +8070f9ac Audio::RaceMgr::Disposer__dt +8070fb3c Audio::RaceMgr::CreateInstance +8070fb8c Audio::RaceMgr::DestroyInstance +8070fcd0 Audio::RaceMgr::ActorHolder::Compare +8070fcf4 Audio::RaceMgr::__ct +8070ff14 0x8070ff14 +8070ff54 Audio::RaceMgr::__dt +8071006c Audio::RaceMgr::Init +80710218 Audio::RaceMgr::Shutdown +8071030c Audio::RaceMgr::Calc +8071070c 0x8071070c +80710804 Audio::RaceMgr::UpdatePlayerMatrix +80710968 0x80710968 +807109fc 0x807109fc +80710a84 Audio::RaceMgr::StartRace +80710b10 Audio::RaceMgr::UpdateActors +80710b80 Audio::RaceMgr::UpdateLocalPlayerParams +80710cd4 Audio::RaceMgr::IsAPlayerSquishedOrSmall +80710d98 Audio::RaceMgr::IsAPlayerInStar +80710e0c Audio::RaceMgr::IsAPlayerInMega +80710e80 0x80710e80 +80710ec8 0x80710ec8 +80710fcc Audio::RaceMgr::SetNonTrackVolumes +80711078 Audio::RaceMgr::SetEngineVolume +80711080 Audio::RaceMgr::SetNonTrackAndEngineVolume +80711130 Audio::RaceMgr::SetRaceState +8071182c 0x8071182c +807118a0 0x807118a0 +807118a4 0x807118a4 +807118b8 0x807118b8 +807118cc 0x807118cc +807118ec 0x807118ec +807119ec 0x807119ec +80711a0c 0x80711a0c +80711ab8 0x80711ab8 +80711b14 0x80711b14 +80711bac 0x80711bac +80711c40 Audio::RaceMgr::CheckRaceState +80712148 0x80712148 +807121c4 Audio::RaceMgr::SortAndToggleActors +80712dc0 Audio::RaceMgr::SetKartSound +80712e14 0x80712e14 +80712e58 0x80712e58 +80712e60 0x80712e60 +80712efc 0x80712efc +80712f3c 0x80712f3c +80713068 0x80713068 +807130d0 0x807130d0 +80713184 0x80713184 +80713228 0x80713228 +80713230 0x80713230 +807132ec Audio::RSARPlayer::OutputSoundToWiimotes +807133d0 0x807133d0 +80713438 Audio::RSARPlayer::IsDemo +80713454 0x80713454 +8071347c 0x8071347c +807134fc Audio::RSARPlayer::CreateInstance +80713720 Audio::RSARPlayer::DestroyInstance +80713798 Audio::RSARPlayer::Close +807137f0 Audio::RSARPlayer::OnLoad +807137fc Audio::RSARPlayer::Stop +80713858 Audio::RSARPlayer::HasFinishedLoadingGroups +80713864 Audio::RSARPlayer::Calc +807139dc Audio::RSARPlayer::OnNewPageLayer +807139e0 Audio::MenuRSARPlayer::OnNewPageLayer +80713c04 0x80713c04 +80713cfc 0x80713cfc +80713d08 0x80713d08 +80713d14 Audio::RSARPlayer::PlaySoundById +80713dd8 Audio::RSARPlayer::HoldSoundById +80713e3c 0x80713e3c +80713fa8 0x80713fa8 +80713fe8 Audio::RSARPlayer::PlaySound +80714c50 Audio::RSARPlayer::StopSoundById +80714c90 Audio::RSARPlayer::HoldSound +80714cb4 0x80714cb4 +80714d60 0x80714d60 +80714f4c 0x80714f4c +80714ff4 0x80714ff4 +807150b8 0x807150b8 +807150dc Audio::RSARPlayer::PrepareReverb +807150e0 Audio::RSARPlayer::Reset +80715104 Audio::MenuRSARPlayer::__ct +80715138 Audio::MenuRSARPlayer::Prepare +807151e8 Audio::MenuRSARPlayer::Close +80715240 Audio::MenuRSARPlayer::OnLoad +807152a8 Audio::MenuRSARPlayer::Stop +80715304 Audio::MenuRSARPlayer::PrepareReverb +80715410 Audio::RaceRSARPlayer::__ct +80715490 Audio::RaceRSARPlayer::OnLoad +807154d0 Audio::RaceRSARPlayer::Stop +80715538 Audio::RaceRSARPlayer::Pause +807155cc Audio::RaceRSARPlayer::Resume +8071565c Audio::RaceRSARPlayer::PlayEndRaceMenuButtonClickSound +80715674 Audio::RaceRSARPlayer::SetFullVolume +80715684 Audio::RaceRSARPlayer::HalveVolume +80715694 Audio::RaceRSARPlayer::Prepare +807157dc Audio::RaceRSARPlayer::LoadCharacterGroups +80715920 Audio::RaceRSARPlayer::PrepareReverb +80715a70 Audio::RaceRSARPlayer::Close +80715ad8 Audio::RaceRSARPlayer::Calc +80715c74 Audio::RaceRSARPlayer::PlaySound +80715de8 Audio::RaceRSARPlayer::HoldSound +80715e24 Audio::TestRSARPlayer::__ct +80715e58 Audio::TestRSARPlayer::Prepare +80715e88 Audio::TestRSARPlayer::Close +80715ee0 Audio::TestRSARPlayer::OnDeactivate +80715eec Audio::GlobeRSARPlayer::__ct +80715f28 Audio::RSARPlayer::__dt +80715fac Audio::GlobeRSARPlayer::OnDeactivate +80715ff8 Audio::GlobeRSARPlayer::Prepare +8071608c Audio::GlobeRSARPlayer::Calc +80716204 Audio::GlobeRSARPlayer::PrepareReverb +80716310 Audio::GlobeRSARPlayer::Close +80716368 0x80716368 +807163d4 Audio::Manager::OpenBRSAR +80716400 Audio::Manager::Disposer__dt +80716498 Audio::Manager::CreateInstance +8071657c Audio::Manager::DestroyInstance +807165b0 Audio::Manager::__ct +80716670 Audio::Manager::__dt +80716770 Audio::Manager::DestroyAudioInstances +807167bc Audio::Manager::Init +807168b8 Audio::Manager::InitSelf +80716a90 0x80716a90 +80716b0c 0x80716b0c +80716b4c 0x80716b4c +80716b8c Audio::Manager::CreateAudioInstances +80716c0c Audio::Manager::LoadControlsGroup +80716ca8 Audio::Manager::Calc +80716db0 Audio::Manager::StartSound +80716df8 Audio::Manager::HoldSound +80716e40 Audio::Manager::EnterHBM +80716eb8 Audio::Manager::ExitHBM +80716f40 Audio::Manager::AudioUtilityCallback +80716f58 Audio::Manager::Lock +80716f64 Audio::Manager::Unlock +80716f70 Audio::Manager::PauseOnDVDBusy +80717020 Audio::Manager::SetupMemoryArchive +80717030 Audio::Manager::HoldSound +80717064 Audio::Manager::HoldSound(str) +807170d4 Audio::Manager::PrepareSound +80717108 Audio::Manager::PrepareSound(str) +80717178 Audio::Manager::StartSound +807171ac Audio::Manager::StartSound(str) +8071721c 0x8071721c +8071723c Audio::Manager::LoadState(thunk) +80717244 Audio::Manager::HoldSound(thunk) +8071724c Audio::Manager::StartSound(thunk) +80717254 Audio::Manager::Calc(thunk) +8071725c Audio::Manager::LoadGroup(thunk) +80717264 Audio::Manager::LoadGroup(thunk) +8071726c Audio::Manager::LoadGroup(thunk) +80717274 Audio::Manager::CloseArchive(thunk) +8071727c Audio::Manager::SetupMemoryArchive(thunk) +80717284 Audio::Manager::SetupMemoryArchive(thunk) +8071728c Audio::Manager::OpenMemoryArchive(thunk) +80717294 Audio::Manager::OpenNANDArchive(thunk) +8071729c Audio::Manager::OpenDVDArchive(thunk) +807172a4 Audio::Manager::OpenArchive(thunk) +807172ac Audio::Manager::__dt(thunk) +807172b4 Audio::Manager::WriteSeqVariable +80717334 0x80717334 +80717374 Audio::Track::SetValue +80717398 Audio::Track::Calc +807173dc Audio::PitchModuler::_ct +807173f0 Audio::PitchModuler::Update +8071746c Audio::PitchModuler::GetNextLimit +807174a0 Audio::EchoMgr::Disposer__dt +807175cc Audio::EchoMgr::CreateInstance +80717680 Audio::EchoMgr::DestroyInstance +80717734 Audio::EchoMgr::__ct +807177bc Audio::EchoMgr::__dt +80717860 Audio::EchoMgr::Init +80717884 Audio::EchoMgr::Shutdown +80717888 Audio::EchoMgr::Update +80717924 Audio::EchoMgr::SetVolume +8071793c Audio::EchoMgr::SetEcho +80717954 Audio::SoundTriggerMgr::Disposer__dt +80717a80 Audio::SoundTriggerMgr::CreateInstance +80717b04 Audio::SoundTriggerMgr::DestroyInstance +80717bb8 Audio::SoundTriggerMgr::__ct +80717c10 Audio::SoundTriggerMgr::__dt +80717cb4 Audio::SoundTriggerMgr::Init +80717d0c Audio::SoundTriggerMgr::Init_switch +80717d10 Audio::SoundTriggerMgr::Init_caseD_3a +80717d8c Audio::SoundTriggerMgr::Init_caseD_1 +80717e08 Audio::SoundTriggerMgr::Init_caseD_4 +80717e84 Audio::SoundTriggerMgr::Init_caseD_0 +80717f00 Audio::SoundTriggerMgr::Init_caseD_5 +80717f7c Audio::SoundTriggerMgr::Init_caseD_6 +80717ff8 Audio::SoundTriggerMgr::Init_caseD_3 +80718074 Audio::SoundTriggerMgr::Init_caseD_c +807180f0 Audio::SoundTriggerMgr::Init_caseD_18 +8071816c Audio::SoundTriggerMgr::Init_caseD_1a +807181e8 Audio::SoundTriggerMgr::Init_caseD_1d +80718264 Audio::SoundTriggerMgr::Init_caseD_10 +807182e0 Audio::SoundTriggerMgr::Init_caseD_13 +8071835c Audio::SoundTriggerMgr::Init_caseD_14 +807183d8 Audio::SoundTriggerMgr::Init_caseD_17 +80718454 Audio::SoundTriggerMgr::Init_caseD_15 +807184d0 Audio::SoundTriggerMgr::Init_caseD_20 +80718548 Audio::SoundTriggerMgr::Init_caseD_2a +80718564 Audio::SoundTriggerMgr::IsAPlayerOnVariant +807185a8 Audio::SoundTriggerMgr::Shutdown +807185b4 Audio::SoundTriggerMgr::Update +807185f0 Audio::SoundTriggerMgr::IsPlayerAheadOfOtherLocal +807186b0 Audio::SoundTriggerMgr::ApplyTrigger +80718808 Audio::SoundTriggerMgr::ApplyTrigger_switch +8071880c Audio::SoundTriggerMgr::ApplyTrigger_caseD_3a +80718960 Audio::SoundTriggerMgr::ApplyTrigger_caseD_2 +80718c04 Audio::SoundTriggerMgr::ApplyTrigger_caseD_4 +80718c24 Audio::SoundTriggerMgr::ApplyTrigger_switch +80718c28 Audio::SoundTriggerMgr::ApplyTrigger_caseD_0 +80718cac Audio::SoundTriggerMgr::ApplyTrigger_caseD_1 +80718d58 Audio::SoundTriggerMgr::ApplyTrigger_caseD_2 +80718ddc Audio::SoundTriggerMgr::ApplyTrigger_caseD_3 +80718e80 Audio::SoundTriggerMgr::ApplyTrigger_caseD_4 +80718f2c Audio::SoundTriggerMgr::ApplyTrigger_caseD_5 +8071904c Audio::SoundTriggerMgr::ApplyTrigger_caseD_6 +807190b8 Audio::SoundTriggerMgr::ApplyTrigger_caseD_7 +80719178 Audio::SoundTriggerMgr::ApplyTrigger_caseD_0 +807191e8 Audio::SoundTriggerMgr::ApplyTrigger_caseD_5 +80719420 Audio::SoundTriggerMgr::ApplyTrigger_caseD_6 +80719574 Audio::SoundTriggerMgr::ApplyTrigger_caseD_7 +80719670 Audio::SoundTriggerMgr::ApplyTrigger_caseD_f +807198e0 Audio::SoundTriggerMgr::ApplyTrigger_caseD_9 +80719950 Audio::SoundTriggerMgr::ApplyTrigger_caseD_e +80719b14 Audio::SoundTriggerMgr::ApplyTrigger_caseD_3 +80719ba8 Audio::SoundTriggerMgr::ApplyTrigger_caseD_a +80719db4 Audio::SoundTriggerMgr::ApplyTrigger_caseD_b +80719e78 Audio::SoundTriggerMgr::ApplyTrigger_caseD_c +80719e98 Audio::SoundTriggerMgr::ApplyTrigger_switch2 +80719e9c Audio::SoundTriggerMgr::ApplyTrigger_case2D_0 +80719ef8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1 +80719f68 Audio::SoundTriggerMgr::ApplyTrigger_case2D_2 +80719fb8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_3 +8071a008 Audio::SoundTriggerMgr::ApplyTrigger_case2D_4 +8071a058 Audio::SoundTriggerMgr::ApplyTrigger_case2D_5 +8071a074 Audio::SoundTriggerMgr::ApplyTrigger_case2D_6 +8071a090 Audio::SoundTriggerMgr::ApplyTrigger_case2D_7 +8071a0c8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_d +8071a2b4 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1e +8071a320 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1f +8071a350 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1b +8071a4f8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1a +8071a5f0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1c +8071a7d8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1d +8071a8fc Audio::SoundTriggerMgr::ApplyTrigger_case2D_12 +8071a968 Audio::SoundTriggerMgr::ApplyTrigger_case2D_11 +8071a9d8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_13 +8071aae8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_14 +8071ab18 Audio::SoundTriggerMgr::ApplyTrigger_case2D_16 +8071ab48 Audio::SoundTriggerMgr::ApplyTrigger_case2D_17 +8071ae28 Audio::SoundTriggerMgr::ApplyTrigger_case2D_23 +8071ae58 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1 +8071ae74 SetTRKConnected +8071ae80 0x8071ae80 +8071aecc 0x8071aecc +8071aed0 0x8071aed0 +8071aed4 0x8071aed4 +8071aed8 MotionControllerSub::__ct +8071b388 MotionControllerSub::__dt +8071b488 0x8071b488 +8071b710 0x8071b710 +8071b7b0 0x8071b7b0 +8071b7d0 0x8071b7d0 +8071b7f4 0x8071b7f4 +8071b85c 0x8071b85c +8071b890 0x8071b890 +8071b90c 0x8071b90c +8071b918 0x8071b918 +8071b934 0x8071b934 +8071b950 0x8071b950 +8071b99c 0x8071b99c +8071b9dc 0x8071b9dc +8071ba08 0x8071ba08 +8071ba3c 0x8071ba3c +8071ba68 0x8071ba68 +8071bb90 0x8071bb90 +8071bc88 0x8071bc88 +8071bd38 0x8071bd38 +8071bd90 0x8071bd90 +8071bdf0 0x8071bdf0 +8071be04 0x8071be04 +8071be5c 0x8071be5c +8071be70 0x8071be70 +8071be84 0x8071be84 +8071bf14 0x8071bf14 +8071bf6c 0x8071bf6c +8071bf94 0x8071bf94 +8071bfd4 0x8071bfd4 +8071bfe4 0x8071bfe4 +8071c244 0x8071c244 +8071c418 0x8071c418 +8071c58c 0x8071c58c +8071c63c 0x8071c63c +8071c6a0 0x8071c6a0 +8071c714 0x8071c714 +8071c8cc 0x8071c8cc +8071c90c 0x8071c90c +8071caa8 0x8071caa8 +8071cc0c 0x8071cc0c +8071cc98 0x8071cc98 +8071cd0c 0x8071cd0c +8071ce08 0x8071ce08 +8071cea4 0x8071cea4 +8071cecc 0x8071cecc +8071cf0c 0x8071cf0c +8071cfc8 0x8071cfc8 +8071cfd4 0x8071cfd4 +8071d040 0x8071d040 +8071d0ac 0x8071d0ac +8071d148 0x8071d148 +8071d174 0x8071d174 +8071d1a8 0x8071d1a8 +8071d20c 0x8071d20c +8071d2cc 0x8071d2cc +8071d300 0x8071d300 +8071d6e8 0x8071d6e8 +8071d828 0x8071d828 +8071d844 Lakitu::Manager::Disposer__dt +8071d8dc Lakitu::Manager::CreateInstance +8071d968 Lakitu::Manager::DestroyInstance +8071d99c Lakitu::Manager::__ct +8071d9fc Lakitu::Manager::__dt +8071daec Lakitu::Manager::CreatePlayers +8071dca4 Lakitu::Manager::Init +8071dd2c Lakitu::Manager::Update +8071dda0 Lakitu::Manager::DoEnableRespawnAction +8071de18 Lakitu::Manager::ToggleVisible +8071de98 0x8071de98 +8071df10 Lakitu::Manager::StartCountdownAnm +8071df78 0x8071df78 +8071dff0 Lakitu::Manager::GetCountdownStartFrame +8071e020 Lakitu::Movement::__ct +8071e0ec 0x8071e0ec +8071e1d8 Lakitu::Movement::Reset +8071e330 0x8071e330 +8071e48c 0x8071e48c +8071e614 0x8071e614 +8071e644 Lakitu::Movement::SetBasePosition +8071e660 0x8071e660 +8071e6b0 AI::CalcLinearTransfo +8071e738 0x8071e738 +8071e870 0x8071e870 +8071e988 0x8071e988 +8071ea70 Lakitu::Movement::Update +8071f098 0x8071f098 +8071f2b4 0x8071f2b4 +8071f2c8 0x8071f2c8 +8071f2ec 0x8071f2ec +8071f690 Lakitu::Movement::UpdateRotation +8071f81c 0x8071f81c +8071f928 Lakitu::Movement::UpdateExtMtx +8071fb58 0x8071fb58 +8071fb6c 0x8071fb6c +8071fc34 0x8071fc34 +8071fcd0 0x8071fcd0 +8071fd98 0x8071fd98 +8071fdb8 0x8071fdb8 +8071ff0c 0x8071ff0c +8072008c Lakitu::Movement::UpdateScale +80720278 0x80720278 +8072039c 0x8072039c +807204f8 0x807204f8 +807205b0 Lakitu::PlayerBase::__ct +807205f8 Lakitu::PlayerBase::__dt +80720688 Lakitu::PlayerBase::Init +80720690 Lakitu::PlayerBase::Update +807206fc Lakitu::PlayerBase::ToggleModelsScreenVisibility +80720794 Lakitu::PlayerBase::SetModelsVisibility +807208c8 0x807208c8 +807209d4 0x807209d4 +80720aa8 0x80720aa8 +80720b14 0x80720b14 +80720b80 Lakitu::Player::__ct +80721280 AI::Base::__dt +807212c0 AI::Actions::__dt +80721300 0x80721300 +80721358 Lakitu::Action::__dt +80721398 Lakitu::Player::__dt +807214d0 0x807214d0 +8072152c Lakitu::Player::CreateEnableActions +807215f4 0x807215f4 +80721668 0x80721668 +807216c0 0x807216c0 +8072176c Lakitu::Player::Init +80721830 Lakitu::Player::Update +80721a08 Lakitu::Player::GetPlayerIdx +80721a10 Lakitu::Player::StartRespawnAction +80721a28 Lakitu::Player::StartCountdownAction +80721a78 Lakitu::Player::GetCountdownArmSwipeDuration +80721a84 0x80721a84 +80721b70 Lakitu::Player::LoadGraphics +807224c0 0x807224c0 +8072250c 0x8072250c +80722544 0x80722544 +807225d8 0x807225d8 +80722740 Lakitu::Player::MapToWorldSpace +80722950 0x80722950 +80722a2c 0x80722a2c +80722ac4 Lakitu::Player::OnStartIdle +80722b10 Lakitu::Player::UpdateIdle +80722c04 Lakitu::Player::OnStartCountdown +80722d78 0x80722d78 +80722e18 Lakitu::Player::UpdateCountdown +80723164 0x80723164 +80723208 0x80723208 +8072328c Lakitu::Player::OnEndCountdown +807232e8 Lakitu::Player::OnStartLap +8072352c Lakitu::Player::UpdateLap +80723908 0x80723908 +80723960 Lakitu::Player::OnStartRespawn +80723a9c Lakitu::Player::UpdateRespawn +80723de4 0x80723de4 +80723e00 Lakitu::Player::OnStartBackwards +80723eec Lakitu::Player::UpdateBackwards +807245dc Lakitu::Player::OnEndBackwards +807246cc Lakitu::Player::OnStartEnding +807247dc Lakitu::Player::UpdateEnding +80724a90 Lakitu::Player::OnEndEnding +80724b0c Lakitu::Player::OnStartUnknown +80724b2c Lakitu::Player::UpdateUnknown +80724c14 AI::Base::OnStartDefaultAction +80724c18 AI::Base::UpdateDefaultAction +80724c1c Lakitu::Action::OnStart +80724c64 Lakitu::Action::Update +80724c94 Lakitu::Action::OnEnd +80724cdc 0x80724cdc +80725050 Lakitu::Player::__dt(thunk) +80725058 Lakitu::EnableLakituAction::__ct +80725078 Lakitu::EnableLakituAction::__dt +807250b8 Lakitu::EnableLakituAction::ResetState +807250c8 Lakitu::EnableLakituAction::HasActionHappened +807250e4 Lakitu::EnableCountdownAction::__ct +80725104 Lakitu::EnableCountdownAction::__dt +80725144 Lakitu::EnableCountdownAction::ResetState +80725154 Lakitu::EnableCountdownAction::EnableAction +807251b4 Lakitu::EnableDisplayLapAction::__ct +807251d4 Lakitu::EnableDisplayLapAction::__dt +80725214 Lakitu::EnableDisplayLapAction::ResetState +80725244 Lakitu::EnableDisplayLapAction::EnableAction +80725288 Lakitu::EnableBackwardsAction::__ct +807252a8 Lakitu::EnableBackwardsAction::__dt +807252e8 Lakitu::EnableBackwardsAction::ResetState +80725304 Lakitu::EnableBackwardsAction::EnableAction +80725444 Lakitu::EnableRespawnAction::__ct +80725464 Lakitu::EnableRespawnAction::__dt +807254a4 Lakitu::EnableRespawnAction::ResetState +807254b4 Lakitu::EnableRespawnAction::EnableAction +807254b8 Lakitu::EnableEndingAction::__ct +807254d8 Lakitu::EnableEndingAction::__dt +80725518 Lakitu::EnableEndingAction::ResetState +80725528 Lakitu::EnableEndingAction::EnableAction +80725578 0x80725578 +80725598 0x80725598 +807255d8 cGameSFX_Init +807255e8 0x807255e8 +80725648 KartAIController::__ct +807256f4 KartAIController::__dt +8072577c KartAIController::Init +80725824 KartAIController::Update +80725870 KartAIController::GetStick +807258b8 KartAIController::IsCPU +807258fc KartAIController::IsRealLocal +8072593c 0x8072593c +807259a4 thunk_0x80590664 +807259a8 KartAIController::IsGhost +807259ec KartAIController::HaveSameTeam +80725a14 0x80725a14 +80725a1c 0x80725a1c +80725a30 0x80725a30 +80725a38 0x80725a38 +80725b54 KartAIController::IsOnTheGround +80725b68 KartAIController::IsInTheAir +80725b7c 0x80725b7c +80725b90 KartAIController::IsManuallyDrifting +80725ba4 KartAIController::IsHopping +80725bb8 KartAIController::IsAutomaticDrifting +80725bcc KartAIController::IsInABill +80725be0 0x80725be0 +80726084 0x80726084 +807260c4 0x807260c4 +80726104 0x80726104 +80726144 0x80726144 +80726200 0x80726200 +80726254 0x80726254 +8072625c 0x8072625c +80726380 0x80726380 +807264c8 0x807264c8 +807264e4 0x807264e4 +80726664 0x80726664 +807266f0 0x807266f0 +80726708 0x80726708 +80726930 0x80726930 +807269e0 0x807269e0 +80726a50 0x80726a50 +80726a5c 0x80726a5c +80726a6c 0x80726a6c +80726b3c 0x80726b3c +80726b48 0x80726b48 +80726b58 0x80726b58 +80726b8c 0x80726b8c +80726c20 0x80726c20 +80726d28 0x80726d28 +80726d34 0x80726d34 +80726d7c 0x80726d7c +80726dac 0x80726dac +80726df4 0x80726df4 +80727158 0x80727158 +80727198 0x80727198 +80727244 0x80727244 +80727310 0x80727310 +80727364 0x80727364 +807273ac 0x807273ac +807273bc 0x807273bc +8072740c 0x8072740c +807274f0 0x807274f0 +80727560 0x80727560 +807275cc 0x807275cc +807276f4 0x807276f4 +80727878 0x80727878 +8072787c 0x8072787c +80727880 AI::CPUDriving::GetCalculator +80727888 0x80727888 +8072788c 0x8072788c +80727900 0x80727900 +80727904 0x80727904 +80727908 0x80727908 +807279c8 0x807279c8 +80727b3c 0x80727b3c +80727c34 0x80727c34 +80727c38 0x80727c38 +80727c80 0x80727c80 +80727cb0 0x80727cb0 +80727cf8 0x80727cf8 +80727e24 0x80727e24 +80727edc 0x80727edc +80728010 0x80728010 +80728084 0x80728084 +807280c4 0x807280c4 +80728104 0x80728104 +807281e8 0x807281e8 +807282c0 0x807282c0 +80728334 0x80728334 +80728400 0x80728400 +80728498 0x80728498 +807284dc 0x807284dc +807285cc 0x807285cc +80728778 0x80728778 +807287f4 0x807287f4 +80728884 0x80728884 +807289a4 0x807289a4 +807289ac 0x807289ac +807289b4 0x807289b4 +807289bc 0x807289bc +80728c80 0x80728c80 +80728cc0 0x80728cc0 +80728d00 0x80728d00 +80728d20 0x80728d20 +80728d8c 0x80728d8c +80728d94 0x80728d94 +80728ed4 0x80728ed4 +80728fb0 0x80728fb0 +807290f8 0x807290f8 +80729104 0x80729104 +8072912c 0x8072912c +80729138 0x80729138 +807291f4 0x807291f4 +807291fc 0x807291fc +80729208 0x80729208 +80729320 0x80729320 +80729368 0x80729368 +80729398 0x80729398 +807293e0 0x807293e0 +80729408 AI::CPUDriving::__ct +80729584 AI::CPUDriving::__dt +80729714 0x80729714 +80729754 AI::CPUDriving::Init +80729888 AI::CPUDriving::InitEnemyRoute +80729914 0x80729914 +80729954 0x80729954 +8072995c 0x8072995c +80729964 0x80729964 +8072996c 0x8072996c +8072997c AI::CPUDriving::CalcStartBoost +807299dc 0x807299dc +807299e0 ParamActionCalculator::GetStartBoost +807299e8 0x807299e8 +80729bcc 0x80729bcc +80729bd4 0x80729bd4 +80729bdc 0x80729bdc +80729cbc 0x80729cbc +80729ce0 0x80729ce0 +80729d20 0x80729d20 +80729d34 0x80729d34 +80729d48 0x80729d48 +80729dac 0x80729dac +80729dc0 0x80729dc0 +80729e00 0x80729e00 +80729e0c 0x80729e0c +80729eb0 0x80729eb0 +80729ef8 AI::CPUDriving::IsBattle +80729f00 0x80729f00 +80729f04 0x80729f04 +80729f0c 0x80729f0c +80729f14 0x80729f14 +80729f18 0x80729f18 +80729f54 0x80729f54 +8072a6e8 0x8072a6e8 +8072a728 0x8072a728 +8072a848 0x8072a848 +8072aa44 0x8072aa44 +8072aa48 0x8072aa48 +8072aac0 0x8072aac0 +8072ab04 0x8072ab04 +8072ab6c 0x8072ab6c +8072ac64 0x8072ac64 +8072ac84 0x8072ac84 +8072acec 0x8072acec +8072aed8 0x8072aed8 +8072aee0 0x8072aee0 +8072afc8 0x8072afc8 +8072afd0 0x8072afd0 +8072afe0 0x8072afe0 +8072b024 0x8072b024 +8072b184 0x8072b184 +8072b36c 0x8072b36c +8072b388 0x8072b388 +8072b4d4 0x8072b4d4 +8072b5f8 0x8072b5f8 +8072b7cc 0x8072b7cc +8072b9a8 0x8072b9a8 +8072b9d0 0x8072b9d0 +8072bab0 0x8072bab0 +8072bab4 0x8072bab4 +8072bac8 0x8072bac8 +8072bad4 0x8072bad4 +8072bbb4 0x8072bbb4 +8072bbd4 0x8072bbd4 +8072bc14 0x8072bc14 +8072bc54 0x8072bc54 +8072bdac 0x8072bdac +8072be78 0x8072be78 +8072be80 0x8072be80 +8072bff0 0x8072bff0 +8072c070 0x8072c070 +8072c084 0x8072c084 +8072c0c4 0x8072c0c4 +8072c0d4 0x8072c0d4 +8072c0e8 WorldLoader_GetStadiumTerrain +8072c0fc 0x8072c0fc +8072c10c 0x8072c10c +8072c120 0x8072c120 +8072c160 0x8072c160 +8072c2d4 0x8072c2d4 +8072c2dc 0x8072c2dc +8072c2f0 0x8072c2f0 +8072c330 0x8072c330 +8072c848 0x8072c848 +8072c85c 0x8072c85c +8072c89c 0x8072c89c +8072cb60 0x8072cb60 +8072cb94 0x8072cb94 +8072cbd4 0x8072cbd4 +8072cc28 0x8072cc28 +8072cc38 0x8072cc38 +8072ce54 0x8072ce54 +8072d040 0x8072d040 +8072d1ac 0x8072d1ac +8072d294 0x8072d294 +8072d350 0x8072d350 +8072d384 0x8072d384 +8072d3c4 0x8072d3c4 +8072d41c 0x8072d41c +8072d450 0x8072d450 +8072d490 0x8072d490 +8072d4d0 0x8072d4d0 +8072d4d8 0x8072d4d8 +8072d4e0 0x8072d4e0 +8072d4e8 0x8072d4e8 +8072d4f0 0x8072d4f0 +8072d4f8 0x8072d4f8 +8072d500 0x8072d500 +8072d508 0x8072d508 +8072d50c 0x8072d50c +8072d54c 0x8072d54c +8072d554 0x8072d554 +8072d55c 0x8072d55c +8072d564 0x8072d564 +8072d56c 0x8072d56c +8072d574 0x8072d574 +8072d57c 0x8072d57c +8072d5c4 0x8072d5c4 +8072d5f4 0x8072d5f4 +8072d63c 0x8072d63c +8072d91c 0x8072d91c +8072d95c 0x8072d95c +8072d9b4 0x8072d9b4 +8072da54 0x8072da54 +8072dacc 0x8072dacc +8072dadc 0x8072dadc +8072db00 0x8072db00 +8072db1c 0x8072db1c +8072db44 0x8072db44 +8072dce4 0x8072dce4 +8072dcec 0x8072dcec +8072dcf4 0x8072dcf4 +8072dcfc 0x8072dcfc +8072dd0c 0x8072dd0c +8072dd10 0x8072dd10 +8072dd18 0x8072dd18 +8072dd20 0x8072dd20 +8072dd28 0x8072dd28 +8072dd30 0x8072dd30 +8072dd38 0x8072dd38 +8072dd40 0x8072dd40 +8072dd48 0x8072dd48 +8072dd4c 0x8072dd4c +8072dd8c 0x8072dd8c +8072ddd4 0x8072ddd4 +8072de04 0x8072de04 +8072de4c 0x8072de4c +8072e048 0x8072e048 +8072e088 0x8072e088 +8072e0e0 0x8072e0e0 +8072e1f0 0x8072e1f0 +8072e26c 0x8072e26c +8072e294 0x8072e294 +8072e330 0x8072e330 +8072e438 0x8072e438 +8072e508 0x8072e508 +8072e678 0x8072e678 +8072e984 0x8072e984 +8072e994 0x8072e994 +8072eb94 0x8072eb94 +8072ebc0 0x8072ebc0 +8072ecc0 0x8072ecc0 +8072eda0 0x8072eda0 +8072ee6c 0x8072ee6c +8072ef8c 0x8072ef8c +8072efcc 0x8072efcc +8072f024 0x8072f024 +8072f064 0x8072f064 +8072f0e0 0x8072f0e0 +8072f1e8 0x8072f1e8 +8072f304 0x8072f304 +8072f314 0x8072f314 +8072f388 0x8072f388 +8072f3a4 0x8072f3a4 +8072f5cc 0x8072f5cc +8072f5d4 0x8072f5d4 +8072f5dc 0x8072f5dc +8072f5e4 0x8072f5e4 +8072f5ec 0x8072f5ec +8072f5f4 0x8072f5f4 +8072f63c 0x8072f63c +8072f66c 0x8072f66c +8072f6b4 0x8072f6b4 +8072f6fc 0x8072f6fc +8072f72c 0x8072f72c +8072f774 0x8072f774 +8072f804 AI::CPUDrivingRace::__ct +8072f990 AI::CPUDrivingAction::__dt +8072f9d0 AI::CPUDrivingRace::__dt +8072fa8c AI::CPUDrivingRace::Init +8072fb7c AI::CPUDrivingRace::InitEnemyRoute +8072fd18 0x8072fd18 +8072fdc4 0x8072fdc4 +8072fdf8 AI::CPUDrivingRace::Update +8072fef4 0x8072fef4 +8072ff48 0x8072ff48 +807300e4 0x807300e4 +807300e8 0x807300e8 +807300ec AI::CPUDrivingAction::OnStart +80730134 AI::CPUDrivingAction::Update +80730164 AI::CPUDrivingAction::OnEnd +807301ac 0x807301ac +807301cc 0x807301cc +8073020c 0x8073020c +80730244 0x80730244 +8073040c 0x8073040c +80730420 0x80730420 +80730508 0x80730508 +80730670 0x80730670 +807306a4 0x807306a4 +807306b0 0x807306b0 +807307b4 0x807307b4 +80730870 0x80730870 +8073093c 0x8073093c +80730b0c 0x80730b0c +80730da4 0x80730da4 +80730de8 0x80730de8 +80730e14 0x80730e14 +80730e54 0x80730e54 +80730fcc AI::Inputs::__ct +80730ff0 AI::Inputs::Reset +80731008 AI::Inputs::AddInputs +80731018 AI::Inputs::RemoveInputs +80731028 0x80731028 +80731030 AI::Player::__ct +807319cc AI::PlayerActions::__dt +80731a0c AI::Player::__dt +80731b74 AI::Player::Init +80731ce4 AI::Player::Update +80731d08 AI::Player::vf_0x20 +80731d98 0x80731d98 +80731db8 0x80731db8 +80731e5c 0x80731e5c +80731efc AI::Player::OnStartPreRace +80731f4c AI::Player::UpdatePreRace +807320d8 AI::Player::OnStartAI::CPUDriving +807320dc AI::Player::UpdateAI::CPUDriving +807322d8 AI::Player::OnStartRealPlayerDriving +807322dc AI::Player::UpdateRealPlayerDriving +807323f0 AI::Player::OnStartAction3 +807323f4 AI::Player::UpdateAction3 +807323f8 AI::Player::OnStartPostRaceDriving +80732448 0x80732448 +8073244c AI::Player::UpdatePostRaceDriving +807325f0 AI::Player::OnStartPostBattleDriving +80732640 AI::Player::UpdatePostBattleDriving +80732760 AI::PlayerActions::OnStart +807327a8 AI::PlayerActions::Update +807327d8 AI::PlayerActions::OnEnd +80732820 AI::PlayerBike::__ct +807328a4 AI::PlayerBike::__dt +807328fc AI::PlayerBike::Init +80732900 AI::PlayerBike::Update +80732904 AI::PlayerBike::vf_0x20 +80732908 AI::PlayerBike::OnStartAction1 +8073290c AI::PlayerBike::UpdateAction1 +80732910 AI::PlayerKart::__ct +80732968 AI::PlayerKart::__dt +807329c0 AI::PlayerKart::Init +80732a24 AI::PlayerKart::Update +80732a28 AI::PlayerKart::vf_0x20 +80732a2c AI::PlayerKart::OnStartAction1 +80732a30 AI::PlayerKart::UpdateAction1 +80732a34 0x80732a34 +807330e8 0x807330e8 +80733128 0x80733128 +80733168 0x80733168 +80733188 0x80733188 +807331cc 0x807331cc +80733210 0x80733210 +80733218 0x80733218 +80733220 0x80733220 +80733228 0x80733228 +80733230 0x80733230 +80733238 0x80733238 +807332cc 0x807332cc +80733350 0x80733350 +8073338c 0x8073338c +807333b8 0x807333b8 +807333cc 0x807333cc +807333e8 0x807333e8 +80733400 0x80733400 +8073341c 0x8073341c +80733484 0x80733484 +80733490 0x80733490 +807336c4 0x807336c4 +807336cc 0x807336cc +807336d0 0x807336d0 +807337b8 0x807337b8 +807337bc 0x807337bc +80733888 0x80733888 +8073388c 0x8073388c +80733954 0x80733954 +80733958 0x80733958 +80733964 0x80733964 +80733a60 0x80733a60 +80733a6c 0x80733a6c +80733b68 0x80733b68 +80733b6c 0x80733b6c +80733bf8 0x80733bf8 +80733bfc 0x80733bfc +80733c00 0x80733c00 +80733c48 0x80733c48 +80733c88 0x80733c88 +80733ce0 0x80733ce0 +80733d24 0x80733d24 +80733d30 0x80733d30 +80733e24 0x80733e24 +80733f2c 0x80733f2c +807340b8 0x807340b8 +807340c4 0x807340c4 +807340dc 0x807340dc +807341ac 0x807341ac +807342a0 0x807342a0 +807342e0 0x807342e0 +80734478 0x80734478 +80734550 0x80734550 +8073473c 0x8073473c +8073474c 0x8073474c +80734750 0x80734750 +80734848 0x80734848 +80734890 0x80734890 +807348c0 0x807348c0 +80734908 0x80734908 +8073491c 0x8073491c +8073495c 0x8073495c +80734960 0x80734960 +80734964 0x80734964 +807349b4 0x807349b4 +80734a64 0x80734a64 +80734a78 0x80734a78 +80734ab8 0x80734ab8 +80734abc 0x80734abc +80734acc 0x80734acc +80734ad0 0x80734ad0 +80734bc8 0x80734bc8 +80734bdc 0x80734bdc +80734c1c 0x80734c1c +80734c20 0x80734c20 +80734c60 0x80734c60 +80734c6c 0x80734c6c +80734d90 0x80734d90 +80734e98 0x80734e98 +80734eac 0x80734eac +80734eec 0x80734eec +80734fb4 AI::Character::__ct +80735884 AI::CharacterActions::__dt +807358c4 AI::Character::__dt +80735948 AI::Character::Init +80735a2c AI::Character::Update +80735a6c AI::Character::vf_0x20 +80735aec AI::Character::StartDriving +80735b44 0x80735b44 +80735bf4 0x80735bf4 +80735c30 0x80735c30 +80735c34 0x80735c34 +80735c3c 0x80735c3c +80735c40 0x80735c40 +80735c48 0x80735c48 +80735c50 0x80735c50 +80735c54 0x80735c54 +80735c60 0x80735c60 +80735cbc 0x80735cbc +80735cf8 0x80735cf8 +80735d50 0x80735d50 +80735dd0 AI::Character::ArePlayersClose +80735eb8 0x80735eb8 +80736028 AI::Character::vf_0x8c +80736150 0x80736150 +80736238 0x80736238 +8073630c AI::Character::vf_0x94 +80736390 AI::Character::OnStartAction0 +8073639c AI::Character::UpdateAction0 +807363f8 AI::Character::OnStartAction1 +807363fc AI::Character::UpdateAction1 +80736530 AI::Character::OnStartAction2 +80736534 AI::Character::UpdateAction2 +80736678 AI::Character::OnEndAction2 +807366b4 AI::Character::OnStartAction3 +807366c0 AI::Character::UpdateAction3 +80736814 AI::Character::OnStartAction4 +80736950 AI::Character::UpdateAction4 +80736a14 AI::Character::OnEndAction4 +80736a50 AI::Character::OnStartAction5 +80736a64 AI::Character::UpdateAction5 +80736c6c AI::Character::OnEndAction5 +80736ca8 AI::Character::OnStartAction6 +80736e04 AI::Character::UpdateAction6 +80736ef4 AI::Character::OnEndAction6 +80736f30 AI::Character::OnStartAction7 +80736f40 AI::Character::UpdateAction7 +80736fa0 AI::Character::OnEndAction7 +80736fdc AI::Character::OnStartLookAhead +80737018 AI::Character::UpdateLookAhead +8073701c AI::Character::OnStartLookAtCamera +80737028 AI::Character::UpdateLookAtCamera +8073729c 0x8073729c +807372bc 0x807372bc +807372fc 0x807372fc +80737308 0x80737308 +80737538 0x80737538 +80737810 0x80737810 +80737bc4 AI::CharacterBattle::__ct +80737c00 AI::CharacterBattle::__dt +80737c58 AI::CharacterBattle::Init +80737c90 AI::CharacterBattle::OnStartAction1 +80737c94 AI::CharacterBattle::UpdateAction1 +80737cd0 AI::CharacterAwards::__ct +80737d0c AI::CharacterAwards::__dt +80737d64 AI::CharacterAwards::Init +80737d9c AI::CharacterAwards::OnStartAction1 +80737da0 AI::CharacterAwards::UpdateAction1 +80737ddc 0x80737ddc +80737e18 0x80737e18 +80737e70 0x80737e70 +80737eb4 0x80737eb4 +80737fcc 0x80737fcc +807380b4 0x807380b4 +807380b8 0x807380b8 +80738130 0x80738130 +80738210 0x80738210 +80738320 0x80738320 +8073835c AI::CharacterAwards::vf_0x94 +80738364 AI::CharacterActions::OnStart +807383ac AI::CharacterActions::Update +807383dc AI::CharacterActions::OnEnd +80738424 AI::Manager::Disposer__dt +807384bc AI::Manager::CreateInstance +8073850c AI::Manager::DestroyInstance +80738540 AI::Manager::__ct +80738718 AI::Manager::__dt +80738898 AI::Manager::AddKartAIController +8073896c AI::Manager::GetKartAIController +8073897c AI::Manager::GetRealPlayerKartAIController +8073898c obj_checkIfSomething +80738994 AI::Manager::Init +80738a98 AI::Manager::Update +80738b9c AI::Manager::GetLocalPlayerCount +80738bac AI::Manager::GetEngineClass +80738bb4 AI::Manager::GetDifficulty +80738bbc 0x80738bbc +80738bf8 0x80738bf8 +80738cc8 AI::Manager::IsGPOrPrivateVS +80738cf0 AI::Manager::IsVS +80738d10 AI::Manager::IsTT +80738d38 AI::Manager::IsMissionTournament +80738d58 AI::Manager::IsOnline +80738d80 AI::Manager::IsBattle +80738dac AI::Manager::IsOfflineBattle +80738dcc AI::Manager::IsBallonBattle +80738de4 AI::Manager::IsCoinRunners +80738e00 AI::Manager::IsTT2 +80738e28 AI::Manager::IsSpecialItemMode +80738ed8 AI::Manager::IsTeamMode +80738eec 0x80738eec +80738ef4 AI::Manager::IsAwardsOrCredits +80738f18 AiHolder_getRealPlayerCountPerTeam +80738fb0 AI::Manager::GetRandomValue +80738fd8 AI::Manager::GetRandomFloat +80739008 AI::Manager::SetCCAndDifficulty +807390e8 0x807390e8 +80739194 0x80739194 +8073923c AiHolder_getBestPreviousScore +807392dc 0x807392dc +80739318 0x80739318 +807393a4 0x807393a4 +807393e8 0x807393e8 +8073954c 0x8073954c +807395b8 0x807395b8 +8073965c 0x8073965c +80739660 0x80739660 +80739670 0x80739670 +80739690 0x80739690 +807396d0 0x807396d0 +80739754 0x80739754 +807399f0 0x807399f0 +80739c50 0x80739c50 +80739ce0 0x80739ce0 +80739eec 0x80739eec +8073a000 0x8073a000 +8073a110 0x8073a110 +8073a19c 0x8073a19c +8073a1d4 AI::Params::__ct +8073a264 AI::Params::__dt +8073a2ec AI::Params::GetParamSpeed +8073a2f4 AI::Params::GetParamAction +8073a304 AI::Params::LoadParamFile +8073a314 AI::Params::Load +8073a5dc 0x8073a5dc +8073a638 0x8073a638 +8073a68c AI::Params::LoadActions +8073a764 AI::EnemyRouteController::__ct +8073ab08 AI::ENPTSettingsHolder::__dt +8073ab48 AI::EnemyRouteController::__dt +8073ac48 AI::EnemyRouteController::Init +8073acfc AI::EnemyRouteController::Update +8073ae5c 0x8073ae5c +8073ae9c 0x8073ae9c +8073aee0 0x8073aee0 +8073af00 0x8073af00 +8073af1c 0x8073af1c +8073af24 0x8073af24 +8073af2c 0x8073af2c +8073af50 0x8073af50 +8073aff4 0x8073aff4 +8073b0dc 0x8073b0dc +8073b0e4 0x8073b0e4 +8073b158 0x8073b158 +8073b1ac 0x8073b1ac +8073b1bc 0x8073b1bc +8073b294 0x8073b294 +8073b374 0x8073b374 +8073b3bc AI::EnemyRouteController::IsOutCurENPTBounds +8073b590 0x8073b590 +8073b6a8 0x8073b6a8 +8073b77c AI::EnemyRouteHolder::AdvanceToNextENPT +8073b8b8 0x8073b8b8 +8073b92c AI::EnemyRouteHolder::__ct +8073b974 AI::EnemyRouteHolder::__dt +8073b9b4 AI::EnemyRouteHolder::AddKartAIController +8073b9f8 0x8073b9f8 +8073b9fc 0x8073b9fc +8073ba00 0x8073ba00 +8073bbac 0x8073bbac +8073bbb8 AI::ENPTController::__ct +8073bc24 AI::ENPTController::__dt +8073bc64 AI::ENPTController::SetStartingENPT +8073bcb0 AI::ENPTController::Init +8073c024 AI::ENPTController::Update +8073c028 AI::ENPTController::GetPrevPrevPrevENPTPosition +8073c07c AI::ENPTController::GetPrevPrevENPTPosition +8073c0d0 AI::ENPTController::GetPrevENPTPosition +8073c124 AI::ENPTController::GetCurENPTPosition +8073c178 AI::ENPTController::GetNextENPTPosition +8073c1cc AI::ENPTController::GetCurPosition +8073c1e8 0x8073c1e8 +8073c314 0x8073c314 +8073c358 0x8073c358 +8073c3a8 AI::ENPTController::CalcNext +8073c6cc 0x8073c6cc +8073c85c 0x8073c85c +8073c894 0x8073c894 +8073c8b4 0x8073c8b4 +8073c8f0 0x8073c8f0 +8073c910 0x8073c910 +8073c930 0x8073c930 +8073c93c 0x8073c93c +8073c9e8 0x8073c9e8 +8073ca20 0x8073ca20 +8073cc08 0x8073cc08 +8073cd58 0x8073cd58 +8073cfa0 0x8073cfa0 +8073cff8 AI::ENPTController::CalcNextPosition +8073d124 0x8073d124 +8073d130 0x8073d130 +8073d238 0x8073d238 +8073d260 0x8073d260 +8073d2a4 0x8073d2a4 +8073d2e4 0x8073d2e4 +8073d688 0x8073d688 +8073d6c8 0x8073d6c8 +8073d6cc 0x8073d6cc +8073d6d8 0x8073d6d8 +8073d710 0x8073d710 +8073d748 0x8073d748 +8073d788 0x8073d788 +8073d7c8 0x8073d7c8 +8073d808 0x8073d808 +8073d814 0x8073d814 +8073d838 0x8073d838 +8073d968 0x8073d968 +8073d9d8 0x8073d9d8 +8073da48 0x8073da48 +8073dab8 0x8073dab8 +8073db20 0x8073db20 +8073db88 0x8073db88 +8073dc3c 0x8073dc3c +8073dcf4 0x8073dcf4 +8073de04 0x8073de04 +8073df14 0x8073df14 +8073df58 0x8073df58 +8073df98 0x8073df98 +8073dfd8 0x8073dfd8 +8073dfdc 0x8073dfdc +8073dfe8 0x8073dfe8 +8073e020 0x8073e020 +8073e058 0x8073e058 +8073e098 0x8073e098 +8073e0d8 0x8073e0d8 +8073e118 0x8073e118 +8073e150 0x8073e150 +8073e15c 0x8073e15c +8073e180 0x8073e180 +8073e1e8 0x8073e1e8 +8073e1f8 0x8073e1f8 +8073e250 AI::ENPTSettingsHolder::IsCutPoint +8073e264 AI::ENPTSettingsHolder::IsUseOffroadCutItem +8073e278 AI::ENPTSettingsHolder::MustWheelie +8073e28c AI::ENPTSettingsHolder::MustEndWheelie +8073e2a0 AI::ENPTSettingsHolder::IsSetting1Equal5 +8073e2b4 AI::ENPTSettingsHolder::MustEndDrift +8073e2c8 AI::ENPTSettingsHolder::IsDriftForbidden +8073e2dc AI::ENPTSettingsHolder::MustDrift +8073e2f0 AI::ENPTSettingsHolder::IsSetting3HighestBitSet +8073e2fc 0x8073e2fc +8073e318 AI::ENPTSettingsHolder::IsDriftAllowed +8073e34c 0x8073e34c +8073e360 0x8073e360 +8073e374 0x8073e374 +8073e388 0x8073e388 +8073e39c 0x8073e39c +8073e3a8 0x8073e3a8 +8073e3b4 0x8073e3b4 +8073e3c0 0x8073e3c0 +8073e400 0x8073e400 +8073e440 0x8073e440 +8073e45c AI::ParamActionCalculator::__ct +8073e480 AI::ParamActionCalculator::__dt +8073e4c0 AI::ParamActionCalculator::Init +8073e4f8 AI::ParamActionCalculator::CalcStartBoost +8073e614 AI::ParamActionCalculator::CalcGotDrift +8073e6d0 AI::ParamActionCalculator::CalcGotMT +8073e774 AI::ParamActionCalculator::CalcGotTrick +8073e7fc AI::ParamActionCalculator::CalcGotWheelie +8073e884 AI::ParamActionCalculator::CalcGotParamAction6 +8073e90c AI::ParamActionCalculator::CalcGotParamAction7 +8073e994 0x8073e994 +8073e9e8 0x8073e9e8 +8073ea2c 0x8073ea2c +8073ea6c 0x8073ea6c +8073eaa8 0x8073eaa8 +8073eb40 0x8073eb40 +8073eb60 0x8073eb60 +8073eb78 0x8073eb78 +8073ec80 0x8073ec80 +8073ecd4 0x8073ecd4 +8073ed10 0x8073ed10 +8073ed50 0x8073ed50 +8073ed80 0x8073ed80 +8073eda4 0x8073eda4 +8073edd8 0x8073edd8 +8073ee14 0x8073ee14 +8073eeb4 0x8073eeb4 +8073ef64 0x8073ef64 +8073ef98 0x8073ef98 +8073f078 0x8073f078 +8073f08c 0x8073f08c +8073f0c8 0x8073f0c8 +8073f0f4 0x8073f0f4 +8073f120 0x8073f120 +8073f1e4 0x8073f1e4 +8073f224 0x8073f224 +8073f264 0x8073f264 +8073f294 0x8073f294 +8073f2a0 0x8073f2a0 +8073f2ac 0x8073f2ac +8073f33c 0x8073f33c +8073f3f4 0x8073f3f4 +8073f71c 0x8073f71c +8073f820 0x8073f820 +8073fb24 0x8073fb24 +8073fb34 0x8073fb34 +8073fc70 0x8073fc70 +8073fd6c 0x8073fd6c +8073fd70 0x8073fd70 +8073fda4 0x8073fda4 +8073fde0 0x8073fde0 +8073fe20 0x8073fe20 +8073fe50 0x8073fe50 +8073fe5c 0x8073fe5c +8073fe68 0x8073fe68 +8073fe78 0x8073fe78 +80740020 0x80740020 +8074011c 0x8074011c +80740120 0x80740120 +80740154 0x80740154 +80740190 0x80740190 +807401d0 0x807401d0 +80740200 0x80740200 +807402fc 0x807402fc +80740300 0x80740300 +80740334 OS::GetCurrentContext +80740340 0x80740340 +8074034c 0x8074034c +80740350 0x80740350 +80740354 0x80740354 +8074035c 0x8074035c +80740364 0x80740364 +8074036c 0x8074036c +80740374 0x80740374 +8074037c 0x8074037c +80740380 0x80740380 +80740384 0x80740384 +80740388 0x80740388 +807409f4 0x807409f4 +80740a34 0x80740a34 +80740b24 0x80740b24 +80740bd4 0x80740bd4 +80740cc0 GameInfoManager_SetUserSelectedCupSidekick +80740ccc 0x80740ccc +80740e70 0x80740e70 +80740ee4 0x80740ee4 +80740eec 0x80740eec +80740ef4 0x80740ef4 +80740f04 0x80740f04 +80740f44 0x80740f44 +80740f4c 0x80740f4c +80740fec 0x80740fec +80741004 0x80741004 +8074107c 0x8074107c +80741358 0x80741358 +807416b8 0x807416b8 +80741778 0x80741778 +80741868 0x80741868 +80741938 0x80741938 +80741a04 0x80741a04 +80741b4c 0x80741b4c +80741bf0 0x80741bf0 +80741d50 0x80741d50 +80741e64 0x80741e64 +80741ec0 0x80741ec0 +80741ec4 0x80741ec4 +80741f04 0x80741f04 +80741fb0 0x80741fb0 +807420cc 0x807420cc +80742170 0x80742170 +8074217c 0x8074217c +8074222c 0x8074222c +80742278 0x80742278 +807422c4 0x807422c4 +80742334 0x80742334 +807424ec 0x807424ec +8074264c 0x8074264c +80742828 0x80742828 +807429b0 0x807429b0 +80742a50 0x80742a50 +80742a54 0x80742a54 +80742a94 0x80742a94 +80742aac 0x80742aac +80742ac4 0x80742ac4 +80742adc 0x80742adc +80742b3c 0x80742b3c +80742d98 0x80742d98 +80742de0 0x80742de0 +80742e10 0x80742e10 +80742e58 0x80742e58 +80742e84 0x80742e84 +80742ec4 0x80742ec4 +80742efc 0x80742efc +80742f48 0x80742f48 +80742f98 0x80742f98 +80742ff8 0x80742ff8 +80743004 0x80743004 +8074301c cGame_GetGameTime +80743028 0x80743028 +8074305c 0x8074305c +807432ac 0x807432ac +80743300 0x80743300 +80743340 0x80743340 +80743460 0x80743460 +8074348c 0x8074348c +807434ec 0x807434ec +80743588 0x80743588 +80743624 0x80743624 +80743800 0x80743800 +80743838 0x80743838 +80743878 0x80743878 +807438c4 0x807438c4 +807439d0 0x807439d0 +80743a04 0x80743a04 +80743a44 0x80743a44 +80743ae4 0x80743ae4 +80743c68 0x80743c68 +80743ca0 0x80743ca0 +80743ce0 0x80743ce0 +80743d2c 0x80743d2c +80743d94 0x80743d94 +80743d9c 0x80743d9c +80744098 0x80744098 +807440d8 0x807440d8 +80744160 0x80744160 +80744210 0x80744210 +80744288 0x80744288 +80744290 0x80744290 +807442b4 0x807442b4 +8074434c 0x8074434c +80744358 0x80744358 +80744418 0x80744418 +80744550 0x80744550 +807445e4 0x807445e4 +807445f8 0x807445f8 +807447d0 0x807447d0 +80744844 0x80744844 +80744cc4 0x80744cc4 +80744d2c 0x80744d2c +80744d64 0x80744d64 +80744d68 0x80744d68 +80744d88 0x80744d88 +80744dc8 0x80744dc8 +80744dd8 0x80744dd8 +80744e30 0x80744e30 +80744e78 0x80744e78 +80744ea8 0x80744ea8 +80744ef0 MotionController::__ct +80744f88 0x80744f88 +80744fc8 MotionController::__dt +80745050 MotionController::Init +80745250 MotionController::UpdateForNunchuck +80745450 MotionController::UpdateForCore +80745798 0x80745798 +80745924 0x80745924 +80745ab8 0x80745ab8 +80745b08 0x80745b08 +80745bd4 0x80745bd4 +80745dc8 0x80745dc8 +80745e28 0x80745e28 +80745fdc 0x80745fdc +80746168 0x80746168 +807462d0 0x807462d0 +807467c0 0x807467c0 +80746804 Objects::PoihanaBase::__ct +80746874 Objects::PoihanaBase::__dt +807468b4 Objects::PoihanaBase::OnStart +80746960 Objects::PoihanaBase::Update +80746974 Objects::PoihanaBase:GetTranslation +80746990 0x80746990 +807469ec 0x807469ec +80746a08 0x80746a08 +80746a70 0x80746a70 +80746b00 0x80746b00 +80746b50 0x80746b50 +80746b9c 0x80746b9c +80746c48 0x80746c48 +80746d44 0x80746d44 +80746df4 0x80746df4 +80746f98 UnkCollidableSub::__ct +80746fe0 UnkCollidableSub::__dt +80747020 UnkCollidableSub::Reset +80747040 UnkCollidableSub::Update +80747268 0x80747268 +80747284 UnkCollidableSub::vf_0x14 +807472ac Objects::PoihanaBase::SubChild::__ct +80747304 Objects::PoihanaBase::SubChild::__dt +80747344 Objects::PoihanaBase::SubChild::Reset +80747368 Objects::PoihanaBase::SubChild::Update +807475cc 0x807475cc +807477a4 Objects::Poihana::SubChild::vf_0x14 +807477c8 Objects::PoihanaBase::GetPropertiesBitfield +807477d0 Objects::PoihanaBase::__dt(thunk) +807477d8 Objects::Poihana::__ct +80747ee8 Objects::Poihana::Actions::__dt +80747f28 Objects::Poihana::__dt +80747fc4 Objects::Poihana::OnStart +807481dc Objects::Poihana::Update +80748240 0x80748240 +80748358 Objects::Poihana::LoadAnimations +80748404 0x80748404 +807489e4 Objects::Poihana::OnCollision +80748b70 Objects::Poihana::OnItemCollision +80748c7c 0x80748c7c +80748d30 0x80748d30 +80748e00 0x80748e00 +80748e74 0x80748e74 +80748e90 0x80748e90 +80748f18 Objects::Poihana::OnStartIdle +80748f90 Objects::Poihana::UpdateIdleAndAction1 +80749154 Objects::Poihana::OnStartChase +8074916c Objects::Poihana::UpdateChase +807495c0 0x807495c0 +807495dc Objects::Poihana::OnStartCatapult +80749770 Objects::Poihana::UpdateCatapult +807497ec Objects::Poihana::OnEndCatapult +807497f8 Objects::Poihana::OnStartCatapultNoMove +80749848 Objects::Poihana::UpdateCatapultNoMove +807498f8 Objects::Poihana::OnEndCatapultNoMove +80749904 Objects::Poihana::Topple +80749b10 Objects::Poihana::OnStartToppleNormal +80749b28 Objects::Poihana::OnStartToppleInverted +80749b44 Objects::Poihana::UpdateTopple +80749d8c Objects::Poihana::OnEndTopple +80749dc8 Objects::Poihana::OnStartToppleNoBury +80749f18 Objects::Poihana::UpdateToppleNoBury +8074a3a8 0x8074a3a8 +8074a3c4 Objects::Poihana::OnEndToppleNoBury +8074a3d0 Objects::Poihana::Actions::OnStart +8074a418 Objects::Poihana::Actions::Update +8074a448 Objects::Poihana::Actions::OnEnd +8074a490 Objects::Poihana::__dt(thunk) +8074a498 AI::Base::__ct +8074a5a4 AI::Base::UpdateActions +8074a620 AI::Base::SetInitialActions +8074a638 AI::Base::HasSameActions +8074a64c AI::Base::SetNextActions +8074a658 AI::Actions::OnActionStart +8074a6a0 AI::Actions::Update +8074a6d0 AI::Actions::OnActionEnd +8074a718 0x8074a718 +8074a764 0x8074a764 +8074a808 0x8074a808 +8074a9b8 0x8074a9b8 +8074aa88 0x8074aa88 +8074acd4 0x8074acd4 +8074ae60 0x8074ae60 +8074ae98 0x8074ae98 +8074af10 0x8074af10 +8074b014 0x8074b014 +8074b1a0 0x8074b1a0 +8074b238 0x8074b238 +8074b33c 0x8074b33c +8074b358 0x8074b358 +8074b35c 0x8074b35c +8074b4ac 0x8074b4ac +8074b594 0x8074b594 +8074b60c 0x8074b60c +8074b63c 0x8074b63c +8074b6b4 0x8074b6b4 +8074b720 0x8074b720 +8074b84c 0x8074b84c +8074b910 0x8074b910 +8074b920 0x8074b920 +8074b9b8 0x8074b9b8 +8074ba5c 0x8074ba5c +8074bb14 AwardCupModel::Disposer__dt +8074bc1c AwardCupModel::CreateInstance +8074bcec AwardCupModel::DestroyInstance +8074bda8 AwardCupModel::__ct +8074be4c AwardCupModel::__dt +8074bf14 AwardCupModel::Load +8074bf80 AwardCupModel::Load_switch +8074bf84 AwardCupModel::Load_caseD_0 +8074bfb8 AwardCupModel::Load_caseD_1 +8074bfec AwardCupModel::Load_caseD_2 +8074c020 AwardCupModel::Load_caseD_3 +8074c054 AwardCupModel::Load_caseD_4 +8074c088 AwardCupModel::Load_caseD_5 +8074c0bc AwardCupModel::Load_caseD_6 +8074c0f0 AwardCupModel::Load_caseD_7 +8074c124 AwardCupModel::Load_caseD_8 +8074c38c AwardCupModel::Prepare +8074c4bc AwardCupModel::Activate +8074c56c AwardCupModel::Update +8074c7f0 0x8074c7f0 +8074c958 0x8074c958 +8074c9fc 0x8074c9fc +8074caa8 0x8074caa8 +8074cbec 0x8074cbec +8074cc24 GlobeMgr::Disposer__dt +8074ccbc GlobeMgr::CreateInstance +8074cd38 GlobeMgr::DestroyInstance +8074cd6c EarthModel::__ct +8074d2d0 0x8074d2d0 +8074d334 EarthModel::__dt +8074d3b4 0x8074d3b4 +8074d5e4 0x8074d5e4 +8074d5e8 0x8074d5e8 +8074d5ec 0x8074d5ec +8074d5f0 0x8074d5f0 +8074d69c 0x8074d69c +8074d85c 0x8074d85c +8074d880 0x8074d880 +8074d998 0x8074d998 +8074da18 0x8074da18 +8074db40 0x8074db40 +8074dc6c 0x8074dc6c +8074dd98 0x8074dd98 +8074dec4 0x8074dec4 +8074dff0 0x8074dff0 +8074e11c 0x8074e11c +8074e248 0x8074e248 +8074e4f8 0x8074e4f8 +8074e874 GlobeMii::GetTranslation +8074e87c 0x8074e87c +8074e8cc 0x8074e8cc +8074e8ec 0x8074e8ec +8074e90c 0x8074e90c +8074e92c 0x8074e92c +8074e950 0x8074e950 +8074e970 0x8074e970 +8074ebc4 0x8074ebc4 +8074ede0 0x8074ede0 +8074f03c 0x8074f03c +8074f0ac 0x8074f0ac +8074f0ec 0x8074f0ec +8074f12c 0x8074f12c +8074f16c 0x8074f16c +8074f1b0 0x8074f1b0 +8074f1f0 0x8074f1f0 +8074f4a4 0x8074f4a4 +8074f4a8 GlobeMgr::__ct +8074f4f8 GlobeMgr::__dt +8074f5c0 GlobeMgr::Init +8074f684 0x8074f684 +8074f8a4 0x8074f8a4 +8074f960 0x8074f960 +8074f9b0 GlobeMgr::Update +8074fd34 0x8074fd34 +8074fd74 0x8074fd74 +8074fe58 0x8074fe58 +8074fe68 GlobeMgr::IsMiiEnabled +8074fe74 GlobeMgr::SetPosition +80750004 0x80750004 +80750008 0x80750008 +8075000c GlobeMgr::SetMii +80750020 GlobeMgr::DisplayMii +8075003c GlobeMgr::ResetGlobeMii +80750050 0x80750050 +80750118 GlobeMii::__ct +80750698 GlobeMii::Init +807507b0 GlobeMii::Update +80750874 GlobeMii::SetMii +80750b94 GlobeMii::IsFemaleMii +80750bac GlobeMii::DisplayMii +80750f28 GlobeMii::Reset +80750fa8 0x80750fa8 +80751034 0x80751034 +80751098 0x80751098 +807510d8 0x807510d8 +807510dc 0x807510dc +807510e0 0x807510e0 +807511b8 0x807511b8 +80751290 0x80751290 +80751298 0x80751298 +807512d8 0x807512d8 +80751318 0x80751318 +807513cc 0x807513cc +80751550 0x80751550 +80751924 0x80751924 +80751970 0x80751970 +80751ad8 0x80751ad8 +80751c2c 0x80751c2c +80751d70 0x80751d70 +80751e58 0x80751e58 +80752024 0x80752024 +80752090 0x80752090 +8075209c 0x8075209c +807520b0 0x807520b0 +80752110 0x80752110 +80752118 0x80752118 +80752120 0x80752120 +807521a0 0x807521a0 +807521e0 0x807521e0 +8075228c 0x8075228c +80752324 0x80752324 +80752398 0x80752398 +8075239c 0x8075239c +80752558 0x80752558 +80752610 0x80752610 +807526b4 0x807526b4 +8075272c 0x8075272c +807528d4 0x807528d4 +80752d0c 0x80752d0c +80752d80 0x80752d80 +80752d8c 0x80752d8c +80752d98 0x80752d98 +80752f54 0x80752f54 +80752fcc 0x80752fcc +80752fd0 0x80752fd0 +80753050 0x80753050 +80753068 0x80753068 +80753078 0x80753078 +807531a0 0x807531a0 +8075349c 0x8075349c +80753514 0x80753514 +80753518 0x80753518 +80753598 0x80753598 +8075359c 0x8075359c +807535a0 0x807535a0 +807535a4 0x807535a4 +807535a8 0x807535a8 +807535ac 0x807535ac +807535b0 0x807535b0 +807535b8 0x807535b8 +807535bc 0x807535bc +807535c0 0x807535c0 +807535c4 0x807535c4 +807535c8 0x807535c8 +807535d0 0x807535d0 +807535d8 0x807535d8 +80753628 0x80753628 +807536a0 0x807536a0 +807536a4 0x807536a4 +807536f4 0x807536f4 +8075376c 0x8075376c +80753770 0x80753770 +807538d0 0x807538d0 +80753fcc 0x80753fcc +8075405c 0x8075405c +80754068 0x80754068 +80754074 0x80754074 +80754140 0x80754140 +80754280 0x80754280 +8075428c 0x8075428c +80754298 0x80754298 +807542a4 0x807542a4 +807542b0 0x807542b0 +807542bc 0x807542bc +80754640 0x80754640 +8075477c 0x8075477c +80754830 0x80754830 +807548e0 0x807548e0 +8075499c 0x8075499c +80754a40 0x80754a40 +80754ae8 0x80754ae8 +80754f30 0x80754f30 +80755144 0x80755144 +807552c4 0x807552c4 +807552f8 0x807552f8 +8075560c 0x8075560c +80755734 0x80755734 +80755844 0x80755844 +807559cc 0x807559cc +80755be4 0x80755be4 +80755ea4 0x80755ea4 +80756078 0x80756078 +8075627c 0x8075627c +80756388 0x80756388 +80756438 0x80756438 +8075645c 0x8075645c +80756778 0x80756778 +8075682c 0x8075682c +80756b80 0x80756b80 +80756bf8 0x80756bf8 +80756c68 0x80756c68 +80756ca4 0x80756ca4 +80756cdc 0x80756cdc +80756dd0 0x80756dd0 +80756f44 BegomanManager::__ct +80756fb8 0x80756fb8 +80756fbc 0x80756fbc +80757424 0x80757424 +80757440 0x80757440 +80757474 0x80757474 +807574fc 0x807574fc +8075754c 0x8075754c +807577f4 0x807577f4 +8075780c 0x8075780c +807578d8 0x807578d8 +807579d4 0x807579d4 +80757ab0 0x80757ab0 +80757c3c 0x80757c3c +80757ce0 0x80757ce0 +80757ff0 0x80757ff0 +807580d4 0x807580d4 +807580dc 0x807580dc +807580e8 0x807580e8 +807580f0 0x807580f0 +807580f4 0x807580f4 +807580f8 0x807580f8 +807580fc 0x807580fc +80758100 0x80758100 +80758104 0x80758104 +80758108 0x80758108 +80758110 0x80758110 +80758114 0x80758114 +80758118 0x80758118 +8075811c 0x8075811c +80758120 0x80758120 +80758124 0x80758124 +80758128 0x80758128 +80758130 0x80758130 +80758170 0x80758170 +807581b0 0x807581b0 +807581f0 0x807581f0 +80758230 0x80758230 +80758238 0x80758238 +80758240 0x80758240 +80758248 0x80758248 +8075855c 0x8075855c +8075859c 0x8075859c +807585d4 0x807585d4 +807589d0 0x807589d0 +807589f4 0x807589f4 +80758d5c 0x80758d5c +8075903c 0x8075903c +80759044 0x80759044 +8075904c 0x8075904c +80759068 0x80759068 +80759424 0x80759424 +8075944c 0x8075944c +80759554 0x80759554 +80759a04 0x80759a04 +80759a38 0x80759a38 +80759b24 0x80759b24 +80759bd8 0x80759bd8 +80759c08 0x80759c08 +80759e90 0x80759e90 +80759ed0 0x80759ed0 +80759f70 0x80759f70 +8075a010 0x8075a010 +8075a134 0x8075a134 +8075a4ec cFielder_IsStriker +8075a4fc 0x8075a4fc +8075a628 0x8075a628 +8075a6f8 0x8075a6f8 +8075a7e4 0x8075a7e4 +8075a860 0x8075a860 +8075a8cc 0x8075a8cc +8075a950 0x8075a950 +8075aa3c 0x8075aa3c +8075ab90 0x8075ab90 +8075ac88 0x8075ac88 +8075acc8 0x8075acc8 +8075ad00 0x8075ad00 +8075adc0 0x8075adc0 +8075b2d8 0x8075b2d8 +8075b420 0x8075b420 +8075b604 0x8075b604 +8075b71c 0x8075b71c +8075b90c 0x8075b90c +8075b928 0x8075b928 +8075bac0 0x8075bac0 +8075bb88 0x8075bb88 +8075bcc4 0x8075bcc4 +8075bef4 0x8075bef4 +8075bf7c 0x8075bf7c +8075bfc4 0x8075bfc4 +8075c00c 0x8075c00c +8075c250 0x8075c250 +8075c2a0 0x8075c2a0 +8075c2c4 0x8075c2c4 +8075c3e8 0x8075c3e8 +8075c48c 0x8075c48c +8075c598 0x8075c598 +8075c66c 0x8075c66c +8075c67c 0x8075c67c +8075c6a0 0x8075c6a0 +8075c7a8 0x8075c7a8 +8075c7b0 0x8075c7b0 +8075c8d8 0x8075c8d8 +8075c9e4 0x8075c9e4 +8075cbf8 0x8075cbf8 +8075cef8 0x8075cef8 +8075cf90 0x8075cf90 +8075d03c 0x8075d03c +8075d044 0x8075d044 +8075d04c 0x8075d04c +8075d058 0x8075d058 +8075d060 0x8075d060 +8075d068 0x8075d068 +8075d074 0x8075d074 +8075d080 0x8075d080 +8075d08c 0x8075d08c +8075d098 0x8075d098 +8075d0d8 0x8075d0d8 +8075d118 0x8075d118 +8075d158 0x8075d158 +8075d190 0x8075d190 +8075d198 0x8075d198 +8075d1a0 0x8075d1a0 +8075d1a8 0x8075d1a8 +8075d20c 0x8075d20c +8075d308 0x8075d308 +8075d30c 0x8075d30c +8075d4ac 0x8075d4ac +8075d518 0x8075d518 +8075d6dc 0x8075d6dc +8075d7d8 0x8075d7d8 +8075d860 0x8075d860 +8075d8f8 0x8075d8f8 +8075d94c 0x8075d94c +8075dd54 0x8075dd54 +8075dda8 0x8075dda8 +8075ddb0 0x8075ddb0 +8075ddb8 0x8075ddb8 +8075ddf8 0x8075ddf8 +8075de70 0x8075de70 +8075deb0 0x8075deb0 +8075dff4 0x8075dff4 +8075dff8 0x8075dff8 +8075e100 0x8075e100 +8075e160 0x8075e160 +8075e168 obj_dossunc::__ct +8075e438 0x8075e438 +8075e4d4 0x8075e4d4 +8075e514 0x8075e514 +8075e888 0x8075e888 +8075e8c0 obj_dossun_active_update +8075ea60 0x8075ea60 +8075ea9c 0x8075ea9c +8075eacc 0x8075eacc +8075eb44 0x8075eb44 +8075eb8c 0x8075eb8c +8075ebf0 0x8075ebf0 +8075edd8 0x8075edd8 +8075f074 0x8075f074 +8075f1bc 0x8075f1bc +8075f2e8 0x8075f2e8 +8075f438 0x8075f438 +8075f4ec 0x8075f4ec +8075f4f8 obj_dossun_endFall +8075f50c 0x8075f50c +8075f574 0x8075f574 +8075f604 0x8075f604 +8075f784 0x8075f784 +8075f7f4 0x8075f7f4 +8075f8a8 0x8075f8a8 +8075f94c obj_dossun_update +8075fafc 0x8075fafc +8075fc58 0x8075fc58 +8075fca0 0x8075fca0 +8075fe8c 0x8075fe8c +8075ffd0 obj_dossun_make_active +807600b0 0x807600b0 +80760140 0x80760140 +8076018c 0x8076018c +80760240 0x80760240 +807602c8 0x807602c8 +80760384 0x80760384 +807603f8 0x807603f8 +80760a08 0x80760a08 +80760b3c 0x80760b3c +80760d34 0x80760d34 +80760dac 0x80760dac +80760db0 0x80760db0 +80760ff8 0x80760ff8 +807616c0 0x807616c0 +807617fc 0x807617fc +80761a18 0x80761a18 +80761b5c 0x80761b5c +80761c5c 0x80761c5c +80762558 0x80762558 +8076273c 0x8076273c +80762888 0x80762888 +80762b2c 0x80762b2c +80762f64 0x80762f64 +80762f84 0x80762f84 +80762fa8 0x80762fa8 +8076306c 0x8076306c +80763070 0x80763070 +8076307c 0x8076307c +807631cc 0x807631cc +80763280 0x80763280 +80763478 0x80763478 +80763518 0x80763518 +807635d8 0x807635d8 +807636c0 0x807636c0 +8076375c 0x8076375c +80763950 0x80763950 +80763964 0x80763964 +80763a0c 0x80763a0c +80763b04 0x80763b04 +80763b7c 0x80763b7c +80763c30 0x80763c30 +80763c70 0x80763c70 +80763c74 0x80763c74 +80763cb0 0x80763cb0 +80763d10 0x80763d10 +80763e08 0x80763e08 +80763f10 0x80763f10 +80764010 0x80764010 +80764070 0x80764070 +80764078 0x80764078 +80764080 0x80764080 +80764088 0x80764088 +8076408c 0x8076408c +80764090 0x80764090 +80764094 0x80764094 +80764098 0x80764098 +8076409c 0x8076409c +807640a4 0x807640a4 +807640a8 0x807640a8 +807640f8 0x807640f8 +80764170 0x80764170 +80764174 0x80764174 +807641b4 0x807641b4 +807641f4 0x807641f4 +80764234 0x80764234 +807642b4 0x807642b4 +807642f4 0x807642f4 +80764334 obj_Epropeller::__ct +80764428 0x80764428 +807644a0 obj_Epropeller::__dt +80764520 obj_Epropeller_0x0c +807646d0 0x807646d0 +807646d4 obj_Epropeller_update +807647fc 0x807647fc +80764918 0x80764918 +80764a14 obj_Epropeller_updateEffect +80764bc4 0x80764bc4 +80764c20 0x80764c20 +80764da0 0x80764da0 +80764da4 0x80764da4 +80764f4c 0x80764f4c +80764f9c 0x80764f9c +807650c0 0x807650c0 +8076522c 0x8076522c +80765234 0x80765234 +80765284 0x80765284 +807652fc 0x807652fc +80765300 0x80765300 +807653a4 0x807653a4 +8076541c 0x8076541c +8076549c 0x8076549c +807657a8 0x807657a8 +807657ac 0x807657ac +807657b0 0x807657b0 +80765964 0x80765964 +80765dc0 0x80765dc0 +80765e48 0x80765e48 +80765ed0 0x80765ed0 +80765f40 0x80765f40 +80766034 0x80766034 +80766074 0x80766074 +807660c0 0x807660c0 +807660c4 0x807660c4 +80766104 0x80766104 +80766144 0x80766144 +80766184 0x80766184 +807661c4 0x807661c4 +80766218 0x80766218 +80766220 0x80766220 +8076622c 0x8076622c +80766238 0x80766238 +80766310 0x80766310 +80766318 0x80766318 +8076631c 0x8076631c +80766324 0x80766324 +80766330 0x80766330 +8076633c 0x8076633c +80766348 0x80766348 +80766354 0x80766354 +80766360 0x80766360 +8076636c 0x8076636c +807663bc 0x807663bc +80766434 0x80766434 +80766438 0x80766438 +80766478 0x80766478 +807664b8 0x807664b8 +807664f8 0x807664f8 +807665b8 Objects::Karehayama::__ct +807665f4 Objects::Karehayama::__dt +8076664c Objects::Karehayama::OnStart +807666a4 Objects::Karehayama::LoadEffects +80766780 Objects::Karehayama::CreateCollisionEffectSoft +80766848 Objects::Karehayama::CreateCollisionEffect +807668b8 Objects::Karehayama::CreateExplosionEffect +807668bc Objects::Karehayama::Respawn +80766910 Objects::Karehayama::DropItem +807669b8 Objects::Karehayama::OnNormalCollision +80766ab4 Objects::Karehayama::OnImperviousCollision +80766be8 Objects::Karehayama::OnNormalItemCollision +80766cb4 Objects::Karehayama::OnImperviousItemCollision +80766d70 Objects::Karehayama::LoadShadow +80766e4c Object::ItemDropper::UpdateRespawn +80766e50 Object::ItemDropper::GetPropertiesBitfield +80766e58 Objects::Karehayama::LoadAnimations +80766eac Objects::Karehayama::vf_0x114 +80766eb4 Objects::Karehayama::OnWallCollision +80766eb8 Objects::Karehayama::GetBRRESName +80766f0c Objects::Karehayama::GetSubFileName +80766f60 0x80766f60 +807673dc 0x807673dc +80767454 0x80767454 +80767458 0x80767458 +80767470 0x80767470 +80767660 0x80767660 +80767a5c 0x80767a5c +80767a74 0x80767a74 +80767cbc 0x80767cbc +80767d04 0x80767d04 +80767d24 0x80767d24 +80767d28 0x80767d28 +80767d7c 0x80767d7c +80767d88 0x80767d88 +80767d94 0x80767d94 +80767d9c 0x80767d9c +80767da0 0x80767da0 +80767da4 0x80767da4 +80767da8 0x80767da8 +80767dac 0x80767dac +80767db4 0x80767db4 +80767dfc 0x80767dfc +80767e44 0x80767e44 +80767e4c 0x80767e4c +80767e9c 0x80767e9c +80767f14 0x80767f14 +80767f18 0x80767f18 +80767f98 0x80767f98 +80768018 0x80768018 +80768058 Objects::Hanabi::__ct +807680bc Objects::Hanabi::__dt +807680fc Objects::Hanabi::OnStart +80768150 0x80768150 +80768164 Objects::Hanabi::Update +80768284 0x80768284 +80768374 Objects::Hanabi::LoadClipInfo +80768378 Objects::Hanabi::LoadCollision +8076837c Objects::Hanabi::LoadAnimations +80768380 Objects::Hanabi::LoadModels +80768384 Objects::Hanabi::GetPropertiesBitfield +8076838c ObjVeniceGondola_construct +807683f0 ObjVeniceGondola_destruct +80768430 0x80768430 +80768578 0x80768578 +8076857c 0x8076857c +80768864 0x80768864 +807688ec 0x807688ec +80768974 0x80768974 +807689dc 0x807689dc +80768a18 0x80768a18 +80768a58 0x80768a58 +80768a98 0x80768a98 +80768b54 0x80768b54 +80768bf0 0x80768bf0 +80768bfc 0x80768bfc +80768c08 0x80768c08 +80768c10 0x80768c10 +80768c74 0x80768c74 +80768c7c 0x80768c7c +80768c88 0x80768c88 +80768c94 0x80768c94 +80768c9c 0x80768c9c +80768ca0 0x80768ca0 +80768d38 0x80768d38 +80768e00 0x80768e00 +80768e40 0x80768e40 +80768ea8 0x80768ea8 +80768eac 0x80768eac +80768fec 0x80768fec +80769004 0x80769004 +8076919c 0x8076919c +807691fc 0x807691fc +807695f0 0x807695f0 +80769690 0x80769690 +807697b4 0x807697b4 +80769868 0x80769868 +80769924 0x80769924 +807699a4 0x807699a4 +80769a1c 0x80769a1c +80769b74 0x80769b74 +80769bcc 0x80769bcc +80769bd8 0x80769bd8 +80769ca4 0x80769ca4 +80769e90 0x80769e90 +80769e94 0x80769e94 +80769f14 0x80769f14 +80769f8c 0x80769f8c +8076a040 0x8076a040 +8076a04c 0x8076a04c +8076a050 0x8076a050 +8076a418 0x8076a418 +8076a41c 0x8076a41c +8076a614 0x8076a614 +8076a6ec 0x8076a6ec +8076a8a4 0x8076a8a4 +8076a970 0x8076a970 +8076ab2c 0x8076ab2c +8076abc0 0x8076abc0 +8076affc 0x8076affc +8076b000 0x8076b000 +8076b078 0x8076b078 +8076b0f0 0x8076b0f0 +8076b0f4 0x8076b0f4 +8076b1b0 0x8076b1b0 +8076b200 0x8076b200 +8076b460 0x8076b460 +8076b6a4 0x8076b6a4 +8076b7c0 0x8076b7c0 +8076b860 0x8076b860 +8076b994 0x8076b994 +8076ba8c 0x8076ba8c +8076ba90 0x8076ba90 +8076ba94 0x8076ba94 +8076ba98 0x8076ba98 +8076ba9c 0x8076ba9c +8076baa4 0x8076baa4 +8076baa8 0x8076baa8 +8076baac 0x8076baac +8076bab0 0x8076bab0 +8076bab4 0x8076bab4 +8076babc 0x8076babc +8076bac4 0x8076bac4 +8076bb14 0x8076bb14 +8076bb8c 0x8076bb8c +8076bb90 0x8076bb90 +8076bbe0 0x8076bbe0 +8076bc58 0x8076bc58 +8076bc5c 0x8076bc5c +8076bcac 0x8076bcac +8076bd24 0x8076bd24 +8076bd28 0x8076bd28 +8076bde0 0x8076bde0 +8076bec4 0x8076bec4 +8076bec8 Objects::W_Itembox::__ct +8076c034 Objects::SubObjectArray::__dt +8076c0ac Objects::SubObjectArray::vf_0x18 +8076c0b0 Objects::W_Itembox::__dt +8076c130 Objects::W_Itembox::OnStart +8076c168 0x8076c168 +8076c174 Objects::W_Itembox::Update +8076c264 0x8076c264 +8076c334 Objects::W_Itembox::Box::__ct +8076c370 Objects::W_Itembox::Box::__dt +8076c3b0 Objects::W_Itembox::Box::OnStart +8076c3c0 0x8076c3c0 +8076c424 Objects::W_Itembox::Box::Update +8076c51c 0x8076c51c +8076c568 Objects::W_Itembox::Box::OnCollision +8076c5a0 Objects::W_Itembox::Box::OnItemCollision +8076c5a8 Objects::W_Itembox::UpdateModel +8076c5ac Objects::W_Itembox::LoadClipInfo +8076c5b0 Objects::W_Itembox::LoadCollision +8076c5b4 Objects::W_Itembox::LoadAnimations +8076c5b8 Objects::W_Itembox::LoadModels +8076c5bc Objects::W_Itembox::GetPropertiesBitfield +8076c5c4 Objects::W_Itembox::Box::GetSubFileName +8076c5d0 Objects::W_Itembox::Box::GetBRRESName +8076c5dc Objects::W_Itembox::Box::GetPropertiesBitfield +8076c5e4 Objects::SubObjectArray::CreateArray +8076c634 Objects::SubObjectArray::CreateArray(heap) +8076c6ac Objects::SubObjectArray::vf_0x14 +8076c6b0 Objects::W_Itemboxline::__ct +8076cacc Objects::SubObjectArray::__dt +8076cb44 Objects::SubObjectArray::__dt +8076cbbc Objects::SubObjectArray::vf_0x18 +8076cbc0 Objects::SubObjectArray::vf_0x18 +8076cbc4 Objects::W_Itemboxline::__dt +8076cc70 Objects::W_Itemboxline::OnStart +8076ccac 0x8076ccac +8076ccb8 Objects::W_Itemboxline::Update +8076ce94 0x8076ce94 +8076d050 Objects::W_Itemboxline::Box::GetID +8076d0b4 Objects::W_Itemboxline::Box::__dt +8076d0f4 Objects::W_Itemboxline::Box::OnStart +8076d104 0x8076d104 +8076d160 Objects::W_Itemboxline::Box::Update +8076d5b0 0x8076d5b0 +8076d728 Objects::W_Itemboxline::Box::OnCollision +8076d760 0x8076d760 +8076d7d0 Objects::W_Itemboxline::Block::__dt +8076d810 Objects::W_Itemboxline::Block::OnStart +8076d87c 0x8076d87c +8076d92c Objects::W_Itemboxline::Block::Update +8076da6c 0x8076da6c +8076db54 Objects::W_Itemboxline::Block::OnCollision +8076dc44 Objects::W_Itemboxline::Block::OnItemCollision +8076dd08 0x8076dd08 +8076de18 Objects::W_Itemboxline::Press::__ct +8076de84 Objects::W_Itemboxline::Press::__dt +8076dedc Objects::W_Itemboxline::Press::TryFall +8076df1c Objects::W_Itemboxline::Press::UpdateEffect +8076e014 Objects::W_Itemboxline::UpdateModel +8076e018 Objects::W_Itemboxline::LoadClipInfo +8076e01c Objects::W_Itemboxline::LoadCollision +8076e020 Objects::W_Itemboxline::LoadAnimations +8076e024 Objects::W_Itemboxline::LoadModels +8076e028 Objects::W_Itemboxline::GetPropertiesBitfield +8076e030 0x8076e030 +8076e038 0x8076e038 +8076e044 0x8076e044 +8076e050 Objects::W_Itemboxline::Box::GetPropertiesBitfield +8076e058 Objects::W_Itemboxline::Block::GetPropertiesBitfield +8076e060 Objects::W_Itemboxline::Block::GetBRRESName +8076e06c Objects::W_Itemboxline::Block::GetSubFileName +8076e078 Objects::Press::GetCollisionDiameter +8076e084 Objects::Press::GetShadowListIdx +8076e08c Objects::W_Itemboxline::Press::GetPropertiesBitfield +8076e094 Objects::W_Itemboxline::Press::GetID +8076e09c Objects::W_Itemboxline::Press::GetBRRESName +8076e0a8 Objects::W_Itemboxline::Press::GetSubFileName +8076e0b4 Objects::SubObjectArray::CreateArray +8076e104 Objects::SubObjectArray::CreateArray(heap) +8076e17c Objects::SubObjectArray::vf_0x14 +8076e180 Objects::SubObjectArray::CreateArray +8076e1d0 Objects::SubObjectArray::CreateArray(heap) +8076e248 Objects::SubObjectArray::vf_0x14 +8076e24c Objects::ItemDropper::__ct +8076e294 Objects::ItemDropper::__dt +8076e2d4 Objects::ItemDropper::OnStart +8076e384 Objects::ItemDropper::LoadEffects +8076e388 Objects::ItemDropper::Update +8076e3dc Objects::ItemDropper::RespawnImpl +8076e440 Objects::ItemDropper::Respawn +8076e450 Objects::ItemDropper::DropItem +8076e648 Objects::ItemDropper::CreateExplosionEffect +8076e718 Objects::ItemDropper::OnCollision +8076e840 Objects::ItemDropper::OnNormalCollision +8076e844 Objects::ItemDropper::OnImperviousCollision +8076e848 Objects::ItemDropper::OnItemCollision +8076e944 Objects::ItemDropper::OnNormalItemCollision +8076e948 Objects::ItemDropper::OnImperviousItemCollision +8076e94c Objects::DKRockGC::__ct +8076e9b0 Objects::DKRockGC::__dt +8076e9f0 Objects::DKRockGC::OnStart +8076ebf8 0x8076ebf8 +8076ebfc Objects::DKRockGC::Update +8076edd4 0x8076edd4 +8076eed4 0x8076eed4 +8076ef88 0x8076ef88 +8076f0cc 0x8076f0cc +8076f3fc 0x8076f3fc +8076f62c 0x8076f62c +8076f6d4 Objects::DKRockGC::OnCollision +8076f864 Objects::DKRockGC::OnItemCollision +8076f8f8 Objects::DKRockGC::UpdateShadow +8076f9d8 Objects::DKRockGC::GetCollisionTranslation +8076f9e0 Objects::DKRockGC::GetShadowListIdx +8076f9e8 Objects::DKRockGC::GetPropertiesBitfield +8076f9f0 Objects::KoopaBall::__ct +8076fa3c Objects::KoopaBall::OnStart +8076fe08 0x8076fe08 +8076fe18 0x8076fe18 +8076ff90 0x8076ff90 +807700d0 0x807700d0 +80770148 Objects::KoopaBall::Update +807705b8 0x807705b8 +807708b4 0x807708b4 +80770990 0x80770990 +80770b88 0x80770b88 +80770c90 0x80770c90 +80770de0 0x80770de0 +80770f3c 0x80770f3c +8077100c 0x8077100c +80771054 0x80771054 +807711bc 0x807711bc +80771238 0x80771238 +80771260 Objects::KoopaBall::OnCollision +80771490 Objects::KoopaBall::UpdateShadow +807715cc Objects::KoopaBall::GetCollisionTranslation +807715d4 Objects::KoopaBall::GetPropertiesBitfield +807715dc Objects::KoopaBall::__dt +8077161c 0x8077161c +807716c0 0x807716c0 +80771758 0x80771758 +807717a8 0x807717a8 +80771988 0x80771988 +80771ab4 0x80771ab4 +80771b70 0x80771b70 +80771b9c 0x80771b9c +80771cbc 0x80771cbc +80771d20 0x80771d20 +80771d28 0x80771d28 +80771d30 0x80771d30 +80771d70 0x80771d70 +80771db0 0x80771db0 +80771dc8 0x80771dc8 +80772188 0x80772188 +807722e4 0x807722e4 +807722e8 0x807722e8 +80772328 0x80772328 +80772368 0x80772368 +807726f8 0x807726f8 +80772700 0x80772700 +80772740 Objects::MiiObj::__ct +80772780 Objects::MiiObj::__dt +807727ec Objects::MiiObj::OnStart +807727f8 Objects::MiiObj::LoadModels +80772d2c Objects::MiiObj::GetPropertiesBitfield +80772d34 Objects::MiiPoster::__ct +80772d74 Objects::MiiPoster::__dt +80772d80 Objects::MiiPoster::OnStart +80772f54 Objects::MiiPoster::LoadModels +80772f5c Objects::MiiPoster::GetPropertiesBitfield +80772f9c Objects::MiiKanban::__ct +80772fdc Objects::MiiKanban::LoadModels +80773274 Objects::MiiKanban::OnStart +80773280 Objects::MiiKanban::GetPropertiesBitfield +80773288 Objects::MiiKanban::__dt +807732c8 ObjMonteA_construct +8077336c 0x8077336c +80773418 0x80773418 +807736b0 0x807736b0 +80773758 0x80773758 +80773874 0x80773874 +80773964 0x80773964 +80773a08 0x80773a08 +80773a10 0x80773a10 +80773a50 0x80773a50 +80773dbc 0x80773dbc +80773dc0 0x80773dc0 +8077406c 0x8077406c +807740f0 0x807740f0 +80774288 0x80774288 +807742ec 0x807742ec +8077431c 0x8077431c +80774524 0x80774524 +8077458c 0x8077458c +80774698 0x80774698 +80774774 0x80774774 +80774a20 0x80774a20 +80774ac4 0x80774ac4 +80774ad0 0x80774ad0 +80774b58 0x80774b58 +80774b60 0x80774b60 +80774b68 0x80774b68 +80774ba8 0x80774ba8 +80774be8 0x80774be8 +80774c80 0x80774c80 +80774c88 0x80774c88 +80774c90 0x80774c90 +80774cdc Objects::Penguin::__dt +80774d1c Objects::Penguin::OnStart +80774dc4 0x80774dc4 +80774dd0 Objects::Penguin::Update +80774e0c Objects::Penguin::UpdateWithRot +80774e70 Objects::Penguin::UpdateNoRot +80774ef8 Objects::Penguin::vf_0x104 +80774fbc Objects::Penguin::UpdateMtxNoRot +80775188 Objects::Penguin::UpdateMtxWithRot +80775210 0x80775210 +80775298 Objects::Penguin::UpdatePosition +807752c4 Objects::Penguin::OnCollision +8077534c Objects::Penguin::OnItemCollision +80775398 Objects::Penguin::SpinOut +807754cc Objects::Penguin_s::__ct +80775630 Objects::PenguinUnkObj::LoadAnimations +807756dc Objects::Penguin_s::__dt +8077571c Objects::Penguin_s::OnStart +807757f4 0x807757f4 +80775804 Objects::Penguin_s::Update +807759e8 Objects::Penguin_s::UpdateWithRot +80775a3c 0x80775a3c +80775b04 0x80775b04 +80775cdc 0x80775cdc +80775d54 Objects::Penguin_s::UpdateNoRot +80775f0c 0x80775f0c +8077615c Objects::Penguin_s::vf_0x104 +807761e8 0x807761e8 +80776200 0x80776200 +807762c4 0x807762c4 +80776348 0x80776348 +807763fc Objects::Penguin_s::SpinOut +80776538 Objects::Penguin_s::UpdateModelMatrix +807766b8 0x807766b8 +807766f8 Objects::Penguin_m::__ct +8077679c Objects::Penguin_l::__ct +80776848 Objects::Penguin_l::OnStart +807768f0 Objects::Penguin_l::UpdateModelMatrix +807768f4 0x807768f4 +80776934 Objects::Penguin::LoadAnimations +80776988 Objects::Penguin::vf_0xec +80776990 Objects::Penguin::GetPropertiesBitfield +80776998 Objects::Penguin_l::DoCalcShadowMtx +807769a0 0x807769a0 +807769f4 0x807769f4 +807769fc 0x807769fc +80776a00 0x80776a00 +80776a08 Objects::Penguin_s::LoadAnimations +80776ab4 Objects::Penguin_s::vf_0xec +80776abc Objects::PenguinUnkObj::vf_0xec +80776ac4 Objects::PenguinUnkObj::Update +80776ac8 Objects::PenguinUnkObj::GetScnObjDrawOptionsIdx +80776ad0 Objects::PenguinUnkObj::__dt +80776b10 Objects::Penguin_m::_dt +80776b50 0x80776b50 +80776b90 Objects::Penguin_l::__dt +80776bd0 Objects::Press::__ct +80776c68 Objects::Press::OnStart +80776ca8 0x80776ca8 +80776ed8 0x80776ed8 +80776ef8 Objects::Press::Update +807770fc Objects::Press::TryFall +807771c0 0x807771c0 +807771fc 0x807771fc +8077722c 0x8077722c +8077731c 0x8077731c +8077737c Objects::Press::UpdateColliding +80777564 Objects::Press::UpdateEffect +80777634 0x80777634 +807776ec 0x807776ec +807776f8 0x807776f8 +807777ac 0x807777ac +807777b8 0x807777b8 +807777d4 0x807777d4 +80777884 0x80777884 +80777940 Objects::Press::OnCollision +80777a78 Objects::Press::LoadCollision +80777d50 Objects::Press::LoadAnimations +80777e54 Objects::Press::GetPropertiesBitfield +80777e5c Objects::Dokan_sfc::__ct +80777e9c Objects::Dokan_sfc::OnStart +80777f34 Objects::Dokan_sfc::Update +80777fb8 0x80777fb8 +80778028 0x80778028 +8077820c 0x8077820c +80778278 Objects::Dokan_sfc::OnCollision +80778330 Objects::Dokan_sfc::OnItemCollision +807783bc Objects::Dokan_sfc::UpdateCollision +80778514 Objects::Dokan_sfc::UpdateShadow +807785c8 Objects::Dokan_sfc::LoadAnimations +80778648 Objects::Dokan_sfc::vf_0xec +80778650 Objects::Dokan_sfc::GetPropertiesBitfield +80778658 Objects::Dokan_sfc::__dt +80778698 0x80778698 +807786d8 0x807786d8 +807787dc 0x807787dc +807787e0 0x807787e0 +80778888 0x80778888 +807789fc 0x807789fc +80778a6c 0x80778a6c +80778c10 0x80778c10 +80778c98 0x80778c98 +80778d20 0x80778d20 +80778d88 0x80778d88 +807790d4 0x807790d4 +807793c8 0x807793c8 +807794d4 0x807794d4 +80779558 0x80779558 +80779560 0x80779560 +80779568 0x80779568 +807795a8 0x807795a8 +80779814 0x80779814 +80779854 0x80779854 +807799c8 nlListContainer__ct +807799d8 0x807799d8 +80779c64 0x80779c64 +80779d40 0x80779d40 +80779f24 0x80779f24 +8077a0e4 0x8077a0e4 +8077a204 0x8077a204 +8077a328 0x8077a328 +8077a34c 0x8077a34c +8077a3cc 0x8077a3cc +8077a8b4 0x8077a8b4 +8077a9c4 0x8077a9c4 +8077aa00 0x8077aa00 +8077aa40 0x8077aa40 +8077aabc 0x8077aabc +8077ac28 0x8077ac28 +8077b084 0x8077b084 +8077b0ec 0x8077b0ec +8077b204 0x8077b204 +8077b24c 0x8077b24c +8077b28c 0x8077b28c +8077b2d4 0x8077b2d4 +8077b314 0x8077b314 +8077b39c 0x8077b39c +8077b3a4 0x8077b3a4 +8077b3ac 0x8077b3ac +8077b3b0 0x8077b3b0 +8077b3bc 0x8077b3bc +8077b3c8 0x8077b3c8 +8077b3d4 0x8077b3d4 +8077b3e0 0x8077b3e0 +8077b3ec 0x8077b3ec +8077b5b0 0x8077b5b0 +8077b628 0x8077b628 +8077b62c 0x8077b62c +8077b630 0x8077b630 +8077b634 0x8077b634 +8077b83c 0x8077b83c +8077b88c 0x8077b88c +8077b958 0x8077b958 +8077b95c 0x8077b95c +8077b960 0x8077b960 +8077b9b0 0x8077b9b0 +8077b9f0 0x8077b9f0 +8077bb6c 0x8077bb6c +8077bb70 0x8077bb70 +8077bbe8 0x8077bbe8 +8077bbec 0x8077bbec +8077bc4c 0x8077bc4c +8077be58 0x8077be58 +8077be5c 0x8077be5c +8077bf60 0x8077bf60 +8077c1c0 0x8077c1c0 +8077c220 0x8077c220 +8077c2e4 0x8077c2e4 +8077c338 0x8077c338 +8077c340 0x8077c340 +8077c348 0x8077c348 +8077c34c 0x8077c34c +8077c350 0x8077c350 +8077c354 0x8077c354 +8077c358 0x8077c358 +8077c35c 0x8077c35c +8077c360 0x8077c360 +8077c368 0x8077c368 +8077c3b8 0x8077c3b8 +8077c430 0x8077c430 +8077c434 0x8077c434 +8077c4b4 0x8077c4b4 +8077c4f4 0x8077c4f4 +8077c534 Objects::Sin_ItemBox::__ct +8077c570 Objects::Sin_ItemBox::__dt +8077c5b0 Objects::Sin_ItemBox::OnStart +8077c690 Objects::Sin_ItemBox::Update +8077c7d4 0x8077c7d4 +8077c8e0 Objects::Sin_ItemBox::GetPropertiesBitfield +8077c8e8 obj_inseki::__ct +8077c9b8 0x8077c9b8 +8077c9f8 0x8077c9f8 +8077ca40 obj_inseki_update +8077cb48 0x8077cb48 +8077cb50 0x8077cb50 +8077cbb4 0x8077cbb4 +8077cbf4 0x8077cbf4 +8077ccb0 0x8077ccb0 +8077ccd8 0x8077ccd8 +8077ce3c 0x8077ce3c +8077cea0 0x8077cea0 +8077cfac 0x8077cfac +8077d01c 0x8077d01c +8077d030 0x8077d030 +8077d034 0x8077d034 +8077d038 0x8077d038 +8077d03c 0x8077d03c +8077d044 Objects::Fall::__ct +8077d37c Objects::Fall::__dt +8077d3bc Objects::Fall::OnStart +8077d3c0 Objects::Fall::Update +8077d4a4 0x8077d4a4 +8077d588 Objects::Fall::GetPropertiesBitfield +8077d590 Objects::W_Woodbox::__ct +8077d710 Objects::SubObjectArray::__dt +8077d788 Objects::SubObjectArray::vf_0x18 +8077d78c Objects::W_Woodbox::__dt +8077d80c Objects::W_Woodbox::OnStart +8077d844 0x8077d844 +8077d850 Objects::W_Woodbox::Update +8077d914 0x8077d914 +8077d9b8 Objects::W_Woodbox::Box::__ct +8077d9f4 Objects::W_Woodbox::Box::__dt +8077da50 Objects::W_Woodbox::Box::OnStart +8077dab0 Objects::W_Woodbox::Box::RespawnImpl +8077db08 Objects::W_Woodbox::Box::Update +8077dbd8 0x8077dbd8 +8077dc50 Objects::Woodbox::__ct +8077dc8c Objects::Woodbox::__dt +8077dce4 Objects::Woodbox::OnStart +8077dd24 Objects::Woodbox::LoadEffects +8077dd70 Objects::Woodbox::DropItem +8077ddbc Objects::Woodbox::Respawn +8077de1c Objects::Woodbox::UpdateRespawn +8077de4c Objects::Woodbox::UpdateRespawnImpl +8077df94 Objects::Woodbox::OnNormalCollision +8077e02c Objects::Woodbox::OnImperviousCollision +8077e0d8 Objects::Woodbox::OnNormalItemCollision +8077e174 Objects::Woodbox::OnImperviousItemCollision +8077e224 Objects::Woodbox::UpdateCollision +8077e334 Objects::W_Woodbox::UpdateModel +8077e338 Objects::W_Woodbox::LoadClipInfo +8077e33c Objects::W_Woodbox::LoadCollision +8077e340 Objects::W_Woodbox::LoadAnimations +8077e344 Objects::W_Woodbox::LoadModels +8077e348 Objects::W_Woodbox::GetPropertiesBitfield +8077e350 Objects::Woodbox::InitEntity +8077e3dc Objects::Woodbox::GetBRRESName +8077e3e8 Objects::Woodbox::GetSubFileName +8077e410 Objects::W_Woodbox::Box::GetPropertiesBitfield +8077e418 Objects::Woodbox::GetPropertiesBitfield +8077e420 Objects::SubObjectArray::CreateArray +8077e470 Objects::SubObjectArray::CreateArray(Heap) +8077e4e8 Objects::SubObjectArray::vf_0x14 +8077e4ec MiiRenderMgr::Disposer__dt +8077e5f0 MiiRenderMgr::CreateInstance +8077e67c MiiRenderMgr::DestroyInstance +8077e734 MiiRenderMgr::__ct +8077e794 0x8077e794 +8077e7d4 MiiRenderMgr::__dt +8077e898 MiiRenderMgr::Init2 +8077ebdc MiiRenderMgr::Init +8077ed50 MiiRenderMgr::CreateTextures +8077ee98 0x8077ee98 +8077ef34 MiiRenderMgr::SetPercentages +8077ef40 MiiRenderMgr::InitMenuModels +8077f2a8 0x8077f2a8 +8077f76c MiiRenderMgr::InitRaceModels +8077fa28 0x8077fa28 +8077fa88 0x8077fa88 +8077fc3c 0x8077fc3c +8077fd80 0x8077fd80 +8078010c 0x8078010c +80780124 0x80780124 +8078024c 0x8078024c +8078031c 0x8078031c +807803f4 0x807803f4 +8078053c 0x8078053c +80780578 MiiRenderMgr::InitLights +80780794 0x80780794 +807808fc MiiRenderMgr::AddMii +80780ae0 MiiRenderMgr::CreateMiisAndRender +80780bf0 MiiRenderMgr::CreateAndRenderFromMiis +80780d00 MiiRenderMgr::CreateAndDraw +80781234 0x80781234 +807815d8 0x807815d8 +80781680 MiiRenderMgr::SetMiiForModel +8078176c MiiRenderMgr::UpdateScreenFromTexture +80781924 0x80781924 +807819c8 MiiRenderMgr::RequestAddMii +80781a50 MiiRenderMgr::ProcessTopAddRequest +80781b04 MiiRenderMgr::DeleteMii +80781b94 MiiRenderMgr::ProcessAllAddRequests +80781c48 0x80781c48 +80781cd4 0x80781cd4 +80781e70 MiiRenderMgr::CalcWorldCB::ExecCallbackB +80781f1c MiiRenderMgr::CalcWorldCB::__dt +80781f5c 0x80781f5c +80782034 MiiRenderMgr::CalcWorldCB::ExecCallbackB(thunk) +8078203c MiiRenderMgr::CalcWorldCB::__dt +80782044 0x80782044 +80782054 0x80782054 +80782094 0x80782094 +80782098 0x80782098 +80782174 0x80782174 +80782280 0x80782280 +80782344 0x80782344 +807823e0 0x807823e0 +807824bc 0x807824bc +807825e0 Object::GetRaceinfoRandom +80782614 0x80782614 +807826bc 0x807826bc +80782764 0x80782764 +807827bc 0x807827bc +80782830 0x80782830 +807828c0 0x807828c0 +807829e0 RaceEndTallies::Disposer__dt +80782b0c RaceEndTallies::CreateInstance +80782bb4 RaceEndTallies::DestroyInstance +80782c68 RaceEndTallies::__dt +80782d0c RaceEndTallies::__ct +80782d88 RaceEndTallies::Init +80782f10 RaceEndTallies::Init_switch +80782f14 RaceEndTallies::Init_caseD_0 +80782f20 RaceEndTallies::Init_caseD_3 +80782f28 RaceEndTallies::Init_caseD_4 +80783074 RaceEndTallies::UpdateLicenseTallies +80783380 RaceEndTallies::Reset +807833c4 RaceEndTallies::SetVSBattleBool +8078341c RaceEndTallies::SetTotalDistance +80783434 RaceEndTallies::SetTotalDistanceVS +80783490 RaceEndTallies::SetCharacterAndKart +80783514 RaceEndTallies::SetCourseId +8078354c 0x8078354c +80783558 0x80783558 +80783560 0x80783560 +80783564 RaceEndTallies::SetWheelBool +8078364c RaceEndTallies::SetItemsTricksCounts +80783668 0x80783668 +807836bc 0x807836bc +80783714 0x80783714 +807838bc 0x807838bc +807839cc 0x807839cc +80783c34 0x80783c34 +80783cac 0x80783cac +80783d24 0x80783d24 +80783d28 0x80783d28 +80783d2c 0x80783d2c +80784028 0x80784028 +807842c4 0x807842c4 +80784600 0x80784600 +80784790 0x80784790 +80784828 0x80784828 +807848c0 0x807848c0 +80784944 0x80784944 +807849b8 0x807849b8 +80784a08 0x80784a08 +80784a80 0x80784a80 +80784a84 0x80784a84 +80784ad4 0x80784ad4 +80784b4c 0x80784b4c +80784b50 EntityManager::__dt +80784c48 EntityManager::CreateInstance +80784c98 EntityManager::DestroyInstance +80784d4c EntityManager::__ct +80784f44 0x80784f44 +80784fe8 0x80784fe8 +8078501c EntityManager::Update +807853f8 EntityManager::GetNextKartPlayer +80785460 EntityManager::GetNextObj +807854c8 EntityManager::GetNextObjectCollidable +80785530 EntityManager::GetNextObjectKCL +80785598 EntityManager::UpdateIndexes +807856bc EntityManager::InsertKartPlayer +807856d0 EntityManager::InsertItemEntity +807856e4 EntityManager::InsertObjectCollidable +8078578c EntityManager::InsertObjectKCL +807857a0 EntityManager::InsertEntity +80785be4 EntityManager::RemoveEntity +80785de0 EntityManager::PrepareFromEntity +80785f2c EntityManager::FindEntitiesCloseToEntity +80786180 EntityManager::PrepareFromSphere +807862cc EntityManager::FindEntitiesCloseToSphere +80786428 0x80786428 +807864cc EntityManager::IsPrepared +8078653c Entity::__ct +80786560 Entity::__dt +807865a0 Entity::Init +807865d8 Entity::MakeDynamic +807865e8 Entity::Resize +80786604 AreaMasker_ +80786614 EntityManager::Prepare +8078662c ClipInfoMgr::GetArea8And9GroupIDs +807866e8 ClipInfoMgr::UpdateScreenInfo +8078692c ClipInfoMgr::NormalizeVector +807869ac ClipInfoMgr::Disposer__dt +80786ad8 ClipInfoMgr::CreateInstance +80786ba4 ClipInfoMgr::DestroyInstance +80786c58 ClipInfoMgr::__ct +80786cf8 ClipScreenInfo::__ct +80786cfc ClipScreenInfo::__dt +80786d3c ClipInfoMgr::__dt +80786de0 ClipInfoMgr::Update +80787124 ClipInfoMgr::Insert +807871f4 0x807871f4 +8078720c ClipInfoMgr::CalcAreaType8Refs +80787244 ClipInfo::__ct +80787250 ClipInfo::__dt +80787290 ClipInfo::Init +80787370 0x80787370 +80787384 0x80787384 +807873bc 0x807873bc +807873f0 AwardsMgr::Disposer__dt +8078751c AwardsMgr::CreateInstance +8078764c AwardsMgr::DestroyInstance +80787700 AwardsMgr::__ct +80787804 AwardsMgr::__dt +807878a8 AwardsMgr::Init +80788674 AwardsMgr::LoadStand +807889ac AwardsMgr::LoadPlayers +80789200 0x80789200 +80789648 0x80789648 +80789840 0x80789840 +80789844 AwardsMgr::SetParams +80789904 0x80789904 +80789928 0x80789928 +80789d94 0x80789d94 +80789dd4 0x80789dd4 +80789f70 0x80789f70 +8078a14c 0x8078a14c +8078a324 0x8078a324 +8078a4f0 0x8078a4f0 +8078a940 0x8078a940 +8078abac 0x8078abac +8078ac3c IKParams::__ct +8078ae18 IKParams::Load +8078bfcc DriverMgr::Disposer__dt +8078c054 DriverMgr::CreateInstance +8078c0a4 DriverMgr::DestroyInstance +8078c0c8 DriverMgr::__ct +8078c490 DriverMgr::__dt +8078c5a4 0x8078c5a4 +8078c5b8 DriverMgr::SetController +8078c5c8 0x8078c5c8 +8078c610 0x8078c610 +8078c80c 0x8078c80c +8078c9e4 0x8078c9e4 +8078cab8 0x8078cab8 +8078cb2c 0x8078cb2c +8078cb38 0x8078cb38 +8078cc80 0x8078cc80 +8078cc88 0x8078cc88 +8078cdf0 0x8078cdf0 +8078ce54 DriverMgr::InitAwards +8078ce90 DriverMgr::Update +8078cfec 0x8078cfec +8078d054 0x8078d054 +8078d0fc 0x8078d0fc +8078d17c 0x8078d17c +8078d2d8 0x8078d2d8 +8078d420 0x8078d420 +8078d450 DriverMgr::ChangeFocusedPlayer +8078d460 0x8078d460 +8078d470 MHModelDirector::__ct +8078d4cc MHModelDirector::SetMatsTEVColors +8078d654 CourseMgr::CreateInstance +8078d790 CourseMgr::DestroyInstance +8078d81c CourseMgr::LoadModels +8078d9a8 0x8078d9a8 +8078dac0 0x8078dac0 +8078db54 CourseMgr::SetSoftWallInfo +8078db5c CourseMgr::UpdateKCL +8078dbf4 0x8078dbf4 +8078dd00 0x8078dd00 +8078de30 0x8078de30 +8078df58 0x8078df58 +8078df5c 0x8078df5c +8078e104 0x8078e104 +8078e16c 0x8078e16c +8078e314 0x8078e314 +8078e560 0x8078e560 +8078e7ac CourseMgr::IsCollidingNoTerrainInfoNoTriangleCheck +8078e98c CourseMgr::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +8078eb6c CourseMgr::IsColliding +8078edf0 CourseMgr::IsCollidingAddEntryNoTriangleCheck +8078f074 0x8078f074 +8078f21c 0x8078f21c +8078f3c4 0x8078f3c4 +8078f610 0x8078f610 +8078f85c CourseMgr::IsCollidingNoTerrainInfo +8078fa28 CourseMgr::IsCollidingAddEntryNoTerrainInfo +8078fbf4 0x8078fbf4 +8078fe64 CourseMgr::IsCollidingAddEntry +807900d4 0x807900d4 +8079012c _sinit_CourseMgr_cpp +8079013c MHModelDirector::__dt(thunk) +80790144 Item::LoadObjProperties +80790168 Item::InitAllObjProperties +80790488 Item::IsTT +80790494 Item::IsAwards +8079049c Item::GetDriverMgr +807904a8 Item::GetKMPObjectsCount +807904cc Item::GetGOBJHolder +807904d8 Item::GetKMPObjectId +807904e8 Item::ObjProperties::__ct(Copy) +80790624 Item::ObjProperties::ComputeCapacities +807908d8 0x807908d8 +8079094c 0x8079094c +807909c4 0x807909c4 +80790a3c 0x80790a3c +80790ab4 0x80790ab4 +80790b2c 0x80790b2c +80790ba0 0x80790ba0 +80790c14 0x80790c14 +80790cb0 0x80790cb0 +80790dcc Item::PlayerObj::__ct +80790e6c 0x80790e6c +80790eac Item::PlayerObj::Init +80790f7c Item::PlayerObj::UseItem +80791274 0x80791274 +80791334 0x80791334 +80791454 0x80791454 +80791464 0x80791464 +807914c8 Item::PlayerObj::UpdateParams +807917ac 0x807917ac +8079185c 0x8079185c +80791988 Item::PlayerObj::UpdateTetheredItems +80791b8c 0x80791b8c +80791c84 0x80791c84 +80792174 Item::PlayerObj::TrailPrepare +807922d4 Item::PlayerObj::TrailUpdate +80792634 0x80792634 +8079269c 0x8079269c +807927d0 0x807927d0 +80792848 Item::PlayerObj::TripleTrailPrepare +80792bd8 Item::PlayerObj::TripleTrailUpdate +80793570 0x80793570 +807935e0 0x807935e0 +8079385c Item::PlayerObj::SpinCalc +80793bc8 Item::PlayerObj::SpinPrepare +80793d00 Item::PlayerObj::SpinUpdate +807940d0 0x807940d0 +8079411c 0x8079411c +807941e4 0x807941e4 +80794218 0x80794218 +807942b0 0x807942b0 +80794388 0x80794388 +807944f4 Item::PlayerObj::CalcInitialObjSpeedAndDir +8079469c 0x8079469c +80794818 0x80794818 +80794948 0x80794948 +807949bc Item::PlayerObj::LoseItem +80794b44 0x80794b44 +80794c30 Item::PlayerObj::ComputeWheelPosRelativeToKart +80794cc8 0x80794cc8 +80794cd4 Item::PlayerObj::UpdateRemote +80794eb4 0x80794eb4 +807951cc 0x807951cc +807952ac 0x807952ac +8079530c 0x8079530c +80795334 Item::ObjHolder::__ct +80795338 Item::ObjHolder::Init +80795400 Item::ObjHolder::HideAll +80795470 Item::ObjHolder::Spawn +80795594 0x80795594 +807955d4 Item::ObjHolder::OnObjKillFinish +8079585c 0x8079585c +807959b4 Item::ObjHolder::SortObjs +80795adc Item::ObjHolder::Update +80795ff8 0x80795ff8 +80796014 0x80796014 +807960b4 0x807960b4 +8079619c Item::ObjHolder::UpdateModelPositions +80796228 Item::ObjHolder::OnFinishThrow +807962a4 0x807962a4 +8079630c Item::ObjHolder::ProcessRecvEVENT +807965dc Item::ObjHolder::ProcessRecvShootEVENT +807967ac Item::ObjHolder::ProcessRecvHitFreeEVENT +80796924 0x80796924 +80796a90 0x80796a90 +80796b18 Item::ObjHolder::GetTotalItemCount +80796b90 0x80796b90 +80796bb8 Item::Player::__ct +80796c08 0x80796c08 +80796c48 0x80796c48 +80796c88 0x80796c88 +80796cc8 Item::PlayerObj::__dt +80796d4c Item::Player::Init +80796efc 0x80796efc +80796f94 Item::Player::Update +80797850 0x80797850 +80797878 0x80797878 +807978b8 0x807978b8 +807978fc 0x807978fc +80797b48 0x80797b48 +80797bf0 0x80797bf0 +80797cb8 Item::Player::ActivateMushroom +80797cf0 Item::Player::ActivateStar +80797d20 Item::Player::ActivateMega +80797d50 Item::Player::ActivateBullet +80797d78 0x80797d78 +80797d7c 0x80797d7c +80797d94 0x80797d94 +80797e58 0x80797e58 +80797eb4 0x80797eb4 +80797f5c 0x80797f5c +80797f94 Item::Player::OnObjTetherEnd +80797ff8 0x80797ff8 +80798078 0x80798078 +8079809c Item::Player::LoseItemFromDmg +80798194 Item::Player::LoseTetheredItem +807981f8 0x807981f8 +807982a4 Item::Player::DecideItem +80798370 0x80798370 +80798378 0x80798378 +80798420 0x80798420 +80798428 Item::Player::HasTripleItem +807984ac 0x807984ac +80798578 Item::Player::GetHeldCount +807985f0 0x807985f0 +807985fc 0x807985fc +80798608 Item::Manager::Disposer__dt +807987a4 Item::Manager::CreateInstance +807987f4 Item::Manager::DestroyInstance +80798944 Item::Manager::__ct +80798b48 Item::ObjHolder::__dt +80798b88 Item::Player::__dt +80798c1c 0x80798c1c +80798c5c 0x80798c5c +80798c9c 0x80798c9c +80798cdc Item::Manager::__dt +80798e00 Item::Manager::Init +80798ebc Item::Manager::Update +8079900c Item::Manager::UpdateAllObjModelPos +80799064 Item::Manager::UpdateObjHolders +807990bc Item::Manager::UpdateTotalItemCountMinus30 +80799138 Item::Manager::UpdatePlayers +80799198 0x80799198 +80799254 Item::Manager::IsThereCapacityForItem +807992dc 0x807992dc +80799318 Item::Manager::CheckKartCollision +807994bc ItemManager::InitItemDirect +80799628 Item::Manager::CreateItemDirect +80799798 Item::Manager::GenerateItemDirect +80799904 Item::Manager::SpawnCloudForLocal +80799a24 Item::Manager::SpawnCloudForRemote +80799b04 0x80799b04 +80799be4 0x80799be4 +80799c60 Item::Manager::DoSomethingWithFIBObjTevColors +80799cc0 0x80799cc0 +80799cc8 Item::Manager::GetHeldCount +80799d3c 0x80799d3c +80799de4 Item::EVENTBuffer::Disposer__dt +80799f10 Item::EVENTBuffer::CreateInstance +8079a1d4 Item::EVENTBuffer::DestroyInstance +8079a288 0x8079a288 +8079a310 0x8079a310 +8079a32c 0x8079a32c +8079a39c Item::EVENTBuffer::GetPlayerIdFromBitfield +8079a3a4 Item::EVENTBuffer::FillOrExtractShootPos +8079a574 Item::EVENTBuffer::FillOrExtractPosDiff +8079a6e4 0x8079a6e4 +8079a978 0x8079a978 +8079a9a4 Item::EVENTBuffer::FillOrExtractBitfield +8079aa04 Item::EVENTBuffer::FillOrExtractTargetingShoot +8079aaac Item::EVENTBuffer::FillOrExtractBombShoot +8079ab18 Item::EVENTBuffer::FillOrExtractShoot +8079b400 Item::EVENTBuffer::UpdateSend +8079b53c Item::EVENTBuffer::UpdateReceive +8079b658 Item::EVENTBuffer::QueueSendEntry +8079b718 Item::EVENTBuffer::QueueReceivedEntry +8079b7e0 0x8079b7e0 +8079b88c Item::Obj::AddUseEVENTEntry +8079b950 Item::Obj::AddShootEVENTEntry +8079ba30 Item::Obj::AddHitFreeEVENTEntry +8079bb04 Item::Obj::AddHitDraggedEVENTEntry +8079bbc0 Item::Obj::AddTCLostPassEVENTEntry +8079bc8c Item::Obj::AddAction6EVENTEntry +8079bd50 Item::Obj::AddTCLostEndEVENTEntry +8079be30 Item::Obj::AddDropEVENTEntry +8079beec Item::Obj::GetHitFreeEntryPlayerIdAndType +8079bf04 0x8079bf04 +8079bf0c 0x8079bf0c +8079bf34 Item::EVENTBuffer::GetEntryBitfield +8079bf50 Item::EVENTBuffer::GetUSEPlayerId +8079bf58 0x8079bf58 +8079bf9c 0x8079bf9c +8079bfcc Item::Obj::SendOrExtractHitDraggedEVENT +8079c94c thunk_0x8079dee4 +8079ca48 Item::EVENTBuffer::__ct +8079cce0 Item::EVENTBuffer::__dt +8079cd84 0x8079cd84 +8079cd8c 0x8079cd8c +8079cdb0 0x8079cdb0 +8079cdb8 0x8079cdb8 +8079cdc0 0x8079cdc0 +8079cdc8 0x8079cdc8 +8079cdd0 0x8079cdd0 +8079cdd8 GetEVENTEntryDataLength +8079ce70 Item::Obj::InitSelf +8079ceb8 Item::Obj::CalcWorld::ExecCallbackB +8079cf28 Item::Obj::__ct +8079cf8c 0x8079cf8c +8079d068 Item::Obj::SpawnModel +8079d108 Item::Obj::PrepareLight +8079d2b0 0x8079d2b0 +8079d2cc 0x8079d2cc +8079d320 Item::Obj::SetInitialPosition +8079d328 Item::Obj::OnKill +8079d3d8 Item::Obj::OnTetherBreak +8079d3dc Item::Obj::OnFinishKill +8079d4a0 Item::Obj::ProcessRecvShootEVENT +8079d550 Item::Obj::vf_0x30 +8079d85c Item::Obj::vf_0x34 +8079d890 Item::Obj::Init +8079d96c Item::Obj::RemoveFromScn +8079d9f8 0x8079d9f8 +8079dbbc Item::Obj::Spawn +8079dc60 Item::Obj::Set +8079def0 Item::Obj::FinishKill +8079df60 0x8079df60 +8079e054 0x8079e054 +8079e0c4 0x8079e0c4 +8079e228 0x8079e228 +8079e2b0 0x8079e2b0 +8079e304 0x8079e304 +8079e388 0x8079e388 +8079e3b8 0x8079e3b8 +8079e420 0x8079e420 +8079e49c Item::Obj::RegisterEntity +8079e538 Item::Obj::UnregisterEntity +8079e54c 0x8079e54c +8079e658 Item::Obj::Update +8079ef20 0x8079ef20 +8079ef60 0x8079ef60 +8079efa0 0x8079efa0 +8079f2bc 0x8079f2bc +8079f3f0 0x8079f3f0 +8079f49c Item::Obj::TryDisappearDueToExcess +8079f518 0x8079f518 +8079f520 Item::Obj::CanDisappearFromDuration +8079f580 0x8079f580 +8079f5c8 Item::Obj::LoadGraphicsImplicitBRRESNoFunc +8079f610 Item::Obj::LoadGraphicsDefault +8079f648 Item::Obj::LoadGraphicsImplicitBRRES +8079f6ac Item::Obj::LoadGraphics +8079f9ec Item::Obj::LoadItemLight +8079fc3c Item::Obj::UpdateModelPosition +8079fc60 Item::Obj::UpdateModelPositionNoClip +8079fe24 Item::Obj::UpdateModelFromVecs +807a00d4 Item::Obj::UpdateShadow +807a0340 Item::Obj::UpdateModelFromQuat +807a0494 Item::Obj::OnObjCollision +807a06e0 0x807a06e0 +807a08c8 0x807a08c8 +807a0a08 0x807a0a08 +807a0b40 Item::Obj::CheckKartCollision +807a0cec 0x807a0cec +807a0ed0 0x807a0ed0 +807a0f58 Item::XZVecMag +807a0f68 Item::Obj::ProcessOtherCollision +807a1300 Item::Obj::CheckOtherObjsCollision +807a1544 0x807a1544 +807a18a0 0x807a18a0 +807a18bc 0x807a18bc +807a18dc 0x807a18dc +807a19b8 0x807a19b8 +807a1b64 0x807a1b64 +807a1bdc 0x807a1bdc +807a1c1c Item::Obj::UpdateWithClipping +807a2114 0x807a2114 +807a2454 0x807a2454 +807a24d4 0x807a24d4 +807a2548 0x807a2548 +807a256c 0x807a256c +807a2584 0x807a2584 +807a25a4 0x807a25a4 +807a25c4 0x807a25c4 +807a25e4 0x807a25e4 +807a25e8 0x807a25e8 +807a25f4 0x807a25f4 +807a2628 0x807a2628 +807a2730 0x807a2730 +807a276c 0x807a276c +807a27a8 0x807a27a8 +807a27e4 0x807a27e4 +807a282c Item::Obj::PrepareShootEventPacket +807a29dc Item::Obj::SendOrExtractShootEVENT +807a2a4c 0x807a2a4c +807a2ae0 0x807a2ae0 +807a2b38 0x807a2b38 +807a2bb0 0x807a2bb0 +807a2c1c 0x807a2c1c +807a2c84 0x807a2c84 +807a2cb4 0x807a2cb4 +807a2de8 0x807a2de8 +807a2dfc Item::Obj::OnPlayerCollision +807a2edc 0x807a2edc +807a2f4c 0x807a2f4c +807a2f50 Item::Obj::KillThunk +807a2f54 0x807a2f54 +807a2f58 0x807a2f58 +807a2f5c Item::ObjKouraGreen::UpdateThunk +807a2f60 Item::ObjKouraRed::UpdateThunk +807a2f64 Item::ObjKouraTogezo::UpdateThunk +807a2f68 Item::ObjBanana::UpdateThunk +807a2f6c Item::ObjBomb::UpdateThunk +807a2f70 Item::ObjFIB::UpdateThunk +807a2f74 Item::ObjKumo::UpdateThunk +807a2f78 0x807a2f78 +807a2f7c 0x807a2f7c +807a2f80 0x807a2f80 +807a2f84 0x807a2f84 +807a2f88 0x807a2f88 +807a2f8c 0x807a2f8c +807a2f90 0x807a2f90 +807a2f94 0x807a2f94 +807a2f98 0x807a2f98 +807a2f9c 0x807a2f9c +807a2fa0 0x807a2fa0 +807a2fa4 0x807a2fa4 +807a2fa8 0x807a2fa8 +807a2fac 0x807a2fac +807a2fb0 0x807a2fb0 +807a2fb4 0x807a2fb4 +807a2fb8 0x807a2fb8 +807a2fbc 0x807a2fbc +807a2fc0 0x807a2fc0 +807a2fe8 0x807a2fe8 +807a2ff0 0x807a2ff0 +807a2ff4 0x807a2ff4 +807a2ff8 0x807a2ff8 +807a3000 0x807a3000 +807a3040 Item::Obj::CalcWorldCB::__dt +807a3080 Item::Obj::CalcWorldCB::ExecCallbackB(thunk) +807a3088 Item::Obj::CalcWorldCB::__dt(thunk) +807a3090 Item::ObjBanana::CreateArray +807a310c 0x807a310c +807a314c 0x807a314c +807a318c 0x807a318c +807a31cc 0x807a31cc +807a320c 0x807a320c +807a324c Item::ObjBanana::SetInitialPosition +807a32ec 0x807a32ec +807a34e4 Item::ObjBanana::Update +807a3678 Item::ObjBanana::vf_0x30 +807a36dc Item::ObjBanana::InitSelf +807a375c Item::ObjBanana::SpawnModel +807a3760 Item::ObjBanana::OnKill +807a3830 Item::ObjBomb::CreateArray +807a39f0 0x807a39f0 +807a3a68 0x807a3a68 +807a3bc0 0x807a3bc0 +807a3c4c 0x807a3c4c +807a3da0 0x807a3da0 +807a3ebc Item::ObjBomb::__ct +807a4020 Item::ObjExplosion::__dt +807a4084 Item::ObjBomb::SetInitialPosition +807a41b4 0x807a41b4 +807a4348 Item::ObjBomb::Update +807a460c Item::ObjBomb::SendOrExtractShootEVENT +807a4678 Item::ObjBomb::vf_0x30 +807a46fc Item::ObjBomb::vf_0x34 +807a47b0 Item::ObjBomb::InitSelf +807a49ac Item::ObjBomb::UpdateModelPosition +807a504c Item::ObjBomb::UpdateModelPositionNoClip +807a508c 0x807a508c +807a513c 0x807a513c +807a51ec Item::ObjBomb::ToggleVisible +807a5230 Item::ObjBomb::SpawnModel +807a5368 Item::ObjBomb::PrepareLight +807a53b4 0x807a53b4 +807a53f4 0x807a53f4 +807a5510 0x807a5510 +807a55d8 Item::ObjBomb::OnKill +807a5764 Item::ObjBomb::OnTetherBreak +807a5808 Item::ObjBomb::OnFinishKill +807a5864 0x807a5864 +807a58b4 0x807a58b4 +807a58d8 Item::ObjBomb::__dt +807a5944 __sinit_ItemObjBomb_cpp +807a598c Item::ObjBomb::__dt(thunk) +807a5994 Item::Obj::KillObj +807a5b5c 0x807a5b5c +807a5bcc Item::Obj::KillFromOtherCollision +807a5c80 Item::Obj::KillFromPlayerCollision +807a5d6c Item::Obj::UpdateKill +807a5da4 0x807a5da4 +807a5f94 Item::ObjMiddle::__ct +807a5fe4 0x807a5fe4 +807a6064 0x807a6064 +807a6280 Item::Obj::DisappearDueToExcess +807a62fc 0x807a62fc +807a63f4 0x807a63f4 +807a6534 0x807a6534 +807a65d0 0x807a65d0 +807a65d8 0x807a65d8 +807a65e0 0x807a65e0 +807a6850 0x807a6850 +807a6918 0x807a6918 +807a69bc 0x807a69bc +807a6eb8 0x807a6eb8 +807a6f14 Item::ObjFIB::CreateArray +807a6fac Item::ObjFIB::SetInitialPosition +807a704c Item::ObjFIB::Update +807a70c8 Item::ObjFIB::vf_0x30 +807a712c Item::ObjFIB::InitSelf +807a73cc 0x807a73cc +807a73fc 0x807a73fc +807a7588 Item::ObjFIB::SpawnModel +807a7658 Item::ObjFIB::UpdateModelPosition +807a77a0 Item::ObjFIB::OnKill +807a77a4 Item::ObjGesso::CreateArray +807a7820 Item::Player::UseBlooper +807a79e4 Item::ObjGesso::InitSelf +807a7a00 0x807a7a00 +807a7a7c 0x807a7a7c +807a7acc Item::GessoScreen::__ct +807a7c60 Item::GessoScreen::__dt +807a7ca0 0x807a7ca0 +807a7d64 0x807a7d64 +807a7dbc Item::GessoScreen::UpdateModel +807a810c 0x807a810c +807a823c 0x807a823c +807a8278 0x807a8278 +807a82fc 0x807a82fc +807a83e4 0x807a83e4 +807a8570 Item::GessoMgr::CreateInstance +807a860c Item::GessoMgr::DestroyInstance +807a8644 Item::GessoMgr::Init +807a870c Item::GessoMgr::__ct +807a8794 Item::GessoMgr::DeployBlooper +807a891c Item::GessoMgr::Update +807a8d98 Item::GessoMgr::ApplyBlooper +807a90c4 __sinit_ItemObjGesso_cpp +807a90ec Item::ObjKiller::CreateArray +807a9168 Item::Player::UseBullet +807a91ac Item::ObjKiller::InitSelf +807a91c8 Item::ObjKiller::UpdateModelPosition +807a9304 __sinit_ItemObjKiller_cpp +807a932c Item::ObjKinoko::CreateArray +807a93a8 Item::Player::UseMushroom +807a93fc Item::ObjKinoko::InitSelf +807a9418 __sinit_ItemObjKinoko_cpp +807a9440 Item::ObjKinokoBig::CreateArray +807a94bc Item::Player::UseMegaMushroom +807a9510 Item::ObjKinokoBig::InitSelf +807a952c __sinit_ItemObjKinokoBig_cpp +807a9554 Item::ObjKinokoPowerful::CreateArray +807a95d0 Item::Player::UseGoldenMushroom +807a9618 Item::ObjKinokoPowerful::InitSelf +807a9634 __sinit_ItemObjKinokoPowerful_cpp +807a965c Item::ObjKouraRed::CreateArray +807a9824 Item::ObjKouraRed::__ct +807a99c4 0x807a99c4 +807a9a04 0x807a9a04 +807a9a88 0x807a9a88 +807a9b1c 0x807a9b1c +807a9bb4 0x807a9bb4 +807a9c18 0x807a9c18 +807a9c74 0x807a9c74 +807a9cf4 Item::ObjKouraRed::SetInitialPosition +807a9ee8 Item::ObjKouraRed::Update +807aa0c8 Item::ObjKouraRed::UpdateModelPosition +807aa168 Item::ObjKouraRed::UpdateModelPositionNoClip +807aa1f4 0x807aa1f4 +807aa234 0x807aa234 +807aa2ec 0x807aa2ec +807aa338 0x807aa338 +807aa3e4 0x807aa3e4 +807aa4c4 0x807aa4c4 +807aa4e4 0x807aa4e4 +807aa670 0x807aa670 +807aa690 0x807aa690 +807aa7ec 0x807aa7ec +807aa8a4 0x807aa8a4 +807aa9e8 0x807aa9e8 +807aa9f4 0x807aa9f4 +807aa9f8 Item::ObjKouraRed::InitSelf +807aaa78 Item::ObjKouraRed::SendOrExtractShootEVENT +807aab74 Item::ObjKouraRed::vf_0x30 +807aacc0 0x807aacc0 +807aadf4 Item::ObjKouraRed::OnKill +807aae7c Item::ObjKouraRed::OnFinishKill +807aaec0 Item::ObjKouraRed::SpawnModel +807aaf00 Item::ObjKouraRed::GetTargetedPlayerId +807aaf1c 0x807aaf1c +807aafd8 __sinit_ItemObjKouraRed_cpp +807ab044 0x807ab044 +807ab04c Item::ObjKouraTogezo::CreateArray +807ab280 Item::ObjKouraTogezo::__ct +807ab454 0x807ab454 +807ab4ec 0x807ab4ec +807ab550 0x807ab550 +807ab55c 0x807ab55c +807ab598 Item::ObjKouraTogezo::ToggleVisible +807ab5dc Item::ObjKouraTogezo::SpawnModel +807ab674 Item::ObjKouraTogezo::InitSelf +807ab814 Item::ObjKouraTogezo::CalcTargetedPlayerId +807abb08 Item::ObjKouraTogezo::Reset +807abc20 0x807abc20 +807abc60 0x807abc60 +807abca0 Item::ObjKouraTogezo::SetInitialPosition +807abe40 Item::ObjKouraTogezo::UpdateModelPosition +807ac058 Item::ObjKouraTogezo::UpdateModelPositionNoClip +807ac190 0x807ac190 +807ac488 0x807ac488 +807ac784 Item::ObjKouraTogezo::Update +807acc10 0x807acc10 +807acc58 Item::ObjKouraTogezo::UpdateRouteFlying +807ace50 Item::ObjKouraTogezo::807ad7e4 +807ace90 Item::ObjKouraTogezo::UpdateHomeIn +807acf80 0x807acf80 +807acfc4 Item::ObjKouraTogezo::UpdateDiveIn +807ad1c0 0x807ad1c0 +807ad274 0x807ad274 +807ad2c8 Item::ObjKouraTogezo::UpdateHover +807ad518 0x807ad518 +807ad580 0x807ad580 +807ad610 0x807ad610 +807ad7ec Item::ObjKouraTogezo::807ae180_ +807ad9b8 Item::ObjKouraTogezo::UpdateExplosion +807ada80 Item::ObjKouraTogezo::OnKill +807adbe0 Item::ObjKouraTogezo::OnFinishKill +807adc3c Item::ObjKouraTogezo::SendOrExtractShootEVENT +807add58 Item::ObjKouraTogezo::vf_0x30 +807adf14 0x807adf14 +807adf1c Item::ObjKouraTogezo::GetTargetedPlayerId +807adf54 0x807adf54 +807ae028 Item::ObjKouraGreen::__dt +807ae0e4 __sinit_ItemObjKouraTogezo_cpp +807ae150 Item::ObjKouraGreen::__dt(thunk) +807ae158 Item::ObjKouraGreen::CreateArray +807ae1d4 get_1 +807ae1e0 0x807ae1e0 +807ae1ec 0x807ae1ec +807ae1f8 0x807ae1f8 +807ae204 Item::ObjKouraGreen::SetInitialPosition +807ae2d0 Item::ObjKouraGreen::Update +807ae398 Item::ObjKouraGreen::UpdateModelPosition +807ae438 Item::ObjKouraGreen::UpdateModelPositionNoClip +807ae4c4 Item::ObjKouraGreen::SendOrExtractShootEVENT +807ae5a4 Item::ObjKouraGreen::vf_0x30 +807ae620 Item::ObjKouraGreen::InitSelf +807ae6a0 Item::ObjKouraGreen::OnKill +807ae728 Item::ObjKouraGreen::OnFinishKill +807ae76c Item::ObjKouraGreen::SpawnModel +807ae7ac Item::ObjKumo::CreateArray +807ae828 Item::Player::UseTC +807ae86c Item::ObjKumo::SpawnModel +807ae8a0 0x807ae8a0 +807aea08 Item::ObjKumo::UpdateModelPosition +807aeba0 Item::ObjKumo::InitSelf +807aec0c 0x807aec0c +807aedd8 Item::ObjKumo::Update +807afe2c 0x807afe2c +807aff60 0x807aff60 +807affcc Item::ObjKumo::OnFinishKill +807b005c 0x807b005c +807b01b8 0x807b01b8 +807b05d4 0x807b05d4 +807b0774 0x807b0774 +807b0878 0x807b0878 +807b0884 0x807b0884 +807b088c 0x807b088c +807b08a8 Item::ObjKumo::OnKill +807b0970 0x807b0970 +807b0cac 0x807b0cac +807b0f08 0x807b0f08 +807b0fbc 0x807b0fbc +807b1090 0x807b1090 +807b10b0 0x807b10b0 +807b10d8 0x807b10d8 +807b1100 0x807b1100 +807b111c Item::ObjPow::CreateArray +807b1198 Item::Player::UsePow +807b1210 Item::ObjPow::InitSelf +807b122c Item::PowMgr::CreateInstance +807b12d8 0x807b12d8 +807b12dc Item::PowMgr::DestroyInstance +807b1314 Item::PowMgr::Init +807b1384 Item::PowMgr::__ct +807b141c 0x807b141c +807b1420 Item::PowMgr::DeployPow +807b1558 Item::PowMgr::AnimateModel +807b1728 Item::PowMgr::CreateShockwave +807b1964 Item::PowMgr::Update +807b1ae0 0x807b1ae0 +807b1b5c 0x807b1b5c +807b1bac Item::PowScreen::__ct +807b1e68 0x807b1e68 +807b1ed4 0x807b1ed4 +807b1ef0 0x807b1ef0 +807b1f90 0x807b1f90 +807b1fec 0x807b1fec +807b2048 Item::PowScreen::UpdateModel +807b2280 0x807b2280 +807b23d0 0x807b23d0 +807b24fc Item::PowMgr::IsPowActive +807b2518 Item::PowMgr::GetFramesUntilPOWSmash +807b252c Item::PowMgr::GetPowUserPlayerId +807b253c __sinit_ItemObjPow_cpp +807b2564 0x807b2564 +807b2580 0x807b2580 +807b25c0 0x807b25c0 +807b2e88 0x807b2e88 +807b3218 0x807b3218 +807b32f8 0x807b32f8 +807b341c 0x807b341c +807b352c 0x807b352c +807b3558 Item::ObjKouraTogezoBase::ResetTargeting +807b3568 Item::ObjKouraTogezoBase::SpawnModel +807b35a8 0x807b35a8 +807b3648 0x807b3648 +807b3a48 0x807b3a48 +807b3a6c 0x807b3a6c +807b3a9c 0x807b3a9c +807b3c1c Item::ObjKouraTogezo::AcquireTarget +807b3e7c 0x807b3e7c +807b3ee4 0x807b3ee4 +807b3fb0 0x807b3fb0 +807b4150 0x807b4150 +807b4398 0x807b4398 +807b46d4 0x807b46d4 +807b4760 0x807b4760 +807b47e4 0x807b47e4 +807b4998 0x807b4998 +807b4a60 0x807b4a60 +807b4af0 0x807b4af0 +807b4b60 0x807b4b60 +807b570c 0x807b570c +807b57b4 0x807b57b4 +807b5838 0x807b5838 +807b5924 0x807b5924 +807b5b64 0x807b5b64 +807b5c78 0x807b5c78 +807b5d5c 0x807b5d5c +807b5e88 0x807b5e88 +807b5f7c Item::ObjThrowable::OnFinishThrow +807b6204 0x807b6204 +807b6268 KouraGreen_07b6bfc_ +807b65c0 0x807b65c0 +807b665c Item::ObjStar::CreateArray +807b66d8 Item::Player::UseStar +807b672c Item::ObjStar::InitSelf +807b6748 __sinit_ItemObjStar_cpp +807b6770 Item::ObjThrowable::SetInitialPositionImpl +807b6b40 0x807b6b40 +807b6bdc 0x807b6bdc +807b70b4 0x807b70b4 +807b7110 0x807b7110 +807b716c Item::ObjThunder::CreateArray +807b71e8 Item::Player::UseThunder +807b7270 Item::ObjThunder::InitSelf +807b728c Item::ObjThunder::ApplyToPlayers +807b73e0 __sinit_ItemObjThunder_cpp +807b7408 0x807b7408 +807b74c4 0x807b74c4 +807b74d8 0x807b74d8 +807b75c8 0x807b75c8 +807b767c 0x807b767c +807b774c 0x807b774c +807b7bb8 0x807b7bb8 +807b7c78 ItemPathManager_createInstance +807b7fe8 0x807b7fe8 +807b8050 0x807b8050 +807b8108 Player_UpdateItemPoint +807b859c Item::Point_update2 +807b8760 0x807b8760 +807b8850 0x807b8850 +807b9040 0x807b9040 +807b90a4 0x807b90a4 +807b9190 0x807b9190 +807b927c 0x807b927c +807b92dc 0x807b92dc +807b9440 Item::GetQuatFromMat +807b94bc 0x807b94bc +807b9530 0x807b9530 +807b95b4 Item::PlayerRoulette::__ct +807b95c0 0x807b95c0 +807b95ec Item::PlayerRoulette::Init +807b961c Item::PlayerRoulette::DecideItem +807b989c 0x807b989c +807b9944 Item::PlayerRoulette::OnRouletteEnd +807b99bc 0x807b99bc +807b99e8 Item::PlayerRoulette::Update +807b9bd8 0x807b9bd8 +807b9c28 0x807b9c28 +807b9c3c 0x807b9c3c +807b9c44 0x807b9c44 +807b9cbc Item::SlotData::Disposer__dt +807b9de8 Item::SlotData::CreateInstance +807b9e80 Item::SlotData::DestroyInstance +807b9f34 Item::SlotData::__ct +807b9fa0 Item::SlotData::__dt +807ba044 Item::SlotData::ProcessTable +807ba374 Item::SlotData::GetNextTable +807ba38c Item::SlotData::PostProcessVSTable +807ba4ec 0x807ba4ec +807ba540 Item::SlotData::RandomizeRouletteItem +807ba5b4 Item::SlotData::Init +807ba9e0 Item::SlotData::RouletteItems::__ct +807ba9ec Item::ItemSlotData::CanItemNotBeObtained +807baa98 Item::SlotData::DecideItem +807baf3c Item::SlotData::DecideRouletteItem +807bb028 Item::SlotData::ResetShockTimer +807bb034 Item::SlotData::ResetBlueShellTimer +807bb040 Item::SlotData::ResetBlooperTimer +807bb04c Item::SlotData::ResetPowTimer +807bb058 Item::SlotData::UpdateTimers +807bb100 Item::SlotData::GetBinary +807bb16c Item::SlotData::SetupBattleModeProbabilities +807bb3cc Item::SlotData::SetupOnlineVSProbabilities +807bb504 0x807bb504 +807bb564 Item::SlotData::SetupVSProbabilities +807bb66c Item::SlotData::SetupGPProbabilities +807bb764 Item::PlayerInventory::__ct +807bb768 0x807bb768 +807bb79c Item::PlayerInventory::Init +807bb7dc 0x807bb7dc +807bb924 0x807bb924 +807bb9bc Item::PlayerInventory::EjectItems +807bbc7c Item::PlayerInventory::LoseItemFromDmg +807bbd54 Item::PlayerInventory::Update +807bbe9c 0x807bbe9c +807bbf74 0x807bbf74 +807bbfac Item::PlayerInventory::SetItem +807bbfe8 Item::PlayerInventory::RemoveItems +807bc02c Item::PlayerInventory::ClearAll +807bc060 0x807bc060 +807bc11c 0x807bc11c +807bc13c 0x807bc13c +807bc14c Item::InitAllBehavior +807bc83c DriverMgr::SetParams +807bc87c DriverMgr::SetParams_switch +807bc880 DriverMgr::SetParams_caseD_2 +807bc89c DriverMgr::SetParams_caseD_3 +807bc8b8 DriverMgr::SetParams_caseD_7 +807bc8d4 DriverMgr::SetParams_caseD_9 +807bc8f0 DriverMgr::SetParams_caseD_0 +807bc908 DriverMgr::SetParams_caseD_1 +807bc9ac SomeTimers_update +807bc9e0 0x807bc9e0 +807bcc28 DriverMgr::IsPlayerComputer +807bcd50 0x807bcd50 +807bcd84 DriverMgr::GetRaceinfoRandom +807bcdd4 0x807bcdd4 +807bcdf8 0x807bcdf8 +807bce20 CollisionInfo::ObjInfo::Init +807bce44 CollisionInfo::ObjInfo::Set +807bce7c 0x807bce7c +807bcebc CollisionInfo::ObjInfo::AreItemsAllowedOnObj +807bced0 CollisionInfo::ObjInfo::SetDistanceCalcBit +807bcef8 CollisionInfo::ObjInfo::CalcInitialDistance +807bcf24 0x807bcf24 +807bcf40 0x807bcf40 +807bcf54 CollisionInfo::ObjInfo::Update +807bcf74 CollisionInfo::ObjInfo::UpdateWithRot +807bcf9c CollisionInfo::ObjInfo::Reset +807bcfc0 0x807bcfc0 +807bcfd8 KCLTypeHolder::FindClosestCollisionEntry +807bd054 0x807bd054 +807bd0e8 KCLTypeHolder::Reset +807bd108 KCLTypeHolder::ApplyFlagAndRegisterEntry +807bd154 0x807bd154 +807bd194 KCLTypeHolder::ReplaceBLIGHTIndex +807bd1c8 KCLTypeHolder::ReplaceKCLVariant +807bd1fc KCLTypeHolder::ReplaceWheelDepth +807bd230 KCLTypeHolder::ReplaceTrickableBit +807bd264 KCLTypeHolder::ReplaceRejectBit +807bd298 KCLTypeHolder::ReplaceSoftBit +807bd2c8 KCLController::__ct +807bd3e8 0x807bd3e8 +807bd428 KCLController::__dt +807bd468 0x807bd468 +807bd5c0 0x807bd5c0 +807bd69c KCLController::FindTrianglesList +807bd798 KCLController::FindTrianglesListAndProcessNewRadius +807bda30 0x807bda30 +807beb2c 0x807beb2c +807bf850 0x807bf850 +807bfef0 KCLController::IsCollidingImpl +807c056c KCLController::IsCollidingFromCurCopyPosition +807c0b80 KCLController::IsCollidingImplInfY +807c1178 0x807c1178 +807c1220 KCLController::GetTrianglesList +807c12f8 0x807c12f8 +807c1454 KCLController::GetTrianglesListReuse +807c15ec 0x807c15ec +807c1618 0x807c1618 +807c1860 0x807c1860 +807c1a7c KCLController::IsColliding +807c1aa8 0x807c1aa8 +807c1b2c KCLController::Update +807c1c38 0x807c1c38 +807c1c9c 0x807c1c9c +807c1ccc CollisionInfo::Init +807c1d18 0x807c1d18 +807c1e90 KCLManager::CreateInstance +807c1ef0 KCLManager::DestroyInstance +807c1f44 KCLManager::Load +807c1f94 0x807c1f94 +807c1fa8 KCLManager::Update +807c2050 0x807c2050 +807c2070 0x807c2070 +807c20cc 0x807c20cc +807c2244 KCLManager::IsCollidingFillInfoNoTerrainInfo +807c240c 0x807c240c +807c2584 KCLManager::IsCollidingFillInfoAddEntryNoTerrainInfo +807c274c 0x807c274c +807c28c4 KCLManager::IsCollidingFillInfo +807c2bc0 0x807c2bc0 +807c2d38 KCLManager::IsCollidingFillInfoAddEntry +807c3034 KCLManager::IsCollidingNoTerrainInfoNoTriangleCheck +807c31c8 KCLManager::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807c335c KCLManager::IsColliding +807c34f0 KCLManager::IsCollidingAddEntryNoTriangleCheck +807c3684 0x807c3684 +807c3810 0x807c3810 +807c399c 0x807c399c +807c3b28 0x807c3b28 +807c3cb4 KCLManager::IsCollidingNoTerrainInfo +807c3e5c KCLManager::IsCollidingAddEntryNoTerrainInfo +807c4004 0x807c4004 +807c41ac KCLManager::IsCollidingAddEntry +807c4354 ObjectKCLController::__ct +807c43d8 ObjectKCLController::__dt +807c4434 ObjectKCLController::Update +807c44b8 0x807c44b8 +807c44e8 0x807c44e8 +807c4518 0x807c4518 +807c46d8 0x807c46d8 +807c4898 0x807c4898 +807c4a10 0x807c4a10 +807c4b88 ObjectKCLController::CalcCollisionNoTerrainInfoNoTriangleCheck +807c4d64 ObjectKCLController::CalcCollisionAddEntryNoTerrainInfoNoTriangleCheck +807c4f40 ObjectKCLController::CalcCollision +807c50d4 ObjectKCLController::CalcCollisionAddEntryNoTriangleCheck +807c5268 0x807c5268 +807c5440 0x807c5440 +807c5618 0x807c5618 +807c57a8 0x807c57a8 +807c5938 ObjectKCLController::CalcCollisionNoTerrainInfo +807c5b2c ObjectKCLController::CalcCollisionAddEntryNoTerrainInfo +807c5d20 0x807c5d20 +807c5ecc ObjectKCLController::CalcCollisionAddEntry +807c6078 0x807c6078 +807c6080 0x807c6080 +807c608c 0x807c608c +807c60a4 0x807c60a4 +807c60b0 0x807c60b0 +807c6104 0x807c6104 +807c6108 0x807c6108 +807c6144 0x807c6144 +807c61dc 0x807c61dc +807c6234 0x807c6234 +807c6270 0x807c6270 +807c6388 0x807c6388 +807c64d0 0x807c64d0 +807c6578 0x807c6578 +807c65a8 0x807c65a8 +807c66f8 DriverControllerBones::__ct +807c6720 0x807c6720 +807c6760 DriverControllerBones::__dt +807c67a0 DriverControllerBones::SetBoneName +807c67c4 DriverControllerBones::SetNode +807c6844 DriverMgr::InitiateDriverControllerBoneNames +807c69c4 0x807c69c4 +807c69d0 DriverController::__ct +807c6e50 0x807c6e50 +807c6e54 0x807c6e54 +807c6e94 DriverController::LoadModels +807c74e8 DriverController::LoadBones +807c7c90 0x807c7c90 +807c7dc4 DriverController::Load +807c8c98 0x807c8c98 +807c8eac 0x807c8eac +807c8eb0 0x807c8eb0 +807c9690 0x807c9690 +807c96d4 0x807c96d4 +807c9724 0x807c9724 +807c9d50 0x807c9d50 +807ca110 0x807ca110 +807ca1f8 0x807ca1f8 +807ca3d4 0x807ca3d4 +807ca4ec 0x807ca4ec +807ca4f8 0x807ca4f8 +807ca734 DriverController::Init +807ca79c DriverControllerBike::Init +807ca804 0x807ca804 +807ca9b8 0x807ca9b8 +807ca9cc DriverController::Update +807cab9c 0x807cab9c +807cb384 0x807cb384 +807cb38c 0x807cb38c +807cb390 0x807cb390 +807cb524 0x807cb524 +807cb684 PlayerModel_setAnimation +807cb7dc 0x807cb7dc +807cb7e0 0x807cb7e0 +807cc4e4 0x807cc4e4 +807cc4f4 0x807cc4f4 +807cc504 0x807cc504 +807cc514 0x807cc514 +807cc524 0x807cc524 +807cc534 0x807cc534 +807cc544 0x807cc544 +807cc554 0x807cc554 +807cc564 0x807cc564 +807cc574 0x807cc574 +807cc584 0x807cc584 +807cc594 0x807cc594 +807cc998 0x807cc998 +807cd0e0 0x807cd0e0 +807cd264 0x807cd264 +807cd28c 0x807cd28c +807cd310 0x807cd310 +807cd338 DriverControllerBike::__ct +807cd374 DriverController::__dt +807cd424 0x807cd424 +807cd580 0x807cd580 +807cd7fc 0x807cd7fc +807cd8dc 0x807cd8dc +807cd9f8 0x807cd9f8 +807cdc10 0x807cdc10 +807cdd3c 0x807cdd3c +807ce2b4 0x807ce2b4 +807ce340 0x807ce340 +807ceb7c 0x807ceb7c +807cef8c 0x807cef8c +807cefcc 0x807cefcc +807cf05c 0x807cf05c +807cfbc0 0x807cfbc0 +807cfdb0 0x807cfdb0 +807cfe5c 0x807cfe5c +807cff04 0x807cff04 +807cffa4 0x807cffa4 +807cffb8 0x807cffb8 +807d01c8 MiiDriverModel::UpdateParams +807d03d4 0x807d03d4 +807d04dc 0x807d04dc +807d05e4 0x807d05e4 +807d0b20 0x807d0b20 +807d0b70 0x807d0b70 +807d0d88 0x807d0d88 +807d0f58 0x807d0f58 +807d1034 0x807d1034 +807d10cc 0x807d10cc +807d1248 0x807d1248 +807d1264 0x807d1264 +807d1280 0x807d1280 +807d12ac 0x807d12ac +807d12c8 0x807d12c8 +807d12e4 0x807d12e4 +807d1300 0x807d1300 +807d131c 0x807d131c +807d1338 0x807d1338 +807d1354 0x807d1354 +807d1370 0x807d1370 +807d14a0 0x807d14a0 +807d15ec 0x807d15ec +807d1688 0x807d1688 +807d16a4 0x807d16a4 +807d16d0 0x807d16d0 +807d170c 0x807d170c +807d1728 0x807d1728 +807d174c 0x807d174c +807d1780 0x807d1780 +807d179c 0x807d179c +807d17b8 0x807d17b8 +807d17d4 0x807d17d4 +807d17f8 0x807d17f8 +807d1814 0x807d1814 +807d1830 0x807d1830 +807d1864 DriverController::CreateModelDirectors +807d1df0 0x807d1df0 +807d1e04 0x807d1e04 +807d1fac 0x807d1fac +807d2114 0x807d2114 +807d2198 0x807d2198 +807d21d4 0x807d21d4 +807d2220 0x807d2220 +807d2414 0x807d2414 +807d2448 0x807d2448 +807d2450 0x807d2450 +807d2458 0x807d2458 +807d24e4 0x807d24e4 +807d2570 0x807d2570 +807d2618 0x807d2618 +807d26c0 0x807d26c0 +807d2710 0x807d2710 +807d2760 0x807d2760 +807d276c 0x807d276c +807d27f4 0x807d27f4 +807d296c 0x807d296c +807d2970 0x807d2970 +807d2980 0x807d2980 +807d299c 0x807d299c +807d29f8 0x807d29f8 +807d2ac4 0x807d2ac4 +807d2e20 0x807d2e20 +807d2e3c 0x807d2e3c +807d2e88 0x807d2e88 +807d2ed4 0x807d2ed4 +807d2fd8 0x807d2fd8 +807d33c4 0x807d33c4 +807d34d4 0x807d34d4 +807d357c 0x807d357c +807d3590 0x807d3590 +807d35c4 DriverControllerBike::__dt +807d3678 0x807d3678 +807d3954 DriverLimbs::__ct +807d3c54 DriverCalcWorldCB::__dt +807d3c94 0x807d3c94 +807d3d10 0x807d3d10 +807d3d6c 0x807d3d6c +807d3f70 0x807d3f70 +807d3f98 0x807d3f98 +807d40ac 0x807d40ac +807d40b8 0x807d40b8 +807d410c 0x807d410c +807d4160 0x807d4160 +807d418c 0x807d418c +807d4374 0x807d4374 +807d4cec 0x807d4cec +807d4dcc DriverLimbs::ExecCallbackA +807d4fb0 0x807d4fb0 +807d5104 DriverLimbs::ExecCallbackB +807d51a4 0x807d51a4 +807d54fc 0x807d54fc +807d5a4c DriverLimbs::ExecCallbackC +807d5c28 0x807d5c28 +807d5eb0 0x807d5eb0 +807d6054 DriverLimbs::CalcLeftArm +807d6194 DriverLimbs::CalcRightArm +807d6318 DriverLimbs::CalcLeftLeg +807d64cc 0x807d64cc +807d6548 0x807d6548 +807d65c4 DriverLimbs::CalcRightLeg +807d6778 0x807d6778 +807d6ac4 0x807d6ac4 +807d6bf4 0x807d6bf4 +807d6d54 0x807d6d54 +807d6e40 0x807d6e40 +807d6ff8 0x807d6ff8 +807d7670 0x807d7670 +807d7950 0x807d7950 +807d7c70 0x807d7c70 +807d7cf4 0x807d7cf4 +807d7d78 0x807d7d78 +807d7dfc 0x807d7dfc +807d8060 0x807d8060 +807d849c 0x807d849c +807d85f4 0x807d85f4 +807d86a4 0x807d86a4 +807d8754 0x807d8754 +807d87a0 0x807d87a0 +807d8838 0x807d8838 +807d8cf4 0x807d8cf4 +807d8da0 0x807d8da0 +807d8da8 0x807d8da8 +807d8db8 DriverLimbs::ExecCallbackC(thunk) +807d8dc0 DriverLimbs::ExecCallbackB(thunk) +807d8dc8 DriverLimbs::ExecCallbackA(thunk) +807d8dd0 DriverLimbs::__dt(thunk) +807d8dd8 DriverController::GetBoneMatId +807d8e04 DriverCalcWorldCB::__ct +807d9058 DriverCalcWorldCB::ExecCallbackB +807d9178 DriverCalcWorldCB::ExecCallbackC +807d91ec DriverCalcWorldCB::ExecCallbackC(thunk) +807d91f4 DriverCalcWorldCB::ExecCallbackB(thunk) +807d91fc DriverCalcWorldCB::__dt(thunk) +807d9204 TicoModel::__ct +807d93d0 TicoModel::Update +807d9a78 0x807d9a78 +807d9be4 TicoModel::UpdateKartPosition +807d9c2c ToadetteHair::__ct(ResFile, ModelDirector) +807d9f60 ToadetteHair::__ct(DriverController) +807da2bc 0x807da2bc +807da370 0x807da370 +807da670 0x807da670 +807da674 0x807da674 +807da694 ToadetteHair::ToggleLock +807da6a8 ToadetteHair::CalcWorldCB::ExecCallbackC +807db290 ToadetteHair::__dt +807db2e8 ToadetteHair::CalcWorldCB::__dt +807db328 ToadetteHair::CalcWorldCB::ExecCallbackC(thunk) +807db330 ToadetteHair::CalcWorldCB::__dt(thunk) +807db338 0x807db338 +807db3ec MiiHeadsModel::__ct(Mii) +807db478 MiiHeadsModel::__ct(miiIdx, r9) +807db534 0x807db534 +807db5e8 0x807db5e8 +807db628 MiiHeadsModel::__ct(Mii, r9) +807db6b4 MiiHeadsModel::Init +807db918 0x807db918 +807db92c MiiHeadsModel::UpdateParams +807db944 0x807db944 +807db95c 0x807db95c +807dba54 MiiHeadsModel::SetExpression +807dbaa8 MiiHeadsModel::SetExpression_switch +807dbaac MiiHeadsModel::SetExpression_caseD_5 +807dbaf8 MiiHeadsModel::SetExpression_caseD_6 +807dbb44 MiiHeadsModel::SetExpression_caseD_7 +807dbb90 MiiHeadsModel::SetExpression_caseD_4 +807dbbdc MiiHeadsModel::SetExpression_caseD_2 +807dbc28 MiiHeadsModel::SetExpression_caseD_1 +807dbc74 MiiHeadsModel::SetExpression_caseD_0 +807dbcc0 MiiHeadsModel::SetExpression_caseD_3 +807dbd34 0x807dbd34 +807dbe50 0x807dbe50 +807dbecc MiiHeadsModel::__dt +807dbf24 0x807dbf24 +807dbf34 0x807dbf34 +807dbfbc 0x807dbfbc +807dc0ac 0x807dc0ac +807dc19c 0x807dc19c +807dc28c 0x807dc28c +807dc2cc 0x807dc2cc +807dc30c 0x807dc30c +807dc34c 0x807dc34c +807dc38c 0x807dc38c +807dc3cc 0x807dc3cc +807dc40c 0x807dc40c +807dc4e4 0x807dc4e4 +807dc5bc 0x807dc5bc +807dc694 0x807dc694 +807dc76c 0x807dc76c +807dc844 0x807dc844 +807dc91c 0x807dc91c +807dcc24 0x807dcc24 +807dcf2c 0x807dcf2c +807dd234 0x807dd234 +807dd53c 0x807dd53c +807dd844 0x807dd844 +807ddb4c 0x807ddb4c +807ddcac lim_sprintf +807ddd54 0x807ddd54 +807dde14 0x807dde14 +807dde8c 0x807dde8c +807ddec4 0x807ddec4 +807ddf24 0x807ddf24 +807ddfa0 0x807ddfa0 +807de190 0x807de190 +807de238 0x807de238 +807de380 PSMTXRotRad +807de4f8 0x807de4f8 +807de670 0x807de670 +807de7e8 0x807de7e8 +807de8cc 0x807de8cc +807dea30 0x807dea30 +807dea9c 0x807dea9c +807debd8 0x807debd8 +807decfc 0x807decfc +807dee20 0x807dee20 +807dee74 MinimapMgr::Disposer__dt +807def74 MinimapMgr::CreateInstance +807df070 MinimapMgr::DestroyInstance +807df13c MinimapMgr::__ct +807df20c 0x807df20c +807df210 MinimapMgr::Load +807df510 0x807df510 +807df550 MinimapMgr::__dt +807df610 MinimapMgr::TryDraw +807df694 MinimapMgr::Draw +807dfbe8 MinimapMgr::ApplyAREAType5 +807dff48 0x807dff48 +807dff4c 0x807dff4c +807dff50 MinimapMgr::Convert3DPosToPercent +807dffa8 CtrlMenuBattleCupSelectCup::GetClassName +807dffb4 CtrlMenuBattleCupSelectStage::GetClassName +807dffc4 CtrlMenuBattleCupSelectCup::Load +807e01bc CtrlMenuBattleCupSelectCup::OnInit +807e02fc CtrlMenuBattleCupSelectCup::OnCupButtonSelect +807e03cc CtrlMenuBattleCupSelectCup::OnCupButtonClick +807e042c CtrlMenuBattleCupSelectStage::Load +807e0550 CtrlMenuBattleCupSelectStage::UpdateStageList +807e063c CtrlMenuBattleCupSelectStage::InitSelf +807e0740 CtrlMenuBattleCupSelectStage::OnUpdate +807e08b4 CtrlMenuBattleCupSelectStage::GetRuntimeTypeInfo +807e08c0 CtrlMenuBattleCupSelectCup::GetRuntimeTypeInfo +807e08cc CtrlMenuBattleCup::_sinit_ +807e08e8 CtrlMenuBattleStageSelectCupSub::GetClassName +807e08f4 CtrlMenuBattleStageSelectCup::GetClassName +807e0904 CtrlMenuBattleStageSelectStage::GetClassName +807e0914 StageButton::GetClassName +807e0924 CtrlMenuBattleStageSelectCup::Load +807e0ab0 CtrlMenuBattleStageSelectCup::InitSelf +807e0bb4 CtrlMenuBattleStageSelectCupSub::SetRelativePosition +807e0c38 CtrlMenuBattleStageSelectCupSub::InitSelf +807e0cd4 CtrlMenuBattleStageSelectCupSub::OnUpdate +807e13e4 Pages::BattleStageSelect::GetManipulatorManager +807e13ec CtrlMenuBattleStageSelectStage::Load +807e153c CtrlMenuBattleStageSelectStage::InitSelf +807e1920 CtrlMenuBattleStageSelectStage::OnStageButtonClick +807e1978 CtrlMenuBattleStageSelectStage::OnStageButtonSelect +807e1b74 CtrlMenuBattleStageSelectStage::GetRuntimeTypeInfo +807e1b80 StageButton::GetRuntimeTypeInfo +807e1b8c CtrlMenuMovieButton::GetMovieCount +807e1b94 CtrlMenuBattleStageSelectCup::GetRuntimeTypeInfo +807e1ba0 CtrlMenuBattleStageSelectCupSub::GetRuntimeTypeInfo +807e1bac CtrlMenuBattleStage_cpp_sinit_ +807e1bd8 CtrlMenuMovieButton::OnUpdate(PushButton) +807e1be0 CtrlMenuMovieButton::InitSelf(PushButton) +807e1be8 CtrlMenuMovieButton::OnLoad(PushButton) +807e1bf0 StageButton::__dt(PushButton) +807e1bf8 StageButton::GetClassName(PushButton) +807e1c00 StageButton::GetRuntimeTypeInfo(PushButton) +807e1c08 CtrlMenuCharacterSelect::GetClassName +807e1c14 CtrlMenuCharacterSelect::Load +807e1e74 CtrlMenuCharacterSelect::ButtonDriver::__ct +807e1eb0 CtrlMenuCharacterSelect::ButtonDriver::__dt +807e1f08 CtrlMenuCharacterSelect::GetUnlockedStatus +807e1f94 CtrlMenuCharacterSelect::LoadButton +807e2384 CtrlMenuCharacterSelect::InitSelf +807e2718 CtrlMenuCharacterSelect::OnUpdate +807e2c1c CtrlMenuCharacterSelect::GetButtonDriver +807e2c68 CtrlMenuCharacterSelect::OnButtonClick +807e2d60 CtrlMenuCharacterSelect::OnButtonSelect +807e2e40 CtrlMenuCharacterSelect::OnButtonDeselect +807e2eec CtrlMenuCharacterSelect::OnMiiButtonClick +807e3038 CtrlMenuCharacterSelect::OnMiiButtonSelect +807e3118 CtrlMenuCharacterSelect::OnMiiButtonDeselect +807e31c4 CtrlMenuCharacterSelect::OnMultiplayerMiiSelected +807e3258 CtrlMenuCharacterSelect::GetUnlockedCharacterCountByWeight +807e3318 CtrlMenuCharacterSelect::GetCorrectButtonDriverId +807e346c CtrlMenuCharacterSelect::ButtonDriver::GetClassName +807e347c CtrlMenuCharacterSelect::ButtonDriver::InitSelf +807e3518 CtrlMenuCharacterSelect::ButtonDriver::SetPositionAnim +807e3568 CtrlMenuCharacterSelect::ButtonDriver::ResetButtonColours +807e379c CtrlMenuCharacterSelect::ButtonDriver::SetButtonColours +807e3a40 CtrlMenuCharacterSelect::GetRuntimeTypeInfo +807e3a4c CtrlMenuCharacterSelect::ButtonDriver::GetRuntimeTypeInfo +807e3a58 CtrlMenuCharacterSelect_cpp_sinit_ +807e3a7c CtrlMenuCourseSelectCupSub::GetClassName +807e3a88 CtrlMenuCourseSelectCup::GetClassName +807e3a98 CtrlMenuCourseSelectCourse::GetClassName +807e3aa8 CourseButton::GetClassName +807e3ab8 CtrlMenuCourseSelectCup::Load +807e3c2c CtrlMenuCourseSelectCup::InitSelf +807e3db0 CtrlMenuCourseSelectCupSub::SetRelativePosition +807e3e34 CtrlMenuCourseSelectCupSub::InitSelf +807e3ed0 CtrlMenuCourseSelectCupSub::OnUpdate +807e45e0 Pages::CourseSelect::GetManipulatorManager +807e45e8 CtrlMenuCourseSelectCourse::Load +807e4784 CtrlMenuCourseSelectCourse::InitSelf +807e4aa0 CtrlMenuCourseSelectCourse::OnCourseButtonClick +807e4af8 CtrlMenuCourseSelectCourse::OnCourseButtonSelect +807e4c64 CtrlMenuCourseSelectCourse::GetRuntimeTypeInfo +807e4c70 CourseButton::GetRuntimeTypeInfo +807e4c7c CtrlMenuCourseSelectCup::GetRuntimeTypeInfo +807e4c88 CtrlMenuCourseSelectCupSub::GetRuntimeTypeInfo +807e4c94 CtrlMenuCoursecpp_sinit_ +807e4cc0 CourseButton::__dt(PushButton) +807e4cc8 0x807e4cc8 +807e4cd0 CourseButton::GetRuntimeTypeInfo(PushButton) +807e4cd8 CtrlMenuCupSelectCup::GetClassName +807e4ce4 CtrlMenuCupSelectCourse::GetClassName +807e4cf4 CtrlMenuCupSelectCup::Load +807e4f00 CtrlMenuCupSelectCup::InitSelf +807e52c4 CtrlMenuCupSelectCup::OnCupButtonSelect +807e53d4 CtrlMenuCupSelectCup::OnCupButtonClick +807e5434 CtrlMenuCupSelectCup::IsCupUnlocked +807e5538 CtrlMenuCupSelectCourse::Load +807e565c CtrlMenuCupSelectCourse::UpdateTrackList +807e5748 CtrlMenuCupSelectCourse::InitSelf +807e584c CtrlMenuCupSelectCourse::OnUpdate +807e5a40 CtrlMenuCupSelectCourse::GetRuntimeTypeInfo +807e5a4c CtrlMenuCupSelectCup::GetRuntimeTypeInfo +807e5a58 CtrlMenuCupcpp_sinit_ +807e5a74 0x807e5a74 +807e5a80 0x807e5a80 +807e5a90 0x807e5a90 +807e5cd8 0x807e5cd8 +807e5e88 0x807e5e88 +807e5fa8 0x807e5fa8 +807e6008 0x807e6008 +807e6190 0x807e6190 +807e627c 0x807e627c +807e639c 0x807e639c +807e63a0 0x807e63a0 +807e63ac 0x807e63ac +807e63b8 0x807e63b8 +807e63d4 CtrlMenuMRStageSelectLevelSub::GetClassName +807e63e0 CtrlMenuMRStageSelectLevel::GetClassName +807e63f0 CtrlMenuMRStageSelectStage::GetClassName +807e6400 MRStageButton::GetClassName +807e6410 MissionStageSelectLevel::OnInit +807e65dc 0x807e65dc +807e66fc 0x807e66fc +807e6754 0x807e6754 +807e67b0 CtrlMenuMRStageSelectLevelSub::OnUpdate +807e6a0c 0x807e6a0c +807e6a14 MissionStageSelectStage::OnInit +807e6c48 0x807e6c48 +807e6e20 0x807e6e20 +807e6e78 0x807e6e78 +807e7024 0x807e7024 +807e7030 0x807e7030 +807e703c 0x807e703c +807e7048 CtrlMenuMRStageSelectLevelSub::GetRuntimeTypeInfo +807e7054 0x807e7054 +807e7080 0x807e7080 +807e7088 0x807e7088 +807e7090 0x807e7090 +807e7098 CtrlMenuMachineGraph::GetClassName +807e70a4 CtrlMenuMachineGraph::Load +807e73f4 MachineAbility::__ct +807e7430 MachineAbility::__dt +807e7488 CtrlMenuMachineGraph::OnUpdate +807e748c CtrlMenuMachineGraph::OnLoad +807e75b0 MachineAbility::InitSelf +807e7784 CtrlMenuMachineGraph::GetRuntimeTypeInfo +807e7790 CtrlMenuMachineGraph_cpp_sinit +807e77a4 CtrlMenuMovieHandler::Toggle +807e77f4 CtrlMenuMovieHandler::IsMirror +807e793c CtrlMenuMovieButton::GetPaneNames +807e7948 CtrlMenuMovieLayout::GetPaneNames +807e7954 CtrlMenuSingleTopMovieButton::GetPaneNames +807e7960 CtrlMenuMovieButton::GetClassName +807e796c CtrlMenuMovieButton::OnLoad +807e7b14 MovieScale::__ct +807e7b18 CtrlMenuMovieButton::InitSelf +807e7d04 CtrlMenuMovieButton::OnUpdate +807e7e08 CtrlMenuSingleTopMovieButton::GetClassName +807e7e18 CtrlMenuSingleTopMovieButton::OnLoad +807e7fc0 CtrlMenuSingleTopMovieButton::GetMovieCount +807e7fc8 CtrlMenuSingleTopMovieButton::InitSelf +807e81b4 CtrlMenuSingleTopMovieButton::OnUpdate +807e82b8 CtrlMenuMovieLayout::GetClassName +807e82c8 CtrlMenuMovieLayout::OnLoad +807e8470 CtrlMenuMovieLayout::GetMovieCount +807e8478 CtrlMenuMovieLayout::InitSelf +807e8664 CtrlMenuMovieLayout::OnUpdate +807e8768 CtrlMenuMovieLayout::GetRuntimeTypeInfo +807e8774 CtrlMenuSingleTopMovieButton::GetRuntimeTypeInfo +807e8780 CtrlMenuSingleTopMovieButton::__dt +807e87dc CtrlMenuMovieButton::GetRuntimeTypeInfo +807e87e8 CtrlMenuMovie_cpp_sinit_ +807e8810 CtrlMenuMovieButton::__dt(PushButton) +807e8818 CtrlMenuMovieButton::GetClassName(PushButton) +807e8820 CtrlMenuMovieButton::GetRuntimeTypeInfo(PushButton) +807e8828 CtrlMenuSingleTopMovieButton::OnUpdate(PushButton) +807e8830 CtrlMenuSingleTopMovieButton::InitSelf(PushButton) +807e8838 CtrlMenuSingleTopMovieButton::OnLoad(PushButton) +807e8840 CtrlMenuSingleTopMovieButton::__dt(PushButton) +807e8848 CtrlMenuSingleTopMovieButton::GetClassName(PushButton) +807e8850 CtrlMenuSingleTopMovieButton::GetRuntimeTypeInfo(PushButton) +807e8858 CtrlMenuMovieLayout::OnUpdate(LayoutUIControl) +807e8860 CtrlMenuMovieLayout::InitSelf(LayoutUIControl) +807e8868 CtrlMenuMovieLayout::__dt(LayoutUIControl) +807e8870 CtrlMenuMovieLayout::GetClassName(LayoutUIControl) +807e8878 CtrlMenuMovieLayout::GetRuntimeTypeInfo(LayoutUIControl) +807e8880 CtrlMenuBackButton::GetClassName +807e888c CtrlMenuDummyBack::GetClassName +807e889c CtrlMenuPageTitleText::GetClassName +807e88ac CtrlMenuInstructionText::GetClassName +807e88bc CtrlMenuObiTop::GetClassName +807e88cc CtrlMenuObiBottom::GetClassName +807e88dc CtrlMenuBackButton::OnUpdate +807e8a24 CtrlMenuBackButton::OnInit +807e8a7c CtrlMenuBackButton::SetPositionAnim +807e8ae8 CtrlMenuPageTitleTextText::Load +807e8c7c CtrlMenuBackButton::SetPlayerBitfield +807e8c8c CtrlMenuDummyBack::Load +807e8d90 CtrlMenuDummyBack::OnUpdate +807e8ee8 CtrlMenuPageTitleText::SetMessage +807e8f04 CtrlMenuPageTitleText::SetPositionAnim +807e8f70 CtrlMenuInstructionText::Load +807e9008 CtrlMenuInstructionText::SetPositionAnim +807e90a4 CtrlMenuInstructionText::SetMessage +807e90d4 CtrlMenuObiTop::SetPositionAnim +807e912c 0x807e912c +807e9184 0x807e9184 +807e91dc 0x807e91dc +807e91e8 CtrlMenuObiTop::__dt +807e9240 CtrlMenuObiTop::GetRuntimeTypeInfo +807e924c 0x807e924c +807e9258 CtrlMenuPageTitleText::GetRuntimeTypeInfo +807e9264 CtrlMenuDummyBack::GetRuntimeTypeInfo +807e9270 CtrlMenuBackButton::GetRuntimeTypeInfo +807e927c CtrlMenuText_cpp_sinit_ +807e92b0 CtrlMenuPressStart::GetClassName +807e92bc CtrlMenuPressStart::InitSelf +807e9338 CtrlMenuPressStart::OnUpdate +807e933c CtrlMenuPressStart::Load +807e93fc CtrlMenuPressStart::GetRuntimeTypeInfo +807e9408 CtrlMenuPressStart_cpp_sinit_ +807e941c CtrlMenuTeamConfirmTeam::GetClassName +807e942c CtrlMenuTeamConfirmTeam::Load +807e95c8 CtrlMenuTeamConfirmTeam::InitSelf +807e98ac CtrlMenuTeamConfirmTeam::GetRuntimeTypeInfo +807e98b8 CtrlMenuTeamConfirmTeam_cpp_sinit_ +807e98dc CtrlRace2DMap::GetClassName +807e98e8 CtrlRace2DMap::Load +807e9f08 CtrlRace2DMapCharacer::__ct +807e9f44 CtrlRaceBase::__dt +807e9f9c CtrlRace2DMapObject::__dt +807e9ff8 CtrlRace2DMapCharacter::__dt +807ea058 CtrlRace2DMapBossObj::__ct +807ea094 CtrlRace2DMapBossObj::__dt +807ea0f4 CtrlRace2DMapObject::SetMapPosition +807ea110 CtrlRace2DMapObject::SetMapRotation +807ea12c CtrlRace2DMap::InitSelf +807ea1a8 CtrlRace2DMap::OnUpdate +807ea1b8 zz_807eab4c +807ea288 CtrlRace2DMapObject::GetClassName +807ea298 CtrlRace2DMapObject::InitSelf +807ea2e8 CtrlRace2DMapObject::GetPaneName +807ea2f4 CtrlRace2DMapObject::OnUpdate +807ea368 CtrlRace2DMapObject::CalculatePosition +807ea45c CtrlRace2DMapCharacter::GetClassName +807ea46c CtrlRace2DMapCharacer::Load +807ea538 CtrlRace2DMapCharacter::InitSelf +807ea8bc CtrlRace2DMapCharacer::OnUpdate +807eaa38 CtrlRace2DMapCharacter::CalculatePosition +807eb064 CtrlRace2DMapBossObj::GetClassName +807eb074 CtrlRace2DMapBossObj::Load +807eb0cc CtrlRace2DMapBossObj::InitSelf +807eb3bc CtrlRace2DMapBossObj::OnUpdate +807eb4ac CtrlRaceBase::GetPane +807eb4b4 CtrlRace2DMapBossObj::GetPaneName +807eb4c0 CtrlRace2DMapBossObj::GetRuntimeTypeInfo +807eb4cc CtrlRace2DMapCharacter::GetPaneName +807eb4d8 CtrlRace2DMapCharacter::GetRuntimeTypeInfo +807eb4e4 CtrlRace2DMapObject::GetRuntimeTypeInfo +807eb4f0 CtrlRace2DMap::__dt +807eb54c CtrlRace2DMap::GetRuntimeTypeInfo +807eb558 CtrlRace2DMap_cpp_sinit_ +807eb580 CtrlRaceBase::GetClassName +807eb58c CtrlRaceBase::HudSlotColorEnable +807eb878 CtrlRaceBase::SetPanePosition +807eb978 CtrlRaceBase::setPausingPhase +807eba1c CtrlRaceBase::IsInactive +807eba30 CtrlRaceBase::HasStarted +807eba4c CtrlRaceBase::UpdatePausePosition +807ebd54 CtrlRaceBase::InitSelf +807ebe64 CtrlRaceBase::GetPlayerId +807ebf58 CtrlRaceBase::GetRuntimeTypeInfo +807ebf64 0x807ebf64 +807ebf78 CtrlRaceBattleAddPoint::GetClassName +807ebf84 CtrlRaceBattleAddPoint::Load +807ec018 CtrlRaceBattleAddPoint::InitSelf +807ec0f8 CtrlRaceBattleAddPoint::OnUpdate +807ec3f4 CtrlRaceBattlePoint::GetClassName +807ec404 CtrlRaceBattlePoint::SetPanePosition +807ec5c8 0x807ec5c8 +807ec618 CtrlRaceBattlePoint::SetPositionAnim +807ec704 CtrlRaceBattlePoint::Init +807ec7a0 CtrlRaceBattlePoint::OnUpdate +807ec85c CtrlRaceBattlePoint::Load +807ec8c4 CtrlRaceBattleTotalPoint::GetClassName +807ec8d4 CtrlRaceBattleTotalPoint::Init +807ec9d0 CtrlRaceBattleTotalPoint::OnUpdate +807ed054 CtrlRaceBattleTotalPoint::Load +807ed1f0 CtrlRaceBattleTotalPoint::__dt +807ed24c CtrlRaceBattleTotalPoint::GetRuntimeTypeInfo +807ed258 CtrlRaceBattlePoint::__dt +807ed2b4 CtrlRaceBattlePoint::GetRuntimeTypeInfo +807ed2c0 CtrlRaceBattleAddPoint::GetRuntimeTypeInfo +807ed2cc CtrlRaceBattleAddPoint::__dt +807ed328 CtrlRaceBattlePoint_cpp_sinit_ +807ed404 CtrlRaceBattleSetPoint::GetClassName +807ed410 CtrlRaceBattleSetPoint::Load +807ed524 CtrlRaceBattleSetPoint::InitSelf +807ed844 CtrlRaceBattleSetPoint::__dt +807ed89c CtrlRaceBattleSetPoint::GetRuntimeTypeInfo +807ed8a8 CtrlRaceBattleSetPoint_cpp_sinit_ +807ed8bc CtrlRaceCount::GetClassName +807ed8c8 CtrlRaceCount::Load +807ed978 CtrlRaceCount::Init +807ed9c4 CtrlRaceCount::OnUpdate +807eda08 CtrlRaceCount::IsFadingIn +807eda40 CtrlRaceCount::FadeIn +807eda78 CtrlRaceCount::__dt +807edad4 CtrlRaceCount::GetRuntimeTypeInfo +807edae0 CtrlRaceCount_cpp_sinit +807edaf4 CtrlRaceGhostDiffTime::GetClassName +807edb00 CtrlRaceGhostDiffTime::Init +807edbb4 CtrlRaceGhostDiffTime::OnUpdate +807ede2c CtrlRaceGhostDiffTime::AddTimers +807edecc CtrlRaceGhostDiffTime::SubtractTimers +807edf4c CtrlRaceGhostDiffTime::Load +807edffc CtrlRaceGhostDiffTime::__dt +807ee080 CtrlRaceGhostDiffTime::GetRuntimeTypeInfo +807ee08c CtrlRaceGhostDiffTime_cpp_sinit +807ee0a0 CtrlRaceItemWindow::GetClassName +807ee0ac CtrlRaceItemWindow::Init +807ee478 CtrlRaceItemWindow::IsInactive +807ee540 CtrlRaceItemWindow::HasStarted +807ee5d0 CtrlRaceItemWindow::OnUpdate +807eeb34 CtrlRaceItemWindow::Load +807eeb9c CtrlRaceItemWindow::AnimateItemIcon +807eeccc CtrlRaceItemWindow::__dt +807eed28 CtrlRaceItemWindow::GetRuntimeTypeInfo +807eed34 CtrlRaceItemWindow_cpp_sinit_ +807eed48 CtrlRaceLap::GetClassName +807eed54 CtrlRaceLap::Init +807eee7c CtrlRaceLap::OnUpdate +807eef3c CtrlRaceLap::Load +807eefe8 CtrlRaceLap::__dt +807ef044 CtrlRaceLap::GetRuntimeTypeInfo +807ef050 CtrlRaceLap_cpp_sinit_ +807ef060 CtrlRaceLive::getClassName +807ef06c CtrlRaceLive::initLayout +807ef0dc screenElement_setupPauseMovement +807ef0e0 0x807ef0e0 +807ef0e4 CtrlRaceLiveMessage::getClassName +807ef0f4 CtrlRaceLiveMessage::initLayout +807ef148 CtrlRaceLiveMessage::onInit +807ef1fc CtrlRaceLiveMessage::onUpdate +807ef28c CtrlRaceLiveMessage::__dt +807ef2e8 CtrlRaceLiveMessage::getInstance +807ef2f4 CtrlRaceLive::__dt +807ef350 0x807ef350 +807ef35c __sinit_CtrlRaceLive_cpp +807ef378 CtrlRaceNameBalloon:GetClassName +807ef384 CtrlRaceNameBalloon::Load +807ef534 CtrlRaceNameBalloon::InitSelf +807ef6b0 CtrlRaceNameBalloon::UpdateInfo +807efd54 CtrlRaceNameBalloon::OnUpdate +807f039c 0x807f039c +807f0540 0x807f0540 +807f0604 0x807f0604 +807f0700 CtrlRaceNameBalloon::UpdatePosition +807f0998 RaceBalloons::Update +807f11f8 0x807f11f8 +807f125c 0x807f125c +807f12a0 RaceBalloons::AddNameBalloon +807f12bc RaceBalloons::AddItemBalloon +807f12c4 RaceBalloons::__ct +807f13b0 RaceBalloons::Init +807f1410 0x807f1410 +807f1420 RaceBalloons::OnItemObjTargeting +807f1590 0x807f1590 +807f15ac CtrlRaceItemBalloon::GetClassName +807f15bc CtrlRaceItemBalloon::Load +807f1784 CtrlRaceItemBalloon::InitSelf +807f1928 CtrlRaceItemBalloon::OnUpdate +807f21e0 0x807f21e0 +807f22f0 0x807f22f0 +807f2b58 CtrlRaceItemBalloon::UpdateIcon +807f2cf8 CtrlRaceItemBalloon::UpdatePositionForPlayer +807f33d4 0x807f33d4 +807f3bbc 0x807f3bbc +807f3cec 0x807f3cec +807f3d2c 0x807f3d2c +807f3e28 CtrlRaceItemBalloon::__dt +807f3e80 CtrlRaceItemBalloon::GetRuntimeTypeInfo +807f3e8c CtrlRaceNameBalloon::__dt +807f3ee4 CtrlRaceNameBalloon::GetRuntimeTypeInfo +807f3ef0 0x807f3ef0 +807f3f5c CtrlRaceRankNum::GetClassName +807f3f68 CtrlRaceRankNum::Init +807f4074 CtrlRaceRankNum::OnUpdate +807f4220 CtrlRaceRankNum::Load +807f43ac CtrlRaceRankNum::IsInactive +807f444c CtrlRaceRankNum::__dt +807f44a8 CtrlRaceRankNum::GetRuntimeTypeInfo +807f44b4 CtrlRaceRankNum_cpp_sinit_ +807f44c8 CtrlRaceResult::GetClassName +807f44d4 CtrlRaceResult::Load +807f4638 0x807f4638 +807f4840 0x807f4840 +807f4960 CtrlRaceResult::FillName +807f4aac 0x807f4aac +807f4ab8 0x807f4ab8 +807f4d40 CtrlRaceResult::FillScore +807f4e08 0x807f4e08 +807f4fc8 CtrlRaceResult::FillFinishTime +807f50b8 CtrlRaceResult::Init +807f50bc CtrlRaceResult::OnUpdate +807f5390 CtrlRaceResult::807f5d24 +807f5498 0x807f5498 +807f558c CtrlRaceResult::GetBRCTRName +807f5608 CtrlRaceResult::CanEnd +807f5658 CtrlRaceResult::Fill +807f5afc CtrlRaceResult::__dt +807f5b54 CtrlRaceResult::GetRuntimeTypeInfo +807f5b60 CtrlRaceResult_cpp_sinit_ +807f5b7c CtrlRaceResultTeam::GetClassName +807f5b88 CtrlRaceResultTeam::Load +807f6050 CtrlRaceResultTeam::InitSelf +807f6624 CtrlRaceResultTeam::OnUpdate +807f6890 CtrlRaceResultTeam::IsResultAnimDone +807f6a2c CtrlRaceResultTeam::ComparePlayers +807f6ac4 CtrlResultAddPoint::GetClassName +807f6ad4 CtrlResultAddPoint::Load +807f6bfc CtrlResultAddPoint::InitSelf +807f6c50 CtrlResultAddPoint::OnUpdate +807f6c6c 0x807f6c6c +807f6cc0 CtrlResultAddPoint::GetRuntimeTypeInfo +807f6ccc CtrlRaceResultTeam::GetRuntimeTypeInfo +807f6cd8 CtrlResultAddPoint::__dt +807f6d34 CtrlRaceResultTeam_cpp_sinit_ +807f6d58 CtrlRaceScore::GetClassName +807f6d64 CtrlRaceScore::InitSelf +807f6eb8 CtrlRaceScore::OnUpdate +807f6f80 CtrlRaceScore::Load +807f6fdc CtrlRaceScore::SetMessage +807f71b4 CtrlRaceScore::__dt +807f7210 CtrlRaceScore::GetRuntimeTypeInfo +807f721c CtrlRaceScore_cpp_sinit_ +807f7230 CtrlRaceTime::GetClassName +807f723c CtrlRaceTime::__ct +807f72d8 CtrlRaceTime::InitSelf +807f74d0 CtrlRaceTime::GetPlayerMaxLap +807f74ec CtrlRaceTime::GetPlayerId +807f7520 CtrlRaceTime::GetRacedata +807f752c CtrlRaceTime::OnUpdate +807f78d8 CtrlRaceTime::GetParentPageId +807f78e0 CtrlRaceTime::GetParentPage +807f78ec CtrlRaceTime::IsPaused +807f78f4 CtrlRaceTime::GetCurSection +807f7904 CtrlRaceTime::GetSectionId +807f7918 CtrlRaceTime::FillTimerGlobal +807f7928 CtrlRaceTime::HasPlayerFinished +807f7948 CtrlRaceTime::FillLapSplitTimer +807f7960 CtrlRaceTime::IsBattle +807f798c CtrlRaceTime::CheckTimer +807f79cc CtrlRaceTime::IsTimerInvalid +807f79ec CtrlRaceTime::ResetTimer +807f7a10 CtrlRaceTime::IsOnlineVS +807f7a30 CtrlRaceTime::IsModeFlag4 +807f7a3c CtrlRaceTime::IsPlayerLast +807f7a5c CtrlRaceTime::FillFinishTimeTimer +807f7a98 CtrlRaceTime::Load +807f7b2c CtrlRaceTime::SetTimer +807f7dd4 CtrlRaceTime::SetPositionAnim +807f7eac CtrlRaceTime::DisableFlashingAnimation +807f7ee4 CtrlRaceTime::EnableFlashingAnimation +807f7f1c CtrlRaceTime::Func_0x5c +807f7f24 CtrlRaceTime::Func_0x58 +807f7f2c CtrlRaceTime::OnDefocus +807f7f54 CtrlRaceTime::OnFocus +807f7f78 CtrlRaceTime::__dt +807f7fd4 CtrlRaceTime::GetRuntimeTypeInfo +807f7fe0 CtrlRaceTime_cpp_sinit_ +807f7ff4 CtrlRaceWifiStartMessage::GetClassName +807f8000 CtrlRaceWifiStartMessage::Load +807f8210 CtrlRaceWifiStartMessage::HasStarted +807f8244 CtrlRaceWifiStartMessage::IsInactive +807f8254 CtrlRaceWifiStartMessage::SetPanePosition +807f82a0 CtrlRaceWifiStartMessage::OnUpdate +807f82b0 CtrlRaceWifiFinishMessage::GetClassName +807f82c0 CtrlRaceWifiFinishMessage::Load +807f8374 CtrlRaceWifiFinishMessage::HasStarted +807f83f4 CtrlRaceWifiFinishMessage::IsInactive +807f83fc CtrlRaceWifiFinishMessage::SetPanePosition +807f85f8 CtrlRaceWifiFinishMessage::OnUpdate +807f8608 CtrlRaceWaitSymbol::GetClassName +807f8618 CtrlRaceWaitSymbol::Load +807f86d4 CtrlRaceWaitSymbol::HasStarted +807f8708 CtrlRaceWaitSymbol::IsInactive +807f8718 CtrlRaceWaitSymbol::SetPanePosition +807f8764 CtrlRaceWaitSymbol::OnUpdate +807f8774 CtrlRaceWaitSymbol::GetPane +807f877c CtrlRaceWaitSymbol::__dt +807f87d8 CtrlRaceWaitSymbol::GetRuntimeTypeInfo +807f87e4 CtrlRaceWifiFinishMessage::GetPane +807f87ec CtrlRaceWifiFinishMessage::__dt +807f8848 CtrlRaceWifiFinishMessage::GetRuntimeTypeInfo +807f8854 CtrlRaceWifiStartMessage::GetPane +807f885c CtrlRaceWifiStartMessage::__dt +807f88b8 CtrlRaceWifiStartMessage::GetRuntimeTypeInfo +807f88c4 CtrlRaceWifi_cpp_sinit_ +807f88e4 GeoHitTableHolder::__ct +807f89b4 GeoHitTableHolder::__dt +807f89f4 Objects::Airblock::__ct +807f8a90 Objects::Airblock::__ct(Vec3s) +807f8b38 Objects::Airblock::OnStart +807f8be8 ObjectCollisionPolyhedra::GetRadius +807f8bf0 Objects::Airblock::LoadCollision +807f8d10 Objects::Airblock::UpdateCollision +807f8ddc Objects::Airblock::vf_0xb4 +807f8ea8 Objects::Airblock::GetCollisionDiameter +807f8ed0 Objects::Airblock::IsCollidingNoTerrainInfo +807f8ed4 Objects::Airblock::IsCollidingAddEntryNoTerrainInfo +807f8ed8 Objects::Airblock::vf_0xfc +807f8edc Objects::Airblock::IsCollidingAddEntry +807f8ee0 Objects::Airblock::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807f8ef0 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807f8f00 Objects::Airblock::IsColliding(no radius) +807f8f10 Objects::Airblock::IsCollidingNoTriangleCheck(no radius) +807f8f20 Objects::Airblock::IsCollidingNoTerrainInfoNoTriangleCheck +807f8f24 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807f8f28 Objects::Airblock::IsColliding +807f8f2c Objects::Airblock::IsCollidingNoTriangleCheck +807f8f30 Objects::Airblock::vf_0xc0 +807f8f40 Objects::Airblock::vf_0xc4 +807f8f50 Objects::Airblock::vf_0xc8 +807f8f60 Objects::Airblock::vf_0xcc +807f8f70 Objects::Airblock::Update +807f8f74 Objects::Airblock::GetPropertiesBitfield +807f8f7c Objects::Airblock::__dt +807f8fbc Objects::Airblock::IsCollidingNoTerrainInfoImpl +807f9280 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoImplImpl +807f9564 0x807f9564 +807f9b88 Objects::Airblock::IsCollidingAddEntryImpl +807fa1c4 Objects::Aurora::__ct +807fa230 Objects::Aurora::OnStart +807fa2f0 Objects::Aurora::Update +807fa57c 0x807fa57c +807fa668 0x807fa668 +807fa6cc 0x807fa6cc +807fa9a8 Objects::Aurora::CalcOtherEntityDistance +807faa08 Objects::Aurora::UpdateOtherEntityPosWithRot +807fab8c Objects::Aurora::vf_0x11c +807fab94 Objects::Aurora::vf_0x108 +807faba0 Objects::Aurora::AreItemsAllowed +807faba8 Objects::Aurora::IsCollidingNoTerrainInfo +807fabac Objects::Aurora::IsCollidingAddEntryNoTerrainInfo +807fabb0 Objects::Aurora::vf_0xfc +807fabb4 Objects::Aurora::IsCollidingAddEntry +807fabb8 Objects::Aurora::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807fabc8 Objects::Aurora::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807fabd8 Objects::Aurora::IsColliding(no radius) +807fabe8 Objects::Aurora::IsCollidingNoTriangleCheck(no radius) +807fabf8 Objects::Aurora::IsCollidingNoTerrainInfoNoTriangleCheck +807fabfc Objects::Aurora::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807fac00 Objects::Aurora::IsColliding +807fac04 Objects::Aurora::IsCollidingNoTriangleCheck +807fac08 Objects::Aurora::vf_0xc0 +807fac18 Objects::Aurora::vf_0xc4 +807fac28 Objects::Aurora::vf_0xc8 +807fac38 Objects::Aurora::vf_0xc8 +807fac48 Objects::Aurora::GetCollisionDiameter +807fac5c Objects::Aurora::LoadAnimations +807face8 Objects::Aurora::vf_0xb4 +807facec Objects::Aurora::UpdateCollision +807facf0 Objects::Aurora::LoadCollision +807facf4 Objects::Aurora::GetPropertiesBitfield +807facfc Objects::Aurora::__dt +807fad3c Objects::Aurora::IsCollidingNoTerrainInfoImpl +807faf1c Objects::Aurora::IsCollidingAddEntryNoTerrainInfoImpl +807fb12c 0x807fb12c +807fb4d8 Objects::Aurora::IsCollidingAddEntryImpl +807fb8b4 0x807fb8b4 +807fb900 Objects::Belt::vf_0x120 +807fbbe4 Objects::BeltEasy::__ct +807fbc58 Objects::Belt::__dt +807fbc98 Objects::BeltEasy::vf_0x124 +807fbd34 Objects::BeltEasy::vf_0x128 +807fbdd0 Objects::BeltCrossing::__ct +807fbe44 Objects::BeltCrossing::vf_0x124 +807fbee0 Objects::BeltCrossing::vf_0x128 +807fbf78 Objects::BeltCurveA::__ct +807fc040 Objects::BeltCurveA::vf_0x124 +807fc310 Objects::BeltCurveA::vf_0x128 +807fc368 Objects::BeltCurveA::LoadModels +807fc454 Objects::BeltCurveA::LoadAnimations +807fc754 Objects::BeltCurveA::UpdateModelMatrix +807fc818 Objects::BeltCurveA::OnStart +807fc820 Objects::BeltCurveA::Update +807fc9f8 Objects::BeltCurveA::vf_0x12c +807fcc0c 0x807fcc0c +807fccd8 0x807fccd8 +807fcd10 Objects::Belt::vf_0x11c +807fcd18 Objects::Belt::UpdateOtherEntityPosWithRot +807fcd1c Objects::Belt::UpdateOtherEntityPos +807fcd20 Objects::Belt::CalcOtherEntityDistance +807fcd24 Objects::Belt::vf_0x108 +807fcd30 Objects::Belt::AreItemsAllowed +807fcd38 Objects::Belt::IsCollidingNoTerrainInfo +807fcd40 Objects::Belt::IsCollidingAddEntryNoTerrainInfo +807fcd48 Objects::Belt::vf_0xfc +807fcd50 Objects::Belt::IsCollidingAddEntry +807fcd60 Objects::Belt::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807fcd68 Objects::Belt::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807fcd70 Objects::Belt::IsColliding(no radius) +807fcd78 Objects::Belt::IsCollidingAddEntryNoTriangleCheck(no radius) +807fcd94 Objects::Belt::IsCollidingNoTerrainInfoNoTriangleCheck +807fcd9c Objects::Belt::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807fcda4 Objects::Belt::IsColliding +807fcdac Objects::Belt::vf_0xc0 +807fcdbc 0x807fcdbc +807fcdc4 Objects::Belt::vf_0xc4 +807fcdcc Objects::Belt::vf_0xc8 +807fcdd4 Objects::Belt::vf_0xcc +807fcdf0 Objects::Belt::GetCollisionDiameter +807fcdfc Objects::Belt::vf_0xb4 +807fce00 Objects::Belt::UpdateCollision +807fce04 Objects::Belt::LoadCollision +807fce08 Objects::Belt::GetPropertiesBitfield +807fce10 Objects::BeltCurveA::SetObjInfoCalcBit +807fce20 Objects::BeltCurveA::GetScnObjDrawOptionsIdx +807fce28 Objects::BeltCurveA::__dt +807fce68 Objects::Belt::SetObjInfoCalcBit +807fce78 Objects::Belt::vf_0x12c +807fcecc Objects::Belt::LoadAnimations +807fcf0c Objects::BeltCrossing::GetScnObjDrawOptionsIdx +807fcf14 Objects::BeltCrossing::__dt +807fcf54 Objects::BeltEasy::GetScnObjDrawOptionsIdx +807fcf5c Objects::BeltEasy::__dt +807fcf9c Objects::Belt::GetScnObjDrawOptionsIdx +807fcfa4 0x807fcfa4 +807fd150 0x807fd150 +807fd2bc 0x807fd2bc +807fd4c8 0x807fd4c8 +807fd620 0x807fd620 +807fd648 0x807fd648 +807fd6a8 0x807fd6a8 +807fd938 0x807fd938 +807fd9d0 0x807fd9d0 +807fdb68 0x807fdb68 +807fdb98 0x807fdb98 +807fdba0 0x807fdba0 +807fdc54 0x807fdc54 +807fdc5c 0x807fdc5c +807fdc9c 0x807fdc9c +807fdcc4 Objects::Crane::__ct +807fde58 Objects::Crane::Update +807fe0c4 ObjectExternKCL::vf_0x11c +807fe0cc ObjectExternKCL::CalcOtherEntityDistance +807fe12c ObjectExternKCL::GetTransformationMatrix +807fe15c Objects::Crane::GetPeriod +807fe18c Objects::Crane::GetPropertiesBitfield +807fe194 Objects::Crane::__dt +807fe1d4 0x807fe1d4 +807fe29c 0x807fe29c +807fe3c8 0x807fe3c8 +807fe3ec 0x807fe3ec +807fe644 0x807fe644 +807fe7e8 0x807fe7e8 +807fec08 0x807fec08 +807feea8 0x807feea8 +807fef78 0x807fef78 +807fefec 0x807fefec +807feff8 0x807feff8 +807ff090 0x807ff090 +807ff098 0x807ff098 +807ff0a0 0x807ff0a0 +807ff0e0 0x807ff0e0 +807ff0ec 0x807ff0ec +807ff0f4 0x807ff0f4 +807ff100 0x807ff100 +807ff10c 0x807ff10c +807ff14c 0x807ff14c +807ff18c 0x807ff18c +807ff440 0x807ff440 +807ff76c 0x807ff76c +807ffe44 0x807ffe44 +807fff68 0x807fff68 +8080007c 0x8080007c +80800128 0x80800128 +80800628 0x80800628 +80800838 0x80800838 +80800b18 0x80800b18 +80800df8 0x80800df8 +80801064 0x80801064 +80801220 0x80801220 +80801e10 0x80801e10 +80802018 0x80802018 +808022dc 0x808022dc +808022e4 0x808022e4 +8080236c 0x8080236c +80802378 0x80802378 +80802384 0x80802384 +8080238c 0x8080238c +808023cc 0x808023cc +808023d4 0x808023d4 +808023d8 0x808023d8 +808023dc 0x808023dc +808023ec 0x808023ec +808023f0 0x808023f0 +808023fc 0x808023fc +80802404 0x80802404 +8080240c 0x8080240c +8080254c 0x8080254c +8080268c 0x8080268c +808027cc 0x808027cc +808027dc 0x808027dc +808028d0 0x808028d0 +808029c4 0x808029c4 +80802ab8 0x80802ab8 +80802bac 0x80802bac +80802cec 0x80802cec +80802e2c 0x80802e2c +80802f6c 0x80802f6c +80802f7c 0x80802f7c +80803070 0x80803070 +80803164 0x80803164 +80803258 0x80803258 +8080334c 0x8080334c +80803358 0x80803358 +8080335c 0x8080335c +80803364 0x80803364 +8080336c 0x8080336c +808033ac Objects::bblock::__ct +80803414 Objects::VolcanoPiece::__dt +80803454 Objects::bblock::LoadModels +808035d8 Objects::VolcanoPiece::GetSubFileName +808035e0 Objects::bblock::OnStart +80803638 Objects::bblock::UpdateModelMatrix +808036c0 Objects::bblock::LoadAnimations +80803774 Objects::bblock::LoadCollision +80803a2c Objects::bblock::GetBRRESName +80803a38 Objects::bblock::SetCollisionType +80803a84 Objects::bblock::Init_eAnm +80803b2c Objects::VolcanoPiece::UpdateKCL +80803c14 Objects::VolcanoPiece::SetCollisionType +80803c18 Objects::VolcanoPiece::IsCollidingNoTerrainInfo +80803d9c Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfo +80803f20 Objects::VolcanoPiece::vf_0xfc +808040a4 Objects::VolcanoPiece::IsCollidingAddEntry +808040b4 Objects::VolcanoPiece::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +808041fc Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +80804344 Objects::VolcanoPiece::IsColliding(no radius) +8080448c Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheck(no radius) +808045d4 Objects::VolcanoPiece::IsCollidingNoTerrainInfoNoTriangleCheck +80804758 Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +808048dc Objects::VolcanoPiece::IsColliding +80804a60 Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheck +80804a70 Objects::VolcanoPiece::vf_0xc0 +80804bb8 Objects::VolcanoPiece::vf_0xc4 +80804d00 Objects::VolcanoPiece::vf_0xc8 +80804e48 Objects::VolcanoPiece::vf_0xcc +80804f90 Objects::VolcanoPiece::UpdateDiffPosVector +80804fc8 Objects::VolcanoPiece::GetTransformationMatrix +80804fe0 Objects::VolcanoPiece::GetPropertiesBitfield +80804fe8 Objects::bblock::UpdateModelScale +80805078 Objects::bblock::__dt +808050b8 Objects::DKturibashiGCc::__ct +80805144 Objects::DKturibashiGCc::OnStart +80805290 Objects::DKturibashiGCc::Update +808054d0 0x808054d0 +808055b0 0x808055b0 +80805740 Objects::DKturibashiGCc::UpdateOtherEntityPos +808058d4 Objects::DKturibashiGCc::UpdateOtherEntityPosWithRot +80805a98 Objects::DKturibashiGCc::vf_0x11c +80805aa0 Objects::DKturibashiGCc::vf_0x108 +80805aac Objects::DKturibashiGCc::AreItemsAllowed +80805ab4 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo +80805ab8 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo +80805abc Objects::DKturibashiGCc::vf_0xfc +80805ac0 Objects::DKturibashiGCc::IsCollidingAddEntry +80805ac4 Objects::DKturibashiGCc::IsCollidingNoTerrainInfo(no radius) +80805ad4 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo(no radius) +80805ae4 Objects::DKturibashiGCc::vf_0xec(no radius) +80805af4 Objects::DKturibashiGCc::IsCollidingAddEntry(no radius) +80805b04 Objects::DKturibashiGCc::IsCollidingNoTerrainInfoNoTriangleCheck +80805b08 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80805b0c Objects::DKturibashiGCc::IsColliding +80805b10 Objects::DKturibashiGCc::IsCollidingNoTriangleCheck +80805b14 Objects::DKturibashiGCc::vf_0xc0 +80805b24 Objects::DKturibashiGCc::vf_0xc4 +80805b34 Objects::DKturibashiGCc::vf_0xc8 +80805b44 Objects::DKturibashiGCc::vf_0xcc +80805b54 Objects::DKturibashiGCc::GetCollisionDiameter +80805b68 Objects::DKturibashiGCc::LoadAnimations +80805b6c Objects::DKturibashiGCc::vf_0xb4 +80805b70 Objects::DKturibashiGCc::UpdateCollision +80805b74 0x80805b74 +80805b78 Objects::DKturibashiGCc::GetPropertiesBitfield +80805b80 Objects::DKturibashiGCc::__dt +80805bc0 0x80805bc0 +80805f0c 0x80805f0c +80806290 0x80806290 +8080677c Objects::DKturibashiGCc::IsCollidingImpl +80806c88 Objects::Kinoko::__ct +80806e58 Objects::Kinoko::OnStart +80806e98 Objects::Kinoko::Update +80806fbc Objects::Kinoko_ud::__ct +80807080 Objects::Kinoko::__dt +808070c0 Objects::Kinoko_ud::UpdateSpecific +808071e8 Objects::Kinoko_bend::__ct +80807304 Objects::Kinoko_bend::UpdateSpecific +808073f0 Objects::Kinoko::vf_0xb4 +808073f4 Objects::Kinoko::SetYScale +808073f8 Objects::Kinoko::GetSubFileName +80807418 Objects::Kinoko::GetPropertiesBitfield +80807420 Objects::Kinoko_bend::__dt +80807460 0x80807460 +80807464 Objects::Kinoko_ud::SetYScale +80807468 Objects::Kinoko_ud::GetSubFileName +80807488 Objects::Kinoko_ud::__dt +808074c8 Objects::Kinoko_kuki::vf_0xec +808074cc Objects::Kinoko_kuki::vf_0xf0 +808074d0 Objects::Kinoko_kuki::GetSubFileName +808074f0 Objects::Kinoko_kuki::UpdateModelScale +808074f4 Objects::Kinoko_kuki::GetPropertiesBitfield +808074fc Objects::Kinoko_kuki::__dt +8080753c ObjAmi_construct +808075ac 0x808075ac +80807660 0x80807660 +8080788c 0x8080788c +80807974 0x80807974 +80807be4 0x80807be4 +80807c28 0x80807c28 +80807c88 0x80807c88 +80807df0 0x80807df0 +80807df8 0x80807df8 +80807e04 0x80807e04 +80807e0c 0x80807e0c +80807e10 0x80807e10 +80807e14 0x80807e14 +80807e18 0x80807e18 +80807e1c 0x80807e1c +80807e2c 0x80807e2c +80807e3c 0x80807e3c +80807e4c 0x80807e4c +80807e5c 0x80807e5c +80807e60 0x80807e60 +80807e64 0x80807e64 +80807e68 0x80807e68 +80807e6c 0x80807e6c +80807e7c 0x80807e7c +80807e8c 0x80807e8c +80807e9c 0x80807e9c +80807eac 0x80807eac +80807eb8 0x80807eb8 +80807ebc 0x80807ebc +80807ec0 0x80807ec0 +80807ec4 0x80807ec4 +80807ecc 0x80807ecc +80807f0c 0x80807f0c +808080f8 0x808080f8 +80808314 0x80808314 +808086cc 0x808086cc +80808ab4 Objects::TownBridgeDS::__ct +80808c24 Objects::TownBridgeDS::LoadCollision +80808de0 Objects::TownBridgeDS::Update +80809348 0x80809348 +80809630 0x80809630 +80809688 0x80809688 +8080975c Objects::TownBridgeDS::CalcOtherEntityDistance +80809b18 Objects::TownBridgeDS::UpdateOtherEntityPosWithRot +80809f20 Objects::TownBridgeDS::vf_0x11c +80809f28 Objects::TownBridgeDS::vf_0x108 +80809f34 Objects::TownBridgeDS::AreItemsAllowed +80809f3c Objects::TownBridgeDS::GetPeriod +80809f48 Objects::TownBridgeDS::LoadAnimations +80809fd0 Objects::TownBridgeDS::GetTransformationMatrix +8080a344 Objects::TownBridgeDS::GetPropertiesBitfield +8080a34c Objects::TownBridgeDS::__dt +8080a38c 0x8080a38c +8080a744 obj_obakeblockSFC::__ct +8080a8b0 0x8080a8b0 +8080a984 0x8080a984 +8080abd0 0x8080abd0 +8080abe4 0x8080abe4 +8080b194 0x8080b194 +8080b2d0 0x8080b2d0 +8080b42c Object::GetCollisionDiameter +8080b438 0x8080b438 +8080b440 0x8080b440 +8080b444 0x8080b444 +8080b448 0x8080b448 +8080b44c 0x8080b44c +8080b450 0x8080b450 +8080b454 0x8080b454 +8080b458 0x8080b458 +8080b45c 0x8080b45c +8080b460 0x8080b460 +8080b470 0x8080b470 +8080b480 0x8080b480 +8080b490 0x8080b490 +8080b4a0 0x8080b4a0 +8080b4a4 0x8080b4a4 +8080b4a8 0x8080b4a8 +8080b4ac 0x8080b4ac +8080b4b0 0x8080b4b0 +8080b4c0 0x8080b4c0 +8080b4d0 0x8080b4d0 +8080b4e0 0x8080b4e0 +8080b4f0 0x8080b4f0 +8080b4fc 0x8080b4fc +8080b500 0x8080b500 +8080b504 0x8080b504 +8080b508 0x8080b508 +8080b510 0x8080b510 +8080b550 0x8080b550 +8080ba80 ObjectCollisionPolyhedra::SetRadius +8080ba88 0x8080ba88 +8080bfec 0x8080bfec +8080c798 0x8080c798 +8080cf68 0x8080cf68 +8080cfdc 0x8080cfdc +8080d014 0x8080d014 +8080d020 0x8080d020 +8080d02c 0x8080d02c +8080d038 0x8080d038 +8080d09c 0x8080d09c +8080d100 0x8080d100 +8080d174 0x8080d174 +8080d3e0 0x8080d3e0 +8080d53c obj_quicksand::__ct +8080d754 0x8080d754 +8080dcb8 0x8080dcb8 +8080e418 0x8080e418 +8080e6b8 0x8080e6b8 +8080e8a8 0x8080e8a8 +8080eeac 0x8080eeac +8080f4b0 0x8080f4b0 +8080f7b4 0x8080f7b4 +8080f7dc 0x8080f7dc +8080fbc4 0x8080fbc4 +8080fbcc 0x8080fbcc +8080fbd8 0x8080fbd8 +8080fbe0 0x8080fbe0 +8080fbe4 0x8080fbe4 +8080fbe8 0x8080fbe8 +8080fbec 0x8080fbec +8080fbf0 0x8080fbf0 +8080fc00 0x8080fc00 +8080fc10 0x8080fc10 +8080fc20 0x8080fc20 +8080fc30 0x8080fc30 +8080fc34 0x8080fc34 +8080fc38 0x8080fc38 +8080fc3c 0x8080fc3c +8080fc40 0x8080fc40 +8080fc50 0x8080fc50 +8080fc60 0x8080fc60 +8080fc70 0x8080fc70 +8080fc80 0x8080fc80 +8080fc94 0x8080fc94 +8080fcfc 0x8080fcfc +8080fd08 0x8080fd08 +8080fd14 0x8080fd14 +8080fd18 0x8080fd18 +8080fd1c 0x8080fd1c +8080fd20 0x8080fd20 +8080fd28 0x8080fd28 +8080fd68 0x8080fd68 +8080fd74 0x8080fd74 +8080fd80 0x8080fd80 +8080fd88 0x8080fd88 +8080fd90 0x8080fd90 +8080fdec 0x8080fdec +80810228 0x80810228 +80810690 0x80810690 +80810d8c 0x80810d8c +808114b4 0x808114b4 +808115f4 0x808115f4 +808117ec 0x808117ec +808117f4 0x808117f4 +80811968 0x80811968 +808119f0 0x808119f0 +80811ae8 0x80811ae8 +80811eb4 0x80811eb4 +80811ebc 0x80811ebc +808121ec 0x808121ec +808124b4 0x808124b4 +80812864 0x80812864 +80812c60 0x80812c60 +80812d58 0x80812d58 +80813150 0x80813150 +8081315c 0x8081315c +808131ec 0x808131ec +808131f8 0x808131f8 +80813200 0x80813200 +80813240 Objects::TwistedWay::__ct +808132ac Objects::TwistedWay::OnStart +80813368 Objects::TwistedWay::Update +808135ac 0x808135ac +8081368c 0x8081368c +8081379c 0x8081379c +808138dc 0x808138dc +80813a94 Objects::TwistedWay::CalcOtherEntityDistance +80813c44 Objects::TwistedWay::UpdateOtherEntityPosWithRot +80813e14 0x80813e14 +80813ea8 Objects::TwistedWay::vf_0x11c +80813eb0 Objects::TwistedWay::vf_0x108 +80813ebc Objects::TwistedWay::AreItemsAllowed +80813ec4 Objects::TwistedWay::IsCollidingNoTerrainInfo +80813ec8 Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfo +80813ecc Objects::TwistedWay::vf_0xfc +80813ed0 Objects::TwistedWay::IsCollidingAddEntry +80813ed4 Objects::TwistedWay::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +80813ee4 Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +80813ef4 Objects::TwistedWay::IsColliding(no radius) +80813f04 Objects::TwistedWay::IsCollidingAddEntryNoTriangleCheck(no radius) +80813f14 Objects::TwistedWay::IsCollidingNoTerrainInfoNoTriangleCheck +80813f18 Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80813f1c Objects::TwistedWay::IsColliding +80813f20 Objects::TwistedWay::IsCollidingAddEntryNoTriangleCheck +80813f24 Objects::TwistedWay::vf_0xc0 +80813f34 Objects::TwistedWay::vf_0xc4 +80813f44 Objects::TwistedWay::vf_0xc8 +80813f54 Objects::TwistedWay::vf_0xcc +80813f64 Objects::TwistedWay::GetCollisionDiameter +80813f6c Objects::TwistedWay::LoadAnimations +80813f70 Objects::TwistedWay::vf_0xb4 +80813f74 Objects::TwistedWay::UpdateCollision +80813f78 Objects::TwistedWay::LoadCollision +80813f7c Objects::TwistedWay::GetPropertiesBitfield +80813f84 Objects::TwistedWay::__dt +80813fc4 0x80813fc4 +80814514 0x80814514 +80814ab0 0x80814ab0 +808153d0 Objects::TwistedWay::IsCollidingImpl +80815d3c obj_venice_hasi::__ct +80815f18 0x80815f18 +8081604c 0x8081604c +80816150 0x80816150 +808165a4 0x808165a4 +80816808 0x80816808 +80816974 0x80816974 +80816a38 0x80816a38 +80816be4 0x80816be4 +80816d4c 0x80816d4c +80816f00 0x80816f00 +80816f08 0x80816f08 +80816f0c 0x80816f0c +80816f10 0x80816f10 +80816f1c 0x80816f1c +80816f24 0x80816f24 +80816f30 0x80816f30 +80816f40 0x80816f40 +80816f48 0x80816f48 +80816f50 0x80816f50 +80816f90 ObjSaku_construct +80817038 0x80817038 +808172cc 0x808172cc +8081740c 0x8081740c +80817414 0x80817414 +80817454 Objects::VolcanoPiece::__ct +808175d8 Objects::VolcanoPiece::LoadCollision +808179a0 Objects::VolcanoPiece::UpdateCollisionPosition +80817ce0 Objects::VolcanoPiece::SetYScale +80817e20 Objects::VolcanoPiece::GetTransformationMatrixImpl +80818638 0x80818638 +80818694 0x80818694 +80818780 0x80818780 +80818a68 Objects::VolcanoPiece::Init_eAnm +80818a6c Objects::VolcanoPiece::Update +80819014 Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheckImpl +8081940c Objects::VolcanoPiece::IsCollidingImpl +80819804 Objects::VolcanoRock1::__ct +808199dc Objects::VolcanoRock1::Update +80819a80 Objects::VolcanoRock1::CalcTranslation +80819c3c Objects::VolcanoRock1::GetPeriod +80819c78 Objects::VolcanoRock1::GetTransformationMatrix +80819cd4 Objects::VolcanoRock1::GetSubFileName +80819cf4 Objects::VolcanoRock1::GetPropertiesBitfield +80819cfc Objects::VolcanoRock1::__dt +80819d3c ObjectKCL::__ct +80819d80 ObjectKCL::__ct(Vec3s, objId) +80819dc4 ObjectKCL::__ct(Vec3s, name) +80819e08 ObjectKCL::Init +80819ec8 ObjectKCL::RegisterEntity +80819f3c ObjectKCL::UpdateModel +80819fec ObjectExternKCL::__ct +8081a034 0x8081a034 +8081a07c 0x8081a07c +8081a0c4 ObjectExternKCL::LoadCollision +8081a1b8 ObjectExternKCL::InitCollision +8081a3d8 ObjectExternKCL::UpdateCollisionPosition +8081a594 ObjectExternKCL::SetYScale +8081a620 ObjectExternKCL::IsCollidingAddEntryNoTriangleCheckImpl +8081a7d8 ObjectExternKCL::IsCollidingImpl +8081a990 ObjectsKCLMgr::__ct +8081a9ec ObjectsKCLMgr::__dt +8081aa94 ObjectsKCLMgr::CreateInstance +8081ab1c ObjectsKCLMgr::DestroyInstance +8081ab6c ObjectsKCLMgr::Init +8081ac14 0x8081ac14 +8081ac84 ObjectsKCLMgr::Update +8081ad34 ObjectsKCLMgr::AddObject +8081ae38 ObjectsKCLMgr::UpdateKCL +8081aedc 0x8081aedc +8081afac 0x8081afac +8081b07c 0x8081b07c +8081b1c0 0x8081b1c0 +8081b304 ObjectsKCLMgr::IsCollidingNoTerrainInfoNoTriangleCheck +8081b3dc ObjectsKCLMgr::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +8081b4b4 ObjectsKCLMgr::IsColliding +8081b60c ObjectsKCLMgr::IsCollidingAddEntryNoTriangleCheck +8081b764 0x8081b764 +8081b854 0x8081b854 +8081b944 0x8081b944 +8081baa8 0x8081baa8 +8081bc0c ObjectsKCLMgr::IsCollidingNoTerrainInfo +8081bd20 ObjectsKCLMgr::IsCollidingAddEntryNoTerrainInfo +8081be34 0x8081be34 +8081bfc4 ObjectsKCLMgr::IsCollidingAddEntry +8081c154 0x8081c154 +8081c1dc GetKartWeightClass +8081c3a8 GetCharacterWeightClass +8081c51c 0x8081c51c +8081c560 CharacterIdToKartIdByIdx +8081c5dc 0x8081c5dc +8081c618 0x8081c618 +8081c620 IsKartUnlocked +8081c68c IsCharacterUnlocked +8081c694 0x8081c694 +8081c6c8 0x8081c6c8 +8081c6fc KartObjectCollision::Init +8081c764 KartObjectCollision::Init_switch +8081c768 KartObjectCollision::Init_case1 +8081c7d8 KartObjectCollision::Init_case0 +8081c824 KartObjectCollision::Init_case2 +8081c898 KartObjectCollision::Init_case3 +8081c908 KartObjectCollision::Init_case6 +8081c968 KartObjectCollision::Init_case9 +8081c9c4 KartObjectCollision::Init_casec +8081ca40 KartObjectCollision::Init_casef +8081ca9c KartObjectCollision::Init_case4 +8081cb1c KartObjectCollision::Init_case7 +8081cb90 KartObjectCollision::Init_casea +8081cbf8 KartObjectCollision::Init_cased +8081cc7c KartObjectCollision::Init_case10 +8081ccfc KartObjectCollision::Init_case5 +8081cd84 KartObjectCollision::Init_case8 +8081ce04 KartObjectCollision::Init_caseb +8081ce84 KartObjectCollision::Init_casee +8081cf08 KartObjectCollision::Init_case11 +8081cfa8 KartObjectCollision::Init_case12 +8081d004 KartObjectCollision::Init_case13 +8081d060 KartObjectCollision::Init_case14 +8081d0c0 KartObjectCollision::Init_case15 +8081d120 KartObjectCollision::Init_case18 +8081d180 KartObjectCollision::Init_case1b +8081d1dc KartObjectCollision::Init_case1e +8081d238 KartObjectCollision::Init_case21 +8081d298 KartObjectCollision::Init_case16 +8081d2f8 KartObjectCollision::Init_case19 +8081d354 KartObjectCollision::Init_case1c +8081d3b0 KartObjectCollision::Init_case1f +8081d410 KartObjectCollision::Init_case22 +8081d470 KartObjectCollision::Init_case17 +8081d4d0 KartObjectCollision::Init_case1a +8081d548 KartObjectCollision::Init_case1d +8081d5a8 KartObjectCollision::Init_case20 +8081d608 KartObjectCollision::Init_case23 +8081d738 KartObjectCollision::__ct +8081d750 KartObjectCollision::__dt +8081d7dc KartObjectCollision::Update +8081d8c0 ObjectCollisionPolyhedra::GetDefaultDiameter +8081d8c8 0x8081d8c8 +8081d8f0 MenuModelBRRESHandle::__ct +8081d908 MenuModelBRRESHandle::__dt +8081d948 0x8081d948 +8081d9c4 MenuModelBRRESHandle::BindDriverBRRES +8081dbb4 MenuModelBRRESHandle::BindKartBRRES +8081dcc4 MenuModelBRRESHandle::BindBackBRRES +8081ddb8 DriverModelAnmCalculator::__dt +8081ddf8 MenuModelBRRESHandle::LoadDriverModel +8081e130 MenuModelBRRESHandle::LinkDriverAnim +8081e42c MenuModelBRRESHandle::LoadKartModel +8081e580 MenuModelBRRESHandle::LoadBackModel +8081e648 MenuModelBRRESHandle::MdlExists +8081e658 ObjectCollidable::__ct(GOBJ) +8081e694 ObjectCollidable::::__ct(Vec3s, objId) +8081e6d0 ObjectCollidable::::__ct(Vec3s, name) +8081e70c ObjectCollidable::Init +8081e7dc ObjectCollidable::RegisterManagedObject +8081e7ec ObjectCollidable::RegisterEntity +8081e890 ObjectCollidable::LoadCollision +8081ebb4 ObjectCollidable::OnNormalCollision +8081ec44 ObjectCollidable::OnWallCollision +8081ecd8 ObjectCollidable::BeforeKartCollision +8081ede4 ObjectCollidable::BeforeItemCollision +8081ee34 ObjectCollidable::UpdateCollision +8081ee94 Object::__ct +8081f028 Object::__ct(Vec3s, objId) +8081f170 Object::__ct(Vec3s, name) +8081f2d4 Object::OnStart +8081f358 Object::LoadModels +8081f36c Object::LoadModels(r4) +8081f37c Object::LoadGraphics +8081f9cc Object::LoadSound +8081fb24 Object::LinkSound +8081fb68 Object::StartSoundLimited +8081fb88 Object::HoldSoundLimited +8081fba8 Object::StartNewSoundLimited +8081fbc8 Object::StartSound +8081fbe8 Object::HoldSound +8081fc08 Object::StopAllSound +8081fc28 Object::StopSound +8081fc48 Object::LoadShadow +8081fd98 Object::LoadAnimations +8081fee0 0x8081fee0 +8081ffec Object::LoadRoute +808200fc Object::LoadAnimationsByType +80820524 Object::LinkAnimations +808206dc Object::LoadClipInfo +80820cac Object::UpdateMatrix +80820d2c Object::ToggleVisible +80820da4 0x80820da4 +80820e1c 0x80820e1c +80820e24 Object::UpdateModel +80820f1c Object::CalcYAxisTransMtx +80820f7c 0x80820f7c +80820fe0 Object::UpdateShadow +80821108 Object::UpdateModelMatrix +808211d4 0x808211d4 +80821424 Object::vf_0x88 +80821444 Object::vf_0x8c +80821458 Object::DisableCollision +8082146c Object::EnableCollision +80821480 ObjectsMgr::CreateObject +80825fac 0x80825fac +808264f8 ObjectsMgr::CreateAllObjects +808270d4 Objects::Kinoko_nm::GetPeriod +808270e0 Objects::Kinoko_nm::GetSubFileName +80827100 Objects::Kinoko_nm::GetPropertiesBitfield +80827108 Objects::Kinoko_nm::__dt +80827148 0x80827148 +80827158 0x80827158 +80827238 0x80827238 +80827278 0x80827278 +80827280 0x80827280 +808272e4 0x808272e4 +80827324 0x80827324 +80827334 0x80827334 +80827374 0x80827374 +8082737c 0x8082737c +808273bc 0x808273bc +808273c4 0x808273c4 +80827404 0x80827404 +80827444 0x80827444 +80827484 0x80827484 +808274c4 0x808274c4 +808275e0 0x808275e0 +80827750 0x80827750 +808277c4 0x808277c4 +80827a78 0x80827a78 +80827a94 0x80827a94 +80827aac 0x80827aac +80827bd0 0x80827bd0 +80827bd4 0x80827bd4 +80827bdc 0x80827bdc +80827c1c Objects::Itembox::__ct +80827dd8 Objects::Itembox::__ct(position) +80827ecc Objects::Itembox::Update +80828324 Objects::Itembox::OnCollision +808285b0 Objects::F_Itembox::__ct +80828604 Objects::F_Itembox::OnStart +808286e0 Objects::F_Itembox::Update +80828874 Objects::S_Itembox::__ct +808288ec Objects::S_Itembox::OnStart +80828ac8 Objects::S_Itembox::Update +80828bf0 Objects::S_Itembox::__dt +80828c30 Objects::F_Itembox::__dt +80828c70 0x80828c70 +80828ca8 Objects::Heyho2::__ct +80828d64 Objects::Heyho2::OnStart +80828dd0 Objects::Heyho2::Lift::__ct +80828f48 Objects::Heyho2::Lift::OnStart +80829110 Objects::Heyho2::Lift::Update +80829304 Objects::Heyho2::Lift::UpdateModelMatrix +808293d4 Objects::Heyho2::Rider::__ct +80829540 Objects::Heyho2::Rider::OnStart +80829678 Objects::Heyho2::Rider::LoadAnimations +8082967c Objects::Heyho2::Rider::Update +808297a0 Objects::Heyho2::LoadRoute +808297a4 Objects::Heyho2::Update +808297a8 Objects::Heyho2::LoadModels +808297ac Objects::Heyho2::LoadAnimations +808297b0 Objects::Heyho2::GetPropertiesBitfield +808297b8 Objects::Heyho2::__dt +808297f8 Objects::Heyho2::Lift::GetBRRESName +80829804 Objects::Heyho2::Lift::GetSubFileName +80829824 Objects::Heyho2::Lift::GetPropertiesBitfield +8082982c Objects::Heyho2::Lift::vf_0xa8 +80829834 Objects::Heyho2::Lift::__dt +80829874 Objects::Heyho2::Rider::LoadRoute +80829878 Objects::Heyho2::Rider::vf_0xa8 +80829880 Objects::Heyho2::Rider::GetBRRESName +8082988c Objects::Heyho2::Rider::GetSubFileName +808298d8 Objects::Heyho2::Rider::GetPropertiesBitfield +808298e0 0x808298e0 +80829920 ObjectsMgr::Start +808299f8 ObjectsMgr::__ct +80829cc0 ObjectCollisionManager::__dt +80829d00 ObjectsMgr::__dt +80829df0 ObjectsMgr::CreateInstance +80829e90 ObjectsMgr::DestroyInstance +80829ef0 0x80829ef0 +80829f60 ObjectsMgr::Update +8082a12c 0x8082a12c +8082a170 ObjectsMgr::CheckCollision +8082a428 ObjectsMgr::HandleItemCollision +8082a658 0x8082a658 +8082a754 ObjectsMgr::AddObject +8082a900 0x8082a900 +8082aa0c ObjectsMgr::RegisterManagedObject +8082aa14 ObjectsMgr::GetManagedObject +8082aa24 ObjectsMgr::GetManagedObjectsCount +8082aa40 ObjectsMgr::GetPseaVeniceHeightDiff +8082aa58 ObjectsMgr::GetPseaVeniceHeight +8082aa6c ObjectsMgr::GetPseaVeniceHeightMinus260 +8082aa8c 0x8082aa8c +8082aa98 0x8082aa98 +8082ab4c ObjectCollisionManager::GetPlayerItemState +8082ab90 ObjectCollisionManager::Get_0x1c +8082ab98 0x8082ab98 +8082ab9c 0x8082ab9c +8082aba0 ObjectCollisionManager::GetPosition +8082aba8 GeoHitTableKartObjHolder::__dt +8082abe8 GeoHitTableKartHolder::__dt +8082ac28 GeoHitTableObjHolder::__dt +8082ac68 GeoHitTableItemHolder::__dt +8082aca8 Objects::MiiStatue::__ct +8082adb4 0x8082adb4 +8082ae54 0x8082ae54 +8082aef4 0x8082aef4 +8082af94 0x8082af94 +8082b084 Objects::MiiStatue::__dt +8082b14c Objects::MiiStatue::OnStart +8082b354 Objects::MiiStatue::Update +8082b478 Objects::MiiStatue::GetPropertiesBitfield +8082b480 0x8082b480 +8082b778 ObjFlowHolder::__ct +8082b7e4 ObjFlowHolder::GetObjIDByName +8082b860 ObjFlowHolder::__dt +8082b8a0 Objects::Psea::__ct +8082bca0 Objects::Psea::Update +8082bef0 Objects::Psea::LoadModels +8082bef4 Objects::Psea::GetPropertiesBitfield +8082befc Objects::Psea::__dt +8082bf3c Objects::Psea5spc::GetScnObjDrawOptionsIdx +8082bf44 Objects::Psea5spc::GetName +8082bf50 Objects::Psea5spc::GetSubFileName +8082bf5c Objects::Psea5spc::GetPropertiesBitfield +8082bf64 Objects::Psea5spc::__dt +8082bfa4 Objects::Psea4tex::GetScnObjDrawOptionsIdx +8082bfac Objects::Psea4tex::GetName +8082bfb8 Objects::Psea4tex::GetSubFileName +8082bfc4 Objects::Psea4tex::GetPropertiesBitfield +8082bfcc Objects::Psea4tex::__dt +8082c00c Objects::Psea3nami::GetScnObjDrawOptionsIdx +8082c014 Objects::Psea3nami::GetName +8082c020 Objects::Psea3nami::GetSubFileName +8082c02c Objects::Psea3nami::GetPropertiesBitfield +8082c034 Objects::Psea3nami::__dt +8082c074 Objects::Psea2dark::GetScnObjDrawOptionsIdx +8082c07c Objects::Psea2dark::GetName +8082c088 Objects::Psea2dark::GetSubFileName +8082c094 Objects::Psea2dark::GetPropertiesBitfield +8082c09c Objects::Psea2dark::__dt +8082c0dc Objects::Psea1sand::GetScnObjDrawOptionsIdx +8082c0e4 Objects::Psea1sand::GetName +8082c0f0 Objects::Psea1sand::GetSubFileName +8082c0fc Objects::Psea1sand::GetPropertiesBitfield +8082c104 Objects::Psea1sand::__dt +8082c144 Objects::Pylon01::_ct +8082c2d0 Objects::Pylon01::GetScnObjDrawOptionsIdx +8082c2e8 Objects::Pylon01::GetBRRESName +8082c320 Objects::Pylon01::LoadAnimations +8082c3cc Objects::Pylon01::OnStart +8082c6b0 Objects::Pylon01::Update +8082d258 Objects::Pylon01::OnCollision +8082d644 Objects::Pylon01::OnItemCollision +8082d76c 0x8082d76c +8082da5c 0x8082da5c +8082db60 Objects::Pylon01::OnWallCollision +8082db64 Objects::Pylon01::GetPropertiesBitfield +8082db6c Objects::Pylon01::__dt +8082dbac Objects::WLscreenGC::__ct +8082dc74 Objects::WLscreenGC::__dt +8082dd14 Objects::WLscreenGC::LoadModels +8082deb8 Objects::WLscreenGC::OnStart +8082debc Objects::WLscreenGC::Update +8082dec0 obj_venice_nami::__ct +8082e060 0x8082e060 +8082e254 0x8082e254 +8082e308 0x8082e308 +8082e5ec obj_venice_nami_update +8082e7b4 0x8082e7b4 +8082e984 0x8082e984 +8082ea18 0x8082ea18 +8082ea24 0x8082ea24 +8082ea2c 0x8082ea2c +8082ea34 0x8082ea34 +8082ea74 BackModelMgr::__ct +8082eb40 BackModelMgr::__dt +8082eb80 BackModelMgr::Start +8082ec64 BackModelMgr::Update +8082edec BackModelMgr::SetBackModel +8082eeb8 BackModelMgr::ToggleVisible +8082eecc MenuDriverModel::__ct +8082ef24 MenuVehicleDisplayModel::__dt +8082ef64 MenuDriverModel::Init +8082f0fc 0x8082f0fc +8082f1e4 MenuDriverModel::SwitchState +8082f578 MenuDriverModel::Update +8082f70c 0x8082f70c +8082f7a0 0x8082f7a0 +8082f7ec MenuDriverModelMgr::__ct +8082fd74 MenuDriverModel::__dt +8082fdb4 0x8082fdb4 +8082fe1c MenuDriverModel::Update +808300c8 MenuModel::ToggleVisible +808300ec MenuDriverModel::Draw +808302a8 MenuDriverModelMgr::TogglePlayerModel +808302d0 MenuDriverModelMgr::PrepareDriverOnKartAnms +8083036c MenuDriverModel::SetPlayerCharacter +808306b8 0x808306b8 +8083076c 0x8083076c +80830ab8 0x80830ab8 +80830ba0 0x80830ba0 +80830d90 0x80830d90 +80831160 0x80831160 +80831240 MenuDriverModelMgr::__dt +80831280 MenuModel::Update +80831284 MenuModel::Init +80831288 DriverModelAnmCalculator::Determine +8083138c DriverModelAnmCalculator::GetPrefix +80831488 0x80831488 +808314bc 0x808314bc +808314c4 0x808314c4 +8083151c 0x8083151c +80831574 0x80831574 +808315cc MenuKartModel::__ct +808315f0 MenuKartModel::__dt +80831630 MenuKartModel::Load +808318ac MenuKartModel::Init +80831dc8 MenuKartModel::Update +80832154 MenuKartModelMgr::__ct +80832328 0x80832328 +8083232c 0x8083232c +8083236c MenuKartModelMgr::Load +80832604 0x80832604 +80832678 MenuKartModelMgr::Update +80832830 MenuKartModelMgr::Draw +808328fc MenuKartModelMgr::SetKartModel +80832954 MenuKartModelMgr::Reset +80832a18 MenuKartModelMgr::ToggleVisible +80832ab0 0x80832ab0 +80832ae0 MenuKartModelMgr::GetMenuKartModel +80832b0c MenuKartModelMgr::__dt +80832b4c 0x80832b4c +80832b7c 0x80832b7c +80832ca4 GetCupNameMsgId +80832cd4 getTrackBmgId +80832d70 0x80832d70 +80832da0 getArenaBmgId +80832dd0 GetPositionBMGId +80832dd8 getOrangeOverlayBmgId +80832de0 0x80832de0 +80832e40 0x80832e40 +80832e44 0x80832e44 +80832e58 0x80832e58 +80832e88 GetMissionLevelNameMsgId +80832ea4 0x80832ea4 +80832eac ObjectCollisionCuboid::__ct +8083316c ObjectCollisionCuboid::SetPositionAndScale +80833558 ObjectCollisionCuboid::SetPositionAndScale(translation) +80833954 0x80833954 +8083395c ObjectCollisionCuboid::__dt +808339b4 ObjectCollision::ProcessCollision +80834620 0x80834620 +808346b8 0x808346b8 +80834750 0x80834750 +80834970 0x80834970 +80834cbc 0x80834cbc +80834e50 0x80834e50 +80834f38 0x80834f38 +80835010 0x80835010 +808350f8 0x808350f8 +808355a0 0x808355a0 +808356a0 0x808356a0 +808356d4 ObjectCollisionCylinder::__ct +808357f8 ObjectCollisionCylinder::Getposition +8083585c ObjectCollisionCylinder::SetPositionAndScale +808359a0 ObjectCollisionCylinder::SetPositionAndScale(translation) +80835afc 0x80835afc +80835b04 ObjectCollisionCylinder::GetRadius +80835b0c ObjectCollisionCylinder::__dt +80835b4c ObjectCollisionPolyhedra::__ct +80835c14 ObjectCollisionPolyhedra::__dt +80835c94 ObjectCollisionPolyhedra::GetPosition +80835d3c ObjectCollisionPolyhedra::SetPositionAndScale +80835e30 ObjectCollisionPolyhedra::SetPositionAndScale(translation) +80835f3c ObjectCollisionSphere::__ct +80835f8c ObjectCollisionSphere::GetPosition +80836004 ObjectCollisionSphere::SetPositionAndScale +808360bc ObjectCollisionSphere::SetPositionAndScale(translation) +808361c0 ObjectCollisionSphere::GetRadius +808361c8 ObjectCollisionSphere::__dt +80836208 Pages::Menu::OnInit +808367d0 Pages::Menu::CreateExternalControl +808367d8 Pages::Menu::SetButtonHandlers +808367dc Pages::Menu::OnActivate +8083694c Pages::Menu::GetTextInfo +80836954 Pages::Menu::OnControlsInitialized +80836b98 Pages::Menu::SelectButton +80836c58 Pages::Menu::OnExternalButtonSelect +80836c5c Pages::Menu::SelectExternObject +80836c88 Pages::Menu::LoadNextPageWithDelayById +80836d8c Pages::Menu::LoadNextPageById +80836e9c Pages::Menu::LoadPrevPageWithDelayById +80836fa0 Pages::Menu::LoadPrevPageById +808370b0 Pages::Menu::LoadPrevPageWithDelay +808371b8 Pages::Menu::LoadPrevPage +808372c8 Pages::Menu::ChangeSectionWithDelayById +80837388 Pages::Menu::AddPageLayer +808373b0 Pages::Menu::OnResume +808374ac Pages::Menu::ChangeSectionById +80837570 Pages::Menu::ForceChangeSectionWithDelayById +8083758c Pages::Menu::ForceChangeSectionById +808375ec Pages::Menu::LoadMessageBoxPageWithDelay +808377a8 Pages::Menu::LoadMessageBoxPage +8083796c Pages::Menu::LoadMessageBoxTransparentPageThenChangeSectionWithDelay +80837b38 Pages::Menu::LoadMessageBoxTransparentPageThenChangeSection +80837d0c Pages::Menu::LoadMessageBoxTransparentPage +80837e18 Pages::Menu::ChangePrevSection +80837e64 Pages::Menu::OnMoviesActivate +80837ef0 Pages::Menu::LoadMovies +80837f0c Pages::Menu::UnloadMovies +80837f20 Pages::Menu::IsMultiplayer +80837f5c Pages::Menu::AreAllPlayersActive +80838040 Pages::Menu::BeforeEntranceAnimations +808380dc Pages::Menu::GetNextPage +808380e4 Pages::Menu::BeforeExitAnimations +80838180 Pages::Menu::OnStartPress +80838184 MenuPage_cpp_sinit_ +80838198 Pages::MenuBG::GetPageById +808382a8 Pages::MenuBG::CreateControl +8083840c Pages::MenuBG::AfterControlUpdate +80838410 Pages::MenuBG::GetPlayerBifield +80838418 Pages::MenuBG::GetActivePlayerBitfield +80838420 Pages::MenuBG::GetManipulatorManager +80838428 Pages::MenuBG::BeforeEntranceAnimations +8083842c Pages::MenuBG::__ct +808384ac Pages::MenuBG::GetRuntimeTypeInfo +808384b8 MenuBGPage_cpp_sinit_ +808384cc Pages::BattleCupSelect::GetPageById +808385dc Pages::BattleCupSelect::OnInit +80838654 Pages::BattleCupSelect::CreateExternalControl +8083865c Pages::BattleCupSelect::CreateControl +808386f0 Pages::BattleCupSelect::OnActivate +80838a60 Pages::BattleCupSelect::AfterControlUpdate +80838bbc Pages::BattleCupSelect::UpdateText +80838bc8 Pages::BattleCupSelect::LoadNextPage +80838d00 Pages::BattleCupSelect::OnButtonClick +80838f70 Pages::BattleCupSelect::OnExternalButtonSelect +80838f74 Pages::BattleCupSelect::OnButtonDeselect +80838f78 Pages::BattleCupSelect::OnBackPress +808391e8 Pages::BattleCupSelect::OnResume +80839400 Pages::BattleCupSelect::OnDeactivate +80839404 Pages::BattleCupSelect::BeforeEntranceAnimations +80839460 Pages::BattleCupSelect::BeforeExitAnimations +808394bc Pages::BattleCupSelect::OnTimeout +808395b8 Pages::BattleCupSelect::GetPlayerBitfield +808395c0 Pages::BattleCupSelect::GetActivePlayerBitfield +808395c8 Pages::BattleCupSelect::SetButtonHandlers +80839624 Pages::BattleCupSelect::GetManipulatorManager +8083962c Pages::BattleCupSelect::__dt +80839720 Pages::BattleCupSelect::GetRuntimeTypeInfo +8083972c BattleCupSelectPage_sinit_ +80839740 Pages::BattleKartSelect::GetPageById +80839850 Pages::BattleKartSelect::OnInit +80839864 Pages::BattleKartSelect::CreateExternalControl +8083994c Pages::BattleKartSelect::SetButtonHandlers +808399a8 Pages::BattleKartSelect::CreateControl +80839ac4 Pages::BattleKartSelect::OnActivate +80839df8 Pages::BattleKartSelect::AfterControlUpdate +80839f84 Pages::BattleKartSelect::OnButtonClick +8083a110 Pages::BattleKartSelect::OnExternalButtonSelect +8083a1e4 Pages::BattleKartSelect::OnButtonDeselect +8083a1ec Pages::BattleKartSelect::OnBackPress +8083a2c0 Pages::BattleKartSelect::Func_8083ac54 +8083a3c0 Pages::BattleKartSelect::Func_8083ad54 +8083a5a8 Pages::BattleKartSelect::BeforeEntranceAnimations +8083a608 Pages::BattleKartSelect::BeforeExitAnimations +8083a668 Pages::BattleKartSelect::GetPlayerBitfield +8083a670 Pages::BattleKartSelect::GetLocalPlayerCount +8083a678 Pages::BattleKartSelect::GetManipulatorManager +8083a680 Pages::BattleKartSelect::__dt +8083a72c Pages::BattleKartSelect::GetRuntimeTypeInfo +8083a738 BattleKartSelectPagecpp_sinit_ +8083a74c Pages::BattleModeSelect::GetPageById +8083a85c Pages::BattleModeSelect::OnInit +8083a8b0 Pages::BattleModeSelect::GetManipulatorManager +8083a8b8 Pages::BattleModeSelect::CreateExternalControl +8083aa64 Pages::BattleModeSelect::CreateControl +8083aa6c Pages::BattleModeSelect::OnActivate +8083ae44 Pages::BattleModeSelect::OnActivate_switch +8083ae48 Pages::BattleModeSelect::OnActivate_case_0 +8083ae60 Pages::BattleModeSelect::OnActivate_case_1 +8083ae78 Pages::BattleModeSelect::OnActivate_case_2 +8083ae90 Pages::BattleModeSelect::OnActivate_case_3 +8083aea8 Pages::BattleModeSelect::OnActivate_case_4 +8083aec0 Pages::BattleModeSelect::OnActivate_case_5 +8083aed8 Pages::BattleModeSelect::OnActivate_case_6 +8083aef0 Pages::BattleModeSelect::OnActivate_case_7 +8083af38 Pages::BattleModeSelect::AfterControlUpdate +8083af3c Pages::BattleModeSelect::OnButtonClick +8083b018 Pages::BattleModeSelect::OnExternalButtonSelect +8083b050 Pages::BattleModeSelect::OnButtonDeselect +8083b054 Pages::BattleModeSelect::OnBackPress +8083b060 Pages::BattleModeSelect::OnDeactivate +8083b0ac Pages::BattleModeSelect::GetPlayerBitfield +8083b0b4 Pages::BattleModeSelect::GetActivePlayerBitfield +8083b0bc Pages::BattleModeSelect::SetButtonHandlers +8083b118 Pages::BattleModeSelect::__dt +8083b198 Pages::BattleModeSelect::GetRuntimeTypeInfo +8083b1a4 BattleModeSelectPage_cpp_sinit_ +8083b1b8 Pages::BattleSettings::GetPageById +8083b2c8 Pages::BattleSettings::OnInit +8083b5bc Pages::BattleSettings::CreateExternalControl +8083b64c Pages::BattleSettings::CreateControl +8083ba10 Pages::BattleSettings::OnActivate +8083bb70 Pages::BattleSettings::AfterControlUpdate +8083bb74 Pages::BattleSettings::OnButtonClick +8083bb78 Pages::BattleSettings::OnExternalButtonSelect +8083bba4 Pages::BattleSettings::OnButtonDeselect +8083bba8 Pages::BattleSettings::OnBackPress +8083bbec Pages::BattleSettings::OnRadioClick +8083bd58 Pages::BattleSettings::OnRadioChange +8083be38 Pages::BattleSettings::OnUpDownClick +8083bea4 Pages::BattleSettings::OnUpDownSelect +8083beb4 Pages::BattleSettings::OnUpDownChange +8083bf2c Pages::BattleSettings::OnTextChange +8083bfa8 Pages::BattleSettings::GetPlayerBitfield +8083bfb0 Pages::BattleSettings::GetActivePlayerBitfield +8083bfb8 Pages::BattleSettings::SetButtonHandlers +8083c014 Pages::BattleSettings::GetManipulatorManager +8083c01c Pages::BattleSettings::__dt +8083c0e4 Pages::BattleSettings::GetRuntimeTypeInfo +8083c0f0 Pages::BattleSettings::TriggerUpDown3APtmf +8083c120 Pages::BattleSettings::TriggerRadioPtmf +8083c150 Pages::BattleSettings::TriggerTextPtmf +8083c180 Pages::BattleSettings::TriggerUpDown2APtmf +8083c1b0 BattleSettingsPage_cpp_sinit_ +8083c1c4 Pages::BattleStageSelect::GetPageById +8083c2d4 Pages::BattleStageSelect::OnInit +8083c324 Pages::BattleStageSelect::CreateExternalControl +8083c32c Pages::BattleStageSelect::CreateControl +8083c3c0 Pages::BattleStageSelect::OnActivate +8083c514 Pages::BattleStageSelect::BeforeEntranceAnimations +8083c534 Pages::BattleStageSelect::AfterControlUpdate +8083c650 Pages::BattleStageSelect::UpdateBottomText +8083c654 Pages::BattleStageSelect::LoadNextPage +8083c788 Pages::BattleStageSelect::OnButtonClick +8083c7c0 Pages::BattleStageSelect::OnExternalButtonSelect +8083c7c4 Pages::BattleStageSelect::OnButtonDeselect +8083c7c8 Pages::BattleStageSelect::OnBackPress +8083c800 Pages::BattleStageSelect::BeforeExitAnimations +8083c85c Pages::BattleStageSelect::OnDeactivate +8083c860 Pages::BattleStageSelect::OnTimeout +8083c934 Pages::BattleStageSelect::GetPlayerBitfield +8083c93c Pages::BattleStageSelect::GetActivePlayerBitfield +8083c944 Pages::BattleStageSelect::SetButtonHandlers +8083c9a0 Pages::BattleStageSelect::__dt +8083ca8c Pages::BattleStageSelect::GetRuntimeTypeInfo +8083ca98 BattleStageSelectPage_cpp_sinit_ +8083caac CharaName::GetClassName +8083cab8 Pages::CharacterSelect::GetPageById +8083cbc8 Pages::CharacterSelect::OnInit +8083ceac CharaName::__ct +8083cee8 Pages::CharacterSelect::CreateExternalControl +8083cef0 Pages::CharacterSelect::CreateControl +8083d0e4 Pages::CharacterSelect::OnActivate +8083d420 Pages::CharacterSelect::GetManipulatorManager +8083d428 Pages::CharacterSelect::AfterControlUpdate +8083d614 Pages::CharacterSelect::OnButtonDriverClick +8083dc60 Pages::CharacterSelect::OnButtonDriverSelect +8083ddac Pages::CharacterSelect::OnButtonClick +8083df44 Pages::CharacterSelect::OnExternalButtonSelect +8083df90 Pages::CharacterSelect::OnButtonDeselect +8083df94 Pages::CharacterSelect::OnBackPress +8083e294 Pages::CharacterSelect::8083ec28 +8083e488 Pages::CharacterSelect::8083ee1c +8083e528 Pages::CharacterSelect::OnResume +8083e5a8 Pages::CharacterSelect::OnDispose +8083e5b8 Pages::CharacterSelect::BeforeEntranceAnimations +8083e660 Pages::CharacterSelect::BeforeExitAnimations +8083e708 CharaName::InitSelf +8083e8cc Pages::CharacterSelect::GetPlayerBitfield +8083e8d4 Pages::CharacterSelect::GetActivePlayerBitfield +8083e8dc Pages::CharacterSelect::SetButtonHandlers +8083e938 Pages::CharacterSelect::__dt +8083e9c8 Pages::CharacterSelect::GetRuntimeTypeInfo +8083e9d4 CharaName::GetRuntimeTypeInfo +8083e9e0 CharaSelectcpp_sinit_ +8083ea04 Pages::GPClassSelect::GetPageById +8083eb14 Pages::GPClassSelect::OnInit +8083ebe4 Pages::GPClassSelect::GetManipulatorManager +8083ebec Pages::GPClassSelect::CreateExternalControl +8083ee1c Pages::GPClassSelect::CreateControl +8083eea4 Pages::GPClassSelect::OnActivate +8083ef80 Pages::GPClassSelect::AfterControlUpdate +8083eff4 Pages::GPClassSelect::OnButtonClick +8083f198 Pages::GPClassSelect::OnExternalButtonSelect +8083f220 Pages::GPClassSelect::OnButtonDeselect +8083f224 Pages::GPClassSelect::OnBackPress +8083f230 Pages::GPClassSelect::OnDeactivate +8083f234 Pages::GPClassSelect::OnStartPress +8083f738 Pages::GPClassSelect::GetPlayerBitfield +8083f740 Pages::GPClassSelect::GetActivePlayerBitfield +8083f748 Pages::GPClassSelect::SetButtonHandlers +8083f7a4 Pages::GPClassSelect::__dt +8083f830 Pages::GPClassSelect::GetRuntimeTypeInfo +8083f83c GPClassSelectPage_cpp_sinit_ +8083f850 Pages::CourseSelect::GetPageById +8083f960 Pages::CourseSelect::OnInit +8083f9fc Pages::CourseSelect::CreateExternalControl +8083fa04 Pages::CourseSelect::CreateControl +8083fb0c Pages::CourseSelect::OnActivate +8083fc2c Pages::CourseSelect::BeforeEntranceAnimations +8083fc78 Pages::CourseSelect::AfterControlUpdate +8083fd94 Pages::CourseSelect::UpdateBottomText +8083fe9c Pages::CourseSelect::LoadNextPage +808400b0 Pages::CourseSelect::OnButtonClick +80840118 Pages::CourseSelect::OnExternalButtonSelect +8084011c Pages::CourseSelect::OnButtonDeselect +80840120 Pages::CourseSelect::OnBackPress +80840188 Pages::CourseSelect::BeforeExitAnimations +808401e4 Pages::CourseSelect::OnDeactivate +8084020c Pages::CourseSelect::OnTimeout +808402e0 Pages::CourseSelect::GetPlayerBitfield +808402e8 Pages::CourseSelect::GetActivePlayerBitfield +808402f0 Pages::CourseSelect::SetButtonHandlers +8084034c Pages::CourseSelect::__dt +80840438 Pages::CourseSelect::GetRuntimeTypeInfo +80840444 Pages::CourseSelect::_sinit_ +80840458 Pages::CupSelect::GetPageById +80840568 Pages::CupSelect::OnInit +8084066c Pages::CupSelect::CreateExternalControl +80840674 Pages::CupSelect::CreateControl +8084077c Pages::CupSelect::OnActivate +80840b1c Pages::CupSelect::GetManipulatorManager +80840b24 Pages::CupSelect::AfterControlUpdate +80840c80 Pages::CupSelect::UpdateText +80840db0 Pages::CupSelect::LoadNextPage +80840f54 Pages::CupSelect::OnButtonClick +808411b8 Pages::CupSelect::OnExternalButtonSelect +808411bc Pages::CupSelect::OnButtonDeselect +808411c0 Pages::CupSelect::OnBackPress +80841450 Pages::CupSelect::OnResume +80841664 Pages::CupSelect::OnDeactivate +8084168c Pages::CupSelect::BeforeEntranceAnimations +808416e8 Pages::CupSelect::BeforeExitAnimations +80841744 Pages::CupSelect::OnTimeout +80841840 Pages::CupSelect::GetPlayerBitfield +80841848 Pages::CupSelect::GetActivePlayerBitfield +80841850 Pages::CupSelect::SetButtonHandlers +808418ac Pages::CupSelect::__dt +808419a0 Pages::CupSelect::GetRuntimeTypeInfo +808419ac CupSelectPagecpp_sinit_ +808419c0 Pages::StartRace::GetPageById +80841ad0 Pages::StartRace::OnInit +80841ae8 Pages::StartRace::CreateExternalControl +80841c4c Pages::StartRace::GetActivePlayerBitfield +80841c54 Pages::StartRace::SetButtonHandlers +80841cb0 Pages::StartRace::CreateControl +80841f0c Pages::StartRace::OnActivate +80841f80 Pages::StartRace::AfterControlUpdate +80841fb4 Pages::StartRace::OnButtonClick +80842010 Pages::StartRace::OnExternalButtonSelect +80842014 Pages::StartRace::OnButtonDeselect +80842018 Pages::StartRace::OnBackPress +80842034 Pages::StartRace::GetPlayerBitfield +8084203c Pages::StartRace::GetManipulatorManager +80842044 Pages::StartRace::__dt +808420c4 Pages::StartRace::GetRuntimeTypeInfo +808420d0 StartRacePage_cpp_sinit_ +808420e4 0x808420e4 +808421f4 0x808421f4 +80842418 0x80842418 +808424bc 0x808424bc +8084252c 0x8084252c +80842618 0x80842618 +80842620 0x80842620 +80842624 0x80842624 +808429f0 0x808429f0 +80842a04 0x80842a04 +80842a08 0x80842a08 +80842cf0 0x80842cf0 +80842cf8 0x80842cf8 +80842d54 0x80842d54 +80842d5c 0x80842d5c +80842e00 0x80842e00 +80842e0c 0x80842e0c +80842e20 0x80842e20 +80842f30 0x80842f30 +80842f68 0x80842f68 +80842f70 0x80842f70 +80843004 0x80843004 +8084304c 0x8084304c +80843050 0x80843050 +8084305c 0x8084305c +808430b8 0x808430b8 +808430cc 0x808430cc +808430d0 0x808430d0 +808430d4 0x808430d4 +808430e0 0x808430e0 +8084312c 0x8084312c +80843180 0x80843180 +808431d4 0x808431d4 +808431dc 0x808431dc +808431e4 0x808431e4 +80843240 0x80843240 +80843248 0x80843248 +8084333c 0x8084333c +80843348 0x80843348 +8084335c 0x8084335c +8084346c 0x8084346c +808434dc 0x808434dc +80843568 0x80843568 +808435d8 0x808435d8 +808436bc 0x808436bc +808436c0 0x808436c0 +808437a4 0x808437a4 +808437dc 0x808437dc +808437e0 Pages::Menu::UnloadVideoSource +808437ec 0x808437ec +808437f0 0x808437f0 +808437f8 0x808437f8 +80843800 0x80843800 +8084385c 0x8084385c +80843864 0x80843864 +80843904 0x80843904 +80843910 0x80843910 +80843924 0x80843924 +80843a34 0x80843a34 +80843a48 0x80843a48 +80843a50 0x80843a50 +80843ae4 Pages::Menu::OnActivate +80843ae8 0x80843ae8 +80843b08 0x80843b08 +80843b0c 0x80843b0c +80843b10 0x80843b10 +80843b6c 0x80843b6c +80843bc8 0x80843bc8 +80843bcc 0x80843bcc +80843bd0 0x80843bd0 +80843c20 0x80843c20 +80843c74 0x80843c74 +80843cc0 0x80843cc0 +80843cc8 0x80843cc8 +80843cd0 0x80843cd0 +80843d2c 0x80843d2c +80843e18 0x80843e18 +80843e24 0x80843e24 +80843e38 Pages::KartSelect::GetPageById +80843f48 ButtonMachine::GetClassName +80843f54 Pages::KartSelect::GetVehicleID +80843fcc Pages::KartSelect::GetUnlockedVehiclesCountByWeightAndType +80844048 Pages::KartSelect::GetUnlockedVehiclesCountByWeight +80844128 Pages::KartSelect::GetMinUnlockedVehiclesCount +808443d4 Pages::KartSelect::OnInit +808447b4 Pages::KartSelect::CreateExternalControl +808447bc Pages::KartSelect::CreateControl +80844b20 Pages::KartSelect::SetButtonHandlers +80844b7c Pages::KartSelect::OnActivate +80846088 Pages::KartSelect::GetManipulatorManager +80846090 Pages::KartSelect::GetLocalPlayerCount +80846098 Pages::KartSelect::AfterControlUpdate +80846288 Pages::KartSelect::OnButtonClick +80846510 Pages::KartSelect::OnExternalButtonSelect +80846628 Pages::KartSelect::OnButtonSelect +8084662c Pages::KartSelect::OnBackPress +80846700 Pages::KartSelect::GetExternalControl +80846830 Pages::KartSelect::GetButtonMachineById +808469b0 Pages::KartSelect::InitButtonMachine +80846ac8 Pages::KartSelect::8084745c +80846bfc Pages::KartSelect::80847590 +80846c9c Pages::KartSelect::BeforeEntranceAnimations +80846cfc Pages::KartSelect::BeforeExitAnimations +80846d5c ButtonMachine::OnUpdate +80846e7c ButtonMachine::InitSelf +80846f60 zz_8478f4 +80847258 Pages::KartSelect::GetPlayerBitfield +80847260 Pages::KartSelect::__dt +808472fc Pages::KartSelect::GetRuntimeTypeInfo +80847308 ButtonMachine::GetRuntimeTypeInfo +80847314 ButtonMachine::__dt +8084736c KartSelect_cpp_sinit +80847390 Pages::MiiSelect::GetPageById +808474a0 MiiName::GetClassName +808474ac Pages::MiiSelect::OnINit +808476b0 Pages::MiiSelect::GetManipulatorManager +808476b8 Pages::MiiSelect::CreateExternalControl +80847838 Pages::MiiSelect::GetActivePlayerBitfield +80847840 Pages::MiiSelect::SetButtonHandlers +8084789c Pages::MiiSelect::CreateControl +80847bd4 Pages::MiiSelect::OnActivate +80847e54 Pages::MiiSelect::AfterControlUpdate +80847e58 Pages::MiiSelect::OnButtonClick +80848154 Pages::MiiSelect::OnExternalButtonSelect +808481c4 Pages::MiiSelect::OnButtonDeselect +808481cc Pages::MiiSelect::OnBackPress +80848240 Pages::MiiSelect::OnDeactivate +80848254 Pages::MiiSelect::OnRightArrowPress +808483ac Pages::MiiSelect::OnLeftArrowPress +808484b0 Pages::MiiSelect::OnTabButtonClick +80848600 Pages::MiiSelect::SetMiiIcons +808488a0 Pages::MiiSelect::GetCurTabMiiCount +808488f0 MiiName::InitSelf +80848ab4 Pages::MiiSelect::GetPlayerBitfield +80848abc Pages::MiiSelect::__dt +80848b64 Pages::MiiSelect::GetRuntimeTypeInfo +80848b70 MiiName::GetRuntimeTypeInfo +80848b7c Pages::MiiSelect::TriggerTabPtmf +80848bac Pages::MiiSelect::TriggerSheetPtmf +80848bdc MiiSelect_cpp_sinit_ +80848c00 Pages::MultiKartSelect::GetPageById +80848d10 Pages::MultiKartSelect::OnInit +80848fac Pages::MultiKartSelect::CreateExternalControl +80848fb4 Pages::MultiKartSelect::CreateControl +80849290 Pages::MultiKartSelect::OnActivate +808493ec Pages::MultiKartSelect::AfterControlUpdate +808494d0 Pages::MultiKartSelect::GetManipulatorManager +808494d8 Pages::MultiKartSelect::OnButtonClick +808495cc Pages::MultiKartSelect::OnExternalButtonSelect +808495d0 Pages::MultiKartSelect::OnButtonDeselect +808495d4 Pages::MultiKartSelect::OnBackPress +8084976c Pages::MultiKartSelect::OnUpDownClick +80849910 Pages::MultiKartSelect::OnUpDownChange +80849914 Pages::MultiKartSelect::OnTextChange +80849a64 Pages::MultiKartSelect::FillPossibleKarts +80849c30 0x80849c30 +80849cd4 Pages::MultiKartSelect::BeforeEntranceAnimations +80849d7c Pages::MultiKartSelect::BeforeExitAnimations +80849e24 Pages::MultiKartSelect::GetPlayerBitfield +80849e2c Pages::MultiKartSelect::GetActivePlayerBitfield +80849e34 Pages::MultiKartSelect::SetButtonHandlers +80849e90 Pages::MultiKartSelect::__dt +80849f70 Pages::MultiKartSelect::GetRuntimeTypeInfo +80849f7c TriggerPtmf +80849fac TriggerPtmf +80849fdc TriggerPtmf +8084a00c MultiKartSelectPage_cpp_sinit_ +8084a020 Pages::MultiDriftSelect::GetPageById +8084a130 Pages::MultiDriftSelect::OnInit +8084a5e8 Pages::MultiDriftSelect::GetManipulatorManager +8084a5f0 Pages::MultiDriftSelect::GetActivePlayerBitfield +8084a5f8 Pages::MultiDriftSelect::GetPlayerBitfield +8084a600 Pages::MultiDriftSelect::SetButtonHandlers +8084a65c Pages::MultiDriftSelect::OnControlsInitialized +8084a660 Pages::MultiDriftSelect::CreateExternalControl +8084a7bc Pages::MultiDriftSelect::CreateControl +8084a8ec Pages::MultiDriftSelect::OnActivate +8084a9f4 Pages::MultiDriftSelect::AfterControlUpdate +8084ab6c Pages::MultiDriftSelect::OnButtonClick +8084ae58 Pages::MultiDriftSelect::OnExternalButtonSelect +8084ae5c Pages::MultiDriftSelect::OnButtonDeselect +8084ae60 Pages::MultiDriftSelect::OnBackPress +8084af30 Pages::MultiDriftSelect::OnResume +8084aff0 Pages::MultiDriftSelect::__dt +8084b070 Pages::MultiDriftSelect::GetRuntimeTypeInfo +8084b07c MultiDriftSelectPage_cpp_sinit_ +8084b090 Pages::MultiTeamSelect::GetPageById +8084b1a0 Pages::MultiTeamSelect::OnInit +8084b668 Pages::MultiTeamSelect::GetManipulatorManager +8084b670 Pages::MultiTeamSelect::GetActivePlayerBitfield +8084b678 Pages::MultiTeamSelect::GetPlayerBifield +8084b680 Pages::MultiTeamSelect::SetButtonHandlers +8084b6dc Pages::MultiTeamSelect::OnControlsInitialized +8084b6e0 Pages::MultiTeamSelect::BeforeEntranceAnimations +8084b788 Pages::MultiTeamSelect::BeforeExitAnimations +8084b830 Pages::MultiTeamSelect::CreateExternalControl +8084b980 Pages::MultiTeamSelect::CreateControl +8084bab0 Pages::MultiTeamSelect::OnActivate +8084bd80 Pages::MultiTeamSelect::AfterControlUpdate +8084bd84 Pages::MultiTeamSelect::OnButtonClick +8084c288 Pages::MultiTeamSelect::OnExternalButtonSelect +8084c28c Pages::MultiTeamSelect::OnButtonDeselect +8084c290 Pages::MultiTeamSelect::OnBackPress +8084c39c Pages::MultiTeamSelect::OnResume +8084c488 Pages::MultiTeamSelect::AssignCPUTeams +8084c660 Pages::MultiTeamSelect::IsDifferentTeams +8084c6bc Pages::MultiTeamSelect::__dt +8084c73c Pages::MultiTeamSelect::GetRuntimeTypeInfo +8084c748 MultiTeamSelectPage_cpp_sinit_ +8084c75c Pages::MultiPlayer::GetPageById +8084c86c Pages::MultiPlayer::OnINit +8084c8cc Pages::MultiPlayer::CreateExternalControl +8084ca14 Pages::MultiPlayer::CreateControl +8084ca1c Pages::MultiPlayer::OnActivate +8084cb44 Pages::MultiPlayer::AfterControlUpdate +8084cb48 Pages::MultiPlayer::OnButtonClick +8084cd68 Pages::MultiPlayer::OnExternalButtonSelect +8084d1e8 Pages::MultiPlayer::OnButtonDeselect +8084d1ec Pages::MultiPlayer::OnBackPress +8084d240 Pages::MultiPlayer::OnDeactivate +8084d244 Pages::MultiPlayer::GetPlayerBifield +8084d24c Pages::MultiPlayer::GetActivePlayerBitfield +8084d254 Pages::MultiPlayer::SetButtonHandlers +8084d2b0 Pages::MultiPlayer::GetManipulatorManager +8084d2b8 Pages::MultiPlayer::__dt +8084d338 Pages::MultiPlayer::GetRuntimeTypeInfo +8084d344 MultiPlayerPage_cpp_sinit_ +8084d358 DriftSelectPage:GetPageById +8084d468 Pages::DriftSelect::OnInit +8084d54c Pages::DriftSelect::GetManipulatorManager +8084d554 Pages::DriftSelect::CreateExternalControl +8084d7a0 Pages::DriftSelect::CreateControl +8084d7a8 Pages::DriftSelect::OnActivate +8084d8c8 Pages::DriftSelect::AfterControlUpdate +8084d9f4 Pages::DriftSelect::OnButtonClick +8084dd28 Pages::DriftSelect::OnExternalButtonSelect +8084dd60 Pages::DriftSelect::OnButtonDeselect +8084dd64 Pages::DriftSelect::OnBackPress +8084dd70 Pages::DriftSelect::OnDeactivate +8084ddbc Pages::DriftSelect::GetPlayerBitfield +8084ddc4 Pages::DriftSelect::GetActivePlayerBitfield +8084ddcc Pages::DriftSelect::SetButtonHandlers +8084de28 Pages::DriftSelect::__dt +8084dea8 Pages::DriftSelect::GetRuntimeTypeInfo +8084deb4 DriftSelectPage_cpp_sinit_ +8084dec8 Pages::TopMenuOverlay::GetPageById +8084dfd8 Pages::TopMenuOverlay::CreateControl +8084e3b8 Pages::TopMenuOverlay::vf_0x98 +8084e3c0 Pages::TopMenuOverlay::GetPlayerBitfield +8084e3c8 Pages::TopMenuOverlay::GetActivePlayerBitfield +8084e3d0 Pages::TopMenuOverlay::GetManipulatorManager +8084e3d8 Pages::TopMenuOverlay::__dt +8084e458 Pages::TopMenuOverlay::GetRuntimeTypeInfo +8084e464 TopMenuOverlayPagecpp_sinit_ +8084e478 Pages::SinglePlayer::GetPageById +8084e588 Pages::SinglePlayer::OnInit +8084e628 Pages::SinglePlayer::GetManipulatorManager +8084e630 Pages::SinglePlayer::CreateExternalControl +8084e774 Pages::SinglePlayer::CreateControl +8084e77c Pages::SinglePlayer::OnActivate +8084e900 Pages::SinglePlayer::AfterControlUpdate +8084e904 Pages::SinglePlayer::OnButtonClick +8084ecf4 Pages::SinglePlayer::OnExternalButtonSelect +8084f1a0 Pages::SinglePlayer::OnButtonDeselect +8084f1a4 Pages::SinglePlayer::OnBackPress +8084f1f8 Pages::SinglePlayer::OnDeactivate +8084f1fc Pages::SinglePlayer::GetPlayerBitfield +8084f204 Pages::SinglePlayer::GetActivePlayerBitfield +8084f20c Pages::SinglePlayer::SetButtonHandlers +8084f268 Pages::SinglePlayer::__dt +8084f2e8 Pages::SinglePlayer::GetRuntimeTypeInfo +8084f2f4 SinglePlayerPage_cpp_sinit_ +8084f308 Pages::VSTeamsView::GetPageById +8084f418 Pages::VSTeamsView::OnInit +8084f41c Pages::VSTeamsView::CreateExternalControl +8084f4ac Pages::VSTeamsView::CreateControl +8084f514 Pages::VSTeamsView::OnActivate +8084f518 Pages::VSTeamsView::AfterControlUpdate +8084f51c Pages::VSTeamsView::OnButtonClick +8084f5ec Pages::VSTeamsView::OnExternalButtonSelect +8084f624 Pages::VSTeamsView::OnButtonDeselect +8084f628 Pages::VSTeamsView::OnBackPress +8084f634 Pages::VSTeamsView::AssignTeams +8084f80c Pages::VSTeamsView::GetPlayerBitfield +8084f814 Pages::VSTeamsView::GetActivePlayerBitfield +8084f81c Pages::VSTeamsView::SetButtonHandlers +8084f878 Pages::VSTeamsView::GetManipulatorManager +8084f880 Pages::VSTeamsView::__dt +8084f918 Pages::VSTeamsView::GetRuntimeTypeInfo +8084f924 VSTeamsViewPage_cpp_sinit_ +8084f938 Pages::MainMenu::GetPageById +8084fa48 Pages::MainMenu::OnInit +8084fb48 Pages::MainMenu::GetManipulatorManager +8084fb50 Pages::MainMenu::CreateExternalControl +8084fbec Pages::MainMenu::CreateControl +808503c0 Pages::MainMenu::SetButtonHandlers +8085041c Pages::MainMenu::OnActivate +80850774 Pages::MainMenu::AfterControlUpdate +80850778 Pages::MainMenu::OnButtonClick +80850b88 Pages::MainMenu::OnExternalButtonSelect +80850c0c Pages::MainMenu::OnButtonDeselect +80850d18 Pages::MainMenu::OnBackPress +80850d28 Pages::MainMenu::ResetSectionParamsAndRacedataScenario1 +808511f4 Pages::MainMenu::OnDeactivate +808511f8 Pages::MainMenu::ShowMessageBox +808512f0 Pages::MainMenu::GetPlayerBitfield +808512f8 Pages::MainMenu::GetActivePlayerBitfield +80851300 Pages::MainMenu::__dt +80851398 Pages::MainMenu::GetRuntimeTypeInfo +808513a4 MainMenuPage_cpp_sinit_ +808513b8 0x808513b8 +808514c8 0x808514c8 +808514d4 0x808514d4 +808514dc 0x808514dc +808515dc 0x808515dc +80851648 0x80851648 +8085164c 0x8085164c +80851660 0x80851660 +80851664 0x80851664 +80851668 Pages::Menu::UnloadVideoSource +80851674 0x80851674 +80851678 0x80851678 +80851680 0x80851680 +80851688 0x80851688 +808516e4 0x808516e4 +808516ec 0x808516ec +80851778 0x80851778 +80851784 0x80851784 +80851798 Pages::VSModeSelect::GetPageById +808518a8 Pages::VSModeSelect::OnInit +808518fc Pages::VSModeSelect::GetManipulatorManager +80851904 Pages::VSModeSelect::CreateExternalControl +80851ab4 Pages::VSModeSelect::CreateControl +80851abc Pages::VSModeSelect::OnActivate +80851f74 Pages::VSModeSelect::OnActivate_switch +80851f78 Pages::VSModeSelect::OnActivate_case_0 +80851f90 Pages::VSModeSelect::OnActivate_case_1 +80851fa8 Pages::VSModeSelect::OnActivate_case_2 +80851fc0 Pages::VSModeSelect::OnActivate_case_3 +80851fd8 Pages::VSModeSelect::OnActivate_case_4 +80851ff0 Pages::VSModeSelect::OnActivate_case_5 +80852008 Pages::VSModeSelect::OnActivate_case_6 +80852020 Pages::VSModeSelect::OnActivate_case_7 +80852068 Pages::VSModeSelect::AfterControlUpdate +8085206c Pages::VSModeSelect::OnButtonClick +8085214c Pages::VSModeSelect::OnExternalButtonSelect +80852184 Pages::VSModeSelect::OnButtonDeselect +80852188 Pages::VSModeSelect::OnBackPress +80852194 Pages::VSModeSelect::OnDeactivate +808521e0 Pages::VSModeSelect::GetPlayerBitfield +808521e8 Pages::VSModeSelect::GetActivePlayerBitfield +808521f0 Pages::VSModeSelect::SetButtonHandlers +8085224c Pages::VSModeSelect::__dt +808522cc Pages::VSModeSelect::GetRuntimeTypeInfo +808522d8 VSModeSelectPage_cpp_sinit_ +808522ec Pages::VSSettings::GetPageById +808523fc Pages::VSSettings::OnInit +80852694 Pages::VSSettings::CreateExternalControl +80852724 Pages::VSSettings::CreateControl +80852bb8 Pages::VSSettings::OnActivate +80852cbc Pages::VSSettings::AfterControlUpdate +80852cc0 Pages::VSSettings::OnButtonClick +80852cf0 Pages::VSSettings::OnExternalButtonSelect +80852d1c Pages::VSSettings::OnButtonDeselect +80852d20 Pages::VSSettings::OnBackPress +80852d80 Pages::VSSettings::OnRadioClick +80852f08 Pages::VSSettings::OnRadioChange +80852f88 Pages::VSSettings::OnUpDownClick +80852ff4 Pages::VSSettings::OnUpDownSelect +80853004 Pages::VSSettings::OnUpDownChange +8085307c Pages::VSSettings::OnTextChange +808530f8 Pages::VSSettings::OnDispose +80853108 Pages::VSSettings::GetPlayerBitfield +80853110 Pages::VSSettings::GetLocalPlayerCount +80853118 Pages::VSSettings::SetButtonHandlers +80853174 Pages::VSSettings::GetManipulatorManager +8085317c Pages::VSSettings::__dt +80853244 Pages::VSSettings::GetRuntimeTypeInfo +80853250 Pages::VSSettings::TriggerUpDown3APtmf +80853280 Pages::VSSettings::TriggerRadioPtmf +808532b0 Pages::VSSettings::TriggerTextPtmf +808532e0 Pages::VSSettings::TriggerUpDown2APtmf +80853310 VSSettingsPage_cpp_sinit_ +80853324 Pages::Unlock::GetPageById +80853434 0x80853434 +80853484 Pages::Unlock::OnInit +8085349c Pages::Unlock::CreateExternalControl +8085352c Pages::Unlock::CreateControl +80853770 Pages::Unlock::OnActivate +8085398c Pages::Unlock::AfterControlUpdate +80853ae8 Pages::Unlock::OnButtonClick +80853db4 Pages::Unlock::OnExternalButtonSelect +80853db8 Pages::Unlock::OnButtonDeselect +80853dbc Pages::Unlock::OnBackPress +80853dc0 Pages::Unlock::SetTitleBMG +80853e7c Pages::Unlock::PrepareControls +808540ec 0x808540ec +8085414c 0x8085414c +808541ac Pages::Unlock::SetModels +808542a8 Pages::Unlock::SetModels_switch +808542ac Pages::Unlock::SetModels_caseD_1b +808542b8 Pages::Unlock::SetModels_caseD_10 +808542c0 Pages::Unlock::SetModels_caseD_d +808542cc Pages::Unlock::SetModels_caseD_b +808542d8 Pages::Unlock::SetModels_caseD_e +808542e4 Pages::Unlock::SetModels_caseD_11 +808542f0 Pages::Unlock::SetModels_caseD_12 +80854344 0x80854344 +80854394 0x80854394 +808543d0 0x808543d0 +8085446c Pages::Unlock::SetMessageWindowMessage +80854610 0x80854610 +80854728 Pages::Unlock::GetPlayerBifield +80854730 Pages::Unlock::GetActivePlayerBitfield +80854738 Pages::Unlock::SetButtonHandlers +80854794 Pages::Unlock::GetManipulatorManager +8085479c Pages::Unlock::__dt +8085484c Pages::Unlock::GetRuntimeTypeInfo +80854858 UnlockPage_cpp_sinit_ +8085486c Pages::RaceIntro::OnInit +80854cb0 Pages::RaceIntro::__dt +80854d30 Pages::RaceIntro::GetRuntimeTypeInfo +80854d3c RaceIntroPage_cpp_sinit_ +80854d50 Pages::TTSplits::__ct +80854ec0 Pages::TTSplits::Unload +80854ed0 Pages::TTSplits::__dt +80854f90 Pages::TTSplits::OnInit +80855148 Pages::TTSplits::AfterControlUpdate +8085519c Pages::TTSplits::BeforeEntranceAnimations +808557d8 Pages::TTSplits::BeforeExitAnimations +80855848 Pages::TTSplits::GetNextPage +80855894 Pages::TTSplits::GetRuntimeTypeInfo +808558a0 Pages::TTSplits::TriggerAction +808558d0 Pages::TTSplits::_sinit_ +808558e4 Pages::RaceHUD::OnInit +80855cd0 Pages::RaceHUD::InitActions +80856018 Pages::RaceHUD::OnNextPlayerSwitch +80856020 Pages::RaceHUD::OnPrevPlayerSwitch +80856028 Pages::RaceHUD::OnPause +808561e0 Pages::RaceHUD::ChangeFocusedPlayer +80856338 Pages::RaceHUD::GetLocalPlayerCount +80856358 Pages::RaceHUD::BeforeControlUpdate +80856940 Pages::RaceHUD::HasPlayerRaceEnded +80856998 Pages::RaceHUD::HasRaceEndedReplay +80856a18 Pages::RaceHUD::HasRaceEnded +80856b24 Pages::RaceHUD::AfterControlUpdate +80857134 0x80857134 +80857174 Pages::RaceHUD::GetCtrlRaceBaseCount +8085732c Pages::RaceHUD::InitCtrlRaceBase +80857e94 CtrlRaceCount::__ct +80857ed0 RaceBalloons::__dt +80857f38 CtrlRaceNameBalloon::__ct +80857f88 CtrlRaceItemBalloon::__ct +80857fd8 Pages::TournamentHUD::GetEnabledCtrlRaceBases +80858084 Pages::RaceHUD::OnDeactivate +80858090 Pages::RaceHUD::OnDispose +808580a0 Pages::RaceHUD::ChangeSectionByReinit +808580bc Pages::RaceHUD::OnItemObjTargeting +80858150 Pages::RaceHUD::UpdateRaceBalloons +808581f4 Pages::TournamentHUD::GetCtrlRaceNameBalloonCount +808581fc Pages::TournamentHUD::GetPausePageId +80858204 Pages::TournamentHUD::__dt +80858270 Pages::TournamentHUD::GetRuntimeTypeInfo +8085827c Pages::RaceHUD::GetRuntimeTypeInfo +80858288 TriggerPtmf +808582b8 0x808582b8 +80858310 Pages::RaceMenu::__ct +808583cc Pages::RaceMenu::OnInit +80859098 Pages::RaceMenu::OnActivate +80859504 Pages::RaceMenu::AfterControlUpdate +8085959c Pages::RaceMenu::BeforeEntranceAnimations +808595a0 Pages::RaceMenu::BeforeExitAnimations +8085960c Pages::RaceMenu::OnDeactivate +80859610 Pages::RaceMenu::OnDispose +808596a8 0x808596a8 +80859704 Pages::RaceMenu::OnStartPress +80859760 Pages::RaceMenu::OnButtonClick +8085982c 0x8085982c +80859874 0x80859874 +80859904 0x80859904 +80859bec 0x80859bec +80859c4c 0x80859c4c +80859ce8 0x80859ce8 +80859d48 0x80859d48 +80859e78 0x80859e78 +8085a01c 0x8085a01c +8085a2c0 0x8085a2c0 +8085a690 0x8085a690 +8085a744 0x8085a744 +8085a7f8 0x8085a7f8 +8085aa28 0x8085aa28 +8085aad4 0x8085aad4 +8085ab28 0x8085ab28 +8085abd4 0x8085abd4 +8085ac54 0x8085ac54 +8085ad44 0x8085ad44 +8085ada8 0x8085ada8 +8085ae28 0x8085ae28 +8085ae88 0x8085ae88 +8085af34 0x8085af34 +8085af9c 0x8085af9c +8085b048 0x8085b048 +8085b0b0 0x8085b0b0 +8085b15c 0x8085b15c +8085b27c Pages::RaceMenu::IsFinalRace +8085b3c4 Pages::RaceMenu::GetRuntimeTypeInfo +8085b3d0 TriggerPtmf +8085b400 TriggerPtmf +8085b430 0x8085b430 +8085b4b0 Pages::Leaderboard::__ct +8085b600 Pages::Leaderboard::OnActivate +8085b6dc 0x8085b6dc +8085b730 Pages::Leaderboard::AfterControlUpdate +8085b7d8 0x8085b7d8 +8085b9fc Pages::Leaderboard::GetRuntimeTypeInfo +8085ba08 TriggerPtmf +8085ba38 0x8085ba38 +8085ba4c Pages::GPVSLeaderboardUpdate::OnInit +8085bb60 Pages::GPVSLeaderboardUpdate::GetRowCount +8085bb70 Pages::GPVSLeaderboardUpdate::CanEnd +8085bc0c Pages::GPVSLeaderboardUpdate::Func_0x6c +8085bec4 Pages::GPVSLeaderboardUpdate::FillRows +8085bfe0 Pages::GPVSLeaderboardUpdate::GetNextPage +8085c01c Pages::GPVSLeaderboardTotal::OnInit +8085c154 Pages::GPVSLeaderboardTotal::FillRows +8085c2ac Pages::GPVSLeaderboardTotal::GetNextPage +8085c2f0 Pages::GPVSLeaderboardTotal::ComparePlayers +8085c384 Pages::WWLeaderboardUpdate::OnInit +8085c4f8 Pages::WWLeaderboardUpdate::FillRows +8085cbc8 Pages::WWLeaderboardUpdate::GetNextPage +8085cbd0 Pages::TTLeaderboard::OnInit +8085cdf0 Pages::TTLeaderboard::GetRowCount +8085cdf8 Pages::TTLeaderboard::FillRows +8085d2b0 Pages::TTLeaderboard::GetNextPage +8085d4a0 0x8085d4a0 +8085da18 0x8085da18 +8085da20 0x8085da20 +8085da28 0x8085da28 +8085da98 0x8085da98 +8085daa4 Pages::TTLeaderboard::__dt +8085db24 Pages::TTLeaderboard::GetRuntimeTypeInfo +8085db30 Pages::WWLeaderboardUpdate::__dt +8085dba0 Pages::WWLeaderboardUpdate::GetRuntimeTypeInfo +8085dbac Pages::GPVSLeaderboardTotal::__dt +8085dc1c Pages::GPVSLeaderboardTotal::GetRuntimeTypeInfo +8085dc28 Pages::GPVSLeaderboardUpdate::__dt +8085dc98 Pages::GPVSLeaderboardUpdate::GetRuntimeTypeInfo +8085dca4 0x8085dca4 +8085dcb0 LeaderboardsPagescpp_sinit_ +8085dce0 Pages::TeamVSLeaderboardBase::OnInit +8085de0c Pages::TeamVSLeaderboardBase::AfterControlUpdate +8085de68 Pages::TeamVSLeaderboardBase::CanEnd +8085dec8 Pages::TeamVSLeaderboardBase::CalcTeamScoreDiff +8085e050 Pages::TeamVSLeaderboardTotal::FillRows +8085e0c0 Pages::BattleLeaderboardTotal::FillRows +8085e0d0 Pages::BattleLeaderboardUpdate::FillRows +8085e420 Pages::TeamVSLeaderboardTotal::GetNextPage +8085e450 Pages::BattleLeaderboardUpdate::GetNextPage +8085e480 Pages::BattleLeaderboardTotal::GetNextPage +8085e51c Pages::BattleLeaderboardTotal::__dt +8085e5a8 Pages::BattleLeaderboardTotal::GetRuntimeTypeInfo +8085e5b4 Pages::BattleLeaderboardUpdate::__dt +8085e640 Pages::BattleLeaderboardUpdate::GetRuntimeTypeInfo +8085e64c Pages::TeamVSLeaderboardTotal::__dt +8085e6d8 Pages::TeamVSLeaderboardTotal::GetRuntimeTypeInfo +8085e6e4 Pages::TeamVSLeaderboardBase::GetRuntimeTypeInfo +8085e6f0 TeamLeaderboard_cpp_sinit_ +8085e718 Pages::LicenseRecords::GetPageById +8085e828 Pages::LicenseRecords::OnInit +8085e8d0 Pages::LicenseRecords::CreateExternalControl +8085e97c Pages::LicenseRecords::CreateControl +8085eadc Pages::LicenseRecords::OnActivate +8085eb48 Pages::LicenseRecords::AfterControlUpdate +8085eb4c 0x8085eb4c +8085ec28 Pages::LicenseRecords::OnExternalButtonSelect +8085ec2c 0x8085ec2c +8085ec30 0x8085ec30 +8085ec58 0x8085ec58 +8085efa0 0x8085efa0 +8085f0dc 0x8085f0dc +8085f278 0x8085f278 +8085f390 0x8085f390 +8085f52c Pages::LicenseRecords::GetPlayerBitfield +8085f534 Pages::LicenseRecords::GetActivePlayerBitfield +8085f53c Pages::LicenseRecords::SetButtonHandlers +8085f598 Pages::LicenseRecords::GetManipulatorManager +8085f5a0 Pages::LicenseRecords::__dt +8085f620 Pages::LicenseRecords::GetRuntimeTypeInfo +8085f62c LicenseRecordsPagecpp_sinit_ +8085f640 RacePauseMgr::CreateInstance +8085f6a0 RacePauseMgr::__ct +8085f6b8 RacePauseMgr::DestroyInstance +8085f708 RacePauseMgr::__dt +8085f748 RacePauseMgr::RequestPause +8085f76c RacePauseMgr::RequestUnpause +8085f790 0x8085f790 +8085f7c4 0x8085f7c4 +8085f7cc 0x8085f7cc +8085f870 0x8085f870 +8085f8c0 0x8085f8c0 +8085f8c8 0x8085f8c8 +8085f8d0 0x8085f8d0 +8085f8e8 0x8085f8e8 +8085f91c 0x8085f91c +8085f924 0x8085f924 +8085f92c 0x8085f92c +8085f934 0x8085f934 +8085f93c 0x8085f93c +8085f944 0x8085f944 +8085f94c 0x8085f94c +8085f954 0x8085f954 +8085f95c 0x8085f95c +8085f964 0x8085f964 +8085f96c 0x8085f96c +8085f974 0x8085f974 +8085f97c 0x8085f97c +8085f984 0x8085f984 +8085f98c 0x8085f98c +8085f994 0x8085f994 +8085f99c 0x8085f99c +8085f9a4 0x8085f9a4 +8085f9ac 0x8085f9ac +8085f9b4 0x8085f9b4 +8085f9c4 0x8085f9c4 +8085f9f8 0x8085f9f8 +8085fa00 0x8085fa00 +8085fa08 0x8085fa08 +8085fa10 0x8085fa10 +8085fa20 0x8085fa20 +8085fa3c 0x8085fa3c +8085fa40 0x8085fa40 +8085fa48 0x8085fa48 +8085fa50 0x8085fa50 +8085fa58 0x8085fa58 +8085fa60 0x8085fa60 +8085fa68 0x8085fa68 +8085fa70 0x8085fa70 +8085fa78 0x8085fa78 +8085fa88 0x8085fa88 +8085fab4 0x8085fab4 +8085fabc 0x8085fabc +8085fadc 0x8085fadc +8085fae0 0x8085fae0 +8085faf0 IsOnlineSection +8085fb2c IsGhostRaceSection +8085fb4c IsTournamentSection +8085fb6c GetActiveRacedataPlayers +8085fc68 GetLocalPlayerCount +8085fc80 0x8085fc80 +8085fcf8 0x8085fcf8 +8085fd10 GetNextVSTrack +8085fd3c 0x8085fd3c +8085fd78 0x8085fd78 +8085fe98 0x8085fe98 +8085ff50 TimerToTextInfo +80860068 IsGameplaySection +80860094 0x80860094 +808600f8 IsBattle +80860138 GetCharacterIconPaneName +8086015c GetItemIconPaneName +808601c0 GetCupIconPaneName +808601f4 0x808601f4 +80860228 GetBattleCupIconPaneName +8086025c 0x8086025c +80860474 GetMapIconPaneName +80860598 0x80860598 +80860600 0x80860600 +80860604 0x80860604 +80860680 0x80860680 +808606e8 0x808606e8 +80860768 0x80860768 +808607d0 0x808607d0 +80860908 0x80860908 +8086097c 0x8086097c +808609d4 0x808609d4 +80860a1c 0x80860a1c +80860af4 0x80860af4 +80860b50 0x80860b50 +80860b90 0x80860b90 +80860c04 0x80860c04 +80860cec 0x80860cec +80860d60 0x80860d60 +80860dc8 0x80860dc8 +80860e10 0x80860e10 +80860f24 0x80860f24 +80860fa4 0x80860fa4 +80861088 0x80861088 +808610e4 0x808610e4 +80861124 0x80861124 +80861198 0x80861198 +80861210 0x80861210 +80861270 0x80861270 +808612bc 0x808612bc +80861394 0x80861394 +808613f0 0x808613f0 +80861438 0x80861438 +808614ac 0x808614ac +80861520 0x80861520 +80861594 0x80861594 +808615f0 0x808615f0 +80861638 0x80861638 +808616ac 0x808616ac +80861794 0x80861794 +80861808 0x80861808 +8086187c 0x8086187c +808618e4 0x808618e4 +80861924 0x80861924 +80861998 0x80861998 +80861a0c 0x80861a0c +80861af0 0x80861af0 +80861b64 0x80861b64 +80861bd8 0x80861bd8 +80861c34 0x80861c34 +80861c74 0x80861c74 +80861ce8 0x80861ce8 +80861d44 0x80861d44 +80861dc0 0x80861dc0 +80861e2c 0x80861e2c +80861eb8 0x80861eb8 +80861f10 0x80861f10 +80861ff4 0x80861ff4 +80862010 0x80862010 +80862014 0x80862014 +8086201c 0x8086201c +80862024 0x80862024 +8086202c 0x8086202c +80862034 0x80862034 +8086203c 0x8086203c +80862044 0x80862044 +8086204c 0x8086204c +80862054 0x80862054 +8086205c 0x8086205c +80862064 0x80862064 +8086206c 0x8086206c +80862074 0x80862074 +8086207c 0x8086207c +80862084 0x80862084 +8086208c 0x8086208c +80862094 0x80862094 +8086209c 0x8086209c +808620a4 0x808620a4 +808620ac 0x808620ac +808620b4 0x808620b4 +808620bc 0x808620bc +808620c4 0x808620c4 +808620cc 0x808620cc +808620d4 0x808620d4 +808620dc 0x808620dc +808620e4 0x808620e4 +808620ec 0x808620ec +808620f4 0x808620f4 +808620fc 0x808620fc +80862104 0x80862104 +8086210c 0x8086210c +80862114 0x80862114 +80862124 0x80862124 +80862140 0x80862140 +80862144 0x80862144 +8086214c 0x8086214c +80862154 0x80862154 +8086215c 0x8086215c +80862164 0x80862164 +8086216c 0x8086216c +80862174 0x80862174 +8086217c 0x8086217c +80862184 0x80862184 +8086218c 0x8086218c +80862194 0x80862194 +8086219c 0x8086219c +808621a4 0x808621a4 +808621ac 0x808621ac +808621b4 0x808621b4 +808621bc 0x808621bc +808621c4 0x808621c4 +808621cc 0x808621cc +808621d4 0x808621d4 +808621dc 0x808621dc +808621e4 0x808621e4 +808621ec 0x808621ec +808621f4 0x808621f4 +808621fc 0x808621fc +80862204 0x80862204 +8086220c 0x8086220c +80862214 0x80862214 +8086221c 0x8086221c +80862224 0x80862224 +8086222c 0x8086222c +80862234 0x80862234 +8086223c 0x8086223c +80862244 0x80862244 +8086224c 0x8086224c +80862254 0x80862254 +8086225c 0x8086225c +80862264 0x80862264 +8086226c 0x8086226c +80862274 0x80862274 +8086227c 0x8086227c +80862284 0x80862284 +8086228c 0x8086228c +80862294 0x80862294 +8086229c 0x8086229c +808622a4 0x808622a4 +808622ac 0x808622ac +808622b4 0x808622b4 +808622bc 0x808622bc +808622c4 0x808622c4 +808622cc 0x808622cc +808622d4 0x808622d4 +808622e4 0x808622e4 +80862308 0x80862308 +80862324 0x80862324 +80862328 0x80862328 +80862330 0x80862330 +80862338 0x80862338 +80862340 0x80862340 +80862348 0x80862348 +80862350 0x80862350 +80862358 0x80862358 +80862360 0x80862360 +80862368 0x80862368 +80862370 0x80862370 +80862378 0x80862378 +80862380 0x80862380 +80862388 0x80862388 +80862390 0x80862390 +808623a0 0x808623a0 +808623c4 0x808623c4 +808623e4 0x808623e4 +808623e8 0x808623e8 +808623f0 0x808623f0 +808623f8 0x808623f8 +80862400 0x80862400 +80862408 0x80862408 +80862410 0x80862410 +80862418 0x80862418 +80862420 0x80862420 +80862428 0x80862428 +80862430 0x80862430 +80862438 0x80862438 +80862440 0x80862440 +80862448 0x80862448 +80862450 0x80862450 +80862458 0x80862458 +80862460 0x80862460 +80862468 0x80862468 +80862470 0x80862470 +80862478 0x80862478 +80862480 0x80862480 +80862490 0x80862490 +808628a0 0x808628a0 +80862908 0x80862908 +80862930 0x80862930 +8086295c 0x8086295c +80862960 0x80862960 +8086296c 0x8086296c +80862978 0x80862978 +80862984 0x80862984 +80862990 0x80862990 +8086299c 0x8086299c +808629a8 0x808629a8 +808629b4 0x808629b4 +808629c4 0x808629c4 +808629c8 0x808629c8 +808629f0 0x808629f0 +80862a18 0x80862a18 +80862a38 0x80862a38 +80862a3c 0x80862a3c +80862a48 0x80862a48 +80862a54 0x80862a54 +80862a60 0x80862a60 +80862a6c 0x80862a6c +80862a78 0x80862a78 +80862a84 0x80862a84 +80862a90 0x80862a90 +80862a9c 0x80862a9c +80862aa8 0x80862aa8 +80862ab4 0x80862ab4 +80862ac0 0x80862ac0 +80862acc 0x80862acc +80862ad8 0x80862ad8 +80862ae4 0x80862ae4 +80862af0 0x80862af0 +80862afc 0x80862afc +80862b04 0x80862b04 +80862b08 0x80862b08 +80862b28 0x80862b28 +80862b2c 0x80862b2c +80862b38 0x80862b38 +80862b44 0x80862b44 +80862b50 0x80862b50 +80862b5c 0x80862b5c +80862b68 0x80862b68 +80862b74 0x80862b74 +80862b80 0x80862b80 +80862b8c 0x80862b8c +80862b98 0x80862b98 +80862ba4 0x80862ba4 +80862bb0 0x80862bb0 +80862bbc 0x80862bbc +80862bc8 0x80862bc8 +80862bd4 0x80862bd4 +80862be0 0x80862be0 +80862be8 0x80862be8 +80862bec 0x80862bec +80862c0c 0x80862c0c +80862c10 0x80862c10 +80862c1c 0x80862c1c +80862c28 0x80862c28 +80862c34 0x80862c34 +80862c40 0x80862c40 +80862c4c 0x80862c4c +80862c58 0x80862c58 +80862c64 0x80862c64 +80862c70 0x80862c70 +80862c7c 0x80862c7c +80862ca4 0x80862ca4 +80862ccc 0x80862ccc +80862cec 0x80862cec +80862cf0 0x80862cf0 +80862cfc 0x80862cfc +80862d08 0x80862d08 +80862d14 0x80862d14 +80862d20 0x80862d20 +80862d2c 0x80862d2c +80862d38 0x80862d38 +80862d44 0x80862d44 +80862d50 0x80862d50 +80862d5c 0x80862d5c +80862d68 0x80862d68 +80862d74 0x80862d74 +80862dc8 0x80862dc8 +80862e04 0x80862e04 +80862e08 0x80862e08 +80862e14 0x80862e14 +80862e20 0x80862e20 +80862e2c 0x80862e2c +80862e38 0x80862e38 +80862e44 0x80862e44 +80862e50 0x80862e50 +80862e5c 0x80862e5c +80862e94 0x80862e94 +80862e98 0x80862e98 +80862ec0 0x80862ec0 +80862ec4 0x80862ec4 +80862ed0 0x80862ed0 +80862edc 0x80862edc +80862ee8 0x80862ee8 +80862ef4 0x80862ef4 +80862f00 0x80862f00 +80862f0c 0x80862f0c +80862f18 0x80862f18 +80862f24 0x80862f24 +80862f30 0x80862f30 +80862f3c 0x80862f3c +80862f48 0x80862f48 +80862f50 0x80862f50 +80862f54 0x80862f54 +80862f94 Audio::CharacterActor::__ct +80863014 0x80863014 +80863054 Audio::RandomCharacterPicker::__dt +808630b0 Audio::RandomSoundPicker::__dt +80863108 Audio::CharacterActor::Link +80863524 0x80863524 +80863664 Audio::CharacterActor::Unlink +8086366c Audio::CharacterActor::Update +80863d30 Audio::CharacterActor::HoldSound +80863d5c Audio::CharacterActor::PlayCharacterSoundConditional +80863db4 Audio::CharacterActor::PlayCharacterSoundConditional_switch +80863db8 Audio::CharacterActor::PlayCharacterSoundConditional_case1a +80863e34 Audio::CharacterActor::PlayCharacterSoundConditional_case1b +80863ec0 Audio::CharacterActor::PlayCharacterSoundConditional_case16 +80863ee0 Audio::CharacterActor::PlayCharacterSoundConditional_case17 +80863f30 Audio::CharacterActor::PlayCharacterSoundConditional_caseb +80863f3c Audio::CharacterActor::PlayCharacterSoundConditional_casec +80863f58 Audio::CharacterActor::PlayCharacterSoundConditional_case10 +80863f80 Audio::CharacterActor::PlayCharacterSound +80864358 0x80864358 +808646bc 0x808646bc +808647a4 0x808647a4 +808649fc 0x808649fc +80864ab4 Audio::CharacterActor::PlayCharacterCollisionSound +80864aec 0x80864aec +80864af4 0x80864af4 +80864afc 0x80864afc +80864b04 0x80864b04 +80864b14 0x80864b14 +80864b84 0x80864b84 +80864ba0 0x80864ba0 +80864bec 0x80864bec +80864c20 0x80864c20 +80864c84 Audio::CharacterActor::StartSound +80864d30 0x80864d30 +80864d38 0x80864d38 +80864f2c 0x80864f2c +80864f84 0x80864f84 +80864fb0 0x80864fb0 +80864fd0 0x80864fd0 +80864ff0 Audio::CharacterActor::StopSound +80865084 0x80865084 +80865104 0x80865104 +80865240 0x80865240 +80865454 0x80865454 +80865570 0x80865570 +808655a4 0x808655a4 +808655bc 0x808655bc +808655d0 0x808655d0 +80865638 Jumbotron_StopPlaying +8086564c 0x8086564c +8086577c 0x8086577c +808657dc 0x808657dc +80865804 0x80865804 +80865898 0x80865898 +80865950 0x80865950 +80865978 0x80865978 +808659f4 Audio::CharacterActor::GetCharacterGroupId +80865a70 Audio::CharacterActor::GetCharacterCannonGroupId +80865b30 0x80865b30 +80865c94 0x80865c94 +80866188 0x80866188 +80866200 0x80866200 +80866274 Audio::CharacterActor::__dt +80866378 Audio::CharacterActor::__dt(thunk) +80866380 Audio::CharacterActor::StopSound(thunk) +80866388 Audio::CharacterActor::HoldSound(thunk) +80866390 Audio::CharacterActor::StartSound(thunk) +80866398 Audio::CharacterActor::Update(thunk) +808663a0 Audio::CharacterActor::Unlink(thunk) +808663a8 Audio::CharacterActor::Link(thunk) +808663b0 AudioRandomMgr::Disposer__dt +80866448 AudioRandomMgr::CreateInstance +808664d0 AudioRandomMgr::DestroyInstance +80866504 AudioRandomMgr::__dt +808665b8 AudioRandomMgr::RandInt +808665ec AudioRandomMgr::RandFloat +8086662c 0x8086662c +8086668c 0x8086668c +808666f8 Audio::RandomSoundPicker::__ct +8086673c 0x8086673c +808667cc 0x808667cc +80866800 0x80866800 +80866960 0x80866960 +80866a10 0x80866a10 +80866a6c 0x80866a6c +80866b38 0x80866b38 +80866bac 0x80866bac +80866bbc 0x80866bbc +80866bf0 0x80866bf0 +80866c58 0x80866c58 +80866d10 0x80866d10 +80866d44 0x80866d44 +80866d4c Audio::RandomCharacterPicker::__ct +80866d90 0x80866d90 +80866df4 0x80866df4 +80866dfc 0x80866dfc +80866ebc 0x80866ebc +80866f7c 0x80866f7c +8086703c 0x8086703c +808670fc 0x808670fc +808671a8 0x808671a8 +80867324 0x80867324 +80867448 0x80867448 +80867578 0x80867578 +80867670 0x80867670 +808676b0 0x808676b0 +808677e8 0x808677e8 +80867a4c 0x80867a4c +80867bc0 0x80867bc0 +80867bf8 0x80867bf8 +80867ca4 0x80867ca4 +80867de0 cAIPad__ct +80867dec 0x80867dec +80867e00 0x80867e00 +80867fe0 0x80867fe0 +80868048 0x80868048 +808680a8 0x808680a8 +80868128 0x80868128 +8086828c 0x8086828c +808683a8 0x808683a8 +808683c0 0x808683c0 +80868498 0x80868498 +80868588 0x80868588 +808685a0 0x808685a0 +80868690 0x80868690 +808686a4 0x808686a4 +808686c0 0x808686c0 +808686d8 0x808686d8 +808686f0 0x808686f0 +80868704 0x80868704 +80868714 cTeam_GetPlayer +80868724 0x80868724 +8086874c 0x8086874c +80868768 0x80868768 +80868784 0x80868784 +80868868 0x80868868 +80868934 0x80868934 +808689ac thunk_0x808691fc +808689b0 0x808689b0 +808689d0 0x808689d0 +808689e0 0x808689e0 +808689ec 0x808689ec +808689f8 0x808689f8 +80868a24 0x80868a24 +80868af4 0x80868af4 +80868cc8 0x80868cc8 +80868d64 0x80868d64 +80868e10 0x80868e10 +80868e28 0x80868e28 +80868eb0 0x80868eb0 +80868ef0 0x80868ef0 +80869004 0x80869004 +80869044 0x80869044 +80869198 0x80869198 +808692b4 0x808692b4 +8086938c 0x8086938c +80869460 0x80869460 +8086963c 0x8086963c +80869748 0x80869748 +808698c0 0x808698c0 +80869940 0x80869940 +80869984 0x80869984 +8086a058 0x8086a058 +8086a05c 0x8086a05c +8086a09c 0x8086a09c +8086a0a0 0x8086a0a0 +8086a0e0 0x8086a0e0 +8086a1d4 0x8086a1d4 +8086a214 0x8086a214 +8086a28c obj_casino_roulette::__ct +8086a354 obj_casino_roulette_generateBigassLongListOfFloatsForRotation +8086a59c 0x8086a59c +8086a860 obj_casino_roulette_spinVisually +8086a8e0 obj_casino_roulette_update +8086a9a8 obj_casino_roulette_spinEverythingElse +8086ad8c obj_casino_roulette_calculateSpin +8086aee4 obj_casino_roulette_spinPlayer +8086b118 obj_casino_roulette_initDushBoardAnimationSpeed? +8086b194 0x8086b194 +8086b1a0 0x8086b1a0 +8086b220 0x8086b220 +8086b228 0x8086b228 +8086b230 0x8086b230 +8086b240 0x8086b240 +8086b248 0x8086b248 +8086b288 Objects::WLwallGC::__ct +8086b450 Objects::WLwallGC::__dt +8086b4a0 Objects::WLwallGC::OnStart +8086b574 0x8086b574 +8086b59c Objects::WLwallGC::GetTransformationMatrix +8086b704 Objects::WLwallGC::CalcNextPosition +8086b774 Objects::WLwallGC::Update +8086b8ec Objects::WLwallGC::CalcOtherEntityDistance +8086b914 Objects::WLwallGC::UpdateOtherEntityPos +8086b994 Objects::WLwallGC::IsCollidingAddEntryNoTriangleCheckImpl +8086bc14 Objects::WLwallGC::IsCollidingImpl +8086bcac Objects::WLwallGC::GetPropertiesBitfield +8086bcb4 Objects::WLwallGC::GetPeriod +8086bcf0 Objects::WLwallGC::vf_0x11c +8086bcf8 0x8086bcf8 +8086bff4 0x8086bff4 +8086bff8 0x8086bff8 +8086c038 0x8086c038 +8086c0ac 0x8086c0ac +8086c138 0x8086c138 +8086c208 0x8086c208 +8086cefc 0x8086cefc +8086d500 0x8086d500 +8086d514 0x8086d514 +8086d534 0x8086d534 +8086d554 0x8086d554 +8086d55c 0x8086d55c +8086d6a0 0x8086d6a0 +8086d77c 0x8086d77c +8086d884 0x8086d884 +8086d888 0x8086d888 +8086d890 0x8086d890 +8086df7c 0x8086df7c +8086e048 0x8086e048 +8086e148 0x8086e148 +8086e2a8 0x8086e2a8 +8086e2c8 0x8086e2c8 +8086e4bc 0x8086e4bc +8086e5a0 0x8086e5a0 +8086e688 0x8086e688 +8086e808 0x8086e808 +8086e8a8 0x8086e8a8 +8086ea7c 0x8086ea7c +8086ed78 0x8086ed78 +8086ef58 0x8086ef58 +8087067c 0x8087067c +808706cc 0x808706cc +80870ae8 0x80870ae8 +80870cf0 0x80870cf0 +80870d04 0x80870d04 +80870f1c 0x80870f1c +80870f6c 0x80870f6c +80871160 0x80871160 +808711b0 0x808711b0 +8087121c 0x8087121c +80871874 0x80871874 +80871ec4 0x80871ec4 +80872138 0x80872138 +80872240 0x80872240 +8087224c 0x8087224c +80872254 0x80872254 +8087225c 0x8087225c +80872260 0x80872260 +80872264 0x80872264 +80872268 0x80872268 +8087226c 0x8087226c +80872274 0x80872274 +80872278 0x80872278 +80872280 0x80872280 +80872310 0x80872310 +80872320 0x80872320 +80872334 0x80872334 +80872e90 0x80872e90 +80872ebc 0x80872ebc +80872ec8 0x80872ec8 +8087301c 0x8087301c +80873024 0x80873024 +8087302c 0x8087302c +80873034 0x80873034 +8087303c 0x8087303c +80873060 0x80873060 +80873070 0x80873070 +80873074 0x80873074 +8087308c 0x8087308c +808730ac 0x808730ac +808731b4 0x808731b4 +80873360 0x80873360 +8087342c 0x8087342c +80873480 0x80873480 +80873498 0x80873498 +808735d8 0x808735d8 +80873844 0x80873844 +808738b0 0x808738b0 +8087396c 0x8087396c +80873a0c 0x80873a0c +80873bdc 0x80873bdc +80873de8 0x80873de8 +80873fbc 0x80873fbc +808740b0 0x808740b0 +808741a0 0x808741a0 +80874284 0x80874284 +808743e8 0x808743e8 +808743fc 0x808743fc +80874474 0x80874474 +80874ac0 0x80874ac0 +80874c30 0x80874c30 +80874ce8 0x80874ce8 +80874cf4 0x80874cf4 +80874dac GoalOverlay_SceneCreated +80874db8 0x80874db8 +80875118 0x80875118 +808753dc 0x808753dc +80875d5c 0x80875d5c +80875d7c 0x80875d7c +80875fd0 0x80875fd0 +80876a60 0x80876a60 +80876a74 0x80876a74 +80876be0 0x80876be0 +80876fe0 0x80876fe0 +8087724c 0x8087724c +8087783c 0x8087783c +80877990 0x80877990 +80877b00 0x80877b00 +80877f08 0x80877f08 +80878cc0 0x80878cc0 +80878d04 0x80878d04 +80878d8c 0x80878d8c +80879280 0x80879280 +8087940c 0x8087940c +808797a4 0x808797a4 +80879a18 0x80879a18 +80879b48 0x80879b48 +80879d78 0x80879d78 +80879d84 0x80879d84 +8087a660 0x8087a660 +8087a664 0x8087a664 +8087a804 0x8087a804 +8087a878 0x8087a878 +8087a890 0x8087a890 +8087a894 0x8087a894 +8087a958 0x8087a958 +8087a960 0x8087a960 +8087aa48 0x8087aa48 +8087aad8 0x8087aad8 +8087ab3c 0x8087ab3c +8087b08c 0x8087b08c +8087b090 0x8087b090 +8087b0d0 0x8087b0d0 +8087b138 0x8087b138 +8087b650 0x8087b650 +8087c170 0x8087c170 +8087c1b0 0x8087c1b0 +8087c1b8 0x8087c1b8 +8087c1f8 0x8087c1f8 +8087c200 0x8087c200 +8087c240 0x8087c240 +8087c248 0x8087c248 +8087c288 0x8087c288 +8087c2c8 0x8087c2c8 +8087c2d0 0x8087c2d0 +8087c310 0x8087c310 +8087c318 0x8087c318 +8087c358 0x8087c358 +8087c360 0x8087c360 +8087d250 0x8087d250 +8087d2b4 0x8087d2b4 +8087d318 0x8087d318 +8087d358 0x8087d358 +8087d3c4 0x8087d3c4 +8087d3cc 0x8087d3cc +8087d430 0x8087d430 +8087d49c 0x8087d49c +8087d508 0x8087d508 +8087d570 0x8087d570 +8087d5b0 0x8087d5b0 +8087d614 0x8087d614 +8087d61c 0x8087d61c +8087d65c 0x8087d65c +8087d6c0 0x8087d6c0 +8087d6c8 0x8087d6c8 +8087d708 0x8087d708 +8087d76c 0x8087d76c +8087d774 0x8087d774 +8087d7b4 0x8087d7b4 +8087d7e4 0x8087d7e4 +8087d824 0x8087d824 +8087d854 0x8087d854 +8087d894 0x8087d894 +8087d8c4 0x8087d8c4 +8087d904 0x8087d904 +8087d970 0x8087d970 +8087d978 0x8087d978 +8087d9b8 0x8087d9b8 +8087da1c 0x8087da1c +8087da24 0x8087da24 +8087da64 0x8087da64 +8087daa4 0x8087daa4 +8087dad4 0x8087dad4 +80880980 0x80880980 +808809e8 0x808809e8 +80880a50 0x80880a50 +80880ac8 0x80880ac8 +80880b30 0x80880b30 +80880b98 0x80880b98 +80880c10 0x80880c10 +80880c78 0x80880c78 +80880ce0 0x80880ce0 +80880d48 0x80880d48 +80880db0 0x80880db0 +80880e04 0x80880e04 +80880e58 0x80880e58 +80880eac 0x80880eac +80880f24 0x80880f24 +80880f8c 0x80880f8c +80880fe0 0x80880fe0 +80880ffc 0x80880ffc +80881000 0x80881000 +808821c4 0x808821c4 +80882254 0x80882254 +80882340 0x80882340 +808823cc 0x808823cc +80882720 0x80882720 +808828bc 0x808828bc +80882994 0x80882994 +80882a94 0x80882a94 +80882a98 0x80882a98 +80882aa0 0x80882aa0 +80882aa8 0x80882aa8 +80882ab0 0x80882ab0 +80882ab8 0x80882ab8 +80882e24 0x80882e24 +80882eb0 0x80882eb0 +80883204 0x80883204 +80885818 0x80885818 +80885940 0x80885940 +80885aa4 0x80885aa4 +80885ab8 0x80885ab8 +80885b40 0x80885b40 +80885b48 0x80885b48 +80885b50 0x80885b50 +80885be0 obj_cruiserR::__ct +80885e18 0x80885e18 +80885ea4 0x80885ea4 +808860fc 0x808860fc +8088611c 0x8088611c +808861c4 0x808861c4 +80886a3c 0x80886a3c +80887020 0x80887020 +80887034 0x80887034 +8088707c 0x8088707c +80887084 0x80887084 +8088708c 0x8088708c +808870c4 0x808870c4 +80887120 0x80887120 +80887170 0x80887170 +80887250 0x80887250 +80887380 0x80887380 +808873c8 0x808873c8 +808873d0 0x808873d0 +808873f0 0x808873f0 +808873f8 0x808873f8 +808874cc 0x808874cc +8088750c 0x8088750c +808875d8 0x808875d8 +808875f8 0x808875f8 +80887ad0 0x80887ad0 +80887c00 0x80887c00 +80887c0c 0x80887c0c +80887c18 0x80887c18 +80887c1c 0x80887c1c +80887c70 0x80887c70 +80887c74 0x80887c74 +80887c7c 0x80887c7c +80887c80 0x80887c80 +80887c84 0x80887c84 +80887c8c 0x80887c8c +80887e30 0x80887e30 +80887e70 0x80887e70 +80888138 0x80888138 +808881dc 0x808881dc +808887d8 0x808887d8 +8088891c 0x8088891c +80888960 0x80888960 +80888b20 0x80888b20 +80888b2c 0x80888b2c +80888b34 GetOneTimerLeadGroundContactAnims +80888b40 0x80888b40 +80888b44 0x80888b44 +80888c00 0x80888c00 +80888c08 0x80888c08 +80888c0c 0x80888c0c +80888c10 0x80888c10 +80888c18 0x80888c18 +80888db0 0x80888db0 +80888e0c 0x80888e0c +80888e5c 0x80888e5c +80889014 0x80889014 +80889900 0x80889900 +80889914 0x80889914 +8088995c 0x8088995c +80889964 0x80889964 +80889984 0x80889984 +8088998c 0x8088998c +80889a1c obj_Twanwan::__ct +80889ad8 obj_Twanwan::__dt +80889b28 obj_Twanwan_load +80889f10 0x80889f10 +80889fe4 0x80889fe4 +8088a170 0x8088a170 +8088aee8 obj_Twanwan_update +8088b1e8 0x8088b1e8 +8088b200 obj_Twanwan_draw_init +8088b238 0x8088b238 +8088b374 0x8088b374 +8088b3b8 0x8088b3b8 +8088b42c 0x8088b42c +8088b434 0x8088b434 +8088b46c 0x8088b46c +8088b4b4 0x8088b4b4 +8088b520 0x8088b520 +8088bb1c 0x8088bb1c +8088bb8c 0x8088bb8c +8088bb98 0x8088bb98 +8088bbf0 0x8088bbf0 +8088bc0c 0x8088bc0c +8088c1e0 0x8088c1e0 +8088c32c 0x8088c32c +8088c330 0x8088c330 +8088c370 0x8088c370 +8088c4c4 0x8088c4c4 +8088c4c8 0x8088c4c8 +8088c508 0x8088c508 +8088c65c 0x8088c65c +8088c660 0x8088c660 +8088c6a0 0x8088c6a0 +8088c76c 0x8088c76c +8088c838 0x8088c838 +8088c904 0x8088c904 +8088c990 0x8088c990 +8088ca1c 0x8088ca1c +8088caa4 0x8088caa4 +8088cf80 0x8088cf80 +8088d468 0x8088d468 +8088d944 0x8088d944 +8088da54 0x8088da54 +8088db68 0x8088db68 +8088dc78 0x8088dc78 +8088dcd8 0x8088dcd8 +8088dd38 0x8088dd38 +8088dd98 0x8088dd98 +8088ddec 0x8088ddec +8088de40 0x8088de40 +8088de94 0x8088de94 +8088e084 0x8088e084 +8088e274 0x8088e274 +8088e464 0x8088e464 +8088e4a4 0x8088e4a4 +8088e4e4 0x8088e4e4 +8088e524 0x8088e524 +8088e6a4 0x8088e6a4 +8088e828 0x8088e828 +8088e9a0 RelEndFuncLink::AddEntry +8088e9bc RelEndFuncLink::ExecFuncs +8088ea10 0x8088ea10 diff --git a/projects/mkwii-ntsc-j/MAP_REPORT.md b/projects/mkwii-ntsc-j/MAP_REPORT.md new file mode 100644 index 0000000..745cf59 --- /dev/null +++ b/projects/mkwii-ntsc-j/MAP_REPORT.md @@ -0,0 +1,672 @@ +# NTSC-J (RMCJ01) function map port report + +Generated by `tools/region/port_map.py`. Deterministic; no timestamps. + +## Summary + +- PAL map: `projects/mkwii/MAP.txt` (29792 entries, 20193 named) +- NTSC-J DOL: `main.dol` sha256 `1b9621ef7c5d97dada103e50e5389730e67f3c2545dda592edd4b5843655af91` entry `0x800060A4` +- NTSC-J REL: `StaticR.rel` sha256 `88539012d357a1420724e51dc7e351192ce696da4b0045994895518a3fad6fae` load `0x8050FC60` (module 1, v3, prolog `0x80554C9C`, epilog `0x80554CE8`, unresolved `0x80554D30`) +- Chunk table: 52 PAL->NTSC-J chunks (mkw-sp port.py, MIT); no overlaps, all deltas word-aligned +- Output map: `projects/mkwii-ntsc-j/MAP.txt` with **29423** entries (20022 named); `projects/mkwii-ntsc-j/region_port.json` carries the chunk table. + +### Verdict totals (all PAL entries) + +| verdict | entries | low-mem | DOL | REL | emitted | +|---|---|---|---|---|---| +| PROVEN | 12202 | 0 | 6573 | 5629 | yes | +| REFERENCED | 12693 | 0 | 3273 | 9420 | yes | +| PLAUSIBLE | 4513 | 0 | 856 | 3657 | yes | +| IDENTITY | 15 | 15 | 0 | 0 | yes | +| INTERPOLATED | 0 | 0 | 0 | 0 | yes | +| UNVERIFIED | 210 | 0 | 129 | 81 | no | +| DROPPED | 159 | 0 | 149 | 10 | no | +| total | 29792 | 15 | 10980 | 18797 | | + +Emitted after deduplication: PROVEN=12202, REFERENCED=12693, PLAUSIBLE=4513, IDENTITY=15, INTERPOLATED=0; total 29423 ported entries, plus 6 binary-proven entries no PAL entry covers (section below) = **29429** lines in MAP.txt. UNVERIFIED and DROPPED entries are never written to MAP.txt. + +### Binary-proven entries added (step H: NTSC-J entry points no ported PAL entry covers) + +Emitted as unnamed placeholders (`hexaddr 0xhexaddr`). Strong classes are taken as proven; the pointer-referenced classes must also pass the structural check (not a conditional-branch target, terminator before, decodable first instruction) because no PAL entry vouches for them. Each address is counted once, under the first class that applies. + +| evidence class | added | +|---|---| +| ctors/dtors table entry (DOL) | 0 | +| ctors/dtors table entry (REL) | 0 | +| REL prolog/epilog/unresolved | 0 | +| DOL entry point | 0 | +| bl target (DOL text) | 0 | +| bl target (REL R_PPC_REL24 relocation into the DOL) | 0 | +| bl target (REL text, link-resolved) | 1 | +| extabindex function record | 0 | +| pointer-referenced text address (DOL data word) | 0 | +| pointer-referenced text address (REL R_PPC_ADDR32) | 5 | +| total added | 6 | + +Constructor/destructor tables: DOL .ctors 43 entries, 0 previously missing from the map; DOL .dtors 2 entries, 0 previously missing from the map; REL .ctors 192 entries, 0 previously missing from the map; REL .dtors 1 entries, 0 previously missing from the map. +Not added: 61 pointer-referenced addresses that failed the structural check (jump-table targets and similar), 110021 addresses with only weak evidence (conditional/unconditional branch targets, lis/addi pairs, jump-table-like runs). Strong additions that are also a conditional-branch target: 0. + +bl target (REL text, link-resolved) (1): + +```text +80600198 +``` + +pointer-referenced text address (REL R_PPC_ADDR32) (5): + +```text +805cba28 805fefe0 805ff184 805ff224 8063b3e4 +``` + +First-instruction quality of emitted entries (strong = typical prologue/first instruction, valid = any decodable instruction): IDENTITY/n/a=15, PLAUSIBLE/strong=4238, PLAUSIBLE/valid=275, PROVEN/strong=12010, PROVEN/valid=192, REFERENCED/strong=12621, REFERENCED/valid=72 + +### Reading the numbers + +- 24895 of 29792 entries land on an address the NTSC-J binaries reference as code (call target, exception-table record, entry point, function-pointer table, jump table for case labels); 4513 more sit right after a function terminator (or are verified switch dispatch sites) with a decodable first instruction. +- 210 UNVERIFIED entries are withheld: see the per-class breakdown in the Unverified section. None of the no-evidence ones lies near a chunk edge; they are surrounded by validated neighbours inside their chunk, which points at PAL-map noise (mid-function addresses, round addresses, names misplaced by one instruction) rather than at the chunk table. +- 159 DROPPED entries: jump tables and other data symbols the PAL map carries, PAL-only code regions with no NTSC-J counterpart, and chunk-table holes with no interpolation gap. +- The PAL project uses sda_base/sda2_base 0x8038CC00/0x8038EFA0; the NTSC-J values read below are the ones an NTSC-J project must configure. + +### Non-function labels carried by the PAL map + +The PAL map contains Ghidra-style labels that are not function starts: `*_caseD_N` switch case labels (validated here by a jump-table reference at the ported address), `*_switch` dispatch points (validated as `mtctr`+`bctr`), and `switchdataD_*` jump tables (data, never code). They are ported with the same rules; the verdict spread per class: + +| class | entries | PROVEN | REFERENCED | PLAUSIBLE | IDENTITY | INTERPOLATED | UNVERIFIED | DROPPED | +|---|---|---|---|---|---|---|---|---| +| case | 2359 | 0 | 2355 | 1 | 0 | 0 | 0 | 3 | +| switch | 197 | 1 | 0 | 195 | 0 | 0 | 0 | 1 | +| data | 140 | 0 | 0 | 0 | 0 | 0 | 1 | 139 | + +### Chunk-edge extent check + +9 emitted chunk-ported entries sit at a chunk edge (their PAL successor is not ported by the same chunk). For these the PAL extent (distance to the next PAL entry) was compared with the NTSC-J extent (distance to the next emitted entry): 8 named and 0 unnamed entries differ. A difference means the function's size changed, the successor was dropped, or the chunk edge is sloppy; the address is still a verified entry point, but for named entries the name deserves a second look. + +| PAL | name | NTSC-J | verdict | PAL extent | NTSC-J extent | PAL successor | +|---|---|---|---|---|---|---| +| 80008004 | setDiscReadErrorMessage | 80008004 | PROVEN | 0xf0 | 0x4c | 0x800080f4 (PROVEN) | +| 8000ac50 | SystemManager::Init | 8000abac | PROVEN | 0x328 | 0x2f0 | SystemManager::GetCountry (PLAUSIBLE) | +| 805cbea4 | Pages::EndingMovie::OnInit | 805cb824 | REFERENCED | 0x204 | 0x270 | Pages::EndingMovie::OnActivate (DROPPED) | +| 805ff6c4 | Pages::MasterOptions::OnResume | 805fefa0 | REFERENCED | 0x3c | 0x850 | Pages::MasterOptions::OnResume_switch (DROPPED) | +| 806003e0 | Pages::MasterOptions::LoadOptionChoice | 805ffb98 | PROVEN | 0x3bc | 0x99c | Pages::MasterOptions::LoadOptionWaitingNetwork (DROPPED) | +| 80620c5c | RKSYSRequester::Init | 806203d0 | PROVEN | 0x148 | 0x120 | RKSYSRequester::Close (PROVEN) | +| 80637a20 | SystemBMGHolder::Init | 8063716c | PROVEN | 0x6c | 0xc | SystemBMGHolder::GetMessage (PROVEN) | +| 8063bbe4 | Pages::TitleMovie::OnInit | 8063b2d0 | REFERENCED | 0x114 | 0x1e0 | Pages::TitleMovie::OnActivate (DROPPED) | + +### SDA bases read from the NTSC-J `__init_registers` + +- `__init_registers` PAL `80006210` -> NTSC-J `80006210` +- Result: **r13=0x8038C580 (matches expectation); r2=0x8038E920 (matches expectation)** +- All lis/ori(addi) register values materialised in the function: r1=0x80398B00, r2=0x8038E920, r13=0x8038C580 + +```text +80006210 38000000 li r0,0 +80006214 38600000 li r3,0 +80006218 38800000 li r4,0 +8000621c 38a00000 li r5,0 +80006220 38c00000 li r6,0 +80006224 38e00000 li r7,0 +80006228 39000000 li r8,0 +8000622c 39200000 li r9,0 +80006230 39400000 li r10,0 +80006234 39600000 li r11,0 +80006238 39800000 li r12,0 +8000623c 39c00000 li r14,0 +80006240 39e00000 li r15,0 +80006244 3a000000 li r16,0 +80006248 3a200000 li r17,0 +8000624c 3a400000 li r18,0 +80006250 3a600000 li r19,0 +80006254 3a800000 li r20,0 +80006258 3aa00000 li r21,0 +8000625c 3ac00000 li r22,0 +80006260 3ae00000 li r23,0 +80006264 3b000000 li r24,0 +80006268 3b200000 li r25,0 +8000626c 3b400000 li r26,0 +80006270 3b600000 li r27,0 +80006274 3b800000 li r28,0 +80006278 3ba00000 li r29,0 +8000627c 3bc00000 li r30,0 +80006280 3be00000 li r31,0 +80006284 3c208039 lis r1,0x8039 +80006288 60218b00 ori r1,r1,0x8b00 +8000628c 3c408038 lis r2,0x8038 +80006290 6042e920 ori r2,r2,0xe920 +80006294 3da08038 lis r13,0x8038 +80006298 61adc580 ori r13,r13,0xc580 +8000629c 4e800020 blr +``` + +### Save/restore thunk families (resolved by name in GuestSaveRestoreThunks.cs) + +**`_save_gpr_N`** (stw rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-J | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _save_gpr_14 | 8002156c | 80021490 | PROVEN | 91cbffb8 | 91cbffb8 | stw r14,-72(r11) | yes | +| _save_gpr_15 | 80021570 | 80021494 | PROVEN | 91ebffbc | 91ebffbc | stw r15,-68(r11) | yes | +| _save_gpr_16 | 80021574 | 80021498 | PROVEN | 920bffc0 | 920bffc0 | stw r16,-64(r11) | yes | +| _save_gpr_17 | 80021578 | 8002149c | PROVEN | 922bffc4 | 922bffc4 | stw r17,-60(r11) | yes | +| _save_gpr_18 | 8002157c | 800214a0 | PROVEN | 924bffc8 | 924bffc8 | stw r18,-56(r11) | yes | +| _save_gpr_19 | 80021580 | 800214a4 | PROVEN | 926bffcc | 926bffcc | stw r19,-52(r11) | yes | +| _save_gpr_20 | 80021584 | 800214a8 | PROVEN | 928bffd0 | 928bffd0 | stw r20,-48(r11) | yes | +| _save_gpr_21 | 80021588 | 800214ac | PROVEN | 92abffd4 | 92abffd4 | stw r21,-44(r11) | yes | +| _save_gpr_22 | 8002158c | 800214b0 | PROVEN | 92cbffd8 | 92cbffd8 | stw r22,-40(r11) | yes | +| _save_gpr_23 | 80021590 | 800214b4 | PROVEN | 92ebffdc | 92ebffdc | stw r23,-36(r11) | yes | +| _save_gpr_24 | 80021594 | 800214b8 | PROVEN | 930bffe0 | 930bffe0 | stw r24,-32(r11) | yes | +| _save_gpr_25 | 80021598 | 800214bc | PROVEN | 932bffe4 | 932bffe4 | stw r25,-28(r11) | yes | +| _save_gpr_26 | 8002159c | 800214c0 | PROVEN | 934bffe8 | 934bffe8 | stw r26,-24(r11) | yes | +| _save_gpr_27 | 800215a0 | 800214c4 | PROVEN | 936bffec | 936bffec | stw r27,-20(r11) | yes | + +**`_rest_gpr_N`** (lwz rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-J | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _rest_gpr_14 | 800215b8 | 800214dc | PROVEN | 81cbffb8 | 81cbffb8 | lwz r14,-72(r11) | yes | +| _rest_gpr_15 | 800215bc | 800214e0 | PROVEN | 81ebffbc | 81ebffbc | lwz r15,-68(r11) | yes | +| _rest_gpr_16 | 800215c0 | 800214e4 | PROVEN | 820bffc0 | 820bffc0 | lwz r16,-64(r11) | yes | +| _rest_gpr_17 | 800215c4 | 800214e8 | PROVEN | 822bffc4 | 822bffc4 | lwz r17,-60(r11) | yes | +| _rest_gpr_18 | 800215c8 | 800214ec | PROVEN | 824bffc8 | 824bffc8 | lwz r18,-56(r11) | yes | +| _rest_gpr_19 | 800215cc | 800214f0 | PROVEN | 826bffcc | 826bffcc | lwz r19,-52(r11) | yes | +| _rest_gpr_20 | 800215d0 | 800214f4 | PROVEN | 828bffd0 | 828bffd0 | lwz r20,-48(r11) | yes | +| _rest_gpr_21 | 800215d4 | 800214f8 | PROVEN | 82abffd4 | 82abffd4 | lwz r21,-44(r11) | yes | +| _rest_gpr_22 | 800215d8 | 800214fc | PROVEN | 82cbffd8 | 82cbffd8 | lwz r22,-40(r11) | yes | +| _rest_gpr_23 | 800215dc | 80021500 | PROVEN | 82ebffdc | 82ebffdc | lwz r23,-36(r11) | yes | +| _rest_gpr_24 | 800215e0 | 80021504 | PROVEN | 830bffe0 | 830bffe0 | lwz r24,-32(r11) | yes | +| _rest_gpr_25 | 800215e4 | 80021508 | PROVEN | 832bffe4 | 832bffe4 | lwz r25,-28(r11) | yes | +| _rest_gpr_26 | 800215e8 | 8002150c | PROVEN | 834bffe8 | 834bffe8 | lwz r26,-24(r11) | yes | +| _rest_gpr_27 | 800215ec | 80021510 | PROVEN | 836bffec | 836bffec | lwz r27,-20(r11) | yes | + +**`_save_fpr_N`** (stfd rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-J | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _save_fpr_23 | 800214f8 | 8002141c | PROVEN | daebffb8 | daebffb8 | stfd f23,-72(r11) | yes | +| _save_fpr_28 | 8002150c | 80021430 | PROVEN | db8bffe0 | db8bffe0 | stfd f28,-32(r11) | yes | + +**`_rest_fpr_N`** (lfd rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-J | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _rest_fpr_23 | 80021544 | 80021468 | PROVEN | caebffb8 | caebffb8 | lfd f23,-72(r11) | yes | +| _rest_fpr_28 | 80021558 | 8002147c | PROVEN | cb8bffe0 | cb8bffe0 | lfd f28,-32(r11) | yes | + +## Evidence set K (NTSC-J function entry points proven by the binaries) + +- Strong (bl target / extabindex record / entry point): **12203** addresses +- Medium only (function-pointer word, ADDR32/ADDR16 relocation, lis/addi pair): **11603** addresses +- Weak only (`b` target, not used for verdicts): 22593 addresses +- Jump-table-like pointer runs (excluded from REFERENCED): 257 runs, 1748 addresses referenced only from them + +| source | count | +|---|---| +| dol.text0: bl sites | 18 | +| dol.text0: b sites | 11 | +| dol.text0: conditional-branch targets (negative signal) | 34 | +| dol.text0: lis/addi code-address pairs | 27 | +| dol.text1: bl sites | 36828 | +| dol.text1: b sites | 22752 | +| dol.text1: conditional-branch targets (negative signal) | 47324 | +| dol.text1: lis/addi code-address pairs | 858 | +| rel.text: bl sites | 37494 | +| rel.text: b sites | 25437 | +| rel.text: conditional-branch targets (negative signal) | 64497 | +| dol.ctors: table entries | 43 | +| dol.dtors: table entries | 2 | +| rel.ctors: table entries (unique targets) | 192 | +| rel.dtors: table entries (unique targets) | 1 | +| dol.extabindex: function records | 180 | +| dol.extabindex: non-record words (footer/padding) | 2 | +| rel: REL24 bl relocations | 18811 | +| rel: REL24 b relocations | 155 | +| rel: ADDR16_LO/HI/HA relocations into text | 2172 | +| rel: ADDR32 relocations into text | 31286 | +| rel: function-pointer words | 30116 | +| rel: pointer runs classified as jump tables (words) | 1170 | +| dol: function-pointer words | 4101 | +| dol: pointer runs classified as jump tables (words) | 1822 | + +REL relocation type counts (module, type): (0,1)=156, (0,4)=1686, (0,6)=1285, (0,10)=18966, (0,201)=1, (0,202)=2, (0,203)=1, (1,1)=33010, (1,4)=32000, (1,6)=27636, (1,202)=5, (1,203)=1 + +## Binary layout check (parsed headers vs vendored mkw-sp table) + +- DOL init: 80004000-80006460 OK +- DOL extab: 80006460-80006a20 OK +- DOL extabindex: 80006a20-800072c0 OK +- DOL text: 800072c0-80244d00 OK +- DOL ctors: 80244d00-80244dc0 OK +- DOL dtors: 80244dc0-80244de0 OK +- DOL rodata: 80244e00-80257f20 OK +- DOL data: 80257f20-802a39e0 OK +- DOL sdata: 80384580-80385940 OK +- DOL sdata2: 80386920-80388ac0 OK +- REL text: 8050fd34-8088ea6c OK +- REL ctors: 8088ea6c-8088ed70 OK +- REL dtors: 8088ed70-8088ed7c OK +- REL rodata: 8088ed80-808b1d30 OK +- REL data: 808b1d30-808dc524 OK +- REL bss: 809bc740-809c3ff0 OK + +## Interpolation gaps (step C.2) + +| PAL gap | NTSC-J gap | unported | K candidates | outcome | +|---|---|---|---|---| +| 80244c0c..80510468 | 80244b2c..8050fde8 | 150 | 0 | rejected: count mismatch | +| 805cbd88..805cc3b8 | 805cb708..805cbc94 | 1 | 0 | rejected: count mismatch | +| 805ff328..80600128 | 805fec04..805ff8e0 | 4 | 0 | rejected: count mismatch | +| 806003e0..80600dc0 | 805ffb98..80600534 | 3 | 1 | rejected: count mismatch | +| 8063bb08..8063c0ac | 8063b1f4..8063b718 | 1 | 0 | rejected: count mismatch | + +## Collisions (two PAL entries porting to one NTSC-J address) + +The named entry is kept (both PAL entries are functions, so the address is a real entry point either way; only the name is in question). Extents are the distance to the next PAL entry / next emitted NTSC-J entry: the PAL entry whose extent matches the NTSC-J extent is the likelier owner of the address. + +None. + +## Dropped entries (159) + +| PAL | name | reason | +|---|---|---| +| 802474a0 | switchdataD_802474a0 | outside every chunk; no interpolation gap | +| 80270e30 | switchdataD_80270e30 | outside every chunk; no interpolation gap | +| 80271190 | switchdataD_80271190 | outside every chunk; no interpolation gap | +| 80271270 | switchdataD_80271270 | outside every chunk; no interpolation gap | +| 802713c0 | switchdataD_802713c0 | outside every chunk; no interpolation gap | +| 802714a0 | switchdataD_802714a0 | outside every chunk; no interpolation gap | +| 802714c0 | switchdataD_802714c0 | outside every chunk; no interpolation gap | +| 802714e0 | switchdataD_802714e0 | outside every chunk; no interpolation gap | +| 80271630 | switchdataD_80271630 | outside every chunk; no interpolation gap | +| 80271710 | switchdataD_80271710 | outside every chunk; no interpolation gap | +| 802718d0 | switchdataD_802718d0 | outside every chunk; no interpolation gap | +| 80271ab8 | switchdataD_80271ab8 | outside every chunk; no interpolation gap | +| 80271ad4 | switchdataD_80271ad4 | outside every chunk; no interpolation gap | +| 802726a0 | rnd_3DModels(NW4R)_802726a0 | outside every chunk; no interpolation gap | +| 802726c0 | rnd_Palettes(NW4R)_802726c0 | outside every chunk; no interpolation gap | +| 802726e0 | rnd_Textures(NW4R)_802726e0 | outside every chunk; no interpolation gap | +| 80272700 | rnd_AnmChr(NW4R)_80272700 | outside every chunk; no interpolation gap | +| 80272720 | rnd_AnmVis(NW4R)_80272720 | outside every chunk; no interpolation gap | +| 80272740 | rnd_AnmClr(NW4R)_80272740 | outside every chunk; no interpolation gap | +| 80272760 | rnd_AnmTexPat(NW4R)_80272760 | outside every chunk; no interpolation gap | +| 80272780 | rnd_AnmTexSrt(NW4R)_80272780 | outside every chunk; no interpolation gap | +| 802727a0 | rnd_AnmShp(NW4R)_802727a0 | outside every chunk; no interpolation gap | +| 802727c0 | rnd_AnmScn(NW4R)_802727c0 | outside every chunk; no interpolation gap | +| 80272810 | switchdataD_80272810 | outside every chunk; no interpolation gap | +| 80273088 | switchdataD_80273088 | outside every chunk; no interpolation gap | +| 802730b0 | switchdataD_802730b0 | outside every chunk; no interpolation gap | +| 80274520 | switchdataD_80274520 | outside every chunk; no interpolation gap | +| 80274578 | switchdataD_80274578 | outside every chunk; no interpolation gap | +| 80275018 | switchdataD_80275018 | outside every chunk; no interpolation gap | +| 80275700 | switchdataD_80275700 | outside every chunk; no interpolation gap | +| 80275a20 | switchdataD_80275a20 | outside every chunk; no interpolation gap | +| 80275cfc | switchdataD_80275cfc | outside every chunk; no interpolation gap | +| 80276954 | switchdataD_80276954 | outside every chunk; no interpolation gap | +| 802775e8 | switchdataD_802775e8 | outside every chunk; no interpolation gap | +| 80277d68 | switchdataD_80277d68 | outside every chunk; no interpolation gap | +| 80278cf0 | switchdataD_80278cf0 | outside every chunk; no interpolation gap | +| 80279af0 | switchdataD_80279af0 | outside every chunk; no interpolation gap | +| 80279b10 | switchdataD_80279b10 | outside every chunk; no interpolation gap | +| 80279b30 | switchdataD_80279b30 | outside every chunk; no interpolation gap | +| 80279b50 | switchdataD_80279b50 | outside every chunk; no interpolation gap | +| 80279b94 | switchdataD_80279b94 | outside every chunk; no interpolation gap | +| 8027a200 | switchdataD_8027a200 | outside every chunk; no interpolation gap | +| 8027a2d8 | switchdataD_8027a2d8 | outside every chunk; no interpolation gap | +| 8027a314 | switchdataD_8027a314 | outside every chunk; no interpolation gap | +| 8027a350 | switchdataD_8027a350 | outside every chunk; no interpolation gap | +| 8027a624 | switchdataD_8027a624 | outside every chunk; no interpolation gap | +| 8027b878 | switchdataD_8027b878 | outside every chunk; no interpolation gap | +| 8027ba5c | switchdataD_8027ba5c | outside every chunk; no interpolation gap | +| 8027bb2c | switchdataD_8027bb2c | outside every chunk; no interpolation gap | +| 8027bc28 | switchdataD_8027bc28 | outside every chunk; no interpolation gap | +| 8027bc44 | switchdataD_8027bc44 | outside every chunk; no interpolation gap | +| 8027d1a8 | switchdataD_8027d1a8 | outside every chunk; no interpolation gap | +| 8027ddf8 | switchdataD_8027ddf8 | outside every chunk; no interpolation gap | +| 80282cb0 | switchdataD_80282cb0 | outside every chunk; no interpolation gap | +| 80282cd8 | switchdataD_80282cd8 | outside every chunk; no interpolation gap | +| 80282d5c | switchdataD_80282d5c | outside every chunk; no interpolation gap | +| 80282d84 | switchdataD_80282d84 | outside every chunk; no interpolation gap | +| 80282f08 | switchdataD_80282f08 | outside every chunk; no interpolation gap | +| 80282f2c | switchdataD_80282f2c | outside every chunk; no interpolation gap | +| 80283220 | switchdataD_80283220 | outside every chunk; no interpolation gap | +| 80284d2c | switchdataD_80284d2c | outside every chunk; no interpolation gap | +| 80284e58 | switchdataD_80284e58 | outside every chunk; no interpolation gap | +| 80284e7c | switchdataD_80284e7c | outside every chunk; no interpolation gap | +| 80284ee8 | switchdataD_80284ee8 | outside every chunk; no interpolation gap | +| 80284f08 | switchdataD_80284f08 | outside every chunk; no interpolation gap | +| 80285c30 | switchdataD_80285c30 | outside every chunk; no interpolation gap | +| 80285cf0 | switchdataD_80285cf0 | outside every chunk; no interpolation gap | +| 80285d94 | switchdataD_80285d94 | outside every chunk; no interpolation gap | +| 80285e58 | switchdataD_80285e58 | outside every chunk; no interpolation gap | +| 80285fc0 | switchdataD_80285fc0 | outside every chunk; no interpolation gap | +| 80286054 | switchdataD_80286054 | outside every chunk; no interpolation gap | +| 802861e8 | switchdataD_802861e8 | outside every chunk; no interpolation gap | +| 80286274 | switchdataD_80286274 | outside every chunk; no interpolation gap | +| 80286338 | switchdataD_80286338 | outside every chunk; no interpolation gap | +| 802863d0 | switchdataD_802863d0 | outside every chunk; no interpolation gap | +| 8028697c | switchdataD_8028697c | outside every chunk; no interpolation gap | +| 80287078 | switchdataD_80287078 | outside every chunk; no interpolation gap | +| 80287110 | switchdataD_80287110 | outside every chunk; no interpolation gap | +| 80287190 | switchdataD_80287190 | outside every chunk; no interpolation gap | +| 802871d8 | switchdataD_802871d8 | outside every chunk; no interpolation gap | +| 8028725c | switchdataD_8028725c | outside every chunk; no interpolation gap | +| 802872b4 | switchdataD_802872b4 | outside every chunk; no interpolation gap | +| 80287388 | switchdataD_80287388 | outside every chunk; no interpolation gap | +| 802873f0 | switchdataD_802873f0 | outside every chunk; no interpolation gap | +| 80287488 | switchdataD_80287488 | outside every chunk; no interpolation gap | +| 80287528 | switchdataD_80287528 | outside every chunk; no interpolation gap | +| 8028758c | switchdataD_8028758c | outside every chunk; no interpolation gap | +| 802875f4 | switchdataD_802875f4 | outside every chunk; no interpolation gap | +| 802879e0 | switchdataD_802879e0 | outside every chunk; no interpolation gap | +| 80287da8 | switchdataD_80287da8 | outside every chunk; no interpolation gap | +| 80287e40 | switchdataD_80287e40 | outside every chunk; no interpolation gap | +| 80287e60 | switchdataD_80287e60 | outside every chunk; no interpolation gap | +| 80287e80 | switchdataD_80287e80 | outside every chunk; no interpolation gap | +| 80288404 | switchdataD_80288404 | outside every chunk; no interpolation gap | +| 802884b0 | switchdataD_802884b0 | outside every chunk; no interpolation gap | +| 8028855c | switchdataD_8028855c | outside every chunk; no interpolation gap | +| 80288614 | switchdataD_80288614 | outside every chunk; no interpolation gap | +| 802886c0 | switchdataD_802886c0 | outside every chunk; no interpolation gap | +| 80289fd0 | switchdataD_80289fd0 | outside every chunk; no interpolation gap | +| 8028a0a0 | switchdataD_8028a0a0 | outside every chunk; no interpolation gap | +| 8028a108 | switchdataD_8028a108 | outside every chunk; no interpolation gap | +| 8028a14c | switchdataD_8028a14c | outside every chunk; no interpolation gap | +| 8028a190 | switchdataD_8028a190 | outside every chunk; no interpolation gap | +| 8028a1d4 | switchdataD_8028a1d4 | outside every chunk; no interpolation gap | +| 8028a1f0 | switchdataD_8028a1f0 | outside every chunk; no interpolation gap | +| 8028a378 | switchdataD_8028a378 | outside every chunk; no interpolation gap | +| 8028a398 | switchdataD_8028a398 | outside every chunk; no interpolation gap | +| 8028a48c | switchdataD_8028a48c | outside every chunk; no interpolation gap | +| 8028a580 | switchdataD_8028a580 | outside every chunk; no interpolation gap | +| 8028a658 | switchdataD_8028a658 | outside every chunk; no interpolation gap | +| 8028a6b4 | switchdataD_8028a6b4 | outside every chunk; no interpolation gap | +| 8028b988 | switchdataD_8028b988 | outside every chunk; no interpolation gap | +| 8028b9b0 | switchdataD_8028b9b0 | outside every chunk; no interpolation gap | +| 8028ee58 | switchdataD_8028ee58 | outside every chunk; no interpolation gap | +| 8028f7dc | switchdataD_8028f7dc | outside every chunk; no interpolation gap | +| 80290820 | switchdataD_80290820 | outside every chunk; no interpolation gap | +| 8029c884 | switchdataD_8029c884 | outside every chunk; no interpolation gap | +| 8029ce88 | switchdataD_8029ce88 | outside every chunk; no interpolation gap | +| 8029da00 | switchdataD_8029da00 | outside every chunk; no interpolation gap | +| 8029da24 | switchdataD_8029da24 | outside every chunk; no interpolation gap | +| 8029dab0 | switchdataD_8029dab0 | outside every chunk; no interpolation gap | +| 8029dc28 | switchdataD_8029dc28 | outside every chunk; no interpolation gap | +| 8029dc4c | switchdataD_8029dc4c | outside every chunk; no interpolation gap | +| 8029e530 | switchdataD_8029e530 | outside every chunk; no interpolation gap | +| 802a010c | switchdataD_802a010c | outside every chunk; no interpolation gap | +| 802a0870 | switchdataD_802a0870 | outside every chunk; no interpolation gap | +| 802a0f68 | switchdataD_802a0f68 | outside every chunk; no interpolation gap | +| 802a1870 | switchdataD_802a1870 | outside every chunk; no interpolation gap | +| 802a18f8 | switchdataD_802a18f8 | outside every chunk; no interpolation gap | +| 802a19dc | switchdataD_802a19dc | outside every chunk; no interpolation gap | +| 802a2370 | switchdataD_802a2370 | outside every chunk; no interpolation gap | +| 802a23f8 | switchdataD_802a23f8 | outside every chunk; no interpolation gap | +| 802a2480 | switchdataD_802a2480 | outside every chunk; no interpolation gap | +| 802a2658 | switchdataD_802a2658 | outside every chunk; no interpolation gap | +| 802a2ba0 | switchdataD_802a2ba0 | outside every chunk; no interpolation gap | +| 802a31d8 | switchdataD_802a31d8 | outside every chunk; no interpolation gap | +| 802a32a0 | switchdataD_802a32a0 | outside every chunk; no interpolation gap | +| 802a335c | switchdataD_802a335c | outside every chunk; no interpolation gap | +| 802a3418 | switchdataD_802a3418 | outside every chunk; no interpolation gap | +| 802a34d4 | switchdataD_802a34d4 | outside every chunk; no interpolation gap | +| 802a3590 | switchdataD_802a3590 | outside every chunk; no interpolation gap | +| 802a364c | switchdataD_802a364c | outside every chunk; no interpolation gap | +| 802a3708 | switchdataD_802a3708 | outside every chunk; no interpolation gap | +| 802a37c4 | switchdataD_802a37c4 | outside every chunk; no interpolation gap | +| 802a3880 | switchdataD_802a3880 | outside every chunk; no interpolation gap | +| 802a3940 | switchdataD_802a3940 | outside every chunk; no interpolation gap | +| 802a39fc | switchdataD_802a39fc | outside every chunk; no interpolation gap | +| 802a3b88 | switchdataD_802a3b88 | outside every chunk; no interpolation gap | +| 802a3e30 | switchdataD_802a3e30 | outside every chunk; no interpolation gap | +| 80510238 | RelStart | outside every chunk; no interpolation gap | +| 805cc0a8 | Pages::EndingMovie::OnActivate | outside every chunk; no interpolation gap | +| 805ff700 | Pages::MasterOptions::OnResume_switch | outside every chunk; no interpolation gap | +| 805ff704 | Pages::MasterOptions::OnResume_case0 | outside every chunk; no interpolation gap | +| 805ff8a8 | Pages::MasterOptions::OnResume_case1 | outside every chunk; no interpolation gap | +| 805ff948 | Pages::MasterOptions::OnResume_case2 | outside every chunk; no interpolation gap | +| 8060079c | Pages::MasterOptions::LoadOptionWaitingNetwork | outside every chunk; no interpolation gap | +| 806008cc | Pages::MasterOptions::LoadOptionWaiting | outside every chunk; no interpolation gap | +| 806009fc | Pages::MasterOptions::LoadOptionChoiceSaved | outside every chunk; no interpolation gap | +| 8063bcf8 | Pages::TitleMovie::OnActivate | outside every chunk; no interpolation gap | + +## Unverified entries (210; ported by the chunk table but not confirmed by the binary, not emitted) + +- conditional-branch target (inside a function): 39 +- conditional-branch target that is also jump-table referenced (a case label without a label name): 37 +- jump-table referenced but named/unnamed as a function: 1 +- lands on a padding word (real function usually at +4): 25 +- no evidence, predecessor is not a terminator: 102 +- outside text (data symbols): 6 + +| PAL | name | NTSC-J | evidence | detail | +|---|---|---|---|---| +| 8000a000 | 0x8000a000 | 80009f5c | - | prev=93e1000c (stw r31,12(r1)) word=800d93f8 (lwz r0,-27656(r13)) | +| 8000fb80 | 0x8000fb80 | 8000faa4 | - | prev=38000005 (li r0,5) word=9801000c (op38) | +| 8000fbb4 | 0x8000fbb4 | 8000fad8 | ptr+bc | conditional-branch target (inside a function); prev=4800000c (b) word=380000ff (li r0,255) | +| 80010000 | 0x80010000 | 8000ff24 | bc | conditional-branch target (inside a function); prev=41820010 (bc) word=8078000c (lwz r3,12(r24)) | +| 80010138 | 0x80010138 | 8001005c | bc | conditional-branch target (inside a function); prev=48000358 (b) word=3b800000 (li r28,0) | +| 80010dbc | 0x80010dbc | 80010ce0 | bc | conditional-branch target (inside a function); prev=48000844 (b) word=7de37b78 (mr r3,r15) | +| 8001237c | 0x8001237c | 800122a0 | bc | conditional-branch target (inside a function); prev=48000be8 (b) word=281600ff (cmplwi cr0,r22,255) | +| 80016e68 | 0x80016e68 | 80016d8c | bc | conditional-branch target (inside a function); prev=48000920 (b) word=7fc3f378 (mr r3,r30) | +| 80020000 | 0x80020000 | 8001ff24 | - | prev=60421548 (ori r2,r2,0x1548) word=38600001 (li r3,1) | +| 8002055c | 0x8002055c | 80020480 | - | prev=38845eb8 (addi r4,r4,24248) word=38a00001 (li r5,1) | +| 80020800 | 0x80020800 | 80020724 | - | prev=7fe3fb78 (mr r3,r31) word=38a55eb8 (addi r5,r5,24248); next proven start at +0x2c | +| 80021360 | 0x80021360 | 80021284 | bc | conditional-branch target (inside a function); prev=48000020 (b) word=80030000 (lwz r0,0(r3)) | +| 8002137c | 0x8002137c | 800212a0 | b | prev=4e800421 (op19) word=806d94ac (lwz r3,-27476(r13)) | +| 80021ba8 | 0x80021ba8 | 80021acc | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 80024870 | 0x80024870 | 80024790 | - | prev=48174915 (bl) word=3803ffe4 (addi r0,r3,-28) | +| 800259d0 | 0x800259d0 | 800258f0 | - | prev=7fa4eb78 (mr r4,r29) word=387c0004 (addi r3,r28,4) | +| 80046a40 | 0x80046a40 | 80046960 | - | prev=3c608004 (lis r3,0x8004) word=38636aa0 (addi r3,r3,27296) | +| 80046a50 | 0x80046a50 | 80046970 | - | prev=38630020 (addi r3,r3,32) word=4e800020 (blr) | +| 800495d0 | 0x800495d0 | 800494f0 | - | prev=7ee7bb78 (mr r7,r23) word=7f68db78 (mr r8,r27) | +| 8004b3a0 | 0x8004b3a0 | 8004b2c0 | - | prev=3c608005 (lis r3,0x8005) word=3863b400 (addi r3,r3,-19456) | +| 8004b3b0 | 0x8004b3b0 | 8004b2d0 | - | prev=38630020 (addi r3,r3,32) word=4e800020 (blr) | +| 8004f710 | 0x8004f710 | 8004f630 | - | prev=38630018 (addi r3,r3,24) word=80a1002c (lwz r5,44(r1)) | +| 80051c40 | 0x80051c40 | 80051b60 | - | prev=38000002 (li r0,2) word=48000010 (b) | +| 8005ee40 | 0x8005ee40 | 8005ed60 | - | prev=e03f0008 (op56) word=39210020 (addi r9,r1,32) | +| 8005fec0 | 0x8005fec0 | 8005fde0 | - | prev=90610008 (stw r3,8(r1)) word=40820014 (bc) | +| 80061c90 | 0x80061c90 | 80061bb0 | - | prev=4182000c (bc) word=80030018 (lwz r0,24(r3)) | +| 80068260 | 0x80068260 | 80068180 | - | prev=dbe10120 (stfd f31,288(r1)) word=f3e10128 (op60) | +| 8006b7a0 | 0x8006b7a0 | 8006b6c0 | - | prev=ec4a01b2 (op59) word=ec88202a (op59) | +| 8006d480 | 0x8006d480 | 8006d3a0 | - | prev=c1230004 (op48) word=ecc7102a (op59) | +| 80080000 | 0x80080000 | 8007ff20 | - | prev=80010034 (lwz r0,52(r1)) word=7c0803a6 (mtlr r0); next proven start at +0x10 | +| 80084780 | 0x80084780 | 800846a0 | - | prev=38a00001 (li r5,1) word=38c00004 (li r6,4); next proven start at +0x40 | +| 80088920 | 0x80088920 | 80088840 | - | prev=38800100 (li r4,256) word=48118d0d (bl) | +| 80089a00 | 0x80089a00 | 80089920 | - | prev=90810008 (stw r4,8(r1)) word=c0030040 (op48) | +| 8008bd70 | 0x8008bd70 | 8008bc90 | - | prev=7c040214 (op31) word=7fc01a14 (op31) | +| 8008c540 | 0x8008c540 | 8008c460 | - | prev=396100a0 (addi r11,r1,160) word=4bf95061 (bl) | +| 8008e170 | 0x8008e170 | 8008e090 | - | prev=90e300a0 (stw r7,160(r3)) word=90e300e0 (stw r7,224(r3)) | +| 80090000 | 0x80090000 | 8008ff20 | bc | conditional-branch target (inside a function); prev=4e800421 (op19) word=881e0037 (op34) | +| 8009716c | 0x8009716c | 8009708c | b+jt+bc | conditional-branch target (inside a function); prev=981f0008 (op38) word=39610030 (addi r11,r1,48) | +| 80097cf0 | 0x80097cf0 | 80097c10 | - | prev=80a30170 (lwz r5,368(r3)) word=7c042800 (op31) | +| 800aeed0 | nw4r::snd::detail::DecodeDspAdpcm | 800aedf0 | - | prev=54806326 (op21) word=a1230024 (op40) | +| 800aeee0 | nw4r::snd::detail::WsdPlayer::InvalidateWaveData | 800aee00 | - | prev=54e4073e (op21) word=54c7103a (op21) | +| 800b1a00 | 0x800b1a00 | 800b1920 | - | prev=80040004 (lwz r0,4(r4)) word=90030008 (stw r0,8(r3)); next proven start at +0x20 | +| 800b7fd8 | 0x800b7fd8 | 800b7ef8 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b80ec | 0x800b80ec | 800b800c | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b8464 | 0x800b8464 | 800b8384 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b87e4 | 0x800b87e4 | 800b8704 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b90d4 | 0x800b90d4 | 800b8ff4 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800b9384 | 0x800b9384 | 800b92a4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9618 | 0x800b9618 | 800b9538 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9b7c | 0x800b9b7c | 800b9a9c | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800b9d84 | 0x800b9d84 | 800b9ca4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9e9c | 0x800b9e9c | 800b9dbc | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9f48 | 0x800b9f48 | 800b9e68 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800ba18c | 0x800ba18c | 800ba0ac | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800ba814 | 0x800ba814 | 800ba734 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x1c | +| 800ba828 | 0x800ba828 | 800ba748 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bbae8 | 0x800bbae8 | 800bba08 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bc138 | bootloadDB2Res_ | 800bc058 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bed50 | 0x800bed50 | 800bec70 | - | prev=39610020 (addi r11,r1,32) word=4bf62855 (bl) | +| 800c5550 | 0x800c5550 | 800c5470 | - | prev=38c65340 (addi r6,r6,21312) word=38a00040 (li r5,64) | +| 800c686c | 0x800c686c | 800c678c | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800c8214 | 0x800c8214 | 800c8134 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbb4c | 0x800cbb4c | 800cba6c | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800cbb84 | 0x800cbb84 | 800cbaa4 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbde4 | 0x800cbde4 | 800cbd04 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbe2c | 0x800cbe2c | 800cbd4c | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800cc048 | RFL::SetToWiFiPacket | 800cbf68 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800e5644 | 0x800e5644 | 800e5564 | - | prev=90010014 (stw r0,20(r1)) word=93e1000c (stw r31,12(r1)) | +| 800f0000 | 0x800f0000 | 800eff20 | - | prev=7c63f82e (op31) word=4bfff4e1 (bl); next proven start at +0x38 | +| 800f6d4c | 0x800f6d4c | 800f6c6c | - | prev=7c9b2378 (mr r27,r4) word=7cbc2b78 (mr r28,r5) | +| 800fb78c | 0x800fb78c | 800fb6ac | - | prev=93c10018 (stw r30,24(r1)) word=3bc00000 (li r30,0) | +| 800fedbc | 0x800fedbc | 800fecdc | - | prev=8063000c (lwz r3,12(r3)) word=93e3000c (stw r31,12(r3)) | +| 80100000 | 0x80100000 | 800fff20 | bc | conditional-branch target (inside a function); prev=4800013c (b) word=38800000 (li r4,0) | +| 8010f4b8 | 0x8010f4b8 | 8010f3d8 | - | prev=83e1001c (lwz r31,28(r1)) word=83c10018 (lwz r30,24(r1)); next proven start at +0x14 | +| 80128018 | 0x80128018 | 80127f38 | - | prev=7c002050 (op31) word=900d99b4 (stw r0,-26188(r13)); next proven start at +0x14 | +| 8012e5a8 | 0x8012e5a8 | 8012e4c8 | b | prev=7c0004ac (op31) word=60000000 (ori r0,r0,0x0000); next proven start at +0x10 | +| 80130000 | 0x80130000 | 8012ff20 | - | prev=90050000 (stw r0,0(r5)) word=48000054 (b) | +| 80134d98 | 0x80134d98 | 80134cb8 | - | prev=93810010 (stw r28,16(r1)) word=7c7c1b78 (mr r28,r3) | +| 80144610 | 0x80144610 | 80144530 | jt+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=38600114 (li r3,276); next proven start at +0x8 | +| 8015581c | 0x8015581c | 8015573c | - | prev=7c0802a6 (mflr r0) word=3ce08028 (lis r7,0x8028) | +| 8015b2bc | 0x8015b2bc | 8015b1dc | bc | conditional-branch target (inside a function); prev=48000258 (b) word=88e80000 (op34) | +| 8015b368 | 0x8015b368 | 8015b288 | ptr+bc | conditional-branch target (inside a function); prev=4800000c (b) word=38600000 (li r3,0) | +| 801656a4 | 0x801656a4 | 801655c4 | - | prev=7ca40214 (op31) word=806d8ce8 (lwz r3,-29464(r13)) | +| 80165d20 | 0x80165d20 | 80165c40 | - | prev=90010014 (stw r0,20(r1)) word=38e72e60 (addi r7,r7,11872) | +| 80166864 | 0x80166864 | 80166784 | - | prev=4cc63182 (op19) word=4803bd6d (bl) | +| 8016d61c | 0x8016d61c | 8016d53c | bc | conditional-branch target (inside a function); prev=480001a8 (b) word=80c30000 (lwz r6,0(r3)) | +| 8016d7bc | 0x8016d7bc | 8016d6dc | ptr+b+bc | conditional-branch target (inside a function); prev=90c50018 (stw r6,24(r5)) word=38630008 (addi r3,r3,8) | +| 8016de1c | 0x8016de1c | 8016dd3c | bc | conditional-branch target (inside a function); prev=48000178 (b) word=80c40000 (lwz r6,0(r4)) | +| 8016f240 | 0x8016f240 | 8016f160 | - | prev=80c29728 (lwz r6,-26840(r2)) word=3c60cc01 (lis r3,0xcc01) | +| 80171770 | 0x80171770 | 80171690 | - | prev=98038000 (op38) word=90a38000 (stw r5,-32768(r3)); next proven start at +0x3c | +| 8017cf40 | 0x8017cf40 | 8017ce60 | - | prev=801a0064 (lwz r0,100(r26)) word=2c000002 (cmpwi cr0,r0,2) | +| 8017ff60 | 0x8017ff60 | 8017fe80 | bc | conditional-branch target (inside a function); prev=48000250 (b) word=801a0000 (lwz r0,0(r26)) | +| 8017ffc4 | 0x8017ffc4 | 8017fee4 | bc | conditional-branch target (inside a function); prev=48000068 (b) word=80190000 (lwz r0,0(r25)) | +| 80180000 | 0x80180000 | 8017ff20 | - | prev=7cc00734 (op31) word=88940001 (op34) | +| 80192348 | 0x80192348 | 80192268 | - | prev=90a400aa (stw r5,170(r4)) word=90a400ae (stw r5,174(r4)) | +| 8019801c | 0x8019801c | 80197f3c | - | prev=2c000000 (cmpwi cr0,r0,0) word=4082004c (bc) | +| 8019d454 | 0x8019d454 | 8019d374 | - | prev=3ca08029 (lis r5,0x8029) word=387f0048 (addi r3,r31,72) | +| 801a0000 | 0x801a0000 | 8019ff20 | - | prev=41820018 (bc) word=3c800001 (lis r4,0x0001) | +| 801a0138 | 0x801a0138 | 801a0058 | - | prev=3c80801a (lis r4,0x801a) word=3ca0801a (lis r5,0x801a) | +| 801a0404 | 0x801a0404 | 801a0324 | - | prev=7c651b78 (mr r5,r3) word=60000000 (ori r0,r0,0x0000) | +| 801ad43c | 0x801ad43c | 801ad35c | - | prev=93c100a8 (stw r30,168(r1)) word=7cbe2b78 (mr r30,r5) | +| 801b1c60 | 0x801b1c60 | 801b1b80 | - | prev=98010008 (op38) word=48000030 (b) | +| 801bcc20 | 0x801bcc20 | 801bcb40 | - | prev=38210030 (addi r1,r1,48) word=4e800020 (blr); next proven start at +0x4 | +| 801d0eb0 | 0x801d0eb0 | 801d0dd0 | - | prev=7c7d1b78 (mr r29,r3) word=7c9e2378 (mr r30,r4) | +| 801da7e8 | 0x801da7e8 | 801da708 | bc | conditional-branch target (inside a function); prev=48000008 (b) word=3a940001 (addi r20,r20,1) | +| 801da7ec | 0x801da7ec | 801da70c | b+bc | conditional-branch target (inside a function); prev=3a940001 (addi r20,r20,1) word=88140000 (op34) | +| 801dab8c | 0x801dab8c | 801daaac | b+jt+bc | conditional-branch target (inside a function); prev=4180feb0 (bc) word=2c1e0000 (cmpwi cr0,r30,0) | +| 801dcecc | 0x801dcecc | 801dcdec | b+jt+bc | conditional-branch target (inside a function); prev=900da0cc (stw r0,-24372(r13)) word=80010024 (lwz r0,36(r1)); next proven start at +0x1c | +| 801dfb34 | 0x801dfb34 | 801dfa54 | - | prev=7c751b78 (mr r21,r3) word=41820008 (bc) | +| 801ec214 | 0x801ec214 | 801ec134 | bc | conditional-branch target (inside a function); prev=39c00002 (li r14,2) word=4bfba399 (bl) | +| 801f6708 | 0x801f6708 | 801f6628 | - | prev=3b400000 (li r26,0) word=48000028 (b) | +| 801ff230 | 0x801ff230 | 801ff150 | - | prev=9421ffd0 (stwu r1,-48(r1)) word=7c0802a6 (mflr r0) | +| 80211b40 | 0x80211b40 | 80211a60 | ptr+bc | conditional-branch target (inside a function); prev=48000010 (b) word=38800000 (li r4,0); next proven start at +0x1c | +| 80217e1c | 0x80217e1c | 80217d3c | bc | conditional-branch target (inside a function); prev=4080022c (bc) word=7ca66050 (op31) | +| 80218028 | 0x80218028 | 80217f48 | - | prev=80a1002c (lwz r5,44(r1)) word=d8410030 (stfd f2,48(r1)); next proven start at +0x34 | +| 8021b790 | 0x8021b790 | 8021b6b0 | bc | conditional-branch target (inside a function); prev=3dc0802a (lis r14,0x802a) word=386100c0 (addi r3,r1,192) | +| 8021ff0c | 0x8021ff0c | 8021fe2c | bc | conditional-branch target (inside a function); prev=c3c29cb0 (op48) word=c0580024 (op48) | +| 80220000 | 0x80220000 | 8021ff20 | - | prev=5400043e (op21) word=900100f4 (stw r0,244(r1)) | +| 8023152c | 0x8023152c | 8023144c | bc | conditional-branch target (inside a function); prev=480000d0 (b) word=80770000 (lwz r3,0(r23)) | +| 80232eec | 0x80232eec | 80232e0c | ptr+bc | conditional-branch target (inside a function); prev=48000014 (b) word=38000000 (li r0,0) | +| 8023bc00 | 0x8023bc00 | 8023bb20 | bc | conditional-branch target (inside a function); prev=480000fc (b) word=5605043e (op21) | +| 80240000 | 0x80240000 | 8023ff20 | bc | conditional-branch target (inside a function); prev=3bc00000 (li r30,0) word=807d0004 (lwz r3,4(r29)) | +| 80244dd4 | switchdataD_80274dd4 | 80244cf4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 802a4080 | rkSystem | 802a3a00 | - | not in a text section (unmapped) | +| 802a40f4 | r13_and_stacks | 802a3a74 | - | not in a text section (unmapped) | +| 80385920 | dev/fs_fd | 803852a0 | - | not in a text section (dol.data6) | +| 80385924 | r13_and_stacks | 803852a4 | - | not in a text section (dol.data6) | +| 80386000 | SystemManager | 80385980 | - | not in a text section (unmapped) | +| 80387100 | r13_and_stacks | 80386a80 | - | not in a text section (dol.data7) | +| 80528058 | 0x80528058 | 805279d8 | - | prev=83c10018 (lwz r30,24(r1)) word=80010024 (lwz r0,36(r1)) | +| 8052aea4 | 0x8052aea4 | 8052a824 | bc | conditional-branch target (inside a function); prev=3e808000 (lis r20,0x8000) word=7ee3bb78 (mr r3,r23) | +| 8053bcc8 | 0x8053bcc8 | 8053b648 | bc | conditional-branch target (inside a function); prev=48000414 (b) word=566315ba (op21) | +| 8053bcf4 | 0x8053bcf4 | 8053b674 | bc | conditional-branch target (inside a function); prev=b0010020 (op44) word=80150044 (lwz r0,68(r21)) | +| 80540000 | 0x80540000 | 8053f980 | - | prev=38a0001c (li r5,28) word=38c0000c (li r6,12) | +| 80550000 | 0x80550000 | 8054f980 | - | prev=5404063e (op21) word=380393f0 (addi r0,r3,-27664) | +| 805536d8 | 0x805536d8 | 80553058 | bc | conditional-branch target (inside a function); prev=48000094 (b) word=7f03c378 (mr r3,r24) | +| 80553730 | 0x80553730 | 805530b0 | jt+bc | conditional-branch target (inside a function); prev=48000008 (b) word=3b400008 (li r26,8) | +| 805658f0 | 0x805658f0 | 80565270 | - | prev=1ca5000c (op7) word=c8430000 (lfd f2,0(r3)) | +| 80565b50 | 0x80565b50 | 805654d0 | - | prev=7c0802a6 (mflr r0) word=2c030000 (cmpwi cr0,r3,0) | +| 80565d14 | 0x80565d14 | 80565694 | - | prev=d01e0028 (op52) word=d01e002c (op52) | +| 8058b164 | 0x8058b164 | 8058aae4 | - | prev=48000cc1 (bl) word=7fc3f378 (mr r3,r30); next proven start at +0x34 | +| 805abea8 | 0x805abea8 | 805ab828 | b+jt+bc | conditional-branch target (inside a function); prev=4819ee29 (bl) word=807f0000 (lwz r3,0(r31)) | +| 805b0000 | 0x805b0000 | 805af980 | - | prev=99410009 (op38) word=9921000a (op38) | +| 805cdf28 | 0x805cdf28 | 805cd804 | b+bc | conditional-branch target (inside a function); prev=d014001c (op52) word=5660103a (op21) | +| 805d2aa8 | 0x805d2aa8 | 805d2384 | bc | conditional-branch target (inside a function); prev=3a20ffff (li r17,-1) word=80100000 (lwz r0,0(r16)) | +| 805f98f4 | SimpleMessageWindowControl::GetClassName | 805f91d0 | - | prev=3c600000 (lis r3,0x0000) word=38630000 (addi r3,r3,0); next proven start at +0xc | +| 8060b73c | 0x8060b73c | 8060aeb0 | - | prev=38800037 (li r4,55) word=38a00038 (li r5,56) | +| 8060b82c | 0x8060b82c | 8060afa0 | - | prev=386100f8 (addi r3,r1,248) word=38840000 (addi r4,r4,0) | +| 8060ef44 | 0x8060ef44 | 8060e6b8 | ptr+b+bc | conditional-branch target (inside a function); prev=4bff3549 (bl) word=396100f0 (addi r11,r1,240); next proven start at +0x18 | +| 806116c0 | 0x806116c0 | 80610e34 | ptr+b+bc | conditional-branch target (inside a function); prev=4800005c (b) word=38610008 (addi r3,r1,8) | +| 8061f550 | 0x8061f550 | 8061ecc4 | b+jt+bc | conditional-branch target (inside a function); prev=48000088 (b) word=38610008 (addi r3,r1,8) | +| 80628068 | 0x80628068 | 806277b4 | - | prev=80010014 (lwz r0,20(r1)) word=7c0803a6 (mtlr r0) | +| 8064f7ec | 0x8064f7ec | 8064ee58 | bc | conditional-branch target (inside a function); prev=3fc00000 (lis r30,0x0000) word=5743063e (op21) | +| 8064f988 | 0x8064f988 | 8064eff4 | ptr+b+bc | conditional-branch target (inside a function); prev=4beca361 (bl) word=38c00001 (li r6,1) | +| 8065193c | 0x8065193c | 80650fa8 | bc | conditional-branch target (inside a function); prev=3dc00000 (lis r14,0x0000) word=807a0000 (lwz r3,0(r26)) | +| 80651984 | 0x80651984 | 80650ff0 | bc | conditional-branch target (inside a function); prev=480001f8 (b) word=9a3601f4 (op38) | +| 80651b1c | 0x80651b1c | 80651188 | ptr+b+bc | conditional-branch target (inside a function); prev=901601f8 (stw r0,504(r22)) word=807a0000 (lwz r3,0(r26)) | +| 80668558 | 0x80668558 | 80667bc4 | ptr+bc | conditional-branch target (inside a function); prev=48000068 (b) word=388018a6 (li r4,6310) | +| 8067b190 | 0x8067b190 | 8067a7fc | jt+bc | conditional-branch target (inside a function); prev=48000068 (b) word=388018a6 (li r4,6310) | +| 80688e48 | 0x80688e48 | 806884b4 | bc | conditional-branch target (inside a function); prev=d001008c (op52) word=281a0009 (cmplwi cr0,r26,9) | +| 80689d74 | 0x80689d74 | 806893e0 | bc | conditional-branch target (inside a function); prev=3a600001 (li r19,1) word=281b0009 (cmplwi cr0,r27,9) | +| 8068a3b4 | 0x8068a3b4 | 80689a20 | bc | conditional-branch target (inside a function); prev=3a600001 (li r19,1) word=281b0009 (cmplwi cr0,r27,9) | +| 8068a9fc | 0x8068a9fc | 8068a068 | bc | conditional-branch target (inside a function); prev=3a200001 (li r17,1) word=28190009 (cmplwi cr0,r25,9) | +| 8068b15c | 0x8068b15c | 8068a7c8 | bc | conditional-branch target (inside a function); prev=3a200001 (li r17,1) word=28190009 (cmplwi cr0,r25,9) | +| 80697c30 | 0x80697c30 | 8069729c | bc | conditional-branch target (inside a function); prev=3fc00000 (lis r30,0x0000) word=807d0164 (lwz r3,356(r29)) | +| 806a2460 | 0x806a2460 | 806a1acc | - | prev=38ff06f4 (addi r7,r31,1780) word=391f07c8 (addi r8,r31,1992) | +| 806afaf0 | 0x806afaf0 | 806af15c | - | prev=807e0318 (lwz r3,792(r30)) word=389f0738 (addi r4,r31,1848) | +| 806baad4 | 0x806baad4 | 806ba140 | - | prev=8001001c (lwz r0,28(r1)) word=b01e0182 (op44) | +| 806bd88c | 0x806bd88c | 806bcef8 | - | prev=80630028 (lwz r3,40(r3)) word=4be99dc9 (bl) | +| 806bf208 | 0x806bf208 | 806be874 | - | prev=7c9e002e (op31) word=38840030 (addi r4,r4,48) | +| 806bf228 | 0x806bf228 | 806be894 | - | prev=c0410020 (op48) word=60000001 (ori r0,r0,0x0001) | +| 806c9f90 | 0x806c9f90 | 806c95fc | - | prev=7c0803a6 (mtlr r0) word=38210020 (addi r1,r1,32) | +| 806c9fb0 | 0x806c9fb0 | 806c961c | - | prev=81830000 (lwz r12,0(r3)) word=3fc00000 (lis r30,0x0000) | +| 806e70c4 | 0x806e70c4 | 806e6730 | - | prev=c01e001c (op48) word=d03c0120 (op52) | +| 8070ecb4 | 0x8070ecb4 | 8070e320 | - | prev=90c30060 (stw r6,96(r3)) word=4d810020 (op19) | +| 8070ede4 | 0x8070ede4 | 8070e450 | jt | prev=90030060 (stw r0,96(r3)) word=4e800020 (blr) | +| 807123bc | 0x807123bc | 80711a28 | b+jt+bc | conditional-branch target (inside a function); prev=3ba00002 (li r29,2) word=2c1c0000 (cmpwi cr0,r28,0) | +| 80726cb0 | 0x80726cb0 | 8072631c | - | prev=ec460072 (op59) word=c0010024 (op48) | +| 80726e04 | 0x80726e04 | 80726470 | - | prev=ec6400f2 (op59) word=ec22082a (op59) | +| 8073e1b0 | 0x8073e1b0 | 8073d81c | ptr+b+bc | conditional-branch target (inside a function); prev=7c661b78 (mr r6,r3) word=83e1000c (lwz r31,12(r1)); next proven start at +0x1c | +| 8073eaf8 | 0x8073eaf8 | 8073e164 | ptr+b+bc | conditional-branch target (inside a function); prev=7c661b78 (mr r6,r3) word=83e1000c (lwz r31,12(r1)) | +| 80754cd8 | 0x80754cd8 | 80754344 | b+jt+bc | conditional-branch target (inside a function); prev=418202d8 (bc) word=38610068 (addi r3,r1,104) | +| 807604c4 | 0x807604c4 | 8075fb30 | - | prev=3400ffff (op13) word=900300c0 (stw r0,192(r3)) | +| 8078c3e0 | 0x8078c3e0 | 8078ba4c | - | prev=ec00102a (op59) word=fc00001e (op63) | +| 807c6b34 | 0x807c6b34 | 807c61a0 | ptr+bc | conditional-branch target (inside a function); prev=4800010c (b) word=839d0000 (lwz r28,0(r29)) | +| 807ce31c | 0x807ce31c | 807cd988 | ptr+bc | conditional-branch target (inside a function); prev=4e800420 (bctr) word=c05d0308 (op48) | +| 807d3358 | 0x807d3358 | 807d29c4 | ptr+b+bc | conditional-branch target (inside a function); prev=7cbc2b78 (mr r28,r5) word=2c1c0000 (cmpwi cr0,r28,0); next proven start at +0x34 | +| 807f8084 | 0x807f8084 | 807f76f0 | - | prev=38a10008 (addi r5,r1,8) word=38c1000a (addi r6,r1,10) | +| 807fda18 | 0x807fda18 | 807fd084 | - | prev=a804002e (op42) word=b01e013c (op44) | +| 80800000 | 0x80800000 | 807ff66c | - | prev=7c641b78 (mr r4,r3) word=7fc3f378 (mr r3,r30) | +| 80808080 | 0x80808080 | 808076ec | - | prev=3bde0000 (addi r30,r30,0) word=38800002 (li r4,2) | +| 80810000 | 0x80810000 | 8080f66c | - | prev=2c1a0001 (cmpwi cr0,r26,1) word=4182004c (bc) | +| 808148a4 | 0x808148a4 | 80813f10 | - | prev=c02a0000 (op48) word=480014c0 (b) | +| 8082b708 | 0x8082b708 | 8082ad74 | bc | conditional-branch target (inside a function); prev=3f800000 (lis r28,0x0000) word=81980000 (lwz r12,0(r24)) | +| 8082bd68 | 0x8082bd68 | 8082b3d4 | - | prev=80830000 (lwz r4,0(r3)) word=548005ef (op21) | +| 80830000 | 0x80830000 | 8082f66c | bc | conditional-branch target (inside a function); prev=4bd276e5 (bl) word=38610008 (addi r3,r1,8) | +| 80833800 | 0x80833800 | 80832e6c | ptr+bc | conditional-branch target (inside a function); prev=48000008 (b) word=3860ffff (li r3,-1); next proven start at +0x1c | +| 8085ade8 | 0x8085ade8 | 8085a454 | jt+bc | conditional-branch target (inside a function); prev=480001fc (b) word=80031780 (lwz r0,6016(r3)) | +| 8085bb9c | 0x8085bb9c | 8085b208 | jt+bc | conditional-branch target (inside a function); prev=48000048 (b) word=2c040016 (cmpwi cr0,r4,22) | +| 80860350 | 0x80860350 | 8085f9bc | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 808603ac | 0x808603ac | 8085fa18 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 8086047c | 0x8086047c | 8085fae8 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=38600000 (li r3,0); next proven start at +0x8 | +| 80862ab0 | 0x80862ab0 | 8086211c | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 80862e1c | 0x80862e1c | 80862488 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 80863618 | 0x80863618 | 80862c84 | ptr+b+bc | conditional-branch target (inside a function); prev=90030000 (stw r0,0(r3)) word=2c040000 (cmpwi cr0,r4,0) | +| 80863710 | 0x80863710 | 80862d7c | ptr+b+bc | conditional-branch target (inside a function); prev=90030000 (stw r0,0(r3)) word=2c040000 (cmpwi cr0,r4,0) | +| 80863814 | 0x80863814 | 80862e80 | ptr+b+bc | conditional-branch target (inside a function); prev=901f0000 (stw r0,0(r31)) word=80010014 (lwz r0,20(r1)); next proven start at +0x18 | +| 80869368 | 0x80869368 | 808689d4 | jt+bc | conditional-branch target (inside a function); prev=4e800420 (bctr) word=38000000 (li r0,0) | +| 8086e824 | 0x8086e824 | 8086de90 | - | prev=3860007c (li r3,124) word=38840000 (addi r4,r4,0) | +| 80877b48 | 0x80877b48 | 808771b4 | - | prev=2c030000 (cmpwi cr0,r3,0) word=41820014 (bc) | + +## Identity (low-memory) entries (15) + +Below 0x80004000 the PAL address is kept unchanged. These addresses are outside every DOL/REL section, so the binaries cannot vouch for them; the evidence column shows whether any NTSC-J code branches to them. + +| address | name | binary evidence | +|---|---|---| +| 800018a8 | 0x800018a8 | low memory, binary evidence: UNVERIFIED (-) | +| 80001d50 | 0x80001d50 | low memory, binary evidence: UNVERIFIED (-) | +| 80001d6c | 0x80001d6c | low memory, binary evidence: UNVERIFIED (-) | +| 80001d90 | 0x80001d90 | low memory, binary evidence: UNVERIFIED (-) | +| 80001dc0 | 0x80001dc0 | low memory, binary evidence: UNVERIFIED (-) | +| 80001de8 | 0x80001de8 | low memory, binary evidence: UNVERIFIED (-) | +| 80001dec | 0x80001dec | low memory, binary evidence: UNVERIFIED (-) | +| 80001e14 | 0x80001e14 | low memory, binary evidence: UNVERIFIED (-) | +| 80001e30 | 0x80001e30 | low memory, binary evidence: UNVERIFIED (-) | +| 80001f1c | 0x80001f1c | low memory, binary evidence: UNVERIFIED (-) | +| 80001f40 | 0x80001f40 | low memory, binary evidence: UNVERIFIED (-) | +| 80001f54 | 0x80001f54 | low memory, binary evidence: UNVERIFIED (-) | +| 80002440 | 0x80002440 | low memory, binary evidence: UNVERIFIED (-) | +| 8000245c | 0x8000245c | low memory, binary evidence: UNVERIFIED (-) | +| 8000249c | __TRKreset | low memory, binary evidence: UNVERIFIED (-) | diff --git a/projects/mkwii-ntsc-j/data_addresses.txt b/projects/mkwii-ntsc-j/data_addresses.txt new file mode 100644 index 0000000..eafc875 --- /dev/null +++ b/projects/mkwii-ntsc-j/data_addresses.txt @@ -0,0 +1,150 @@ +# RMCJ01 addresses for the PAL (RMCP01) data globals named by the WiiCompiled runtime. +# Generated by tools/region/port_data_addresses.py --region J --reference-region P; do not edit by hand. +# Format: +# PROVEN - the instruction at the ported reference site forms exactly this address, +# and the independent chunk-table port of the PAL address agrees. +# CALIBRATED - the reference site reproduces the known reference-disc address for this +# global, so its decode in this region is trusted even where the chunk +# table has no mapping. +# MATCHED - the reference site's instruction window, with the fields that legitimately +# differ between regions masked out, occurs exactly once in this region's +# code; the displacement was read from that instruction. Used where the +# chunk table is not instruction-exact inside a function. +# FIELD - uniquely matched PAL base and field instructions, with the base register +# preserved and the target's own displacement decoded (including REL relocations). +# RECORD - a verified table base, target indexing stride and matching immutable records. +# SECTION - a section boundary, taken from the region section table. +# CHUNK-ONLY - chunk-table port only; no reference site formed exactly this address. +# Small-data bases: RMCJ01 r13=0x8038C580 r2=0x8038E920. +# Totals: 115 confirmed, 16 chunk-only, 0 unresolved. +80344090 80343A10 PROVEN @80172D38 (calibrated on P@80172E18) forms 0x80343A10 (chunk port agrees) +80344094 80343A14 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +80344098 80343A18 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +803440A4 80343A24 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +803440A8 80343A28 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +803440AC 80343A2C CHUNK-ONLY (no reference site confirmed it: no-reference-site) +80344110 80343A90 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +80344710 80344090 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +803867D8 80386158 PROVEN @8016EA44 (calibrated on P@8016EB24) forms 0x80386158 (chunk port agrees) +803886C8 80388048 PROVEN @8016B794 (calibrated on P@8016B874) forms 0x80388048 (chunk port agrees) +80343230 80342BB0 PROVEN @801634E0 (calibrated on P@801635C0) forms 0x80342BB0 (chunk port agrees) +803434E0 80342E60 PROVEN @801648A0 (calibrated on P@80164980) forms 0x80342E60 (chunk port agrees) +80386664 80385FE4 PROVEN @80162B34 (calibrated on P@80162C14) forms 0x80385FE4 (chunk port agrees) +80386668 80385FE8 PROVEN @80162B78 (calibrated on P@80162C58) forms 0x80385FE8 (chunk port agrees) +80386670 80385FF0 PROVEN @801633B0 (calibrated on P@80163490) forms 0x80385FF0 (chunk port agrees) +8038667C 80385FFC PROVEN @80163018 (calibrated on P@801630F8) forms 0x80385FFC (chunk port agrees) +803866A8 80386028 PROVEN @801633A0 (calibrated on P@80163480) forms 0x80386028 (chunk port agrees) +803866F0 80386070 PROVEN @80162B2C (calibrated on P@80162C0C) forms 0x80386070 (chunk port agrees) +80386720 803860A0 PROVEN @80164908 (calibrated on P@801649E8) forms 0x803860A0 (chunk port agrees) +80386724 803860A4 PROVEN @80164890 (calibrated on P@80164970) forms 0x803860A4 (chunk port agrees) +80386725 803860A5 PROVEN @80164784 (calibrated on P@80164864) forms 0x803860A5 (chunk port agrees) +803866A0 80386020 PROVEN @8015E950 (calibrated on P@8015EA30) forms 0x80386020 (chunk port agrees) +80346D20 803466A0 PROVEN @8019E794 (calibrated on P@8019E874) forms 0x803466A0 (chunk port agrees) +80386848 803861C8 PROVEN @8019E0CC (calibrated on P@8019E1AC) forms 0x803861C8 (chunk port agrees) +80350864 803501E4 CHUNK-ONLY (no reference site confirmed it: 801B95EC forms 0x803501E0) +80350866 803501E6 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +80350872 803501F2 CHUNK-ONLY (no reference site confirmed it: 801B96CC forms 0x803501E0) +8035087C 803501FC CHUNK-ONLY (no reference site confirmed it: no-reference-site) +80350890 80350210 CHUNK-ONLY (no reference site confirmed it: 801BA9F4 forms 0x803501E0) +80386B38 803864B8 PROVEN @801B93D8 (calibrated on P@801B94B8) forms 0x803864B8 (chunk port agrees) +80386BA8 80386528 PROVEN @801BAC0C (calibrated on P@801BACEC) forms 0x80386528 (chunk port agrees) +80386BE4 80386564 PROVEN @801B9928 (calibrated on P@801B9A08) forms 0x80386564 (chunk port agrees) +80386B44 803864C4 PROVEN @801B98C4 (calibrated on P@801B99A4) forms 0x803864C4 (chunk port agrees) +80386BB8 80386538 PROVEN @801B902C (calibrated on P@801B910C) forms 0x80386538 (chunk port agrees) +80386BB4 80386534 PROVEN @801B9070 (calibrated on P@801B9150) forms 0x80386534 (chunk port agrees) +80386BA0 80386520 PROVEN @801BAA44 (calibrated on P@801BAB24) forms 0x80386520 (chunk port agrees) +80386BC0 80386540 PROVEN @801B992C (calibrated on P@801B9A0C) forms 0x80386540 (chunk port agrees) +80386F60 803868E0 PROVEN @80008E74 (calibrated on P@80008F18) forms 0x803868E0 (chunk port agrees) +80244DE0 80244D00 SECTION .ctors start (from the region section table) +80244EA0 80244DC0 SECTION .dtors start (from the region section table) +8088F400 8088EA6C SECTION .ctors start (from the region section table) +8088F704 8088ED70 SECTION .dtors start (from the region section table) +80343740 803430C0 CHUNK-ONLY (no reference site confirmed it: no-reference-site) +803437C0 80343140 CHUNK-ONLY (no reference site confirmed it: 8016B794 forms 0x80388048) +80343DC0 80343740 PROVEN @8016D0EC (calibrated on P@8016D1CC) forms 0x80343740 (chunk port agrees) +80343DE4 80343764 PROVEN @8016D0D4 (calibrated on P@8016D1B4) forms 0x80343764 (chunk port agrees) +803867B0 80386130 PROVEN @8016D100 (calibrated on P@8016D1E0) forms 0x80386130 (chunk port agrees) +803867B1 80386131 PROVEN @8016D104 (calibrated on P@8016D1E4) forms 0x80386131 (chunk port agrees) +803867C0 80386140 PROVEN @8016D0DC (calibrated on P@8016D1BC) forms 0x80386140 (chunk port agrees) +803867C4 80386144 PROVEN @8016D0D0 (calibrated on P@8016D1B0) forms 0x80386144 (chunk port agrees) +803867D0 80386150 PROVEN @8016ED60 (calibrated on P@8016EE40) forms 0x80386150 (chunk port agrees) +803477B0 80347130 PROVEN @801A9970 (calibrated on P@801A9A50) forms 0x80347130 (chunk port agrees) +80386918 80386298 PROVEN @801A97A0 (calibrated on P@801A9880) forms 0x80386298 (chunk port agrees) +8038691C 8038629C PROVEN @801A96D8 (calibrated on P@801A97B8) forms 0x8038629C (chunk port agrees) +80386920 803862A0 PROVEN @801A96D0 (calibrated on P@801A97B0) forms 0x803862A0 (chunk port agrees) +803869E0 80386360 PROVEN @801B2350 (calibrated on P@801B2430) forms 0x80386360 (chunk port agrees) +80386000 80385980 PROVEN @8000A540 (calibrated on P@8000A5E4) forms 0x80385980 (chunk port agrees) +80386F14 80386894 PROVEN @8023E470 (calibrated on P@8023E550) forms 0x80386894 (chunk port agrees) +80386F20 803868A0 PROVEN @8023E624 (calibrated on P@8023E704) forms 0x803868A0 (chunk port agrees) +80386F24 803868A4 CHUNK-ONLY (no reference site confirmed it: 8023E624 forms 0x803868A0) +80388B80 80388500 PROVEN @8021B448 (calibrated on P@8021B528) forms 0x80388500 (chunk port agrees) +80388BA0 80388520 PROVEN @8021B4D8 (calibrated on P@8021B5B8) forms 0x80388520 (chunk port agrees) +80388BC0 80388540 PROVEN @8021B548 (calibrated on P@8021B628) forms 0x80388540 (chunk port agrees) +80388BE0 80388560 PROVEN @8021B540 (calibrated on P@8021B620) forms 0x80388560 (chunk port agrees) +802574A0 80256E40 FIELD base @8021B230 -> 0x80256E20; field @8021B298 word 389F0020 (unique PAL instruction matches; register r31 preserved) +802574E0 80256E80 FIELD base @8021B230 -> 0x80256E20; field @8021B2A8 word 389F0060 (unique PAL instruction matches; register r31 preserved) +80257520 80256EC0 FIELD base @8021B230 -> 0x80256E20; field @8021B434 word 389F00A0 (unique PAL instruction matches; register r31 preserved) +80257540 80256EE0 FIELD base @8021B230 -> 0x80256E20; field @8021B4C4 word 389F00C0 (unique PAL instruction matches; register r31 preserved) +802A3EE8 802A3888 CALIBRATED @8023E494 (calibrated on P@8023E574) forms 0x802A3888 (chunk port has no mapping) +802A3EF4 802A3894 RECORD table @8023E494 -> 0x802A3888; stride @8023E48C mulli r4,r0,12; both 12-byte records equal PAL +802A3F0C 802A38AC CALIBRATED @8023D250 (calibrated on P@8023D330) forms 0x802A38AC (chunk port has no mapping) +808B4C20 808B3D80 CALIBRATED @805651D0 (calibrated on P@80565850) forms 0x808B3D80 (chunk port has no mapping) +809C1830 809C0890 PROVEN @80564A9C (calibrated on P@8056511C) forms 0x809C0890 (chunk port agrees) +809C183C 809C089C FIELD base @80564BF0 -> 0x809C0890; field @80564C08 word 3865000C (unique PAL instruction matches; register r5 preserved) +809C2898 809C18F8 CALIBRATED @807164A0 (calibrated on P@80716E34) forms 0x809C18F8 (chunk port has no mapping) +8027F820 8027F1C0 CALIBRATED @80126920 (calibrated on P@80126A00) forms 0x8027F1C0 (chunk port has no mapping) +802F81A0 802F7B20 PROVEN @80126910 (calibrated on P@801269F0) forms 0x802F7B20 (chunk port agrees) +802F8200 802F7B80 PROVEN @801268E4 (calibrated on P@801269C4) forms 0x802F7B80 (chunk port agrees) +80386608 80385F88 PROVEN @8015D390 (calibrated on P@8015D470) forms 0x80385F88 (chunk port agrees) +80386610 80385F90 PROVEN @8015D4D0 (calibrated on P@8015D5B0) forms 0x80385F90 (chunk port agrees) +80386614 80385F94 PROVEN @8015D4CC (calibrated on P@8015D5AC) forms 0x80385F94 (chunk port agrees) +80386618 80385F98 PROVEN @8015D3F8 (calibrated on P@8015D4D8) forms 0x80385F98 (chunk port agrees) +8038661C 80385F9C PROVEN @8015D400 (calibrated on P@8015D4E0) forms 0x80385F9C (chunk port agrees) +80386620 80385FA0 PROVEN @8015D404 (calibrated on P@8015D4E4) forms 0x80385FA0 (chunk port agrees) +80386624 80385FA4 PROVEN @8015D3FC (calibrated on P@8015D4DC) forms 0x80385FA4 (chunk port agrees) +80388588 80387F08 PROVEN @8012B7DC (calibrated on P@8012B8BC) forms 0x80387F08 (chunk port agrees) +8038858C 80387F0C PROVEN @8012B7EC (calibrated on P@8012B8CC) forms 0x80387F0C (chunk port agrees) +80386448 80385DC8 PROVEN @80123FEC (calibrated on P@801240CC) forms 0x80385DC8 (chunk port agrees) +8038644C 80385DCC PROVEN @80124198 (calibrated on P@80124278) forms 0x80385DCC (chunk port agrees) +8038647C 80385DFC PROVEN @8012411C (calibrated on P@801241FC) forms 0x80385DFC (chunk port agrees) +80386480 80385E00 PROVEN @80123EC0 (calibrated on P@80123FA0) forms 0x80385E00 (chunk port agrees) +80347130 80346AB0 CHUNK-ONLY (no reference site confirmed it: 801A9E68 forms 0x80346A70) +80347498 80346E18 PROVEN @801A9560 (calibrated on P@801A9640) forms 0x80346E18 (chunk port agrees) +803478B0 80347230 PROVEN @801A9C60 (calibrated on P@801A9D40) forms 0x80347230 (chunk port agrees) +80385AA8 80385428 PROVEN @801A9EA0 (calibrated on P@801A9F80) forms 0x80385428 (chunk port agrees) +80385AE0 80385460 PROVEN @801A94EC (calibrated on P@801A95CC) forms 0x80385460 (chunk port agrees) +803868F8 80386278 PROVEN @801A6518 (calibrated on P@801A65F8) forms 0x80386278 (chunk port agrees) +80386298 80385C18 PROVEN @800BC390 (calibrated on P@800BC470) forms 0x80385C18 (chunk port agrees) +80336278 80335BF8 PROVEN @8013A220 (calibrated on P@8013A300) forms 0x80335BF8 (chunk port agrees) +809BEBA0 809BDC00 FIELD base @80550654 -> 0x809BDB60; field @8055067C word 801E00A0 (unique PAL instruction matches; register r30 preserved) +809BEBA4 809BDC04 FIELD base @80550654 -> 0x809BDB60; field @80550894 word 989E00A4 (unique PAL instruction matches; register r30 preserved) +809BEBA5 809BDC05 FIELD base @80550654 -> 0x809BDB60; field @8055088C word 989E00A5 (unique PAL instruction matches; register r30 preserved) +809BEBA6 809BDC06 FIELD base @80550654 -> 0x809BDB60; field @80550898 word 989E00A6 (unique PAL instruction matches; register r30 preserved) +809BEBA7 809BDC07 FIELD base @80550654 -> 0x809BDB60; field @8055079C word 981E00A7 (unique PAL instruction matches; register r30 preserved) +809BECF0 809BDD50 CALIBRATED @80550620 (calibrated on P@80550CA0) forms 0x809BDD50 (chunk port has no mapping) +8088FDB8 8088F418 CALIBRATED @805296A8 (calibrated on P@80529D28) forms 0x8088F418 (chunk port has no mapping) +80386934 803862B4 PROVEN @801AB7D0 (calibrated on P@801AB8B0) forms 0x803862B4 (chunk port agrees) +80386938 803862B8 PROVEN @801AB7C8 (calibrated on P@801AB8A8) forms 0x803862B8 (chunk port agrees) +8038693C 803862BC PROVEN @801AB7F0 (calibrated on P@801AB8D0) forms 0x803862BC (chunk port agrees) +80386940 803862C0 PROVEN @801AB6C0 (calibrated on P@801AB7A0) forms 0x803862C0 (chunk port agrees) +80386948 803862C8 PROVEN @801AB6A0 (calibrated on P@801AB780) forms 0x803862C8 (chunk port agrees) +80386770 803860F0 PROVEN @80169B04 (calibrated on P@80169BE4) forms 0x803860F0 (chunk port agrees) +80386774 803860F4 PROVEN @80169B34 (calibrated on P@80169C14) forms 0x803860F4 (chunk port agrees) +8038677C 803860FC PROVEN @80169B14 (calibrated on P@80169BF4) forms 0x803860FC (chunk port agrees) +80386780 80386100 PROVEN @80169B1C (calibrated on P@80169BFC) forms 0x80386100 (chunk port agrees) +80386784 80386104 PROVEN @80169BEC (calibrated on P@80169CCC) forms 0x80386104 (chunk port agrees) +803867EC 8038616C PROVEN @80192ED0 (calibrated on P@80192FB0) forms 0x8038616C (chunk port agrees) +803867F0 80386170 PROVEN @80192ECC (calibrated on P@80192FAC) forms 0x80386170 (chunk port agrees) +80385920 803852A0 PROVEN @80169B7C (calibrated on P@80169C5C) forms 0x803852A0 (chunk port agrees) +80385928 803852A8 PROVEN @80169B64 (calibrated on P@80169C44) forms 0x803852A8 (chunk port agrees) +803868A0 80386220 PROVEN @801A0500 (calibrated on P@801A05E0) forms 0x80386220 (chunk port agrees) +80386528 80385EA8 PROVEN @8012686C (calibrated on P@8012694C) forms 0x80385EA8 (chunk port agrees) +80386524 80385EA4 PROVEN @801267C4 (calibrated on P@801268A4) forms 0x80385EA4 (chunk port agrees) +80385800 80385180 PROVEN @80126934 (calibrated on P@80126A14) forms 0x80385180 (chunk port agrees) +80385802 80385182 PROVEN @8012693C (calibrated on P@80126A1C) forms 0x80385182 (chunk port agrees) +80385804 80385184 PROVEN @8012692C (calibrated on P@80126A0C) forms 0x80385184 (chunk port agrees) +80388DD0 80388750 PROVEN @8022D694 (calibrated on P@8022D774) forms 0x80388750 (chunk port agrees) +80388DE0 80388760 PROVEN @8022DDC8 (calibrated on P@8022DEA8) forms 0x80388760 (chunk port agrees) +80388DF4 80388774 PROVEN @8022E120 (calibrated on P@8022E200) forms 0x80388774 (chunk port agrees) +8029CEB0 8029C850 CALIBRATED @801B22E0 (calibrated on P@801B23C0) forms 0x8029C850 (chunk port has no mapping) +8029CEF8 8029C898 CALIBRATED @801B2408 (calibrated on P@801B24E8) forms 0x8029C898 (chunk port has no mapping) diff --git a/projects/mkwii-ntsc-j/recomp.yml b/projects/mkwii-ntsc-j/recomp.yml new file mode 100644 index 0000000..00e9001 --- /dev/null +++ b/projects/mkwii-ntsc-j/recomp.yml @@ -0,0 +1,73 @@ +schema_version: 1 +workspace_root: ../.. + +# Mario Kart Wii NTSC-J (RMCJ01). The same translation surface as projects/mkwii/recomp.yml, with +# the facts that differ per region: the small-data bases the DOL's __init_registers installs, the +# StaticR.rel load address and the clean-input digests. The function map is the PAL map ported +# through the community region table and validated against these binaries by +# tools/region/port_map.py; MAP_REPORT.md next to it carries the numbers. +project: + id: mkwii-rmcj01 + display_name: Mario Kart Wii NTSC-J + game_id: RMCJ01 + region: J + base_manifest_format: mkwii-recomp-base-manifest + base_manifest_stem: mkwii_base + +memory: + base: 0x80000000 + size: 0x01A00000 + sda_base: 0x8038C580 + sda2_base: 0x8038E920 + +inputs: + dol: + path: Assets/main.dol + sha256: 1b9621ef7c5d97dada103e50e5389730e67f3c2545dda592edd4b5843655af91 + + rel: + path: Assets/StaticR.rel + load_address: 0x8050FC60 + sha256: 88539012d357a1420724e51dc7e351192ce696da4b0045994895518a3fad6fae + +translation: + entry_points: + - 0x800060A4 + function_map: + path: projects/mkwii-ntsc-j/MAP.txt + allow_unsupported_instructions: false + +runtime: + native_registration_root: runtime/src + native_abi_directories: + - runtime/src/hle/gx + +output: + root: generated + functions: functions + runtime_config: RuntimeConfig.h + data_initializer: data_sections_init.cpp + base_manifest: ../build/base/mkwii_base_manifest.json + +# Code.pul carries a separate chunk for this region. The regional link base determines +# the branch bytes checked at startup; execution is remapped to module_guest_base. +profiles: + retro-rewind: + enabled: true + requires_game_id: RMCJ01 + requires_dol_sha256: 1b9621ef7c5d97dada103e50e5389730e67f3c2545dda592edd4b5843655af91 + code_pul: PulsarPacks/completed/RetroRewind/RetroRewind6/Binaries/Code.pul + mod_root: PulsarPacks/completed/RetroRewind/RetroRewind6 + region: J + module_guest_base: 0x81800000 + module_link_base: 0x80398C60 + output: build/mods/retro_rewind_full_cpp + enable_retro_wfc: true + retro_wfc_payload: https://rwfc.net/api/wfc/payload?g=RMCJD00 + retro_wfc_legacy_bootstrap_hook: 0x800ED608 + riivolution: + xml: xml/RetroRewind6.xml + options: + - section: Retro Rewind + option: Pack + choice: 1 diff --git a/projects/mkwii-ntsc-j/region_port.json b/projects/mkwii-ntsc-j/region_port.json new file mode 100644 index 0000000..4a9c751 --- /dev/null +++ b/projects/mkwii-ntsc-j/region_port.json @@ -0,0 +1,591 @@ +{ + "source_region": "P", + "target_region": "J", + "generator": "tools/region/port_map.py", + "attribution": "chunk table and section layouts vendored from the mkw-sp project (port.py, MIT license)", + "port_rule": "if src_start <= a < src_end then a - src_start + dst_start", + "address_format": "hex strings", + "chunks": [ + [ + "0x80004000", + "0x80008024", + "0x80004000" + ], + [ + "0x800080E8", + "0x8000ADC0", + "0x80008044" + ], + [ + "0x8000AF08", + "0x80021BAC", + "0x8000AE2C" + ], + [ + "0x80021BAC", + "0x80244DE0", + "0x80021ACC" + ], + [ + "0x802A4080", + "0x8038917C", + "0x802A3A00" + ], + [ + "0x805103B4", + "0x805CC0A8", + "0x8050FD34" + ], + [ + "0x805CC1B4", + "0x805FA33C", + "0x805CBA90" + ], + [ + "0x805FA344", + "0x805FF6E8", + "0x805F9C20" + ], + [ + "0x805FFD70", + "0x806003E8", + "0x805FF528" + ], + [ + "0x80600C78", + "0x80620CB4", + "0x806003EC" + ], + [ + "0x80620D7C", + "0x80637A24", + "0x806204C8" + ], + [ + "0x80637A80", + "0x8063BCF8", + "0x8063716C" + ], + [ + "0x8063BE40", + "0x8088F400", + "0x8063B4AC" + ], + [ + "0x808913C0", + "0x808913C4", + "0x80890A10" + ], + [ + "0x80895238", + "0x808952B8", + "0x80894888" + ], + [ + "0x808AD3C4", + "0x808AD3C8", + "0x808AC524" + ], + [ + "0x808B3984", + "0x808B3988", + "0x808B2AE4" + ], + [ + "0x808B5B1C", + "0x808B5B20", + "0x808B4C7C" + ], + [ + "0x808B5C78", + "0x808B5C7C", + "0x808B4DD8" + ], + [ + "0x808BB034", + "0x808BB098", + "0x808BA184" + ], + [ + "0x808CB550", + "0x808CB554", + "0x808CA6A0" + ], + [ + "0x808D3698", + "0x808D369C", + "0x808D27E8" + ], + [ + "0x808D36CC", + "0x808D36D0", + "0x808D281C" + ], + [ + "0x808D36D4", + "0x808D36D8", + "0x808D2824" + ], + [ + "0x808D3744", + "0x808D3748", + "0x808D2894" + ], + [ + "0x808D374C", + "0x808D3750", + "0x808D289C" + ], + [ + "0x808D3E14", + "0x808D3E18", + "0x808D2F64" + ], + [ + "0x808DA070", + "0x808DA080", + "0x808D91C0" + ], + [ + "0x808DA318", + "0x808DA368", + "0x808D9468" + ], + [ + "0x809BD6E8", + "0x809BD74C", + "0x809BC748" + ], + [ + "0x809C1830", + "0x809C1834", + "0x809C0890" + ], + [ + "0x809C1874", + "0x809C1878", + "0x809C08D4" + ], + [ + "0x809C18F8", + "0x809C18FC", + "0x809C0958" + ], + [ + "0x809C1988", + "0x809C198C", + "0x809C09E8" + ], + [ + "0x809C19A0", + "0x809C19BC", + "0x809C0A00" + ], + [ + "0x809C1E38", + "0x809C1E3C", + "0x809C0E98" + ], + [ + "0x809C21D0", + "0x809C21D4", + "0x809C1230" + ], + [ + "0x809C21D8", + "0x809C21DC", + "0x809C1238" + ], + [ + "0x809C2328", + "0x809C232C", + "0x809C1388" + ], + [ + "0x809C27F0", + "0x809C27FC", + "0x809C1850" + ], + [ + "0x809C282C", + "0x809C2854", + "0x809C188C" + ], + [ + "0x809C28B8", + "0x809C28BC", + "0x809C1918" + ], + [ + "0x809C2BE8", + "0x809C2BEC", + "0x809C1C48" + ], + [ + "0x809C2EF0", + "0x809C2EF4", + "0x809C1F50" + ], + [ + "0x809C2F38", + "0x809C2F40", + "0x809C1F98" + ], + [ + "0x809C2F44", + "0x809C2F48", + "0x809C1FA4" + ], + [ + "0x809C3618", + "0x809C361C", + "0x809C2678" + ], + [ + "0x809C38B8", + "0x809C38BC", + "0x809C2918" + ], + [ + "0x809C4330", + "0x809C4334", + "0x809C3390" + ], + [ + "0x809C4680", + "0x809C4684", + "0x809C36E0" + ], + [ + "0x809C4740", + "0x809C474C", + "0x809C37A0" + ], + [ + "0x809C496C", + "0x809C4970", + "0x809C39CC" + ] + ], + "rel_load_address": { + "P": "0x805102E0", + "E": "0x8050BF60", + "J": "0x8050FC60" + }, + "dol_sections": { + "P": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244DE0" + }, + { + "name": "ctors", + "start": "0x80244DE0", + "end": "0x80244EA0" + }, + { + "name": "dtors", + "start": "0x80244EA0", + "end": "0x80244EC0" + }, + { + "name": "rodata", + "start": "0x80244EC0", + "end": "0x80258580" + }, + { + "name": "data", + "start": "0x80258580", + "end": "0x802A4040" + }, + { + "name": "bss", + "start": "0x802A4080", + "end": "0x80384C00" + }, + { + "name": "sdata", + "start": "0x80384C00", + "end": "0x80385FC0" + }, + { + "name": "sbss", + "start": "0x80385FC0", + "end": "0x80386FA0" + }, + { + "name": "sdata2", + "start": "0x80386FA0", + "end": "0x80389140" + }, + { + "name": "sbss2", + "start": "0x80389140", + "end": "0x8038917C" + } + ], + "E": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244D40" + }, + { + "name": "ctors", + "start": "0x80244D40", + "end": "0x80244E00" + }, + { + "name": "dtors", + "start": "0x80244E00", + "end": "0x80244E20" + }, + { + "name": "rodata", + "start": "0x80244E40", + "end": "0x80258260" + }, + { + "name": "data", + "start": "0x80258260", + "end": "0x8029FD00" + }, + { + "name": "bss", + "start": "0x8029FD00", + "end": "0x80380880" + }, + { + "name": "sdata", + "start": "0x80380880", + "end": "0x80381C40" + }, + { + "name": "sbss", + "start": "0x80381C40", + "end": "0x80382C20" + }, + { + "name": "sdata2", + "start": "0x80382C20", + "end": "0x80384DC0" + }, + { + "name": "sbss2", + "start": "0x80384DC0", + "end": "0x80384DFC" + } + ], + "J": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244D00" + }, + { + "name": "ctors", + "start": "0x80244D00", + "end": "0x80244DC0" + }, + { + "name": "dtors", + "start": "0x80244DC0", + "end": "0x80244DE0" + }, + { + "name": "rodata", + "start": "0x80244E00", + "end": "0x80257F20" + }, + { + "name": "data", + "start": "0x80257F20", + "end": "0x802A39E0" + }, + { + "name": "bss", + "start": "0x802A3A00", + "end": "0x80384580" + }, + { + "name": "sdata", + "start": "0x80384580", + "end": "0x80385940" + }, + { + "name": "sbss", + "start": "0x80385940", + "end": "0x80386920" + }, + { + "name": "sdata2", + "start": "0x80386920", + "end": "0x80388AC0" + }, + { + "name": "sbss2", + "start": "0x80388AC0", + "end": "0x80388AFC" + } + ] + }, + "rel_sections": { + "P": [ + { + "name": "text", + "start": "0x805103B4", + "end": "0x8088F400" + }, + { + "name": "ctors", + "start": "0x8088F400", + "end": "0x8088F704" + }, + { + "name": "dtors", + "start": "0x8088F704", + "end": "0x8088F710" + }, + { + "name": "rodata", + "start": "0x8088F720", + "end": "0x808B2BD0" + }, + { + "name": "data", + "start": "0x808B2BD0", + "end": "0x808DD3D4" + }, + { + "name": "bss", + "start": "0x809BD6E0", + "end": "0x809C4F90" + } + ], + "E": [ + { + "name": "text", + "start": "0x8050C034", + "end": "0x8088AFD0" + }, + { + "name": "ctors", + "start": "0x8088AFD0", + "end": "0x8088B2D4" + }, + { + "name": "dtors", + "start": "0x8088B2D4", + "end": "0x8088B2E0" + }, + { + "name": "rodata", + "start": "0x8088B2E0", + "end": "0x808AE520" + }, + { + "name": "data", + "start": "0x808AE520", + "end": "0x808D8C7C" + }, + { + "name": "bss", + "start": "0x809B8F20", + "end": "0x809C07D0" + } + ], + "J": [ + { + "name": "text", + "start": "0x8050FD34", + "end": "0x8088EA6C" + }, + { + "name": "ctors", + "start": "0x8088EA6C", + "end": "0x8088ED70" + }, + { + "name": "dtors", + "start": "0x8088ED70", + "end": "0x8088ED7C" + }, + { + "name": "rodata", + "start": "0x8088ED80", + "end": "0x808B1D30" + }, + { + "name": "data", + "start": "0x808B1D30", + "end": "0x808DC524" + }, + { + "name": "bss", + "start": "0x809BC740", + "end": "0x809C3FF0" + } + ] + }, + "validated_against": { + "dol": { + "path": "main.dol", + "sha256": "1b9621ef7c5d97dada103e50e5389730e67f3c2545dda592edd4b5843655af91", + "entry": "0x800060A4" + }, + "rel": { + "path": "StaticR.rel", + "sha256": "88539012d357a1420724e51dc7e351192ce696da4b0045994895518a3fad6fae", + "module_id": 1, + "prolog": "0x80554C9C", + "epilog": "0x80554CE8", + "unresolved": "0x80554D30" + } + } +} diff --git a/projects/mkwii-ntsc-u/MAP.txt b/projects/mkwii-ntsc-u/MAP.txt new file mode 100644 index 0000000..da38be7 --- /dev/null +++ b/projects/mkwii-ntsc-u/MAP.txt @@ -0,0 +1,29412 @@ +# NTSC-U (RMCE01) function map, ported from ../mkwii/MAP.txt (PAL RMCP01) by tools/region/port_map.py. +# Every entry was validated against the RMCE01 main.dol/StaticR.rel; see MAP_REPORT.md next to this file. +# Verdicts: PROVEN=12178, REFERENCED=12573, PLAUSIBLE=4500, IDENTITY=15, INTERPOLATED=0, ADDED=143 (binary-proven entries no PAL entry covers); entries=29409 +800018a8 0x800018a8 +80001d50 0x80001d50 +80001d6c 0x80001d6c +80001d90 0x80001d90 +80001dc0 0x80001dc0 +80001de8 0x80001de8 +80001dec 0x80001dec +80001e14 0x80001e14 +80001e30 0x80001e30 +80001f1c 0x80001f1c +80001f40 0x80001f40 +80001f54 0x80001f54 +80002440 0x80002440 +8000245c 0x8000245c +8000249c __TRKreset +80005f34 memcpy +80005f84 __fill_mem +80006038 memset +80006068 __check_pad3 +80006090 __set_debug_bba +8000609c __get_debug_bba +800060a4 __start +80006210 __init_registers +800062a0 __init_data +80006348 __init_hardware +8000636c __flush_cache +800063a0 0x800063a0 +800072c0 StrapScene::__ct +800073f0 RKScene::__dt +80007448 StrapScene::__dt +800074a4 StrapScene::LinkModule +800074d8 StrapScene::enter +800077c8 StrapScene::CheckInput +800079d0 StrapScene::calc +80007bc0 EGG::ColorFader::getStatus +80007bc8 StrapScene::draw +80007f2c StrapScene::exit +80007f34 EGG::Scene::outgoing_child_create +80007f38 EGG::Scene::incoming_child_destroy +80007f3c EGG::Scene::reinit +80007f40 EGG::Scene::exit +80007f44 EGG::Scene::enter +80007f48 EGG::Scene::draw +80007f4c EGG::Scene::calc +80007f50 getContentArcNameByIdx +80007f64 0x80007f64 +80007f7c DiscError::__ct +80007fac DiscError::__dt +80008004 setDiscReadErrorMessage +800080b4 0x800080b4 +800080b8 DiscInfoMessageData_printError +80008b90 nw4r::ut::Color::__dt +80008bd0 DiscCheckThread::create +80008c70 DiscCheckThread::__dt +80008cd8 DvdThread_main +80008de0 DiscCheckThread::halt +80008e34 DiscInfo_printError +80008e3c 0x80008e3c +80008e40 0x80008e40 +80008e44 RKSystem::GetStaticInstance +80008e50 RKSystem::WPADAlloc +80008e70 RKSystem::WPADFree +80008eb0 RKSystem::Main +80008f6c RKSystem::GetSystemHeap +80008f74 EGG::TSystem::Initialize +80009150 EGG::TSystem::InitRenderMode +80009154 RKSystem::Initialize +800094dc RKSystem::Run +800097d8 EGG::TSystem::GetDisplay +800097e0 EGG::TSystem::OnBeginFrame +800097e4 EGG::TSystem::OnEndFrame +800097e8 EGG::TSystem::GetSceneMgr +800097f0 EGG::TSystem::GetPerfView +80009804 RKSceneManager::ChangeSceneByCreatorAfterFadeOut +8000980c RKSceneManager::calcCurrentFader +80009944 RKSceneManager::calc +80009948 RKSceneManager::draw +8000994c RKSceneManager::drawCurrentFaderImpl +8000995c RKSceneManager::calcCurrentFaderImpl +8000996c EGG::TSystem::GetVideo +80009974 EGG::TSystem::GetSystemHeap +8000997c EGG::TSystem::GetXfbMgr +80009984 EGG::TSystem::GetAudioMgr +8000998c __sinit_\RKSystem_cpp +80009b00 EGG::Vector3f::__dt +80009b40 EGG::Vector2f::__dt +80009b80 ExpHeapGroup::SetHeapsGroupId +80009be4 ExpHeapGroup::CalculateGroupSizeRecords +80009c4c RKParameterFile::__ct +80009ca0 RKParameterFile::__dt +80009d2c RKParameterFile::AddParameter +80009d9c RKParameterFile::ReadParameterFile +80009eb8 RamStream::__dt +80009f10 RKParameterFile::vf_0x18 +80009f14 RKParameterFile::vf_0x14 +80009f18 RKParameterFile::vf_0x10 +80009f1c ModuleLinker::Disposer__dt +80009fb0 ModuleLinker::Create +8000a02c ModuleLinker::0x8000a06c +8000a030 ModuleLinker::0x8000a070 +8000a034 ModuleLinker::__dt +8000a148 ModuleLinker::Link +8000a3b8 ModuleLinker::CallModule +8000a400 ModuleLinker::Report +8000a510 RKSceneCreator::create +8000a568 RKSceneCreator::destroy +8000a590 SystemManager::create +8000a5e4 SystemManager::__dt +8000a648 SystemManager::__ct +8000a8b0 SystemManager::PrepareLaunch +8000ab48 SystemManager::LoadMapFile +8000ac10 SystemManager::Init +8000aed8 SystemManager::GetCountry +8000af4c SystemManager::GetLongitude +8000b000 SystemManager::GetLatitude +8000b0b4 SystemManager::Shutdown +8000b0e8 SystemManager::ReturnToMenu +8000b11c SystemManager::RestartGame +8000b154 0x8000b154 +8000b170 0x8000b170 +8000b18c SystemManager::SetSystemPowerCallbacks +8000b1cc SystemManager::HandlePowerState +8000b238 SystemManager::GetGameId +8000b240 SystemManager::GenerateGameId +8000b268 SystemManager::RipFromDiscAsync +8000b2d0 SystemManager::RipFromDiscImpl +8000b49c SystemManager::ProcessRipRequest +8000b528 SystemManager::RipFromDisc(heap) +8000b550 SystemManager::RipFromDisc(no heap) +8000b570 SystemManager::GetDisplayModeType +8000b5b4 SystemManager::StopAllControllerMotors +8000b610 Main +8000b614 _ftell +8000b6bc ftell +8000b6c0 _fseek +8000b884 fseek +8000b888 rewind +8000b8d0 atexit +8000b8d4 Block_link +8000ba24 SubBlock_merge_next +8000bacc deallocate_from_fixed_pools +8000bcb8 free +8000bde8 __close_all +8000be8c __flush_line_buffered_output_files +8000bf10 __flush_all +8000bf7c __ull2dec +8000c058 __timesdec +8000c2e0 __str2dec +8000c3cc __two_exp +8000c408 __two_exp_switch +8000c40c __two_exp_caseD_ffffffc0 +8000c420 __two_exp_caseD_ffffffcb +8000c438 __two_exp_caseD_ffffffe0 +8000c450 __two_exp_caseD_fffffff0 +8000c468 __two_exp_caseD_fffffff8 +8000c480 __two_exp_caseD_fffffff9 +8000c498 __two_exp_caseD_fffffffa +8000c4b0 __two_exp_caseD_fffffffb +8000c4c8 __two_exp_caseD_fffffffc +8000c4e0 __two_exp_caseD_fffffffd +8000c4f8 __two_exp_caseD_fffffffe +8000c510 __two_exp_caseD_ffffffff +8000c528 __two_exp_caseD_0 +8000c540 __two_exp_caseD_1 +8000c558 __two_exp_caseD_2 +8000c570 __two_exp_caseD_3 +8000c588 __two_exp_caseD_4 +8000c5a0 __two_exp_caseD_5 +8000c5b8 __two_exp_caseD_6 +8000c5d0 __two_exp_caseD_7 +8000c5e8 __two_exp_caseD_8 +8000c600 __two_exp_caseD_ffffffc1 +8000c738 __equals_dec +8000c81c __less_dec +8000c91c __minus_dec +8000ce38 __num2dec_internal +8000cf9c __num2dec +8000d13c __dec2num +8000d8d4 __prep_buffer +8000d8fc __load_buffer +8000d9f8 __flush_buffer +8000dab0 fread +8000dab4 __fread +8000ddf4 __fwrite +8000e0fc fclose +8000e1b8 fflush +8000e2ec __msl_strnicmp +8000e3a4 __fpclassifyf +8000e404 __signbitd +8000e41c __fpclassifyd +8000e498 mbtowc +8000e4b0 __mbtowc_noconv +8000e4fc __wctomb_noconv +8000e518 mbstowcs +8000e5d8 wcstombs +8000e690 memmove +8000e75c memchr +8000e788 __memrchr +8000e7b4 memcmp +8000e800 __copy_longs_aligned +8000e8bc __copy_longs_rev_aligned +8000e964 __copy_longs_unaligned +8000ea24 __copy_longs_rev_unaligned +8000ead0 __stdio_atexit +8000eae0 parse_format +8000ee70 parse_format_switch +8000ee74 parse_format_caseD_58 +8000eebc parse_format_caseD_46 +8000ef04 parse_format_caseD_41 +8000ef50 parse_format_caseD_47 +8000ef64 parse_format_caseD_45 +8000efb4 parse_format_caseD_70 +8000efd8 parse_format_caseD_63 +8000f010 parse_format_caseD_73 +8000f03c 0x8000f03c +8000f09c long2str +8000f2d4 longlong2str +8000f584 double2hex +8000f954 round_decimal +8000fa7c float2str +80010214 _pformatter +80010314 _pformatter_switch +80010318 _pformatter_caseD_64 +80010474 _pformatter_caseD_58 +800105d0 _pformatter_caseD_45 +80010640 _pformatter_caseD_41 +800106b0 _pformatter_caseD_73 +800107d4 _pformatter_caseD_6e +8001088c _pformatter_caseD_63 +800108ac _pformatter_caseD_25 +800108bc _pformatter_caseD_26 +80010ac0 __FileWrite +80010b18 __StringWrite +80010b84 printf +80010c50 vprintf +80010ccc vsnprintf +80010d54 vsprintf +80010dd8 snprintf +80010ecc sprintf +80010fa0 qsort +80011110 rand +80011130 srand +80011138 parse_format +8001140c parse_format_switch +80011410 parse_format_caseD_58 +80011428 parse_format_caseD_41 +80011470 parse_format_caseD_70 +80011484 parse_format_caseD_63 +800114b0 parse_format_caseD_73 +80011568 parse_format_caseD_5b +80011754 parse_format_caseD_42 +8001175c parse_format_caseD_6e +800117c0 __sformatter +80011a44 __sformatter_switch +80011a48 __sformatter_caseD_64 +80011a50 __sformatter_caseD_69 +80011b90 __sformatter_switch +80011b94 __sformatter_caseD_0 +80011b9c __sformatter_caseD_1 +80011ba4 __sformatter_caseD_2 +80011bac __sformatter_caseD_3 +80011bb4 __sformatter_caseD_4 +80011bc8 __sformatter_caseD_5 +80011bd0 __sformatter_caseD_6 +80011bd8 __sformatter_caseD_7 +80011bfc __sformatter_caseD_6f +80011c04 __sformatter_caseD_75 +80011c0c __sformatter_caseD_58 +80011d28 __sformatter_switch +80011d2c __sformatter_caseD_0 +80011d34 __sformatter_caseD_1 +80011d3c __sformatter_caseD_2 +80011d44 __sformatter_caseD_3 +80011d4c __sformatter_caseD_4 +80011d60 __sformatter_caseD_5 +80011d68 __sformatter_caseD_6 +80011d70 __sformatter_caseD_7 +80011d94 __sformatter_caseD_41 +80011e3c __sformatter_caseD_63 +80011fe8 __sformatter_caseD_25 +80012090 __sformatter_caseD_73 +80012134 __sformatter_caseD_5b +8001239c __sformatter_caseD_6e +8001240c __sformatter_caseD_26 +80012458 __StringRead +800124e0 sscanf +800125a8 raise +800125c0 strcpy +80012680 strncpy +800126c4 strcat +800126f0 strncat +8001273c strcmp +80012858 strncmp +80012898 strchr +800128c8 strcspn +8001296c strtok +80012a90 strstr +80012afc __strtold +80013e30 atof +80013e8c __strtoul +800142a0 __strtoull +80014748 strtoul +800147f0 strtol +800148dc atoi +800149a0 __write_console +80014a70 0x80014a70 +80014a78 fwide +80014af0 wmemcpy +80014af8 wmemchr +80014b20 parse_format +80014e70 parse_format_switch +80014e74 parse_format_caseD_58 +80014eb8 parse_format_caseD_46 +80014f04 parse_format_caseD_41 +80014f54 parse_format_caseD_47 +80014f68 parse_format_caseD_45 +80014fbc parse_format_caseD_70 +80014fe0 parse_format_caseD_63 +8001501c parse_format_caseD_73 +8001504c parse_format_caseD_6e +80015064 parse_format_caseD_42 +800150b0 long2str +800152f4 longlong2str +800155b0 double2hex +80015a08 round_decimal +80015b30 float2str +800162bc __wpformatter +800163cc __wpformatter_switch +800163d0 __wpformatter_caseD_64 +8001652c __wpformatter_caseD_58 +80016688 __wpformatter_caseD_45 +80016704 __wpformatter_caseD_41 +80016780 __wpformatter_caseD_73 +8001692c __wpformatter_caseD_6e +800169e4 __wpformatter_caseD_63 +80016a3c __wpformatter_caseD_25 +80016a4c __wpformatter_caseD_26 +80016c48 __wStringWrite +80016cb4 swprintf +80016dac vswprintf +80016e38 wcslen +80016e54 wcscpy +80016e70 wcsncpy +80016eb4 wcscmp +80016ee8 wcschr +80016f14 __ieee754_acos +800171e0 __ieee754_asin +80017478 __ieee754_atan2 +800176d0 __ieee754_fmod +80017a00 __ieee754_log +80017cb4 __ieee754_log10 +80017dc8 __ieee754_pow +800185dc __ieee754_rem_pio2 +80018960 __ieee754_sqrt +80018ba8 __kernel_cos +80018cb8 __kernel_rem_pio2 +8001a370 __kernel_sin +8001a430 __kernel_tan +8001a680 nan +8001a684 scalbn +8001a688 atan +8001a8b8 ceil +8001aa04 copysign +8001aa30 cos +8001aaf8 floor +8001ac48 frexp +8001acd0 ldexp +8001ae3c modf +8001af38 sin +8001b004 tan +8001b07c acos +8001b080 asin +8001b084 atan2 +8001b088 fmod +8001b08c log10 +8001b090 pow +8001b094 sqrt +8001b098 stricmp +8001b138 strncasecmp +8001b13c strcasecmp +8001b1dc CBGetBytesAvailableForRead +8001b1e4 CircleBufferInitialize +8001b208 CircleBufferWriteBytes +8001b310 CircleBufferReadBytes +8001b41c MWEnterCriticalSection +8001b44c MWExitCriticalSection +8001b454 gdev_cc_initialize +8001b490 0x8001b490 +8001b498 0x8001b498 +8001b4bc 0x8001b4bc +8001b4c4 gdev_cc_read +8001b578 gdev_cc_write +8001b5ec gdev_cc_pre_continue +8001b610 gdev_cc_post_stop +8001b634 gdev_cc_peek +8001b6a8 gdev_cc_initinterrupts +8001b6cc TRK_DispatchMessage +8001b710 TRK_DispatchMessage_switch +8001b714 TRK_DispatchMessage_caseD_1 +8001b724 TRK_DispatchMessage_caseD_2 +8001b734 TRK_DispatchMessage_caseD_3 +8001b744 TRK_DispatchMessage_caseD_7 +8001b754 TRK_DispatchMessage_caseD_10 +8001b764 TRK_DispatchMessage_caseD_11 +8001b774 TRK_DispatchMessage_caseD_12 +8001b784 TRK_DispatchMessage_caseD_13 +8001b794 TRK_DispatchMessage_caseD_18 +8001b7a4 TRK_DispatchMessage_caseD_19 +8001b7b4 TRK_DispatchMessage_caseD_1a +8001b7c4 TRK_DispatchMessage_caseD_17 +8001b7d0 TRK_DispatchMessage_caseD_0 +8001b7ec InitMetroTRK +8001b884 InitMetroTRK_BBA +8001b918 EnableMetroTRKInterrupts +8001b91c TRKTargetTranslate +8001b984 __TRK_copy_vectors +8001bab8 TRKInitializeTarget +8001bb00 __TRKreset +8001bb10 TRKLoadContext +8001bb98 TRKEXICallBack +8001bbd0 InitMetroTRKCommTable +8001bd08 TRKUARTInterruptHandler +8001bd0c TRK_InitializeIntDrivenUART +8001bd8c TRKPollUART +8001bda0 TRKReadUARTN +8001bddc TRK_WriteUARTN +8001be18 ReserveEXI2Port +8001be2c UnreserveEXI2Port +8001be40 0x8001be40 +8001be58 InitializeProgramEndTrap +8001beac TRK_flush_cache +8001bee4 TRK_main +8001bf20 TRK_NubMainLoop +8001c00c TRK_memcpy +8001c148 TRK_memset +8001c270 TRKSaveExtended1Block +8001c434 TRKRestoreExtended1Block +8001c598 TRK_MessageSend +8001c5fc TRK_InitializeMessageBuffers +8001c61c TRK_GetFreeBuffer +8001c6b8 TRKGetBuffer +8001c6dc TRK_ReleaseBuffer +8001c704 TRKResetBuffer +8001c72c TRK_SetBufferPosition +8001c75c TRK_AppendBuffer +8001c800 TRK_ReadBuffer +8001c890 TRKAppendBuffer1_ui32 +8001c960 TRKAppendBuffer1_ui64 +8001ca54 TRKAppendBuffer_ui8 +8001cab8 TRKAppendBuffer_ui32 +8001cba8 TRKReadBuffer1_ui64 +8001cc88 TRKReadBuffer_ui8 +8001cd20 TRKReadBuffer_ui32 +8001ce08 GetTRKConnected +8001ce10 TRK_DoConnect +8001ce80 TRKDoDisconnect +8001cf08 TRKDoReset +8001cf74 TRKDoOverride +8001cfe0 TRKDoReadMemory +8001d16c TRKDoReadMemory_switch +8001d170 TRKDoReadMemory_caseD_702 +8001d178 TRKDoReadMemory_caseD_700 +8001d180 TRKDoReadMemory_caseD_704 +8001d188 TRKDoReadMemory_caseD_705 +8001d190 TRKDoReadMemory_caseD_706 +8001d198 TRKDoReadMemory_caseD_701 +8001d214 TRKDoWriteMemory +8001d37c TRKDoWriteMemory_switch +8001d380 TRKDoWriteMemory_caseD_702 +8001d388 TRKDoWriteMemory_caseD_700 +8001d390 TRKDoWriteMemory_caseD_704 +8001d398 TRKDoWriteMemory_caseD_705 +8001d3a0 TRKDoWriteMemory_caseD_706 +8001d3a8 TRKDoWriteMemory_caseD_701 +8001d424 TRKDoReadRegisters +8001d620 TRKDoWriteRegisters +8001d8c0 TRKDoContinue +8001d984 TRKDoStep +8001dc08 TRKDoStop +8001dcc0 TRKDoSetOption +8001dd8c __read_console +8001ddf4 __TRK_write_console +8001de5c __read_file +8001de64 __access_file +8001de6c 0x8001de6c +8001df18 TRKDoNotifyStopped +8001dfa8 TRKInitializeEventQueue +8001dfcc TRKGetNextEvent +8001e058 TRKPostEvent +8001e124 TRKConstructEvent +8001e13c TRKDestructEvent +8001e144 TRK_InitializeNub +8001e1f0 TRK_TerminateNub +8001e214 TRK_board_display +8001e220 TRK_InitializeEndian +8001e294 TRKTestForPacket +8001e360 TRKGetInput +8001e38c TRKProcessInput +8001e3cc TRKInitializeSerialHandler +8001e3d4 TRKTerminateSerialHandler +8001e3dc TRK_strlen +8001e3f8 TRK_SuppAccessFile +8001e5ec TRK_RequestSend +8001e714 HandleOpenFileSupportRequest +8001e82c HandleCloseFileSupportRequest +8001e910 HandlePositionFileSupportRequest +8001ea1c TRKTargetContinue +8001ea50 SetUseSerialIO +8001ea58 GetUseSerialIO +8001ea60 __TRK_get_MSR +8001ea68 __TRK_set_MSR +8001ea70 TRKValidMemory32 +8001eb68 TRK_ppc_memcpy +8001ec34 TRKTargetAccessMemory +8001ed84 TRKTargetAccessDefault +8001ee7c TRKTargetAccessFP +8001efb8 TRKTargetAccessExtended1 +8001f11c TRKTargetAccessExtended2 +8001f4bc 0x8001f4bc +8001f574 TRKSwapAndGo +8001f68c TRKTargetInterrupt +8001f6e8 TRKTargetAddStopInfo +8001f81c TRKTargetAddExceptionInfo +8001f8b8 TRKTargetCheckStep +8001f9d4 TRKTargetSingleStep +8001fa58 TRKTargetStepOutOfRange +8001fac8 TRKTargetGetPC +8001fad8 TRKTargetSupportRequest +8001fccc TRKTargetStopped +8001fcdc TRKTargetSetStopped +8001fcec TRKTargetStop +8001fd04 TRKPPCAccessSPR +8001fde0 TRKPPCAccessPairedSingleRegister +8001fe88 ReadFPSCR +8001feac WriteFPSCR +8001fed0 TRKPPCAccessFPRegister +80020098 TRKPPCAccessSpecialReg +80020100 TRKTargetSetInputPendingPtr +80020110 GetThreadInfo +800201a0 TRKAccessFile +800201a8 0x800201a8 +800201b0 0x800201b0 +800201b8 0x800201b8 +800201c0 __sys_free +80020278 __register_fragment +800202ac __unregister_fragment +800202d4 __construct_new_array +800203d8 __partial_array_destructor::__dt +80020494 __construct_array +8002058c __destroy_array +80020604 __destroy_new_array +80020684 __init_cpp_exceptions +800206c0 __fini_cpp_exceptions +800206f4 strlen +80020710 __va_arg +800207d8 __register__global_object +800207f0 __destroy__global_chain +80020838 __register_atexit +80020884 __ptmf_test +800208b4 __ptmf_cmpr +800208f0 __ptmf_scall +80020918 __cvt_fp2unsigned +80020974 __save_fpr +80020998 _save_fpr_23 +800209ac _save_fpr_28 +800209c0 __restore_fpr +800209e4 _rest_fpr_23 +800209f8 _rest_fpr_28 +80020a0c _save_gpr_14 +80020a10 _save_gpr_15 +80020a14 _save_gpr_16 +80020a18 _save_gpr_17 +80020a1c _save_gpr_18 +80020a20 _save_gpr_19 +80020a24 _save_gpr_20 +80020a28 _save_gpr_21 +80020a2c _save_gpr_22 +80020a30 _save_gpr_23 +80020a34 _save_gpr_24 +80020a38 _save_gpr_25 +80020a3c _save_gpr_26 +80020a40 _save_gpr_27 +80020a58 _rest_gpr_14 +80020a5c _rest_gpr_15 +80020a60 _rest_gpr_16 +80020a64 _rest_gpr_17 +80020a68 _rest_gpr_18 +80020a6c _rest_gpr_19 +80020a70 _rest_gpr_20 +80020a74 _rest_gpr_21 +80020a78 _rest_gpr_22 +80020a7c _rest_gpr_23 +80020a80 _rest_gpr_24 +80020a84 _rest_gpr_25 +80020a88 _rest_gpr_26 +80020a8c _rest_gpr_27 +80020aa4 __div2u +80020b90 __div2i +80020cc8 __mod2u +80020dac __mod2i +80020eb8 __shl2i +80020edc __shr2u +80020f00 __cvt_ull_db +80020fa0 __cvt_dbl_ull +80021048 __DBMtrHandler +8002106c __DBIntrHandler +80021090 DBInitComm +800210ec DBInitInterrupts +80021140 DBQueryData +800211e4 DBRead +80021264 DBWrite +80021374 DBOpen +80021378 DBClose +8002137c __EXI2Imm +80021664 __DBEXIInit +80021720 __DBEXIReadReg +80021844 __DBEXIWriteReg +80021948 __DBEXIReadRam +80021a28 __DBEXIWriteRam +80021b10 nw4r::db::DirectPrint_Init +80021bd0 nw4r::db::DirectPrint_IsActive +80021c00 nw4r::db::DirectPrint_EraseXfb +80021d90 nw4r::db::DirectPrint_ChangeXfb +80021dd0 nw4r::db::DirectPrint_StoreCache +80021df0 nw4r::db::DirectPrint_DrawString +80021ee0 nw4r::db::DrawStringToXfb +80022040 nw4r::db::DrawStringLineToXfb +80022120 nw4r::db::DrawCharToXfb +800223e0 nw4r::db::DirectPrint_SetupFB +800225d0 nw4r::db::RemoveConsoleFromList_ +80022680 nw4r::db::Console_Create +80022830 nw4r::db::Console_Destroy +80022860 nw4r::db::DoDrawConsole_ +80022a10 nw4r::db::Console_DrawDirect +80022a90 nw4r::db::PrintToBuffer_ +80022e40 nw4r::db::Console_VFPrintf +80022f20 nw4r::db::Console_Printf +80023040 nw4r::db::Console_GetTotalLines +800230b0 nw4r::db::Exception_Init +800231a0 nw4r::db::ErrorHandler_ +800232e0 nw4r::db::RunThread_ +80023370 nw4r::db::DumpException_ +80023500 nw4r::db::Exception_Printf_ +800235e0 nw4r::db::PrintContext_ +800238e0 nw4r::db::ShowMainInfo_ +80023b20 nw4r::db::ShowGPRMap_ +80023bd0 nw4r::db::ShowFloat_ +80023fe0 nw4r::db::Exception_SetConsole +80024000 nw4r::db::Exception_SetUserCallback +80024020 nw4r::db::DbgPrintBase::GetInstance +80024030 nw4r::db::DbgPrintBase::Initialize +800240f0 nw4r::db::DbgPrintBase::Initialize +800241b0 nw4r::db::DbgPrintBase::SetFont +800241c0 nw4r::db::DbgPrintBase::GetFont +800241d0 nw4r::db::DbgPrintBase::SetTextColor +80024200 nw4r::db::DbgPrintBase::GetTextColor +80024230 nw4r::db::DbgPrintBase::SetFontSize +80024240 nw4r::db::DbgPrintBase::GetFontSize +80024250 nw4r::db::DbgPrintBase::SetVisible +80024260 nw4r::db::DbgPrintBase::IsVisible +80024270 nw4r::db::DbgPrintBase::Registerf +80024380 nw4r::db::DbgPrintBase::Registerf +800244a0 nw4r::db::DbgPrintBase::VRegisterf +80024570 nw4r::db::DbgPrintBase::Register +80024620 nw4r::db::DbgPrintBase::Registf +80024730 nw4r::db::DbgPrintBase::Registf +80024850 nw4r::db::DbgPrintBase::VRegistf +80024920 nw4r::db::DbgPrintBase::Reset +80024930 0x80024930 +800249d0 nw4r::db::DbgPrintBase::Flush +80024b70 nw4r::db::DbgPrintBase::Flush +80024c30 nw4r::db::DbgPrintBase::__ct +80024ca0 nw4r::db::DbgPrintBase::__dt +80024cf0 nw4r::db::DbgPrintBase::Unregister +80024d10 0x80024d10 +80024d50 nw4r::db::DbgPrintBase::SetBuffer +80024d80 nw4r::db::DbgPrintBase::ReleaseBuffer +80024de0 nw4r::db::DbgPrintBase::Operator.new +80024e30 nw4r::db::DbgPrintBase::GetInstance +80024e50 nw4r::db::DbgPrintBase::Initialize +80024f10 nw4r::db::DbgPrintBase::Initialize +80024fd0 nw4r::db::DbgPrintBase::SetFont +80024fe0 nw4r::db::DbgPrintBase::GetFont +80024ff0 nw4r::db::DbgPrintBase::SetTextColor +80025020 nw4r::db::DbgPrintBase::GetTextColor +80025050 nw4r::db::DbgPrintBase::SetFontSize +80025060 nw4r::db::DbgPrintBase::GetFontSize +80025070 nw4r::db::DbgPrintBase::SetVisible +80025080 nw4r::db::DbgPrintBase::IsVisible +80025090 nw4r::db::DbgPrintBase::Registerf +800251a0 nw4r::db::DbgPrintBase::Registerf +800252c0 nw4r::db::DbgPrintBase::VRegisterf +80025390 nw4r::db::DbgPrintBase::Register +80025440 nw4r::db::DbgPrintBase::Registf +80025550 nw4r::db::DbgPrintBase::Registf +80025670 nw4r::db::DbgPrintBase::VRegistf +80025740 nw4r::db::DbgPrintBase::Reset +80025750 0x80025750 +800257f0 nw4r::db::DbgPrintBase::Flush +80025990 nw4r::db::DbgPrintBase::Flush +80025a50 nw4r::db::DbgPrintBase::__ct +80025ac0 nw4r::db::DbgPrintBase::__dt +80025b10 nw4r::db::DbgPrintBase::Unregister +80025b30 0x80025b30 +80025b70 nw4r::db::DbgPrintBase::SetBuffer +80025ba0 nw4r::db::DbgPrintBase::ReleaseBuffer +80025c00 nw4r::db::DbgPrintBase::Operator.new +80025c50 nw4r::db::DbgPrintBase::Operator.delete +80025c60 nw4r::db::Assertion_Printf_ +80025d20 PrintExceptionTrace +80025dd0 nw4r::db::VPanic +80025f10 nw4r_db_Panic +80025fb0 nw4r::db::VWarning +80026160 nw4r::db::WarningAlarmFunc_ +80026180 nw4r::ef::DrawOrder::Draw +80026210 nw4r::ef::DrawOrder::Add +80026290 nw4r::ef::DrawOrder::Remove +800262a0 nw4r::ef::Effect::__ct +80026310 nw4r::ef::Effect::__dt +80026370 nw4r::ef::Effect::Initialize +800264b0 nw4r::ef::Effect::Closing +800264c0 0x800264c0 +800264d0 0x800264d0 +800265e0 nw4r::ef::Effect::CreateEmitter +800266e0 nw4r::ef::Effect::RetireEmitter +80026770 nw4r::ef::Effect::RetireEmitterAll +80026840 nw4r::ef::Effect::RetireParticleAll +800268d0 nw4r::ef::Effect::Calc +80026cc0 nw4r::ef::Effect::Draw +80026cf0 nw4r::ef::Effect::GetRootEmitter +80026d00 nw4r::ef::Effect::GetNumEmitter +80026d10 nw4r::ef::Effect::GetEmitter +80026d20 nw4r::ef::Effect::ForeachParticleManager +80026db0 nw4r::ef::Effect::ForeachEmitterFrom +80026e90 nw4r::ef::Effect::SetRootMtx +80026f00 nw4r::ef::Effect::CreateEmitter +80027000 nw4r::ef::EffectSystem::__dt +80027090 nw4r::ef::EffectSystem::GetInstance +800270a0 nw4r::ef::EffectSystem::Initialize +800271b0 nw4r::ef::ActivityList::__ct +80027200 nw4r::ef::EffectSystem::Closing +80027270 nw4r::ef::EffectSystem::CreateEffect(name) +800272e0 nw4r::ef::EffectSystem::CreateEffect(res) +80027410 nw4r::ef::EffectSystem::RetireEffectAll +80027500 nw4r::ef::EffectSystem::RetireEmitterAll +80027590 nw4r::ef::EffectSystem::RetireParticleAll +80027620 nw4r::ef::EffectSystem::Draw +800276b0 nw4r::ef::EffectSystem::SetProcessCamera +80027740 nw4r::ef::Swap +80027790 nw4r::ef::EffectSystem::SortEffect +80027910 nw4r::ef::EffectSystem::SortEffectOperatorZ +80027a10 __sinit_\ef_effectsystem_cpp +80027b40 nw4r::ef::Emitter::__ct +80027ba0 nw4r::ef::Emitter::__dt +80027be0 nw4r::ef::Emitter::RetireParticleAll +80027c70 nw4r::ef::Emitter::DestroyFunc +80027c80 0x80027c80 +80027d70 nw4r::ef::Emitter::Closing +80027e20 nw4r::ef::Emitter::RetireParticleManagerAll +80027ef0 nw4r::ef::Emitter::InitializeDatas +800281c0 nw4r::ef::Emitter::Initialize +80028330 nw4r::ef::Emitter::CreateEmitter +80028610 nw4r::ef::Emitter::CreateEmitterTmp +80028cf0 nw4r::ef::GetLODratio +80028df0 nw4r::ef::Emitter::Emission +80029240 nw4r::ef::Emitter::CalcEmitter +80029400 nw4r::ef::Emitter::CalcParticle +80029490 nw4r::ef::Emitter::CalcEmission +800295b0 nw4r::ef::Emitter::CalcBillboard +80029790 nw4r::ef::Emitter::RestructMatrix +800299c0 nw4r::ef::Emitter::CalcGlobalMtx +80029b10 nw4r::ef::Emitter::SetMtxDirty +80029c20 nw4r::ef::Emitter::GetNumParticleManager +80029c30 nw4r::ef::Emitter::GetParticleManager +80029c40 nw4r::ef::ForeachParticleManagerSub +80029c90 nw4r::ef::Emitter::ForeachParticleManager +80029d80 nw4r::ef::AnimCurveExecuteU8 +8002b060 nw4r::ef::AnimCurveExecuteF32 +8002c010 nw4r::ef::AnimCurveExecuteRotate +8002d0c0 nw4r::ef::AnimCurveExecuteTexture +8002d690 nw4r::ef::CreateChild +8002d800 nw4r::ef::AnimCurveExecuteChild +8002e5c0 nw4r::ef::AnimBakedExecuteU8 +8002e910 nw4r::ef::AnimBakedExecuteF32 +8002ec60 nw4r::ef::GetTypePositionSphere +8002ed80 nw4r::ef::GetTypePositionCube +8002ee60 nw4r::ef::GetTypePositionCylinder +8002ef30 nw4r::ef::GetTypePositionCircle +8002f040 nw4r::ef::GetTypePositionRectangle +8002f130 nw4r::ef::GetTypePositionPlane +8002f1e0 nw4r::ef::CrossCheckPlane +8002f680 nw4r::ef::CrossCheckRectangle +8002fc20 nw4r::ef::CrossCheckCircle +800301b0 nw4r::ef::CrossCheckSphere +800307f0 nw4r::ef::CrossCheckCylinder +80030fe0 nw4r::ef::CrossCheckCube +80031720 nw4r::ef::CrossCheck +80031b40 nw4r::ef::CalcPostField +800323a0 nw4r::ef::Particle::__ct +800323b0 nw4r::ef::Particle::__dt +800323f0 nw4r::ef::Particle::SendClosing +80032400 nw4r::ef::Particle::DestroyFunc +80032410 nw4r::ef::ParticleParameter::Initialize +80032730 nw4r::ef::Particle::Initialize +80033150 nw4r::ef::Particle::GetAlphaFlick +80033390 nw4r::ef::ParticleManager::__ct +800333f0 nw4r::ef::ParticleManager::SendClosing +80033400 nw4r::ef::ParticleManager::DestroyFunc +80033410 nw4r::ef::ParticleManager::Closing +800334a0 nw4r::ef::ParticleManager::RetireParticleAll +80033550 nw4r::ef::ParticleManager::Initialize +800336a0 nw4r::ef::ParticleManager::__dt +800336e0 nw4r::ef::ParticleManager::CreateParticle +80033810 nw4r::ef::ParticleManager::Calc +80034ee0 nw4r::ef::ParticleManager::Draw +800351c0 nw4r::ef::ParticleManager::CalcGlobalMtx +800352a0 nw4r::ef::ParticleManager::BeginCalc +80035310 nw4r::ef::ParticleManager::EndCalc +80035360 nw4r::ef::ParticleManager::BeginDraw +80035460 nw4r::ef::ParticleManager::EndDraw +80035470 nw4r::ef::ParticleManager::Draw_ModifyColor +80035890 __sinit_\ef_particlemanager_cpp +800358a0 nw4r::ef::Resource::GetInstance +800358b0 nw4r::ef::BreffRelocate +80035a20 nw4r::ef::BreffSearchName +80035ae0 nw4r::ef::BreffIndexOf +80035b80 nw4r::ef::BreftRelocate +80035c10 nw4r::ef::BreftSearchName +80035cd0 nw4r::ef::Resource::Add +80035d50 nw4r::ef::Resource::FindEmitter +80035e10 nw4r::ef::Resource::FindEmitter +80035ec0 nw4r::ef::Resource::AddTexture +80035f40 nw4r::ef::Resource::RelocateCurveTexture +80036060 nw4r::ef::Resource::RelocateCurveChild +80036160 nw4r::ef::Resource::RelocateCommand +800363a0 nw4r::ef::Resource::RemoveEffectProject +80036440 nw4r::ef::Resource::RemoveTextureProject +800364e0 __sinit_\ef_resource_cpp +80036530 nw4r::ef::UtlistToArray +800365c0 nw4r::ef::GetDirMtxY +800366d0 nw4r::ef::MtxGetRotationMtx +800367f0 nw4r::ef::MtxGetRotation +80036960 nw4r::ef::MtxGetTranslate +80036980 nw4r::ef::MtxGetScale +80036e60 nw4r::ef::Normalize +80036ed0 nw4r::ef::_PSSinCosRad +80036f50 nw4r::ef::PSSinCosRad +80036fd0 nw4r::ef::Rotation2VecY +80037120 nw4r::ef::PSMTX34RotXYZRad +800372a0 nw4r::ef::MTX34ScaleNonZero +80037320 nw4r::ef::MTX34ScaleNonZero +800373b0 nw4r::ef::MTX34ScaleInv +80037460 nw4r::ef::MTXColLen +800374c0 nw4r::ef::HandleBase::__ct +800374d0 nw4r::ef::HandleBase::Operator=(HandleBase) +800374f0 nw4r::ef::HandleBase::Operator=(LinkedObject) +80037520 nw4r::ef::HandleBase::IsValid +80037550 nw4r::ef::HandleBase::GetPtr +80037590 nw4r::ef::EmitterForm::CalcVelocity +80037a60 nw4r::ef::EmitterForm::CalcLife +80037b40 nw4r::ef::CreationQueue::__ct +80037b50 nw4r::ef::CreationQueue::AddParticleCreation +80037cd0 nw4r::ef::CreationQueue::AddEmitterCreation +80037e50 nw4r::ef::CreationQueue::Execute +80037f90 nw4r::ef::EmitFormBuilder::Create +80038010 __sinit_\ef_emform_cpp +80038070 nw4r::ef::EmitterFormPoint::Emission +800383c0 nw4r::ef::EmitterFormLine::Emission +80038700 nw4r::ef::EmitterFormDisc::Emission +80038c30 nw4r::ef::EmitterFormSphere::Emission +80039490 nw4r::ef::EmitterFormCylinder::EmissionSub +800398f0 nw4r::ef::EmitterFormCylinder::Emission +80039c40 nw4r::ef::EmitterFormTorus::Emission +8003a280 nw4r::ef::EmitterFormCube::EmissionSub +8003a5c0 nw4r::ef::EmitterFormCube::Emission +8003be90 nw4r::ef::DrawStrategyBuilder::Create +8003c010 nw4r::ef::DrawStrategyImpl::__ct +8003c320 nw4r::ef::DrawStrategyImpl::Initialize +8003c400 nw4r::ef::DrawStrategyImpl::_InitTev +8003c6f0 nw4r::ef::DrawStrategyImpl::_InitColor +8003cac0 nw4r::ef::DrawStrategyImpl::SetupGP +8003cf60 nw4r::ef::DrawStrategyImpl::_SetupTevReg +8003d790 nw4r::ef::DrawStrategyImpl::_SetupTexture +8003de00 nw4r::ef::DrawStrategyImpl::GetGetFirstDrawParticle +8003de20 nw4r::ef::DrawStrategyImpl::GetGetNextDrawParticle +8003de40 nw4r::ef::DrawStrategyImpl::GetFirstDrawParticle_EldersFirst +8003de70 nw4r::ef::DrawStrategyImpl::GetFirstDrawParticle_YoungersFirst +8003dec0 nw4r::ef::DrawStrategyImpl::GetNextDrawParticle_EldersFirst +8003def0 nw4r::ef::DrawStrategyImpl::GetNextDrawParticle_YoungersFirst +8003df20 nw4r::ef::DrawStrategyImpl::AheadContext::__ct +8003e140 nw4r::ef::DrawStrategyImpl::__dt +8003e180 __sinit_\ef_drawstrategyimpl_cpp +8003e210 nw4r::ef::DrawBillboardStrategy::__ct +8003e250 nw4r::ef::DrawBillboardStrategy::Draw +8003e290 nw4r::ef::DrawBillboardStrategy::DrawNormalBillboard +8003ed50 nw4r::ef::DrawBillboardStrategy::DrawYBillboard +8003f680 nw4r::ef::DrawBillboardStrategy::DrawDirectionalB +8003ff10 nw4r::ef::DrawBillboardStrategy::InitGraphics +8003ffe0 nw4r::ef::DrawBillboardStrategy::GetCalcAheadFunc +80040060 nw4r::ef::DrawStrategyImpl::CalcAhead_Speed +80040140 nw4r::ef::DrawStrategyImpl::CalcAhead_EmitterCent +80040200 nw4r::ef::DrawStrategyImpl::CalcAhead_EmitterDesi +80040220 nw4r::ef::DrawStrategyImpl::CalcAhead_Particle +80040340 nw4r::ef::DrawStrategyImpl::CalcAhead_ParticleBot +800405b0 nw4r::ef::DrawBillboardStrategy::__dt +800405f0 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +80040630 nw4r::ef::DrawQuad +80040770 nw4r::math::VEC3::__ct +80040780 nw4r::math::VEC3Transform +800407c0 0x800407c0 +800407d0 nw4r::ef::DrawQuad +80040970 nw4r::ef::DrawDirectionalStrategy::Draw +80040a80 nw4r::ef::EmitterResource::GetEmitterDrawSetting +80040a90 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +80041810 nw4r::math::MTX34::__ct +80041820 nw4r::ef::DrawInfo::GetViewMtxCooked +800419f0 nw4r::math::MTX34Mult +80041a30 nw4r::math::VEC3::Operator= +80041a50 nw4r::math::VEC3::__ct +80041a60 nw4r::ef::DrawStrategyImpl::Normalize +80041ad0 nw4r::math::VEC3Dot +80041af0 nw4r::ef::DrawStrategyImpl::GetYoungestParticle +80041b00 nw4r::ef::DrawStrategyImpl::GetElderParticle +80041b10 nw4r::ef::Particle::Draw_GetSizeX +80041b90 nw4r::ef::Particle::Draw_GetSizeY +80041c70 nw4r::ef::Particle::GetMoveDir +80041cc0 nw4r::math::FSqrt +80041d10 nw4r::ef::CalcRotate +80042080 nw4r::math::MTX34::__ct +800420d0 nw4r::ef::CalcLocalTransform +800422d0 nw4r::math::VEC3Cross +80042310 nw4r::ef::DrawDirectionalStrategy::DrawDirectiona +80042950 nw4r::ef::DrawDirectionalStrategy::InitGraphics +80042a10 nw4r::ef::DrawDirectionalStrategy::GetCalcAheadFu +80042aa0 nw4r::ef::DrawStrategyImpl::CalcAhead_NoDesign +80042ad0 nw4r::ef::DrawDirectionalStrategy::~DrawDirection +80042b10 nw4r::ef::DrawFreeStrategy::__ct +80042b50 nw4r::ef::DrawQuad +80042c90 nw4r::ef::DrawFreeStrategy::Draw +800435d0 nw4r::ef::DrawFreeStrategy::__dt +80043610 nw4r::ef::DrawLineStrategy::__ct +80043650 nw4r::ef::DrawLineStrategy::Draw +80043cd0 nw4r::ef::DrawLineStrategy::__dt +80043d10 nw4r::ef::DrawPointStrategy::__ct +80043d50 nw4r::ef::DrawPointStrategy::Draw +800441f0 nw4r::ef::DrawPointStrategy::__dt +80044230 nw4r::ef::DrawStripeStrategy::__ct +80044270 nw4r::ef::DrawStripeStrategy::DrawStripe +800445b0 nw4r::ef::DrawStrategyImpl::GetNumDrawParticle +800445c0 nw4r::ef::DrawStripeStrategy::GetStripeTexmapType +800445d0 nw4r::math::FInv +800445f0 nw4r::ef::DrawStripeStrategy::DrawParticle +80044a90 GXEnd +80044aa0 nw4r::ef::DrawStripeStrategy::CalcVertexTube +80044fa0 nw4r::ef::DrawStripeStrategy::DrawTubeSegment +80045380 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045640 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045980 nw4r::ef::DrawStripeStrategy::DrawStripeTube_Conn +80045d40 nw4r::ef::DrawStripeStrategy::DrawStripeTube +80045f30 nw4r::ef::DrawStripeStrategy::Draw +800467a0 nw4r::ef::DrawStripeStrategy::GetInitialPrevAxis +800468f0 nw4r::ef::DrawStripeStrategy::GetCalcAheadFunc +800469c0 nw4r::ef::DrawStripeStrategy::CalcAhead_Particle_ +80046ae0 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80046d50 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80047010 nw4r::ef::DrawStripeStrategy::CalcAhead_ParticleB +80047240 nw4r::ef::DrawStripeStrategy::__dt +80047280 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +800472c0 nw4r::ef::DrawSmoothStripeStrategy::CalcVertex +800476b0 nw4r::ef::DrawSmoothStripeStrategy::CalcVertexTub +80047bb0 nw4r::ef::DrawSmoothStripeStrategy::DrawSection_B +80047e80 nw4r::math::VEC3::Operator+ +80047eb0 nw4r::ef::DrawSmoothStripeStrategy::DrawSectionEn +800480d0 nw4r::ef::DrawSmoothStripeStrategy::DrawSectionTu +80048b90 GXEnd +80048ba0 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80048ef0 nw4r::ef::DrawSmoothStripeStrategy::GetDrawOrder +80048f00 nw4r::ef::DrawSmoothStripeStrategy::GetStripeTexm +80048f10 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Verte +80048f20 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049340 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +800497e0 nw4r::ef::DrawStrategyImpl::GetYoungestDrawPartic +80049830 nw4r::math::VEC3::Operator- +80049860 nw4r::math::VEC3::Operator+= +80049890 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Verte +800498d0 nw4r::ef::DrawSmoothStripeStrategy::Vertex::Opera +80049910 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049c10 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +80049fc0 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +8004a540 nw4r::ef::DrawSmoothStripeStrategy::DrawSmoothStr +8004a750 nw4r::ef::DrawSmoothStripeStrategy::Draw +8004b100 nw4r::ef::DrawSmoothStripeStrategy::GetInitialPre +8004b250 nw4r::ef::DrawSmoothStripeStrategy::GetCalcAheadF +8004b320 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b440 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b6b0 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004b970 nw4r::ef::DrawSmoothStripeStrategy::CalcAhead_Par +8004bba0 nw4r::ef::DrawSmoothStripeStrategy::~DrawSmoothSt +8004bbe0 nw4r::ef::ResEmitter::GetEmitTrack +8004bc10 nw4r::ef::ResAnimCurve::SetStop +8004bc40 nw4r::g3d::ResName::Operator== +8004bc90 nw4r::g3d::detail::ResWriteBPCmd +8004bcc0 nw4r::g3d::detail::ResWriteBPCmd +8004bd20 nw4r::g3d::detail::ResWriteCPCmd +8004bd50 nw4r::g3d::detail::ResWriteXFCmd +8004bd90 nw4r::g3d::detail::ResWriteSSMask +8004bdf0 nw4r::g3d::ResDic::Get +8004bed0 nw4r::g3d::ResDic::Get +8004bfb0 ResDic_operator[] +8004c030 ResDic_operator[] +8004c0a0 nw4r::g3d::ResDic::GetIndex +8004c130 nw4r::g3d::ResDic::GetIndex +8004c1a0 nw4r::g3d::ResFile::GetResMdl(name) +8004c210 nw4r::g3d::ResFile::GetResMdl(idx) +8004c2b0 nw4r::g3d::ResFile::GetResMdl(u32 idx) +8004c350 nw4r::g3d::ResFile::GetResMdlNumEntries +8004c3c0 nw4r::g3d::ResFile::GetResPltt +8004c440 nw4r::g3d::ResFile::GetResTex +8004c4b0 nw4r::g3d::ResFile::GetResTex +8004c530 nw4r::g3d::ResFile::GetResTex(idx) +8004c5d0 nw4r::g3d::ResFile::GetResTex(u32 idx) +8004c670 nw4r::g3d::ResFile::GetResTexNumEntries +8004c6e0 nw4r::g3d::ResFile::GetResAnmChr(name) +8004c750 nw4r::g3d::ResFile::GetResAnmChr(ResName) +8004c7f0 nw4r::g3d::ResFile::GetResAnmChrNumEntries +8004c860 nw4r::g3d::ResFile::GetResAnmClr(name) +8004c8d0 nw4r::g3d::ResFile::GetResAnmClr(ResName) +8004c970 nw4r::g3d::ResFile::GetResAnmClrNumEntries +8004c9e0 nw4r::g3d::ResFile::GetResAnmTexPat(name) +8004ca50 nw4r::g3d::ResFile::GetResAnmTexPat(ResName) +8004caf0 nw4r::g3d::ResFile::GetResAnmTexPatNumEntries +8004cb60 nw4r::g3d::ResFile::GetResAnmTexSrt(name) +8004cbd0 nw4r::g3d::ResFile::GetResAnmTexSrt(ResName) +8004cc70 nw4r::g3d::ResFile::GetResAnmTexSrtNumEntries +8004cce0 nw4r::g3d::ResFile::GetResAnmShp(name) +8004cd50 nw4r::g3d::ResFile::GetResAnmShp(ResName) +8004cdf0 nw4r::g3d::ResFile::GetResAnmShpNumEntries +8004ce60 nw4r::g3d::ResFile::GetResAnmScn +8004ced0 nw4r::g3d::ResFile::HasResMdl +8004cf20 nw4r::g3d::ResFile::HasResAnmChr +8004cf70 nw4r::g3d::ResFile::HasResAnmVis +8004cfc0 nw4r::g3d::ResFile::HasResAnmClr +8004d010 nw4r::g3d::ResFile::HasResAnmTexPat +8004d060 nw4r::g3d::ResFile::HasResAnmTexSrt +8004d0b0 nw4r::g3d::ResFile::HasResAnmShp +8004d100 nw4r::g3d::ResFile::HasResAnmScn +8004d150 nw4r::g3d::ResFile::Bind +8004d390 nw4r::g3d::ResFile::Release +8004d590 nw4r::g3d::ResFile::Init +8004d860 nw4r::g3d::ResFile::CheckRevision +8004e1b0 nw4r::g3d::ResMdl::GetResByteCode +8004e200 nw4r::g3d::ResMdl::GetResNode(name) +8004e250 nw4r::g3d::ResMdl::GetResNode(ResName) +8004e2a0 nw4r::g3d::ResMdl::GetResNode(idx) +8004e300 nw4r::g3d::ResMdl::GetResNode(u32 idx) +8004e360 nw4r::g3d::ResMdl::GetResNodeNumEntries +8004e3a0 nw4r::g3d::ResMdl::GetResVtxPos +8004e3f0 nw4r::g3d::ResMdl::GetResVtxPos +8004e450 nw4r::g3d::ResMdl::GetResVtxPos +8004e4b0 nw4r::g3d::ResMdl::GetResVtxPosNumEntries +8004e4f0 nw4r::g3d::ResMdl::GetResVtxNrm +8004e540 nw4r::g3d::ResMdl::GetResVtxNrm +8004e5a0 nw4r::g3d::ResMdl::GetResVtxNrm +8004e600 nw4r::g3d::ResMdl::GetResVtxNrmNumEntries +8004e640 nw4r::g3d::ResMdl::GetResVtxClr +8004e690 nw4r::g3d::ResMdl::GetResVtxClr +8004e6f0 nw4r::g3d::ResMdl::GetResVtxClr +8004e750 nw4r::g3d::ResMdl::GetResVtxClrNumEntries +8004e790 nw4r::g3d::ResMdl::GetResVtxTexCoord +8004e7f0 nw4r::g3d::ResMdl::GetResVtxFurPos +8004e850 nw4r::g3d::ResMdl::GetResMat(name) +8004e8a0 nw4r::g3d::ResMdl::GetResMat(resname) +8004e8f0 nw4r::g3d::ResMdl::GetResMat(idx) +8004e950 nw4r::g3d::ResMdl::GetResMat(u32 idx) +8004e9b0 nw4r::g3d::ResMdl::GetResMatNumEntries +8004e9f0 nw4r::g3d::ResMdl::GetResShp +8004ea50 nw4r::g3d::ResMdl::GetResShp +8004eab0 nw4r::g3d::ResMdl::GetResShpNumEntries +8004eaf0 nw4r::g3d::ResMdl::GetResTexPlttInfoOffsetFromTexName +8004eb50 nw4r::g3d::ResMdl::GetResTexPlttInfoOffsetFromTexNameNumEntries +8004eb90 nw4r::g3d::ResMdl::Bind +8004eca0 nw4r::g3d::ResMdl::Release +8004ed90 nw4r::g3d::ResMdl::Init +8004f330 nw4r::g3d::ResShp::GetResVtxPos +8004f380 nw4r::g3d::ResShp::GetResVtxNrm +8004f3e0 nw4r::g3d::ResShp::GetResVtxClr +8004f450 nw4r::g3d::ResShp::GetResVtxFurPos +8004f4b0 nw4r::g3d::ResShp::Init +8004f840 nw4r::g3d::ResShp::CallPrePrimitiveDisplayList +8004f920 0x8004f920 +8004f990 nw4r::g3d::ResTev::GXSetTevSwapModeTable +8004fa40 nw4r::g3d::ResTev::GXSetTevSwapMode +8004faa0 nw4r::g3d::ResTev::GXSetTevAlphaIn +8004fb30 nw4r::g3d::ResTev::GXSetTevAlphaOp +8004fbe0 nw4r::g3d::ResTev::GXSetTevKColorSel +8004fc70 nw4r::g3d::ResTev::GXSetTevKAlphaSel +8004fd00 nw4r::g3d::ResTev::GXGetTevOrder +8004fdd0 nw4r::g3d::ResTev::GXSetTevOrder +8004fef0 nw4r::g3d::ResTev::GXGetTevColorOp +8004ffd0 nw4r::g3d::ResTev::GXSetTevColorIn +80050060 nw4r::g3d::ResTev::GXSetTevColorOp +80050110 nw4r::g3d::ResTev::GXGetIndTexOrder +800501b0 nw4r::g3d::ResTev::SetNumTevStages +800502a0 nw4r::g3d::ResTev::CallDisplayList +80050300 nw4r::g3d::ResTev::CopyTo +80050370 nw4r::g3d::ResTev::DCStore +80050390 nw4r::g3d::ResMat::GetParent +800503b0 nw4r::g3d::ResMatPix::DCStore +800503d0 nw4r::g3d::ResMatTevColor::DCStore +800503f0 nw4r::g3d::ResMatIndMtxAndScale::DCStore +80050410 nw4r::g3d::ResMatTexCoordGen::DCStore +80050430 0x80050430 +80050460 0x80050460 +80050490 nw4r::g3d::ResMatPix::CopyTo +800504d0 nw4r::g3d::ResMatTevColor::CopyTo +80050510 nw4r::g3d::ResMatIndMtxAndScale::CopyTo +80050550 nw4r::g3d::ResMatTexCoordGen::CopyTo +80050590 nw4r::g3d::ResTexObj::GetTexObj +800505c0 nw4r::g3d::ResTexObj::GetTexObj +800505f0 nw4r::g3d::ResTexObj::IsValidTexObj +80050630 SetTextureUsed +80050660 nw4r::g3d::ResTexObj::CopyTo +800506f0 nw4r::g3d::ResTlutObj::GetTlut +80050720 nw4r::g3d::ResTlutObj::GetTlut +80050750 nw4r::g3d::ResTlutObj::IsValidTlut +80050790 nw4r::g3d::ResTlutObj::CopyTo +80050820 nw4r::g3d::ResTexSrt::CopyTo +80050900 0x80050900 +80050980 0x80050980 +800509d0 0x800509d0 +80050a50 nw4r::g3d::ResGenMode::GXSetNumTexGens +80050a70 nw4r::g3d::ResGenMode::GXSetNumTexStages +80050a90 nw4r::g3d::ResGenMode::GXSetCullMode +80050ab0 nw4r::g3d::ResGenMode::CopyTo +80050af0 nw4r::g3d::ResMatMisc::GXGetZCompLoc +80050b10 nw4r::g3d::ResMatMisc::SetLightSetIdx +80050b40 nw4r::g3d::ResMatMisc::GetLightSetIdx +80050b60 nw4r::g3d::ResMatMisc::GetFogIdx +80050b80 nw4r::g3d::ResMatMisc::GetIndirectTexMtxCalcMetho +80050bd0 nw4r::g3d::ResMatMisc::CopyTo +80050c40 nw4r::g3d::ResMatFur::GetLyrRate +80050d00 nw4r::g3d::ResMatPix::GXSetZMode +80050d20 nw4r::g3d::ResMatPix::GXSetDstAlpha +80050d40 nw4r::g3d::ResMatTevColor::GXGetTevColor +80050e00 nw4r::g3d::ResMatTevColor::GXSetTevColor +80050ea0 nw4r::g3d::ResMatTevColor::GXGetTevKColor +80050f60 nw4r::g3d::ResMatTevColor::GXSetTevKColor +80050ff0 nw4r::g3d::ResMatIndMtxAndScale::CallDisplayList +80051030 nw4r::g3d::ResMatIndMtxAndScale::GXGetIndTexMtx +800512f0 nw4r::g3d::ResMatIndMtxAndScale::GXGetIndTexMtx +800514e0 nw4r::g3d::ResMatIndMtxAndScale::GXSetIndTexMtx +80051650 nw4r::g3d::ResMatChan::GXGetChanMatColor +80051690 nw4r::g3d::ResMatChan::GXGetChanCtrl +80051750 nw4r::g3d::ResMatChan::CopyTo +800517b0 nw4r::g3d::ResMatTexCoordGen::CallDisplayList +80051880 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2 +80051a30 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2 +80051a94 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_switch +80051a98 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_0 +80051aa4 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_1 +80051ab0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_2 +80051abc nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_3 +80051ac8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_13 +80051ad0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_14 +80051ad8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_4 +80051ae0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_5 +80051ae8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_6 +80051af0 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_7 +80051af8 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_8 +80051b00 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_9 +80051b08 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_a +80051b10 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_b +80051b18 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_c +80051b20 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_d +80051b28 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_e +80051b30 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_f +80051b38 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_10 +80051b40 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_11 +80051b48 nw4r::g3d::ResMatTexCoordGen::GXGetTexCoordGen2_caseD_12 +80051c30 nw4r::g3d::ResMat::Bind +80051d00 nw4r::g3d::ResMat::Release +80051da0 nw4r::g3d::ResMat::ForceBindTex +80051ff0 nw4r::g3d::ResMat::ReleaseTex +800520f0 nw4r::g3d::ResMat::Init +80052120 nw4r::g3d::ResMat::GetResTev +80052140 nw4r::g3d::ResMat::GetResMatFur +80052160 nw4r::g3d::ResTexPlttInfo::Bind +80052420 nw4r::g3d::ResVtxPos::SetArray +80052460 nw4r::g3d::ResVtxPos::GetArray +800524a0 nw4r::g3d::ResVtxPos::CopyTo +80052500 0x80052500 +80052540 0x80052540 +80052580 nw4r::g3d::ResVtxNrm::CopyTo +800525e0 0x800525e0 +80052620 nw4r::g3d::ResVtxClr::GetArray +80052660 nw4r::g3d::ResVtxClr::CopyTo +800526c0 0x800526c0 +80052700 0x80052700 +80052780 nw4r::g3d::ResVtxPos::DCStore +800527a0 nw4r::g3d::ResVtxNrm::DCStore +800527c0 nw4r::g3d::ResVtxClr::DCStore +800527e0 nw4r::g3d::ResVtxTexCoord::DCStore +80052800 nw4r::g3d::ResVtxFurVec::DCStore +80052820 nw4r::g3d::ResVtxFurPos::DCStore +80052840 0x80052840 +80052860 0x80052860 +80052890 nw4r::g3d::ResTex::GetTexObjParam +80052950 nw4r::g3d::ResTex::GetTexObjCIParam +80052a10 0x80052a10 +80052a40 nw4r::g3d::ResTex::Init +80052a50 nw4r::g3d::ResNode::PatchChrAnmResult +80052bf0 nw4r::g3d::ResNode::CalcChrAnmResult +80052d60 nw4r::g3d::ResNode::SetScale +80052e10 nw4r::g3d::ResNode::SetTranslate +80052ea0 nw4r::g3d::ResNode::SetRotate +80052f30 nw4r::g3d::detail::GetResKeyFrameAnmResult +80053070 nw4r::g3d::detail::GetResColorAnmResult +80053180 nw4r::g3d::ResAnmClr::GetAnmResult +800532f0 nw4r::g3d::@unnamed@g3d_resanmtexpat_cpp@::Search +800533b0 nw4r::g3d::ResAnmTexPat::GetAnmResult +80053530 nw4r::g3d::ResAnmTexPat::Bind +800536a0 nw4r::g3d::ResAnmTexPat::Release +80053840 0x80053840 +80053c60 0x80053c60 +80053f10 0x80053f10 +80054050 0x80054050 +800541d0 0x800541d0 +800543c0 0x800543c0 +80054e30 0x80054e30 +80055090 nw4r::g3d::ResAnmChr::GetAnmResult_ +800550b0 nw4r::g3d::ResAnmChr::GetAnmResult_T +80055140 nw4r::g3d::ResAnmChr::GetAnmResult_R +800551b0 nw4r::g3d::ResAnmChr::GetAnmResult_S +800551f0 nw4r::g3d::ResAnmChr::GetAnmResult_RT +800552a0 nw4r::g3d::ResAnmChr::GetAnmResult_SR +80055340 nw4r::g3d::ResAnmChr::GetAnmResult_ST +800553e0 nw4r::g3d::ResAnmChr::GetAnmResult_SRT +800554a0 nw4r::g3d::ResAnmChr::GetAnmResult +80055520 nw4r::g3d::ChrAnmResult::GetScale +80055560 nw4r::g3d::ChrAnmResult::GetRotTrans +80055610 nw4r::g3d::ChrAnmResult::SetRotTrans +800557a0 nw4r::g3d::ResLightSet::Bind +80055910 nw4r::g3d::ResAnmAmbLight::GetAnmResult +800559e0 0x800559e0 +80055dd0 0x80055dd0 +80055f30 nw4r::g3d::ResAnmCamera::GetAnmResult +80056240 nw4r::g3d::ResAnmScn::HasResAnmAmbLight +800562a0 nw4r::g3d::ResAnmScn::HasResAnmLight +80056300 nw4r::g3d::ResAnmScn::GetResLightSetNumEntries +80056380 nw4r::g3d::ResAnmScn::GetResAnmAmbLight(ResName) +80056410 nw4r::g3d::ResAnmScn::GetResAnmAmbLight(idx) +800564c0 nw4r::g3d::ResAnmScn::GetResAnmAmbLightNumEntries +80056540 nw4r::g3d::ResAnmScn::GetResAnmLight(ResName) +800565d0 nw4r::g3d::ResAnmScn::GetResAnmLight(idx) +80056680 nw4r::g3d::ResAnmScn::GetResAnmLightNumEntries +80056700 nw4r::g3d::ResAnmScn::GetResAnmFog +800567b0 nw4r::g3d::ResAnmScn::GetResAnmFogNumEntries +80056830 nw4r::g3d::ResAnmScn::GetResAnmCamera +800568e0 nw4r::g3d::ResAnmScn::GetResAnmCameraNumEntries +80056960 nw4r::g3d::ResAnmScn::GetResLightSetByRefNumber(u32) +800569b0 nw4r::g3d::ResAnmScn::GetResLightSetByRefNumber(int) +80056a00 nw4r::g3d::ResAnmScn::GetResAnmAmbLightByRefNumber +80056a50 nw4r::g3d::ResAnmScn::GetResAnmLightByRefNumber +80056aa0 nw4r::g3d::ResAnmScn::GetResAnmFogByRefNumber +80056af0 nw4r::g3d::ResAnmScn:GetResAnmCameraByRefNumber(u32) +80056b40 nw4r::g3d::ResAnmScn:GetResAnmCameraByRefNumber(int) +80056b90 nw4r::g3d::ResAnmScn::Bind +80056d00 0x80056d00 +80056e70 nw4r::g3d::ApplyVisAnmResult +80056f30 nw4r::g3d::ApplyVisAnmResult +80056fc0 0x80056fc0 +80056fe0 0x80056fe0 +80057020 0x80057020 +80057030 0x80057030 +80057040 0x80057040 +80057050 0x80057050 +80057090 0x80057090 +80057100 0x80057100 +800571f0 0x800571f0 +80057310 0x80057310 +80057370 0x80057370 +800573f0 0x800573f0 +80057480 0x80057480 +800574e0 0x800574e0 +80057570 0x80057570 +800575d0 0x800575d0 +800576d0 0x800576d0 +80057790 0x80057790 +80057810 0x80057810 +80057950 0x80057950 +80057a00 0x80057a00 +80057bf0 0x80057bf0 +80057cb0 0x80057cb0 +80057cc0 0x80057cc0 +80057d80 0x80057d80 +80057d90 0x80057d90 +80057e70 0x80057e70 +80057f70 0x80057f70 +80057ff0 0x80057ff0 +80058040 nw4r::g3d::ApplyClrAnmResult +80058500 0x80058500 +80058570 0x80058570 +800585c0 0x800585c0 +800585f0 0x800585f0 +80058600 0x80058600 +80058650 0x80058650 +800586d0 0x800586d0 +80058740 0x80058740 +80058770 0x80058770 +80058780 0x80058780 +800587f0 0x800587f0 +80058820 0x80058820 +80058830 0x80058830 +80058860 0x80058860 +80058870 0x80058870 +80058890 nw4r::g3d::AnmObjTexPat::Release +800588d0 nw4r::g3d::AnmObjTexPat::Attach +800588e0 nw4r::g3d::AnmObjTexPat::Detach +800588f0 nw4r::g3d::AnmObjTexPat::DetachAll +80058900 nw4r::g3d::AnmObjTexPat::__dt +80058940 nw4r::g3d::AnmObjTexPatNode::__dt +800589b0 nw4r::g3d::AnmObjTexPatNode::Attach +80058aa0 nw4r::g3d::AnmObjTexPatNode::Detach +80058bc0 nw4r::g3d::AnmObjTexPatNode::DetachAll +80058c20 nw4r::g3d::AnmObjTexPatNode::UpdateFrame +80058ca0 nw4r::g3d::AnmObjTexPatNode::SetFrame +80058d30 nw4r::g3d::AnmObjTexPatNode::GetFrame +80058d90 nw4r::g3d::AnmObjTexPatNode::SetUpdateRate +80058e20 nw4r::g3d::AnmObjTexPatNode::GetUpdateRate +80058e80 nw4r::g3d::AnmObjTexPatNode::Bind +80058f80 nw4r::g3d::AnmObjTexPatNode::Release +80059040 nw4r::g3d::AnmObjTexPatNode::G3dProc +800590c0 nw4r::g3d::AnmObjTexPatOverride::Construct +80059200 nw4r::g3d::AnmObjTexPatOverride::GetResult +800592c0 nw4r::g3d::AnmObjTexPatRes::Construct +800594b0 nw4r::g3d::AnmObjTexPatRes::SetFrame +80059570 nw4r::g3d::AnmObjTexPatRes::GetFrame +80059580 nw4r::g3d::AnmObjTexPatRes::SetUpdateRate +80059640 nw4r::g3d::AnmObjTexPatRes::GetUpdateRate +80059650 nw4r::g3d::AnmObjTexPatRes::UpdateFrame +80059730 nw4r::g3d::AnmObjTexPatRes::Bind +80059830 nw4r::g3d::AnmObjTexPatRes::GetResult +800598b0 nw4r::g3d::AnmObjTexPatRes::G3dProc +80059900 nw4r::g3d::ApplyTexPatAnmResult +80059b00 nw4r::g3d::AnmObjTexPatRes::IsDerivedFrom +80059b70 nw4r::g3d::AnmObjTexPat::IsDerivedFrom +80059bc0 nw4r::g3d::AnmObjTexPatRes::GetTypeName +80059bf0 nw4r::g3d::AnmObjTexPatRes::GetTypeObj +80059c00 nw4r::g3d::AnmObjTexPatRes::__dt +80059c50 nw4r::g3d::AnmObjTexPatOverride::IsDerivedFrom +80059cd0 nw4r::g3d::AnmObjTexPatNode::IsDerivedFrom +80059d40 nw4r::g3d::AnmObjTexPatOverride::GetTypeName +80059d70 nw4r::g3d::AnmObjTexPatOverride::GetTypeObj +80059d80 nw4r::g3d::AnmObjTexPatOverride::__dt +80059df0 nw4r::g3d::AnmObjTexPatNode::GetTypeName +80059e20 nw4r::g3d::AnmObjTexPatNode::GetTypeObj +80059e30 nw4r::g3d::AnmObjTexPat::GetTypeName +80059e60 nw4r::g3d::AnmObjTexPat::GetTypeObj +80059e70 0x80059e70 +80059e90 0x80059e90 +80059ed0 0x80059ed0 +80059ee0 0x80059ee0 +80059ef0 0x80059ef0 +80059f00 0x80059f00 +80059f40 0x80059f40 +80059fb0 0x80059fb0 +8005a0a0 0x8005a0a0 +8005a1c0 0x8005a1c0 +8005a220 0x8005a220 +8005a2a0 0x8005a2a0 +8005a330 0x8005a330 +8005a390 0x8005a390 +8005a420 0x8005a420 +8005a480 0x8005a480 +8005a580 0x8005a580 +8005a640 0x8005a640 +8005a6c0 0x8005a6c0 +8005a800 0x8005a800 +8005a8b0 0x8005a8b0 +8005aaa0 nw4r::g3d::AnmObjTexSrtRes::SetFrame +8005ab60 0x8005ab60 +8005ab70 0x8005ab70 +8005ac30 0x8005ac30 +8005ac40 0x8005ac40 +8005ad20 0x8005ad20 +8005ae20 0x8005ae20 +8005aea0 0x8005aea0 +8005aef0 0x8005aef0 +8005af90 0x8005af90 +8005b140 0x8005b140 +8005b1b0 0x8005b1b0 +8005b200 0x8005b200 +8005b230 0x8005b230 +8005b240 0x8005b240 +8005b290 0x8005b290 +8005b310 0x8005b310 +8005b380 0x8005b380 +8005b3b0 0x8005b3b0 +8005b3c0 0x8005b3c0 +8005b430 0x8005b430 +8005b460 0x8005b460 +8005b470 0x8005b470 +8005b4a0 0x8005b4a0 +8005b4b0 nw4r::g3d::AnmObjChr::Release +8005b4f0 nw4r::g3d::AnmObjChr::Attach +8005b500 nw4r::g3d::AnmObjChr::Attach +8005b510 nw4r::g3d::AnmObjChr::SetWeight +8005b520 nw4r::g3d::AnmObjChr::GetWeight +8005b530 nw4r::g3d::AnmObjChr::DetachAll +8005b540 nw4r::g3d::AnmObjChr::__dt +8005b580 nw4r::g3d::AnmObjChrNode::__dt +8005b5f0 nw4r::g3d::AnmObjChrNode::Attach +8005b6e0 nw4r::g3d::AnmObjChrNode::Detach +8005b800 nw4r::g3d::AnmObjChrNode::DetachAll +8005b860 nw4r::g3d::AnmObjChrNode::UpdateFrame +8005b8e0 nw4r::g3d::AnmObjChrNode::SetFrame +8005b970 nw4r::g3d::AnmObjChrNode::GetFrame +8005b9d0 nw4r::g3d::AnmObjChrNode::SetUpdateRate +8005ba60 0x8005ba60 +8005bac0 nw4r::g3d::AnmObjChrNode::Bind +8005bbc0 nw4r::g3d::AnmObjChrNode::Bind(BindOption) +8005bcd0 nw4r::g3d::AnmObjChrNode::Release +8005bd90 nw4r::g3d::AnmObjChrNode::Release(BindOption) +8005bee0 nw4r::g3d::AnmObjChrNode::G3dProc +8005bf60 nw4r::g3d::AnmObjChrBlend::Construct +8005c0e0 nw4r::g3d::AnmObjChrBlend::GetResult +8005c720 nw4r::g3d::AnmObjChrBlend::SetWeight +8005c730 nw4r::g3d::AnmObjChrBlend::GetWeight +8005c740 nw4r::g3d::AnmObjChrRes::Construct +8005c930 nw4r::g3d::AnmObjChrRes::SetFrame +8005c9f0 nw4r::g3d::AnmObjChrRes::GetFrame +8005ca00 nw4r::g3d::AnmObjChrRes::SetUpdateRate +8005cac0 nw4r::g3d::AnmObjChrRes::GetUpdateRate +8005cad0 nw4r::g3d::AnmObjChrRes::UpdateFrame +8005cbb0 nw4r::g3d::AnmObjChrRes::Bind +8005ccc0 nw4r::g3d::AnmObjChrRes::Bind(BindOption) +8005cec0 nw4r::g3d::AnmObjChrRes::Release(BindOption) +8005d090 nw4r::g3d::AnmObjChrRes::GetResult +8005d110 nw4r::g3d::AnmObjChrRes::G3dProc +8005d160 nw4r::g3d::AnmObjChrRes::IsDerivedFrom +8005d1d0 nw4r::g3d::AnmObjChr::IsDerivedFrom +8005d220 nw4r::g3d::AnmObjChrRes::GetTypeName +8005d250 nw4r::g3d::AnmObjChrRes::GetTypeObj +8005d260 nw4r::g3d::AnmObjChrRes::__dt +8005d2b0 nw4r::g3d::AnmObjChrBlend::IsDerivedFrom +8005d330 nw4r::g3d::AnmObjChrNode::IsDerivedFrom +8005d3a0 nw4r::g3d::AnmObjChrBlend::GetTypeName +8005d3d0 nw4r::g3d::AnmObjChrBlend::GetTypeObj +8005d3e0 nw4r::g3d::AnmObjChrBlend::__dt +8005d450 nw4r::g3d::AnmObjChrNode::GetTypeName +8005d480 nw4r::g3d::AnmObjChrNode::GetTypeObj +8005d490 nw4r::g3d::AnmObjChr::GetTypeName +8005d4c0 nw4r::g3d::AnmObjChr::GetTypeObj +8005d4d0 0x8005d4d0 +8005d4f0 0x8005d4f0 +8005d530 0x8005d530 +8005d540 0x8005d540 +8005d550 0x8005d550 +8005d560 0x8005d560 +8005d570 0x8005d570 +8005d580 0x8005d580 +8005d5c0 0x8005d5c0 +8005d630 0x8005d630 +8005d720 0x8005d720 +8005d840 0x8005d840 +8005d8a0 0x8005d8a0 +8005d920 0x8005d920 +8005d9b0 0x8005d9b0 +8005da10 0x8005da10 +8005daa0 0x8005daa0 +8005db00 0x8005db00 +8005dc00 0x8005dc00 +8005dcc0 0x8005dcc0 +8005dd40 0x8005dd40 +8005dec0 0x8005dec0 +8005e1d0 0x8005e1d0 +8005e1e0 0x8005e1e0 +8005e1f0 0x8005e1f0 +8005e430 0x8005e430 +8005e500 0x8005e500 +8005e510 0x8005e510 +8005e5d0 0x8005e5d0 +8005e5e0 0x8005e5e0 +8005e6d0 0x8005e6d0 +8005e890 0x8005e890 +8005e910 0x8005e910 +8005e960 0x8005e960 +8005e9d0 0x8005e9d0 +8005ea20 0x8005ea20 +8005ea50 0x8005ea50 +8005ea60 0x8005ea60 +8005eab0 0x8005eab0 +8005eb30 0x8005eb30 +8005eba0 0x8005eba0 +8005ebd0 0x8005ebd0 +8005ebe0 0x8005ebe0 +8005ec50 0x8005ec50 +8005ec80 0x8005ec80 +8005ec90 0x8005ec90 +8005ecc0 0x8005ecc0 +8005ecd0 0x8005ecd0 +8005ef50 nw4r::g3d::AnmScn::GetLightSetting +8005f280 0x8005f280 +8005f290 0x8005f290 +8005f2a0 0x8005f2a0 +8005f2e0 0x8005f2e0 +8005f2f0 0x8005f2f0 +8005f300 0x8005f300 +8005f310 0x8005f310 +8005f320 0x8005f320 +8005f330 0x8005f330 +8005f340 0x8005f340 +8005f350 0x8005f350 +8005f360 0x8005f360 +8005f370 0x8005f370 +8005f380 0x8005f380 +8005f390 nw4r::g3d::AnmScnRes::Construct +8005f530 nw4r::g3d::AnmScnRes::__ct +8005f640 0x8005f640 +8005f680 nw4r::g3d::AnmScnRes::SetFrame +8005f6e0 0x8005f6e0 +8005f6f0 0x8005f6f0 +8005f720 0x8005f720 +8005f730 0x8005f730 +8005f7b0 0x8005f7b0 +8005f800 0x8005f800 +8005f940 0x8005f940 +8005f9b0 0x8005f9b0 +8005fb40 nw4r::g3d::AnmScnRes::GetFog +8005fbf0 nw4r::g3d::AnmScnRes::GetCamera +8005fd50 0x8005fd50 +8005fdf0 0x8005fdf0 +8005fe80 0x8005fe80 +8005ff10 0x8005ff10 +8005ffa0 0x8005ffa0 +8005ffe0 0x8005ffe0 +80060030 0x80060030 +800601b0 0x800601b0 +80060200 0x80060200 +80060240 0x80060240 +80060270 0x80060270 +80060280 0x80060280 +800602b0 0x800602b0 +800602c0 nw4r::g3d::G3dObj::__dt +80060310 nw4r::g3d::G3dObj::Destroy +80060390 nw4r::g3d::G3dObj::DetachFromParent +800603f0 nw4r::g3d::G3dObj::IsDerivedFrom +80060410 nw4r::g3d::G3dObj::GetTypeName +80060440 nw4r::g3d::G3dObj::GetTypeObj +80060450 0x80060450 +80060460 nw4r::g3d::PlayPolicy_Loop +800604d0 nw4r::g3d::AnmObj::SetAnmFlag +80060500 nw4r::g3d::AnmObj::TestAnmFlag +80060520 nw4r::g3d::fifo::GDSetGenMode2 +800605a0 0x800605a0 +800605d0 Fifo_GDSetTexCoordScale2 +80060640 nw4r::g3d::fifo::GDSetIndTexMtx +800608e0 0x800608e0 +80060940 0x80060940 +800609c0 0x800609c0 +80060a40 nw4r::g3d::tmem::SetTMemLayout +80060b40 TexRegionCallback(_GXTexObj_* +80060c10 0x80060c10 +80060c40 setTexRegion_(TMemCachePlan) +80060da0 nw4r::g3d::detail::Copy32ByteBlocks +80060e80 nw4r::g3d::detail::ZeroMemory32ByteBlocks +80060f50 nw4r::g3d::detail::ZeroMemory16ByteBlocks +80060fe0 0x80060fe0 +800613c0 0x800613c0 +800614d0 0x800614d0 +80061910 nw4r::g3d::detail::ScnDependentMtxFunc::DefaultMa +80061920 nw4r::g3d::G3DState::IndTexMtxInfo::FifoSend +80061990 0x80061990 +800619d0 0x800619d0 +800619e0 0x800619e0 +80061ae0 0x80061ae0 +80061f10 nw4r::g3d::G3DState::CameraMtxState::CameraMtxSta +80061fb0 nw4r::g3d::G3DState::LoadResMatMisc +80062020 nw4r::g3d::G3DState::LoadResTexObj +80062290 nw4r::g3d::G3DState::LoadResTlutObj +800623e0 nw4r::g3d::G3DState::LoadResGenMode +800625b0 nw4r::g3d::G3DState::LoadResTev +800627c0 nw4r::g3d::G3DState::LoadResMatPix +80062870 nw4r::g3d::G3DState::LoadResMatTevColor +80062920 nw4r::g3d::G3DState::LoadResMatIndMtxAndScale +800629e0 nw4r::g3d::G3DState::LoadResMatIndMtxAndScale +80062bb0 nw4r::g3d::G3DState::LoadResMatChan +800632e0 nw4r::g3d::G3DState::LoadResMatTexCoordGen +80063370 nw4r::g3d::G3DState::LoadResTexSrt +80063620 0x80063620 +800637d0 0x800637d0 +80063b20 nw4r::g3d::G3DState::SetViewPosNrmMtxArray +80063bb0 0x80063bb0 +80063c80 nw4r::g3d::G3DState::SetScnDependentTexMtxFunc +80063cf0 nw4r::g3d::G3DState::GetScnDependentTexMtxFunc +80063d50 0x80063d50 +80063d90 0x80063d90 +80063da0 0x80063da0 +80063e40 nw4r::g3d::G3DState::LoadFog +80063f00 0x80063f00 +80063f10 0x80063f10 +80063f40 nw4r::g3d::G3DState::LoadLightSet +80063fa0 nw4r::g3d::G3DState::LoadLightSet +80064030 nw4r::g3d::G3DState::SetCameraProjMtx +800640e0 nw4r::g3d::G3DState::GetCameraMtxPtr +80064100 0x80064100 +80064170 nw4r::g3d::G3DState::GetCameraMtxPtr +800641a0 nw4r::g3d::G3DState::SetRenderModeObj +800643a0 nw4r::g3d::G3DState::GetRenderModeObj +800643b0 nw4r::g3d::G3DState::Invalidate +80064500 nw4r::g3d::G3DState::IndMtxOpStd::SetNrmMapMtx +80064660 nw4r::g3d::G3DState::IndMtxOpStd::Reset +800646b0 nw4r::g3d::G3DState::IndMtxOpStd::__cl +80064820 __sinit_g3d_state_cpp +80064a90 nw4r::g3d::detail::LoadMaterial +80064f30 0x80064f30 +800657e0 0x800657e0 +80065890 0x80065890 +80065960 0x80065960 +80065ba0 0x80065ba0 +80065e80 0x80065e80 +80066160 0x80066160 +800664e0 0x800664e0 +80066760 0x80066760 +80066a00 0x80066a00 +80066d30 0x80066d30 +800671d0 0x800671d0 +80067730 0x80067730 +800677c0 0x800677c0 +80067820 0x80067820 +80067830 nw4r::g3d::detail::workmem::GetMtxIDTemporary +80067840 0x80067840 +80067850 0x80067850 +80067860 0x80067860 +80067870 0x80067870 +80067880 nw4r::g3d::WorldMtxManip::SetScale +80067900 nw4r::g3d::CalcWorld +80067ed0 0x80067ed0 +800681b0 0x800681b0 +800686d0 0x800686d0 +800688a0 nw4r::g3d::DrawResMdlLoop(byteCode) +800689e0 nw4r::g3d::DrawResMdlLoop(byteCode, rep) +80068bb0 nw4r::g3d::DrawResMdlLoop(MdlZ) +80068cc0 nw4r::g3d::DrawResMdlLoop(MdlZ, rep) +80068e20 nw4r::g3d::SetUpMdlZ +80068f60 nw4r::g3d::DrawResMdlDirectly +80069190 0x80069190 +800691d0 0x800691d0 +80069240 0x80069240 +80069800 0x80069800 +80069dc0 0x80069dc0 +8006a020 nw4r::g3d::Camera::__ct +8006a030 nw4r::g3d::Camera::Init +8006a080 nw4r::g3d::Camera::Init +8006a1a0 nw4r::g3d::Camera::SetPosition +8006a1d0 nw4r::g3d::Camera::SetPosition +8006a210 nw4r::g3d::Camera::SetPosture +8006a430 nw4r::g3d::Camera::SetCameraMtxDirectly +8006a480 nw4r::g3d::Camera::SetPerspective +8006a4c0 nw4r::g3d::Camera::SetOrtho +8006a500 nw4r::g3d::Camera::SetProjectionMtxDirectly +8006a550 nw4r::g3d::Camera::SetScissor +8006a570 nw4r::g3d::Camera::SetScissorBoxOffset +8006a590 nw4r::g3d::Camera::SetViewport +8006a630 nw4r::g3d::Camera::SetViewportZRange +8006a650 nw4r::g3d::Camera::GetViewport +8006a6c0 nw4r::g3d::Camera::GetCameraMtx +8006a720 nw4r::g3d::Camera::GetProjectionMtx +8006a800 nw4r::g3d::Camera::GetProjectionTexMtx +8006a8d0 nw4r::g3d::Camera::GetEnvironmentTexMtx +8006a950 nw4r::g3d::Camera::GXSetViewport +8006a9e0 nw4r::g3d::Camera::GXSetProjection +8006aab0 nw4r::g3d::Camera::GXSetScissor +8006aae0 nw4r::g3d::Camera::GXSetScissorBoxOffset +8006ab00 0x8006ab00 +8006af20 0x8006af20 +8006b080 nw4r::g3d::detail::dcc::CalcWorldMtx_Basic +8006b1f0 0x8006b1f0 +8006b230 0x8006b230 +8006b2d0 0x8006b2d0 +8006b310 0x8006b310 +8006b3d0 0x8006b3d0 +8006b480 0x8006b480 +8006b4d0 0x8006b4d0 +8006b5b0 0x8006b5b0 +8006b630 0x8006b630 +8006b760 0x8006b760 +8006b790 0x8006b790 +8006b930 0x8006b930 +8006ba80 0x8006ba80 +8006bb10 0x8006bb10 +8006bcc0 0x8006bcc0 +8006bd60 nw4r::g3d::detail::dcc::CalcWorldMtx_Maya_SSC_App +8006bf00 0x8006bf00 +8006bf40 0x8006bf40 +8006bfd0 0x8006bfd0 +8006c010 0x8006c010 +8006c0b0 0x8006c0b0 +8006c180 0x8006c180 +8006c1d0 0x8006c1d0 +8006c2a0 0x8006c2a0 +8006c320 0x8006c320 +8006c430 0x8006c430 +8006c460 0x8006c460 +8006c5a0 0x8006c5a0 +8006c6d0 0x8006c6d0 +8006c760 0x8006c760 +8006c8c0 0x8006c8c0 +8006c960 nw4r::g3d::detail::dcc::CalcWorldMtx_Xsi +8006cb20 0x8006cb20 +8006cb70 0x8006cb70 +8006cc20 0x8006cc20 +8006cc60 0x8006cc60 +8006cd20 0x8006cd20 +8006cdf0 0x8006cdf0 +8006ce50 0x8006ce50 +8006cf20 0x8006cf20 +8006cfa0 0x8006cfa0 +8006d0d0 0x8006d0d0 +8006d100 0x8006d100 +8006d250 0x8006d250 +8006d390 0x8006d390 +8006d430 0x8006d430 +8006d5a0 0x8006d5a0 +8006d640 nw4r::g3d::ScnObj::CalcWorldMtx +8006d6f0 nw4r::g3d::ScnObj::CalcViewMtx +8006d710 nw4r::g3d::ScnObj::__ct +8006d800 nw4r::g3d::ScnObj::__dt +8006d880 nw4r::g3d::ScnObj::SetScnObjOption +8006d8a0 nw4r::g3d::ScnObj::SetScnObjOption_caseD_1 +8006d8c8 nw4r::g3d::ScnObj::SetScnObjOption_caseD_2 +8006d8f0 nw4r::g3d::ScnObj::SetScnObjOption_caseD_3 +8006d918 nw4r::g3d::ScnObj::SetScnObjOption_caseD_4 +8006d940 nw4r::g3d::ScnObj::SetScnObjOption_caseD_5 +8006d968 nw4r::g3d::ScnObj::SetScnObjOption_caseD_6 +8006d990 nw4r::g3d::ScnObj::SetScnObjOption_caseD_7 +8006d9b8 nw4r::g3d::ScnObj::SetScnObjOption_caseD_8 +8006d9e0 nw4r::g3d::ScnObj::SetScnObjOption_caseD_9 +8006da08 nw4r::g3d::ScnObj::SetScnObjOption_caseD_0 +8006da20 nw4r::g3d::ScnObj::GetScnObjOption +8006da50 nw4r::g3d::ScnObj::GetScnObjOption_caseD_1 +8006da60 nw4r::g3d::ScnObj::GetScnObjOption_caseD_2 +8006da70 nw4r::g3d::ScnObj::GetScnObjOption_caseD_3 +8006da80 nw4r::g3d::ScnObj::GetScnObjOption_caseD_4 +8006da90 nw4r::g3d::ScnObj::GetScnObjOption_caseD_5 +8006daa0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_6 +8006dab0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_7 +8006dac0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_8 +8006dad0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_9 +8006dae0 nw4r::g3d::ScnObj::GetScnObjOption_caseD_0 +8006daf0 nw4r::g3d::ScnObj::SetMtx +8006db80 nw4r::g3d::ScnObj::SetMtx +8006dbe0 nw4r::g3d::ScnObj::GetMtx +8006dc30 nw4r::g3d::ScnObj::GetValueForSortOpa +8006dc40 nw4r::g3d::ScnObj::GetValueForSortXlu +8006dc50 nw4r::g3d::ScnObj::SetPriorityDrawOpa +8006dc80 nw4r::g3d::ScnObj::SetPriorityDrawXlu +8006dcb0 nw4r::g3d::ScnObj::EnableScnObjCallbackTiming +8006dcf0 nw4r::g3d::ScnObj::EnableScnObjCallbackExecOp +8006dd10 nw4r::g3d::ScnObj::SetBoundingVolume +8006dda0 nw4r::g3d::ScnObj::GetBoundingVolume +8006de00 nw4r::g3d::ScnLeaf::ForEach +8006de40 nw4r::g3d::ScnLeaf::SetScnObjOption +8006de80 nw4r::g3d::ScnLeaf::GetScnObjOption +8006ded0 nw4r::g3d::ScnObj::CalcWorldMtx +8006dfd0 nw4r::g3d::ScnLeaf::GetScaleProperty +8006e010 nw4r::g3d::ScnLeaf::DefG3dProcScnLeaf +8006e2f0 nw4r::g3d::ScnGroup::Construct +8006e3b0 nw4r::g3d::ScnGroup::ForEach +8006e4f0 nw4r::g3d::ScnGroup::ScnGroup_G3DPROC_GATHER_SCNOBJ +8006e610 nw4r::g3d::ScnGroup::G3dProc +8006e650 nw4r::g3d::ScnGroup::DefG3dProcScnGroup +8006eac0 nw4r::g3d::ScnGroup::Insert +8006ec50 nw4r::g3d::ScnGroup::Remove(idx) +8006ed10 nw4r::g3d::ScnGroup::Remove(ScnObj) +8006eda0 nw4r::g3d::ScnGroup::__ct +8006ee10 nw4r::g3d::ScnGroup::__dt +8006eed0 nw4r::g3d::ScnGroup::IsDerivedFrom +8006ef20 nw4r::g3d::G3dObj::IsDerivedFrom +8006ef60 nw4r::g3d::ScnGroup::GetTypeNameStatic +8006ef90 nw4r::g3d::ScnGroup::GetTypeObjStatic +8006efa0 nw4r::g3d::ScnLeaf::IsDerivedFrom +8006eff0 nw4r::g3d::ScnLeaf::GetTypeNameStatic +8006f020 nw4r::g3d::ScnLeaf::GetTypeObjStatic +8006f030 nw4r::g3d::ScnLeaf::destruct +8006f0c0 nw4r::g3d::ScnObj::GetTypeNameStatic +8006f0f0 nw4r::g3d::ScnObj::GetTypeObjStatic +8006f100 nw4r::g3d::ScnRoot::Construct +8006f240 nw4r::g3d::ScnRoot::G3dProc +8006f2f0 nw4r::g3d::ScnRoot::GetCamera +8006f350 nw4r::g3d::ScnRoot::GetCurrentCamera +8006f390 nw4r::g3d::ScnRoot::SetCurrentCamera +8006f3a0 nw4r::g3d::ScnRoot::GetFog +8006f400 nw4r::g3d::ScnRoot::GetLightSet +8006f450 nw4r::g3d::ScnRoot::SetAnmScn +8006f4f0 nw4r::g3d::ScnRoot::UpdateFrame +8006f560 0x8006f560 +8006f790 nw4r::g3d::ScnRoot::CalcAnmScn +8006f920 nw4r::g3d::ScnRoot::CalcWorld +8006f970 nw4r::g3d::ScnRoot::CalcMaterial +8006f990 nw4r::g3d::ScnRoot::CalcVtx +8006f9b0 nw4r::g3d::ScnRoot::CalcView +8006fa30 nw4r::g3d::ScnRoot::GatherDrawScnObj +8006fb20 nw4r::g3d::ScnRoot::ZSort +8006fb80 nw4r::g3d::ScnRoot::DrawOpa +8006fc00 nw4r::g3d::ScnRoot::DrawXlu +8006fc80 nw4r::g3d::ScnRoot::ForceDrawMode +8006fcb0 nw4r::g3d::ScnRoot::__ct +8006fdb0 0x8006fdb0 +8006fe30 nw4r::g3d::ScnObjGather::Add +8006ff50 nw4r::g3d::ScnObjGather::ZSort +8006ffb0 0x8006ffb0 +8006fff0 0x8006fff0 +80070030 std::sort(void_(nw4r::g3d::ScnObj_** +800703b0 std::sort(void_(nw4r::g3d::ScnObj_** +80070730 std::__sort132(void_(nw4r::g3d::ScnObj_** +80070830 nw4r::g3d::ScnObjGather::Sort +80070890 nw4r::g3d::@unnamed@g3d_scnroot_cpp@::LessByGetVa +80070920 nw4r::g3d::@unnamed@g3d_scnroot_cpp@::LessByGetVa +800709b0 nw4r::g3d::ScnObjGather::Sort(CompFuncs) +80070a20 nw4r::g3d::ScnObjGather::DrawOpa +80070ab0 nw4r::g3d::ScnObjGather::DraxXlu +80070b40 nw4r::g3d::ScnObjGather::CheckScnObj +80070b50 nw4r::g3d::ScnObjGather::__ct +80070b80 nw4r::g3d::ScnObjGather::Clear +80070b90 nw4r::g3d::ScnObjGather::__dt +80070bd0 0x80070bd0 +80070c40 0x80070c40 +80070c70 0x80070c70 +80070c80 nw4r::g3d::ScnMdlSimple::Construct +80070e20 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_CalcPosture +80071080 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_G3DPROC_GATHER_SCNOBJ +800710c0 nw4r::g3d::ScnMdlSimple::ScnMdlSmpl_G3DPROC_CALC_ +80071410 nw4r::g3d::ScnMdlSimple::G3dProc +80071ca0 nw4r::g3d::ScnMdlSimple::SetScnObjOption +80071ce0 nw4r::g3d::ScnMdlSimple::GetScnObjOption +80071d20 nw4r::g3d::ScnMdlSimple::GetScnMtxPos +80071e60 nw4r::g3d::ScnMdlSimple::SetAnmObj +80072470 nw4r::g3d::ScnMdlSimple::RemoveAnmObj +800725f0 nw4r::g3d::ScnMdlSimple::RemoveAnmObj +800726d0 nw4r::g3d::ScnMdlSimple::GetAnmObj +80072730 nw4r::g3d::ScnMdlSimple::GetAnmObj +80072790 nw4r::g3d::ScnMdlSimple::UpdateFrame +80072850 nw4r::g3d::ScnMdlSimple::EnableScnMdlCallbackTiming +80072890 nw4r::g3d::ScnMdlSimple::DisableScnMdlCallbackTiming +800728d0 nw4r::g3d::ScnMdlSimple::GetViewPosMtxArray +80072900 nw4r::g3d::ScnMdlSimple::GetViewNrmMtxArray +80072940 nw4r::g3d::ScnMdlSimple::GetViewTexMtxArray +80072980 nw4r::g3d::ScnMdlSimple::GetByteCode +800729d0 0x800729d0 +80072bf0 nw4r::g3d::ScnMdlSimple::destruct +80072d10 nw4r::g3d::ScnMdlSimple::IsDerivedFrom +80072d80 nw4r::g3d::ScnMdlSimple::GetTypeNameStatic +80072db0 nw4r::g3d::ScnMdlSimple::GetTypeObj +80072dc0 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTexObj +80072e10 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatTevColor +80072e60 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTexSrtEx +80072ec0 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatMiscEx +80072f20 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResMatTevColorEx +80072fa0 nw4r::g3d::ScnMdl::CopiedMatAccess::GetResTevEx +80073010 nw4r::g3d::ScnMdl::CopiedMatAccess::__ct +80073290 nw4r::g3d::ScnMdl::CopiedVisAccess::IsVisible +80073310 nw4r::g3d::ScnMdl::CopiedVisAccess::CopiedVisAcce +800733d0 nw4r::g3d::ScnMdl::Construct +80073f60 nw4r::g3d::ScnMdl::ScnMdl_G3DPROC_CALC_MAT +800746d0 nw4r::g3d::ScnMdl::G3dProc +80074b80 nw4r::g3d::ScnMdl::SetScnObjOption +80074bc0 nw4r::g3d::ScnMdl::GetScnObjOption +80074c00 nw4r::g3d::ScnMdl::InitBuffer +80074fa0 nw4r::g3d::ScnMdl::CleanMatBuffer +800752e0 nw4r::g3d::ScnMdl::SetAnmObj +80075450 nw4r::g3d::ScnMdl::RemoveAnmObj +80075650 nw4r::g3d::ScnMdl::RemoveAnmObj +800756a0 nw4r::g3d::ScnMdl::GetAnmObj +800756c0 nw4r::g3d::ScnMdl::GetAnmObj +800756e0 nw4r::g3d::ScnMdl::__dt +80075750 nw4r::g3d::ScnMdl::IsDerivedFrom +800757d0 nw4r::g3d::ScnMdl::GetTypeNameStatic +80075800 nw4r::g3d::ScnMdl::GetTypeObjStatic +80075810 0x80075810 +80075820 0x80075820 +80075950 nw4r::g3d::ScnObjGatherExScnMdl::DrawOpa +80075980 nw4r::g3d::ScnObjGatherExScnMdl::DrawXlu +800759b0 nw4r::g3d::ScnObjGatherExScnMdl::CheckScnObj +80075b30 nw4r::g3d::ScnObjGatherExScnMdl::GetResMdl +80075b40 nw4r::g3d::ScnObjGatherExScnMdl::DrawLoop +80075f30 nw4r::g3d::ScnObjGatherExScnMdl::HasEqualTarget +80075fc0 nw4r::g3d::ScnObjGatherExScnMdl::TypeID +80075fd0 nw4r::g3d::ScnGroupEx::Construct +80076130 nw4r::g3d::ScnGroupEx::SetResMdl +80076170 0x80076170 +800761b0 nw4r::g3d::ScnGroupEx::G3dProc +800764e0 nw4r::g3d::ScnGroupEx::__dt +80076520 nw4r::g3d::ScnObjGatherExScnMdl::SetResMdl +800765d0 nw4r::g3d::ScnObjGatherExScnMdl::__dt +80076610 0x80076610 +80076620 0x80076620 +80076630 0x80076630 +80076640 0x80076640 +80076650 0x80076650 +80076660 0x80076660 +80076670 nw4r::g3d::ScnGroupEx::IsDerivedFrom +800766e0 nw4r::g3d::ScnGroupEx::GetTypeName +80076710 nw4r::g3d::ScnGroupEx::GetTypeObj +80076720 nw4r::g3d::ScnMdl1Mat1Shp::Construct +80076840 nw4r::g3d::ScnMdl1Mat1Shp::G3dProc +80076b30 nw4r::g3d::ScnMdl1Mat1Shp::IsDerivedFrom +80076ba0 nw4r::g3d::ScnMdl1Mat1Shp::GetTypeName +80076bd0 nw4r::g3d::ScnMdl1Mat1Shp::GetTypeObj +80076be0 nw4r::g3d::ScnMdl1Mat1Shp::__dt +80076c20 nw4r::g3d::CalcMaterialDirectly +80077030 nw4r::g3d::G3dInit +80077120 nw4r::g3d::G3dReset +80077130 nw4r::g3d::ScnProc::Construct +80077240 nw4r::g3d::ScnProc::G3dProc +80077340 nw4r::g3d::ScnProc::IsDerivedFrom +800773b0 nw4r::g3d::ScnProc::GetTypeName +800773e0 nw4r::g3d::ScnProc::GetTypeObj +800773f0 nw4r::g3d::ScnProc::__dt +80077430 nw4r::g3d::Fog::__ct +80077440 nw4r::g3d::Fog::Init +800774b0 nw4r::g3d::Fog::CopyTo +80077510 nw4r::g3d::Fog::SetFogRangeAdjParam +80077530 nw4r::g3d::Fog::SetGP +800775c0 nw4r::g3d::LightObj::Clear +800775e0 nw4r::g3d::LightObj::InitLightColor +80077630 nw4r::g3d::LightObj::InitLightPos +80077670 nw4r::g3d::LightObj::InitLightDir +800776b0 nw4r::g3d::LightObj::InitLightSpot +800776f0 nw4r::g3d::LightObj::InitLightAttnA +80077730 nw4r::g3d::LightObj::InitLightDistAttn +80077770 nw4r::g3d::LightObj::InitLightAttnK +800777b0 nw4r::g3d::LightObj::InitSpecularDir +800777f0 nw4r::g3d::LightObj::InitLightShininess +80077850 nw4r::g3d::LightObj::GetLightPos +80077870 nw4r::g3d::LightObj::GetLightDir +80077890 nw4r::g3d::LightSetting::__ct +80077cd0 nw4r::g3d::LightSetting::Import +80077e70 nw4r::g3d::LightSetting::ApplyViewMtx +80077f90 nw4r::g3d::LightSet::SelectLightObj +80078000 nw4r::g3d::LightSet::SelectAmbLightObj +80078070 nw4r::g3d::CalcVtx +80078880 nw4r::lyt::LytInit +800788e0 nw4r::lyt::Pane::__ct +80078a20 nw4r::lyt::Pane::__dt +80078b60 nw4r::lyt::Pane::AppendChild +80078bb0 nw4r::lyt::Pane::GetPaneRect +80078c40 nw4r::lyt::Pane::GetVtxColor +80078c50 nw4r::lyt::Pane::SetVtxColor +80078c60 nw4r::lyt::Pane::GetColorElement +80078c90 nw4r::lyt::Pane::SetColorElement +80078cc0 nw4r::lyt::Pane::GetVtxColorElement +80078cd0 nw4r::lyt::Pane::SetVtxColorElement +80078ce0 nw4r::lyt::Pane::FindPaneByName +80078d90 nw4r::lyt::Pane::FindMaterialByName +80078e50 nw4r::lyt::Pane::CalculateMtx +80079150 nw4r::lyt::Pane::Draw +800791e0 nw4r::lyt::Pane::DrawSelf +800791f0 nw4r::lyt::Pane::Animate +80079280 nw4r::lyt::Pane::AnimateSelf +80079340 nw4r::lyt::Pane::BindAnimation +80079360 nw4r::lyt::Pane::UnbindAnimation +800793f0 nw4r::lyt::Pane::UnbindAllAnimation +80079410 nw4r::lyt::UnbindAnimationSelf +80079470 nw4r::lyt::Pane::AddAnimationLink +800794b0 nw4r::lyt::Pane::FindAnimationLinkSelf +800794c0 nw4r::lyt::Pane::FindAnimationLinkSelf +800794d0 nw4r::lyt::Pane::SetAnimationEnable +800795d0 nw4r::lyt::Pane::SetAnimationEnable +800796d0 nw4r::lyt::Pane::LoadMtx +80079730 nw4r::lyt::Pane::GetVtxPos +80079800 nw4r::lyt::Pane::GetMaterialNum +80079820 nw4r::lyt::Pane::GetMaterial +80079830 nw4r::lyt::Pane::GetMaterial +80079850 nw4r::lyt::Pane::GetRuntimeTypeInfo +80079860 0x80079860 +80079870 nw4r::lyt::Group::__ct +800798e0 nw4r::lyt::Group::__ct +80079a00 nw4r::lyt::Group::__dt +80079ab0 nw4r::lyt::Group::AppendPane +80079b40 nw4r::lyt::GroupContainer::__dt +80079c10 nw4r::lyt::GroupContainer::AppendGroup +80079c50 nw4r::lyt::GroupContainer::FindGroupByName +80079cd0 nw4r::lyt::SetTagProcessorImpl +80079e90 nw4r::lyt::IsIncludeAnimationGroupRef +80079f60 nw4r::lyt::Layout::__ct +80079fa0 nw4r::lyt::Layout::__dt +8007a0d0 nw4r::lyt::Layout::Build +8007a420 nw4r::lyt::Layout::CreateAnimTransform +8007a4a0 nw4r::lyt::Layout::CreateAnimTransform +8007a500 nw4r::lyt::Layout::CreateAnimTransform +8007a590 nw4r::lyt::Layout::BindAnimation +8007a5c0 nw4r::lyt::Layout::UnbindAnimation +8007a5f0 nw4r::lyt::Layout::UnbindAllAnimation +8007a610 nw4r::lyt::Layout::BindAnimationAuto +8007a8a0 nw4r::lyt::Layout::SetAnimationEnable +8007a8d0 nw4r::lyt::Layout::CalculateMtx +8007a8f0 nw4r::lyt::Layout::Draw +8007a910 nw4r::lyt::Layout::Animate +8007a930 nw4r::lyt::Layout::SetTagProcessor +8007aaf0 nw4r::lyt::Layout::BuildPaneObj +8007ace0 nw4r::ut::Color::__ct +8007acf0 nw4r::lyt::Picture::__ct +8007ae40 nw4r::lyt::Picture::__dt +8007af20 nw4r::lyt::Picture::Append +8007b0e0 nw4r::lyt::Picture::GetVtxColor +8007b110 nw4r::lyt::Picture::SetVtxColor +8007b140 nw4r::lyt::Picture::GetVtxColorElement +8007b160 nw4r::lyt::Picture::SetVtxColorElement +8007b180 nw4r::lyt::Picture::DrawSelf +8007b260 nw4r::lyt::Picture::GetRuntimeTypeInfo +8007b270 __sinit_\lyt_picture_cpp +8007b280 nw4r::lyt::TextBox::__ct +8007b570 nw4r::lyt::TextBox::__dt +8007b710 nw4r::lyt::TextBox::GetVtxColor +8007b740 nw4r::lyt::TextBox::SetVtxColor +8007b790 nw4r::lyt::TextBox::GetVtxColorElement +8007b7b0 nw4r::lyt::TextBox::SetVtxColorElement +8007b7d0 nw4r::lyt::TextBox::DrawSelf +8007beb0 0x8007beb0 +8007c290 0x8007c290 +8007c2d0 nw4r::lyt::TextBox::GetStringBufferLength +8007c300 nw4r::lyt::TextBox::AllocStringBuffer +8007c3d0 nw4r::lyt::TextBox::FreeStringBuffer +8007c420 nw4r::lyt::TextBox::SetString +8007c500 nw4r::lyt::TextBox::SetString +8007c5d0 nw4r::ut::Font__dt +8007c610 nw4r::lyt::TextBox::LoadMtx +8007c6a0 0x8007c6a0 +8007ca10 0x8007ca10 +8007cb70 nw4r::lyt::TextBox::GetRuntimeTypeInfo +8007cb80 0x8007cb80 +8007cb90 nw4r::lyt::Window::__ct +8007ce20 nw4r::lyt::Window::__dt +8007cf70 nw4r::lyt::Window::FindMaterialByName +8007d070 nw4r::lyt::Window::GetVtxColor +8007d0a0 nw4r::lyt::Window::SetVtxColor +8007d0d0 nw4r::lyt::Window::GetVtxColorElement +8007d0f0 nw4r::lyt::Window::SetVtxColorElement +8007d110 nw4r::lyt::Window::DrawSelf +8007d250 nw4r::lyt::Window::AnimateSelf +8007d2e0 nw4r::lyt::Window::UnbindAnimationSelf +8007d370 nw4r::lyt::Window::DrawContent +8007d480 nw4r::lyt::Window::DrawFrame +8007da60 nw4r::lyt::Window::DrawFrame4 +8007e1b0 nw4r::lyt::Window::DrawFrame8 +8007f000 nw4r::lyt::Window::GetFrameSize +8007f100 nw4r::lyt::Window:GetMaterialNum +8007f110 nw4r::lyt::Window::GetMaterial +8007f140 nw4r::lyt::Window::GetFrameMaterial +8007f170 nw4r::lyt::Window::GetContent +8007f180 0x8007f180 +8007f190 0x8007f190 +8007f1a0 Bounding_construct +8007f1e0 0x8007f1e0 +8007f240 0x8007f240 +8007f250 nw4r::lyt::Window::GetRuntimeTypeInfo +8007f260 __sinit_\lyt_bounding_cpp +8007f270 0x8007f270 +8007f380 0x8007f380 +8007f580 nw4r::math::VEC2::__as +8007f5a0 nw4r::ut::LinkList::__ct +8007f5c0 nw4r::lyt::Material::__ct +8007fc30 _GXColorS10::Operator= +8007fc60 nw4r::ut::Color::Operator= +8007fc70 nw4r::lyt::MaterialResourceNum::GetTexMapNum +8007fc80 nw4r::lyt::MaterialResourceNum::GetTexSRTNum +8007fc90 nw4r::lyt::MaterialResourceNum::GetCoordGenNum +8007fca0 nw4r::lyt::MaterialResourceNum::GetChanCtrlNum +8007fcb0 nw4r::lyt::MaterialResourceNum::GetMapColNum +8007fcc0 nw4r::lyt::MaterialResourceNum::HasTevSwapTable +8007fcd0 nw4r::lyt::MaterialResourceNum::HasAlphaCompare +8007fce0 nw4r::lyt::MaterialResourceNum::HasBlendMode +8007fcf0 nw4r::lyt::MaterialResourceNum::GetIndTexStageNum +8007fd00 nw4r::lyt::MaterialResourceNum::GetIndTexStageNum +8007fd10 0x8007fd10 +8007fd20 0x8007fd20 +8007fd40 nw4r::lyt::res::TexMap::GetWarpModeS +8007fd50 nw4r::lyt::res::TexMap::GetWarpModeT +8007fd60 0x8007fd60 +8007fd80 nw4r::lyt::res::TexMap::GetMinFilter +8007fda0 nw4r::lyt::res::TexMap::GetMagFilter +8007fdc0 0x8007fdc0 +8007fdf0 0x8007fdf0 +8007fe20 0x8007fe20 +8007fe50 nw4r::lyt::TevSwapMode::__as +8007fe60 nw4r::lyt::TexSRT::operator_= +8007fe90 0x8007fe90 +8007fec0 0x8007fec0 +8007ff70 0x8007ff70 +8007ffa0 0x8007ffa0 +8007ffd0 0x8007ffd0 +8007ffe0 0x8007ffe0 +8007fff0 nw4r::snd::DvdSoundArchive::OpenExtStream +80080000 0x80080000 +80080010 0x80080010 +80080020 0x80080020 +80080030 0x80080030 +80080040 nw4r::lyt::detail::ConvertOffsToPtr +80080050 nw4r::lyt::detail::ConvertOffsToPtr +80080060 0x80080060 +80080070 0x80080070 +80080080 0x80080080 +80080090 nw4r::lyt::detail::ConvertOffsToPtr::CalcCompletion +8050caa4 0x8050caa4 +8050cae4 0x8050cae4 +8050cbc0 0x8050cbc0 +8050cc9c KMP::Manager::CalcNextCPRecursive +8050d08c KMP::Manager::CalcNextCP +8050d98c KMP::Manager::ResetCKPTScannedState +8050da08 KMP::Manager::CalcExactFinishTime +8050da54 KMP::Holder::CalcExactFinishTime +8050dba8 Vec2::Operator- +8050dbcc Vec2::Operator+ +8050dbf0 KMP::CKPTSection::CalcDistanceFromCPRecursive +8050defc KMP::CKPTSection::CalcTotalDistance +8050e220 KMP::Manager::CreateInstance +8050e2a8 KMP::Manager::DestroyInstance +8050e2f8 KMP::Manager::__ct +8050e338 KMP::Manager::__dt +8050e378 KMP::Manager::Init +8050e79c KMP::Manager::GetRawKMP +8050e7b8 KMP::RawHolder::__ct +8050e7f8 KMP::Holder::GetType +8050e804 KMP::Manager::GetCAMECount +8050e820 KMP::RawHolder::GetVersion +8050e828 KMP::Holder::GetOpeningCamIdx +8050e838 KMP::Holder::SetId +8050e840 KMP::Manager::GetAREACount +8050e85c KMP::Manager::GetEENPTCount +8050e878 KMP::Manager::GetITPTCount +8050e894 KMP::Manager::GetJGPTCount +8050e8b0 KMP::Manager::GetKTPTCount +8050e8cc KMP::Holder::IsNarrowGrid +8050e8d8 KMP::Holder::GetFilterEffectColor +8050e8e4 KMP::Holder::HasFilterEffect +8050e8f0 KMP::Manager::ParseSTGI +8050ea10 KMP::Manager::ParseMSPT +8050eb30 KMP::Manager::ParseCNPT +8050ec50 KMP::Manager::ParseJGPT +8050ed70 KMP::Manager::ParseCAME +8050ee90 KMP::Manager::ParseAREA +8050ef24 KMP::Manager::ParsePOTI +8050f054 KMP::Manager::ParseGOBJ +8050f18c Vec3::__dt +8050f1cc KMP::Manager::ParseCKPT +8050f308 KMP::Manager::ParseCKPH +8050f668 KMP::Manager::ParseITPT +8050f788 KMP::Manager::ParseITPH +8050f8a4 KMP::Manager::ParseENPT +8050f9cc KMP::Manager::ParseENPH +8050fae8 KMP::Manager::ParseKTPT +8050fc68 KMP::AREASection::GetHolder +8050fc8c KMP::JGPTSection::GetHolder +8050fcb0 KMP::KTPTSection::GetHolder +8050fcd4 KMP::Manager::GetHolder +8050fd20 KMP::Holder::GetRoute +8050fd94 KMP::KTPTSection::GetBlock +8050fde4 KMP::KTPTSection::__ct +8050fef4 KMP::Holder::CalcCoordinates_0Indexed +80510320 0x80510320 +80510360 Vec3::Operator-(unary) +80510388 Vec3::RotateQuaternion +8051039c Vec3::MultiplyByScalar +805103c4 Vec3::Operator+ +805103f8 Vec3::Operator- +8051042c KMP::Holder::InitLinks +805106b0 KMP::Holder::CalcCoordinates +805106bc KMP::Manager::GetHolder +80510708 KMP::Manager::GetHolder +80510754 KMP::Manager::GetHolder +805107bc KMP::Manager::CalcExtremes +805108c8 KMP::Manager::GetHolder +80510914 KMP::Manager::GetHolder +8051097c KMP::CKPHSection::Init +80510ba0 KMP::CKPHSection::GetHolder +80510c24 KMP::Holder::Init +80510c6c KMP::Holder::CalcDepthRecursive +80510dd0 KMP::CKPTSection::Init +80511070 KMP::Holder__ct +8051116c KMP::LinkedCKPT::__ct +80511170 KMP::LinkedCKPT::__dt +805111b0 KMP::Holder::InitLinks +805115f8 KMP::Holder::InitType +805117b0 KMP::Manager::GetHolder +805117fc KMP::Manager::GetHolder +80511848 KMP::Manager::GetCKPHHolderByCT +805118c8 KMP::Manager::POTISection::__ct +80511990 KMP::Manager::GetHolder +805119dc KMP::AREASection::__ct +80511b18 KMP::AREASection::SortByPriority +80511bdc KMP::Holder::__ct +80511c3c KMP::Holder::IsPointInAREA +80511cc4 KMP::Holder::GetRouteId +80511cf4 KMP::Holder::GetRoute +80511dac KMP::HolderAREABox::__ct +80511f40 KMP::Holder::__dt +80511f80 KMP::HolderAREABox::IsPointInAREAShape +80512088 KMP::HolderAREACylinder::__ct +80512214 KMP::HolderAREACylinder::IsPointInAREAShape +805122f4 KMP::Manager::GetHolder +80512340 KMP::Manager::GetAREAHolderByPriority +80512394 KMP::Manager::FindAREA +805125ec KMP::Manager::GetMiniMapAREAParams +8051273c KMP::Manager::GetHolder +80512788 KMP::Manager::GetCAMEHolderFromAREAId +80512860 KMP::Holder::GetNext +805128d8 KMP::IsNonPrivateBattle +80512900 KMP::Holder::InitLinks +8051311c KMP::Manager::GetNextENPT +80513198 KMP::Manager::GetNextENPTCount +805131fc KMP::Manager::GetPrevENPT +80513278 KMP::Manager::GetPrevENPTCount +805132dc KMP::Manager::ToggleENPH +805133e4 KMP::Holder::ToggleENPHLink +80513870 KMP::Holder::AddPrevLink +805138c4 KMP::Holder::AddNextLink +80513918 KMP::Holder::AddLink +80513a14 KMP::Holder::InitLinks +80513d7c KMP::Manager::GetNextITPT +80513df4 KMP::Manager::GetNextITPTCount +80513e58 KMP::Manager::GetPrevITPT +80513ed0 KMP::Manager::GetPrevITPTCount +80513f34 KMP::Holder::__ct +80514088 KMP::Holder::InitLinks +805144ac KMP::Manager::GetHolder +805144f8 KMP::Holder::GetPosition +80514644 Vec3::MultiplyByScalar2 +8051466c KMP::Manager::GetHolder +805146b8 KMP::Manager::GetHolder +80514704 KMP::Manager::GetHolder +8051473c KMP::Holder::GetFilterEffectAlpha +80514768 KMP::AREASection::__dt +805147cc KMP::Holder::__dt +8051484c ArchiveFile::__ct +80514880 ArchiveFile::__dt +80514958 ArchiveFile::Mount +80514998 0x80514998 +8051499c ArchiveFile::Load +80514b30 ArchiveFile::LoadUncompressed +80514b48 ArchiveFile::MountFromRawArchive(void*) +80514bcc ArchiveFile::GetFileNewBuffer +80514c74 0x80514c74 +80514c7c ArchiveFile::Dump +80514d30 ArchiveFile::TryDump +80514dcc ArchiveFile::ClearAll +80514e54 0x80514e54 +80514e58 ArchiveFile::Unmount +80514efc ArchiveFile::ClearArchive +80514f54 ArchiveFile::ClearDump +80514fac ArchiveFile::GetFile +80515094 ArchiveFile::Decompress +80515130 ArchiveFile::SetDumpToDecompress +80515164 ArchiveFile::MountFromRawArchive(ArchiveFile*) +805151fc Friend::__dt +8051523c Friend::SetFriend +8051527c Friend::StoreToDest +80515290 Friend::AddFriend +8051530c 0x8051530c +805153f8 0x805153f8 +8051550c Friend::SetData +8051555c Friend::AddLoss +80515574 Friend::AddWin +8051558c 0x8051558c +805155d8 0x805155d8 +805156a8 0x805156a8 +805158c0 0x805158c0 +80515964 0x80515964 +80515b44 0x80515b44 +80515ba8 0x80515ba8 +80515bd8 0x80515bd8 +80515c08 KCLController::CanReuseLastTrianglesList +80515c84 0x80515c84 +80515cf0 0x80515cf0 +80515d00 0x80515d00 +80515d30 0x80515d30 +80515d38 0x80515d38 +80515d40 0x80515d40 +80515d6c GameScene::__ct +80515ef4 BaseScene::__dt +80515f4c GameScene::__dt +80515fa8 GameScene::FadeIn +8051600c GameScene::FadeOut +80516068 GameScene::FinalizeEnter +805165d8 GameScene::GetScreenCount +805165e0 GameScene::vf_0x58 +805165e4 GameScene::AddArchivesHolder +80516674 GameScene::UnmountArchives +805166e4 GameScene::enter +80516b10 GameScene::SetFramerate +80516b74 GameScene::ChangeScene +80516c18 0x80516c18 +80516c20 GameScene::FadeOutToReinit +80516c6c GameScene::CreateChildScene +80516c80 GameScene::Reset +80516d84 0x80516d84 +80516ddc GameScene::exit +80516f00 BaseScene::ResetRacedataScenarios +80516f0c 0x80516f0c +80516f28 0x80516f28 +80516f50 GameScene::vf_0x48 +80516f54 GameScene::calc +8051731c GameScene::isSpectating +80517324 GameScene::vf_0x2c +8051732c GameScene::vf_0x50 +80517334 0x80517334 +8051733c GameScene::reinit +8051745c GameScene::OnReinit +80517460 GameScene::isPaused +80517470 GameScene::CreateHeap +80517514 GameScene::DestroyHeap +8051755c GameScene::vf_0x5c +80517560 0x80517560 +80517804 GameScene::draw +805178c0 0x805178c0 +80517a5c GameScene::GetCurrent +80517a8c 0x80517a8c +80517b98 BaseScene::outgoing_child_create +80517b9c BaseScene::incoming_child_destroy +80517ba0 0x80517ba0 +80517ba4 0x80517ba4 +80517ba8 BaseScene::reinit +80517bac BaseScene::exit +80517bb0 BaseScene::enter +80517bb4 BaseScene::draw +80517bb8 BaseScene::calc +80517bbc 0x80517bbc +80517c14 RKG::ClearBuffer +80517c20 RKG::CheckHeader +80517cac RKGFile::CheckValidity +80517dc8 RKGFile::SetCRC32 +80517dfc GhostData::__ct +80517ec0 Timer::__dt +80517f00 Timer::__ct +80517f24 GhostData::__ct(RKG) +8051802c GhostData::Reset +805180b8 0x805180b8 +805180bc GhostData::ReadRKG +8051831c GhostData::Init +80518380 GhostData::FillHeader +80518598 GhostData::CreateRKGWithoutInputs +8051860c GhostData::CreateRKG +805186a8 GhostData::Fill +80518a08 Input::Controller::GetType +80518a10 0x80518a10 +80518a18 Input::ControllerHolder::GetInputsSize +80518a20 GhostGroup::__ct +80518b1c GhostData::__dt +80518b84 GhostGroup::__dt +80518bf0 GhostGroup::DisableGhostData +80518c10 GhostGroup::GetGhostData +80518c48 GhostGroup::ReadRKG +80518c6c RKG::CompressTo +80518d40 RKG::DecompressTo +80518f14 RKG::GetLength +80519060 HomeMenuMgr::CreateInstance +805190c0 HomeMenuMgr::DestroyInstance +80519110 HomeMenuMgr::__dt +80519174 HomeMenuMgr::LoadHBMArc +80519228 0x80519228 +8051922c HomeMenuMgr::__ct +80519420 HomeMenuMgr::ResetControllerData +805194a4 HomeMenuMgr::Open +80519580 HomeMenuMgr::Close +80519650 0x80519650 +805198fc HomeMenuMgr::UpdateControllerData +80519b04 HomeMenuMgr::UpdateLockParams +80519b4c 0x80519b4c +80519ca0 HomeMenuMgr::Calc +80519eec 0x80519eec +80519fac 0x80519fac +8051a100 0x8051a100 +8051a374 HomeMenuMgr::Draw +8051a3e8 Input::State::Reset +8051a428 Input::State::operator== +8051a490 Input::UIState::Reset +8051a4ec Input::State::SetStickXMirrorCheck +8051a574 Input::State::SetStickX +8051a5b4 Input::State::ConvertQuantised +8051a5ec Input::State::SetStickY +8051a62c Input::UIState::SetStickXMirrorCheck +8051a6b4 Input::UIState::SetStickY +8051a6f4 Input::State::SetControlMotionFlick +8051a734 Input::Controller::__ct +8051a820 Input::State::__dt +8051a860 Input::UIState::__dt +8051a8a0 Input::Controller::Update +8051ab98 Input::Controller::ResetSelf +8051ab9c Input::Controller::UpdateBatteryField +8051ac00 Input::Controller::GetRemainingBattery +8051ac08 Input::Controller::GetRuntimeTypeInfo +8051ac14 Input::WiiController::__ct +8051ad78 Input::Controller::__dt +8051adb8 Input::WiiController::Init +8051ae94 Input::Controller::Init +8051af08 Input::Controller::SetDriftType +8051af10 Input::WiiController::WPADInfoCallback +8051af40 Input::WiiController::UpdateBattery +8051af5c Input::WiiController::GetRemainingBattery +8051af9c Input::WiiController::UpdateStatesClassic +8051b608 Input::WiiController::UpdateStatesNunchuck +8051b76c Input::WiiController::UpdateStatesCore +8051b810 Input::WiiController::UpdateImpl +8051bb44 Input::WiiController::TogglePointer +8051bb5c Input::GCNController::__ct +8051bca4 Input::GCNController::Init +8051bd3c Input::GCNController::UpdateImpl +8051c288 Input::GCNController::HasRumble +8051c2bc Input::GhostController::__ct +8051c4b0 Input::GhostController::__dt +8051c524 Input::GhostController::Init +8051c5d8 Input::GhostController::HasRKGInputs +8051c5ec 0x8051c5ec +8051c6a4 0x8051c6a4 +8051c728 Input::GhostController::UpdateImpl +8051c8d8 Input::GhostDirectionStream::Read +8051ca40 Input::GhostDirectionStream::GetInputSize +8051ca48 Input::ControllerHolder::CreateRumbleController +8051cab8 Input::RealControllerHolder::SetDriftType +8051caf0 Input::ControllerHolder::__ct +8051cc9c Input::ControllerHolder::Init +8051cd24 Input::ControllerHolder::Update +8051d0e0 Input::RealControllerHolder::SetController +8051d160 Input::RealControllerHolder::StartGhostReading +8051d214 Input::RealControllerHolder::EndGhostWriting +8051d2f4 Input::RealControllerHolder::Update +8051d3d0 Input::RealControllerHolder::SetGhostController +8051d4bc Input::RealControllerHolder::PrepareForRace +8051d538 Input::AIControllerHolder::CopyCPUInputs +8051d5c0 Input::ControllerHolder::RequestRumble(3args) +8051d658 Input::ControllerHolder::RequestRumble(4args) +8051d910 Input::Controller::HasRumble +8051d918 0x8051d918 +8051d9d4 0x8051d9d4 +8051da5c Input::ControllerHolder::RequestRumbleByDuration +8051db18 Input::ControllerHolder::RequestRumbleByDurationNoFaderCheck +8051dba0 Input::ControllerHolder::StopAllRumble +8051dc04 Input::ControllerHolder::ActivateRumble +8051dc18 Input::Controller::ActivateRumble +8051dc1c Input::ControllerHolder::StopRumble +8051dc30 Input::ControllerHolder::StopCurrentRumble +8051dc34 Input::ControllerHolder::ResetSelfController +8051dc48 Input::RealControllerHolder::__ct +8051de40 Input::ControllerHolder::__dt +8051de80 Input::RealControllerHolder::__dt +8051dee4 Input::Manager::SetFSStickClamp +8051def0 Input::ControllerParams::Fill +8051e020 Input::Controller::GetChannel +8051e028 0x8051e028 +8051e098 0x8051e098 +8051e130 0x8051e130 +8051e214 0x8051e214 +8051e21c Input::Manager::ResetKPAD +8051e280 Input::ControllerHolder::CopyCPUInputs +8051e284 Input::RealControllerHolder::GetInputsSize +8051e28c Input::RealControllerHolder::GetRKGInputs +8051e294 Input::RealControllerHolder::Init +8051e328 Input::AIControllerHolder::__dt +8051e368 Input::AIController::__dt +8051e3a8 Input::Controller::IsPointerEnabled +8051e3b0 Input::Controller::TogglePointer +8051e3b4 Input::GhostController::SetDriftType +8051e3b8 Input::GhostController::GetType +8051e3c0 Input::Controller::Func_0x24 +8051e3cc Input::GCNController:ResetSelf +8051e3d8 Input::GCNController:StopRumble +8051e3e4 Input::GCNController:ActivateRumble +8051e3f0 Input::GCNController:GetChannel +8051e3f8 Input::GCNController:GetType +8051e400 Input::GCNController:__dt +8051e440 Input::WiiController::ResetSelf +8051e450 Input::WiiController::StopRumble +8051e45c Input::WiiController::ActivateRumble +8051e468 Input::WiiController::HasRumble +8051e480 Input::WiiController::IsPointerEnabled +8051e4b0 Input::WiiController::GetChannel +8051e4b8 Input::WiiController::GetType +8051e4c0 Input::WiiController::__dt +8051e500 Input::GhostDirectionStream::Write +8051e674 Input::GhostTrickStream::Write +8051e7e8 Input::GhostTrickStream::Read +8051e950 Input::GhostTrickStream::GetInputSize +8051e958 Input::GhostActionStream::Write +8051eacc Input::GhostActionStream::Read +8051ec34 Input::GhostActionStream::GetInputSize +8051ec3c Input_cpp_sinit_ +8051ec6c Input::Manager::SyncSimpleCallback +8051ecc8 Input::Manager::CreateInstance +8051ed18 Input::Manager::DestroyInstance +8051ed68 Input::Manager::__dt +8051ee3c Input::DummyController::__dt +8051ee7c Input::Manager::__ct +8051f02c Input::AIControllerHolder::__ct +8051f0ac Input::Manager::Init +8051f0b0 0x8051f0b0 +8051f138 Input::Manager::ResetIdleFrameCounter +8051f160 0x8051f160 +8051f21c Input::Manager::Prepare +8051f2b0 Input::Manager::ResetSelfWiiAndGCNControllers +8051f338 0x8051f338 +8051f374 Input::Manager::UpdateControllers +8051f47c Input::Manager::Update +8051f51c 0x8051f51c +8051f5e4 Input::Manager::ConvertType +8051f60c 0x8051f60c +8051f754 0x8051f754 +8051f89c 0x8051f89c +8051fa38 Input::Manager::ResetDummyController +8051fa48 Input::Manager::TrySetController +8051fc78 0x8051fc78 +8051fdf0 Input::Manager::ResetRealController +8051fe08 0x8051fe08 +8051fe64 Input::Manager::InitControllerHolders +8051ffc4 0x8051ffc4 +8052008c 0x8052008c +805200c8 Input::Manager::InitGhostController +805200e4 Input::Manager::PrepareRealControllerHolderForRace +805200f4 Input::Manager::EnableGhostReading +8052010c Input::Manager::StartGhostReading +80520158 Input::Manager::EndGhostWriting +80520168 Input::Manager::EndAllGhostWriting +805201b4 Input::Manager::CopyPADStatus +8052024c Input::Manager::InitRumble +805202a4 Input::Manager::ResetRumble +805202c0 0x805202c0 +80520314 Input::Manager::SyncWiimotes +80520370 0x80520370 +805203cc Input::Manager::EnableAllPointers +80520464 Input::Manager::ToggleAllPointers +805204d0 0x805204d0 +80520524 0x80520524 +8052053c Input::Manager::RequestRumbleByDuration +80520554 0x80520554 +805205dc 0x805205dc +805205e4 Input::AIController::UpdateImpl +80520634 Input::AIController::GetType +8052063c Input::DummyController::UpdateImpl +80520640 SITransferCommands +80520650 Input::GhostWriter::__ct +805207b8 Input::GhostWriter::__dt +80520834 Input::GhostWriter::Init +805208ac Input::GhostWriter::CopyToRKGInputsBuffer +8052095c Input::GhostWriter::IsInputsSumSmallEnough +80520a00 Input::GhostWriter::WriteFrame +80520b04 Input::GhostActionStream::WriteNewValue +80520b14 Input::GhostActionStream::IncrementDuration +80520b24 Input::GhostActionStream::IsNewInput +80520b48 Input::GhostActionStream::ReadValue +80520b50 Input::GhostActionStream::IsCurReadInputFinished +80520b6c Input::GhostDirectionStream::WriteNewValue +80520b7c Input::GhostDirectionStream::IncrementDuration +80520b8c Input::GhostDirectionStream::IsNewInput +80520bb0 Input::GhostDirectionStream::ReadValue +80520bb8 Input::GhostDirectionStream::IsCurReadInputFinished +80520bd4 Input::GhostTrickStream::WriteNewValue +80520be8 Input::GhostTrickStream::IncrementDuration +80520c00 Input::GhostTrickStream::IsNewInput +80520c28 Input::GhostTrickStream::ReadValue +80520c34 Input::GhostTrickStream::IsCurReadInputFinished +80520c54 Input::KRMMgr::Init +80520d90 Input::KRMMgr::__ct +80520e04 Input::Rumble::Init +80520e30 Input::Rumble::Request(KRMEntry) +80520e74 Input::Rumble::Request(float) +80520eb0 0x80520eb0 +80520ec0 Input::Rumble::Update +80521024 Input::RumbleController::__ct +80521094 Input::RumbleController::Init +80521148 Input::RumbleController::Stop +805211d8 Input::RumbleController::DeactivateRumble +80521298 Input::RumbleController::Update +80521500 Input::RumbleController::Request(KRMEntry) +80521600 Input::RumbleController::Request(float) +80521718 Input::RumbleController::GetFreeRumble +805217c4 Input::RumbleController::__dt +80521804 Input::Rumble::__dt +80521844 0x80521844 +80521914 0x80521914 +80521944 0x80521944 +8052198c 0x8052198c +805219ec 0x805219ec +80521b14 Mii::Init +80521b80 0x80521b80 +80521bac Mii::Load +80521f48 0x80521f48 +80521f8c 0x80521f8c +80521fec Mii::GetRFLArgs +805221c8 Mii::CreateScnRfl +80522340 0x80522340 +80522480 0x80522480 +80522588 0x80522588 +8052259c 0x8052259c +8052260c 0x8052260c +805226f0 MiiManager::Disposer__dt +80522788 MiiManager::CreateInstance +805227d8 0x805227d8 +8052280c MiiManager::__ct +805228c8 MiiManagerSub::__ct +805228e0 MiiManagerSub::__dt +80522920 MiiManager::Init +80522ce4 MiiManager::__dt +80522e24 MiiManager::CountOfficialMiis +80523024 0x80523024 +805230a0 MiiManager::GetMiddleDB3 +805230a8 0x805230a8 +80523118 Mii::ComputeRFLStoreData +80523178 Mii::IsMiiId +80523190 Mii::GetMiiId +8052326c MiiManager::GetStatus +8052328c MiiManager::IsOfficialOrDefaultMii +80523304 MiiManager::CreatePlayerMiiFromOfficial +80523698 MiiManager::CreateStoreMii(RFLCreateID) +805238ec MiiManager::CreateOfficialMii(RFLIdx) +80523a10 MiiManager::CreateOfficialMii(RFLCreateID) +80523b10 MiiManager::CreateDefaultMii(RFLIdx) +80523bf4 MiiManager::CreateDefaultMii(RFLCreateID) +80523cf8 MiiManager::CreateOfficialMii(IdxArray) +80523e1c MiiManager::AllowMiiDisplay +80523e3c MiiManager::CreateMiddleDBMii +80524124 MiiManager::CreateRandomMii +80524348 MiiManager::CreateMii(CreationParams) +80524a34 0x80524a34 +80524bc0 Mii::__dt +80524c00 MiiManager::CreateMiddleDB2Mii +80524ebc MiiManager::CreateMii(RFLStoreData) +80524fac MiiManager::CreateControllerMii +805250bc 0x805250bc +8052511c 0x8052511c +805251cc MiiManager::CreatePlayerMiiFromMiddleDB +805252bc MiiManager::PrepareRFLWiFiPacket +805252d4 MiiManager::RFLWiFiInfo2MiddleDB +80525324 MiiManager::RFLWiFiInfo2StoreData +80525370 MiiCreationParams::InitAndReset +80525390 MiiCreationParams::Init +805253b0 MiiCreationParams::Reset +805253e8 0x805253e8 +805253fc 0x805253fc +80525424 0x80525424 +80525488 0x80525488 +805254a8 0x805254a8 +805254c8 MiiCreationParams2::Init +80525504 MiiCreationParams2::Reset +80525530 0x80525530 +80525544 0x80525544 +8052556c 0x8052556c +805255d0 0x805255d0 +805255f0 0x805255f0 +80525610 0x80525610 +80525650 MovieManager::__ct +805256f4 MovieManager::__dt +80525770 MovieManager::IsMoviePlaying +80525798 MovieManager::DrawDone +805257cc MovieManager::Init +805257d4 MovieManager::Quit +805257d8 MovieManager::CheckForEnd +8052582c MovieManager::GetCurrentFrameNum +8052585c MovieManager::Prepare +805258f4 MovieManager::PrepareAsync +8052598c MovieManager::RequestPrepare +805259e8 MovieManager::Play +80525a30 MovieManager::PlayAsync +80525a78 MovieManager::RequestPlay +80525a90 MovieManager::Pause +80525ad0 MovieManager::PauseAsync +80525b10 MovieManager::RequestPause +80525b28 MovieManager::Close +80525b6c MovieManager::CloseAsync +80525bb0 MovieManager::RequestClose +80525bc8 MovieManager::SetVolume +80525bd4 MovieManager::GetVolume +80525bd8 MovieManager::FillCurTextureInfo +80525c24 ArchivesHolder::CreateByType +80525d54 CourseArchivesHolder::__ct +80525da8 CourseArchivesHolder::Reset +80525e34 UIArchivesHolder::__ct +80525e88 UIArchivesHolder::Reset +80525ef8 CommonArchivesHolder::__ct +80525f4c CommonArchivesHolder::Reset +80525fbc CourseArchivesHolder::__dt +80526014 UIArchivesHolder::__dt +8052606c CommonArchivesHolder::__dt +805260c4 ArchivesHolder::ArchiveHolder +805261d4 ArchivesHolder::Reset +80526268 ArchivesHolder::__dt +805262ec ArchivesHolder::GetFile +8052638c ArchivesHolder::HasArchives +805263f0 ArchivesHolder::FileExists +805264e0 ArchivesHolder::LoadArchives +80526614 ArchivesHolder::UnmountArchives +80526674 ArchivesHolder::LoadFromOther +805266f8 ArchivesHolder::DumpArchive +805267cc ArchivesHolder::ClearArchives +8052682c ArchivesHolder::GetTotalMountedArchivesSize +80526894 ArchivesHolder::GetFirstMountedArchive +8052690c ArchivesHolder::GetFirstMountedArchiveEnd +80526994 ArchivesHolder::GetLoadedArchivesCount +805269e8 NandUtils::SafeOpen +80526a64 NandUtils::SafeOpen_NandUtils::SafeOpen_switch +80526a68 NandUtils::SafeOpen_caseD_0 +80526a70 NandUtils::SafeOpen_caseD_-3 +80526a88 NandUtils::SafeOpen_caseD_-4 +80526a90 NandUtils::SafeOpen_caseD_-15 +80526a98 NandUtils::SafeOpen_caseD_-12 +80526aa0 NandUtils::SafeOpen_caseD_-14 +80526af0 NandUtils::Open +80526be4 NandUtils::SafeClose +80526cd0 NandUtils::Close +80526db4 NandUtils::Read +80526f84 NandUtils::GetLength +80527060 NandUtils::Write +80527210 NandUtils::Check +805272e0 NandUtils::CreateDir +805273d8 NandUtils::GetType +805274e8 NandUtils::Create +805275e0 NandUtils::Delete +805276cc NandUtils::SetStatus +805277c8 NandUtils::GetStatus +805278c4 NandUtils::FileExists +805278e8 NandMgr::Disposer_dt +80527980 NandMgr::CreateInstance +80527a24 NandMgr::DestroyInstance +80527a58 NandMgr::__ct +80527ad0 NandMgr::__dt +80527b84 NandMgr::Init +80527c3c NandMgr::ReadRKSYS +80527cf4 NandMgr::ReadFile +80527d98 NandMgr::CheckRKSYSLength +80527e5c NandMgr::WriteToRKSYS +80527fb4 NandMgr::WriteFile +80528078 0x80528078 +8052815c 0x8052815c +80528218 NandMgr::CreateRKSYS +80528370 NandMgr::DeleteRKSYS +8052869c NandMgr::GetBannerType +805286f8 0x805286f8 +80528830 0x80528830 +80528954 0x80528954 +805289e4 0x805289e4 +80528a84 0x80528a84 +80528b98 0x80528b98 +80528bf4 0x80528bf4 +80528ca4 0x80528ca4 +80528d4c 0x80528d4c +80528dfc RKSYS::Rating::AddPoints +80528e24 RacedataPlayer::__ct +80528ec8 RKSYS::Rating::__dt +80528f08 RacedataPlayer::RegisterPlayerParams +80528fa8 RacedataPlayer::ComputeGPRank +80529080 RacedataScenario::__ct +80529120 RacedataPlayer::__dt +80529160 RacedataScenario::BlueTeamHasMorePoints +805291d0 RacedataPlayer::GetTeam +805291d8 RacedataScenario::GetPlayer(const) +805291e8 RacedataPlayer::GetPlayerCount +805291f8 Racedata::Init +805298e4 RacedataPlayer::SetCharacterId +805298ec RacedataScenario::GetPlayer +805298fc RacedataPlayer::SetKartId +80529904 RacedataPlayer::SetPlayerType +8052990c Racedata::ResetScenarios +80529af8 RacedataPlayer::ResetScores +80529b10 RacedataPlayer::SetPrevFinishPos +80529b18 0x80529b18 +80529b20 0x80529b20 +80529c1c 0x80529c1c +80529c20 0x80529c20 +80529c24 0x80529c24 +80529c28 0x80529c28 +80529d28 0x80529d28 +80529e08 RacedataScenario::UpdatePoints +8052a1d0 RacedataScenario::GetGameType +8052a1d8 RacedataPlayer::GetPlayerType +8052a1e0 RacedataScenario::InitControllers +8052a3a8 RacedataScenario::InitGhostPlayer +8052a48c 0x8052a48c +8052a51c 0x8052a51c +8052a698 RacedataScenario::UpdateFromPrevRace +8052a9a0 RacedataScenario::InitScreens +8052ac40 RacedataScenario::ComputePlayerCounts +8052addc RacedataScenario::InitRng +8052aec4 RacedataScenario::InitCompetitionSettings +8052b048 RacedataScenario::Init +8052b310 Racedata::CreateInstance +8052b4a0 Racedata::DestroyInstance +8052b4f0 Racedata::__dt +8052b5ac RacedataScenario::__dt +8052b614 Racedata::__ct +8052b77c Racedata::InitRace +8052ba64 RacedataScenario::operator= +8052bd1c Racedata::InitAwards +8052c3c4 RacedataScenario::AreTeamsEnabled +8052c3d0 0x8052c3d0 +8052c3d8 RacedataPlayer::GetCharacterId +8052c3e0 RacedataPlayer::GetKartId +8052c3e8 RacedataPlayer::SetMii +8052c520 RacedataPlayer::GetMii +8052c528 Racedata::InitCredits +8052d19c Racedata::UpdatePrevFromCur +8052d29c RacedataScenario::RegisterParameters +8052d3d0 Racedata::GetHudSlotId +8052d3e4 Racedata::SetGhost +8052d428 Racedata::GetPlayerIdOfLocalPlayer +8052d438 Racedata::HandleRaceFinish? +8052d480 Racedata::LoadNextGPTrack +8052d4e8 Racedata::IsTTReplay +8052d528 Racedata::vf_0x18 +8052d52c Racedata::vf_0x14 +8052d530 Racedata::vf_0x10 +8052d534 0x8052d534 +8052d53c Raceinfo::CreateInstance +8052d58c Raceinfo::DestroyInstance +8052d5dc GMDataGP::__ct +8052d640 Raceinfo::CreateGMData +8052d680 Raceinfo::CreateGMData_Raceinfo::CreateGMData_switch +8052d684 Raceinfo::CreateGMData_case_0 +8052d6d8 Raceinfo::CreateGMData_case_1 +8052d700 Raceinfo::CreateGMData_case_4 +8052d70c Raceinfo::CreateGMData_case_3 +8052d780 Raceinfo::CreateGMData_case_7 +8052d898 Raceinfo::CreateGMData_case_9 +8052d8fc Raceinfo::CreateGMData_case_2 +8052d940 GMDataOnlineVSPlayer::__ct +8052d964 GMDataOnlineVSPlayer::__dt +8052d9a4 0x8052d9a4 +8052d9e4 0x8052d9e4 +8052da24 0x8052da24 +8052da64 0x8052da64 +8052daa4 0x8052daa4 +8052dae4 0x8052dae4 +8052db24 0x8052db24 +8052db64 0x8052db64 +8052dba4 Raceinfo::GetBattleDuration +8052dc58 Raceinfo::__ct +8052e1fc RaceTimerMgrBase::Reset +8052e298 RaceTimerMgrBase::__dt +8052e2f4 Raceinfo::__dt +8052e400 RaceinfoPlayer::__dt +8052e440 Raceinfo::Init +8052e544 GMData::Init +8052e548 Raceinfo::GetRemainingCountdownTime +8052e578 Raceinfo::ComputeDelfinoPierTideState +8052e66c Raceinfo::Update +8052eb58 RaceTimerMgrBase::Update +8052eb5c Raceinfo::GetLapCount +8052eb90 GMData::HandlePositionTracking +8052efb4 0x8052efb4 +8052f0a0 GMData::vf_0x20 +8052f0a4 0x8052f0a4 +8052f0ec GMData::vf_0x24 +8052f124 Raceinfo::EndPlayerRace +8052f23c Raceinfo::SetPlayerDisconnected +8052f28c 0x8052f28c +8052f390 RaceinfoPlayer::__ct +8052f64c 0x8052f64c +8052f7a0 RaceinfoPlayer::UpdateRealLocal +8052fb3c 0x8052fb3c +8052fcac RaceinfoPlayer::EndRace +8052fdec 0x8052fdec +8052fe70 RaceinfoPlayer::EndLap +80530130 RaceinfoPlayer::Vanish +80530174 RaceinfoPlayer::Disconnect +80530184 0x80530184 +80530224 0x80530224 +805302b0 RaceinfoPlayer::UpdateCheckPoint +805306c4 0x805306c4 +805307bc RaceinfoPlayer::Update +80530b50 0x80530b50 +80530b54 0x80530b54 +80530bd0 RaceinfoPlayer::CopyCPUInputs +80530be4 RaceinfoPlayer::FillTimerWithLapSplits +80530d1c RaceTimerMgr::Reset +80530dbc RaceTimerMgr::Update +80531158 Raceinfo::CloneTimer +805311cc GMDataTT::CanRaceEnd +805312a0 GMData::UpdateLocalPlayer +8053133c GMData::Update +805313ac GMData::GetJGPTHolder +805313e0 GMDataGP::CanRaceEnd +8053149c GMDataGP::Update +8053150c GMDataVS::CanRaceEnd +805316c0 Raceinfo::CanRaceEnd +805316d4 Raceinfo::GetJGPTHolder +805316e8 Raceinfo::IsAtLeastStage +80531700 0x80531700 +80531794 Raceinfo::GetInitialPhysicsValues +805317dc Raceinfo::GetInitialPhysicsValues::switch +805317e0 Raceinfo::GetInitialPhysicsValues::case_3 +80531908 Raceinfo::GetInitialPhysicsValues::case_b +8053193c Raceinfo::GetInitialPhysicsValues::case_c +8053194c Raceinfo::GetInitialPhysicsValues::case_2 +8053195c Raceinfo::GetInitialPhysicsValues::case_4 +805319f8 Raceinfo::GetInitialPhysicsValues::case_0 +80531a80 Raceinfo::GetKTPTHolder +80531acc Raceinfo::GetKTPTHolder_switch +80531ad0 Raceinfo::GetKTPTHolder_case_3 +80531bf0 Raceinfo::GetKTPTHolder_case_4 +80531c70 Raceinfo::GetKTPTHolder_case_b +80531c9c Raceinfo::GetKTPTHolder_case_c +80531ca4 Raceinfo::GetKTPTHolder_case_2 +80531cac Raceinfo::GetKTPTHolder_case_0 +80531ce0 Raceinfo::GetStartENPT +80531d7c Raceinfo::GetRawKRT +80531db0 RaceinfoPlayer::ComputeGPRank +8053213c 0x8053213c +80532648 0x80532648 +8053265c GMData::vf_0x28 +80532660 0x80532660 +805326a0 0x805326a0 +80532704 0x80532704 +8053276c 0x8053276c +80532774 0x80532774 +805327d8 0x805327d8 +80532840 0x80532840 +80532848 0x80532848 +805328ac 0x805328ac +80532914 0x80532914 +8053291c 0x8053291c +80532980 0x80532980 +805329e8 0x805329e8 +805329f0 0x805329f0 +80532a54 0x80532a54 +80532abc 0x80532abc +80532ac4 0x80532ac4 +80532b28 0x80532b28 +80532b90 0x80532b90 +80532b98 RaceTimerMgr::__dt +80532bf8 0x80532bf8 +80532ce8 Vec3::Cross +80532d34 0x80532d34 +80533038 Mtx34::GetColumnByIdx +8053305c 0x8053305c +8053310c 0x8053310c +8053314c 0x8053314c +8053318c 0x8053318c +80533450 0x80533450 +8053353c 0x8053353c +80533628 0x80533628 +8053365c 0x8053365c +805336d8 0x805336d8 +805337d4 KMGHolder::SetKMG +805337fc KMGHolder::ConvertArenaIdToIdx +805338d0 GMDataBattle::HandlePositionTracking +80533c28 GMDataBalloonBattle::OnItemCollision +80533e4c GMDataBalloonBattle::OnKartCollision +80534078 GMDataBalloonBattle::OnOOBCollision +80534198 0x80534198 +805342b8 0x805342b8 +8053436c 0x8053436c +80534408 GMDataOnlineBalloonBattle::GetKMGSeconds2 +80534410 GMDataOnlineBalloonBattle::GetKMGSeconds3 +80534418 0x80534418 +805344a4 GMDataBattle::Init +80534694 GMDataOnlineBalloonBattle::GetKMGSeconds1 +8053469c GMDataBattle::GetJGPTHolder +8053479c 0x8053479c +805348bc 0x805348bc +80534a2c GMDataBalloonBattle::Update +80534c28 GMDataBalloonBattle::CanRaceEnd +80534cdc GMDataCoinBattle::Update +80534f3c GMDataCoinBattle::CanRaceEnd +80534f48 GMDataCoinBattle::OnItemCollision +80534fe8 GMDataCoinBattle::OnKartCollision +805350a0 GMDataCoinBattle::OnOOBCollision +805350f4 GMDataOnlineBalloonBattle::Init +80535440 GMDataOnlineBalloonBattle::__ct +80535638 0x80535638 +80535678 0x80535678 +805356b8 0x805356b8 +805356f8 0x805356f8 +80535738 0x80535738 +80535778 0x80535778 +805357b8 0x805357b8 +805357f8 0x805357f8 +80535838 0x80535838 +80535878 0x80535878 +80535bd8 0x80535bd8 +80535c3c 0x80535c3c +80535c44 0x80535c44 +80535ca8 0x80535ca8 +80535cb0 0x80535cb0 +80535d20 0x80535d20 +80535d28 0x80535d28 +80535d8c 0x80535d8c +80535d94 0x80535d94 +80535df8 0x80535df8 +80535e00 0x80535e00 +80535e64 0x80535e64 +80535e6c 0x80535e6c +80535ed0 0x80535ed0 +80535ed8 0x80535ed8 +80536094 0x80536094 +805360b4 0x805360b4 +805360d4 0x805360d4 +80536560 0x80536560 +805365c8 0x805365c8 +80536630 0x80536630 +805366b0 0x805366b0 +80536718 0x80536718 +80536780 0x80536780 +805367e8 0x805367e8 +80536850 0x80536850 +80536884 0x80536884 +80536984 GMDataOnlineBalloonBattle::OnItemCollision +80536a3c GMDataOnlineBalloonBattle::OnKartCollision +80536af4 GMDataOnlineBalloonBattle::OnOOBCollision +80536ba0 GMDataOnlineBalloonBattle::vf_0x3c +80536bb0 0x80536bb0 +80536c5c GMDataOnlineBalloonBattle::OnObjectCollision +80536d08 0x80536d08 +80536d3c 0x80536d3c +80536dc8 0x80536dc8 +80536e44 0x80536e44 +80536f58 0x80536f58 +805370ac GMDataOnlineBalloonBattle::Update +80537214 GMDataOnlineBalloonBattle::Update_switch +80537218 GMDataOnlineBalloonBattle::Update_case_1 +8053722c GMDataOnlineBalloonBattle::Update_case_2 +8053723c GMDataOnlineBalloonBattle::Update_case_3 +80537250 GMDataOnlineBalloonBattle::Update_case_4 +805372d4 GMDataOnlineBalloonBattle::Update_case_5 +805372e4 GMDataOnlineBalloonBattle::Update_case_6 +80537328 GMDataOnlineBalloonBattle::Update_case_7 +80537330 GMDataOnlineBalloonBattle::Update_case_0 +80537334 GMDataOnlineBalloonBattle::Update_case_8 +80537fe4 0x80537fe4 +80538080 0x80538080 +805382c8 0x805382c8 +80538518 0x80538518 +80538658 0x80538658 +80538718 0x80538718 +80538858 GMDataOnlineBalloonBattle::vf_0x28 +805388e0 GMDataOnlineCoinBattle::Update +80538d00 0x80538d00 +80538d70 GMDataBattle::vf_0x3c +80538d74 GMDataCoinBattle::OnObjectCollision +80538d78 GMDataCoinBattle::GetKMGSeconds3 +80538d94 GMDataCoinBattle::GetKMGSeconds2 +80538db0 GMDataCoinBattle::GetKMGSeconds1 +80538dcc GMDataOnlineBalloonBattle::CanRaceEnd +80538dd4 GMDataBalloonBattle::GetKMGSeconds3 +80538df0 GMDataBalloonBattle::GetKMGSeconds2 +80538e0c GMDataBalloonBattle::GetKMGSeconds1 +80538e28 0x80538e28 +80538e2c 0x80538e2c +80538e30 0x80538e30 +80538e34 GMDataOnlineVS::Init +80538f40 0x80538f40 +80539144 0x80539144 +80539270 0x80539270 +80539680 0x80539680 +80539704 0x80539704 +8053982c 0x8053982c +80539914 0x80539914 +80539a98 0x80539a98 +80539c48 0x80539c48 +80539d68 GMDataOnlineVS::Update +80539f64 GMDataOnlineVS::HandlePositionTracking +8053a4d4 GMDataOnlineVS::CanRaceEnd +8053a5fc GMDataOnlineVS::vf_0x24 +8053a65c GMDataOnlineVS::UpdateLocalPlayers +8053a710 ArchiveMgr::CreateInstance +8053a760 ArchiveMgr::DestroyInstance +8053a7b0 ArchiveMgr::__ct +8053a92c AllkartArchivesLoader::__ct +8053a958 AllkartArchivesLoader::__dt +8053a998 0x8053a998 +8053a9d8 0x8053a9d8 +8053a9e0 ArchiveMgr::__dt +8053aafc ArchiveMgr::LoadArchiveAsync +8053ab64 ArchiveMgr::WaitForLoad +8053acb0 0x8053acb0 +8053acc0 0x8053acc0 +8053acd0 ArchiveMgr::LoadArchive(holder) +8053ad84 ArchiveMgr::LoadArchive(file) +8053ae58 ArchiveMgr::LoadArchive(holder, 2heaps) +8053af14 ArchiveMgr::LoadArchive(type) +8053b01c ArchiveMgr::LoadContentArchive +8053b144 ArchiveMgr::LoadUIArchive +8053b224 ArchiveMgr::LoadCourseArchive +8053b3dc ArchiveRoot_loadMissionTrack +8053b5d8 ArchiveMgr::LoadCompetitionArchives +8053b7c0 ArchiveMgr::LoadKartArchive(holder) +8053b900 ArchiveMgr::LoadKartArchive(playerId) +8053ba54 ArchiveMgr::LoadKartArchiveHolder2(playerId) +8053bba8 0x8053bba8 +8053bc98 ArchiveMgr::Unmount(source) +8053bca8 ArchiveMgr::Unmount(holder) +8053bcb0 ArchiveMgr::UnmountContentArchive +8053bcc0 ArchiveMgr::GetFile +8053bd3c ArchiveMgr::GetMenuKartBRRES +8053bde4 ArchiveMgr::GetKartBRRES +8053be8c ArchiveMgr::GetKartArchiveFile +8053befc ArchiveMgr::GetKartArchiveFileHolder2 +8053bf6c ArchiveMgr::GetBSP +8053c020 ArchiveMgr::GetContentFileNewBuffer +8053c078 ArchiveMgr::HasArchives +8053c088 ArchiveMgr::HasKartArchive +8053c098 ArchiveMgr::HasKartArchiveHolder2 +8053c0a8 ArchiveMgr::HasContentArchive +8053c0d8 ArchiveMgr::GetArchive +8053c160 ArchiveMgr::SetLayoutResources +8053c1fc ArchiveMgr::GetArchiveCount +8053c258 ArchiveMgr::GetUIArchiveCount +8053c268 ArchiveMgr::AttachUIAccessor +8053c33c ArchiveMgr::AttachLayoutResources +8053c45c ArchiveMgr::LoadCourseArchiveAsync +8053c470 ArchiveMgr::RequestLoadCourseArchiveAsync +8053c48c ArchiveMgr::GetKartArchivePostfix +8053c4b0 ArchiveMgr::GetKartArchivePrefix +8053c4d4 AsyncCourseArchiveLoader::__ct +8053c534 AsyncCourseArchiveLoader::Init +8053c588 AsyncCourseArchiveLoader::__dt +8053c61c AsyncCourseArchiveLoader::Load +8053c6dc AsyncCourseArchiveLoader::CopyToHolder +8053c6fc 0x8053c6fc +8053c70c ArchiveMgr::ExecuteTask +8053c780 ArchiveMgr::RequestTask +8053c7a4 ArchiveMgr::ProcessRequestsAndShutdown +8053c908 ArchiveMgr::LoadKartArchiveAsync +8053caf4 0x8053caf4 +8053ccd4 ArchiveMgr::RequestLoadKartArchives +8053cd90 ArchiveMgr::InitAllkartArchivesLoaders +8053ce80 ArchiveMgr::ResetAllkartArchivesLoaders +8053cf40 ArchiveMgr::GetAllKartLoaderHeap +8053cf50 ArchiveMgr::LoadEarthBrres(heap) +8053cfe8 ArchiveMgr::CreateEarthHeap +8053d048 ArchiveMgr::DestroyEarthHeap +8053d094 ArchiveMgr::LoadEarthBrresAsync +8053d158 ArchiveMgr::LoadEarthBrres +8053d218 ArchiveMgr::RequestLoadEarthBrres +8053d280 ArchiveMgr::LoadStaffGhostAsync +8053d32c 0x8053d32c +8053d33c RootScene::__ct +8053d46c RootScene::__dt +8053d4d4 RootScene::SetHeapsGroupId +8053d4dc RootScene::CreateArchiveMgr +8053d544 RootScene::CreateGroup1Instances +8053d5a4 RootScene::CreateAudioMgr +8053d620 RootScene::CreateScnMgrCreator +8053d664 RootScene::CreateRacedata +8053d6a8 RootScene::CreateEffectsMgr +8053d6f0 RootScene::CreateHomeMenuMgr +8053d738 RootScene::CreateRKNetInstances +8053d788 RootScene::CreateUIInstances +8053d7d0 0x8053d7d0 +8053d810 RootScene::CreateInstances +8053e378 RootScene::InitInstances +8053e590 0x8053e590 +8053e5d0 0x8053e5d0 +8053e5d4 RootScene::RequestRootScene +8053e640 0x8053e640 +8053e648 RootScene::enter +8053e748 RootScene::exit +8053e74c RootScene::calc +8053e750 RootScene::draw +8053e754 0x8053e754 +8053e7dc RKSYS::Mgr::Disposer__dt +8053e874 RKSYS::Mgr::CreateInstance +8053e9a0 RKSYS::Mgr::DestroyInstance +8053e9d4 RKSYS::Mgr::__ct +8053ead0 RKSYS::LicenseMgr::__ct +8053ed60 RKSYS::LicenseCup::__ct +8053ed84 Timer::__ct(bool) +8053edd4 Timer::SetActive +8053eddc RKSYS::LicenseCup::__dt +8053ee1c RKSYS::LicenseLdbEntry::__ct +8053ee40 RKSYS::LicenseLdbEntry::__dt +8053ee80 RKSYS::LicenseUnkTimer::__ct +8053eea4 RKSYS::LicenseUnkTimer::__dt +8053eee4 RKSYS::LicenseFriends::__dt +8053ef24 RKSYS::LicenseCompletion::__ct +8053ef48 RKSYS::LicenseCompletion::__dt +8053ef88 RKSYS::LicenseStaffGhostStatus::__ct +8053ef94 RKSYS::Rating::__ct +8053efac RKSYS::LicenseUnkTimer2::__ct +8053efd0 RKSYS::LicenseUnkTimer2::__dt +8053f010 RKSYS::LicenseMgr::SetInitialized +8053f01c RKSYS::LicenseMgr::__dt +8053f0d0 RKSYS::Mgr::__dt +8053f1ac 0x8053f1ac +8053f2e8 RKSYS::Mgr::RequestTask +8053f304 RKSYS::Mgr::LoadTask +8053f310 RKSYS::Mgr::LoadRKSYS +8053f4fc RKSYS::Mgr::Init +8053f520 RKSYS::Mgr::SaveCoreTask +8053f5a0 RKSYS::Mgr::SaveCoreImpl +8053f60c RKSYS::Mgr::SaveCore +8053f688 RKSYS::Mgr::WriteLicenses +8053f6f0 RKSYS::Mgr::WriteCoreAndRequestSaveCore +8053f79c RKSYS::LicenseMgr::SetCurLicense +8053f7d4 RKSYS::Mgr::CheckLicenseMagic +8053f804 RKSYS::Mgr::ReadLicense +805400a4 RKSYS::LicenseMgr::ReadMiiName +8054011c RKSYS::LicenseMgr::GetMiiName +80540120 RKSYS::LicenseMgr::ReadRFLCreateID +80540174 RKSYS::LicenseMgr::SetRFLCreateID +805401b8 RKSYS::LicenseMgr::ReadDWCAccUserData +8054025c RKSYS::LicenseMgr::SetDWCUserData +805402f4 RKSYS::LicenseMgr::ReadFriendData +80540318 RKSYS::LicenseMgr::GetFriends +80540320 RKSYS::LicenseMgr::ReadCup +805403f8 RKSYS::LicenseMgr::GetCup +80540410 RKSYS::LicenseMgr::ReadLdbEntry +805404c4 RKSYS::LicenseMgr::GetLdbEntry(SaveCourseId) +805404dc RKSYS::LicenseMgr::ReadUnkTimer +80540558 RKSYS::LicenseMgr::GetUnkTimer +80540568 RKSYS::LicenseMgr::ReadCompletion +8054059c RKSYS::LicenseMgr::SetCompletion +805405c4 RKSYS::LicenseMgr::ReadPBGhostBitfield +805405e0 RKSYS::LicenseMgr::SetPBGhostBitfield +805405ec RKSYS::LicenseMgr::ReadDLGhostBitfield +80540608 RKSYS::LicenseMgr::SetDLGhostBitfield +80540614 RKSYS::LicenseMgr::SetRKPDEA_2 +80540620 RKSYS::LicenseMgr::ReadRKPDEA_2 +80540648 RKSYS::LicenseMgr::ReadStaffGhostStatus +8054066c RKSYS::LicenseMgr::SetStaffGhostStatus +80540684 RKSYS::LicenseMgr::SetRKPD1BC_31 +80540690 RKSYS::LicenseMgr::ReadRKPD1BC_31 +805406ac RKSYS::LicenseMgr::GetRKPDVR +805406c8 RKSYS::LicenseMgr::SetVR +805406d8 RKSYS::LicenseMgr::GetRKPDBR +805406f4 RKSYS::LicenseMgr::SetBR +80540704 RKSYS::LicenseMgr::SetOfflineVSWins +80540724 RKSYS::LicenseMgr::ReadOfflineVSWins +8054073c RKSYS::LicenseMgr::SetOfflineVSLosses +8054075c RKSYS::LicenseMgr::ReadOfflineVSLosses +80540774 RKSYS::LicenseMgr::SetOfflineBattleWins +80540794 RKSYS::LicenseMgr::ReadOfflineBattleWins +805407ac RKSYS::LicenseMgr::SetOfflineBattleLosses +805407cc RKSYS::LicenseMgr::ReadOfflineBattleLosses +805407e4 RKSYS::LicenseMgr::SetWFCVSWins +80540804 RKSYS::LicenseMgr::ReadWFCVSWins +8054081c RKSYS::LicenseMgr::SetWFCVSLosses +8054083c RKSYS::LicenseMgr::ReadWFCVSLosses +80540854 RKSYS::LicenseMgr::SetWFCBattleWins +80540874 RKSYS::LicenseMgr::ReadWFCBattleWins +8054088c RKSYS::LicenseMgr::SetWFCBattleLosses +805408ac RKSYS::LicenseMgr::ReadWFCBattleLosses +805408c4 RKSYS::LicenseMgr::SetGhostRacesWins +805408e4 RKSYS::LicenseMgr::ReadGhostRacesWins +805408fc RKSYS::LicenseMgr::SetGhostRacesLosses +8054091c RKSYS::LicenseMgr::ReadGhostRacesLosses +80540934 RKSYS::LicenseMgr::SetTotalRacePlayed +80540954 RKSYS::LicenseMgr::ReadTotalRacePlayed +8054096c RKSYS::LicenseMgr::SetTotalBattlePlayed +8054098c RKSYS::LicenseMgr::ReadTotalBattlePlayed +805409a4 RKSYS::LicenseMgr::SetRacesOnWheel +805409c4 RKSYS::LicenseMgr::ReadRacesOnWheel +805409dc RKSYS::LicenseMgr::SetBattlesOnWheel +805409fc RKSYS::LicenseMgr::ReadBattlesOnWheel +80540a14 RKSYS::LicenseMgr::ReadDistanceTravelled +80540a2c RKSYS::LicenseMgr::SetDistanceTravelled +80540a68 RKSYS::LicenseMgr::SetGhostDataChallengesSent +80540a88 RKSYS::LicenseMgr::ReadGhostDataChallengesSent +80540aa0 RKSYS::LicenseMgr::SetGhostDataChallengesReceived +80540ac0 RKSYS::LicenseMgr::ReadGhostDataChallengesReceived +80540ad8 RKSYS::LicenseMgr::SetItemHitsDelivered +80540af8 RKSYS::LicenseMgr::ReadItemHitsDelivered +80540b10 RKSYS::LicenseMgr::SetItemHitsReceived +80540b30 RKSYS::LicenseMgr::ReadItemHitsReceived +80540b48 RKSYS::LicenseMgr::SetTricksPerformed +80540b68 RKSYS::LicenseMgr::ReadTricksPerformed +80540b80 RKSYS::LicenseMgr::SetTimes1stPlaceAchieved +80540ba0 RKSYS::LicenseMgr::ReadTimes1stPlaceAchieved +80540bb8 RKSYS::LicenseMgr::ReadDistancetravelledwhilein1stplace +80540bd0 RKSYS::LicenseMgr::SetDistancetravelledwhilein1stplace +80540c0c RKSYS::LicenseMgr::ReadDistancetravelledonVSRaces +80540c24 RKSYS::LicenseMgr::SetDistancetravelledonVSRaces +80540c60 RKSYS::LicenseMgr::SetCompetitionsEntered +80540c80 RKSYS::LicenseMgr::ReadCompetitionsEntered +80540c98 RKSYS::LicenseMgr::SetRacesOnCharacter +80540cc0 RKSYS::LicenseMgr::ReadRacesOnCharacter +80540ce0 RKSYS::LicenseMgr::SetRacesOnKart +80540d08 RKSYS::LicenseMgr::ReadRacesOnKart +80540d28 RKSYS::LicenseMgr::SetRacesOnTrack +80540d50 RKSYS::LicenseMgr::ReadRacesOnTrack +80540d70 RKSYS::LicenseMgr::SetRacesOnBattleArena +80540d98 RKSYS::LicenseMgr::ReadRacesOnBattleArena +80540db8 RKSYS::LicenseMgr::SetUnk55f0 +80540dd4 RKSYS::LicenseMgr::ReadUnk55f0 +80540e10 RKSYS::LicenseMgr::SetDefaultDrift +80540e1c RKSYS::LicenseMgr::ReadDefaultDrift +80540e38 RKSYS::LicenseMgr::Set CC +80540e4c RKSYS::LicenseMgr::ReadCC +80540e70 RKSYS::LicenseMgr::SetCPUDifficulty +80540e84 RKSYS::LicenseMgr::ReadCPUDifficulty +80540ea8 RKSYS::LicenseMgr::SetVehicleType +80540ebc RKSYS::LicenseMgr::ReadVehicleType +80540ee0 RKSYS::LicenseMgr::SetCourseChoice +80540ef4 RKSYS::LicenseMgr::ReadCourseChoice +80540f18 RKSYS::LicenseMgr::SetItemsType +80540f2c RKSYS::LicenseMgr::ReadItemsType +80540f50 RKSYS::LicenseMgr::SetTotalRaceCount +80540f64 RKSYS::LicenseMgr::ReadTotalRaceCount +80540f88 RKSYS::LicenseMgr::ReadUnkTimer2 +80540ff0 RKSYS::LicenseMgr::SetUnkTimer2 +80541030 RKSYS::LicenseMgr::ReadRKPD_1BC +80541090 RKSYS::LicenseMgr::SetRKPD_1BC +805410bc RKSYS::LicenseMgr::ReadRKPD_5680 +80541124 RKSYS::LicenseUnk5680::Set +80541178 RKSYS::LicenseMgr::SetRKPD_5680 +805411a0 RKSYS::LicenseMgr::ReadRKPD_5688 +805411f8 RKSYS::LicenseMgr::SetRKPD_5688 +80541208 RKSYS::LicenseMgr::ReadRKPD_568c +80541240 RKSYS::LicenseMgr::SetRKPD_568c +8054126c RKSYS::LicenseMgr::SetRKPD_568c_31 +80541278 RKSYS::LicenseMgr::ReadRKPD_5688_31 +80541294 RKSYS::LicenseMgr::WriteToRKPD +80541a78 RKSYS::LicenseMgr::IsInitialized +80541a84 RKSYS::LicenseMgr::WriteMiiName +80541aa0 RKSYS::LicenseMgr::GetMiiName +80541aa4 RKSYS::LicenseMgr::WriteRFLCreateID +80541af8 RKSYS::LicenseMgr::GetRFLCreateID +80541b00 RKSYS::LicenseMgr::WriteDWCAccUserData +80541b94 RKSYS::LicenseMgr::GetDWCAccUserData +80541ba0 RKSYS::LicenseMgr::WriteFriendData +80541bc0 RKSYS::LicenseMgr::GetFriends +80541bc8 RKSYS::LicenseMgr::WriteCup +80541bec RKSYS::LicenseMgr::GetCup +80541c04 RKSYS::LicenseMgr::WriteLdbEntry +80541d30 RKSYS::LicenseMgr::GetLdbEntry +80541d48 RKSYS::LicenseMgr::WriteUnkTimer +80541e38 RKSYS::LicenseMgr::GetUnkTimer +80541e48 RKSYS::LicenseMgr::WriteCompletion +80541e7c RKSYS::LicenseMgr::GetCompletion +80541e88 RKSYS::LicenseMgr::WritePBGhostBitfield +80541ea0 RKSYS::LicenseMgr::GetPBGhostBitfield +80541eac RKSYS::LicenseMgr::WriteDLGhostBitfield +80541ec4 RKSYS::LicenseMgr::GetDLGhostBitfield +80541ed0 RKSYS::LicenseMgr::WriteRKPD_EA_2 +80541ef0 RKSYS::LicenseMgr::GetRKPD_EA_2 +80541efc RKSYS::LicenseMgr::WriteRKPD1BC_31 +80541f1c RKSYS::LicenseMgr::GetRKPD1BC_31 +80541f28 RKSYS::LicenseMgr::WriteVR +80541f44 RKSYS::LicenseMgr::GetVR +80541f50 RKSYS::LicenseMgr::WriteBR +80541f6c RKSYS::LicenseMgr::GetBR +80541f78 RKSYS::LicenseMgr::WriteOfflineVSWins +80541f90 RKSYS::LicenseMgr::GetOfflineVSWins +80541f9c RKSYS::LicenseMgr::WriteOfflineVSLosses +80541fb4 RKSYS::LicenseMgr::GetOfflineVSLosses +80541fc0 RKSYS::LicenseMgr::WriteOfflineBattleWins +80541fd8 RKSYS::LicenseMgr::GetOfflineBattleWins +80541fe4 RKSYS::LicenseMgr::WriteOfflineBattleLosses +80541ffc RKSYS::LicenseMgr::GetOfflineBattleLosses +80542008 RKSYS::LicenseMgr::WriteWFCVSWins +80542020 RKSYS::LicenseMgr::GetWFCVSWins +8054202c RKSYS::LicenseMgr::WriteWFCVSLosses +80542044 RKSYS::LicenseMgr::GetWFCVSLosses +80542050 RKSYS::LicenseMgr::WriteWFCBattleWins +80542068 RKSYS::LicenseMgr::GetWFCBattleWins +80542074 RKSYS::LicenseMgr::WriteWFCBattleLosses +8054208c RKSYS::LicenseMgr::GetWFCBattleLosses +80542098 RKSYS::LicenseMgr::WriteGhostRacesWins +805420b0 RKSYS::LicenseMgr::GetGhostRacesWins +805420bc RKSYS::LicenseMgr::WriteGhostRacesLosses +805420d4 RKSYS::LicenseMgr::GetGhostRacesLosses +805420e0 RKSYS::LicenseMgr::WriteTotalRacePlayed +805420f8 RKSYS::LicenseMgr::GetTotalRacePlayed +80542118 RKSYS::LicenseMgr::WriteTotalBattlePlayed +80542130 RKSYS::LicenseMgr::WriteRacesOnWheel +80542150 RKSYS::LicenseMgr::GetTotalBattlePlayed +80542168 RKSYS::LicenseMgr::GetRacesOnWheel +80542188 RKSYS::LicenseMgr::WriteBattlesOnWheel +805421a0 RKSYS::LicenseMgr::GetBattlesOnWheel +805421c0 RKSYS::LicenseMgr::WriteDistanceTravelled +805421d8 RKSYS::LicenseMgr::GetDistanceTravelled +805421f8 RKSYS::LicenseMgr::WriteGhostDataChallengesSent +80542210 RKSYS::LicenseMgr::GetGhostDataChallengesSent +80542230 RKSYS::LicenseMgr::WriteGhostDataChallengesReceived +80542248 RKSYS::LicenseMgr::GetGhostDataChallengesReceived +80542268 RKSYS::LicenseMgr::WriteItemHitsDelivered +80542280 RKSYS::LicenseMgr::GetItemHitsDelivered +805422a0 RKSYS::LicenseMgr::WriteItemHitsReceived +805422b8 RKSYS::LicenseMgr::GetItemHitsReceived +805422d8 RKSYS::LicenseMgr::WriteTricksPerformed +805422f0 RKSYS::LicenseMgr::GetTricksPerformed +80542310 RKSYS::LicenseMgr::WriteTimes1stPlaceAchieved +80542328 RKSYS::LicenseMgr::GetTimes1stPlaceAchieved +80542348 RKSYS::LicenseMgr::WriteDistancetravelledwhilein1stplace +80542360 RKSYS::LicenseMgr::GetDistancetravelledwhilein1stplace +80542380 RKSYS::LicenseMgr::WriteDistancetravelledonVSRaces +80542398 RKSYS::LicenseMgr::GetDistancetravelledonVSRaces +805423b8 RKSYS::LicenseMgr::WriteCompetitionsEntered +805423d0 RKSYS::LicenseMgr::GetCompetitionsEntered +805423f4 RKSYS::LicenseMgr::WriteRacesOnCharacter +80542414 RKSYS::LicenseMgr::GetRacesOnCharacter +80542440 RKSYS::LicenseMgr::WriteRacesOnKart +80542460 RKSYS::LicenseMgr::GetRacesOnKart +8054248c RKSYS::LicenseMgr::WriteRacesOnTrack +805424ac RKSYS::LicenseMgr::GetRacesOnTrack +805424d8 RKSYS::LicenseMgr::WriteRacesOnBattleArena +805424f8 RKSYS::LicenseMgr::WriteUnk55f0 +80542528 RKSYS::LicenseMgr::GetUnk55f0 +80542544 RKSYS::LicenseMgr::WriteStaffGhostStatus +80542568 RKSYS::LicenseMgr::GetStaffGhostStatus +8054257c RKSYS::LicenseMgr::WriteDefaultDrift +8054259c RKSYS::LicenseMgr::GetDefaultDrift +805425a8 RKSYS::LicenseMgr::WriteCC +805425d0 RKSYS::LicenseMgr::GetCC +805425e4 RKSYS::LicenseMgr::WriteCPUDifficulty +8054260c RKSYS::LicenseMgr::GetCPUDifficulty +80542620 RKSYS::LicenseMgr::WriteVehicleType +80542648 RKSYS::LicenseMgr::GetVehicleType +8054265c RKSYS::LicenseMgr::WriteCourseChoice +80542684 RKSYS::LicenseMgr::GetCourseChoice +80542698 RKSYS::LicenseMgr::WriteItemsType +805426c0 RKSYS::LicenseMgr::GetItemsType +805426d4 RKSYS::LicenseMgr::WriteTotalRaceCount +805426fc RKSYS::LicenseMgr::GetTotalRaceCount +80542710 RKSYS::LicenseMgr::WriteUnkTimer2 +805427e0 RKSYS::LicenseMgr::GetUnkTimer2 +805427f4 RKSYS::LicenseMgr::GetRKPD_1BC +80542838 RKSYS::LicenseMgr::WriteRKPD_1BC +805428e0 RKSYS::LicenseMgr::GetRKPD_5680 +805428ec RKSYS::LicenseMgr::WriteRKPD_5680 +80542948 RKSYS::LicenseUnk5680::Get_0 +80542950 RKSYS::LicenseUnk5680::Get_7 +80542958 RKSYS::LicenseUnk5680::Get_11 +80542960 RKSYS::LicenseMgr::GetRKPD_5688 +80542970 RKSYS::LicenseMgr::WriteRKPD_5688 +805429cc RKSYS::LicenseMgr::WriteRKPD_568c +80542a04 RKSYS::LicenseMgr::GetRKPD_568c +80542a10 RKSYS::LicenseMgr::WriteRKPD_5688_31 +80542a30 RKSYS::LicenseMgr::GetRKPD_5688_31 +80542a3c RKSYS::LicenseMgr::WriteMagic +80542a5c RKSYS::LicenseUnk5680::__ct(copy) +80542a80 RKSYS::Mgr::EraseLicense +80542af4 RKSYS::Mgr::CreateLicense +80542bc4 0x80542bc4 +80542bc8 RKSYS::Reset +80542ce8 RKSYS::SetCRC +80542d24 RKSYS::IsCRCCorrect +80542d6c RKSYS::CheckMagicAndVersion +80542d9c RKSYS::CheckRegion +80542dc4 RKSYS::ResetRKPD +80542f18 RKSYS::CreateRKPD +80542fb8 RKSYS::ReadRKPDCup +8054307c RKSYS::ReadRKPDLdbEntry +8054311c RKSYS::ReadRKPDUnkTimer +80543184 RKSYS::ReadRKPDUnkTimer2 +80543310 RKSYS::WriteRKPDLdbEntry +80543428 RKSYS::WriteRKPDUnkTimer +80543504 RKSYS::WriteRKPDUnkTimer2 +805435c0 RKSYS::ResetRKGD +80543650 RKSYS::GetRKGDUnk8Idx +8054371c RKSYS::SetRKGDUnk8 +805438f4 RKSYS::LicenseMgr::GetLdbEntry(CourseId) +80543954 RKSYS::LicenseMgr::OverwriteAndStoreLdbEntry +80543a48 RKSYS::LicenseMgr::StoreLdbEntry +80543bb8 RKSYS::LicenseMgr::GetGhostPosition +80543ca8 RKSYS::LicenseMgr::GetBestRank +80543e74 RKSYS::LicenseMgr::GetFavouriteCharacter +80543f34 RKSYS::LicenseMgr::GetFavouriteKart +80544014 RKSYS::LicenseMgr::GetFavouriteTrack +80544134 RKSYS::LicenseMgr::GetFavouriteBattleArena +805441e4 RKSYS::LicenseMgr::GetWheelRacesPercentage +805442d4 RKSYS::LicenseMgr::GetInFirstPercentage +8054433c RKSYS::LicenseMgr::Copy5680To5688 +8054435c RKSYS::LicenseMgr::Generate5688Bitfield +80544394 RKSYS::LicenseCompletion::Reset +805443ac RKSYS::LicenseCompletion::GetOffsetAndRelativeBit +805443c0 RKSYS::LicenseCompletion::SetComplete +805443e8 RKSYS::LicenseCompletion::ResetComplete +80544410 RKSYS::LicenseCompletion::IsCompleted +80544440 RKSYS::Mgr::GetGhostOffset +80544480 RKSYS::Mgr::ReadGhostTask +805444d8 RKSYS::Mgr::ReadGhost +8054452c RKSYS::Mgr::ReadGhostAsync +80544708 RKSYS::Mgr::LoadGhostGroupTask +80544714 RKSYS::Mgr::LoadGhostGroup +80544870 RKSYS::Mgr::LoadGhostGroupAsync +805449a8 RKSYS::Mgr::WriteGhostTask +80544a5c RKSYS::Mgr::WriteGhost +80544b0c RKSYS::Mgr::SaveGhostAsync +80544d4c RKSYS::Mgr::EraseGhostTask +80544dec RKSYS::Mgr::EraseGhost +80544e88 RKSYS::Mgr::EraseGhostAsync +8054508c RKSYS::Mgr::GetValidLicensesCount +8054511c RKSYS::Mgr::GetCombinedLicenseCompletions +80545200 RKSYS::Mgr::ReplaceBinaryTask +8054520c RKSYS::Mgr::ReplaceBinary +8054532c RKSYS::Mgr::EraseBinary +8054547c RKSYS::Mgr::GetCountry +805454a4 RKSYS::Mgr::GetLongitude +805454cc RKSYS::Mgr::GetLatitude +805454f4 GameSceneCreator::CreateInstance +80545528 GameSceneCreator::create +805455ec GameSceneCreator::destroy +805455f0 LensFlare::QuadDrawer::__ct +80545874 0x80545874 +80545878 GameScreenEffectsMgr::GetRootScreenWidth +80545894 GameScreenEffectsMgr::GetRootScreenHeight +805458b4 LensFlare::QuadDrawer::Draw +80545a88 0x80545a88 +80545b58 LensFlare::Texture::__ct +80545c28 LensFlare::Texture::SetPosition +80545c6c LensFlare::Texture::CopyFromEFB +80545c98 0x80545c98 +80545dd4 LensFlare::__ct +80545fd8 0x80545fd8 +8054603c LensFlare::__dt +805460f0 LensFlare::OnFadeOutPrepareStart +80546130 LensFlare::FadeOutPrepareUpdate +80546288 LensFlare::OnFadeOutStart +8054628c LensFlare::FadeOutUpdate +80546334 LensFlare::OnNoTargetStart +80546384 LensFlare::NoTargetUpdate +805463e0 LensFlare::OnNormalStateStart +80546490 LensFlare::OnNormalStateUpdate +805465cc LensFlare::Update +805468d4 Vec2::MultiplyByScalar +805468f0 LensFlare::DrawQuads +80546958 LensFlare::CopyEFBToTexture +80546984 0x80546984 +8054698c 0x8054698c +80546a14 LensFlareMgr::__ct +80546e14 LensFlareMgr::__dt +80546ed8 LensFlareMgr::GetBRRESTexCount +80546ee0 LensFlareMgr::GetRawTexture +80546f5c LensFlareMgr::GetTextureWidth +80546fc4 LensFlareMgr::GetTextureHeight +8054702c LensFlareMgr::GetTextureName +805470a8 LensFlareMgr::GetTextureFormat +805470b8 LensFlareMgr::Update +80547124 LensFlareMgr::DrawTextures +80547274 LensFlareMgr::Draw +805472f8 LensFlareMgr::CopyEFBToTextures +805473b4 LensFlareMgr::AddLensFX +8054741c LensFlareMgr::EnableExternalLens +80547440 LensFlareMgr::GetTargetPosition +80547708 LensFlareMgr::GetScreenPosition +805478f0 0x805478f0 +8054791c 0x8054791c +80547954 FilterEffect::__ct +80547b74 0x80547b74 +80547bd8 FilterEffectMgr::SetColor +80547c00 FilterEffect::Update +80547cd4 0x80547cd4 +80547ce4 0x80547ce4 +80547cf0 0x80547cf0 +80547d8c 0x80547d8c +80547d90 0x80547d90 +80547de4 0x80547de4 +80547de8 0x80547de8 +80547e00 0x80547e00 +80547e10 0x80547e10 +80547e30 0x80547e30 +80547e34 0x80547e34 +80547e4c FilterEffect::Draw +80547f4c FilterEffectMgr::__ct +805481b8 FilterEffectMgr::__dt +80548270 FilterEffect:__dt +805482d8 FilterEffectMgr::Update +805483cc FilterEffectMgr::Draw +80548514 0x80548514 +80548538 0x80548538 +80548568 0x80548568 +80548708 CourseFilterEffect::__ct +805488e8 0x805488e8 +8054894c CourseFilterEffect::Update +80548a20 CourseFilterEffect::OnNoFilterStart +80548a30 CourseFilterEffect::OnWhiteFilterPrepareStart +80548a54 CourseFilterEffect::WhiteFilterPrepareUpdate +80548aa8 CourseFilterEffect::OnWhiteFilterStart +80548aac CourseFilterEffect::WhiteFilterUpdate +80548ac4 CourseFilterEffect::OnBlackFilterStart +80548ae4 CourseFilterEffect::BlackFilterUpdate +80548afc CourseFilterEffect::OnAlphaFadeoutStart +80548b00 CourseFilterEffect::AlphaFadeoutUpdate +80548b5c CourseFilterEffect::Draw +80548c5c CourseFilterEffectMgr::__ct +80548e8c CourseFilterEffectMgr::__dt +80548f44 CourseFilterEffect::__dt +80548fac CourseFilterEffectMgr::Update +805490a0 CourseFilterEffectMgr:Draw +805491d8 0x805491d8 +805491f0 0x805491f0 +80549390 CreditsBars::__ct +8054946c 0x8054946c +80549470 CreditsBars::Init +80549498 CreditsBars::Draw +80549618 GameScreenEffectsMgr::__ct +80549be4 GameScreenEffectsMgr::__dt +80549c74 GameScreenEffectsMgr::Update +80549e8c 0x80549e8c +80549ee0 GameScreenEffectsMgr::Draw +8054a268 GameScreenEffectsMgr::DrawCourseFilterEffects +8054a3a4 GameScreenEffectsMgr::CopyEFBToLensFlareTextures +8054a46c GameScreenEffectsMgr::AddLensFX +8054a4d4 GameScreenEffectsMgr::EnableExternalLensFlare +8054a4fc 0x8054a4fc +8054a524 0x8054a524 +8054a558 GameScreenEffectsMgr::RequestWhiteCourseFilter +8054a574 CreditsBars::__dt +8054a5b4 GameScreenEffects_cpp_sinit_ +8054a5f0 0x8054a5f0 +8054a790 0x8054a790 +8054a794 BitRotator::__ct +8054a7b4 BitRotator::Update +8054a7d8 GetTick +8054a7dc GetHour +8054a858 THP::CreateAudioDecodeThread +8054a928 THP::AudioDecodeThreadStart +8054a948 THP::AudioDecodeThreadCancel +8054a990 THP::AudioDecoder +8054a9b8 THP::AudioDecoderForOnMemory +8054aa64 THP::AudioDecode +8054ab50 THP::PopFreeAudioBuffer +8054ab84 THP::PushFreeAudioBuffer +8054ab98 THP::PopDecodedAudioBuffer +8054abdc THP::PushDecodedAudioBuffer +8054abf0 THP::PlayerInit +8054ad10 THP::PlayerQuit +8054ad68 THP::PlayerOpen +8054aff0 THP::PlayerClose +8054b044 THP::PlayerCalcNeedMemory +8054b0fc THP::PlayerSetBuffer +8054b33c THP::InitAllMessageQueue +8054b40c THP::PrepareReady +8054b420 THP::PlayerPrepare +8054b6a0 THP::PlayerPlay +8054b700 THP::PlayerStop +8054b7dc THP::PlayerPause +8054b818 THP::PlayerSkip +8054b9e8 THP::PlayControl +8054bcac THP::ProperTimingForGettingNextFrame +8054bdd8 THP::PlayerDrawCurrentFrame +8054bde0 THP::PlayerGetVideoInfo +8054be28 THP::PlayerGetAudioInfo +8054be70 THP::PlayerGetFrameRate +8054be98 THP::PlayerGetTotalFrame +8054bebc THP::PlayerGetState +8054becc THP::PlayerDrawDone +8054bf3c 0x8054bf3c +8054bfa8 THP::AudioMixCallback +8054c114 THP::MixAudio +8054c4e0 THP::PlayerSetVolume +8054c60c THP::PlayerGetVolume +8054c644 THP::CreateReadThread +8054c6e4 THP::ReadThreadStart +8054c704 THP::ReadThreadCancel +8054c74c THP::Reader +8054c83c THP::PopReadedBuffer +8054c870 THP::PopReadedBuffer2 +8054c884 THP::PopFreeReadBuffer +8054c8b8 THP::PushFreeReadBuffer +8054c8cc THP::PopReadedBuffer2 +8054c900 THP::PushReadedBuffer2 +8054c914 THP::CreateVideoDecodeThread +8054c9e8 THP::VideoDecodeThreadStart +8054ca08 THP::VideoDecodeThreadCancel +8054ca50 THP::VideoDecoder +8054cb1c THP::VideoDecoderOnMemory +8054cc4c THP::VideoDecode +8054cd98 THP::PopFreeTextureSet +8054cdcc THP::PushFreeTextureSet +8054cde0 THP::PopDecodedTextureSet +8054ce24 THP::PushDecodedTextureSet +8054ce38 courseIdToGhostIndex +8054cf1c GetCourseIdBySlot +8054cf40 0x8054cf40 +8054d0e0 0x8054d0e0 +8054d228 0x8054d228 +8054d3bc 0x8054d3bc +8054d60c 0x8054d60c +8054d734 0x8054d734 +8054d7a4 0x8054d7a4 +8054d7a8 0x8054d7a8 +8054d7b0 0x8054d7b0 +8054d7c8 0x8054d7c8 +8054d7d0 0x8054d7d0 +8054d830 0x8054d830 +8054d874 GlobeScene::__dt +8054d8cc GlobeScene::OnEnter +8054d998 GlobeScene::CreateAndInitInstances +8054da68 GlobeScene::OnEnterEnd +8054daa8 GlobeScene::OnExit +8054daf0 GlobeScene::OnCalc +8054db68 RaceScene::__ct +8054dbb4 RaceScene::__dt +8054dc30 RaceScene::OnEnter +8054e1e8 RaceScene::CreateAndInitInstances +8054e70c RaceScene::OnEnterEnd +8054e98c RaceScene::vf_0x58 +8054e990 RaceScene::OnExit +8054ea74 RaceScene::OnReinit +8054eab4 RaceScene::UpdateRaceInstances +8054ecf0 0x8054ecf0 +8054ed70 RaceScene::UpdateSomeInstances +8054edf4 RaceScene::isPaused +8054ee4c RaceScene::OnCalc +8054ef48 RaceScene::GetScreenCount +8054ef58 RaceScene::isSpectating +8054ef68 RaceScene::vf_0x48 +8054ef74 RaceScene::vf_0x50 +8054ef7c RaceScene::vf_0x58 +8054ef84 MenuScene::__ct +8054efc8 MenuScene::__dt +8054f020 MenuScene::OnEnter +8054f134 MenuScene::CreateAndInitInstances +8054f244 MenuScene::OnEnterEnd +8054f278 MenuScene::OnExit +8054f2a8 MenuScene::OnCalc +8054f2fc RelProlog +8054f348 RelEpilog +8054f390 RelUnresolvedSection +8054f444 Random::__ct +8054f4b0 Random::Reset +8054f4f4 Random::__ct(seed) +8054f518 Random::__dt +8054f558 Random::Next +8054f5ac Random::NextLimited +8054f608 Random::NextFloat +8054f688 Random::NextFloatLimited +8054f70c 0x8054f70c +8054f734 0x8054f734 +8054f800 ElineController::__ct +8054f878 0x8054f878 +8054f8ec 0x8054f8ec +8054f938 0x8054f938 +8054f9d4 ElineMgr::__ct +8054fd90 ElineMgr::GetController +8054fdf0 ElineMgr::Update +8054fed4 Raceinfo::RaceinfoGamemodeDataMissionTournament +8054ff10 Raceinfo::RaceinfoGamemodeDataMissionTournament_switch +8054ff14 Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_0 +8054ff40 Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_1 +8054ff6c Raceinfo::RaceinfoGamemodeDataMissionTournament_caseD_7 +8054ffa8 0x8054ffa8 +80550000 0x80550000 +80550004 0x80550004 +80550050 0x80550050 +80550054 0x80550054 +80550068 0x80550068 +80550070 0x80550070 +8055008c 0x8055008c +80550550 0x80550550 +80550570 0x80550570 +805506ec 0x805506ec +805507d4 0x805507d4 +805507f0 0x805507f0 +805507f8 0x805507f8 +80550808 0x80550808 +80550848 0x80550848 +80550888 0x80550888 +805508c8 IsVehicleTypeUnlocked +80550970 0x80550970 +80550980 GetCupType +805509e0 IsCupUnlocked +80550c74 IsCharacterUnlocked +80550ca8 IsCharacterUnlocked_switch +80550cac IsCharacterUnlocked_caseD_11 +80550d44 IsCharacterUnlocked_caseD_18 +80550dcc IsCharacterUnlocked_caseD_1a +80550e50 IsCharacterUnlocked_caseD_10 +80550e68 IsKartUnlocked +80550f40 0x80550f40 +80550f60 0x80550f60 +80551204 isFastStaffGhostUnlocked +805512e4 0x805512e4 +80551328 0x80551328 +80551380 0x80551380 +80551384 0x80551384 +80551388 0x80551388 +80551394 0x80551394 +805513a0 0x805513a0 +805513ac 0x805513ac +805513d0 ModelTransformator::__ct +805514dc ModelTransformator::AppendAnmHolder +805514e4 ModelTransformator::AppendAnmBlend +805514ec ModelTransformator::SetBlendWeightDecrement +80551510 ModelTransformator::GetBlendWeightDecrement +8055153c ModelTransformator::DecrementBlendWeight +8055156c ModelTransformator::DetachAllAnmFromBlend(type) +8055159c ModelTransformator::DetachAllAnmFromBlend(listIdx) +805515fc ModelTransformator::LinkAnimationByName +80552398 ModelTransformator::IsG3dObj +805523b4 AnmChrBlendHolder::__dt +805523f4 0x805523f4 +80552434 ModelTransformator::LinkAnimationByBRRESIdx +80552b90 ModelTransformator::LinkChrAnmToBone +80552d6c 0x80552d6c +80552e24 ModelTransformator::LinkEmptyAnm +80552eb4 ModelTransformator::GetAnmHolderByIdx +80552ebc ModelTransformator::GetAnmObjByIdx +80552ee4 ModelTransformator::AddAnmToScnMdlAndSetupBRASD +80552f70 ModelTransformator::AddAnmToScnMdl +80552f88 ModelTransformator::OverwriteAnm +80552fa8 ModelTransformator::RestoreAnm +80552fc0 ModelTransformator::GetAnmHolderByType +80552fd0 ModelTransformator::GetPrevAnmHolderByType +80552fe0 ModelTransformator::IsTypeActive +80552ffc ModelTransformator::IsTypeInPrev +80553018 ModelTransformator::GetAnmObjByType +8055302c ModelTransformator::DetachHolderFromParent +8055304c ModelTransformator::PlayAnmNoBlend +805531c8 0x805531c8 +805532d0 ModelTransformator::AddAnmBlendToScnMdl +80553304 ModelTransformator::PlayAnmWithBlend +805534b0 ModelTransformator::StopAnmType +80553558 ModelTransformator::UpdateBRASDAndBlend +805535d4 AnmHolder::GetFrame +805535e0 ModelTransformator::UpdateBlend +805537a0 AnmHolder::IsLooped +805537a8 AnmHolder::GetFrameCount +805537b4 0x805537b4 +80553838 ModelTransformator::Bind +80553890 ModelTransformator::UpdateActiveAnms +80553978 0x80553978 +80553a10 0x80553a10 +80553a50 0x80553a50 +80553b74 0x80553b74 +80553c30 ModelTransformator::vf_0x8 +80553c34 AnmHolder::SetUpdateRate +80553c38 AnmHolder::GetUpdateRate +80553c44 AnmHolder::UpdateRateAndSetFrame +80553c48 AnmHolder::SetFrame +80553c4c 0x80553c4c +80553c8c 0x80553c8c +80553cd4 0x80553cd4 +80553d24 0x80553d24 +80553f68 0x80553f68 +80554068 0x80554068 +805541b8 0x805541b8 +80554384 0x80554384 +80554414 AnmTexPatOverrideHolder::__dt +80554454 AnmTexPatOverrideHolder::SetWeight +8055449c AnmTexPatOverrideHolder::GetWeight +805544ec AnmTexPatOverrideHolder::AttachNew +80554730 AnmTexPatOverrideHolder::Attach +80554830 AnmTexPatOverrideHolder::DecrementWeight +80554980 AnmTexPatOverrideHolder::ShouldDetachFromParent +80554b4c AnmTexPatOverrideHolder::DetachAll +80554bdc 0x80554bdc +80554c1c 0x80554c1c +80554c64 0x80554c64 +80554cb4 0x80554cb4 +80554ef8 0x80554ef8 +80554ff8 0x80554ff8 +80555148 0x80555148 +80555314 0x80555314 +805553a4 0x805553a4 +805553e4 0x805553e4 +8055542c 0x8055542c +8055547c 0x8055547c +805556c0 0x805556c0 +805557c0 0x805557c0 +80555910 0x80555910 +80555adc 0x80555adc +80555b6c AnmChrBlendHolder::__dt +80555bac AnmChrBlendHolder::SetWeight +80555c5c AnmChrBlendHolder::GetWeight +80555cfc AnmChrBlendHolder::AttachNew +80555f40 AnmChrBlendHolder::Attach +80556040 AnmChrBlendHolder::DecrementWeight +80556190 AnmChrBlendHolder::ShouldDetachFromParent +8055635c AnmChrBlendHolder::DetachAll +805563ec 0x805563ec +80556400 0x80556400 +80556414 0x80556414 +80556480 0x80556480 +80556504 0x80556504 +80556568 0x80556568 +8055657c 0x8055657c +80556590 AnmTexPatHolder::GetFrame +805565a4 AnmTexPatHolder::SetFrame +805565b8 AnmTexPatHolder::UpdateRateAndSetFrame +80556624 AnmTexPatHolder::GetFrameCount +805566a8 AnmTexPatHolder::IsLooped +8055670c AnmTexPatHolder::GetUpdateRate +80556720 AnmTexPatHolder::SetUpdateRate +80556734 0x80556734 +80556748 0x80556748 +8055675c 0x8055675c +805567c8 0x805567c8 +8055684c 0x8055684c +805568b0 0x805568b0 +805568c4 0x805568c4 +805568d8 0x805568d8 +805568ec 0x805568ec +80556900 0x80556900 +8055696c 0x8055696c +805569f0 0x805569f0 +80556a54 0x80556a54 +80556a68 0x80556a68 +80556a7c AnmChrHolder::GetFrame +80556a90 AnmChrHolder::SetFrame +80556aa4 AnmChrHolder::UpdateRateAndSetFrame +80556b10 AnmChrHolder::GetFrameCount +80556b94 AnmChrHolder::IsLooped +80556bf8 AnmChrHolder::GetUpdateRate +80556c0c AnmChrHolder::SetUpdateRate +80556c20 0x80556c20 +80556c50 0x80556c50 +80556c70 0x80556c70 +80556cdc ModelDirector::SetScale +80556d30 0x80556d30 +80556da8 0x80556da8 +80556e14 0x80556e14 +80556e68 0x80556e68 +80556e78 0x80556e78 +80556ed8 0x80556ed8 +80556f18 ModelDirector::__ct(ClipInfo) +8055718c ModelDirector::__ct +805571d8 ModelDirector::__ct(ScnMgrIdx) +8055723c ModelDirector::__dt +8055727c ModelDirector::GetBRRES +80557298 ModelDirector::BindBRRES +80557324 ModelDirector::BindBRRESFallback +805573d4 ModelDirector::RipAndBindBRRES +80557478 ModelDirector::BindBRRESImpl +80557680 ModelDirector::BRRESExists +805576c4 ModelDirector::GetResMdl(string) +805576d4 ModelDirector::GetResMdl(idx) +805576e4 ModelDirector::MdlExists +8055771c ModelDirector::HasResMdl +80557720 ModelDirector::Init +80557980 ModelDirector::InitG3D +80557b54 ModelDirector::AppendToScnMgr +80557b90 ModelDirector::CreateScn +80557d68 ModelDirector::LoadWithAnm(name) +80557e50 ModelDirector::LoadWithAnm(idx) +80557f38 ModelDirector::LoadNoAnm(name) +80557f98 ModelDirector::LoadNoAnm(idx) +80557ff8 ModelDirector::LoadWithOption(name) +805580cc ModelDirector::LoadWithOption(idx) +805581a0 ModelDirector::LoadScnMdl1Mat1Shp +80558200 MiiHeadsModel::InitModel +80558474 0x80558474 +80558544 0x80558544 +805585bc 0x805585bc +80558670 ModelDirector::ToggleVisible +80558788 ModelDirector::EnableDraw +80558850 0x80558850 +8055888c ModelDirector::UpdateVisibility +80558960 ModelDirector::EnableScreen +80558978 ModelDirector::DisableScreen +80558990 ModelDirector::IsVisibleOnScreen +805589b0 ModelDirector::EnableScreen2 +805589c8 ModelDirector::IsVisibleOnScreen2 +805589e8 ModelDirector::SetScnMdlOptions +80558b04 0x80558b04 +80558b88 0x80558b88 +80558c10 0x80558c10 +80558cbc 0x80558cbc +80558d74 0x80558d74 +80558ebc ModelDirector::Update +80558f74 0x80558f74 +805590c8 ModelDirector::SetAllScnOptionsFromClipInfo +805591d4 ModelDirector::SetDisableDrawScnOptionsFromClipInfo +8055933c 0x8055933c +805594ac 0x805594ac +805595a0 0x805595a0 +80559670 ModelDirector::CreateTransformator +80559770 0x80559770 +80559880 0x80559880 +80559964 ModelDirector::SetAudioActor +80559a6c ModelDirector::LinkAnimation +80559c00 0x80559c00 +80559d74 0x80559d74 +80559ef4 ModelDirector::LinkEmptyAnm +8055a008 0x8055a008 +8055a760 ModelDirector::LinkAllAnimations +8055ae64 ModelDirector::PrepareAllAnms +8055aefc 0x8055aefc +8055af0c 0x8055af0c +8055af2c 0x8055af2c +8055af34 ModelDirector::SetLight +8055af44 ModelDirector::GetScnMgr +8055af7c ModelDirector::RemoveFromGroup +8055afcc ModelDirector::ToggleTransparent +8055b068 ModelDirector::ReplaceMatGXTexObj +8055b09c 0x8055b09c +8055b144 ModelDirector::UpdateDrawPriority +8055b188 0x8055b188 +8055b264 0x8055b264 +8055b328 0x8055b328 +8055b3d4 0x8055b3d4 +8055b458 ModelDirector::ChangeTransformator +8055b4c8 ModelDirector::GetScale +8055b514 ModelDirector::SetScale(float) +8055b550 ModelCalcBase::__ct +8055b55c 0x8055b55c +8055b63c 0x8055b63c +8055b710 ModelCalcCallback::GetBoneWorldMtx +8055b7e4 0x8055b7e4 +8055b8c4 0x8055b8c4 +8055b998 0x8055b998 +8055ba6c 0x8055ba6c +8055bab4 ModelCalcCallback::__ct +8055bb68 0x8055bb68 +8055bba8 ModelCalcCallback::ExecCallback_CALC_WORLD +8055bbcc ModelCalcCBBoneLinked::__ct +8055bc90 ModelCalcCallback::__dt +8055bcd0 ModelCalcCBBoneLinked::ExecWorldCBImpl +8055beac 0x8055beac +8055bf74 ModelCalcCBBoneLinked::__dt +8055bfb4 ModelCalcCallback::ExecCallback_CALC_XLU +8055bfb8 ModelCalcCallback::ExecCallback_CALC_OPA +8055bfbc ModelCalcCallback::ExecCallback_CALC_VIEW +8055bfc0 ModelCalcCallback::ExecCallback_CALC_MAT +8055bfc4 0x8055bfc4 +8055bfc8 0x8055bfc8 +8055c008 ModelCalcCallback::__dt(thunk) +8055c010 ModelCalcCBBoneLinked::__dt(thunk) +8055c018 ModelCalcCallback::ExecCallback_CALC_WORLD(thunk) +8055c020 0x8055c020 +8055c028 Light::__ct +8055c20c 0x8055c20c +8055c2c8 Light::Init +8055c47c 0x8055c47c +8055c624 0x8055c624 +8055c720 0x8055c720 +8055c77c Light::InitLightObject +8055c8b4 0x8055c8b4 +8055c910 0x8055c910 +8055c9a0 Light::Update +8055cc80 0x8055cc80 +8055cca4 LightMgrHolder::__ct +8055cd68 LightMgrHolder::805610e8 +8055ce8c LightMgrHolder::8056120c +8055cf68 LightMgrHolder::LoadBLIGHT +8055cf6c LightMgrHolder::805612ec +8055d00c 0x8055d00c +8055d018 LightMgrHolder::AcquireLight +8055d084 LightMgrHolder::moveFromAtoB +8055d0d0 LightMgrHolder::vf_0x10 +8055d1ec LightMgrHolder::Update +8055d270 LightMgrHolder::LoadBLMAP +8055d308 LightMgrHolderRace::__ct +8055d5c8 LightMgrHolder::__dt +8055d608 LightMgrHolderRace::LoadBLIGHT +8055d708 LightMgrHolder::LoadBLMAP +8055d798 LightMgrHolderMenu_construct +8055d868 LightMgrHolderMenu_loadBlight +8055d8c0 LightMgrHolderMenu_loadLightMap +8055d91c LightMgrHolderMiiBody_construct +8055d9ec LightMgrHolderMiiBody_loadBlight +8055da54 LightMgrHolderMiiBody_loadLightMap +8055dac0 LightMgrHolderMiiBody_destruct +8055db00 LightMgrHolderMenu_destruct +8055db40 LightMgrHolderRace::destruct +8055db80 Light::__dt +8055dbc0 ScnMgr::__ct +8055dce4 0x8055dce4 +8055dd3c ScnMgr::__dt +8055ddc4 ScnMgr::ResetRenderModeObj +8055de00 ScnMgr::InitImpl +8055dfd0 ScnMgr::LoadPostEffects +8055dfd4 ScnMgr::vf_0x28 +8055dfd8 ScnMgr::CreateAllGroups +8055e0c4 ScnMgr::CreateScnGroup +8055e0f0 ScnMgr::LoadLights +8055e14c ScnMgr::DrawLights +8055e19c 0x8055e19c +8055e1a0 ScnMgr::DoneDraw +8055e228 ScnMgr::DrawModelsImpl +8055e508 ScnMgr::UpdateScnRoot +8055e7b4 ScnMgr::UpdateCameras +8055e870 GameCamera::GetViewMatrix +8055e878 ScnMgr::RemoveShadowTextureMgr +8055e88c 0x8055e88c +8055e90c 0x8055e90c +8055e93c ScnMgr::InsertModelDirectorInScn +8055eb10 ScnMgr::SetModelDrawPriority +8055ebe0 ScnMgr::SetModelXluDrawPriority +8055ec00 0x8055ec00 +8055ece8 0x8055ece8 +8055ed6c 0x8055ed6c +8055ee2c 0x8055ee2c +8055eeec ScnMgr::SetAnmScn +8055f090 ScnMgr::SetRootAnmScn +8055f234 ScnMgr::AppendScnGroupExHolder +8055f244 ScnMgr::RemoveModelDirector +8055f24c ScnMgr::AppendScreenSpecificModelDirector +8055f254 ScnMgr::AppendMatModelDirector +8055f25c ScnMgr::RemoveMatModelDirector +8055f264 ScnMgr::SwitchScnRoot +8055f2f4 ScnMgr::UpdateVisibility +8055f35c 0x8055f35c +8055f474 0x8055f474 +8055f57c ScnMgr::CreateScnGroupEx +8055f6f8 ScnMgr::RearrangeDirectorGroups +8055f81c ScnMgr::80563b9c +8055f868 ScnMgr::80563be8 +8055f8b8 ScnMgr::80563c38 +8055f904 ScnGroupExHolder::__ct +8055f964 TextureHolder::__ct +8055fa30 TextureHolder::CopyFromEFB +8055fb68 TextureHolder::80563ee8 +8055fcf4 ScnMgr::UpdateModelDrawPriority +8055fd8c ScnMgr::RemoveGroup +8055fdc0 ScnMgr::InsertGroup +8055fdfc ScnMgr::GetScnGroup +8055fe58 TextureHolder::__dt +8055fe98 ScnMgr::vf_0x2c +8055fe9c ScnMgr::DrawModels +8055fea4 ScnMgr::CalcSelf +8055fea8 ScnMgr::vf_0xC +8055feac ScnMgr::Init +8055feb8 ScnGroupHolder::__dt +8055fef8 ScnGroupExHolder::__dt +8055ff38 Renderer::__ct +8055ff8c Renderer::__dt +8055fff8 RendererWithModels::__ct +8056004c RendererWithModels::__dt +805600c4 RendererWithModels::Calc +805600d8 RendererWithModels::Draw +80560128 RendererWithModels::DrawWithProjection +8056016c 0x8056016c +80560298 RendererMixed::__ct +805602ec RendererMixed::Draw +80560308 RendererMii::__ct +80560364 RendererMixed::__dt +805603e0 RendererMii::DrawModels +8056043c RendererMii::__dt +805604bc ScnMgr::InitScn +80560620 0x80560620 +80560668 0x80560668 +80560694 0x80560694 +8056075c ScnMgr::CalcAll +805607fc ScnMgr::Calc(idx) +805608c4 0x805608c4 +805608e4 ScnMgr::Draw(idx) +805609e0 ScnMgr::DrawMain +80560ab8 ScnMgr::DrawSecondary +80560c24 0x80560c24 +80560c3c Renderer::Remove(internal idx) +80560c74 ScnMgr::Unregister +80560cb0 ScnMgr::Reset +80560d30 ScnMgr::Finalize +80560d94 Renderer::Register(listIdx) +80560de4 Renderer::RegisterAndAppendScreen +80560ee8 Renderer::Register2ndList(NoAppend) +80560f2c Renderer::Remove(listIdx) +80560f44 Renderer::RemoveFrom1stList +80560f54 Renderer::RemoveFrom2ndList +80560f68 Renderer::Register(bool Append) +8056101c ScnMgr::Register +80561050 0x80561050 +805610bc 0x805610bc +80561114 0x80561114 +8056116c 0x8056116c +805612b0 ScnMgr::AcquireLight +805612c0 0x805612c0 +805612d4 0x805612d4 +805612e4 0x805612e4 +805612f4 0x805612f4 +80561344 0x80561344 +80561348 0x80561348 +805613ac 0x805613ac +80561424 0x80561424 +8056149c GameScreen::__ct +80561748 0x80561748 +80561788 0x80561788 +805617c8 0x805617c8 +80561808 0x80561808 +80561848 0x80561848 +80561938 0x80561938 +80561a20 GameScreen::SetAndLoadOrthoProj +80561b08 0x80561b08 +80561bf0 0x80561bf0 +80561ca0 GameScreen::SetAndLoadProjection +80561d50 0x80561d50 +80561e00 0x80561e00 +80561e68 GameScreen::SetProjection +80561ef8 0x80561ef8 +80561fb0 0x80561fb0 +80562038 0x80562038 +805620dc 0x805620dc +80562164 0x80562164 +80562204 0x80562204 +805622f0 0x805622f0 +80562330 0x80562330 +80562370 0x80562370 +805624a4 0x805624a4 +805625d8 0x805625d8 +80562838 GameScreen::Set16_9AspectRatio +805628a0 GameScreen::Set4_3AspectRatio +80562920 GameScreen::Init +80562a3c 0x80562a3c +80562ab8 GameScreen::CalcDimensions +80562bec GameScreen::GetAbsoluteToView +80562c40 GameScreen::GetViewToScreen +80562c44 GameScreen::GetAbsoluteToScreen +80562cc4 0x80562cc4 +80562d34 0x80562d34 +80562db0 GameScreen::__dt +80562df0 RendererGlobe::__ct +80562e2c RendererMenu::__dt +80562e8c 0x80562e8c +80562ee8 RendererGlobe::__dt +80562f4c Kart::Damage::__ct +80562fdc 0x80562fdc +8056301c Kart::Damage::Reset +80563030 Kart::Damage::Update +80563174 Kart::Damage::SetAffectedByPOW +8056317c Kart::Damage::SetPOWParams +805631a4 Kart::Damage::SetPOWParams(static) +805631cc Kart::Damage::ShouldReceivePOWDamage +805631f8 Kart::Damage::ResetPOWParams +80563214 Kart::Damage::UpdatePOWParams +8056325c Kart::Damage::SetDamage +805636d4 Kart::Damage::UpdateCurDamage +80563708 Kart::Damage::EndCurDamage +80563818 0x80563818 +805638e8 0x805638e8 +80563964 Kart::Damage::UpdateCurDamageSpeed +805639bc Kart::Damage::ApplySpinDamage +80563be8 Kart::Damage::ApplyBananaDamage +80563c34 Kart::Damage::ApplyGoombaDamage +80563c80 Kart::Damage::ApplyFireDamage +80563ccc Kart::Damage::ApplyShockDamage +80563cd8 Kart::Damage::ApplyZapperDamage +80563ce4 Kart::Damage::ApplyPOWDamage +80563e18 0x80563e18 +80563e84 Kart::Damage::UpdateSpinOutdamage +80563ffc Kart::Damage::OnSpinOutDamageEnd +80564038 Kart::Damage::UpdatePOWDamage +805641d8 Kart::Damage::vf_0x10 +805642a0 Kart::Damage::OnPOWDamageEnd +805642dc Kart::Damage::ApplyShellFIBDamage +8056435c Kart::Damage::OnShellFIBDamageEnd +80564398 Kart::Damage::ApplyStarDamage +80564414 Kart::Damage::ApplyKnockback +80564728 Kart::Damage::UpdateKnockbackDamage +805648c0 0x805648c0 +805648fc Kart::Damage::OnStarCarDamageEnd +80564938 Kart::Damage::ApplyChompDamage +805649b4 Kart::Damage::UpdateBigKnockbackDamage +80564be8 Kart::Damage::OnBigKnockbackDamageEnd +80564c24 Kart::Damage::ApplyCarDamage +80564ca4 Kart::Damage::ApplyBulletDamage +80564d20 Kart::Damage::ApplyLaunchDamage +80564f34 Kart::Damage::UpdateLaunchDamage +80565348 Kart::Damage::OnLaunchDamageEnd +8056534c 0x8056534c +805653f4 Kart::Damage::ApplyThwompDamage +80565498 Kart::Damage::ApplyMegaDamage +8056553c Kart::Damage::ApplySquishRespawnDamage +805655f8 Kart::Damage::ApplyCarSquishDamage +8056569c Kart::Damage::UpdateSquishDamage +80565750 Kart::Damage::OnSquishDamageEnd +80565768 Kart::Damage::ApplyDrivingDirKnockback +80565814 Kart::Damage::ApplySidewaysKnockback +805659cc 0x805659cc +80565a24 0x80565a24 +80565a7c 0x80565a7c +80565b1c 0x80565b1c +80565bac 0x80565bac +80565c30 0x80565c30 +80565ccc 0x80565ccc +80565de4 Kart::Damage::vf_0x14 +80565de8 0x80565de8 +80565e28 Kart::Damage::__dt +80565e68 0x80565e68 +80565ea8 KartDamageCpp_sinit_ +80565ee4 Kart::ModelsVisibility::__ct +80565f30 0x80565f30 +80565f70 Kart::ModelsVisibility::SetInvisible +80565f80 Kart::ModelsVisibility::SetModelsVisibility +805660f0 Kart::ModelsVisibility::UpdateModelsVisibility +80566200 Kart::ModelsVisibility::SetModelDraw +8056621c Kart::ModelsVisibility::__dt +8056625c Kart::MatTEVHandler::SetPartTEVSwapMode +8056626c Kart::MatTEVHandler::__ct +805662b0 Kart::MatTEVHandler::SetTexSwapModeAndSetTEVSwapModes +80566358 Kart::MatTEVHandler::SetTEVSwapModes +80566400 Kart::MatTEVHandler::SetModelTEVSwapMode(bool) +8056651c Kart::MatTEVHandler::SetModelTevColorOp +80566618 Kart::MatTEVHandler::SetTEVSwapModesNoTexModeUpdate +805666a8 Kart::MatTEVHandler::SetModelTEVSwapMode +805667ac Kart::MatTEVHandler::__dt +805667ec Kart::StarAnmMgr::LoadAnm +80566a58 Kart::StarAnmMgr::__ct +80566a9c Kart::StarAnmMgr::Activate +80566ac0 Kart::StarAnmMgr::Update +80566d5c Kart::StarAnmMgr::StartEnding +80566d70 Kart::StarAnmMgr::End +80566d7c Kart::StarAnmMgr::Reset +80566eb8 0x80566eb8 +80566fd0 Kart::StarAnmMgr::SetModelColorsImpl +805670d0 0x805670d0 +805671e0 Kart::StarAnmMgr::SetModelColors +805671e4 Kart::StarAnmMgr::__dt +80567224 0x80567224 +8056727c Kart::Part::__dt +805672bc Kart::Arm::LoadModel +805672d4 Kart::Arm::UpdateMatrix +80567544 Kart::Body::__ct +805675ac Kart::Body::LoadModel +805675c0 Kart::Body::CreateModelDirectors +80567608 Kart::Body::Init +80567664 Kart::Body::Reset +805676b0 Kart::Body::vf_0x58 +805676f4 0x805676f4 +80567738 0x80567738 +805677b4 Kart::Body::GetMatrix +80567814 Kart::Body::UpdateMatrix +805678b0 0x805678b0 +80567968 0x80567968 +80567a24 Kart::Body::vf_0x60 +80567aa0 0x80567aa0 +80567b00 0x80567b00 +80567b14 0x80567b14 +80567b74 0x80567b74 +80567b98 Kart::Body::Load2ndModel +80567bf8 0x80567bf8 +80567d0c 0x80567d0c +80567e24 0x80567e24 +80567e70 Kart::BodyKart::__ct +80567f34 Kart::Body::__dt +80567f74 Kart::BodyKart::SetDispParams +80567fb4 Kart::BodyKart::Load +80568048 Kart::BodyKart::UpdateMatrix +805682c8 Kart::BodyKart::vf_0xc +8056835c Kart::BodyKart::vf_0x64 +805683e0 Kart::BodyKart::vf_0x24 +80568430 Kart::BodyKart::ApplyStarColors +805684a8 Kart::BodyKart::vf_0x2c +80568520 Kart::BodyKart::vf_0x30 +80568598 Kart::BodyKart::UpdateModelDrawPriority +80568620 0x80568620 +80568660 Kart::BikeHandle::LoadModel +80568670 Kart::BikeHandle::UpdateMatrix +805687f0 0x805687f0 +80568830 Kart::BikeSwingArm::LoadModel +80568840 Kart::BikeSwingArm::UpdateMatrix +80568a08 Kart::BodyBike::__ct +80568aa0 Kart::BikeHandle::__dt +80568ae0 Kart::BikeSwingArm::__dt +80568b20 Kart::BodyBike::SetDispParams +80568b34 Kart::BodyBike::LoadModel +80568b48 Kart::BodyBike::Load +80568bbc Kart::BodyBike::vf_0x60 +80568c38 Kart::BodyBike::UpdateMatrix +80568f04 Kart::Body::GetMatrix +80569044 Kart::BodyBike::UpdateWheelMatrix +80569170 Kart::BodyBike::vf_0xC +805691e4 Kart::BodyBike::vf_0x64 +80569244 Kart::BodyBike::vf_0x24 +80569264 Kart::BodyBike::ApplyStarColors +805692b8 Kart::BodyBike::vf_0x2c +8056930c Kart::BodyBike::vf_0x30 +80569360 Kart::BodyBike::UpdateModelDrawPriority +805693c8 Kart::BodyQuacker::__ct +8056946c Kart::BodyBike::__dt +805694ac Kart::BodyQuacker::GetMatrix +8056950c Kart::BodyQuacker::UpdateMatrix +805695cc Kart::Body::SetHandleDistance +805695d4 Kart::Body::SetFloat_0x98 +805695dc Kart::BodyQuacker::__dt +8056961c Kart::Part::vf_0x24 +80569644 Kart::BodyKart::__dt +80569684 Kart::Arm::__dt +805696c4 0x805696c4 +805696cc 0x805696cc +805696d4 0x805696d4 +805696dc 0x805696dc +805696e4 0x805696e4 +805696ec 0x805696ec +805696f4 0x805696f4 +805696fc 0x805696fc +80569704 0x80569704 +8056970c 0x8056970c +80569714 0x80569714 +8056971c Kart::Collision::__ct +80569794 0x80569794 +805697d4 Kart::Collision::Reset +805698bc 0x805698bc +80569914 Kart::Collision::ProcessVehicleBodyCollision +80569a84 Kart::Collision::ProcessWheelCollision +80569ae0 Kart::Collision::ProcessMovingRoad +80569bb4 Kart::Collision::ProcessFloor +80569fd4 0x80569fd4 +8056a0a4 0x8056a0a4 +8056a334 0x8056a334 +8056a41c 0x8056a41c +8056a640 0x8056a640 +8056a6c0 Kart::Collision::ProcessTriggers +8056a8ec 0x8056a8ec +8056a9a0 Kart::Collision::CheckKartCollision +8056bed0 Kart::Movement::vf_0x30 +8056bed4 0x8056bed4 +8056bf58 0x8056bf58 +8056c3e4 0x8056c3e4 +8056c568 0x8056c568 +8056c588 0x8056c588 +8056c5ac 0x8056c5ac +8056c634 0x8056c634 +8056c720 0x8056c720 +8056c7a4 0x8056c7a4 +8056c7e4 Kart::Collision::CheckTriggersAndOOB +8056ca84 0x8056ca84 +8056ce0c 0x8056ce0c +8056ceb4 0x8056ceb4 +8056cf48 0x8056cf48 +8056d0c0 Kart::Collision::CheckObjectCollision +8056d6f4 0x8056d6f4 +8056d724 Object::GetId +8056d72c Kart::Collision::CheckItemCollision +8056dd44 0x8056dd44 +8056ddd0 Kart::Collision::UpdateCollisions +8056e0fc 0x8056e0fc +8056e284 Kart::Collision::InitHitboxes +8056e320 Kart::Collision::HandleNoopCollision +8056e328 Kart::Collision::HandleBananaCollision +8056e340 Kart::Collision::HandleShellCollision +8056e360 Kart::Collision::HandleBlueShellCollision +8056e378 Kart::Collision::HandleBombCollision +8056e390 Kart::Collision::HandleMushroomCollision +8056e3d4 Kart::Collision::HandleStarCollision +8056e40c Kart::Collision::HandleFibCollision +8056e574 0x8056e574 +8056e57c 0x8056e57c +8056e584 0x8056e584 +8056e58c 0x8056e58c +8056e594 0x8056e594 +8056e59c 0x8056e59c +8056e5a4 0x8056e5a4 +8056e614 0x8056e614 +8056e6c8 ObjectCollidable::GetCollision +8056e6d0 0x8056e6d0 +8056e6ec 0x8056e6ec +8056e75c 0x8056e75c +8056e764 0x8056e764 +8056e76c 0x8056e76c +8056e784 0x8056e784 +8056e78c 0x8056e78c +8056e794 0x8056e794 +8056e79c 0x8056e79c +8056e7ec 0x8056e7ec +8056e878 0x8056e878 +8056e904 0x8056e904 +8056e940 0x8056e940 +8056e968 0x8056e968 +8056e9d4 0x8056e9d4 +8056ebdc 0x8056ebdc +8056ecb0 Kart::Collision::ActivateOOB +8056f074 0x8056f074 +8056f084 Kart::Collision::UpdateRespawn +8056f1a0 Kart::Collision::__dt +8056f1e0 Kart::Trick::__ct +8056f244 Kart::Trick::__dt +8056f284 Kart::Trick::Reset +8056f2d4 Kart::Trick::UpdateNext +8056f408 0x8056f408 +8056f4ec 0x8056f4ec +8056f500 0x8056f500 +8056f518 Kart::Trick::TryStart +8056f684 Kart::Trick::Start +8056f7b4 0x8056f7b4 +8056f814 0x8056f814 +8056f8d8 0x8056f8d8 +8056f908 Kart::Trick::StartInner +8056f9cc 0x8056f9cc +8056fb80 Kart::Trick::Update +8056fbfc Kart::Trick::SetupProperties +8056fc98 Kart::Trick::UpdateRot +8056fdb4 0x8056fdb4 +8056fe20 0x8056fe20 +8056fe54 Kart::Trick::End +8056fee0 0x8056fee0 +8056fef4 Kart::TrickBike::Start +80570038 Kart::TrickBike::StartInner +80570130 Kart::TrickBike::UpdateRot +80570298 Kart::TrickBike::__ct +805702d8 Kart::BRRESHandle::__ct +805703f0 Kart::BRRESHandle::__dt +80570430 0x80570430 +805704ac 0x805704ac +80570528 Kart::BRRESHandle::LoadKartBRRES +8057062c Kart::BRRESHandle::LoadDriverBRRES +805706c8 0x805706c8 +80570784 0x80570784 +80570800 Kart::BRRESHandle::LoadBodyModel +805709bc 0x805709bc +80570a74 0x80570a74 +80570a8c Kart::BRRESHandle::LoadLeftBackWheelModel +80570b44 Kart::BRRESHandle::LoadLeftFrontWheelModel +80570bfc Kart::BRRESHandle::LoadRightBackWheelModel +80570cb4 Kart::BRRESHandle::LoadRightFrontWheelModel +80570d6c 0x80570d6c +80570e70 Kart::BRRESHandle::LoadArmModel +80571048 Kart::BRRESHandle::LoadDriverModels +805710b8 Kart::BRRESHandle::LoadBikeHandleModel +80571180 Kart::BRRESHandle::LoadBikeSwingArmModel +80571238 Kart::BRRESHandle::LoadBikeFrontWheelModel +805712f0 Kart::BRRESHandle::LoadBikeBackWheelModel +805713a8 Kart::BRRESHandle::LoadBikeSuspensionsModel +80571460 0x80571460 +80571518 Kart::BRRESHandle::LoadShadowModel +8057159c Kart::BRRESHandle::LoadKillerModels +8057169c 0x8057169c +80571740 0x80571740 +80571760 Kart::Movement::__ct +805718b8 Kart::Boost::__dt +805718f8 0x805718f8 +80571938 0x80571938 +80571978 0x80571978 +805719b8 Kart::Movement::CreateTrickZipper +80571a38 Kart::Movement::SetTurnParams +80571c70 Kart::Movement::Reset +80572078 Kart::Movement::Update +805730fc 0x805730fc +80573104 Kart::Movement::UpdateHopPhysics +80573148 Kart::Movement::Respawn +805731ec 0x805731ec +80573480 0x80573480 +80573544 0x80573544 +805736bc 0x805736bc +80573708 0x80573708 +80573780 Kart::Movement::SomethingWheelieBump +805738d8 0x805738d8 +805738dc Kart::Movement::UpdateDir +80574050 Kart::Movement::UpdateTurn +80574304 Kart::Movement::UpdateVehicleSpeed +805747c4 0x805747c4 +805748a4 Kart::Movement::ComputeWallCollisionSpeedFactor +80574a38 Kart::Movement::vf_0x68 +80574a3c 0x80574a3c +80574f18 0x80574f18 +80575004 Kart::Movement::GetAccelerationFromSpeed +80575138 Kart::Movement::ResetBulletSpeed +80575148 Kart::Movement::ResetMaxSpeed +80575158 Kart::Movement::UpdateAcceleration +80575b64 Kart::Movement::GetWheelieSoftSpeedLimitBonus +80575b70 Kart::Movement::UpdateOffroad +80575d84 0x80575d84 +80575e38 Kart::Movement::UpdateRotate +80576570 0x80576570 +805766a8 Kart::Movement::UpdateVehicleRotationVector +80576970 Kart::Movement::UpdateSSMTRotation +80576b34 Kart::Movement::UpdateUps +80577024 Kart::Movement::UpdateUpsWhileAirbone +805771b4 Kart::Movement::CheckIfCanHop +805771f8 Kart::Movement::Hop +805773dc Kart::Movement::CancelWheelie +805773e0 Kart::Movement::UpdateManualDrift +80577878 Kart::Movement::UpdateAutoDrift +80577ae4 0x80577ae4 +80577b90 Kart::Movement::StartManualDrift +80577dd4 0x80577dd4 +80577e90 0x80577e90 +80577f18 0x80577f18 +80577fa0 Kart::Movement::UpdateHopAndSlipdrift +80578138 0x80578138 +805781ec 0x805781ec +80578230 0x80578230 +80578254 0x80578254 +805783c4 0x805783c4 +805784bc 0x805784bc +805784d0 0x805784d0 +80578528 0x80578528 +805785ec Kart::Movement::UpdateMTCharge +8057877c Kart::Movement::GetMTMaxCharge +80578788 Kart::Movement::GetSMTMaxCharge +80578794 0x80578794 +805787c0 0x805787c0 +805787f8 0x805787f8 +8057882c 0x8057882c +8057896c 0x8057896c +80578b74 Kart::Movement::ActivateMushroom +80578dcc 0x80578dcc +80578f44 Kart::Movement::EndTrick +80579108 Kart::Movement::ActivateZipperBoost +80579308 0x80579308 +805794b4 Kart::Movement::TryStartJumpPad +80579858 0x80579858 +80579a04 Kart::Movement::ActivateStar +80579b8c 0x80579b8c +80579bd4 Kart::Movement::ApplyShock +80579cb8 0x80579cb8 +80579d88 0x80579d88 +80579de4 0x80579de4 +80579e40 0x80579e40 +80579f04 0x80579f04 +80579f14 Kart::Movement::ApplyShockEffect +8057a134 0x8057a134 +8057a220 0x8057a220 +8057a2b0 Kart::Movement::ActivateMega +8057a478 0x8057a478 +8057a55c 0x8057a55c +8057a6c4 0x8057a6c4 +8057a738 0x8057a738 +8057a7d0 0x8057a7d0 +8057a844 0x8057a844 +8057ab40 0x8057ab40 +8057ab84 0x8057ab84 +8057ada8 Kart::Movement::UpdateScale +8057aebc Kart::Movement::SetScale +8057aed8 0x8057aed8 +8057af14 0x8057af14 +8057afc0 Kart::Movement::CalcBlink +8057b108 0x8057b108 +8057b144 0x8057b144 +8057b1c0 0x8057b1c0 +8057b1c4 Kart::Movement::ActivateTC +8057b1dc Kart::Movement::DeactivateTC +8057b1f4 Kart::Movement::ApplyInk +8057b2b8 Kart::Movement::UpdateCharacterInk +8057b40c 0x8057b40c +8057b42c Kart::Movement::SomethingRespawnBoost +8057b8c8 Kart::Movement::ApplyStartBoost +8057ba14 0x8057ba14 +8057bb40 0x8057bb40 +8057bc24 0x8057bc24 +8057bc64 0x8057bc64 +8057bc8c 0x8057bc8c +8057bccc Kart::Movement::TryEndJumpPad +8057be30 Kart::Movement::UpdateBoost +8057bfa0 0x8057bfa0 +8057c068 0x8057c068 +8057c530 0x8057c530 +8057c550 0x8057c550 +8057c574 0x8057c574 +8057c5d0 0x8057c5d0 +8057c6d4 0x8057c6d4 +8057c6f4 0x8057c6f4 +8057c718 0x8057c718 +8057c738 Kart::Movement::ReleaseMT +8057ca18 0x8057ca18 +8057ca60 0x8057ca60 +8057ca80 Kart::Movement::CancelBoost +8057cbc0 0x8057cbc0 +8057cc28 Kart::Movement::vf_0x24 +8057cdf4 Kart::Movement::OnOOB +8057cf68 Kart::Movement::vf_0x2c +8057d320 0x8057d320 +8057d324 Kart::Movement::UpdateStickyRoad +8057d708 0x8057d708 +8057d820 Kart::Movement::SetInitialPhysicsValues +8057db10 Kart::Movement::DoRespawn +8057de24 0x8057de24 +8057df18 0x8057df18 +8057e104 thunk_0x8058473c +8057e108 thunk_0x8058473c +8057e10c 0x8057e10c +8057e168 Kart::Movement::EnterCannon +8057e534 Kart::Movement::UpdateCannon +8057eaa4 0x8057eaa4 +8057eb78 Kart::Movement::GetCannonPosAndDir +8057ed98 0x8057ed98 +8057f088 Kart::Movement::ActivateBullet +8057f1e0 0x8057f1e0 +8057f204 0x8057f204 +8057f23c 0x8057f23c +8057f27c 0x8057f27c +8057f2c4 0x8057f2c4 +8057f2d4 0x8057f2d4 +8057f898 0x8057f898 +8057ff58 Kart::Movement::UpdateFromPseaVenice +805801b8 Kart::Movement::UpdateDiving +805804f4 0x805804f4 +80580590 0x80580590 +8058066c 0x8058066c +80580784 Kart::Movement::UpdateSlipStream +80580c9c 0x80580c9c +80580d68 Kart::Movement::UpdateWheelie +80580d6c Kart::Movement::UpdateSpecialFloor +80581114 0x80581114 +80581180 0x80581180 +8058130c Kart::MovementBike::__ct +80581354 Kart::Movement::__dt +80581394 Kart::MovementBike::CreateTrickZipper +80581430 Kart::MovementBike::SetTurnParams +805814dc Kart::MovementBike::Reset +80581540 Kart::MovementBike::UpdateWheelie +80581544 Kart::MovementBike::UpdateVehicleRotationVector +80581b00 Kart::MovementBike::GetWheelieSoftSpeedLimitBonus +80581b2c Kart::MovementBike::StartWheelie +80581ba0 Kart::MovementBike::CancelWheelie2 +80581bd0 Kart::MovementBike::UpdateWheelie +80581f74 Kart::MovementBike::TryStartWheelie +8058203c 0x8058203c +80582064 Kart::MovementBike::UpdateMtCharge +8058212c Kart::MovementBike::vf_0x24 +8058230c Kart::MovementBike::CancelWheelie +80582334 Kart::MovementBike::OnOoB +80582488 Kart::MovementBike::vf_0x2c +80582504 Kart::Boost::__ct +80582550 Kart::Boost::Reset +8058258c Kart::Boost::Activate +805825f4 Kart::Boost::CancelAll +80582600 Kart::Boost::Update +8058279c Kart::MovementBike::vf_0x30 +805827ac Kart::MovementBike::vf_0x68 +805827bc Kart::MovementBike::CheckWheelie +80582800 Kart::Movement::GetStarDuration +8058280c 0x8058280c +80582838 0x80582838 +8058288c 0x8058288c +805828f4 0x805828f4 +8058299c 0x8058299c +805829e8 0x805829e8 +80582a0c 0x80582a0c +80582a30 0x80582a30 +80582a48 0x80582a48 +80582ae4 0x80582ae4 +80582bd8 0x80582bd8 +80582bdc Kart::MovementRealLocal::Hop +80582c1c Kart::MovementBikeRealLocal::Hop +80582c5c Kart::MovementBikeRealLocal::StartWheelie +80582cf0 Kart::MovementBikeRealLocal::CancelWheelie2 +80582d48 Kart::MovementRemote::CanHop +80582da8 Kart::MovementBikeRemote::CanHop +80582e08 Kart::MovementBikeRemote::TryStartWheelie +80582e94 Kart::Movement::vf_0x58 +80582e98 Kart::MovementBike::GetLeanRot +80582ea0 Kart::MovementBikeRemote::__dt +80582ee0 Kart::MovementBike::__dt +80582f20 Kart::Movement::CheckWheelie +80582f28 Kart::Movement::GetLeanRot +80582f34 Kart::MovementRemote::__dt +80582f74 Kart::MovementBikeRealLocal::__dt +80582fb4 Kart::MovementRealLocal::__dt +80582ff4 0x80582ff4 +8058300c 0x8058300c +80583020 0x80583020 +80583038 RacedataHandler_consstruct +805830c0 0x805830c0 +80583100 0x80583100 +80583140 0x80583140 +80583168 0x80583168 +80583740 0x80583740 +80583f50 0x80583f50 +80583f90 0x80583f90 +80583fd0 0x80583fd0 +80584010 0x80584010 +80584050 0x80584050 +80584090 0x80584090 +805840d0 0x805840d0 +80584110 0x80584110 +80584150 0x80584150 +80584190 0x80584190 +805841d0 0x805841d0 +80584210 0x80584210 +80584250 0x80584250 +80584290 0x80584290 +805842d0 0x805842d0 +80584310 0x80584310 +80584350 0x80584350 +80584390 0x80584390 +805843e4 0x805843e4 +80584438 0x80584438 +8058448c 0x8058448c +805844e0 0x805844e0 +80584534 0x80584534 +805845b4 0x805845b4 +805845bc 0x805845bc +80584624 0x80584624 +8058462c 0x8058462c +80584694 0x80584694 +8058469c 0x8058469c +80584704 0x80584704 +8058470c 0x8058470c +80584774 0x80584774 +8058477c 0x8058477c +805847e4 0x805847e4 +805847ec 0x805847ec +80584854 0x80584854 +8058485c 0x8058485c +805848c4 0x805848c4 +805848cc 0x805848cc +805848e8 0x805848e8 +80584904 0x80584904 +80584920 0x80584920 +80584974 RacedataHandler_processInputs +80584c70 0x80584c70 +80585084 0x80585084 +805851d4 0x805851d4 +805855bc Audio::KartActor::Reset +805855fc 0x805855fc +80585864 0x80585864 +80585868 0x80585868 +805858b8 0x805858b8 +80585bb4 0x80585bb4 +80585c6c 0x80585c6c +80585c9c 0x80585c9c +80585dc0 0x80585dc0 +80585df0 0x80585df0 +80585df8 0x80585df8 +80585e28 0x80585e28 +80585e30 0x80585e30 +80585e60 0x80585e60 +80585e68 0x80585e68 +80585e98 0x80585e98 +80585ea0 0x80585ea0 +80585ed0 0x80585ed0 +80585ed8 0x80585ed8 +80585f3c 0x80585f3c +80585fa0 0x80585fa0 +80586004 0x80586004 +80586068 0x80586068 +805860cc 0x805860cc +80586130 0x80586130 +80586194 0x80586194 +80586204 RacedataFactory_construct +80586250 0x80586250 +80586290 0x80586290 +80586294 0x80586294 +80586298 RacedataFactory_sendRacedataRecord +8058630c RacedataFactory_packRacedataRecord +80586ba8 RacedataFactoryFlags_construct +80586bf0 RacedataFactoryFlags_destroy +80586c30 0x80586c30 +80586c40 0x80586c40 +80586c58 0x80586c58 +80586c7c 0x80586c7c +80586cb8 0x80586cb8 +80586cf8 0x80586cf8 +80586cfc 0x80586cfc +80586d4c 0x80586d4c +80586e20 0x80586e20 +80586fb4 0x80586fb4 +80587084 0x80587084 +805870b4 0x805870b4 +805870e4 0x805870e4 +80587118 0x80587118 +8058713c 0x8058713c +80587160 0x80587160 +80587184 0x80587184 +80587208 0x80587208 +8058722c 0x8058722c +80587280 0x80587280 +805872bc 0x805872bc +8058730c 0x8058730c +80587330 0x80587330 +805873b8 0x805873b8 +805873e8 0x805873e8 +80587428 0x80587428 +80587434 0x80587434 +80587478 0x80587478 +805874bc 0x805874bc +80587500 0x80587500 +8058753c 0x8058753c +80587598 Kart::Player::__ct +8058768c 0x8058768c +805876cc Kart::Player::__dt +8058773c 0x8058773c +80587758 0x80587758 +805877f0 0x805877f0 +80587964 Kart::Player::InitSub +80587a08 Kart::Player::Init +80587dd4 Kart::Player::CreateBody +80587e24 0x80587e24 +80587f00 0x80587f00 +80587fa0 0x80587fa0 +80587fe0 Kart::Player::PrepateTiresAndSUspensions +8058816c 0x8058816c +805881e8 Kart::Player::InitWheels +805883e4 Kart::Wheel::__dt +80588424 0x80588424 +805884bc Kart::Player::CreateSound +80588504 0x80588504 +80588544 0x80588544 +80588624 Kart::Player::SetStartPosition +80588690 Kart::Player::UpdateKartSub +80588698 Kart::Player::Update2 +80588828 0x80588828 +805889d0 Kart::Wheel::vf_0x24 +805889e8 0x805889e8 +80588a3c Kart::PlayerBike::CreateBody +80588ac4 Kart::PlayerBike::InitWheels +80588c88 Kart::WheelFront::__dt +80588cc8 Kart::WheelBikeFront::__dt +80588d08 Kart::Suspensions::__dt +80588d48 Kart::PlayerBike::CreateSound +80588d90 Kart::Manager::SetupPlayer +80588ffc Kart::Player::CreateModel +8058908c Kart::PlayerBike::__dt +80589100 0x80589100 +8058916c 0x8058916c +805891ac 0x805891ac +805891ec Kart::Manager::Disposer__dt +80589284 Kart::Manager::CreateInstance +805892d4 Kart::Manager::DestroyInstance +80589308 Kart::Manager::__ct +805895b0 Kart::Manager::__dt +805896bc Kart::Manager::Init +805897c4 Kart::Manager::Update +805898dc Kart::Manager::GetKartPlayer +805898ec 0x805898ec +80589904 Kart::Link::InitList +80589914 Kart::Link::LinkKartList +80589968 Kart::Link::__ct +805899ac Kart::Link::SetPointersFromPlayer +805899e8 Kart::Link::GetKartPosition +80589a00 Kart::Player::GetPreviousPosition +80589a14 Kart::Link::SetKartPosition +80589a40 Kart::Link::GetMtx +80589a54 Kart::Link::GetKartBodyMtx +80589a64 Kart::Link::SetKartRotation +80589ab8 Kart::Link::GetWheelCount0 +80589ac8 Kart::Link::GetWheelCount1 +80589ad8 Kart::Link::GetWheelCountReciprocal +80589ae8 Kart::Link::GetWheelCountPlus1Reciprocal +80589af8 Kart::Link::GetWheelPosition +80589b14 Kart::Link::WheelHasFloorCollision +80589b2c Kart::Link::SetBody0x94 +80589b44 Kart::Link::SetBodyHandleDistance +80589b5c Kart::Link::SetStartBoost +80589b6c Kart::Link::GetWheelSpeed +80589b88 Kart::Link::GetPhysicsHolder +80589b98 Kart::Link::GetPhysicsHolder(const) +80589ba8 Kart::Link::GetPhysics +80589bbc Kart::Link::GetPhysics(const) +80589bd0 Kart::Link::GetControllerHolder +80589bf8 Kart::Link::ActivateRumble(3 args) +80589c54 Kart::Link::ActivateRumble(1 arg) +80589d4c Kart::Link::ActivateRumble(no arg) +80589e2c Kart::Link::IsLocal +80589e40 Kart::Link::IsCPU +80589e54 Kart::Link::IsGhost +80589e68 Kart::Link::IsMii +80589e78 Kart::Link::GetBody +80589e84 Kart::Link::GetBody(const) +80589e90 Kart::Link::GetSuspensions +80589ea4 Kart::Link::GetSuspensions(const) +80589eb8 Kart::Link::GetWheels +80589ecc Kart::Link::GetWheels(const) +80589ee0 Kart::Link::GetWheelPhysicsHolder +80589ef8 Kart::Link::GetWheelPhysicsHolder(const) +80589f10 Kart::Link::GetWheelPhysics +80589f28 Kart::Link::GetWheelPhysics(const) +80589f40 Kart::Link::GetSub +80589f4c Kart::Link::GetSub(const) +80589f58 Kart::Link::GetMovement +80589f64 Kart::Link::GetMovement(const) +80589f70 Kart::Link::GetKartActor +80589f7c Kart::Link::GetCharacterActor +80589f8c Kart::Link::PlayCharacterSound +80589f9c Kart::Link::GetObject +80589fa8 Kart::Link::GetShadow +80589fb4 Kart::Link::GetPhysicsHolderHitboxGroup +80589fc8 Kart::Link::GetPhysicsHolderHitboxGroup(const) +80589fdc Kart::Link::GetWheelPhysicsHitboxGroup +80589ff8 Kart::Link::GetVehicleBodyCollisionData +8058a010 Kart::Link::GetWheelCollisionData +8058a028 Kart::Link::GetCollision +8058a034 Kart::Link::GetCollision(const) +8058a040 Kart::Link::GetStatsAndBsp +8058a050 Kart::Link::GetStats +8058a064 Kart::Link::GetBsp +8058a078 Kart::Link::GetBspHitboxes +8058a090 Kart::Link::GetBspWheel +8058a0b0 Kart::Link::GetValues0x18 +8058a0c0 Kart::Link::GetKartDriverDispEntry +8058a0d0 Kart::Link::GetRotatingItemsParams +8058a0e8 Kart::Link::GetKartPartsDispEntry +8058a0f8 Kart::Link::GetBikePartsDispEntry +8058a108 Kart::Link::GetExhaustParticleSet2 +8058a134 Kart::Link::GetExhaustParticleSet +8058a168 Kart::Link::GetBalloonsPosition +8058a194 Kart::Link::GetDriverDispEntry +8058a1a4 Kart::Link::GetCameraVerticalDistance +8058a1d0 Kart::Link::GetBaseHopStickX +8058a1e0 Kart::Link::GetHopStickX +8058a1ec Kart::Link::GetType +8058a204 Kart::Link::GetStatsWheelCount +8058a21c Kart::Link::GetDriverController +8058a228 Kart::Link::GetTriggersCollisionRadius +8058a238 Kart::Link::GetPlayerIdx +8058a248 Kart::Link::IsBike +8058a258 Kart::Link::GetKartId +8058a268 Kart::Link::ToggleKartVisible +8058a278 Kart::Link::ToggleVisible +8058a420 Kart::Link::GetBodyMatCol0(copy) +8058a448 Kart::Link::GetBodyMatCol1(copy) +8058a470 Kart::Link::GetBodyMatCol2(copy) +8058a498 Kart::Link::GetBodyMatCol0 +8058a4ac Kart::Link::GetBodyMatCol1 +8058a4c0 Kart::Link::GetBodyMatCol2 +8058a4d4 Kart::Link::GetEngineSpeed +8058a4e4 Kart::Link::GetSpeed +8058a4fc Kart::Link::GetDamage +8058a508 Kart::Link::GetDamage(const) +8058a514 Kart::Link::80590d38 +8058a538 Kart::Link::SetDamageType +8058a564 Kart::Link::SetAffectedByPOW +8058a570 Kart::Link::80590d94 +8058a580 Kart::Link::GetCurDamageType +8058a590 Kart::Link::CancelBoost +8058a59c Kart::Link::GetSpeedRatioCapped +8058a5ac Kart::Link::GetSpeedRatio +8058a5bc Kart::Link::HasCamera +8058a5d4 Kart::Link::SetCamera +8058a5e0 Kart::Link::GetScreenIdx +8058a604 Kart::Link::UpdateCameraOnRespawn +8058a61c Kart::Link::UpdateCameraOnBoost +8058a634 Kart::Link::ResetCameraFov +8058a64c Kart::Link::UpdateCameraOnExplosion +8058a664 Kart::Link::80590e88 +8058a668 Kart::Link::80590e8c +8058a680 Kart::Link::80590ea4 +8058a6b4 Kart::Link::StopCloseCamera +8058a6d4 Kart::Link::SetCamera +8058a6f4 Kart::Link::StopCameraMovAndRotation +8058a714 Kart::Link::80590f38 +8058a734 Kart::Link::80590f58 +8058a74c Kart::Link::UpdateCameraOnOOBHit +8058a76c Kart::Link::ActivateStarAnm +8058a778 Kart::Link::80590f9c +8058a808 Kart::Link::UpdateStarAnm +8058a814 Kart::Link::StopStarAnm +8058a820 Kart::Link::80591044 +8058a82c Kart::Link::80591050 +8058a84c Kart::Link::GetStarAnm +8058a858 Kart::Link::GetStarColor +8058a868 Kart::Link::GetModelsVisibility +8058a874 Kart::Link::GetModelsVisibility +8058a880 Kart::Link::GetMatTEVHandler +8058a88c Kart::Link::GetBaseSpeed +8058a89c Kart::Link::GetAIController +8058a8a8 Kart::Link::GetBodyClosestFloorFlags +8058a8c0 Kart::Link::GetBodyClosestFloorSettings +8058a8d8 Kart::Link::IsWheelHittingWall +8058a914 Kart::Link::GetClosestFloorKCLFlags +8058a94c Kart::Link::GetClosestFloorKCLSettingss +8058a984 Kart::Link::GetBodyKCLIntensity +8058a99c Kart::Link::805911c0 +8058a9b4 Kart::Link::GetDriftState +8058a9c4 Kart::Link::GetMTCharge +8058a9d4 Kart::Link::GetSMTCharge +8058a9e4 Kart::Link::GetMTMaxCharge +8058a9f0 Kart::Link::GetSMTMaxCharge +8058a9fc Kart::Link::TranslateBody +8058aa40 Kart::Link::80591264 +8058aaf0 Kart::Link::IsRespawning +8058ab20 Kart::Link::80591344 +8058ab54 Kart::Link::80591378 +8058ab84 Kart::Link::805913a8 +8058abd8 Kart::Link::IsWaitingForBackwards +8058abf4 Kart::Link::GetBackwardsAllowCounter +8058ac04 Kart::Link::Get1stLight +8058ac10 Kart::Link::Get2ndLight +8058ac1c Kart::Link::GetRacedataFactory +8058ac28 Kart::Link::GetRacedataHandler +8058ac34 Kart::Link::GetRacedataFactoryFlags +8058ac44 Kart::Link::80591468 +8058ac54 Kart::Link::SetScale +8058ac98 Kart::Link::GetScale +8058aca8 Kart::Link::IsWheelieing +8058acc0 Kart::Link::GetStartBoostCharge +8058acd0 Kart::Link::805914f4 +8058acfc Kart::Link::GetEntity +8058ad08 Kart::Link::GetClipInfo +8058ad14 Kart::Link::CallOnAllPartsFunc +8058ade4 Kart::Link::AreKartModelsVisible +8058adf4 Kart::Link::GetKiller +8058ae00 Kart::Link::GetBillViewMtx +8058ae40 Kart::Link::ResetInertia +8058aee8 Kart::Link::8059170c +8058af60 Kart::Link::StartOobWipe +8058af7c Kart::Link::GetOobWipeState +8058af8c Kart::Link::805917b0 +8058af9c Kart::Link::805917c0 +8058afd0 Kart::Link::805917f4 +8058b004 Kart::Link::80591828 +8058b028 Kart::Link::8059184c +8058b074 Kart::Link::80591898 +8058b098 Kart::Link::IncrementItemsHitCount +8058b0bc Kart::Link::IncrementItemsCollisionCount +8058b0e0 Kart::Link::GetZipper +8058b0f0 Kart::Link::GetTrick +8058b100 Kart::Link::InitLights +8058b158 Kart::Link::SetLightObjIdx +8058b174 0x8058b174 +8058b1c4 0x8058b1c4 +8058b1d0 Kart::InitParamBinsFromCommon +8058b350 Kart::InitParamBinsFromRace +8058b478 Kart::ResetParamBins +8058b4c4 Kart::GetParamBinFromCommon +8058b4dc Kart::GetParamBinFromRace +8058b528 Kart::GetParamBin +8058b598 Kart::GetBSP +8058b5ac Kart::LoadKartAndDriverParamBinsFromCommon +8058b634 Kart::LoadKartParamBinFromCommon +8058b684 Kart::LoadDriverParamBinFromCommon +8058b6d4 Kart::LoadStatsParamFileFromCommon +8058b728 Kart::GetKartParamEntry +8058b73c Kart::GetDriverParamEntry +8058b780 Kart::ComputeStats +8058bbe8 Kart::LoadKartDriverDisp +8058bc74 Kart::GetKartDriverDispEntry +8058bca8 Kart::LoadKartPartsDisp +8058bd34 Kart::GetKartPartsDispEntry +8058bd70 Kart::LoadBikePartsDisp +8058bdfc Kart::GetBikePartsDispEntry +8058be3c Kart::SetMiiDispParam +8058be54 Kart::LoadMiiDisp +8058bea4 Kart::LoadMiiDispFromMiiBody +8058bef4 Kart::LoadCameraParam +8058bf38 Kart::LoadDriverDisp +8058bf88 Kart::GetMiiDispEntry +8058bf9c Kart::GetDriverDispEntry +8058bfb0 Kart::Link::GetCameraParamBin +8058c024 Kart::Part::__ct +8058c0b8 0x8058c0b8 +8058c0fc Kart::Part::CreateModelDirectors +8058c204 Kart::Part::LoadModel +8058c20c Kart::Part::Create2ndModelDirector +8058c330 Kart::Part::Load +8058c340 Kart::Part::UpdateMatrix +8058c3d4 0x8058c3d4 +8058c498 Kart::Part::vf_0xC +8058c4b8 Kart::Part::SetModelScale +8058c4e0 Kart::Part::SetModelMtx +8058c564 Kart::Part::ToggleModelVisible +8058c58c Kart::Part::vf_0x20 +8058c5c0 0x8058c5c0 +8058c5d4 Kart::Part::ApplyStarColors +8058c638 Kart::Part::vf_0x2c +8058c6bc Kart::Part::vf_0x30 +8058c728 Kart::Part::UpdateModelDrawPriority +8058c784 0x8058c784 +8058c79c Kart::Values::__ct +8058c868 0x8058c868 +8058c8c0 0x8058c8c0 +8058c900 0x8058c900 +8058c904 0x8058c904 +8058c914 0x8058c914 +8058caec 0x8058caec +8058cc38 0x8058cc38 +8058cf58 0x8058cf58 +8058cfb0 0x8058cfb0 +8058cff0 0x8058cff0 +8058d3fc 0x8058d3fc +8058d454 0x8058d454 +8058d494 0x8058d494 +8058d4e8 0x8058d4e8 +8058d4f8 0x8058d4f8 +8058d530 0x8058d530 +8058d598 0x8058d598 +8058d5e4 0x8058d5e4 +8058d5f4 0x8058d5f4 +8058d780 0x8058d780 +8058d870 0x8058d870 +8058d8b0 0x8058d8b0 +8058d910 0x8058d910 +8058d998 0x8058d998 +8058db90 Kart::Status::__ct +8058dd38 Kart::Status::Reset +8058dd70 Kart::Status::Init +8058de10 0x8058de10 +8058de20 0x8058de20 +8058dee0 0x8058dee0 +8058df28 Kart::Status::UpdateCollisionsAndMore +8058e058 Kart::Status::UpdateFromInput +8058e3b0 Kart::Status::UpdateCollisions +8058f0c8 0x8058f0c8 +8058f0cc 0x8058f0cc +8058f0f4 Kart::Status::UpdateStartBoostCharge +8058f1b0 Kart::Status::ComputeStartBoost +8058f2d4 Kart::Status::ApplyStartBoost +8058f438 0x8058f438 +8058f480 0x8058f480 +8058f490 0x8058f490 +8058f4a0 Kart::Status::__dt +8058f4e0 0x8058f4e0 +8058f524 Kart::Sub::Init +8058f754 Kart::Sub::InitParts +8058f8d8 0x8058f8d8 +8058f958 Kart::Sub::ResetPhysics +8058fbc0 0x8058fbc0 +8058fc30 Kart::Sub::SetPointers +8058fc5c Kart::Sub::Update +805904d8 Kart::Player::ApplyPhysics +80591018 Kart::Sub::UpdateTransforms +80591110 0x80591110 +805911c8 0x805911c8 +8059121c 0x8059121c +80591264 Kart::Sub::UpdateMovingRoad +80591528 Kart::Player::ApplyCollisionForce +805918b4 0x805918b4 +80591a68 Kart::Sub::InitEntity +80591b14 0x80591b14 +80591bb8 0x80591bb8 +80591bd0 0x80591bd0 +80591be8 0x80591be8 +80591e0c 0x80591e0c +80591f20 0x80591f20 +8059206c 0x8059206c +805922a4 Kart::Sub::__dt +805922e4 Kart::Suspensions::__ct +8059232c Kart::Suspensions::LoadModel +8059233c Kart::Suspensions::Init +805923b0 Kart::Suspensions::InitPhysicsHolder +805923b8 Kart::Suspensions::Reset +805923c0 0x805923c0 +805923c8 Kart::Suspensions::UpdateMatrix +805927c4 Kart::SuspensionsBike::LoadModel +805927d4 Kart::SuspensionsBike::UpdateMatrix +80592900 0x80592900 +80592910 0x80592910 +80592b68 0x80592b68 +80592ba8 Kart::SuspensionsBike::__dt +80592be8 WheelPhysics::__ct +80592c4c WheelPhysics::InitHitboxGroup +80592cb0 0x80592cb0 +80592ce4 WheelPhysics::Reset +80592d9c 0x80592d9c +80592e6c WheelPhysics::UpdateCollision +805932ac WheelPhysics::Realign +80593578 0x80593578 +8059359c 0x8059359c +80593688 WheelPhysics::HasFloorCollision +80593698 AnimatedModelExplodable_GetWorldMatrix +805936a4 WheelPhysics::GetCollisionData +805936b0 WheelPhysicsHolder::__ct +80593730 WheelPhysicsHolder::Reset +8059377c 0x8059377c +80593808 0x80593808 +80593a54 WheelPhysicsHolder::Update +80593cd4 Vec3::MultMtxByVec +80593d50 WheelPhysicsHolder::ApplySuspensions +805941a0 WheelPhysics::__dt +805941e0 0x805941e0 +80594220 Kart::Wheel::__ct +8059428c Kart::Wheel::Init +805942f0 Kart::Wheel::CreatePhysics +80594344 0x80594344 +8059434c Kart::Wheel::LoadModel +805943d0 Kart::WheelFront::LoadModel +805943f8 Kart::WheelFront::CreatePhysics +8059444c Kart::Wheel::UpdateMatrix +80594618 0x80594618 +805946a8 Kart::WheelFront::UpdateMatrix +80594814 Kart::WheelBikeFront::CreatePhysics +80594868 Kart::WheelBikeFront::LoadModel +80594878 Kart::WheelBikeFront::UpdateMatrix +805949d8 Kart::WheelBikeRear::CreatePhysics +80594a2c Kart::WheelBikeRear::LoadModel +80594a3c Kart::WheelBikeRear::UpdateMatrix +80594b94 0x80594b94 +80594d00 0x80594d00 +80594d40 Kart::WheelBikeRear::__dt +80594d80 0x80594d80 +80594dbc 0x80594dbc +80594dc0 0x80594dc0 +80594e70 0x80594e70 +80594ed4 0x80594ed4 +80594f2c 0x80594f2c +80594f84 RendererMenu::__ct +8059500c RendererMenu::Calc +80595044 RendererMenu::DrawModels +805957cc MenuModel::vf_0x18 +805957e4 RendererMenu::Draw +80595898 Kart::PhysicsHolder::Init +80595954 Kart::Physics::__dt +80595994 0x80595994 +805959d4 Kart::PhysicsHolder::__dt +80595a64 0x80595a64 +80595aa4 Kart::PhysicsHolder::Reset +80595c44 Kart::PhysicsHolder::Update +80595ee4 0x80595ee4 +80595f0c 0x80595f0c +80595f24 0x80595f24 +80595fe8 0x80595fe8 +805960ac 0x805960ac +80596170 0x80596170 +80596234 0x80596234 +8059632c 0x8059632c +805963ac 0x805963ac +80596428 0x80596428 +805964a8 0x805964a8 +80596594 0x80596594 +8059661c Kart::PhysicsHolder::UpdateMat +805966a0 0x805966a0 +805966ec Kart::PhysicsHolder::ResetQuaternions +8059675c 0x8059675c +8059677c Kart::PhysicsHolder::__ct +8059682c CameraLink::__ct +80596884 GameCamera::__ct +805969a0 CameraLink::__dt +805969e0 GameCamera::Update +805969fc CameraMgr::__ct +80596a0c CameraLink::InitCameraList +80596a2c CameraMgr::SetInstance +80596a44 CameraLink::Register +80596a54 0x80596a54 +80596ab8 CameraLink::UpdateAllCameras +80596b40 CameraMgr::Update +80596b44 CameraMgr::__dt +80596b84 GameCamera::__dt +80596bc4 GameCamera::vf_0xC +80596bc8 GameCamera::GetPosition +80596be4 GameCamera::GetViewMatrix(const) +80596bec GameCamera::Update(thunk) +80596bf4 GameCamera::vf_0xC(thunk) +80596bfc GameCamera::__dt(thunk) +80596c04 GameCamValues::Reset +80596cbc RaceCamera::CopyVec(2vecs) +80596cd8 RaceCamera::_ct +80596f74 0x80596f74 +80596f78 Vec3::__ct(no args) +80596f7c 0x80596f7c +80596fbc 0x80596fbc +80596ffc RaceCamera::Init +80597190 RaceCamera::GetCamParams +80597198 RaceCamera::Update +80597ad0 0x80597ad0 +80597ae8 RaceCamera::CopyVec(1vec) +80597b04 RaceCamera::CheckBitfield334 +80597b1c 0x80597b1c +80597b24 RaceCamera::NegateVec +80597b4c 0x80597b4c +80597bfc 0x80597bfc +80597c5c RaceCamera::SubtractVecs +80597c90 RaceCamera::AddVecs(3vecs) +80597cc4 0x80597cc4 +80597fa8 RaceCamera::LinearTransfo(2vecs) +80597fe8 RaceCamera::DotVec +80598018 RaceCamera::CheckKartStatusField1 +80598038 0x80598038 +805982dc RaceCamera::CheckKartStatusField0 +805982fc RaceCamera::IsAutomatic +80598310 RaceCamera::ClampFloat +80598344 RaceCamera::AcosDeg +80598430 0x80598430 +80598478 RaceCamera::UpdateCamValues +80598df4 RaceCamera::CrossVec +80598e40 RaceCamera::NormalizeAndGetNorm +80598e44 RaceCamera::CompareFloats +80598e64 PSMTXMultVec +80598e68 RaceCamera::ScaleVec(2vecs) +80598e90 0x80598e90 +80598e98 0x80598e98 +80598ea0 0x80598ea0 +80598ea8 0x80598ea8 +80598f58 0x80598f58 +80598f8c RaceCamera::SubtractVecsPS +80598fb0 RaceCamera::AddVecs(2vecs) +80598fe4 RaceCamera::ScaleVec(3vecs) +8059900c 0x8059900c +80599014 0x80599014 +80599054 0x80599054 +8059905c RaceCamera::GetVecMag +80599060 RaceCamera::NormalizeVecPS +80599098 0x80599098 +80599604 0x80599604 +8059976c 0x8059976c +805998f8 0x805998f8 +80599984 RaceCamera::OnRespawn +80599bac 0x80599bac +80599bd0 0x80599bd0 +80599ca4 RaceCamera::FlushPrevValues +80599cd8 0x80599cd8 +80599d84 RaceCamera::OnBoost +80599da4 RaceCamera::ResetAddedFov +80599db4 RaceCamera::OnExplosion +80599de8 0x80599de8 +80599dfc 0x80599dfc +8059a510 0x8059a510 +8059a794 0x8059a794 +8059acf8 0x8059acf8 +8059ad38 RaceCamera::vf_0x50 +8059b58c 0x8059b58c +8059b5c0 0x8059b5c0 +8059b5f0 0x8059b5f0 +8059b6a0 0x8059b6a0 +8059b784 0x8059b784 +8059b848 0x8059b848 +8059b8c0 0x8059b8c0 +8059ba80 0x8059ba80 +8059bb60 0x8059bb60 +8059bbcc 0x8059bbcc +8059bc10 0x8059bc10 +8059bc20 RaceCamera::GetViewMtx +8059bd94 0x8059bd94 +8059bdac 0x8059bdac +8059bdf8 0x8059bdf8 +8059be08 BCPInfo::Load +8059be7c 0x8059be7c +8059becc 0x8059becc +8059bf0c OpeningPan::Load +8059c068 OpeningPan::Init +8059c2a4 0x8059c2a4 +8059c320 OpeningPan::Calc +8059c530 0x8059c530 +8059c554 cPN_Feather_SetNodeWeight +8059c564 0x8059c564 +8059c574 FormationSet_GetFormationSpec +8059c584 0x8059c584 +8059c594 0x8059c594 +8059c698 0x8059c698 +8059c6f4 0x8059c6f4 +8059c7b8 0x8059c7b8 +8059c7e8 0x8059c7e8 +8059d314 RaceCameraMgr::Disposer__dt +8059d3ac RaceCameraMgr::CreateInstance +8059d3fc RaceCameraMgr::DestroyInstance +8059d430 RaceCameraMgr::__ct +8059dca4 RaceCameraMgr::__dt +8059dd5c 0x8059dd5c +8059df44 RaceCamera::__dt +8059df84 RaceCameraMgr::HasEveryOpeningPanEnded +8059dfd4 RaceCameraMgr::Update +8059e034 RaceCameraMgr::ApplyShaking +8059e27c 0x8059e27c +8059e3f8 0x8059e3f8 +8059e4a0 0x8059e4a0 +8059e4f8 0x8059e4f8 +8059e674 0x8059e674 +8059e6d0 0x8059e6d0 +8059e864 0x8059e864 +8059e8cc 0x8059e8cc +8059e938 0x8059e938 +8059e978 0x8059e978 +8059e9ac 0x8059e9ac +8059e9dc 0x8059e9dc +8059ea08 0x8059ea08 +8059eacc RaceCameraMgr::ChangeFocusedPlayer +8059eb2c 0x8059eb2c +8059eb6c OpeningPan::__dt +8059ebac RaceCamera::__dt(thunk) +8059ebb4 RaceCamera::Update(thunk) +8059ebbc RaceCamera::Init(thunk) +8059ebc4 0x8059ebc4 +8059ebcc AutoCameraMover::__ct +8059ec80 0x8059ec80 +8059ecf8 0x8059ecf8 +8059ed08 0x8059ed08 +8059ed18 0x8059ed18 +8059eea4 0x8059eea4 +8059eeac 0x8059eeac +8059ef24 0x8059ef24 +8059f108 0x8059f108 +8059f110 0x8059f110 +8059f1fc 0x8059f1fc +8059f6e0 0x8059f6e0 +8059f7b8 0x8059f7b8 +8059f868 0x8059f868 +8059f8b4 0x8059f8b4 +8059f910 0x8059f910 +8059f9cc 0x8059f9cc +8059fbb4 0x8059fbb4 +8059fc34 0x8059fc34 +8059fcd8 0x8059fcd8 +8059ff34 AutoCameraMoverRace::__ct +805a0544 0x805a0544 +805a0584 0x805a0584 +805a05c4 0x805a05c4 +805a0604 AutoCameraMoverRace::ResetActions +805a060c AutoCameraMoverRace::vf_0x10 +805a0b60 0x805a0b60 +805a0d20 0x805a0d20 +805a0d28 0x805a0d28 +805a0e2c 0x805a0e2c +805a0ed0 0x805a0ed0 +805a0ed4 0x805a0ed4 +805a0ee4 0x805a0ee4 +805a0ef4 0x805a0ef4 +805a0f04 0x805a0f04 +805a0f14 0x805a0f14 +805a0f24 0x805a0f24 +805a0f34 0x805a0f34 +805a0f64 AutoCameraMoverRace::OnAction0Start +805a0f68 AutoCameraMoverRace::OnAction0Update +805a104c AutoCameraMoverRace::OnAction1Start +805a1078 AutoCameraMoverRace::OnAction1Update +805a11b0 AutoCameraMoverRace::OnAction2Start +805a1288 AutoCameraMoverRace::OnAction2Update +805a13c0 AutoCameraMoverRace::OnRaceEndStart +805a141c AutoCameraMoverRace::OnRaceEndUpdate +805a153c AutoCameraMoverRace::OnAction4Start +805a15f8 AutoCameraMoverRace::OnAction4Update +805a1704 AutoCameraMoverRace::OnAction5Start +805a17dc AutoCameraMoverRace::OnAction5Update +805a1954 AutoCameraMoverRace::OnAction6Start +805a1ac4 AutoCameraMoverRace::OnAction6Update +805a1bb4 0x805a1bb4 +805a1ccc 0x805a1ccc +805a1eb4 0x805a1eb4 +805a1f24 0x805a1f24 +805a1ff4 0x805a1ff4 +805a2224 0x805a2224 +805a2248 0x805a2248 +805a22c0 DemoCamera_ct +805a24b8 0x805a24b8 +805a24f8 DemoCamera_init +805a264c 0x805a264c +805a2660 0x805a2660 +805a28b4 0x805a28b4 +805a2944 0x805a2944 +805a29bc 0x805a29bc +805a2ac0 0x805a2ac0 +805a2b7c 0x805a2b7c +805a2bd8 0x805a2bd8 +805a2d48 0x805a2d48 +805a2e30 0x805a2e30 +805a2e70 0x805a2e70 +805a2eb0 0x805a2eb0 +805a2ef8 0x805a2ef8 +805a2f28 0x805a2f28 +805a2f70 CamMove::OnStart +805a2fb8 CamMove::Update +805a2fe8 CamMove::OnEnd +805a3030 0x805a3030 +805a30c8 BFGHolder::__ct +805a31d0 BFGHolder::Update +805a3434 0x805a3434 +805a3494 0x805a3494 +805a3518 FogManager::__ct +805a3614 FogManager::Update +805a36cc 0x805a36cc +805a37e8 0x805a37e8 +805a380c FogManager::__dt +805a384c BFGHolder::__dt +805a388c 0x805a388c +805a39a8 0x805a39a8 +805a3ac4 VEC3_perpInPlane +805a3bb0 0x805a3bb0 +805a3c60 Vec3_projUnit +805a3ca8 VEC3_rejUnit +805a3cfc VEC3_projAndRej +805a3d64 0x805a3d64 +805a3d80 0x805a3d80 +805a3dec 0x805a3dec +805a3eec 0x805a3eec +805a3f9c GetPath +805a4044 0x805a4044 +805a40f8 0x805a40f8 +805a4120 0x805a4120 +805a41c8 0x805a41c8 +805a4220 0x805a4220 +805a4294 0x805a4294 +805a4300 0x805a4300 +805a4408 0x805a4408 +805a4448 ScnMgrCreator::Disposer__dt +805a44e0 ScnMgrCreator::CreateInstance +805a4564 0x805a4564 +805a45a4 ScnMgrCreator::DestroyInstance +805a45d8 ScnMgrCreator::__dt +805a4680 ScnMgrCreator::CreateScnMgr +805a484c ScnMgrCreator::CreateRace +805a4a20 0x805a4a20 +805a4ac0 ScnMgrCreator::CreateMenu +805a4b88 ScnMgrCreator::CreateGlobe +805a4c50 0x805a4c50 +805a4d20 0x805a4d20 +805a4d30 0x805a4d30 +805a4d70 0x805a4d70 +805a4dec 0x805a4dec +805a4ef8 0x805a4ef8 +805a4f60 0x805a4f60 +805a518c 0x805a518c +805a5374 0x805a5374 +805a556c 0x805a556c +805a5604 0x805a5604 +805a5c00 0x805a5c00 +805a5f18 0x805a5f18 +805a63d4 0x805a63d4 +805a63d8 ScnMgrRace::__ct +805a642c ScnMgrRace::__ct +805a6484 0x805a6484 +805a6524 ScnMgrRace::805b144c +805a6548 ScnMgrRace::SetModelXluDrawPriority +805a65b8 ScnMgrRace::LoadPostEffects +805a6af0 ScnMgrRace::LoadLights +805a6b4c ScnMgrRace::vf_0xC +805a6d50 ScnMgrRace::CalcSelf +805a6db0 ScnMgrRace::Draw +805a6e34 0x805a6e34 +805a7004 0x805a7004 +805a71e8 ScnMgrRace::UpdateCameras +805a7240 0x805a7240 +805a72c0 0x805a72c0 +805a731c 0x805a731c +805a7454 0x805a7454 +805a7628 0x805a7628 +805a7640 0x805a7640 +805a772c 0x805a772c +805a7818 0x805a7818 +805a8364 0x805a8364 +805a8408 0x805a8408 +805a8548 0x805a8548 +805a8624 0x805a8624 +805a8748 0x805a8748 +805a87bc 0x805a87bc +805a87c0 0x805a87c0 +805a8b30 0x805a8b30 +805a8b44 ScnProcShadows::Draw +805a8b50 ScnProcShadows2::Draw +805a8b5c 0x805a8b5c +805a8b68 0x805a8b68 +805a8b74 ScnProcEffects::Draw +805a8bac ScnProcCourseFilterEffect::Draw +805a8bcc ScnProcEffectsSelfItem::Draw +805a8bd8 ScnMgrRace::Init +805a8f80 ScnProcEffectsSelfItem::__dt +805a8fd8 ScnProcCourseFilterEffect::__dt +805a9030 ScnProcEffects::__dt +805a9088 0x805a9088 +805a90e0 0x805a90e0 +805a9138 ScnProcShadows2::__dt +805a9190 ScnProcShadows::__dt +805a91e8 RendererRaceUIScreen::__ct +805a922c RendererRaceUIScreen::__dt +805a9284 RendererRaceUIScreen::Draw +805a9314 RendererRaceUIOrtho::__ct +805a9358 RendererRaceUIOrtho::__dt +805a93b0 RendererRaceUIOrtho::Draw +805a93ec RendererRaceUIOrtho::Calc +805a93f0 RendererRaceUIScreen::Calc +805a93f4 RendererRaceModels::__ct +805a9440 RendererRaceModels::DrawModels +805a9494 RendererRaceModels::vf_0x1c +805a9560 RendererRaceModels::Draw +805a95e4 0x805a95e4 +805a975c RendererRaceModels::__dt +805a97b4 0x805a97b4 +805a97c0 0x805a97c0 +805a9984 0x805a9984 +805a9b08 0x805a9b08 +805a9b64 0x805a9b64 +805a9b70 0x805a9b70 +805a9bd0 Kart::Physics::__ct +805a9c2c Kart::Physics::Reset +805a9dfc Kart::Physics::ResetSpeed +805a9e98 Kart::Physics::Init(Reset Thunk) +805a9e9c Kart::Physics::Init +805a9f5c Kart::Physics::InitInertia +805aa00c Kart::Physics::CalcInvInertia +805aa01c 0x805aa01c +805aa1d0 0x805aa1d0 +805aa248 Kart::Physics::Update +805aac3c 0x805aac3c +805aac40 Kart::Physics::Stabilize +805aadc0 0x805aadc0 +805aaf18 0x805aaf18 +805ab01c 0x805ab01c +805ab050 0x805ab050 +805ab228 Kart::Physics::ApplyWheelSuspension +805ab374 0x805ab374 +805ab460 0x805ab460 +805ab494 0x805ab494 +805ab510 0x805ab510 +805ab520 Kart::PhysicsBike::Stabilize +805ab7bc Kart::PhysicsBike::__dt +805ab7fc Kart::Collision::UpdateCollisionsInner +805abb74 0x805abb74 +805abe20 Kart::Collision::ApplyBodyCollision +805ac024 Kart::Collision::UpdateWheelCollision +805ac334 0x805ac334 +805ac390 0x805ac390 +805ac9a8 0x805ac9a8 +805aca00 0x805aca00 +805ad020 Hitbox::Set +805ad05c Hitbox::Reset +805ad094 Hitbox::Update +805ad180 0x805ad180 +805ad230 0x805ad230 +805ad2a8 0x805ad2a8 +805ad2bc 0x805ad2bc +805ad2f4 CollisionData::__ct +805ad394 HitboxGroup::__ct +805ad408 HitboxGroup::Reset +805ad4b0 0x805ad4b0 +805ad4f8 0x805ad4f8 +805ad558 0x805ad558 +805ad598 HitboxGroup::__ct(hitboxes) +805ad780 0x805ad780 +805ad834 HitboxGroup::__ct(radius,position) +805ad914 HitboxGroup::UpdateBoundingRadius +805ada5c ShadowModelDirector::__ct(ClipInfo) +805adacc ShadowModelDirector::__ct +805adb20 ShadowModelDirector::__dt +805adb78 ShadowModelDirector::SetScnOptions +805adc7c ShadowModelsMgr::Disposer__dt +805add14 ShadowModelsMgr::CreateInstance +805addd4 ShadowModelsMgr::DestroyInstance +805ade08 ShadowModelsMgr::__ct +805ade9c ShadowModelsMgr::__dt +805adf38 ShadowModelsMgr::InsertModel +805adf40 ShadowModelsMgr::InsertModel2 +805adf48 ShadowModelsMgr::Draw +805ae018 ShadowModelsMgr::Draw2 +805ae0e8 Kart::ScaleAnmController::LoadAnimations +805ae218 Kart::ScaleAnmController::GetAnmScale +805ae270 Kart::ScaleAnmController::GetPressUpAnmScale +805ae2c0 Kart::ScaleAnmController::__ct +805ae40c 0x805ae40c +805ae44c 0x805ae44c +805ae48c Kart::ScaleAnmController::Reset +805ae530 Kart::ScaleAnmController::RequestScaleChange +805ae5dc 0x805ae5dc +805ae610 0x805ae610 +805ae648 0x805ae648 +805ae6e4 Kart::ScaleAnmController::RequestEndScale +805ae794 Kart::ScaleAnmController::Update +805ae9d8 0x805ae9d8 +805aeb24 Kart::ScaleAnmController::__dt +805aeb64 KartScaleAnmController_cpp_sinit_ +805aebac Kart::ScaleAnmController::__ct +805aebb8 0x805aebb8 +805aebf0 0x805aebf0 +805aec90 0x805aec90 +805aec9c Kart::Zipper::__ct +805aecf8 Kart::Zipper::__dt +805aed38 0x805aed38 +805aed50 0x805aed50 +805aed98 0x805aed98 +805aee7c 0x805aee7c +805aeec8 Kart::Zipper::Update +805af804 Vec3::RotateQuaternionConjugate +805af818 0x805af818 +805af9e8 0x805af9e8 +805afc54 0x805afc54 +805afe70 0x805afe70 +805b042c Kart::Zipper::End +805b058c 0x805b058c +805b05e8 Kart::Killer::ModelCalc::ExecWorldCBImpl +805b0640 Kart::Killer::__ct +805b07a0 Kart::Killer::Activate +805b0c2c Kart::Killer::Update +805b0e74 Kart::Killer::Init +805b10a0 Kart::Killer::ToggleVisible +805b1100 cancelBullet +805b1284 0x805b1284 +805b1434 0x805b1434 +805b1780 0x805b1780 +805b1850 0x805b1850 +805b1870 0x805b1870 +805b193c 0x805b193c +805b1a9c 0x805b1a9c +805b1b3c 0x805b1b3c +805b1c48 Kart::Killer::UpdateDuration +805b1e0c 0x805b1e0c +805b1eec 0x805b1eec +805b1fac 0x805b1fac +805b206c 0x805b206c +805b20a8 Kart::Killer::UpdateUps +805b22a0 0x805b22a0 +805b22bc Kart::Killer::UpdateSettings +805b2434 Kart::Killer::UpdateGravity +805b2584 0x805b2584 +805b2640 0x805b2640 +805b28c8 0x805b28c8 +805b294c 0x805b294c +805b2964 0x805b2964 +805b2acc 0x805b2acc +805b2cc4 0x805b2cc4 +805b2e84 Kart::Killer::__dt +805b2ec4 Kart::Killer::ModelCalc::__dt +805b2f04 Kart::Killer::ModelCalc::__dt(thunk) +805b2f0c MenuModelMgr::Disposer__dt +805b2fa4 MenuModelMgr::CreateInstance +805b3034 MenuModelMgr::DestroyInstance +805b3068 MenuModelMgr::__ct +805b30cc MenuModelMgr::__dt +805b31e4 MenuModelMgr::Start +805b3238 MenuModelMgr::Init +805b3490 MenuModelMgr::Update +805b34e4 MenuModelMgr::Draw +805b3538 MenuModelMgr::ResetKartModels +805b3550 MenuModelMgr::RequestDriverModel +805b3568 MenuModelMgr::RequestKartModel +805b3580 MenuModelMgr::RequestBackModel +805b358c MenuModelMgr::TogglePlayerModel +805b35a4 0x805b35a4 +805b35bc MenuModelMgr::ToggleBackModel +805b35c4 MenuModelMgr::GetTexObj +805b35d8 0x805b35d8 +805b3600 0x805b3600 +805b361c MenuModelMgr::GetDriverTexture +805b362c MenuModelMgr::GetKartTexture +805b3684 0x805b3684 +805b3694 0x805b3694 +805b3754 ScnMgrMenu::__ct +805b37b0 ScnMgrMenu::__dt +805b3808 ScnMgrMenu::UpdateCameras +805b389c 0x805b389c +805b38ac ScnMgrMenu::LoadLights +805b3908 ScnMgrMenu::CreateScnGroup +805b3960 ScnMgrMenu::SetAnmScn +805b3974 ScnMgrMii::__ct +805b39cc ScnMgrMii::__dt +805b3a24 ScnMgrMii::LoadLights +805b3a8c 0x805b3a8c +805b3adc 0x805b3adc +805b3b1c 0x805b3b1c +805b3ca4 0x805b3ca4 +805b3ce8 0x805b3ce8 +805b3d28 0x805b3d28 +805b3d2c 0x805b3d2c +805b3e58 0x805b3e58 +805b3ef8 0x805b3ef8 +805b3fac 0x805b3fac +805b4050 0x805b4050 +805b40c4 0x805b40c4 +805b423c 0x805b423c +805b4308 0x805b4308 +805b43dc 0x805b43dc +805b45f4 0x805b45f4 +805b4758 0x805b4758 +805b47fc 0x805b47fc +805b4860 0x805b4860 +805b48b4 0x805b48b4 +805b48f4 0x805b48f4 +805b4934 0x805b4934 +805b4968 0x805b4968 +805b498c 0x805b498c +805b4a0c 0x805b4a0c +805b4a7c 0x805b4a7c +805b4b7c 0x805b4b7c +805b4c0c 0x805b4c0c +805b4c4c 0x805b4c4c +805b4c8c 0x805b4c8c +805b4c90 MatModelDirector::__ct +805b4cec MatModelDirector::__ct(scnMgrIdx) +805b4d48 MatModelDirector::__ct(ClipInfo) +805b4da4 MatModelDirector::__dt +805b4e0c MatModelDirector::AppendToScnMgr +805b4e50 MatModelDirector::SetMaterialNames +805b4e60 MatModelDirector::CopyMaterialsTevColors +805b4f48 MatModelDirector::ReplaceDefaultScnMdlTevColorDL +805b4f78 MatModelDirector::__dt(thunk) +805b4f80 Pages::ActionLess::__ct +805b4fc4 Pages::ActionLess::__dt +805b502c Pages::ActionLess::OnInit +805b5080 Pages::ActionLess::OnActivate +805b508c Pages::ActionLess::AfterControlUpdate +805b50c4 Pages::ActionLess::RequestEnd +805b50d0 Pages::AutoEndingTransparent::__ct +805b5138 Pages::AutoEndingTransparent::__dt +805b51cc Pages::AutoEndingTransparent::OnInit +805b52c0 Pages::AutoEndingTransparent::ResetText +805b52d0 Pages::AutoEndingTransparent::SetMessageWindowText +805b52d8 Pages::AutoEnding::__ct +805b5350 CtrlMenuPageTitleText::__dt +805b53a8 Pages::AutoEnding::__dt +805b5464 Pages::AutoEnding::OnInit +805b5600 Pages::AutoEnding::ResetText +805b5650 Pages::AutoEnding::SetTitleText +805b5658 Pages::AutoEnding::SetMessageWindowText +805b5660 Page::vf_0x5c +805b5664 Page::OnSectionChange +805b5668 Page::OnResume +805b566c Page::OnUpdate +805b5670 Page::BeforeControlUpdate +805b5674 Page::AfterExitAnimations +805b5678 Page::BeforeExitAnimations +805b567c Page::AfterEntranceAnimations +805b5680 Page::BeforeEntranceAnimations +805b5684 Page::OnDeactivate +805b5688 Page::OnDispose +805b568c Page::IsDVDEnabled +805b5694 Page::IsHomeMenuWorking +805b569c Page::Getpage +805b56a4 0x805b56a4 +805b56ac Pages::AutoEnding::GetRuntimeTypeInfo +805b56b8 Page::GetNextPage +805b56c0 Pages::AutoEndingTransparent::GetRuntimeTypeInfo +805b56cc Pages::ActionLess::GetRuntimeTypeInfo +805b56d8 ActionLessPage_cpp_sinit_ +805b56f8 PushButton::GetClassName +805b5704 PushButton::__ct +805b580c PushButton::__dt +805b5874 PushButton::Load +805b5a60 ManipulatorManager::GetRuntimeTypeInfo +805b5a6c PushButton::OnLoad +805b5a70 0x805b5a70 +805b5a7c PushButton::LoadWithAnims +805b5e24 PushButton::SetOnClickHandler +805b5e3c PushButton::SetOnSelectHandler +805b5e44 PushButton::SetOnDeSelectHandler +805b5e4c PushButton::SelectInitial +805b5ea0 PushButton::Select +805b5eb4 PushButton::SelectFocus +805b5f30 PushButton::SetPlayerBitfield +805b5f3c PushButton::Init +805b60f4 PushButton::Update +805b62a0 PushButton::IsSelected +805b62e4 PushButton::GetAnimationFrameSize +805b6358 PushButton::HandleSelect +805b6488 PushButton::OnSelect +805b648c PushButton::HandleDeselect +805b66b0 PushButton::OnDeselect +805b66b4 PushButton::HandleClick +805b6788 PushButton::OnClick +805b678c PushButton::SetSelectionSoundId +805b6794 PushButtonScaleFade::GetClassName +805b67a4 PushButtonScaleFade::__ct +805b68b8 PushButtonScaleFade::__dt +805b6924 PushButtonScaleFade::SetPositionAnim +805b695c UIControl::805bd2d8 +805b6960 UIControl::OnPlayAnimSound +805b6964 UIControl::OnUpdate +805b6968 0x805b6968 +805b696c PushButtonScaleFade::GetRuntimeTypeInfo +805b6978 PushButton::GetRuntimeTypeInfo +805b6984 0x805b6984 +805b69b4 0x805b69b4 +805b69d4 NotifyButton::GetClassName +805b69e0 NotifyButton::__ct +805b6a1c NotifyButton::__dt +805b6a74 NotifyButton::Load +805b6b30 NotifyButton::InitSelf +805b6c04 NotifyButton::OnUpdate +805b6f9c NotifyButton::OnClick +805b6fe0 NotifyButton::OnClick_switch +805b6fe4 NotifyButton::OnClick_caseD_0 +805b6fec NotifyButton::OnClick_caseD_1 +805b6ff4 NotifyButton::OnClick_caseD_2 +805b70fc NotifyButton::OnClick_caseD_3 +805b7104 NotifyButton::OnClick_caseD_5 +805b710c NotifyButton::OnClick_caseD_7 +805b7114 NotifyButton::OnClick_caseD_8 +805b711c NotifyButton::OnClick_caseD_9 +805b7124 NotifyButton::OnClick_caseD_a +805b7174 NotifyButton::OnClick_switch_805bfb90::CaseD_a +805b7198 0x805b7198 +805b71a0 0x805b71a0 +805b71a8 0x805b71a8 +805b71b0 0x805b71b0 +805b71b8 0x805b71b8 +805b71c0 0x805b71c0 +805b71c8 0x805b71c8 +805b71d0 0x805b71d0 +805b71d8 0x805b71d8 +805b71e0 0x805b71e0 +805b71e8 0x805b71e8 +805b71f8 NotifyButton::CheckStatusAvailabilities +805b7420 Page::GetRuntimeTypeInfo +805b742c NotifyButton::UpdateText +805b7468 NotifyButton::UpdateText_switch +805b746c NotifyButton::UpdateText_caseD_0 +805b7474 NotifyButton::UpdateText_caseD_1 +805b747c NotifyButton::UpdateText_caseD_2 +805b7484 NotifyButton::UpdateText_caseD_3 +805b748c NotifyButton::UpdateText_caseD_4 +805b7494 NotifyButton::UpdateText_caseD_5 +805b749c NotifyButton::UpdateText_caseD_6 +805b74a4 NotifyButton::UpdateText_caseD_7 +805b74ac NotifyButton::UpdateText_caseD_8 +805b74b4 NotifyButton::UpdateText_caseD_9 +805b74bc NotifyButton::UpdateText_caseD_a +805b7528 Pages::Channel::__ct +805b76d0 CtrlMenuBackButton::__dt +805b7728 CtrlMenuInstructionText::__dt +805b7780 Pages::Channel::__dt +805b7864 Pages::Channel::OnInit +805b7eec Pages::Channel::OnDispose +805b7ef0 Pages::Channel::OnActivate +805b7f48 Pages::Channel::OnButtonClick +805b81e0 Pages::Channel::OnButtonSelect +805b8288 Pages::Channel::OnButtonSelect_switch +805b828c Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_0 +805b8294 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_1 +805b829c Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_2 +805b82a4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_3 +805b82ac Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_4 +805b82b4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_5 +805b82bc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_6 +805b82c4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_7 +805b82cc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_8 +805b82d4 Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_9 +805b82dc Pages::Channel::OnButtonSelect_switch_805c0c20::CaseD_a +805b82f8 Pages::Channel::OnBackPress +805b8330 Pages::ChannelGhostChoice::__ct +805b84a0 Pages::ChannelGhostChoice::__dt +805b8550 Pages::ChannelGhostChoice::OnInit +805b8868 Pages::ChannelGhostChoice::OnActivate +805b88c0 Pages::ChannelGhostChoice::OnButtonClick +805b89a8 Pages::ChannelGhostChoice::OnButtonSelect +805b89fc Pages::ChannelGhostChoice::OnBackPress +805b8a14 Pages::ChannelRankingChoice::__ct +805b8b84 Pages::ChannelRankingChoice::__dt +805b8c34 Pages::ChannelRankingChoice::OnInit +805b8ea4 Pages::ChannelRankingChoice::OnActivate +805b8ef4 Pages::ChannelRankingChoice::GetNextPage +805b8f0c Pages::ChannelRankingChoice::OnButtonClick +805b9138 Pages::ChannelRankingChoice::OnButtonSelect +805b918c Pages::ChannelRankingChoice::OnBackPress +805b919c 0x805b919c +805b91a0 Pages::ChannelRankingChoice::GetRuntimeTypeInfo +805b91ac Pages::ChannelGhostChoice::GetNextPage +805b91b4 Pages::ChannelGhostChoice::GetRuntimeTypeInfo +805b91c0 Pages::Channel::GetNextPage +805b91c8 Pages::Channel::GetRuntimeTypeInfo +805b91d4 NotifyButton::GetRuntimeTypeInfo +805b91e0 TriggerPtmf +805b9210 TriggerPtmf +805b9240 TriggerPtmf +805b9270 TriggerPtmf +805b92a0 TriggerPtmf +805b92d0 TriggerPtmf +805b9300 ChannelPage_cpp_sinit_ +805b932c Pages::Approve::__ct +805b9484 Pages::Approve::__dt +805b9524 Pages::Approve::OnInit +805b96f8 Pages::Approve::OnActivate +805b9784 Pages::Approve::OnDeactivate +805b9788 Pages::Approve::Reset +805b9814 Pages::Approve::SetTitleMessage +805b981c Pages::Approve::SetMessageWindowMessage +805b9824 Pages::Approve::SetApproveButtonMessage +805b982c Pages::Approve::OnClick +805b98a8 Pages::Approve::OnBackButtonClick +805b9924 Pages::Approve::OnBackPress +805b9990 Pages::Approve::BeforeEntranceAnimations +805b99ac 0x805b99ac +805b99c8 0x805b99c8 +805b99d0 Pages::Approve::GetRuntimeTypeInfo +805b99dc Pages::Approve::TriggerApprovePtmf +805b9a0c Pages::Approve::TriggerDisapprovePtmf +805b9a3c ApprovePage_cpp_sinit_ +805b9a50 ControlGroup::__ct +805b9a6c ControlGroup::__dt +805b9acc ControlGroup::Init(UIControl) +805b9c8c ControlGroup::Init(Page) +805b9e48 ControlGroup::SetControl +805b9e70 ControlGroup::805c2804 +805b9ed4 ControlGroup::InitControls +805b9f44 ControlGroup::Update +805b9fb4 ControlGroup::Draw +805ba0c8 ControlGroup::ResetControlsPosition +805ba12c ControlGroup::GetControl +805ba13c ControlGroup::DoAction +805ba284 ControlLoader::__ct +805ba28c ControlLoader::__dt +805ba2cc ControlLoader::Load +805ba4ec ControlLoader::LoadBRCTR +805ba5a0 ControlLoader::LoadAnimations +805ba884 ControlLoader::IsStringInArray +805ba91c ControlLoader::FindStringInArray +805ba994 ControlLoader::GetVariant +805baa14 ControlLoader::LoadVariant +805baadc ControlLoader::LoadMessages +805babbc ControlLoader::LoadPictures +805bac64 CountDown::__ct +805bac84 CountDown::__dt +805bacc4 Countdown::SetInitial +805bacdc Countdown::Update +805bad60 CountDownTimerControl::GetClassName +805bad6c CountDownTimerControl::__ct +805badb0 CountDownTimerControl::__dt +805bae08 CountDownTimerControl::Load +805bae94 CountDownTimerControl::InitSelf +805bb114 CountDownTimerControl::OnUpdate +805bb418 CountDownTimerControl::AnimateCurrentCountDown +805bb4c8 CountDownTimerControl::Reset +805bb578 0x805bb578 +805bb7e0 CountDownTimerControl::GetRuntimeTypeInfo +805bb7ec CountDown_cpp_sinit_ +805bb800 0x805bb800 +805bb884 0x805bb884 +805bb8ec 0x805bb8ec +805bb968 0x805bb968 +805bbb28 Page::EndExitState +805bbb2c 0x805bbb2c +805bbb30 0x805bbb30 +805bc1a8 0x805bc1a8 +805bc840 0x805bc840 +805bc878 0x805bc878 +805bca98 0x805bca98 +805bcb68 0x805bcb68 +805bcb6c 0x805bcb6c +805bcb74 0x805bcb74 +805bcb7c 0x805bcb7c +805bcb84 0x805bcb84 +805bcb8c 0x805bcb8c +805bcb94 0x805bcb94 +805bcb9c 0x805bcb9c +805bcba4 0x805bcba4 +805bcbac 0x805bcbac +805bcbb4 0x805bcbb4 +805bcc58 0x805bcc58 +805bccc8 0x805bccc8 +805bcf08 0x805bcf08 +805bcfe4 0x805bcfe4 +805bd2b8 0x805bd2b8 +805bd408 0x805bd408 +805bd448 0x805bd448 +805bd788 0x805bd788 +805bd874 0x805bd874 +805bd958 0x805bd958 +805bda38 0x805bda38 +805bdc04 0x805bdc04 +805bdf5c 0x805bdf5c +805be058 0x805be058 +805be0f0 0x805be0f0 +805be158 0x805be158 +805be168 0x805be168 +805be338 0x805be338 +805be3e8 0x805be3e8 +805be4e0 0x805be4e0 +805be5b4 0x805be5b4 +805be658 0x805be658 +805be7f8 0x805be7f8 +805be834 0x805be834 +805be83c 0x805be83c +805be880 0x805be880 +805be8c4 0x805be8c4 +805be8d0 0x805be8d0 +805be8d8 0x805be8d8 +805be8e4 0x805be8e4 +805be8ec 0x805be8ec +805be8f8 TriggerPtmf +805be928 TriggerPtmf +805be958 TriggerPtmf +805be988 TriggerPtmf +805be9b8 TriggerPtmf +805be9e8 __sinit_DownloadGhostList_cpp +805bea08 DpdPointerControl::GetClassName +805bea14 DpdPointerControl::DpadpointerControl +805bea58 DpdPointerControl::__dt +805beab0 DpdPointerControl::Load +805bedbc DpdPointerControl::InitSelf +805bef0c DpdPointerControl::OnUpdate +805bf584 Pages::DpdPointer::__ct +805bf5e8 Pages::DpdPointer::__dt +805bf65c Pages::DpdPointer::OnInit +805bf6e8 Pages::DpdPointer::OnActivate +805bf6f4 Pages::DpdPointer::BeforeControlUpdate +805bf75c Pages::DpdPointer::CheckForConditions +805bf764 Pages::System::AddPageLayer +805bf76c Pages::System::Func_0x20 +805bf770 Pages::System::ChangeSection +805bf774 Pages::System::IsVisible +805bf77c Pages::DpdPointer::GetClassName +805bf788 Pages::DpdPointer::GetRuntimeTypeInfo +805bf794 DpdPointerControl::GetRuntimeTypeInfo +805bf7a0 __sinit_DpdPointer_cpp +805bf7c4 Pages::Empty::__ct +805bf808 Pages::Empty::__dt +805bf870 Pages::Empty::OnInit +805bf8d8 Page::OnActivate +805bf8dc Pages::Empty::BeforeExitAnimations +805bf8e0 Pages::Empty::BeforeEntranceAnimations +805bf8e4 NumericEditBox::GetClassName +805bf8f0 NumericEditBox::__ct +805bfa48 NumericEditBox::__dt +805bfacc NumericEditBox::Load +805bff0c NumericEditBox::vf_0x3c +805bff10 NumericEditBox::SelectInitial +805bff64 NumericEditBox::Select +805bff84 NumericEditBox::RemoveAllDigits +805c0038 NumericEditBox::HasFullDigits +805c0078 NumericEditBox::HasUnusedDigit +805c00b8 NumericEditBox::ComputeSum +805c0118 NumericEditBox::AddDigit +805c02a0 NumericEditBox::RemoveDigit +805c0488 NumericEditBox::Init +805c058c NumericEditBox::Update +805c0738 NumericEditBox::HandleUpPress +805c0810 NumericEditBox::HandleDownPress +805c08c0 NumericEditBox::HandleClick +805c099c NumericEditBox::HandleRightPress +805c0a74 NumericEditBox::HandleLeftPress +805c0b30 NumericEditBox::EditLetter::GetClassName +805c0b40 NumericEditBox::EditLetter::__ct +805c0b7c NumericEditBox::EditLetter::__dt +805c0bd4 NumericEditBox::EditLetter::Load +805c0c5c NumericEditBox::EditLetter::Init +805c0cdc NumericEditBox::EditLetter::Update +805c0ce0 NumericEditBox::EditLetter::AddDigit +805c0d34 NumericEditBox::EditLetter::RemoveDigit +805c0d40 NumericEditBox::EditLetter::ToggleCursor +805c0d8c NumericEditBox::EditLetter::AnimateDigit +805c0dc4 0x805c0dc4 +805c0dc8 NumericEditBox::GetRuntimeTypeInfo +805c0dd4 NumericEditBox::EditLetter::GetRuntimeTypeInfo +805c0de0 TriggerPtmf +805c0e10 NumericEditBox_cpp_sinit_ +805c0e2c Text::Info::__ct +805c0f14 Text::PaneHandler::__ct +805c0f30 Text::PaneHandler::__dt +805c0fa0 Text::Mgr::CreateInstance +805c1048 Text::Mgr::DestroyInstance +805c10c4 Text::PaneHandler::Init +805c11e0 Text::PaneHandler::SetMessage +805c1918 Text::PaneHandler::SetMessage_switch +805c191c Text::PaneHandler::SetMessage_case0 +805c19ac Text::PaneHandler::SetMessage_case10 +805c1a14 Text::PaneHandler::SetMessage_case12 +805c1a64 Text::PaneHandler::SetMessage_case13 +805c1b10 Text::PaneHandler::SetMessage_case14 +805c1c7c Text::PaneHandler::SetMessage_case15 +805c1db8 Text::PaneHandler::SetMessage_case1 +805c22a4 ManipulatorHandler::CheckPlayerPointer +805c22ac Text::PaneHandler::ResetMessage +805c22e8 Text::PaneHandler::Draw +805c23b8 0x805c23b8 +805c23d4 0x805c23d4 +805c23f0 Text::PaneHandler::GetBMGInfo +805c24a4 0x805c24a4 +805c2548 Text::GlyphParams::__ct +805c254c Text::GlyphParams::__dt +805c258c Text::GlyphParams::SetCharacter +805c25f0 Text::GlyphUnicodeExternal::__ct +805c25f4 Text::GlyphUnicodeExternal::__dt +805c2634 Text::GlyphUnicodeExternal::SetCharacter +805c275c Text::GlyphDrawer::__dt +805c279c Text::GlyphDrawer::Init +805c2a78 Text::GlyphDrawer::Draw +805c2b60 Text::GlyphDrawer::DrawExternalUnicode +805c2cc4 Text::GlyphDrawer::SetupGXColors +805c2ecc Text::GlyphDrawer::SetupGXColors_switch +805c2ed0 Text::GlyphDrawer::SetupGXColors_caseD_1 +805c2ee8 Text::GlyphDrawer::SetupGXColors_caseD_10 +805c2f00 Text::GlyphDrawer::SetupGXColors_caseD_11 +805c2f1c Text::GlyphDrawer::SetupGXColors_caseD_12 +805c2f38 Text::GlyphDrawer::SetupGXColors_caseD_13 +805c2f54 Text::GlyphDrawer::SetupGXColors_caseD_14 +805c2f70 Text::GlyphDrawer::SetupGXColors_caseD_15 +805c2f8c Text::GlyphDrawer::SetupGXColors_caseD_16 +805c2fa8 Text::GlyphDrawer::SetupGXColors_caseD_17 +805c2fc0 Text::GlyphDrawer::SetupGXColors_caseD_20 +805c2fd8 Text::GlyphDrawer::SetupGXColors_caseD_21 +805c2ff4 Text::GlyphDrawer::SetupGXColors_caseD_30 +805c300c Text::GlyphDrawer::SetupGXColors_caseD_31 +805c3028 Text::GlyphDrawer::SetupGXColors_caseD_32 +805c3040 Text::GlyphDrawer::SetupGXColors_caseD_33 +805c3058 Text::GlyphDrawer::SetupGXColors_caseD_40 +805c3074 Text::GlyphDrawer::SetupGXColors_caseD_18 +805c30b8 Text::GlobalHandler::__ct +805c30c4 Text::GlobalHandler::__dt +805c3104 Text::GlobalHandler::SetPaneHandler +805c3454 0x805c3454 +805c3590 Text::GlobalHandler::SetCharacter +805c3804 Text::GlobalHandler::SetExternalUnicodeChar +805c3a64 0x805c3a64 +805c3afc 0x805c3afc +805c3b40 0x805c3b40 +805c3b54 Text::GlobalHandler::Calc +805c4170 0x805c4170 +805c41b4 Text::GlobalHandler::CalcMessageParams +805c4278 Text::GlobalHandler::GetGlyphParamsAndIncrement +805c42b0 Text::GlobalHandler::GetUnicodeGlyphParamsAndIncrement +805c42e8 Text::GlobalHandler::SetPaneHandlerAndPane +805c4414 Text::GameFont::__ct +805c4460 Text::GameFont::__dt +805c44d0 Text::GameFont::Load +805c4524 Text::GameFont::GetTextureByCode +805c4614 Text::GameFont::GetTextureByIdx +805c46f4 Text::GameFont::Init +805c47ec Text::FontMgr::__ct +805c480c Text::FontMgr::__dt +805c48a4 Text::FontMgr::CreateInstance +805c48f4 Text::FontMgr::DestroyInstance +805c4984 Text::FontMgr::Init +805c4c38 Text::FontMgr::InitFont +805c4ce4 Text::FontMgr::GetFont +805c4d68 FriendList::__ct +805c4ddc 0x805c4ddc +805c4e1c FriendListEntry::__ct +805c4e64 FriendListEntry::__dt +805c4ea4 0x805c4ea4 +805c4ee4 0x805c4ee4 +805c4f24 FriendList::__dt +805c4f88 FriendList::Init +805c5098 FriendList::SaveToRKSYS +805c5148 FriendList::Update +805c51ac 0x805c51ac +805c52bc 0x805c52bc +805c53a4 FriendList::GetFriendCount +805c5440 FriendList::AddFriend +805c55e4 FriendList::RemoveFriend +805c565c FriendList::GetFriendIdx +805c5758 FriendList::GetFriendEntry +805c5774 FriendList::GetFriend +805c57ac FriendList::GetFriendStatus +805c57e4 FriendList::IsFriendStatusLessThan25 +805c5830 FriendList::IsUpdated +805c584c FriendList::UpdateKeyController +805c5874 0x805c5874 +805c58c0 0x805c58c0 +805c58e8 0x805c58e8 +805c5934 FriendList::UpdateStatuses +805c5a28 FriendList::UpdateStatuses_switch +805c5a2c FriendList::UpdateStatuses_caseD_1 +805c5a34 FriendList::UpdateStatuses_caseD_2 +805c5a3c FriendList::UpdateStatuses_caseD_3 +805c5a44 FriendList::UpdateStatuses_caseD_5 +805c5a4c FriendList::UpdateStatuses_caseD_6 +805c5a54 FriendList::UpdateStatuses_caseD_7 +805c5a5c FriendList::UpdateStatuses_caseD_8 +805c5a64 FriendList::UpdateStatuses_caseD_9 +805c5a6c FriendList::UpdateStatuses_caseD_a +805c5a74 FriendList::UpdateStatuses_caseD_b +805c5ad8 FriendList::UpdateStatuses_caseD_4 +805c5ae4 FriendList::UpdateStatuses_caseD_c +805c5b3c FriendList::UpdateStatuses_caseD_d +805c5ba4 FriendList::UpdateStatuses_caseD_e +805c5bfc FriendList::UpdateStatuses_caseD_0 +805c5c28 FriendList::UpdateFriendData +805c5fec 0x805c5fec +805c5ff0 0x805c5ff0 +805c6018 0x805c6018 +805c601c 0x805c601c +805c603c 0x805c603c +805c6040 0x805c6040 +805c608c 0x805c608c +805c6090 0x805c6090 +805c60dc 0x805c60dc +805c60e0 FriendCodesController::Update +805c619c FriendCodesController::TrySaveMgrToRKSYS +805c6200 FriendCodesController::SaveMgrToRKSYS +805c6334 FriendCodesController::ResetMgrKeys +805c6344 FriendReceiver::TrySaveToRKSYS +805c63b8 FriendReceiver::TryReceiveData +805c65a0 FriendReceiver::SaveToRKSYS +805c6650 FriendReceiver::vf_0x10 +805c66e4 FriendButton::GetClassName +805c66f0 FriendButton::__ct +805c6734 FriendButton::__dt +805c678c FriendButton::Load +805c6864 FriendButton::SetMii +805c6a40 0x805c6a40 +805c6b38 FriendButton::InitSelf +805c6b3c FriendButton::OnUpdate +805c6f0c FriendButton::OnSelect +805c7004 FriendButton::OnDeselect +805c70ac Pages::FriendList::__ct +805c728c Pages::FriendList::__dt +805c7350 Pages::FriendList::OnInit +805c7714 Pages::FriendList::OnDispose +805c7718 Pages::FriendList::OnActivate +805c7938 Pages::FriendList::BeforeEntranceAnimations +805c7a40 Pages::FriendList::BeforeExitAnimations +805c7a54 Pages::FriendList::OnDeactivate +805c7af4 Pages::FriendList::AfterControlUpdate +805c7b70 Pages::FriendList::AddNewFriend +805c7bec Pages::FriendList::OnFriendButtonClick +805c7d34 Pages::FriendList::OnBackButtonClick +805c7dc8 Pages::FriendList::OnRightArrowPress +805c7ef8 Pages::FriendList::OnLeftArrowPress +805c7ff0 Pages::FriendList::OnBackPress +805c8070 Pages::FriendList::CompareFriendIndexes +805c8100 Pages::FriendList::FriendStatusToValue +805c8120 Pages::FriendList::FriendStatusToValue_switch +805c8124 Pages::FriendList::FriendStatusToValue_Case_fffffffe +805c812c Pages::FriendList::FriendStatusToValue_Case_ffffffff +805c8134 Pages::FriendList::FriendStatusToValue_Case_0 +805c813c Pages::FriendList::FriendStatusToValue_Case_1 +805c8144 Pages::FriendList::FriendStatusToValue_Case_2 +805c814c Pages::FriendList::FriendStatusToValue_Case_3 +805c8154 Pages::FriendList::FriendStatusToValue_Case_4 +805c815c Pages::FriendList::FriendStatusToValue_Case_5 +805c8164 Pages::FriendList::FriendStatusToValue_Case_6 +805c816c Pages::FriendList::FriendStatusToValue_Case_7 +805c8174 Pages::FriendList::FriendStatusToValue_Case_8 +805c817c Pages::FriendList::FriendStatusToValue_Case_9 +805c8184 Pages::FriendList::FriendStatusToValue_Case_a +805c818c Pages::FriendList::FriendStatusToValue_Case_b +805c8194 Pages::FriendList::FriendStatusToValue_Case_c +805c819c Pages::FriendList::FriendStatusToValue_Case_d +805c81a4 Pages::FriendList::FriendStatusToValue_Case_e +805c81ac Pages::FriendList::FriendStatusToValue_Case_f +805c81b4 Pages::FriendList::FriendStatusToValue_Case_10 +805c81bc Pages::FriendList::FriendStatusToValue_Case_11 +805c81c4 Pages::FriendList::FriendStatusToValue_Case_12 +805c81cc Pages::FriendList::FriendStatusToValue_Case_13 +805c81d4 Pages::FriendList::FriendStatusToValue_Case_14 +805c81dc Pages::FriendList::FriendStatusToValue_Case_15 +805c81e4 Pages::FriendList::FriendStatusToValue_Case_16 +805c81ec Pages::FriendList::FriendStatusToValue_Case_17 +805c81f4 Pages::FriendList::FriendStatusToValue_Case_18 +805c81fc Pages::FriendList::FriendStatusToValue_Case_19 +805c8204 Pages::FriendList::FriendStatusToValue_Case_1a +805c8214 Pages::FriendList::UpdatePageCounter +805c82dc Pages::FriendList::UpdateMiiGroup +805c83e4 JoinFriendButton::GetClassName +805c83f4 JoinFriendButton::__ct +805c8430 JoinFriendButton::__dt +805c8488 JoinFriendButton::__dt +805c8590 JoinFriendButton::SetStatus +805c86fc JoinFriendButton::OnUpdate +805c8740 Pages::FriendInfo::__ct +805c88f8 Pages::FriendInfo::__dt +805c89d8 Pages::FriendInfo::OnInit +805c8ee4 Pages::FriendInfo::OnActivate +805c900c Pages::FriendInfo::AfterControlUpdate +805c9274 Pages::FriendInfo::PlaySound +805c9354 Pages::FriendInfo::SetInfoText +805c9538 0x805c9538 +805c955c Pages::FriendInfo::OnJoinButtonClick +805c97f0 Pages::FriendInfo::OnRemoveButtonClick +805c9834 Pages::FriendInfo::OnBackButtonClick +805c9878 Pages::FriendInfo::OnBackPress +805c9890 Pages::FriendRemove::__ct +805c99e8 Pages::FriendRemove::__dt +805c9a88 Pages::FriendRemove::OnInit +805c9c24 Pages::FriendRemove::OnActivate +805c9cf4 Pages::FriendRemove::OnDeactivate +805c9dac Pages::FriendRemove::OnResume +805c9e80 Pages::FriendRemove::OnRemoveButtonClick +805ca074 Pages::FriendRemove::OnCancelAndBackButtonClick +805ca0d0 Pages::FriendRemove::OnBackPress +805ca0e8 Pages::FriendRemoving::__ct +805ca15c Pages::FriendRemoving::__dt +805ca1ec Pages::FriendRemoving::OnInit +805ca2e8 Pages::FriendRemoving::OnActivate +805ca3d8 Pages::FriendRemoving::BeforeExitAnimations +805ca53c Pages::FriendRemoving::AfterControlUpdate +805ca850 Pages::FriendJoinMgr::__ct +805ca894 Pages::FriendJoinMgr::__dt +805ca8fc Pages::FriendJoinMgr::OnInit +805ca968 Pages::FriendJoinMgr::OnActivate +805cac38 Pages::FriendJoinMgr::BeforeEntranceAnimations +805cac3c Pages::FriendJoinMgr::AfterEntranceAnimations +805cac4c Pages::FriendJoinMgr::BeforeExitAnimations +805cac50 Pages::FriendJoinMgr::GetNextPage +805cac58 Pages::FriendJoinMgr::GetRuntimeTypeInfo +805cac64 Pages::FriendRemoving::IsHomeMenuWorking +805cac6c Pages::FriendRemoving::GetNextPage +805cac74 Pages::FriendRemoving::GetRuntimeTypeInfo +805cac80 Pages::FriendRemove::GetNextPage +805cac88 Pages::FriendRemove::GetRuntimeTypeInfo +805cac94 Pages::FriendInfo::GetNextPage +805cac9c Pages::FriendInfo::GetRuntimeTypeInfo +805caca8 JoinFriendButton::GetRuntimeTypeInfo +805cacb4 Pages::FriendList::GetNextPage +805cacbc Pages::FriendList::GetRuntimeTypeInfo +805cacc8 FriendButton::GetRuntimeTypeInfo +805cacd4 TriggerPtmf +805cad04 TriggerPtmf +805cad34 TriggerPtmf +805cad64 TriggerPtmf +805cad94 TriggerPtmf +805cadc4 TriggerPtmf +805cadf4 TriggerPtmf +805cae24 FriendListPage_cpp_sinit_ +805cae5c Pages::GhostManager::__ct +805caedc Pages::GhostManager::__dt +805cafa8 Pages::GhostManager::OnInit +805cb220 Pages::GhostManager::OnActivate +805cb31c Pages::GhostManager::BeforeEntranceAnimations +805cb320 Pages::GhostManager::BeforeExitAnimations +805cb324 Pages::GhostManager::OnDeactivate +805cb328 Pages::GhostManager::AfterControlUpdate +805cb32c Pages::GhostManager::OnSectionChange +805cb3d4 Pages::GhostManager::RequestAllGhosts +805cb438 Pages::GhostManager::UpdateState +805cb470 Pages::GhostManager::UpdateState_switch +805cb474 Pages::GhostManager::UpdateState_case_1 +805cb584 Pages::GhostManager::UpdateState_case_2 +805cb5a8 Pages::GhostManager::UpdateState_case_3 +805cb5e0 Pages::GhostManager::UpdateState_case_4 +805cb618 Pages::GhostManager::UpdateState_case_5 +805cb650 Pages::GhostManager::UpdateState_case_6 +805cb680 Pages::GhostManager::UpdateState_case_7 +805cb6a4 Pages::GhostManager::UpdateState_case_9 +805cb6d0 Pages::GhostManager::UpdateState_case_a +805cb6fc Pages::GhostManager::UpdateState_case_b +805cb728 Pages::GhostManager::UpdateState_case_c +805cb74c Pages::GhostManager::UpdateState_case_d +805cb76c Pages::GhostManager::UpdateState_case_0 +805cb7e8 Pages::GhostManager::AreStaffGhostsLoading +805cb860 0x805cb860 +805cb96c Pages::GhostManager::PrepareRaceState +805cb9f0 Pages::GhostManager::PrepareReplayState +805cba24 0x805cba24 +805cba44 0x805cba44 +805cbab8 0x805cbab8 +805cbbbc Pages::GhostManager::RequestGhost +805cbd28 Pages::GhostManager::SetupGhostRace +805cbf80 Pages::GhostManager::SetupGhostReplay +805cc11c 0x805cc11c +805cc1f4 0x805cc1f4 +805cc2b0 GhostList::__ct +805cc2c0 GhostList::__dt +805cc300 GhostList::FillWithAllGhosts +805cc3bc GhostList::FillWithAllDLdGhosts +805cc424 GhostList::Init +805cc4ec GhostList::Reset +805cc4f8 GhostList::FillFromGroup +805cc640 GhostList::Sort +805cc654 GhostList::CompareEntries +805cc724 GhostList::GetHeader +805cc74c GhostList::CheckIsNew +805cc778 GhostList::AllAreGhostsNrw +805cc7ac GhostList::SetSectionParamsGhostValues +805cc834 GhostList::EraseEntry +805cc944 Pages::GhostManager::GetRuntimeTypeInfo +805cc950 GhostManagerPage_cpp_sinit_ +805cc964 GhostInfoControl::GetClassName +805cc970 GhostInfoControl::__ct +805cca00 GhostInfoControl::__dt +805cca68 GhostInfoControl::Load +805ccb88 GhostInfoControl::InitSelf +805ccb8c GhostInfoControl::OnUpdate +805ccb90 GhostInfoControl::UpdateInfo +805ccea4 0x805ccea4 +805ccf64 GhostInfoControl::UpdateInfoAnimate +805ccfc4 0x805ccfc4 +805cd014 0x805cd014 +805cd04c 0x805cd04c +805cd084 0x805cd084 +805cd0bc 0x805cd0bc +805cd0f4 0x805cd0f4 +805cd12c 0x805cd12c +805cd164 GhostInfoControl::GetRuntimeTypeInfo +805cd170 GhostInfoControl_cpp_sinit_ +805cd184 SectionParams::__ct +805cd21c SectionParams::__dt +805cd2a4 SectionParams::Reset +805cd448 SectionParams::ResetMiisGhostsAndSubs +805cd4d0 SectionParams::ResetBattleParams +805cd4e8 0x805cd4e8 +805cd510 SectionParams::RandomizeVSTracks +805cd690 SectionParams::SetVStracks +805cd8c4 SectionParams::IsCourseUnlockedInOneCC +805cd9d4 SectionParams::IsCupUnlockedInOneCC +805cda7c SectionParams::RandomizeBattleArenas +805cdb20 SectionParams::SetBattleArenas +805cdbfc SectionParams::CopyMiisToRacedata +805cddbc OnlineParams::ResetRaceNumberAndCC +805cddcc OnlineParams::Reset +805cdf5c OnlineParams::CalcRank +805cdf6c OnlineParams::SetRankBMG +805cdf90 0x805cdf90 +805cdfa4 0x805cdfa4 +805cdfbc 0x805cdfbc +805cdfe0 0x805cdfe0 +805cdfec TitleParams::__ct +805ce020 TitleParams::Reset +805ce120 TitleParams::ForceDemo +805ce12c 0x805ce12c +805ce170 0x805ce170 +805ce180 0x805ce180 +805ce18c SectionParams::TrackIdxToCourseId +805ce1c4 SectionParams::CourseIdToTrackIdx +805ce21c SectionParams::CourseIdToCupIdx +805ce298 SectionParams::ArenaIdToCupIdx +805ce2cc SectionParams::ResetLicenseParams +805ce450 Pages::Globe::__ct +805ce4e4 Pages::Globe::MessageWindow::__dt +805ce53c Pages::Globe::__dt +805ce5c0 Pages::Globe::OnInit +805ce7e0 Pages::Globe::OnActivate +805ce8e4 Pages::Globe::BeforeEntranceAnimations +805ce8e8 Pages::Globe::BeforeExitAnimations +805ce8ec Pages::Globe::AfterControlUpdate +805cf2d8 0x805cf2d8 +805cf478 0x805cf478 +805cf754 0x805cf754 +805cfa14 0x805cfa14 +805cfb28 0x805cfb28 +805cfc30 Pages::Globe::SetMessage +805d0004 0x805d0004 +805d0108 0x805d0108 +805d020c 0x805d020c +805d0310 0x805d0310 +805d045c 0x805d045c +805d05a8 0x805d05a8 +805d0690 0x805d0690 +805d0708 0x805d0708 +805d07d8 0x805d07d8 +805d0848 0x805d0848 +805d08dc 0x805d08dc +805d092c 0x805d092c +805d0968 Pages::Globe::GetFriendActivityBMG +805d0984 Pages::Globe::GetFriendActivityBMG_switch +805d0988 Pages::Globe::GetFriendActivityBMG_caseD_1 +805d0990 Pages::Globe::GetFriendActivityBMG_caseD_2 +805d0998 Pages::Globe::GetFriendActivityBMG_caseD_3 +805d09a0 Pages::Globe::GetFriendActivityBMG_caseD_4 +805d09a8 Pages::Globe::GetFriendActivityBMG_caseD_5 +805d09b0 Pages::Globe::GetFriendActivityBMG_caseD_6 +805d09b8 Pages::Globe::GetFriendActivityBMG_caseD_7 +805d09c0 Pages::Globe::GetFriendActivityBMG_caseD_8 +805d09c8 Pages::Globe::GetFriendActivityBMG_caseD_9 +805d09d0 Pages::Globe::GetFriendActivityBMG_caseD_a +805d09d8 Pages::Globe::GetFriendActivityBMG_caseD_b +805d09e0 Pages::Globe::GetFriendActivityBMG_caseD_c +805d09e8 Pages::Globe::GetFriendActivityBMG_caseD_d +805d09f0 Pages::Globe::GetFriendActivityBMG_caseD_e +805d09f8 Pages::Globe::GetFriendActivityBMG_caseD_f +805d0a00 Pages::Globe::GetFriendActivityBMG_caseD_10 +805d0a08 Pages::Globe::GetFriendActivityBMG_caseD_11 +805d0a10 Pages::Globe::GetFriendActivityBMG_caseD_12 +805d0a18 Pages::Globe::GetFriendActivityBMG_caseD_13 +805d0a20 Pages::Globe::GetFriendActivityBMG_caseD_14 +805d0a28 Pages::Globe::GetFriendActivityBMG_caseD_15 +805d0a30 Pages::Globe::GetFriendActivityBMG_caseD_16 +805d0a38 Pages::Globe::GetFriendActivityBMG_caseD_17 +805d0a40 Pages::Globe::GetFriendActivityBMG_caseD_18 +805d0a48 Pages::Globe::GetFriendActivityBMG_caseD_19 +805d0a50 Pages::Globe::GetFriendActivityBMG_caseD_1a +805d0a58 Pages::Globe::GetFriendActivityBMG_caseD_0 +805d0a60 Pages::Globe::MessageWindow::GetClassName +805d0a70 0x805d0a70 +805d0b54 Pages::Globe::MessageWindow::InitSelf +805d0bb8 0x805d0bb8 +805d0c54 0x805d0c54 +805d0d04 0x805d0d04 +805d0d38 Pages::Globe::GetRuntimeTypeInfo +805d0d44 Pages::Globe::MessageWindow::GetRuntimeTypeInfo +805d0d50 GlobePage_cpp_sinit_ +805d0d74 PaneManager::SearchForPane +805d0e0c PaneManager::GetParentPane +805d0e14 0x805d0e14 +805d1014 PaneManager::IsPaneAndParentsVisible +805d110c PaneManager::IsPaneVisible +805d1118 PaneManager::SetTextBoxMessage +805d1204 PaneManager::DoAction +805d1380 PaneManager::CheckForUserInfo +805d13c0 PaneManager::CheckForUserInfo2 +805d1400 PaneManager::GetNextUserInfo +805d1454 PaneManager::ConvertColorS10ToUT +805d1508 0x805d1508 +805d1530 PaneManagerHolder::__dt +805d15bc PaneManagerHolder::__ct +805d16a8 PicturePaneManager::__ct +805d16c4 TextPaneManager::__ct +805d16e0 MoviePaneManager::__ct +805d16fc 0x805d16fc +805d1700 PaneManagerHolder::InsertPicturePane +805d1750 PaneManagerHolder::InsertTextPane +805d17a0 PaneManagerHolder::InsertMoviePane +805d17f0 PaneManagerHolder::Draw +805d184c PicturePaneManager::Draw +805d1970 TextPaneManager::Draw +805d1a8c MoviePaneManager::Draw +805d1ba8 PaneManagerHolder::InsertManager +805d1bd8 Layout::__ct +805d1c20 Layout::__dt +805d1c7c Layout::GetPaneByName +805d1c94 Layout::CreateResourceAccessor +805d1e3c Layout::Build +805d1ebc MainLayout::__ct +805d1f44 MainLayout::__dt +805d2008 MainLayout::CreateResourceAccessor +805d21b0 MainLayout::Build +805d293c MainLayout::GetTextPaneHandlerByName +805d29b4 MainLayout::GetTextPaneHandlerByPane +805d29fc MainLayout::GetMoviePaneHandlerByName +805d2a74 MainLayout::GetMoviePaneHandlerByPane +805d2abc MainLayout::Animate +805d2ad0 MainLayout::Update +805d2b7c MainLayout::Draw +805d2be4 Text::PaneHandler::Initializer::Calc +805d2ce8 MoviePaneHander::Initializer::Calc +805d2dec PaneTypeCounter::Calc +805d301c PaneManager::Initializer::Calc +805d343c PictureLayout::__ct +805d34d4 PictureLayout::__dt +805d3534 PictureLayout::CreateResourceAccessor +805d36ec PictureLayout::Build +805d378c PictureLayout::SetPrevLayout +805d3794 PictureLayout::IsLinkedToLYT +805d3800 PictureLayoutList::__ct +805d380c PictureLayoutList::__dt +805d3894 PictureLayoutList::Attach +805d3ba0 LayoutResourceAccessorList::__ct +805d3bac LayoutResourceAccessorList::__dt +805d3c6c LayoutFont::__dt +805d3cac 0x805d3cac +805d3cec 0x805d3cec +805d3d2c LayoutResources::__dt +805d3da4 LayoutResourceLink::__dt +805d3de4 LayoutResourceAccessorList::Attach +805d3f80 LayoutResourceAccessor::Init +805d4084 LayoutResourceLink::__ct +805d4094 ManipulatorManager::__ct +805d40b8 ManipulatorManager::__dt +805d40f8 ManipulatorManager::Init +805d417c ManipulatorManager::UpdatePlayerBitfield2 +805d4184 ManipulatorManager::CheckActions +805d4188 ManipulatorManager::Activate +805d4214 ManipulatorManager::OnLoad +805d429c ManipulatorManager::Load +805d42b0 ManipulatorManager::OnReset +805d42c4 ManipulatorManager::Update +805d4338 ManipulatorManager::GetControllerHolder +805d4350 ButtonInfo::__ct +805d43fc ButtonInfo::__dt +805d443c ButtonInfo::Reset +805d444c ButtonInfo::Update +805d4664 ButtonInfo::Init +805d46e8 0x805d46e8 +805d476c PageManipulatorManager::__ct +805d4828 PageManipulatorManager::__dt +805d4890 PageManipulatorManager::Init +805d4968 PageManipulatorManager::CheckActions +805d4ad4 PageManipulatorManager::Activate +805d4bb4 PageManipulatorManager::OnReset +805d4c94 PageManipulatorManager::SetGlobalHandler +805d4cac ControlButtonInfo::__ct +805d4d74 ControlButtonInfo::__dt +805d4db4 ControlButtonInfo::Reset +805d4dc4 ControlButtonInfo::Update +805d4e84 ControlButtonInfo::Init +805d4f18 ControlButtonInfo::LockNonDirectionalActions +805d4f9c ControlButtonInfo::IsADirectionHeldForMultipleOf15 +805d5008 ControlButtonInfo::GetFramesOnCurControl +805d5024 ControlManipulator::__ct +805d5100 ControlManipulator::__dt +805d516c 0x805d516c +805d5174 ControlManipulator::Init +805d5224 ControlManipulator::SetAction +805d523c 0x805d523c +805d5240 ControlManipulator::SetEnabledHudSlots +805d5248 0x805d5248 +805d52f4 ControlManipulator::HasDirectionalHandler +805d536c ControlManipulator::TriggerAction +805d53c0 0x805d53c0 +805d5420 ControlManipulator::Load +805d556c ControlManipulator::Update +805d5908 ControlManipulator::GetHudColor +805d596c ControlManipulator::GetHudSlotIdColor +805d5a04 ControlManipulator::GetHudSlotIdColorSingle +805d5ab8 ControlBoundingBox::__ct +805d5af8 ControlBoundingBox::__dt +805d5b38 0x805d5b38 +805d5b40 0x805d5b40 +805d5b44 ControlBoundingBox::CalculateBounds +805d5dcc ControlBoundingBox::TriggerOnSelectHandler +805d5e1c ControlBoundingBox::TriggerOnDeselectHandler +805d5e6c 0x805d5e6c +805d5ed4 ControlsManipulatorManager::__ct +805d5fc4 ControlManipulatorHolder::__ct +805d60c0 ControlManipulatorHolder::__dt +805d6100 ControlsManipulatorManager::__dt +805d6174 ControlsManipulatorManager::Init +805d6264 ControlManipulator::CalcDistanceBothWrapping +805d6270 ControlsManipulatorManager::AddControlManipulator +805d62b0 ControlsManipulatorManager::SetGlobalHandler +805d62cc ControlsManipulatorManager::SetControlManipulator +805d62e0 ControlsManipulatorManager::SetDistanceFunc +805d6344 ControlManipulator::CalcDistanceVerticalWrappingOnly +805d6350 ControlManipulator::CalcDistanceNoWrapping +805d635c ControlsManipulatorManager::GetHolderList +805d63c0 ControlsManipulatorManager::CheckActions +805d70ec ControlsManipulatorManager::Activate +805d7220 ControlsManipulatorManager::OnLoad +805d7340 ControlsManipulatorManager::OnReset +805d7468 ControlsManipulatorManager::OnActivate +805d746c ControlsManipulatorManager::Update +805d7618 ControlsManipulatorManager::SetChildControlManipulator +805d762c ControlsManipulatorManager::InitHolders +805d7660 ControlsManipulatorManager::IsActionAllowed +805d7698 ControlsManipulatorManager::HasDirectionalGlobalHandler +805d7710 ControlsManipulatorManager::Func_805f21e4 +805d7798 ControlsManipulatorManager::Func_805f226c +805d7800 ControlsManipulatorManager::CheckPlayerPointer +805d78b0 ControlManipulator::CalcDistance +805d7978 ControlManipulator::CalcDistance_Switch +805d797c ControlManipulator::CalcDistance_Case_1 +805d7bd0 ControlManipulator::CalcDistance_Case_5 +805d7e58 ControlManipulator::CalcDistance_Case_0 +805d7e74 ControlManipulator::CalcDistanceLinear +805d8014 ControlManipulator::CalcDistanceLinear_Switch +805d8018 ControlManipulator::CalcDistanceLinear_case_1 +805d8068 ControlManipulator::CalcDistanceLinear_case_4 +805d80b8 ControlManipulator::CalcDistanceLinear_case_5 +805d8118 ControlManipulator::CalcDistanceLinear_case_6 +805d8178 ControlManipulator::CalcDistanceLinear_case_0 +805d8190 0x805d8190 +805d8200 ControlsManipulatorManager:IsWiimoteCursorEnabled +805d8208 ControlsManipulatorManager::GetRuntimeTypeInfo +805d8214 ManipulatorManager::IsPointerEnabled +805d821c ManipulatorManager::OnActivate +805d8220 ManipulatorManager::GetHolderList +805d8224 PageManipulatorManager::GetRuntimeTypeInfo +805d8230 0x805d8230 +805d8250 BMGHolder::__ct +805d826c BMGHolder::__dt +805d82ac BMGHolder::Load +805d831c BMGHolder::Init +805d83a4 BMGHolder::GetMsgId +805d840c BMGHolder::GetMessageById +805d8448 BMGHolder::GetFontIndex +805d8478 Pages::Click::__ct +805d84fc Pages::Click::__dt +805d8564 Pages::Click::OnInit +805d85d4 Pages::Click:::OnLoad +805d85f8 Pages::Click::AfterControlUpdate +805d865c Pages::Click::Reset +805d8670 Pages::Click::OnClick +805d86c8 Pages::MessageBoxTransparent::__ct +805d8770 Pages::MessageBoxTransparent::__dt +805d8804 Pages::MessageBoxTransparent::OnInit +805d8940 Pages::MessageBoxTransparent::Reset +805d8960 Pages::MessageBoxTransparent::SetMessageWindowText +805d8968 Pages::MessageBoxTransparent::BeforeEntranceAnimations +805d89ac Pages::MessageBox::AfterExitAnimations +805d89f0 Pages::MessageBoxTransparent::SetButtonImage +805d8a38 Pages::MessageBox::__ct +805d8af8 Pages::MessageBox::__dt +805d8b90 Pages::MessageBox::OnInit +805d8cdc Pages::MessageBox::Reset +805d8d3c Pages::MessageBox::SetTitleText +805d8d44 Pages::MessageBox::SetMessageWindowText +805d8d4c Pages::MessageBox::SetButtonImage +805d8d94 Pages::MessageBox::GetNextPage +805d8d9c Pages::MessageBox::GetRuntimeTypeInfo +805d8da8 Pages::MessageBoxTransparent::GetRuntimeTypeInfo +805d8db4 Pages::Click::GetRuntimeTypeInfo +805d8dc0 Pages::Click::TriggerPtmf +805d8df0 MessagePagecpp_sinit_ +805d8e10 MessageWindowControl::GetClassName +805d8e1c MessageWindowControl::__ct +805d8e58 MessageWindowControl::__dt +805d8eb0 MessageWindowControl::Load +805d8f2c MessageWindowControlScaleFade::GetClassName +805d8f3c MessageWindowControlScaleFade::__ct +805d8f78 MessageWindowControlScaleFade::__dt +805d8fd4 MessageWindowControlScaleFade::SetPositionAnim +805d900c 0x805d900c +805d901c SimpleMessageWindowControl::__ct +805d9058 SimpleMessageWindowControl::__dt +805d90b0 SimpleMessageWindowControl::Load +805d9164 SimpleMessageWindowControl::InitSelf +805d91c8 BlackBackControlForMessage::GetClassName +805d91d8 BlackBackControlForMessage::__ct +805d9214 BlackBackControlForMessage::__dt +805d926c BlackBackControlForMessage::Load +805d92e0 BlackBackControlForMessage::SetPositionAnim +805d9340 BusySymbol::GetClassName +805d9350 BusySymbol::__ct +805d938c BusySymbol::__dt +805d93e4 BusySymbol::Load +805d9478 BusySymbol::InitSelf +805d94b0 BusySymbol::SetPositionAnim +805d9510 BusySymbol::OnUpdate +805d952c BusySymbol::GetRuntimeTypeInfo +805d9538 BlackBackControlForMessage::GetRuntimeTypeInfo +805d9544 SimpleMessageWindowControl::GetRuntimeTypeInfo +805d9550 MessageWindowControlScaleFade::GetRuntimeTypeInfo +805d955c MessageWindowControl::GetRuntimeTypeInfo +805d9568 0x805d9568 +805d9594 MiiGroup::__ct +805d9634 MiiCreationParams2::__dt +805d9674 MiiGroup::__dt +805d9768 MiiGroup::Init +805d9a8c MiiGroup::Reset +805d9ae0 MiiGroup::ResetCreationParams +805d9b18 MiiGroup::AddMii +805d9c9c MiiGroup::LoadMiddleDB2Mii +805d9d2c MiiGroup::LoadMii(RFLStoreData) +805d9d94 MiiGroup::LoadOfficialMii +805d9dfc MiiGroup::LoadStoreMii +805d9e64 MiiGroup::LoadDefaultMii +805d9ecc 0x805d9ecc +805d9fd4 MiiGroup::ReplaceMiiByPlayerMii +805da04c MiiGroup::GetMii +805da05c 0x805da05c +805da080 MiiGroup::GetMiiTexObj +805da098 MiiGroup::HasAllMiiTexObjs +805da1a0 MiiGroup::DeleteMii +805da2c4 0x805da2c4 +805da310 MiiGroup::CopyMii +805da650 MiiGroup::CopyMiiToOtherGroup +805daaa8 0x805daaa8 +805dabe8 0x805dabe8 +805dac20 0x805dac20 +805dac58 0x805dac58 +805dac74 0x805dac74 +805dacd4 0x805dacd4 +805dacd8 MoviePaneHandler::__ct +805dad08 MoviePaneHandler::__dt +805dad48 MoviePaneHandler::Init +805dae54 MoviePaneHandler::Crop(Rect*) +805daf20 MoviePaneHandler::Crop(4floats) +805db018 MoviePaneHandler::Draw +805dc1f8 MoviePlayer::__ct +805dc248 MoviePlayer::__dt +805dc2a0 MoviePlayer::Init +805dc2a4 MoviePlayer::Quit +805dc334 MoviePlayer::Update +805dc560 MoviePlayer::Prepare +805dc7d4 0x805dc7d4 +805dc850 MoviePlayer::Close +805dc898 MoviePlayer::GetCurTHPTextureInfo +805dc8b4 MoviePlayer::IsPlaying +805dc8f0 MoviePlayer::Pause +805dc90c MoviePlayer::Play +805dc928 MoviePlayer::GetCurTextureIdx +805dc930 MoviePlayer::Reprepare +805dc97c 0x805dc97c +805dc9d0 PadControl::GetClassName +805dc9dc PadControl::__ct +805dca18 PadControl::__dt +805dca70 PadControl::Load +805dcb30 PadControl::InitSelf +805dcb9c PadControl::OnUpdate +805dcc74 PadControl::SetParams +805dcc84 PadControl::SetPadID +805dcc8c PadControl::RegisterPad +805dccc4 PadControl::UpdateFromParams +805dce1c 0x805dce1c +805dce2c 0x805dce2c +805dce68 0x805dce68 +805dcec4 0x805dcec4 +805dcef4 RecognizePadWindow::GetClassName +805dcf04 RecognizePadWindow::__ct +805dcf40 RecognizePadWindow::__dt +805dcf98 RecognizePadWindow::Load +805dd014 RecognizePadWindow::InitSelf +805dd018 RecognizePadWindow::OnUpdate +805dd01c RecognizePadWindow::SetPositionAnim +805dd054 RecognizePadWindow::GetRuntimeTypeInfo +805dd060 0x805dd060 +805dd06c PadControl::GetRuntimeTypeInfo +805dd078 PadControl_sinit_ +805dd09c Page::__ct +805dd124 Page::__dt +805dd180 Page::Init +805dd1f8 Page::OnInit +805dd1fc Page::Dispose +805dd20c Page::Activate +805dd328 Page::Deactivate +805dd368 Page::IncrementDuration +805dd384 Page::CheckActions +805dd444 Page::UpdateState +805dd664 Page::Exit +805dd864 Page::Enter +805dd9ec Page::UpdateControls +805dda58 Page::Update +805dda7c Page::Draw +805dda98 Page::ResetManipulatorManager +805ddaac 0x805ddaac +805ddab0 Page::Resume +805ddb48 Page::HandleSectionChange +805ddb6c Page::SetAnimDirection +805ddb7c Page::InitControlGroup +805ddb8c Page::AddControl +805ddb94 Page::SetManipulatorManager +805ddb9c Page::EndState +805ddba8 Page::EndStateAnimated +805ddbc4 Page::EndExitState +805ddbd0 Page::ChangeSectionBySceneChange +805ddc50 Page::ChangeSectionByReinit +805ddcd0 Page::AddPageLayer +805ddd7c Page::AnimateControls +805ddecc Page::ControlAnimator::Calc +805ddfec Pages::System::GetAnimDelay +805de040 Page::MaxAnimDelayGetter::Calc +805de080 Page::OnStateChangeAnimator::Calc +805de090 Page::StartEntrance +805de114 Page::EndEntrance +805de224 Page::StartExit +805de380 Page::EndExit +805de408 Page::80602ce8 +805de418 Page::PlaySound +805de42c 0x805de42c +805de440 Page::SetTransitionSound +805de44c Pages::System::__ct +805de4e0 Pages::System::__dt +805de574 Pages::System::Setup +805de60c Pages::System::CheckForConditions +805de614 SystemPagecpp_sinit_ +805de624 Pages::RegisteredPads::__ct +805de688 Pages::RegisteredPads::__dt +805de708 Pages::RegisteredPads::OnInit +805de7fc Pages::RegisteredPads::OnActivate +805de970 Pages::RegisteredPads::BeforeEntranceAnimations +805de974 Pages::RegisteredPads::AfterEntranceAnimations +805de978 Pages::RegisteredPads::AfterControlUpdate +805dea24 Pages::RegisteredPads::AfterExitAnimations +805dea28 Pages::RegisteredPads::GetNextPage +805dea70 Pages::RegisteredPads::Register +805dead8 ConnectController::GetClassName +805deae8 ConnectController::__ct +805deb24 ConnectController::__dt +805deb7c ConnectController::Load +805decf8 ConnectController::InitSelf +805dedb0 ConnectController::OnUpdate +805dee84 Pages::RegisterPad::__ct +805defb0 CtrlMenuDummyBack::__dt +805df008 Pages::RegisterPad::__dt +805df0c4 Pages::RegisterPad::OnInit +805df2b0 Pages::RegisterPad::OnActivate +805df2c4 Pages::RegisterPad::AfterControlUpdate +805df630 Pages::RegisterPad::GetNextPage +805df648 Pages::RegisterPad::IsDVDEnabled +805df690 Pages::RegisterPad::OnBackPress +805df6dc Pages::RegisterPad::OnStartPress +805df794 EasyPairingController::GetClassName +805df7a4 EasyPairingController::__ct +805df7e0 EasyPairingController::__dt +805df838 EasyPairingController::Load +805df9c8 EasyPairingController::InitSelf +805dfad8 EasyPairingController::OnUpdate +805dfc38 0x805dfc38 +805dfca4 Pages::PairWiimotes::__ct +805dfd58 Pages::PairWiimotes::__dt +805dfdfc Pages::PairWiimotes::OnInit +805e0060 Pages::PairWiimotes::OnActivate +805e00e0 Pages::PairWiimotes::AfterEntranceAnimations +805e00ec Pages::PairWiimotes::BeforeEntranceAnimations +805e00f8 Pages::PairWiimotes::BeforeExitAnimations +805e0104 Pages::PairWiimotes::OnDeactivate +805e01a8 Pages::PairWiimotes::AfterControlUpdate +805e0220 Pages::PairWiimotes::SyncWiimotes +805e03a4 Pages::PairWiimotes::OnBackAndStartPress +805e03f8 Pages::ConfirmPads::__ct +805e05c0 Pages::ConfirmPads::__dt +805e0670 Pages::ConfirmPads::OnInit +805e08b8 Pages::ConfirmPads::OnActivate +805e0904 Pages::ConfirmPads::OnDeactivate +805e0924 Pages::ConfirmPads::OnOkButtonClick +805e0980 Pages::ConfirmPads::OnChangeButtonClick +805e0a60 Pages::ConfirmPads::OnBackButtonClick +805e0b90 Pages::ConfirmPads::OnButtonSelect +805e0be4 Pages::ConfirmPads::OnBackPress +805e0cec Pages::ConfirmPads::GetNextPage +805e0cf4 Pages::ConfirmPads::GetRuntimeTypeInfo +805e0d00 Pages::PairWiimotes::GetRuntimeTypeInfo +805e0d0c EasyPairingController::GetRuntimeTypeInfo +805e0d18 Pages::RegisterPad::IsHomeMenuWorking +805e0d20 Pages::RegisterPad::GetRuntimeTypeInfo +805e0d2c ConnectController::GetRuntimeTypeInfo +805e0d38 Pages::RegisterPad::GetRuntimeTypeInfo +805e0d44 TriggerPtmf +805e0d74 TriggerPtmf +805e0da4 TriggerPtmf +805e0dd4 TriggerPtmf +805e0e04 RegisterPadPage_cpp_sinit_ +805e0e38 RadioButtonControl::GetClassName +805e0e44 RadioButtonControl::__ct +805e0fe8 RadioButtonControl::__dt +805e106c RadioButtonControl::Load +805e1470 RadioButtonControl::OnLoadingEnd +805e1474 RadioButtonControl::SetOnClickHandler +805e147c RadioButtonControl::SetOnSelectHandler +805e1484 RadioButtonControl::SetOnDeselectHandler +805e148c RadioButtonControl::SetOnChangeHandler +805e1494 RadioButtonControl::SelectInitialButton +805e151c 0x805e151c +805e153c 0x805e153c +805e15d4 0x805e15d4 +805e1644 RadioButtonControl::Init +805e1820 RadioButtonControl::Update +805e19f8 RadioButtonControl::HandleSelect +805e1b54 RadioButtonControl::HandleDeselect +805e1c88 RadioButtonControl::HandleButtonSelect +805e1d40 RadioButtonControl::HandleClick +805e1df4 RadioButtonControl::HandleRightPress +805e1eb0 RadioButtonControl::HandleLeftPress +805e1f68 RadioButtonControl::OptionButton::GetClassName +805e1f78 RadioButtonControl::OptionButton::__ct +805e1fb4 RadioButtonControl::OptionButton::__dt +805e200c RadioButtonControl::OptionButton::Load +805e20b4 RadioButtonControl::OptionButton::Init +805e2134 RadioButtonControl::OptionButton::Update +805e21f0 RadioButtonControl::OptionButton::GetParentControl +805e22f0 GetInstanceUnusedControl? +805e22fc GetInstanceUnusedControl? +805e2308 0x805e2308 +805e2368 RadioButtonControl::OptionButton::ToggleChose +805e24e4 0x805e24e4 +805e2544 RadioButtonControl::OptionButton::ToggleSelect +805e26a8 RadioButtonControl::OptionButton::SetBorderColours +805e275c RadioButtonControl::OptionButton::SetColor_BaseColours +805e2804 RadioButtonControl::Func_0x40 +805e2808 RadioButtonControl::GetRuntimeTypeInfo +805e2814 RadioButtonControl::OptionButton::GetRuntimeTypeInfo +805e2820 RadioButtonControl_cpp_sinit_ +805e2850 RadioButtonControl_cpp_sinit_ +805e286c RandomMatchingPlayer::GetClassName +805e2878 RandomMatchingPlayer::__ct +805e28ec RandomMatchingPlayer::__dt +805e2944 RandomMatchingPlayer::Load +805e2a88 RandomMatchingPlayer::InitSelf +805e2be0 RandomMatchingPlayer::OnUpdate +805e2e50 0x805e2e50 +805e2f8c 0x805e2f8c +805e3044 0x805e3044 +805e30dc 0x805e30dc +805e3260 0x805e3260 +805e3278 RandomMatchingPlayer::SetMii +805e3304 RandomMatchingPlayer::IsShowing +805e333c RandomMatchingPlayer::OnMiiShowing +805e33fc RandomMatchingPlayer::CalcAngle +805e344c 0x805e344c +805e34a8 MatchingMessageWindow::GetClassName +805e34b8 MatchingMessageWindow::__ct +805e34f4 MatchingMessageWindow::__dt +805e354c MatchingMessageWindow::Load +805e35b0 MatchingMessageWindow::InitSelf +805e3614 MatchingMessageWindow::OnUpdate +805e3618 MatchingMessageWindow::SetMessage +805e36d0 MatchingMessageWindow::Hide +805e3780 Pages::GlobeSearch::__ct +805e38b4 Pages::GlobeSearch::__dt +805e3988 Pages::GlobeSearch::OnInit +805e3bb4 Pages::GlobeSearch::OnActivate +805e4438 Pages::Menu::GetRuntimeTypeInfo +805e4444 Pages::GlobeSearch::BeforeEntranceAnimations +805e4448 Pages::GlobeSearch::BeforeExitAnimations +805e4498 Pages::GlobeSearch::BeforeControlUpdate +805e49ec Pages::GlobeSearch::AfterControlUpdate +805e515c Pages::GlobeSearch::OnResume +805e53e4 0x805e53e4 +805e5424 0x805e5424 +805e55b0 Pages::GlobeSearch::PrepareLiveView +805e5b38 0x805e5b38 +805e5d84 0x805e5d84 +805e5d9c Pages::GlobeSearch::GetNextPage +805e5da4 Pages::GlobeSearch::IsHomeMenuWorking +805e5dac Pages::GlobeSearch::GetRuntimeTypeInfo +805e5db8 MatchingMessageWindow::GetRuntimeTypeInfo +805e5dc4 RandomMatchingPlayer::GetRuntimeTypeInfo +805e5dd0 TriggerPtmf +805e5e00 TriggerPtmf +805e5e30 __sinit_RandomMatchingPage_cpp +805e5e58 RankingGraphControl::GetClassName +805e5e64 RankingGraphControl::__ct +805e5edc RankingGraphControl::__dt +805e5f7c RankingGraphControl::LoadAssets +805e6004 0x805e6004 +805e6028 RankingGraphControl::UpdateImpl +805e6738 0x805e6738 +805e67d4 0x805e67d4 +805e684c 0x805e684c +805e68c4 0x805e68c4 +805e690c 0x805e690c +805e695c 0x805e695c +805e69a4 RankingGraphControlTimeAttack::GetClassName +805e69b4 RankingGraphControlTimeAttack::__ct +805e6af8 RankingGraphControlTimeAttack::__dt +805e6c68 RankingGraphControlTimeAttack::Load +805e7054 0x805e7054 +805e7078 0x805e7078 +805e707c RankingGraphControlTimeAttack::GetWindow +805e70e8 0x805e70e8 +805e7228 RankingGraphControlTimeAttack::DisplayItems +805e7288 RankingGraphControlTimeAttack::DisableAllItems +805e73a8 RankingGraphControlTimeAttack:: DisplayItemsOnlineRankings +805e7e50 0x805e7e50 +805e7e90 RankingGraphControlTimeAttack:: DisplayItemsFriendsRankings +805e827c 0x805e827c +805e828c 0x805e828c +805e83ac 0x805e83ac +805e84e8 0x805e84e8 +805e8810 0x805e8810 +805e8834 0x805e8834 +805e8838 0x805e8838 +805e8884 0x805e8884 +805e88e4 0x805e88e4 +805e89c8 0x805e89c8 +805e9248 0x805e9248 +805e95e8 0x805e95e8 +805e95f4 RankingGraphControlTimeAttack::GetRuntimeTypeInfo +805e9600 RankingGraphControl::GetRuntimeTypeInfo +805e960c 0x805e960c +805e9630 0x805e9630 +805e969c 0x805e969c +805e9720 0x805e9720 +805e9848 0x805e9848 +805e9858 0x805e9858 +805e9894 0x805e9894 +805e98ec 0x805e98ec +805e9964 0x805e9964 +805e999c 0x805e999c +805e99a0 Pages::RankingGraph::__ct +805e9c3c Pages::RankingGraph::__dt +805e9d24 Pages::RankingGraph::OnInit +805ea1c4 Pages::RankingGraph::OnDispose +805ea278 Pages::RankingGraph::OnActivate +805ea43c 0x805ea43c +805ea538 Pages::RankingGraph::OnTAUpDownChange +805ea554 Pages::RankingGraph::OnTAUpDownClick +805ea5a0 Pages::RankingGraph::OnTATextChange +805ea624 Pages::RankingGraph::OnCompetitionUpDownChange +805ea640 Pages::RankingGraph::OnCompetitionTextChange +805ea76c Pages::RankingGraph::OnRankingTypeUpDownChange +805ea890 Pages::RankingGraph::OnRankingTypeTextChange +805ea8a0 Pages::RankingGraph::OnBackButtonClick +805ea8ec Pages::RankingGraph::OnBackPress +805ea90c Pages::RankingGraph::SetBottomText +805ea914 0x805ea914 +805eaa44 0x805eaa44 +805eab24 0x805eab24 +805eaba8 0x805eaba8 +805eabb8 0x805eabb8 +805eabc8 0x805eabc8 +805eacec Pages::RankingGraph::GetNextPage +805eacf4 Pages::RankingGraph::GetRuntimeTypeInfo +805ead00 0x805ead00 +805ead0c 0x805ead0c +805ead18 TriggerPtmf +805ead48 TriggerPtmf +805ead78 TriggerPtmf +805eada8 TriggerPtmf +805eadd8 TriggerPtmf +805eae08 0x805eae08 +805eae30 SectionPad::__ct +805eae40 SectionPad::__dt +805eae80 SectionPad::Init +805eaee4 SectionPad::Update +805eb2fc SectionPad::ResetPadsStatusAndSet0x54 +805eb31c SectionPad::GetCurrentID +805eb33c SectionPad::GetNewID +805eb35c SectionPad::GetControllerHolder +805eb390 SectionPad::HasAController +805eb3e4 SectionPad::SetDriftType +805eb404 SectionPad::IsDriftAuto +805eb434 0x805eb434 +805eb454 SectionPad::SetID +805eb46c 0x805eb46c +805eb568 0x805eb568 +805eb6b0 SectionPad::RequestPad +805eb788 SectionPad::ResetPad +805eb860 SectionPad::SetPadDisconnected +805eb874 SectionPad::DisconnectPad +805eb964 SectionPad::ResetPadsStatus +805eb980 SectionPad::GetFirstDeactivatedPad +805eba0c SectionPad::HasControllerChanged +805eba44 0x805eba44 +805ebc18 SectionPad::Has4WiimotePads +805ebc8c SectionPad::ResetAllPads +805ebcd8 SectionPad::EnablePointer +805ebd80 SectionPad::GetControllerHolderByIdx +805ebe04 SectionPad::CalculateID +805ebf70 SectionPad::GetType +805ebfc0 Pages::RecognizePad::__ct +805ec01c Pages::RecognizePad::__dt +805ec09c Pages::RecognizePad::OnInit +805ec184 Pages::RecognizePad::OnActivate +805ec24c Pages::RecognizePad::OnDeactivate +805ec2a8 Pages::RecognizePad::AfterControlUpdate +805ec348 Pages::RecognizePad::BeforeEntranceAnimations +805ec38c Pages::RecognizePad::AfterExitAnimations +805ec3d0 Pages::RecognizePad::CheckForConditions +805ec4dc Pages::RecognizePad::IsVisible +805ec500 Pages::RecognizePadMenu::__ct +805ec568 Pages::RecognizePadMenu::__dt +805ec5ec Pages::RecognizePadMenu::BeforeEntranceAnimations +805ec6e4 Pages::RecognizePadMenu::AfterEntranceAnimations +805ec730 Pages::RecognizePadMenu::BeforeExitAnimations +805ec744 Pages::RecognizePadMenu::AfterExitAnimations +805ec788 Pages::RecognizePadMenu::BeforeControlUpdate +805ec830 Pages::RecognizePadMenu::IsDVDEnabled +805ec844 0x805ec844 +805ec8ac 0x805ec8ac +805ec930 0x805ec930 +805eca04 0x805eca04 +805eca6c 0x805eca6c +805ecb58 0x805ecb58 +805ecba4 0x805ecba4 +805ecbb8 0x805ecbb8 +805ecbfc 0x805ecbfc +805ecce8 0x805ecce8 +805ecd04 0x805ecd04 +805ecd6c 0x805ecd6c +805ecdf0 0x805ecdf0 +805ecec4 0x805ecec4 +805ecfb0 0x805ecfb0 +805ecffc 0x805ecffc +805ed010 0x805ed010 +805ed054 0x805ed054 +805ed140 0x805ed140 +805ed15c 0x805ed15c +805ed168 0x805ed168 +805ed174 0x805ed174 +805ed180 0x805ed180 +805ed18c Pages::RecognizePadMenu::GetClassName +805ed198 Pages::RecognizePadMenu::GetRuntimeTypeInfo +805ed1a4 Pages::RecognizePad::GetRuntimeTypeInfo +805ed1b0 0x805ed1b0 +805ed1d8 Pages::RegisteringFriend::__ct +805ed24c Pages::RegisteringFriend::__dt +805ed2c4 Pages::RegisteringFriend::OnInit +805ed36c Pages::RegisteringFriend::OnActivate +805ed48c Pages::RegisteringFriend::BeforeEntranceAnimations +805ed490 Pages::RegisteringFriend::BeforeExitAnimations +805ed494 Pages::RegisteringFriend::AfterControlUpdate +805ed5ec Pages::RegisteringFriend::OnResume +805edc04 Pages::RegisteringFriend::GetNextPage +805edc60 Pages::RegisteringFriend::IsHomeMenuWorking +805edc7c Pages::RegisterFriend::__ct +805edeb4 Pages::RegisterFriend::__dt +805edf78 Pages::RegisterFriend::OnInit +805ee234 Pages::RegisterFriend::OnActivate +805ee2ac 0x805ee2ac +805ee304 0x805ee304 +805ee30c Pages::RegisterFriend::OnDigitClick +805ee378 Pages::RegisterFriend::OnBackSpaceClick +805ee3c4 Pages::RegisterFriend::OnOkButtonClick +805ee6b0 Pages::RegisterFriend::OnBackButtonClick +805ee6f4 Pages::RegisterFriend::OnOkButtonSelect +805ee730 Pages::RegisterFriend::OnOkButtonDeselect +805ee740 Pages::RegisterFriend::OnBackPress +805ee7c8 Pages::RegisterFriend::GetRuntimeTypeInfo +805ee7d4 Pages::xA5::GetRuntimeTypeInfo +805ee7e0 TriggerPtmf +805ee810 TriggerPtmf +805ee840 RegisterFriendPage_cpp_sinit_ +805ee85c Pages::CorruptSaveMgr::__ct +805ee8d8 Pages::CorruptSaveMgr::__dt +805ee940 Pages::CorruptSaveMgr::OnInit +805ee99c Pages::CorruptSaveMgr::OnActivate +805eeb28 Pages::CorruptSaveMgr::AfterControlUpdate +805eed60 Pages::CorruptSaveMgr::OnResume +805eeef8 Pages::CorruptSaveMgr::IsHomeMenuWorking +805eef10 Pages::CorruptSaveMgr::InitYesNoValues +805ef0b4 0x805ef0b4 +805ef1c0 Pages::CorruptSaveMgr::OnReturnToWiiMenuClick +805ef230 Pages::CannotSave::__ct +805ef2ac Pages::CannotSave::__dt +805ef314 Pages::CannotSave::OnInit +805ef370 Pages::CannotSave::OnActivate +805ef514 Pages::CannotSave::OnYesNoClick +805ef5b4 Pages::CorruptMemory::__ct +805ef600 Pages::CorruptMemory::__dt +805ef674 Pages::CorruptMemory::OnInit +805ef738 Pages::CorruptMemory::OnActivate +805ef7ac Pages::CorruptMiiData::__ct +805ef838 Pages::CorruptMiiData::__dt +805ef8b8 Pages::CorruptMiiData::OnInit +805ef9bc Pages::CorruptMiiData::OnActivate +805efa14 Pages::CorruptMiiData::OnButtonClick +805efa60 Pages::CorruptMiiData::IsHomeMenuWorking +805efa68 Pages::CorruptMiiData::GetRuntimeTypeInfo +805efa74 Pages::CorruptMemory::IsHomeMenuWorking +805efa7c Pages::CorruptMemory::GetRuntimeTypeInfo +805efa88 Pages::CannotSave::__dt +805efa90 Pages::CannotSave::GetRuntimeTypeInfo +805efa9c Pages::CorruptSaveMgr::GetRuntimeTypeInfo +805efaa8 TriggerPtmf +805efad8 TriggerPtmf +805efb08 TriggerPtmf +805efb38 CorruptPages_cpp_sinit_ +805efb5c RKSYSRequester::__ct +805efb90 0x805efb90 +805efc00 RKSYSRequester::__dt +805efc78 RKSYSRequester::Reset +805efcb4 RKSYSRequester::Update +805efdd0 RKSYSRequester::Init +805efef0 RKSYSRequester::Close +805eff24 RKSYSRequester::HandleRequest +805f0328 RKSYSRequester::HandleAllRequests +805f0448 RKSYSRequester::CheckRequests +805f04f0 RKSYSRequester::HasError +805f0504 0x805f0504 +805f0518 RKSYSRequester::RequestEraseAllGhosts +805f0530 RKSYSRequester::RequestSaveLicense +805f055c RKSYSRequester::NotifyNewLicenseContent +805f0580 RKSYSRequester::RequestSaveLicenseIfNewContent +805f05d0 RKSYSRequester::RequestSaveGhost +805f0978 RKSYSRequester::RequestSaveGhost_0x18 +805f0d1c RKSYSRequester::RequestEraseGhost +805f0d54 RKSYSRequester::RequestEraseGhostFromLicense +805f0d88 RKSYSRequester::RequestGetDLdGhost +805f0dc4 RKSYSRequester::RequestGetGhostFromLicense +805f0dfc RKSYSRequester::RequestGetGroupGhosts +805f0e2c RKSYSRequester::RequestGetGroupGhostsFromLicense +805f0e58 Section::__ct +805f0ed0 Section::__dt +805f0f4c Section::Init +805f11fc Section::Enter +805f1324 Section::Exit +805f14ec Section::UpdateSystemPages +805f1644 Section::Update +805f18b0 Section::Draw +805f1c2c Section::Pause +805f1c98 Section::Resume +805f1d54 Section::OnTransition +805f1db4 Section::CreateMoviePlayer +805f1e04 Section::CreateFriendList +805f1e54 Section::CreateAndInitPage +805f1ea0 Section::CreateSystemPage +805f1eec Section::AddPageLayer +805f1f4c Section::AddPageLayerAnimatedReturnTopLayer +805f1fb8 Section::IsPageTopLayer +805f1fec Section::GetTopLayerPage +805f2014 Section::IsHomeMenuWorking +805f20d4 Section::IsDVDEnabled +805f21a0 Section::ScheduleDisconnection +805f21b4 Section::UpdateLayers +805f2374 Section::AddPageLayerAnimated +805f23d4 Section::TopLayerPage +805f2434 Section::RemovePageLayers +805f24dc Section::CreatePageById +805f2504 Section::CreatePageById_switch +805f2508 Section::CreatePageById_case0 +805f2520 Section::CreatePageById_case1 +805f2538 Section::CreatePageById_case2 +805f2550 Section::CreatePageById_case3 +805f2568 Section::CreatePageById_case4 +805f2580 Section::CreatePageById_case5 +805f2598 Section::CreatePageById_case6 +805f25b0 Section::CreatePageById_case7 +805f25c8 Section::CreatePageById_case8 +805f25e0 Section::CreatePageById_case9 +805f25f8 Section::CreatePageById_casea +805f2610 Section::CreatePageById_caseb +805f2628 Section::CreatePageById_casec +805f2640 Section::CreatePageById_cased +805f2658 Section::CreatePageById_casee +805f2670 Section::CreatePageById_case10 +805f2688 Section::CreatePageById_case12 +805f26a0 Section::CreatePageById_case13 +805f26b8 Section::CreatePageById_case16 +805f26d0 Section::CreatePageById_case17 +805f26e8 Section::CreatePageById_case18 +805f2700 Section::CreatePageById_case19 +805f2718 Section::CreatePageById_case1a +805f2730 Section::CreatePageById_case1b +805f2748 Section::CreatePageById_case1c +805f2760 Section::CreatePageById_case1d +805f2778 Section::CreatePageById_case1e +805f2790 Section::CreatePageById_case1f +805f27a8 Section::CreatePageById_case20 +805f27c0 Section::CreatePageById_case21 +805f27d8 Section::CreatePageById_case22 +805f27f0 Section::CreatePageById_case23 +805f2808 Section::CreatePageById_case24 +805f2820 Section::CreatePageById_case25 +805f2838 Section::CreatePageById_case26 +805f2850 Section::CreatePageById_case27 +805f2868 Section::CreatePageById_case28 +805f2880 Section::CreatePageById_case29 +805f2898 Section::CreatePageById_case2a +805f28b0 Section::CreatePageById_case2b +805f28c8 Section::CreatePageById_case2c +805f28e0 Section::CreatePageById_case2d +805f28f8 Section::CreatePageById_case2e +805f2910 Section::CreatePageById_case2f +805f2928 Section::CreatePageById_case30 +805f2940 Section::CreatePageById_case31 +805f2958 Section::CreatePageById_case32 +805f2970 Section::CreatePageById_case33 +805f2988 Section::CreatePageById_case34 +805f29a0 Section::CreatePageById_case35 +805f29b8 Section::CreatePageById_case36 +805f29d0 Section::CreatePageById_case37 +805f29e8 Section::CreatePageById_case38 +805f2a00 Section::CreatePageById_case39 +805f2a18 Section::CreatePageById_case3a +805f2a30 Section::CreatePageById_case3b +805f2a48 Section::CreatePageById_case3c +805f2a60 Section::CreatePageById_case3d +805f2a78 Section::CreatePageById_case3e +805f2a90 Section::CreatePageById_case3f +805f2aa8 Section::CreatePageById_case40 +805f2ac0 Section::CreatePageById_case41 +805f2ad8 Section::CreatePageById_case42 +805f2af0 Section::CreatePageById_case43 +805f2b08 Section::CreatePageById_case44 +805f2b20 Section::CreatePageById_case45 +805f2b38 Section::CreatePageById_case46 +805f2b50 Section::CreatePageById_case47 +805f2b68 Section::CreatePageById_case48 +805f2b80 Section::CreatePageById_case49 +805f2b98 Section::CreatePageById_case4a +805f2bb0 Section::CreatePageById_case4b +805f2bc8 Section::CreatePageById_case4c +805f2be0 Section::CreatePageById_case4d +805f2bf8 Section::CreatePageById_case4e +805f2c10 Section::CreatePageById_case4f +805f2c28 Section::CreatePageById_case51 +805f2c40 Section::CreatePageById_case52 +805f2c58 Section::CreatePageById_case53 +805f2c70 Section::CreatePageById_case54 +805f2c88 Section::CreatePageById_case55 +805f2ca0 Section::CreatePageById_case56 +805f2cb8 Section::CreatePageById_case57 +805f2cd0 Section::CreatePageById_case58 +805f2ce8 Section::CreatePageById_case59 +805f2d00 Section::CreatePageById_case5a +805f2d18 Section::CreatePageById_case5b +805f2d30 Section::CreatePageById_case5c +805f2d48 Section::CreatePageById_case5d +805f2d60 Section::CreatePageById_case5e +805f2d78 Section::CreatePageById_case5f +805f2d90 Section::CreatePageById_case60 +805f2da8 Section::CreatePageById_case61 +805f2dc0 Section::CreatePageById_case62 +805f2dd8 Section::CreatePageById_case63 +805f2df0 Section::CreatePageById_case64 +805f2e08 Section::CreatePageById_case65 +805f2e20 Section::CreatePageById_case66 +805f2e38 Section::CreatePageById_case67 +805f2e50 Section::CreatePageById_case68 +805f2e68 Section::CreatePageById_case69 +805f2e80 Section::CreatePageById_case6a +805f2e98 Section::CreatePageById_case6b +805f2eb0 Section::CreatePageById_case6c +805f2ec8 Section::CreatePageById_case6d +805f2ee0 Section::CreatePageById_case6e +805f2ef8 Section::CreatePageById_case6f +805f2f10 Section::CreatePageById_case70 +805f2f28 Section::CreatePageById_case71 +805f2f40 Section::CreatePageById_case72 +805f2f58 Section::CreatePageById_case73 +805f2f70 Section::CreatePageById_case74 +805f2f88 Section::CreatePageById_case75 +805f2fa0 Section::CreatePageById_case76 +805f2fb8 Section::CreatePageById_case77 +805f2fd0 Section::CreatePageById_case78 +805f2fe8 Section::CreatePageById_case79 +805f3000 Section::CreatePageById_case7a +805f3018 Section::CreatePageById_case7b +805f3030 Section::CreatePageById_case7c +805f3048 Section::CreatePageById_case7d +805f3060 Section::CreatePageById_case7e +805f3078 Section::CreatePageById_case7f +805f3090 Section::CreatePageById_case80 +805f30a8 Section::CreatePageById_case81 +805f30c0 Section::CreatePageById_case82 +805f30d8 Section::CreatePageById_case83 +805f30f0 Section::CreatePageById_case84 +805f3108 Section::CreatePageById_case85 +805f3120 Section::CreatePageById_case86 +805f3138 Section::CreatePageById_case87 +805f3150 Section::CreatePageById_case88 +805f3168 Section::CreatePageById_case89 +805f3180 Section::CreatePageById_case8a +805f3198 Section::CreatePageById_case8b +805f31b0 Section::CreatePageById_case8c +805f31c8 Section::CreatePageById_case8d +805f31e0 Section::CreatePageById_case8e +805f31f8 Section::CreatePageById_case8f +805f3210 Section::CreatePageById_case90 +805f3228 Section::CreatePageById_case91 +805f3240 Section::CreatePageById_case92 +805f3258 Section::CreatePageById_case93 +805f3270 Section::CreatePageById_case94 +805f3288 Section::CreatePageById_case95 +805f32a0 Section::CreatePageById_case96 +805f32b8 Section::CreatePageById_case97 +805f32d0 Section::CreatePageById_case98 +805f32e8 Section::CreatePageById_case99 +805f3300 Section::CreatePageById_case9a +805f3318 Section::CreatePageById_case9b +805f3330 Section::CreatePageById_case9c +805f3348 Section::CreatePageById_case9d +805f3360 Section::CreatePageById_case9e +805f3378 Section::CreatePageById_case9f +805f3390 Section::CreatePageById_casea0 +805f33a8 Section::CreatePageById_casea1 +805f33c0 Section::CreatePageById_casea2 +805f33d8 Section::CreatePageById_casea3 +805f33f0 Section::CreatePageById_casea4 +805f3408 Section::CreatePageById_casea5 +805f3420 Section::CreatePageById_casea6 +805f3438 Section::CreatePageById_casea7 +805f3450 Section::CreatePageById_casea8 +805f3468 Section::CreatePageById_caseaa +805f3480 Section::CreatePageById_caseab +805f3498 Section::CreatePageById_caseac +805f34b0 Section::CreatePageById_casead +805f34c8 Section::CreatePageById_caseae +805f34e0 Section::CreatePageById_caseaf +805f34f8 Section::CreatePageById_caseb0 +805f3510 Section::CreatePageById_caseb1 +805f3528 Section::CreatePageById_caseb2 +805f3540 Section::CreatePageById_caseb3 +805f3558 Section::CreatePageById_caseb4 +805f3570 Section::CreatePageById_caseb5 +805f3588 Section::CreatePageById_caseb6 +805f35a0 Section::CreatePageById_caseb7 +805f35b8 Section::CreatePageById_caseb8 +805f35d0 Section::CreatePageById_caseb9 +805f35e8 Section::CreatePageById_caseba +805f3600 Section::CreatePageById_casebb +805f3618 Section::CreatePageById_casebc +805f3630 Section::CreatePageById_casebd +805f3648 Section::CreatePageById_casebe +805f3660 Section::CreatePageById_casebf +805f3678 Section::CreatePageById_casec0 +805f3690 Section::CreatePageById_casec1 +805f36a8 Section::CreatePageById_casec2 +805f36c0 Section::CreatePageById_casec3 +805f36d8 Section::CreatePageById_casec5 +805f36f0 Section::CreatePageById_casec6 +805f3708 Section::CreatePageById_casec7 +805f3720 Section::CreatePageById_casec8 +805f3738 Section::CreatePageById_casec9 +805f3750 Section::CreatePageById_caseca +805f3768 Section::CreatePageById_casecb +805f3780 Section::CreatePageById_casecc +805f3798 Section::CreatePageById_casecd +805f37b0 Section::CreatePageById_casece +805f37dc Pages::RaceIntro::__ct +805f3830 Pages::GPHUD::__ct +805f38b0 Pages::RaceHUD::__dt +805f3918 Pages::TTHUD::__ct +805f39c0 Pages::VSHUD::__ct +805f3a40 Pages::VSMultiHUD::__ct +805f3ac0 Pages::BattleHUD::__ct +805f3b40 Pages::BattleMultiHUD::__ct +805f3bc0 Pages::TournamentHUD::__ct +805f3c40 Pages::GPPause::__ct +805f3c84 Pages::RaceMenu::__dt +805f3cec Pages::VSPause::__ct +805f3d30 Pages::TTPause::__ct +805f3d74 Pages::BattlePause::__ct +805f3db8 0x805f3db8 +805f3dfc 0x805f3dfc +805f3e40 0x805f3e40 +805f3e84 0x805f3e84 +805f3ec8 Pages::GhostReplayPause::GhostReplayPausePage +805f3f0c Pages::GPEnd::__ct +805f3f50 Pages::TTEnd::__ct +805f3f94 Pages::VSRaceEnd::VSRaceEndPage +805f3fd8 Pages::BattleEnd::__ct +805f401c Pages::BattleFinalRaceEnd::__ct +805f4060 0x805f4060 +805f40a4 0x805f40a4 +805f40e8 0x805f40e8 +805f412c 0x805f412c +805f4170 Pages::TTFriendGhostEnd::__ct +805f41b4 0x805f41b4 +805f41f8 Pages::CheckRankings::__ct +805f423c Pages::QuitConfirmation::__ct +805f4280 Pages::TTLeaderboard::__ct +805f42e4 Pages::Leaderboard::__dt +805f434c 0x805f434c +805f43b8 Pages::GPVSLeaderboardUpdate::__ct +805f43f4 Pages::GPVSLeaderboardTotal::__ct +805f4430 Pages::WWLeaderboardUpdate::__ct +805f446c Pages::TeamVSLeaderboardTotal::__ct +805f44d4 CtrlRaceResultTeam::__ct +805f4538 CtrlRaceResultTeam::__dt +805f45ac Pages::TeamVSLeaderboardBase::__dt +805f4634 Pages::BattleLeaderboardUpdate::__ct +805f469c Pages::BattleLeaderboardTotal::__ct +805f4704 0x805f4704 +805f4740 Pages::GPReplayHUD::__ct +805f47c0 Pages::GhostRaceHUD::__ct +805f4840 Pages::GPReplayPause::__ct +805f4884 Pages::TTReplayPause::__ct +805f48c8 Pages::WifiVSHUD::__ct +805f4948 Pages::WifiVSMultiHUD::__ct +805f49c8 Pages::WiFiFriendVSHUD::__ct +805f4a48 Pages::WiFiFriendTeamVSHUD::__ct +805f4ac8 Pages::LiveViewHUD::__ct +805f4b48 Pages::LiveBattleViewHUD::__ct +805f4bc8 Pages::StartRace::__ct +805f4e7c Pages::Menu::__dt +805f4ee8 Pages::DriftSelect::OnStartPress +805f4eec Pages::MainMenu::__ct +805f51c4 Pages::MenuBG::__ct +805f5334 Pages::TopMenuOverlay::__ct +805f54a8 Pages::MiiSelect::__ct +805f578c MiiName::__dt +805f57e4 Pages::SinglePlayer::__ct +805f5a9c Pages::GPClassSelect::__ct +805f5d5c Pages::CharacterSelect::__ct +805f6154 CtrlMenuCharacterSelect::__dt +805f61ac Pages::KartSelect::__ct +805f6484 CtrlMenuMachineGraph::__ct +805f64c0 CtrlMenuMachineGraph::__dt +805f6518 Pages::DriftSelect::__ct +805f67d0 Pages::CupSelect::__ct +805f6b8c CtrlMenuMovieHandler::__dt +805f6bcc CtrlMenuMovieLayout::__dt +805f6c28 CtrlMenuCupSelectCup::__dt +805f6cb0 CtrlMenuCupSelectCourse::__dt +805f6d24 Pages::CourseSelect::__ct +805f70b8 CtrlMenuCourseSelectCupSub::__ct +805f70f4 CtrlMenuCourseSelectCupSub::__dt +805f714c CtrlMenuCourseSelectCup::__dt +805f71c0 CourseButton::__ct +805f7220 CtrlMenuMovieButton::__dt +805f727c CourseButton::__dt +805f72dc 0x805f72dc +805f735c Pages::VSModeSelect::__ct +805f7614 Pages::VSSettings::VSSetting +805f792c Pages::VSTeamsView::__ct +805f7c00 CtrlMenuTeamConfirmTeam::__ct +805f7c5c CtrlMenuTeamConfirmTeam::__dt +805f7cd0 Pages::BattleModeSelect::__ct +805f7f88 Pages::BattleKartSelect::__ct +805f8278 CharaName::__dt +805f82d0 Pages::BattleSettings::__ct +805f85e8 Pages::BattleCupSelect::__ct +805f89a4 CtrlMenuBattleCupSelectCup::__dt +805f8a2c CtrlMenuBattleCupSelectStage::__dt +805f8aa0 Pages::BattleStageSelect::__ct +805f8e34 0x805f8e34 +805f8e70 0x805f8e70 +805f8ec8 CtrlMenuBattleStageSelectCup::__dt +805f8f3c StageButton::__ct +805f8f9c StageButton::__dt +805f8ffc CtrlMenuBattleStageSelectStage::__ct +805f907c 0x805f907c +805f9438 0x805f9438 +805f94c0 0x805f94c0 +805f9534 0x805f9534 +805f98c8 0x805f98c8 +805f9904 0x805f9904 +805f995c 0x805f995c +805f99d0 0x805f99d0 +805f9a30 0x805f9a30 +805f9a90 0x805f9a90 +805f9b10 0x805f9b10 +805f9de8 0x805f9de8 +805fa0d4 0x805fa0d4 +805fa38c Pages::MultiPlayer::__ct +805fa640 Pages::MultiKartSelect::__ct +805fa974 MultiKartBox::__ct +805fa9b0 MultiKartBox::__dt +805faa08 Pages::MultiDriftSelect::__ct +805facbc Pages::MultiTeamSelect::__ct +805faf70 Pages::Unlock::__ct +805fb240 Pages::LicenseRecords::__ct +805fb4f0 Section::CreateSectionPages +805fb524 Section::CreateSectionPages_switch +805fb528 Section::CreateSectionPages_case6 +805fb534 Section::CreateSectionPages_case7 +805fb540 Section::CreateSectionPages_case8 +805fb54c Section::CreateSectionPages_case9 +805fb558 Section::CreateSectionPages_casea +805fb564 Section::CreateSectionPages_caseb +805fb570 Section::CreateSectionPages_casec +805fb57c Section::CreateSectionPages_cased +805fb588 Section::CreateSectionPages_casee +805fb594 Section::CreateSectionPages_casef +805fb5a0 Section::CreateSectionPages_case10 +805fb5c4 Section::CreateSectionPages_case11 +805fb5f4 Section::CreateSectionPages_case12 +805fb624 Section::CreateSectionPages_case13 +805fb648 Section::CreateSectionPages_case14 +805fb660 Section::CreateSectionPages_case15 +805fb678 Section::CreateSectionPages_case16 +805fb684 Section::CreateSectionPages_case17 +805fb690 Section::CreateSectionPages_case18 +805fb69c Section::CreateSectionPages_case19 +805fb6a8 Section::CreateSectionPages_case1a +805fb6b4 Section::CreateSectionPages_case1b +805fb6c0 Section::CreateSectionPages_case1c +805fb6cc Section::CreateSectionPages_case1d +805fb6d8 Section::CreateSectionPages_case1e +805fb72c Section::CreateSectionPages_case1f +805fb798 Section::CreateSectionPages_case20 +805fb7e0 Section::CreateSectionPages_case21 +805fb834 Section::CreateSectionPages_case22 +805fb888 Section::CreateSectionPages_case23 +805fb8dc Section::CreateSectionPages_case24 +805fb924 Section::CreateSectionPages_case25 +805fb978 Section::CreateSectionPages_case26 +805fb9cc Section::CreateSectionPages_case27 +805fba20 Section::CreateSectionPages_case28 +805fba74 Section::CreateSectionPages_case29 +805fbad4 Section::CreateSectionPages_case2a +805fbb34 Section::CreateSectionPages_case2b +805fbb94 Section::CreateSectionPages_case2c +805fbbd0 Section::CreateSectionPages_case2d +805fbc18 Section::CreateSectionPages_case2e +805fbc48 Section::CreateSectionPages_case2f +805fbc90 Section::CreateSectionPages_case30 +805fbd08 Section::CreateSectionPages_case31 +805fbd8c Section::CreateSectionPages_case32 +805fbdc8 Section::CreateSectionPages_case33 +805fbe04 Section::CreateSectionPages_case34 +805fbe40 Section::CreateSectionPages_case35 +805fbe58 Section::CreateSectionPages_case36 +805fbe70 Section::CreateSectionPages_case37 +805fbe88 Section::CreateSectionPages_case38 +805fbea0 Section::CreateSectionPages_case39 +805fbeac Section::CreateSectionPages_case3a +805fbeb8 Section::CreateSectionPages_case3b +805fbed0 Section::CreateSectionPages_case3c +805fbee8 Section::CreateSectionPages_case3d +805fbf24 Section::CreateSectionPages_case3e +805fbf60 Section::CreateSectionPages_case3f +805fbfe4 Section::CreateSectionPages_case40 +805fc068 Section::CreateSectionPages_case41 +805fc0ec Section::CreateSectionPages_case42 +805fc170 Section::CreateSectionPages_case43 +805fc1f4 Section::CreateSectionPages_case44 +805fc20c Section::CreateSectionPages_case45 +805fc254 Section::CreateSectionPages_case46 +805fc29c Section::CreateSectionPages_case47 +805fc344 Section::CreateSectionPages_case48 +805fc488 Section::CreateSectionPages_case49 +805fc5cc Section::CreateSectionPages_case4a +805fc710 Section::CreateSectionPages_case4b +805fc794 Section::CreateSectionPages_case4c +805fc818 Section::CreateSectionPages_case4d +805fc95c Section::CreateSectionPages_case4e +805fc9c8 Section::CreateSectionPages_case4f +805fca34 Section::CreateSectionPages_case50 +805fcaa0 Section::CreateSectionPages_case51 +805fcae8 Section::CreateSectionPages_case52 +805fcb30 Section::CreateSectionPages_case53 +805fcb78 Section::CreateSectionPages_case54 +805fccb0 Section::CreateSectionPages_case55 +805fce54 Section::CreateSectionPages_case56 +805fcff8 Section::CreateSectionPages_case57 +805fd19c Section::CreateSectionPages_case58 +805fd22c Section::CreateSectionPages_case59 +805fd2bc Section::CreateSectionPages_case5a +805fd31c Section::CreateSectionPages_case5b +805fd4c0 Section::CreateSectionPages_case5c +805fd664 Section::CreateSectionPages_case5d +805fd808 Section::CreateSectionPages_case5e +805fd898 Section::CreateSectionPages_case5f +805fd928 Section::CreateSectionPages_case60 +805fd9b8 Section::CreateSectionPages_case61 +805fda48 Section::CreateSectionPages_case62 +805fdad8 Section::CreateSectionPages_case63 +805fdb68 Section::CreateSectionPages_case64 +805fdbf8 Section::CreateSectionPages_case65 +805fdc88 Section::CreateSectionPages_case66 +805fdd18 Section::CreateSectionPages_case67 +805fdda8 Section::CreateSectionPages_case68 +805fde20 Section::CreateSectionPages_case69 +805fde98 Section::CreateSectionPages_case6a +805fdeec Section::CreateSectionPages_case6b +805fdf40 Section::CreateSectionPages_case6c +805fdfc4 Section::CreateSectionPages_case6d +805fe048 Section::CreateSectionPages_case6e +805fe0a8 Section::CreateSectionPages_case6f +805fe108 Section::CreateSectionPages_case70 +805fe174 Section::CreateSectionPages_case71 +805fe1e0 Section::CreateSectionPages_case72 +805fe24c Section::CreateSectionPages_case73 +805fe2b8 Section::CreateSectionPages_case74 +805fe324 Section::CreateSectionPages_case75 +805fe390 Section::CreateSectionPages_case76 +805fe3fc Section::CreateSectionPages_case77 +805fe468 Section::CreateSectionPages_case78 +805fe480 Section::CreateSectionPages_case79 +805fe498 Section::CreateSectionPages_case7a +805fe4ec Section::CreateSectionPages_case7b +805fe540 Section::CreateSectionPages_case7c +805fe594 Section::CreateSectionPages_case7d +805fe690 Section::CreateSectionPages_case7e +805fe75c Section::CreateSectionPages_case7f +805fe7e0 Section::CreateSectionPages_case80 +805fe8c4 Section::CreateSectionPages_case81 +805fe99c Section::CreateSectionPages_case82 +805fe9fc Section::CreateSectionPages_case83 +805feb88 Section::CreateSectionPages_case84 +805fed20 Section::CreateSectionPages_case85 +805fed98 Section::CreateSectionPages_case86 +805fee10 Section::CreateSectionPages_case87 +805fee94 Section::CreateSectionPages_case88 +805feeac Section::CreateSectionPages_case89 +805feec4 Section::CreateSectionPages_case8a +805fef18 Section::CreateSectionPages_case8b +805fef54 Section::CreateSectionPages_case8c +805ff014 Section::CreateSectionPages_case8d +805ff044 Section::CreateSectionPages_case8e +805ff068 Section::CreateSectionPages_case8f +805ff0d4 Section::CreateSectionPages_case90 +805ff104 Section::CreateSectionPages_case91 +805ff134 Section::CreateSectionPages_case92 +805ff164 Section::CreateSectionPages_case93 +805ff194 Section::CreateSectionPages_case94 +805ff1e0 Section::AddInitialLayers +805ff214 Section::AddInitialLayers_switch +805ff218 Section::AddInitialLayers_caseD_6 +805ff224 Section::AddInitialLayers_caseD_7 +805ff230 Section::AddInitialLayers_caseD_8 +805ff23c Section::AddInitialLayers_caseD_9 +805ff248 Section::AddInitialLayers_caseD_a +805ff254 Section::AddInitialLayers_caseD_b +805ff260 Section::AddInitialLayers_caseD_c +805ff26c Section::AddInitialLayers_caseD_d +805ff278 Section::AddInitialLayers_caseD_e +805ff284 Section::AddInitialLayers_caseD_f +805ff290 Section::AddInitialLayers_caseD_10 +805ff2a8 Section::AddInitialLayers_caseD_11 +805ff2c0 Section::AddInitialLayers_caseD_12 +805ff2d8 Section::AddInitialLayers_caseD_13 +805ff2f0 Section::AddInitialLayers_caseD_14 +805ff308 Section::AddInitialLayers_caseD_15 +805ff320 Section::AddInitialLayers_caseD_16 +805ff32c Section::AddInitialLayers_caseD_17 +805ff338 Section::AddInitialLayers_caseD_18 +805ff344 Section::AddInitialLayers_caseD_19 +805ff350 Section::AddInitialLayers_caseD_1a +805ff35c Section::AddInitialLayers_caseD_1b +805ff368 Section::AddInitialLayers_caseD_1c +805ff374 Section::AddInitialLayers_caseD_1d +805ff380 Section::AddInitialLayers_caseD_1e +805ff398 Section::AddInitialLayers_caseD_1f +805ff3bc Section::AddInitialLayers_caseD_20 +805ff3d4 Section::AddInitialLayers_caseD_21 +805ff3ec Section::AddInitialLayers_caseD_22 +805ff404 Section::AddInitialLayers_caseD_23 +805ff41c Section::AddInitialLayers_caseD_24 +805ff434 Section::AddInitialLayers_caseD_25 +805ff44c Section::AddInitialLayers_caseD_26 +805ff464 Section::AddInitialLayers_caseD_27 +805ff47c Section::AddInitialLayers_caseD_28 +805ff494 Section::AddInitialLayers_caseD_29 +805ff4ac Section::AddInitialLayers_caseD_2a +805ff4c4 Section::AddInitialLayers_caseD_2b +805ff4dc Section::AddInitialLayers_caseD_2c +805ff4f4 Section::AddInitialLayers_caseD_2d +805ff50c Section::AddInitialLayers_caseD_2e +805ff524 Section::AddInitialLayers_caseD_2f +805ff548 Section::AddInitialLayers_caseD_30 +805ff560 Section::AddInitialLayers_caseD_31 +805ff584 Section::AddInitialLayers_caseD_32 +805ff5a8 Section::AddInitialLayers_caseD_33 +805ff5cc Section::AddInitialLayers_caseD_34 +805ff5f0 Section::AddInitialLayers_caseD_35 +805ff5fc Section::AddInitialLayers_caseD_36 +805ff608 Section::AddInitialLayers_caseD_37 +805ff614 Section::AddInitialLayers_caseD_38 +805ff620 Section::AddInitialLayers_caseD_39 +805ff62c Section::AddInitialLayers_caseD_3a +805ff638 Section::AddInitialLayers_caseD_3b +805ff650 Section::AddInitialLayers_caseD_3c +805ff668 Section::AddInitialLayers_caseD_3d +805ff680 Section::AddInitialLayers_caseD_3e +805ff698 Section::AddInitialLayers_caseD_3f +805ff6c8 Section::AddInitialLayers_caseD_40 +805ff6f8 Section::AddInitialLayers_caseD_41 +805ff728 Section::AddInitialLayers_caseD_42 +805ff758 Section::AddInitialLayers_caseD_43 +805ff788 Section::AddInitialLayers_caseD_44 +805ff7a0 Section::AddInitialLayers_caseD_45 +805ff7c4 Section::AddInitialLayers_caseD_46 +805ff7e8 Section::AddInitialLayers_caseD_47 +805ff80c Section::AddInitialLayers_caseD_48 +805ff848 Section::AddInitialLayers_caseD_49 +805ff884 Section::AddInitialLayers_caseD_4a +805ff8c0 Section::AddInitialLayers_caseD_4b +805ff8fc Section::AddInitialLayers_caseD_4c +805ff938 Section::AddInitialLayers_caseD_4d +805ff968 Section::AddInitialLayers_caseD_4e +805ff9a4 Section::AddInitialLayers_caseD_4f +805ff9e0 Section::AddInitialLayers_caseD_50 +805ffa1c Section::AddInitialLayers_caseD_51 +805ffa4c Section::AddInitialLayers_caseD_52 +805ffa7c Section::AddInitialLayers_caseD_53 +805ffaac Section::AddInitialLayers_caseD_54 +805ffadc Section::AddInitialLayers_caseD_55 +805ffb24 Section::AddInitialLayers_caseD_56 +805ffb6c Section::AddInitialLayers_caseD_57 +805ffbb4 Section::AddInitialLayers_caseD_58 +805ffbf0 Section::AddInitialLayers_caseD_59 +805ffc2c Section::AddInitialLayers_caseD_5a +805ffc44 Section::AddInitialLayers_caseD_5b +805ffc8c Section::AddInitialLayers_caseD_5c +805ffcd4 Section::AddInitialLayers_caseD_5d +805ffd1c Section::AddInitialLayers_caseD_5e +805ffd58 Section::AddInitialLayers_caseD_5f +805ffd94 Section::AddInitialLayers_caseD_60 +805ffdd0 Section::AddInitialLayers_caseD_61 +805ffe0c Section::AddInitialLayers_caseD_62 +805ffe48 Section::AddInitialLayers_caseD_63 +805ffe84 Section::AddInitialLayers_caseD_64 +805ffec0 Section::AddInitialLayers_caseD_65 +805ffefc Section::AddInitialLayers_caseD_66 +805fff38 Section::AddInitialLayers_caseD_67 +805fff74 Section::AddInitialLayers_caseD_68 +805fffa4 Section::AddInitialLayers_caseD_69 +805fffd4 Section::AddInitialLayers_caseD_6a +80600004 Section::AddInitialLayers_caseD_6b +80600034 Section::AddInitialLayers_caseD_6c +80600064 Section::AddInitialLayers_caseD_6d +80600094 Section::AddInitialLayers_caseD_6e +806000c4 Section::AddInitialLayers_caseD_6f +806000f4 Section::AddInitialLayers_caseD_70 +80600124 Section::AddInitialLayers_caseD_71 +80600154 Section::AddInitialLayers_caseD_72 +80600184 Section::AddInitialLayers_caseD_73 +806001b4 Section::AddInitialLayers_caseD_74 +806001e4 Section::AddInitialLayers_caseD_75 +80600214 Section::AddInitialLayers_caseD_76 +80600244 Section::AddInitialLayers_caseD_77 +80600274 Section::AddInitialLayers_caseD_78 +8060028c Section::AddInitialLayers_caseD_79 +806002a4 Section::AddInitialLayers_caseD_7a +806002bc Section::AddInitialLayers_caseD_7b +806002d4 Section::AddInitialLayers_caseD_7c +806002ec Section::AddInitialLayers_caseD_7d +80600334 Section::AddInitialLayers_caseD_7e +80600370 Section::AddInitialLayers_caseD_7f +80600394 Section::AddInitialLayers_caseD_80 +806003c4 Section::AddInitialLayers_caseD_81 +806003f4 Section::AddInitialLayers_caseD_82 +80600418 Section::AddInitialLayers_caseD_83 +80600460 Section::AddInitialLayers_caseD_84 +806004a8 Section::AddInitialLayers_caseD_85 +806004cc Section::AddInitialLayers_caseD_86 +806004f0 Section::AddInitialLayers_caseD_87 +80600514 Section::AddInitialLayers_caseD_88 +8060052c Section::AddInitialLayers_caseD_89 +80600544 Section::AddInitialLayers_caseD_8a +8060055c Section::AddInitialLayers_caseD_8b +80600574 Section::AddInitialLayers_caseD_8c +80600598 Section::AddInitialLayers_caseD_8d +806005bc Section::AddInitialLayers_caseD_8e +806005e0 Section::AddInitialLayers_caseD_8f +80600604 Section::AddInitialLayers_caseD_90 +80600634 Section::AddInitialLayers_caseD_91 +80600664 Section::AddInitialLayers_caseD_92 +80600694 Section::AddInitialLayers_caseD_93 +806006d4 Section::GetSceneId +80600880 Section::GetArchiveName +80600ba4 Section::HasBackModel +80600c44 Section::HasDriverController +80600d3c Section::GetPageName +80600d4c Section::GetSectionName +80600d5c 0x80600d5c +80600db4 Section::GetSoundId +80601044 Section::GetGroupId +806011cc 0x806011cc +80601300 Section::GetAudioStreamIdx +8060131c Section::GetAudioStreamIdx_switch +80601320 Section::GetAudioStreamIdx_caseD_0 +80601328 Section::GetAudioStreamIdx_caseD_1 +80601330 Section::GetAudioStreamIdx_caseD_2 +80601338 Section::GetAudioStreamIdx_caseD_5 +80601340 Section::GetAudioStreamIdx_caseD_6 +80601348 Section::GetAudioStreamIdx_caseD_10 +80601350 Section::GetAudioStreamIdx_caseD_4b +80601358 Section::GetAudioStreamIdx_caseD_4c +80601360 Section::GetAudioStreamIdx_caseD_4d +80601368 Section::GetAudioStreamIdx_caseD_4e +80601370 Section::GetAudioStreamIdx_caseD_57 +80601378 Section::GetAudioStreamIdx_caseD_58 +80601380 Section::GetAudioStreamIdx_caseD_5a +80601388 Section::GetAudioStreamIdx_caseD_5b +80601390 Section::GetAudioStreamIdx_caseD_5c +80601398 Section::GetAudioStreamIdx_caseD_5d +806013a0 Section::GetAudioStreamIdx_caseD_5e +806013a8 Section::GetAudioStreamIdx_caseD_5f +806013b0 Section::GetAudioStreamIdx_caseD_60 +806013b8 Section::GetAudioStreamIdx_caseD_65 +806013c0 Section::GetAudioStreamIdx_caseD_66 +806013c8 Section::GetAudioStreamIdx_caseD_69 +806013d0 Section::GetAudioStreamIdx_caseD_6b +806013d8 Section::GetAudioStreamIdx_caseD_6e +806013e0 Section::GetAudioStreamIdx_caseD_70 +806013e8 Section::GetAudioStreamIdx_caseD_72 +806013f0 Section::GetAudioStreamIdx_caseD_74 +806013f8 Section::GetAudioStreamIdx_caseD_75 +80601400 Section::GetAudioStreamIdx_caseD_76 +80601408 Section::GetAudioStreamIdx_caseD_77 +80601410 Section::GetAudioStreamIdx_caseD_78 +80601418 Section::GetAudioStreamIdx_caseD_7a +80601420 Section::GetAudioStreamIdx_caseD_7f +80601428 Section::GetAudioStreamIdx_caseD_80 +80601430 Section::GetAudioStreamIdx_caseD_81 +80601438 Section::GetAudioStreamIdx_caseD_84 +80601440 Section::GetAudioStreamIdx_caseD_85 +80601448 Section::GetAudioStreamIdx_caseD_8a +80601450 Section::GetAudioStreamIdx_caseD_8b +80601458 Section::GetAudioStreamIdx_caseD_8c +80601460 Section::GetAudioStreamIdx_caseD_8d +80601468 Section::GetAudioStreamIdx_caseD_8e +80601470 Section::GetAudioStreamIdx_caseD_8f +80601478 Section::GetAudioStreamIdx_caseD_90 +80601480 Section::GetAudioStreamIdx_caseD_93 +80601488 Section::GetAudioStreamIdx_caseD_95 +80601490 Section::GetAudioStreamIdx_caseD_96 +80601498 Section::GetAudioStreamIdx_caseD_98 +806014a0 Section::GetAudioStreamIdx_caseD_9a +806014a8 Section::GetAudioStreamIdx_caseD_9b +806014b0 Section::GetAudioStreamIdx_caseD_9c +806014b8 Section::GetAudioStreamIdx_caseD_9d +806014c0 Section::GetAudioStreamIdx_caseD_9f +806014c8 Section::GetAudioStreamIdx_caseD_a0 +806014d0 Section::GetAudioStreamIdx_caseD_a1 +806014d8 Section::GetAudioStreamIdx_caseD_a2 +806014e0 Section::GetAudioStreamIdx_caseD_a5 +806014e8 Section::GetAudioStreamIdx_caseD_a8 +806014f0 Section::GetAudioStreamIdx_caseD_b1 +806014f8 Section::GetAudioStreamIdx_caseD_b3 +80601500 Section::GetAudioStreamIdx_caseD_b4 +80601508 Section::GetAudioStreamIdx_caseD_b5 +80601510 Section::GetAudioStreamIdx_caseD_b6 +80601518 Section::GetAudioStreamIdx_caseD_b8 +80601520 Section::GetAudioStreamIdx_caseD_b9 +80601528 Section::GetAudioStreamIdx_caseD_bb +80601530 Section::GetAudioStreamIdx_caseD_c0 +80601538 Section::GetAudioStreamIdx_caseD_ca +80601540 Section::GetAudioStreamIdx_caseD_cc +80601548 Section::GetAudioStreamIdx_caseD_cd +80601558 Pages::RaceMenu::SetNextPage +80601560 Pages::RaceMenu::GetNextPage +80601568 0x80601568 +80601570 0x80601570 +80601578 0x80601578 +80601584 0x80601584 +80601590 0x80601590 +80601598 0x80601598 +80601604 0x80601604 +80601610 Pages::QuitConfirmation::GetMessageBMG +80601618 Pages::QuitConfirmation::IsPausePage +80601620 Pages::QuitConfirmation::GetButtonsBRCTRName +8060162c Pages::QuitConfirmation::GetVariantsIdxArray +80601638 Pages::QuitConfirmation::GetButtonCount +80601640 Pages::QuitConfirmation::__dt +806016ac Pages::QuitConfirmation::GetRuntimeTypeInfo +806016b8 Pages::CheckRankings::GetMessageBMG +806016c0 Pages::CheckRankings::IsPausePage +806016c8 Pages::CheckRankings::GetButtonsBRCTRName +806016d4 Pages::CheckRankings::GetVariantsIdxArray +806016e0 Pages::CheckRankings::GetButtonCount +806016e8 Pages::CheckRankings::__dt +80601754 Pages::CheckRankings::GetRuntimeTypeInfo +80601760 Pages::TTFriendGhostEnd::GetMessageBMG +80601768 Pages::TTFriendGhostEnd::IsPausePage +80601770 Pages::TTFriendGhostEnd::GetButtonsBRCTRName +8060177c Pages::TTFriendGhostEnd::GetVariantsIdxArray +80601788 Pages::TTFriendGhostEnd::GetButtonCount +80601790 Pages::TTFriendGhostEnd::__dt +806017fc Pages::TTFriendGhostEnd::GetRuntimeTypeInfo +80601808 0x80601808 +80601810 0x80601810 +80601818 0x80601818 +80601824 0x80601824 +80601830 0x80601830 +80601838 0x80601838 +806018a4 0x806018a4 +806018b0 0x806018b0 +806018b8 0x806018b8 +806018c0 0x806018c0 +806018cc 0x806018cc +806018d8 0x806018d8 +806018e0 0x806018e0 +8060194c 0x8060194c +80601958 0x80601958 +80601960 0x80601960 +80601968 0x80601968 +80601974 0x80601974 +80601980 0x80601980 +80601988 0x80601988 +806019f4 0x806019f4 +80601a00 0x80601a00 +80601a08 0x80601a08 +80601a10 0x80601a10 +80601a1c 0x80601a1c +80601a28 0x80601a28 +80601a30 0x80601a30 +80601a9c 0x80601a9c +80601aa8 Pages::BattleFinalRaceEnd::GetMessageBMG +80601ab0 Pages::BattleFinalRaceEnd::IsPausePage +80601ab8 Pages::BattleFinalRaceEnd::GetButtonsBRCTRName +80601ac4 Pages::BattleFinalRaceEnd::GetVariantsIdxArray +80601ad0 Pages::BattleFinalRaceEnd::GetButtonCount +80601ad8 Pages::BattleFinalRaceEnd::__dt +80601b44 Pages::BattleFinalRaceEnd::GetRuntimeTypeInfo +80601b50 Pages::BattleEnd::GetMessageBMG +80601b58 Pages::BattleEnd::IsPausePage +80601b60 Pages::BattleEnd::GetButtonsBRCTRName +80601b6c Pages::BattleEnd::GetVariantsIdxArray +80601b78 Pages::BattleEnd::GetButtonCount +80601b80 Pages::BattleEnd::__dt +80601bec Pages::BattleEnd::GetRuntimeTypeInfo +80601bf8 Pages::VSRaceEnd::GetMessageBMG +80601c00 Pages::VSRaceEnd::IsPausePage +80601c08 Pages::VSRaceEnd::GetButtonsBRCTRName +80601c40 Pages::VSRaceEnd::GetVariantsIdxArray +80601c4c Pages::VSRaceEnd::GetButtonCount +80601c7c Pages::VSRaceEnd::__dt +80601ce8 Pages::VSRaceEnd::GetRuntimeTypeInfo +80601cf4 Pages::GPEnd::GetMessageBMG +80601cfc Pages::GPEnd::IsPausePage +80601d04 Pages::GPEnd::GetButtonsBRCTRName +80601d3c Pages::GPEnd::GetVariantsIdxArray +80601d48 Pages::GPEnd::GetButtonCount +80601d78 Pages::GPEnd::__dt +80601de4 Pages::GPEnd::GetRuntimeTypeInfo +80601df0 Pages::TTEnd::GetMessageBMG +80601df8 Pages::TTEnd::IsPausePage +80601e00 Pages::TTEnd::GetButtonsBRCTRName +80601e0c Pages::TTEnd::GetVariantsIdxArray +80601e18 Pages::TTEnd::GetButtonCount +80601e20 Pages::TTEnd::__dt +80601e8c Pages::TTEnd::GetRuntimeTypeInfo +80601e98 0x80601e98 +80601ea0 0x80601ea0 +80601ea8 0x80601ea8 +80601eb4 0x80601eb4 +80601ec0 0x80601ec0 +80601ec8 0x80601ec8 +80601f34 0x80601f34 +80601f40 0x80601f40 +80601f48 0x80601f48 +80601f50 0x80601f50 +80601f5c 0x80601f5c +80601f68 0x80601f68 +80601f70 0x80601f70 +80601fdc 0x80601fdc +80601fe8 0x80601fe8 +80601ff0 0x80601ff0 +80601ff8 0x80601ff8 +80602004 0x80602004 +80602010 0x80602010 +80602018 0x80602018 +80602084 0x80602084 +80602090 Pages::GhostReplayPause::GetMessageBMG +80602098 Pages::GhostReplayPause::IsPausePage +806020a0 Pages::GhostReplayPause::GetButtonsBRCTRName +806020ac Pages::GhostReplayPause::GetVariantsIdxArray +806020b8 Pages::GhostReplayPause::GetButtonCount +806020c0 Pages::GhostReplayPause::__dt +8060212c Pages::GhostReplayPause::GetRuntimeTypeInfo +80602138 Pages::GPReplayPause::GetMessageBMG +80602140 Pages::GPReplayPause::IsPausePage +80602148 Pages::GPReplayPause::GetButtonsBRCTRName +80602180 Pages::GPReplayPause::GetVariantsIdxArray +8060218c Pages::GPReplayPause::GetButtonCount +806021bc Pages::GPReplayPause::__dt +80602228 Pages::GPReplayPause::GetRuntimeTypeInfo +80602234 Pages::TTReplayPause::GetMessageBMG +8060223c Pages::TTReplayPause::IsPausePage +80602244 Pages::TTReplayPause::GetButtonsBRCTRName +80602250 Pages::TTReplayPause::GetVariantsIdxArray +8060225c Pages::TTReplayPause::GetButtonCount +80602264 Pages::TTReplayPause::__dt +806022d0 Pages::TTReplayPause::GetRuntimeTypeInfo +806022dc 0x806022dc +806022e4 0x806022e4 +806022ec 0x806022ec +806022f8 0x806022f8 +80602304 0x80602304 +8060230c 0x8060230c +80602378 0x80602378 +80602384 Pages::BattlePause::GetMessageBMG +8060238c Pages::BattlePause::IsPausePage +80602394 Pages::BattlePause::GetButtonsBRCTRName +806023bc Pages::BattlePause::GetVariantsIdxArray +806023c8 Pages::BattlePause::GetButtonCount +806023d0 Pages::BattlePause::__dt +8060243c Pages::BattlePause::GetRuntimeTypeInfo +80602448 Pages::VSPause::GetMessageBMG +80602450 Pages::VSPause::IsPausePage +80602458 Pages::VSPause::GetButtonsBRCTRName +80602480 Pages::VSPause::GetVariantsIdxArray +8060248c Pages::VSPause::GetButtonCount +80602494 Pages::VSPause::__dt +80602500 Pages::VSPause::GetRuntimeTypeInfo +8060250c Pages::GPPause::GetMessageBMG +80602514 Pages::GPPause::IsPausePage +8060251c Pages::GPPause::GetButtonsBRCTRName +80602528 Pages::GPPause::GetVariantsIdxArray +80602534 Pages::GPPause::GetButtonCount +8060253c Pages::GPPause::__dt +806025a8 Pages::GPPause::GetRuntimeTypeInfo +806025b4 Pages::TTPause::GetMessageBMG +806025bc Pages::TTPause::IsPausePage +806025c4 Pages::TTPause::GetButtonsBRCTRName +806025d0 Pages::TTPause::GetVariantsIdxArray +806025dc Pages::TTPause::GetButtonCount +806025e4 Pages::TTPause::__dt +80602650 Pages::TTPause::GetRuntimeTypeInfo +8060265c Pages::RaceHUD::GetNextPage +80602664 Pages::LiveBattleViewHUD::GetCtrlRaceNameBalloonCount +8060266c Pages::LiveBattleViewHUD::GetEnabledCtrlRaceBases +80602674 Pages::LiveBattleViewHUD::GetPausePageId +8060267c Pages::LiveBattleViewHUD::__dt +806026e8 Pages::LiveBattleViewHUD::GetRuntimeTypeInfo +806026f4 Pages::LiveViewHUD::GetCtrlRaceNameBalloonCount +806026fc Pages::LiveViewHUD::GetEnabledCtrlRaceBases +80602704 Pages::LiveViewHUD::GetPausePageId +8060270c Pages::LiveViewHUD::__dt +80602778 Pages::LiveViewHUD::GetRuntimeTypeInfo +80602784 Pages::WiFiFriendTeamVSHUD::GetCtrlRaceNameBalloonCount +8060278c Pages::WiFiFriendTeamVSHUD::GetEnabledCtrlRaceBases +80602794 Pages::WiFiFriendTeamVSHUD::GetPausePageId +8060279c Pages::WiFiFriendTeamVSHUD::__dt +80602808 Pages::WiFiFriendVSHUD::GetRuntimeTypeInfo +80602814 Pages::WiFiFriendVSHUD::GetCtrlRaceNameBalloonCount +8060281c Pages::WiFiFriendVSHUD::GetEnabledCtrlRaceBases +80602824 Pages::WiFiFriendVSHUD::GetPausePageId +8060282c Pages::WiFiFriendVSHUD::__dt +80602898 Pages::WiFiFriendVSHUD::GetRuntimeTypeInfo +806028a4 Pages::WifiVSMultiHUD::GetCtrlRaceNameBalloonCount +806028ac Pages::WifiVSMultiHUD::GetEnabledCtrlRaceBases +806028b4 Pages::WifiVSMultiHUD::GetPausePageId +806028bc Pages::WifiVSMultiHUD::__dt +80602928 Pages::WifiVSMultiHUD::GetRuntimeTypeInfo +80602934 Pages::WifiVSHUD::GetCtrlRaceNameBalloonCount +8060293c Pages::WifiVSHUD::GetEnabledCtrlRaceBases +80602944 Pages::WifiVSHUD::GetPausePageId +8060294c Pages::WifiVSHUD::__dt +806029b8 Pages::WifiVSHUD::GetRuntimeTypeInfo +806029c4 Pages::BattleMultiHUD::GetCtrlRaceNameBalloonCount +806029cc Pages::BattleMultiHUD::GetEnabledCtrlRaceBases +806029d4 Pages::BattleMultiHUD::GetPausePageId +80602a0c Pages::BattleMultiHUD::__dt +80602a78 Pages::BattleMultiHUD::GetRuntimeTypeInfo +80602a84 Pages::BattleHUD::GetCtrlRaceNameBalloonCount +80602a8c Pages::BattleHUD::GetEnabledCtrlRaceBases +80602a94 Pages::BattleHUD::GetPausePageId +80602acc Pages::BattleHUD::__dt +80602b38 Pages::BattleHUD::GetRuntimeTypeInfo +80602b44 Pages::VSMultiHUD::GetCtrlRaceNameBalloonCount +80602b4c Pages::VSMultiHUD::GetEnabledCtrlRaceBases +80602b54 Pages::VSMultiHUD::GetPausePageId +80602b5c Pages::VSMultiHUD::__dt +80602bc8 Pages::VSMultiHUD::GetRuntimeTypeInfo +80602bd4 Pages::VSHUD::GetCtrlRaceNameBalloonCount +80602bdc Pages::VSHUD::GetEnabledCtrlRaceBases +80602be4 Pages::VSHUD::GetPausePageId +80602bec Pages::VSHUD::__dt +80602c58 Pages::VSHUD::GetRuntimeTypeInfo +80602c64 Pages::GPHUD::GetCtrlRaceNameBalloonCount +80602c6c Pages::GPHUD::GetEnabledCtrlRaceBases +80602c74 Pages::GPHUD::GetPausePageId +80602c7c Pages::GPHUD::__dt +80602ce8 Pages::GPHUD::GetRuntimeTypeInfo +80602cf4 Pages::TTHUD::GetCtrlRaceNameBalloonCount +80602cfc Pages::TTHUD::GetEnabledCtrlRaceBases +80602d04 Pages::TTHUD::GetPausePageId +80602d50 Pages::TTHUD::__dt +80602dbc Pages::TTHUD::GetRuntimeTypeInfo +80602dc8 Pages::GhostRaceHUD::GetCtrlRaceNameBalloonCount +80602dd0 Pages::GhostRaceHUD::GetEnabledCtrlRaceBases +80602dd8 Pages::GhostRaceHUD::GetPausePageId +80602e18 Pages::GhostRaceHUD::__dt +80602e84 Pages::GhostRaceHUD::GetRuntimeTypeInfo +80602e90 Pages::RaceHUD::GetCtrlRaceNameBalloonCount +80602e98 Pages::GPReplayHUD::GetEnabledCtrlRaceBases +80602ea0 Pages::GPReplayHUD::GetPausePageId +80602ea8 Pages::GPReplayHUD::__dt +80602f14 Pages::GPReplayHUD::GetRuntimeTypeInfo +80602f20 TriggerPtmf +80602f50 TriggerPtmf +80602f80 TriggerPtmf +80602fb0 TriggerPtmf +80602fe0 TriggerPtmf +80603010 TriggerPtmf +80603040 TriggerPtmf +80603070 TriggerPtmf +806030a0 TriggerPtmf +806030d0 TriggerPtmf +80603100 TriggerPtmf +80603130 TriggerPtmf +80603160 TriggerPtmf +80603190 TriggerPtmf +806031c0 TriggerPtmf +806031f0 TriggerPtmf +80603220 TriggerPtmf +80603250 TriggerPtmf +80603280 TriggerPtmf +806032b0 TriggerPtmf +806032e0 TriggerPtmf +80603310 TriggerPtmf +80603340 TriggerPtmf +80603370 TriggerPtmf +806033a0 TriggerPtmf +806033d0 TriggerPtmf +80603400 TriggerPtmf +80603430 TriggerPtmf +80603460 TriggerPtmf +80603490 TriggerPtmf +806034c0 TriggerPtmf +806034f0 TriggerPtmf +80603520 TriggerPtmf +80603550 TriggerPtmf +80603580 TriggerPtmf +806035b0 TriggerPtmf +806035e0 TriggerPtmf +80603610 TriggerPtmf +80603640 TriggerPtmf +80603670 TriggerPtmf +806036a0 TriggerPtmf +806036d0 TriggerPtmf +80603700 TriggerPtmf +80603730 TriggerPtmf +80603760 TriggerPtmf +80603790 TriggerPtmf +806037c0 TriggerPtmf +806037f0 TriggerPtmf +80603820 TriggerPtmf +80603850 TriggerPtmf +80603880 TriggerPtmf +806038b0 TriggerPtmf +806038e0 TriggerPtmf +80603910 TriggerPtmf +80603940 TriggerPtmf +80603970 TriggerPtmf +806039a0 TriggerPtmf +806039d0 TriggerPtmf +80603a00 TriggerPtmf +80603a30 TriggerPtmf +80603a60 TriggerPtmf +80603a90 TriggerPtmf +80603ac0 TriggerPtmf +80603af0 TriggerPtmf +80603b20 TriggerPtmf +80603b50 TriggerPtmf +80603b80 TriggerPtmf +80603bb0 SectionMgr::CreateSystemPages +80603ccc SectionMgr::GetSectionPriority +80603ddc SectionMgr::CreateInstance +80603e14 SectionMgr::DestroyInstance +80603e8c SectionMgr::__ct +80603f10 SectionMgr::__dt +80603f90 SectionMgr::Init +80604108 SectionMgr::GetBootSectionSceneId +80604124 SectionMgr::LoadSection +806041e8 SectionMgr::EnterSection +80604304 SectionMgr::ExitSection +80604620 0x80604620 +80604628 SectionMgr::RaceUpdate +80604674 SectionMgr::Update +806049a4 SectionMgr::MenuUpdate +806049f8 SectionMgr::UnkUpdate +80604b94 SectionMgr::Pause +80604b9c SectionMgr::Resume +80604ba4 SectionMgr::SetNextSection +80604c30 SectionMgr::RequestSceneChange +80604c94 SectionMgr::RequestSceneReinit +80604cd8 SectionMgr::HandleHomeAction +80604d74 SectionMgr::RequestGoToWiiMenu +80604ddc SectionMgr::RequestPowerOff +80604e44 SectionMgr::GetNextSectionArchiveName +80604e4c SectionMgr::NextSectionHasBackModel +80604e54 SectionMgr::NextSectionHasDriverController +80604e5c SectionMgr::UpdateStatusBitfield +80604f70 SectionMgr::UpdateDVDStatus +80605020 SheetSelectControl::GetClassName +8060502c SheetSelectControl::__ct +806051e4 SheetSelectControl::__dt +80605288 SheetSelectControl::Load +8060534c SheetSelectControl::Func_0x38 +80605350 SheetSelectControl::SetRightArrowHandler +80605358 SheetSelectControl::SetLeftArrowHandler +80605360 SheetSelectControl::SetEnabledHudSlots +806053cc SheetSelectControl::Toggle +80605450 SheetSelectControl::Init +806054b4 SheetSelectControl::Update +806054b8 SheetSelectControl::HandleRightArrowSelect +8060553c SheetSelectControl::AfterRightScroll +80605540 SheetSelectControl::HandleLeftArrowSelect +806055c4 SheetSelectControl::AfterLeftScroll +806055c8 SheetSelectControl::SheetSelectButton::GetClassName +806055d8 SheetSelectControl::SheetSelectButton::__ct +806056cc SheetSelectControl::SheetSelectButton::__dt +80605734 SheetSelectControl::SheetSelectButton::Load +80605960 SheetSelectControl::SheetSelectButton::Init +80605b4c SheetSelectControl::SheetSelectButton::Update +80605d94 SheetSelectControl::SheetSelectButton::SetEnabledHudSlots +80605db0 SheetSelectControl::SheetSelectButton::Toggle +80605dd4 SheetSelectControl::SheetSelectButton::GetParentControl +80605e70 SheetSelectControl::SheetSelectButton::HandleSelect +8060612c SheetSelectControl::SheetSelectButton::HandleDeselect +80606314 SheetSelectControl::SheetSelectButton::Select +806064ac SheetSelectControl::SheetSelectButton::SetPositionAnim +806065dc SheetSelectControl::GetArrowAnimationType +806065e4 SheetSelectControlScaleFade::GetClassName +806065f4 SheetSelectControlScaleFade::GetArrowAnimationType +806065fc 0x806065fc +806066a4 SheetSelectControlScaleFade::GetRuntimeTypeInfo +806066b0 SheetSelectControl::GetRuntimeTypeInfo +806066bc SheetSelectControl::SheetSelectButton::GetRuntimeTypeInfo +806066c8 SheetSelectControl::SheetSelectButton::TriggerPtmf +806066f8 SheetSelect_cpp_sinit_ +80606724 TabControl::GetClassName +80606730 TabControl::__ct +8060678c TabControl::__dt +80606804 TabControl::Load +80606980 TabControl::OnLoadingEnd +80606984 TabControl::SetOnClickHandler +8060698c TabControl::SetEnabledHudSlots +80606a08 TabControl::SelectInitial +80606aa8 TabControl::SelectButtonNoPtmf +80606b20 TabControl::Init +80606bf4 TabControl::Update +80606bf8 TabControl::SelectButton +80606c98 TabControl::OptionButton::GetClassName +80606ca8 TabControl::OptionButton::__ct +80606d9c TabControl::OptionButton::__dt +80606e04 TabControl::OptionButton::Load +80606fd0 TabControl::OptionButton::Init +8060717c TabControl::OptionButton::Update +80607328 TabControl::OptionButton::SetEnabledHudSlots +80607330 TabControl::OptionButton::GetParentControl +80607430 TabControl::OptionButton::SetInitialState +80607490 TabControl::OptionButton::ChangeButtonState +806075e8 TabControl::OptionButton::HandleSelect +806076dc TabControl::OptionButton::HandleDeselect +806078c4 TabControl::OptionButton::HandleClick +80607a80 TabControl::Func_0x40 +80607a84 TabControl::GetRuntimeTypeInfo +80607a90 TabControl::OptionButton::GetRuntimeTypeInfo +80607a9c TabControl::OptionButton::TriggerPtmf +80607acc TabControl_cpp_sinit_ +80607ae8 Pages::GhostSelectSupporting::__ct +80607b2c Pages::GhostSelectSupporting::__dt +80607b94 Pages::GhostSelectSupporting::OnInit +80607c00 Pages::GhostSelectSupporting::OnActivate +80607da4 Pages::GhostSelectSupporting::BeforeEntranceAnimations +80607da8 Pages::GhostSelectSupporting::BeforeExitAnimations +80607dac Pages::GhostSelectSupporting::AfterControlUpdate +80607ec0 Pages::GhostSelectSupporting::OnResume +80608028 Pages::GhostSelectSupporting::InitGhostList +8060824c Pages::GhostSelect::__ct +8060848c Pages::GhostSelect::__dt +80608568 Pages::GhostSelect::OnInit +80608830 Pages::GhostSelect::OnActivate +80608994 Pages::GhostSelect::BeforeEntranceAnimations +806089cc Pages::GhostSelect::OnResume +80608e04 Pages::GhostSelect::OnRightArrowPress +80608f04 Pages::GhostSelect::OnLeftArrowPress +80609000 Pages::GhostSelect::OnChallengeGhostPress +80609020 Pages::GhostSelect::OnWatchReplayPress +80609040 Pages::GhostSelect::OnSoloTTPress +80609060 0x80609060 +806090a4 Pages::GhostSelect::OnBackPress +806090bc 0x806090bc +80609118 Pages::GhostSelect::GetNextPage +80609120 Pages::GhostSelect::GetRuntimeTypeInfo +8060912c Pages::GhostSelectSupporting::GetNextPage +80609134 Pages::GhostSelectSupporting::GetRuntimeTypeInfo +80609140 TriggerPtmf +80609170 TriggerPtmf +806091a0 TriggerPtmf +806091d0 GhostSelectPage_cpp_sinit_ +806091ec TitleImage::GetClassName +806091f8 TitleImage::__ct +80609234 TitleImage::__dt +8060928c TitleImage::Load +8060932c TitleImage::InitSelf +80609364 0x80609364 +80609414 0x80609414 +8060944c 0x8060944c +806094fc 0x806094fc +80609534 TitleImage::ChangeImage +80609668 Pages::Title::__ct +806096ec CtrlMenuPressStart::__dt +80609744 Pages::Title::__dt +806097cc Pages::Title::OnInit +806099c0 Pages::Title::OnDispose +806099c4 Pages::Title::OnActivate +80609a44 Pages::Title::BeforeEntranceAnimations +80609af4 Pages::Title::AfterEntranceAnimations +80609b40 Pages::Title::BeforeExitAnimations +80609bf0 Pages::Title::AfterExitAnimations +80609c28 Pages::Title::AfterControlUpdate +80609d84 Pages::Title::OnResume +80609d90 Pages::Title::PrepareDemo +8060a174 Pages::BlurryTitle::__ct +8060a1c0 Pages::BlurryTitle::__dt +8060a234 Pages::BlurryTitle::OnInit +8060a2f8 Pages::BlurryTitle::OnActivate +8060a450 Pages::BlurryTitle::BeforeEntranceAnimations +8060a454 TitleMovieControl::GetClassName +8060a464 TitleMovieControl::__ct +8060a4a0 TitleMovieControl::__dt +8060a4f8 TitleMovieControl::Load +8060a598 TitleMovieControl::InitSelf +8060a5d0 TitleMovieControl::OnUpdate +8060a5d4 0x8060a5d4 +8060a684 0x8060a684 +8060a734 0x8060a734 +8060a768 Pages::TitleMovie::__ct +8060a7cc Pages::TitleMovie::__dt +8060a844 Pages::TitleMovie::OnInit +8060a958 0x8060a958 +8060aa24 Pages::TitleMovie::AfterExitAnimations +8060aa68 Pages::TitleMovie::OnDeactivate +8060aa7c Pages::TitleMovie::BeforeControlUpdate +8060abac Pages::TitleMovie::AfterControlUpdate +8060ac8c Pages::BlinkingPressA::__ct +8060acf0 Pages::BlinkingPressA::__dt +8060ad68 Pages::BlinkingPressA::OnInit +8060adf0 Pages::BlinkingPressA::OnActivate +8060ae48 Pages::BlinkingPressA::OnDeactivate +8060ae5c Pages::BlinkingPressA::AfterControlUpdate +8060af48 Pages::BlinkingPressA::GetRuntimeTypeInfo +8060af54 Pages::TitleMovie::GetRuntimeTypeInfo +8060af60 TitleMovieControl::GetRuntimeTypeInfo +8060af6c Pages::BlurryTitle::GetRuntimeTypeInfo +8060af78 Pages::Title::GetNextPage +8060af80 Pages::Title::GetRuntimeTypeInfo +8060af8c TitleImage::GetRuntimeTypeInfo +8060af98 Title_cpp_sinit_ +8060afcc UIAnimator::__ct +8060afe4 UIAnimator::__dt +8060b044 UIAnimator::SetLayout +8060b050 UIAnimator::Init +8060b0b4 UIAnimator::InitAnimationGroup +8060b11c Animation::__ct +8060b140 UIAnimator::AppendGroup +8060b230 UIAnimator::LoadNewAnimation +8060b2f4 UIAnimator::LoadAnimation +8060b39c UIAnimator::Update +8060b400 UIAnimator::GetAnimationGroupById +8060b410 UIAnimator::GetAnimationGroupById +8060b420 0x8060b420 +8060b424 AnimationGroup::__ct +8060b48c AnimationGroup::__dt +8060b4fc AnimationGroup::PlayAnimationAtFrame +8060b678 AnimationGroup::PlayAnimationAtPercent +8060b700 AnimationGroup::PlayAnimationAtFrameAndDisable +8060b734 AnimationGroup::PlayAnimationAtPercentAndDisable +8060b7c4 AnimationGroup::Update +8060b9bc 0x8060b9bc +8060ba4c UIControl::__ct +8060bb40 0x8060bb40 +8060bb80 UIControl::__dt +8060bbdc UIControl::8063cffc +8060bbe4 UIControl::Init +8060bc24 UIControl::Update +8060bc64 UIControl::Draw +8060bc98 UIControl::SetPosition +8060bcc0 UIControl::PlayAnimationSound +8060bd74 UIControl::SetPositionAnim +8060be48 UIControl::InitControlGroup +8060be58 UIControl::AddControl +8060be64 UIControl::GetAnimationDelay +8060bf78 UIControl::SetParentControlGroup +8060bf84 UIControl::SetSoundIds +8060bf90 UIControl::GetClassName +8060bfa0 0x8060bfa0 +8060bfac UIControl::PositionFromBasePosition +8060c130 UIControl::CalculatePosition +8060c1e8 UIControl::vf_0x30 +8060c228 UIControl::8063d648 +8060c32c UIControl::PlaySound +8060c344 UIControl::StopSound +8060c350 UIControl::HoldSound +8060c368 LayoutUIControl::GetClassName +8060c378 LayoutUIControl::__ct +8060c4a0 LayoutUIControl::__dt +8060c534 LayoutUIControl::LoadLayout +8060c5a0 LayoutUIControl::LoadPictureLayout +8060c5e0 LayoutUIControl::SetRootPane +8060c6a0 LayoutUIControl::Init +8060c6e0 LayoutUIControl::Update +8060c764 LayoutUIControl::Draw +8060c89c LayoutUIControl::SetTextBoxMessage +8060c994 LayoutUIControl::SetMessage +8060c9d4 LayoutUIControl::MessageRequester::Calc +8060cacc LayoutUIControl::ResetTextBoxMsg +8060cba8 LayoutUIControl::ResetMsg +8060cbe0 LayoutUIControl::MessageResetter::Calc +8060ccd0 LayoutUIControl::SetPicturePane +8060cf08 LayoutUIControl::PicturePaneExists +8060cfbc LayoutUIControl::SetMiiPane +8060d12c LayoutUIControl::SetPaneVisibility +8060d16c LayoutUIControl::CropMovie(Rect) +8060d1a4 LayoutUIControl::CropMovie(4floats) +8060d1fc LayoutUIControl::vf_0x30 +8060d244 LayoutUIControlScaleFade::GetClassName +8060d254 LayoutUIControlScaleFade::__ct +8060d388 LayoutUIControlScaleFade::__dt +8060d420 LayoutUIControlScaleFade::SetPositionAnim +8060d504 LayoutUIControlScaleFade::GetRuntimeTypeInfo +8060d510 LayoutUIControlcpp_sinit_ +8060d534 UpDownControl::GetClassName +8060d540 UpDownControl::__ct +8060d73c UpDownControl::__dt +8060d7bc UpDownControl::Load +8060dbfc UpDownControl::OnLoadingEnd +8060dc00 UpDownControl::SetOnChangeHandler +8060dc08 UpDownControl::SetOnClickHandler +8060dc10 UpDownControl::SetOnElementSelectHandler +8060dc18 UpDownControl::SetOnDeselectHandler +8060dc20 0x8060dc20 +8060dc8c 0x8060dc8c +8060dca0 UpDownControl::SelectInitial(count+initial) +8060dcc0 UpDownControl::SelectInitial(initial) +8060dcd8 0x8060dcd8 +8060dd40 UpDownControl::SetPlayerBitfield +8060dd4c UpDownControl::Init +8060de88 UpDownControl::Update +8060e274 UpDownControl::HandleSelect +8060e3a4 UpDownControl::HandleDeselect +8060e4a8 UpDownControl::HandleButtonSelect +8060e4c0 UpDownControl::HandleButtonDeselect +8060e4d8 UpDownControl::HandleClick +8060e744 UpDownControl::HandleRightPress +8060e870 UpDownControl::HandleLeftPress +8060e990 UpDownControl::UpDownButton::GetClassName +8060e9a0 UpDownControl::UpDownButton::__ct +8060e9dc UpDownControl::UpDownButton::__dt +8060ea34 UpDownControl::UpDownButton::Load +8060eaf8 UpDownControl::UpDownButton::Init +8060eb90 UpDownControl::UpDownButton::Update +8060ec7c UpDownControl::UpDownButton::GetParentControl +8060ed7c UpDownControl::UpDownButton::ToggleSelect +8060ef40 0x8060ef40 +8060efa4 0x8060efa4 +8060f0e8 0x8060f0e8 +8060f190 0x8060f190 +8060f198 0x8060f198 +8060f1a0 TextUpDownValueControl::GetClassName +8060f1b0 TextUpDownValueControl::__ct +8060f21c TextUpDownValueControl::__dt +8060f290 TextUpDownValueControl::Load +8060f3b4 TextUpDownValueControl::SetOnTextChangeHandler +8060f3bc TextUpDownValueControl::Init +8060f4dc TextUpDownValueControl::Update +8060f580 0x8060f580 +8060f680 TextUpDownValueControl::InitText +8060f748 TextUpDownValueControl::OnSelect +8060f8bc TextUpDownValueControl::SetMessage +8060f8ec TextUpDownValueControl::SetMessageAnimated +8060f9dc TextUpDownValueControl::OnClick +8060fa48 TextUpDownValueControl::IsOKStop +8060fae0 TextUpDownValueControl::Get3rdAnimStartFrame +8060fb54 TextUpDownValueControl::SetBorderColours +8060fc08 TextUpDownValueControl::SetColor_BaseColours +8060fcb0 TextUpDownValueControl::TextControl::GetClassName +8060fcc0 TextUpDownValueControl::TextControl::__ct +8060fcfc TextUpDownValueControl::TextControl::__dt +8060fd54 TextUpDownValueControl::TextControl::Load +8060fdc8 TextUpDownValueControl::TextControl::InitSelf +8060fe78 0x8060fe78 +8060fed8 TextUpDownValueControl::TextControl::ToggleState +8061003c UpDownControlOld::1 +8061004c UpDownControlOld::2 +80610204 UpDownControlOld::3 +8061026c UpDownControlOld::4 +806105b4 UpDownControlOld::5 +806105bc UpDownControlOld::6 +806106a0 UpDownControlOld::7 +8061086c UpDownControlOld::8 +80610880 0x80610880 +80610888 UpDownControlOld::9 +80610968 UpDownControlOld::10 +8061096c UpDownControlOld::11 +80610b6c UpDownControlOld::12 +80610b70 UpDownControlOld::13 +80610c50 UpDownControlOld::14 +80610e98 UpDownControlOld::15 +80610f50 UpDownControlOld::16 +80611004 UpDownControlOld::17 +80611154 UpDownControlOld::18 +8061120c UpDownControlOld::19 +80611210 UpDownControlOld::20 +806112c4 UpDownControlOld::21 +806112c8 TextUpDownControlOld::1 +806112d8 TextUpDownControlOld::2 +8061149c TextUpDownControlOld::3 +80611508 TextUpDownControlOld::4 +8061153c 0x8061153c +80611544 0x80611544 +8061154c 0x8061154c +80611550 0x80611550 +8061155c 0x8061155c +80611568 TextUpDownValueControl::GetTextControl +8061156c TextUpDownValueControl::GetRuntimeTypeInfo +80611578 TextUpDownValueControl::TextControl::GetRuntimeTypeInfo +80611584 UpDownControl::Func_0x40 +80611588 UpDownControl::GetRuntimeTypeInfo +80611594 UpDownControl::UpDownButton::GetRuntimeTypeInfo +806115a0 TriggerPtmf +806115d0 TriggerPtmf +80611600 UpDownControl_cpp_sinit_ +80611630 TextUpDownValueControl::SetColor_BaseColours(UpDownDisplayedText) +80611638 TextUpDownValueControl::SetBorderColours(UpDownDisplayedText) +80611640 TextUpDownValueControl::Get3rdAnimStartFrame(UpDownDisplayedText) +80611648 TextUpDownValueControl::Animate(UpDownDisplayedText) +80611650 TextUpDownValueControl::OnClick(UpDownDisplayedText) +80611658 TextUpDownValueControl::SetMessageAnimated(UpDownDisplayedText) +80611660 TextUpDownValueControl::SetMessage(UpDownDisplayedText) +80611668 TextUpDownValueControl::OnSelect(UpDownDisplayedText) +80611670 TextUpDownValueControl::InitText(UpDownDisplayedText) +80611678 TextUpDownValueControl::GetTextControl(UpDownDisplayedText) +80611680 VoteControl::GetClassName +8061168c VoteControl::__ct +806116c8 VoteControl::__dt +80611720 VoteControl::Load +806117cc VoteControl::InitSelf +80611880 VoteControl::OnUpdate +80611884 VoteControl::Fill +806119f4 VoteControl::AnimateSelect +80611a48 VoteControl::AnimateDeselect +80611a80 VoteControl::AnimateChose +80611adc VoteControl::AnimateFadeOut +80611b38 VoteControl::IsAnimationShow +80611b70 Pages::Vote::__ct +80611c9c Pages::Vote::__dt +80611d48 Pages::Vote::OnInit +80611de8 Pages::Vote::OnInit_switch +80611dec Pages::Vote::OnInit_case58 +80611df8 Pages::Vote::OnInit_case59 +80611e00 Pages::Vote::OnInit_case5a +80611fa8 Pages::Vote::OnDispose +80611fac Pages::Vote::BeforeEntranceAnimations +806123c8 Pages::Vote::BeforeControlUpdate +80612904 Pages::Vote::BeforeControlUpdate_switch +80612908 Pages::Vote::BeforeControlUpdate_case58 +80612910 Pages::Vote::BeforeControlUpdate_case59 +80612918 Pages::Vote::BeforeControlUpdate_case5e +80612920 Pages::Vote::BeforeControlUpdate_case5f +80612928 Pages::Vote::BeforeControlUpdate_case60 +80612930 Pages::Vote::BeforeControlUpdate_case61 +80612938 Pages::Vote::BeforeControlUpdate_case62 +80612940 Pages::Vote::BeforeControlUpdate_case63 +80612948 Pages::Vote::BeforeControlUpdate_case64 +80612950 Pages::Vote::BeforeControlUpdate_case65 +80612958 Pages::Vote::BeforeControlUpdate_case66 +80612960 Pages::Vote::BeforeControlUpdate_case67 +80612964 Pages::Vote::BeforeControlUpdate_caseDefault +80612a78 Pages::Vote::BeforeExitAnimations +80612af8 Pages::Vote::GetNextPage +80612b28 Pages::Vote::SetVotedCourseId +80612b58 Pages::Vote::SetCourseButtonId_switch +80612b5c Pages::Vote::SetCourseButtonId_case58 +80612b64 Pages::Vote::SetCourseButtonId_case59 +80612b68 Pages::Vote::SetCourseButtonId_case5a +80612b6c Pages::Vote::FillVoteControl +80612dc8 Pages::Vote::StartRoulette +80613010 Pages::Vote::FillVotesCounter +80613188 Pages::Vote::OnMessageBoxClick +8061322c Pages::Vote::GetRuntimeTypeInfo +80613238 VoteControl::GetRuntimeTypeInfo +80613244 TriggerPtmf +80613274 VotePage_cpp_sinit_ +80613298 0x80613298 +806132dc 0x806132dc +80613344 0x80613344 +806133a0 0x806133a0 +80613498 Page::EndExitState +8061349c 0x8061349c +806134a0 0x806134a0 +806135c8 0x806135c8 +806135d8 0x806135d8 +80613730 0x80613730 +806137d0 0x806137d0 +80613938 0x80613938 +80613a20 0x80613a20 +80613c58 0x80613c58 +80613cf0 0x80613cf0 +80613d58 0x80613d58 +80613f28 0x80613f28 +80613f34 0x80613f34 +80613f3c 0x80613f3c +80613f48 0x80613f48 +80613f78 0x80613f78 +80613fa8 0x80613fa8 +80613fc4 Pages::WFCConnect::__ct +80614040 Pages::WFCConnect::__dt +806140a8 Pages::WFCConnect::OnInit +80614114 Pages::WFCConnect::OnActivate +806145c4 Pages::WFCConnect::BeforeEntranceAnimations +806145c8 Pages::WFCConnect::AfterEntranceAnimations +806145e8 Pages::WFCConnect::BeforeExitAnimations +806145ec Pages::WFCConnect::AfterExitAnimations +806145f0 Pages::WFCConnect::OnDeactivate +806146a0 Pages::WFCConnect::AfterControlUpdate +80614cd8 Pages::WFCConnect::OnResume +806150b4 Pages::WFCConnect::GetNextPage +80615188 Pages::WFCConnect::IsHomeMenuWorking +806151cc Pages::WFCConnect::SetText +806154dc Pages::WFCConnect::GetTitleBMGId +806155a8 Pages::WFCConnect::OnDisconnect +806156bc Pages::WFCDataStatement::__ct +806157d4 Pages::WFCDataStatement::__dt +80615874 Pages::WFCDataStatement::OnInit +80615a10 Pages::WFCDataStatement::OnActivate +80615bb8 Pages::WFCDataStatement::SetType +80615bf4 Pages::WFCDataStatement::OnButtonClick +80615c70 Pages::WFCDataStatement::OnBackPress +80615c98 Pages::WFCAllowData::__ct +80615e00 Pages::WFCAllowData::__dt +80615eac Pages::WFCAllowData::OnInit +806160a4 Pages::WFCAllowData::OnActivate +80616214 Pages::WFCAllowData::OnResume +806162ec Pages::WFCAllowData::OnButtonClick +8061648c Pages::WFCAllowData::OnBackButtonClick +806164a4 Pages::WFCAllowData::OnBackPress +806165d8 Pages::WFCDisconnect::__ct +80616654 Pages::WFCDisconnect::__dt +806166bc Pages::WFCDisconnect::OnInit +80616718 Pages::WFCDisconnect::OnActivate +80616914 Pages::WFCDisconnect::BeforeEntranceAnimations +80616918 Pages::WFCDisconnect::BeforeExitAnimations +8061691c Pages::WFCDisconnect::OnDeactivate +806169cc Pages::WFCDisconnect::OnResume +806169dc Pages::WFCDisconnect::OnYesNoYesClick +80616abc Pages::WFCDisconnect::GetRuntimeTypeInfo +80616ac8 Pages::WFCAllowData::GetRuntimeTypeInfo +80616ad4 Pages::WFCDataStatement::GetRuntimeTypeInfo +80616ae0 Pages::WFCConnect::GetRuntimeTypeInfo +80616aec TriggerPtmf +80616b1c TriggerPtmf +80616b4c TriggerPtmf +80616b7c TriggerPtmf +80616bac TriggerPtmf +80616bdc TriggerPtmf +80616c0c TriggerPtmf +80616c3c WFCConnectPage_cpp_sinit_ +80616c60 Pages::DisconnectMgr::__ct +80616cac Pages::DisconnectMgr::__dt +80616d14 Pages::DisconnectMgr::OnInit +80616d80 Pages::DisconnectMgr::OnUpdate +80617178 Pages::DisconnectError::__ct +80617204 Pages::DisconnectError::__dt +80617284 Pages::DisconnectError::OnInit +80617380 Pages::DisconnectError::OnActivate +80617508 Pages::DisconnectError::AfterControlUpdate +80617550 Pages::DisconnectError::BeforeEntranceAnimations +8061755c Pages::DisconnectError::IsHomeMenuWorking +80617594 Pages::DisconnectError::GetErrorBMGId +806177c8 Pages::DisconnectError::OnClick +8061783c Pages::DisconnectError::GetRuntimeTypeInfo +80617848 Pages::DisconnectMgr::GetRuntimeTypeInfo +80617854 TriggerPtmf +80617884 DisconnectPage_cpp_sinit_ +806178a0 Pages::LiveViewWaiting::__ct +806178fc Pages::LiveViewWaiting::__dt +80617988 Pages::LiveViewWaiting::OnInit +80617a88 Pages::LiveViewWaiting::AfterControlUpdate +80617ac8 Pages::LiveViewWaiting::GetNextPage +80617b14 Pages::LiveViewWaiting::BeforeExitAnimations +80617b60 Pages::LiveViewWaiting::BeforeEntranceAnimations +80617bb8 Pages::LiveViewWaiting::AfterExitAnimations +80617bc4 Pages::LiveViewWaiting::GetRuntimeTypeInfo +80617bd0 LiveViewWaitingPage_cpp_sinit_ +80617be4 Pages::Approve2PWFC::__ct +80617c60 Pages::Approve2PWFC::__dt +80617cc8 Pages::Approve2PWFC::OnInit +80617d34 Pages::Approve2PWFC::OnActivate +80617e48 Pages::Approve2PWFC::BeforeEntranceAnimations +80617e4c Pages::Approve2PWFC::BeforeExitAnimations +80617e50 Pages::Approve2PWFC::OnResume +80617f10 Pages::Approve2PWFC::GetNextPage +80617f28 Pages::Approve2PWFC::OnApprove +80617fa0 FriendsStatusButton::GetClassName +80617fac FriendsStatusButton::__ct +80617fe8 FriendsStatusButton::__dt +80618040 FriendsStatusButton::Load +80618130 FriendsStatusButton::InitSelf +8061813c FriendsStatusButton::OnUpdate +806181ac FriendsStatusButton::OnSelect +806181b0 FriendsStatusButton::OnDeselect +806181b4 FriendsStatusButton::UpdateFriendStatus +8061832c Pages::WFCMainMenu::__ct +8061853c Pages::WFCMainMenu::__dt +806185fc Pages::WFCMainMenu::OnInit +8061897c Pages::WFCMainMenu::OnActivate +806189d4 Pages::WFCMainMenu::OnWorldwideButtonClick +80618ab0 Pages::WFCMainMenu::OnRegionalButtonClick +80618b8c Pages::WFCMainMenu::OnFriendsButtonClick +80618bd0 Pages::WFCMainMenu::OnBackButtonClick +80618c38 Pages::WFCMainMenu::OnButtonSelect +80618ca4 Pages::WFCMainMenu::OnBackPress +80618cc4 Pages::WFCModeSelect::__ct +80618e5c Pages::WFCModeSelect::__dt +80618f0c Pages::WFCModeSelect::OnInit +806191e4 Pages::WFCModeSelect::OnActivate +806192fc Pages::WFCModeSelect::OnModeButtonClick +80619404 Pages::WFCModeSelect::OnBackButtonClick +80619448 Pages::WFCModeSelect::OnModeButtonSelect +8061949c Pages::WFCModeSelect::OnBackPress +806194b4 Pages::WFCFriendsMenu::__ct +806196c4 Pages::WFCFriendsMenu::__dt +80619784 Pages::WFCFriendsMenu::OnInit +80619c04 Pages::WFCFriendsMenu::OnActivate +80619ce4 Pages::WFCFriendsMenu::OnDeactivate +80619d8c Pages::WFCFriendsMenu::OnRosterButtonClick +80619ed4 Pages::WFCFriendsMenu::OnRegisterButtonClick +8061a01c Pages::WFCFriendsMenu::OnCreateRoomClick +8061a1e0 Pages::WFCFriendsMenu::OnBackButtonClick +8061a28c Pages::WFCFriendsMenu::OnButtonSelect +8061a2f8 Pages::WFCFriendsMenu::OnBackPress +8061a34c Pages::WFCFriendsMenu::GetNextPage +8061a354 Pages::WFCFriendsMenu::GetRuntimeTypeInfo +8061a360 Pages::WFCModeSelect::GetNextPage +8061a368 Pages::WFCModeSelect::GetRuntimeTypeInfo +8061a374 Pages::WFCMainMenu::GetNextPage +8061a37c Pages::WFCMainMenu::GetRuntimeTypeInfo +8061a388 FriendsStatusButton::GetRuntimeTypeInfo +8061a394 Pages::Approve2PWFC::GetRuntimeTypeInfo +8061a3a0 TriggerPtmf +8061a3d0 TriggerPtmf +8061a400 TriggerPtmf +8061a430 TriggerPtmf +8061a460 TriggerPtmf +8061a490 TriggerPtmf +8061a4c0 TriggerPtmf +8061a4f0 WFCMainMenuPage__cpp__sinit +8061a520 Pages::WWRaceEndCountDown::__ct +8061a574 Pages::WWRaceEndCountDown::__dt +8061a5f4 Pages::WWRaceEndCountDown::OnInit +8061a680 Pages::WWRaceEndCountDown::OnActivate +8061a7ec Pages::WWRaceEndCountDown::BeforeControlUpdate +8061a838 FriendStatusButtonRaceAfter::GetClassName +8061a848 0x8061a848 +8061a854 FriendStatusButtonRaceAfter::__ct +8061a890 FriendStatusButtonRaceAfter::__dt +8061a8e8 FriendStatusButtonRaceAfter::8064dbfc +8061aa24 FriendStatusButtonRaceAfter::OnInit +8061aa28 FriendStatusButtonRaceAfter::OnUpdate +8061aa88 FriendStatusButtonRaceAfter::UpdateStatus +8061abd4 Pages::WWRaceEnd::__ct +8061ad00 Pages::WWRaceEnd::__dt +8061ad9c Pages::WWRaceEnd::OnInit +8061b0c4 Pages::WWRaceEnd::OnActivate +8061b1c8 Pages::WWRaceEnd::BeforeEntranceAnimations +8061b1dc Pages::WWRaceEnd::AfterControlUpdate +8061b37c Pages::WWRaceEnd::OnContinueRaceClick +8061b4f8 Pages::WWRaceEnd::OnFriendButtonClick +8061b5d8 Pages::WWRaceEnd::OnQuitClick +8061b6bc Pages::WWRaceEndQuit::__ct +8061b780 Pages::WWRaceEndQuit::__dt +8061b80c Pages::WWRaceEndQuit::OnInit +8061b9a0 Pages::WWRaceEndQuit::OnDispose +8061ba20 Pages::WWRaceEndQuit::OnActivate +8061bae4 Pages::WWRaceEndQuit::OnDeactivate +8061baf0 Pages::WWRaceEndQuit::AfterControlUpdate +8061bc90 Pages::WWRaceEndQuit::OnYesButtonClick +8061be10 Pages::WWRaceEndQuit::OnNoButtonClick +8061be54 Pages::WWRaceEndWait::__ct +8061bea0 Pages::WWRaceEndWait::__dt +8061bf14 Pages::WWRaceEndWait::OnInit +8061bf58 Pages::WWRaceEndWait::OnInit_switch +8061bf5c Pages::WWRaceEndWait::OnInit_case_68 +8061bf78 Pages::WWRaceEndWait::OnInit_case_69 +8061c00c Pages::WWRaceEndWait::OnActivate +8061c060 Pages::WWRaceEndWait::AfterControlUpdate +8061c110 Pages::WWRaceEndWait::AfterControlUpdate_switch +8061c114 Pages::WWRaceEndWait::AfterControlUpdate_case_68 +8061c11c Pages::WWRaceEndWait::AfterControlUpdate_case_69 +8061c124 Pages::WWRaceEndWait::AfterControlUpdate_case_6c +8061c12c Pages::WWRaceEndWait::AfterControlUpdate_case_6d +8061c2a4 Pages::WWRaceEndWait::AfterControlUpdate_switch2D +8061c2a8 Pages::WWRaceEndWait::AfterControlUpdate_case2_70 +8061c2b0 Pages::WWRaceEndWait::AfterControlUpdate_case2_71 +8061c2b8 Pages::WWRaceEndWait::AfterControlUpdate_case2_72 +8061c2c0 Pages::WWRaceEndWait::AfterControlUpdate_case2_73 +8061c2c8 Pages::WWRaceEndWait::AfterControlUpdate_case2_74 +8061c2d0 Pages::WWRaceEndWait::AfterControlUpdate_case2_75 +8061c2d8 Pages::WWRaceEndWait::AfterControlUpdate_case2_76 +8061c2e0 Pages::WWRaceEndWait::AfterControlUpdate_case2_77 +8061c348 0x8061c348 +8061c5cc 0x8061c5cc +8061c5d0 0x8061c5d0 +8061c628 0x8061c628 +8061c6c4 Pages::DisableHomeButton::__ct +8061c708 Pages::DisableHomeButton::__dt +8061c770 Pages::DisableHomeButton::OnInit +8061c7cc Pages::DisableHomeButton::IsHomeMenuWorking +8061c7d4 Pages::DisableHomeButton::GetRuntimeTypeInfo +8061c7e0 Pages::RaceEndWait::GetRuntimeTypeInfo +8061c7ec Pages::WWRaceEndQuit::GetNextPage +8061c7f4 Pages::WWRaceEndQuit::GetRuntimeTypeInfo +8061c800 Pages::WWRaceEnd::GetNextPage +8061c808 Pages::WWRaceEnd::GetRuntimeTypeInfo +8061c814 FriendStatusButtonRaceAfter::GetRuntimeTypeInfo +8061c820 Pages::WWRaceEndCountDown::GetNextPage +8061c828 Pages::WWRaceEndCountDown::GetRuntimeTypeInfo +8061c834 TriggerPtmf +8061c864 TriggerPtmf +8061c894 WWRaceSupportingPages_cpp_sinit_ +8061c8c8 Pages::SELECTStageMgr::__ct +8061c95c Pages::SELECTStageMgr::__dt +8061c9e8 Pages::SELECTStageMgr::OnInit +8061ca40 Pages::SELECTStageMgr::OnInit_switch +8061ca44 Pages::SELECTStageMgr::OnInit_case58 +8061ca50 Pages::SELECTStageMgr::OnInit_case60 +8061ca5c Pages::SELECTStageMgr::OnInit_case59 +8061ca68 Pages::SELECTStageMgr::OnInit_case62 +8061ca70 Pages::SELECTStageMgr::OnInit_case5a +8061cb1c Pages::SELECTStageMgr::OnDispose +8061cb20 Pages::SELECTStageMgr::OnActivate +8061cbf4 Pages::SELECTStageMgr::OnActivate_Pages::SELECTStageMgr::OnActivate_switch +8061cbf8 Pages::SELECTStageMgr::OnActivate_case58 +8061cc18 Pages::SELECTStageMgr::OnActivate_case59 +8061cc34 Pages::SELECTStageMgr::OnActivate_case5a +8061cd04 Pages::SELECTStageMgr::OnActivate_switch2 +8061cd08 Pages::SELECTStageMgr::OnActivate_2case58 +8061cec4 Pages::SELECTStageMgr::OnActivate_2case59 +8061cee4 Pages::SELECTStageMgr::OnActivate_2case5a +8061cf00 Pages::SELECTStageMgr::OnDeactivate +8061cf04 Pages::SELECTStageMgr::BeforeControlUpdate +8061cf60 Pages::SELECTStageMgr::AfterControlUpdate +8061d48c Pages::SELECTStageMgr::OnResume +8061d698 Pages::SELECTStageMgr::OnResume_Pages::SELECTStageMgr::OnResume_switch +8061d69c Pages::SELECTStageMgr::OnResume_case58 +8061d6a4 Pages::SELECTStageMgr::OnResume_case59 +8061d6a8 Pages::SELECTStageMgr::OnResume_case5a +8061d7e0 Pages::SELECTStageMgr::IsPublicBattle +8061d810 Pages::SELECTStageMgr::IsPublicBattle_switch +8061d814 Pages::SELECTStageMgr::IsPublicBattle_case58 +8061d81c Pages::SELECTStageMgr::IsPublicBattle_case59 +8061d824 Pages::SELECTStageMgr::IsPublicBattle_case5a +8061d82c Pages::SELECTStageMgr::GetEngineClass +8061d87c Pages::SELECTStageMgr::GetBattleType +8061d8cc Pages::SELECTStageMgr::GetInstructionBmgId +8061d8fc Pages::SELECTStageMgr::GetInstructionBmgId_switch +8061d900 Pages::SELECTStageMgr::GetInstructionBmgId_case58 +8061d970 Pages::SELECTStageMgr::GetInstructionBmgId_case59 +8061d9d0 Pages::SELECTStageMgr::GetInstructionBmgId_case60 +8061da40 Pages::SELECTStageMgr::GetInstructionBmgId_case61 +8061dab0 Pages::SELECTStageMgr::GetInstructionBmgId_case62 +8061dab8 Pages::SELECTStageMgr::GetInstructionBmgId_case63 +8061dac0 Pages::SELECTStageMgr::GetInstructionBmgId_case5a +8061dac8 Pages::SELECTStageMgr::GetPlayerId +8061db10 Pages::SELECTStageMgr::PrepareRace +8061dbd0 Pages::SELECTStageMgr::PrepareRace_switch +8061dbd4 Pages::SELECTStageMgr::PrepareRace_case58 +8061dbf4 Pages::SELECTStageMgr::PrepareRace_case60 +8061dc14 Pages::SELECTStageMgr::PrepareRace_case61 +8061dc34 Pages::SELECTStageMgr::PrepareRace_case59 +8061dc54 Pages::SELECTStageMgr::PrepareRace_case62 +8061dc70 Pages::SELECTStageMgr::PrepareRace_case5a +8061dca0 Pages::SELECTStageMgr::PrepareRace_case5a_switch +8061dca4 Pages::SELECTStageMgr::PrepareRace_2case58 +8061dd68 Pages::SELECTStageMgr::PrepareRace_2case59 +8061dde0 Pages::SELECTStageMgr::PrepareRace_2case62 +8061de0c Pages::SELECTStageMgr::PrepareRace_2case63 +8061de38 Pages::SELECTStageMgr::PrepareRace_2case5a +8061e2b8 Pages::SELECTStageMgr::UpdateOnlineParams +8061e49c Pages::SELECTStageMgr::OnDisconnect +8061e540 Pages::SELECTStageMgr::SetModeTypes +8061e584 Pages::SELECTStageMgr::SetModeTypes_switch +8061e588 Pages::SELECTStageMgr::SetModeTypes_case58 +8061e59c Pages::SELECTStageMgr::SetModeTypes_case59 +8061e5b0 Pages::SELECTStageMgr::SetModeTypes_case60 +8061e5ec Pages::SELECTStageMgr::SetModeTypes_case62 +8061e5f8 Pages::SELECTStageMgr::SetModeTypes_case63 +8061e600 Pages::SELECTStageMgr::SetModeTypes_loop +8061e770 0x8061e770 +8061e77c 0x8061e77c +8061e7bc 0x8061e7bc +8061e894 Pages::SELECTStageMgr::IsHomeMenuWorking +8061e89c Pages::SELECTStageMgr::GetRuntimeTypeInfo +8061e8a8 Pages::SELECTStageMgr::TriggerPtmf +8061e8d8 0x8061e8d8 +8061e8ec Pages::YesNo::__ct +8061e990 Pages::YesNo::__dt +8061ea1c Pages::YesNo::OnInit +8061eab0 Pages::YesNo::OnActivate +8061eb50 Pages::YesNo::AfterControlUpdate +8061eb8c Pages::YesNo::Reset +8061ebe8 Pages::YesNo::SetMessageBoxMsg +8061ebf0 Pages::YesNo::PrepareButton +8061ec64 Pages::YesNo::OnButtonClick +8061ecec Pages::YesNo::SelectInitialButton +8061ed60 Pages::YesNoPopUp::__ct +8061ee38 Pages::YesNoPopUp::__dt +8061eee8 Pages::YesNoPopUp::OnInit +8061f134 Pages::YesNoPopUp::BeforeEntranceAnimations +8061f178 Pages::YesNoPopUp::AfterExitAnimations +8061f1bc Pages::YesNoPopUp::Container::GetClassName +8061f1cc Pages::YesNoPopUp::Container::__ct +8061f208 Pages::YesNoPopUp::Container::__dt +8061f260 Pages::YesNoPopUp::Container::Load +8061f2d4 Pages::YesNoPopUp::Reset +8061f330 Pages::YesNoPopUp::Container::SetPositionAnim +8061f368 Pages::YesNoFull::__ct +8061f438 Pages::YesNoFull::__dt +8061f4dc Pages::YesNoFull::OnInit +8061f6bc Pages::YesNoFull::Reset +8061f728 Pages::YesNoFull::SetTitleMsg +8061f730 Pages::YesNoFull::BeforeEntranceAnimations +8061f74c Pages::YesNoFull::AfterExitAnimations +8061f768 Pages::YesNoFull::GetRuntimeTypeInfo +8061f774 Pages::YesNoPopUp::GetRuntimeTypeInfo +8061f780 Pages::YesNoPopUp::Container::GetRuntimeTypeInfo +8061f78c Pages::YesNo::GetRuntimeTypeInfo +8061f798 Pages::YesNo::TriggerPtmf +8061f7c8 YesNoPagecpp_sinit_ +8061f7f4 NdevArgsExtractor::__ct +8061f7f8 NdevArgsExtractor::__dt +8061f838 NdevArgsExtractor::ExtractAllArgs +80620580 NdevArgsExtractor::ExtractSection +80620678 NdevArgsExtractor::ExtractLicense +80620768 NdevArgsExtractor::ExtractPad +806208cc NdevArgsExtractor::ExtractGhostType +806209bc NdevArgsExtractor::ExtractCourseId +80620aac NdevArgsExtractor::ExtractGhostLicense +80620bd4 NdevArgsExtractor::ExtractFriendIdx +80620c8c NdevArgsExtractor::ExtractW +80620d80 NdevArgsExtractor::ExtractD +80620e80 NdevArgsExtractor::ExtractInt +80620f54 NdevArgsExtractor::ExtractU64 +80621034 Pages::AwardFade::GetPlayersVolumeMgr +80621040 Pages::AwardFade::__ct +806210c4 Pages::AwardFade::__dt +80621138 Pages::AwardFade::OnInit +80621258 Pages::AwardFade::OnActivate +806212a4 Pages::AwardFade::BeforeEntranceAnimations +806212a8 Pages::AwardFade::BeforeExitAnimations +806212ac Pages::AwardFade::AfterControlUpdate +806213f4 Pages::AwardFade::HandleClick +806214a0 AwardDemoCongratulations::GetClassName +806214b0 AwardDemoCongratulations::__ct +806214ec AwardDemoCongratulations::__dt +80621544 AwardDemoCongratulations::Load +8062161c AwardDemoCongratulations::InitSelf +80621654 0x80621654 +8062168c 0x8062168c +806216c4 AwardDemoResultItem::GetClassName +806216d4 AwardDemoResultItem::__ct +80621710 AwardDemoResultItem::__dt +80621768 AwardDemoResultItem::Load +80621914 AwardDemoResultItem::InitSelf +8062194c AwardDemoResultItem::SetValues +80621db8 Pages::AwardResults::__ct +80621e84 Pages::AwardResults::__dt +80621f2c Pages::AwardResults::OnInit +8062239c Pages::AwardResults::OnActivate +806223bc Pages::AwardResults::BeforeEntranceAnimations +806223dc Pages::AwardResults::AfterControlUpdate +806224b8 Pages::AwardResults::HandleClick +80622658 Pages::AwardResults::InitConfig +80622758 Pages::AwardResults::SetWinOrLose +8062291c 0x8062291c +806229a0 Pages::AwardResults::PrepareCongratulations +80622b40 Pages::AwardResults::PrepareResultItems +80622cac Pages::AwardResults::PrepareCup +80622d38 Pages::AwardResults::PrepareCup_switch +80622d3c Pages::AwardResults::PrepareCup_caseD_0 +80622d44 Pages::AwardResults::PrepareCup_caseD_1 +80622d4c Pages::AwardResults::PrepareCup_caseD_2 +80622d54 Pages::AwardResults::PrepareCup_caseD_3 +80622d5c Pages::AwardResults::PrepareCup_caseD_4 +80622d64 Pages::AwardResults::PrepareCup_caseD_5 +80622d6c Pages::AwardResults::PrepareCup_caseD_6 +80622d74 Pages::AwardResults::PrepareCup_caseD_7 +80622dcc Pages::AwardResults::InitRank +80623048 Pages::AwardResults::GetRuntimeTypeInfo +80623054 AwardDemoResultItem::GetRuntimeTypeInfo +80623060 AwardDemoCongratulations::GetRuntimeTypeInfo +8062306c 0x8062306c +80623074 Pages::AwardFade::GetRuntimeTypeInfo +80623080 TriggerPtmf +806230b0 TriggerPtmf +806230e0 AwardPages_cpp_sinit_ +8062310c Pages::AddMKChannel::__ct +80623294 Pages::AddMKChannel::__dt +80623340 Pages::AddMKChannel::OnInit +80623570 Pages::AddMKChannel::OnDispose +80623574 Pages::AddMKChannel::OnActivate +80623578 Pages::AddMKChannel::OnDeactivate +8062357c Pages::AddMKChannel::GetNextPage +80623594 Pages::AddMKChannel::OnAddButtonClick +806237b0 Pages::AddMKChannel::OnCancelButtonClick +8062383c Pages::AddMKChannel::OnBackButtonClick +80623878 Pages::AddMKChannel::OnBackPress +80623888 Pages::MKChannelExplanation::__ct +806239a0 Pages::MKChannelExplanation::__dt +80623a40 Pages::MKChannelExplanation::OnInit +80623bdc Pages::MKChannelExplanation::OnActivate +80623be8 Pages::MKChannelExplanation::GetNextPage +80623c20 Pages::MKChannelExplanation::OnButtonClick +80623ccc Pages::MKChannelExplanation::OnBackPress +80623d14 0x80623d14 +80623d20 0x80623d20 +80623d2c 0x80623d2c +80623d5c 0x80623d5c +80623d8c 0x80623d8c +80623dbc 0x80623dbc +80623dec 0x80623dec +80623e08 Pages::BatteryMgr::__ct +80623e4c Pages::BatteryMgr::__dt +80623eb4 Pages::BatteryMgr::OnInit +80623f10 Pages::BatteryMgr::OnActivate +80623f5c Pages::BatteryMgr::BeforeEntranceAnimations +80623f60 0x80623f60 +80623f64 Pages::BatteryMgr::BeforeExitAnimations +80623f68 Pages::BatteryMgr::AfterControlUpdate +80623ff0 Pages::LowBattery::__ct +80624084 Pages::LowBattery::__dt +80624110 Pages::LowBattery::OnInit +80624238 Pages::LowBattery::OnActivate +8062429c Pages::LowBattery::AfterControlUpdate +806242d4 Pages::LowBattery::OnClick +806242e8 Pages::LowBattery::BeforeEntranceAnimations +8062432c Pages::LowBattery::AfterExitAnimations +80624370 Pages::LowBattery::GetRuntimeTypeInfo +8062437c Pages::BatteryMgr::GetNextPage +80624384 Pages::BatteryMgr::GetRuntimeTypeInfo +80624390 TriggerPtmf +806243c0 LowBatteryPage_cpp_sinit_ +806243dc 0x806243dc +80624490 0x80624490 +806244f8 0x806244f8 +80624564 0x80624564 +8062495c Page::EndActivationState +80624960 0x80624960 +80624980 Page::EndExitState +80624984 0x80624984 +80624af4 0x80624af4 +80624ffc 0x80624ffc +80625200 0x80625200 +80625320 0x80625320 +80625340 0x80625340 +8062539c 0x8062539c +806253a4 0x806253a4 +806253b0 TriggerPtmf +806253e0 TriggerPtmf +80625410 0x80625410 +80625424 0x80625424 +80625430 0x80625430 +8062546c StaffRollControl::__dt +806254c4 StaffRollControl::Load +80625578 StaffRollControl::InitSelf +806255b0 StaffRollControl::AppearAnimated +806255e8 StaffRollControl::DisappearAnimated +80625620 Pages::StaffRoll::__ct +806256bc StaffRollText::__ct +80625718 StaffRollText::__dt +8062578c Pages::StaffRoll::__dt +8062580c Pages::StaffRoll::OnInit +80625d4c Pages::StaffRoll::OnActivate +80625d9c Pages::StaffRoll::BeforeEntranceAnimations +80625da0 Pages::StaffRoll::BeforeExitAnimations +80625da4 Pages::StaffRoll::AfterControlUpdate +80626120 Pages::StaffRoll::SetHasNotStarted +80626138 Pages::StaffRoll::OnClick +80626144 EndingMovieControl::GetClassName +80626154 EndingMovieControl::__ct +80626190 EndingMovieControl::__dt +806261e8 EndingMovieControl::Load +806262e0 EndingMovieControl::InitSelf +80626318 EndingMovieControl::FadeIn +80626350 EndingMovieControl::FadeOut +80626388 EndingMovieControl::IsCurrentAnimation1Or2 +806263d0 Pages::EndingMovie::__ct +8062646c Pages::EndingMovie::__dt +806264ec Pages::EndingMovie::OnInit +806266f0 0x806266f0 +8062675c Pages::EndingMovie::AfterEntranceAnimations +80626760 Pages::EndingMovie::AfterControlUpdate +80626890 Pages::EndingMovie::OnMovieActivate +8062695c Pages::CreditsCongrats::__ct +806269f0 Pages::CreditsCongrats::__dt +80626aa0 Pages::CreditsCongrats::OnInit +80626c8c Pages::CreditsCongrats::OnActivate +80626e08 Pages::CreditsCongrats::AfterControlUpdate +806271a8 Pages::CreditsCongrats::OnResumt +80627750 Pages::CreditsCongrats::OnClick +8062775c Pages::CreditsCongrats::Publish +8062788c Pages::CreditsCongrats::AfterPublish +8062798c Pages::CreditsCongrats::AfterPublishMsg +80627a8c Pages::CreditsCongrats::AfterDontPostTooMany +80627b8c Pages::CreditsCongrats::HandlePublishError +80627c5c Pages::CreditsCongrats::HandlePublishError_switch +80627c60 Pages::CreditsCongrats::HandlePublishError_caseD_1 +80627c68 Pages::CreditsCongrats::HandlePublishError_caseD_2 +80627c70 Pages::CreditsCongrats::HandlePublishError_caseD_3 +80627c78 Pages::CreditsCongrats::HandlePublishError_caseD_4 +80627c80 Pages::CreditsCongrats::HandlePublishError_caseD_5 +80627c88 Pages::CreditsCongrats::HandlePublishError_caseD_6 +80627c90 Pages::CreditsCongrats::HandlePublishError_caseD_8 +80627c98 Pages::CreditsCongrats::HandlePublishError_caseD_9 +80627ca0 Pages::CreditsCongrats::HandlePublishError_caseD_7 +80627cb4 Pages::CreditsCongrats::HandlePublishError_caseD_0 +80627d28 0x80627d28 +80627df4 Pages::CreditsCongrats::GetRuntimeTypeInfo +80627e00 Pages::EndingMovie::GetRuntimeTypeInfo +80627e0c EndingMovieControl::GetRuntimeTypeInfo +80627e18 Pages::StaffRoll::GetRuntimeTypeInfo +80627e24 StaffRollControl::GetRuntimeTypeInfo +80627e30 TriggerPtmf +80627e60 TriggerPtmf +80627e90 TriggerPtmf +80627ec0 Ending_cpp_sinit_ +80627ef0 HandleDisplayControl::GetClassName +80627efc HandleDisplayControl::__ct +80627f38 HandleDisplayControl::__dt +80627f90 HandleDisplayControl::Load +80628010 0x80628010 +80628074 HandleDisplayControl::InitSelf +80628120 Pages::WheelOnlyComp::__ct +8062818c Pages::WheelOnlyComp::__dt +80628210 Pages::WheelOnlyComp::OnInit +80628338 Pages::WheelOnlyComp::OnActivate +8062834c Pages::WheelOnlyComp::AfterEntranceAnimations +80628360 Pages::WheelOnlyComp::AfterControlUpdate +806284b0 Pages::WheelOnlyComp::GetRuntimeTypeInfo +806284bc HandleDisplayControl::GetRuntimeTypeInfo +806284c8 WheelOnlyComp_cpp_sinit_ +806284ec Pages::FriendRoom::__ct +806286d4 Pages::FriendRoom::__dt +80628780 Pages::FriendRoom::OnInit +806289b8 Pages::FriendRoom::OnActivate +80628a70 Pages::FriendRoom::OnDeactivate +80628a7c Pages::FriendRoom::AfterControlUpdate +8062920c Pages::FriendRoom::OnResume +806294b4 Pages::FriendRoom::SetStatus +806294bc 0x806294bc +806294f8 Pages::FriendRoom::OnMessagesButtonClick +806295e0 Pages::FriendRoom::OnStartButtonClick +806296c8 Pages::FriendRoom::OnAddFriendsButtonClick +806296d4 Pages::FriendRoom::OnBackButtonClick +80629814 Pages::FriendRoom::OnButtonSelect +80629880 Pages::FriendRoom::OnBackPress +806299c0 FriendMatchingPlayer::GetClassName +806299d0 FriendMatchingPlayer::__ct +80629a44 FriendMatchingPlayer::__dt +80629a9c FriendMatchingPlayer::Load +80629b88 FriendMatchingPlayer::InitSelf +80629c74 FriendMatchingPlayer::OnUpdate +80629df0 0x80629df0 +80629f08 0x80629f08 +80629f6c 0x80629f6c +8062a01c FriendMatchingPlayer::OnMessageSent +8062a0ac Pages::FriendRoomManager::__ct +8062a140 Pages::FriendRoomManager::__dt +8062a1e8 Pages::FriendRoomManager::OnInit +8062a324 Pages::FriendRoomManager::OnActivate +8062a494 Pages::FriendRoomManager::AfterEntranceAnimations +8062a59c Pages::FriendRoomManager::BeforeExitAnimations +8062a668 Pages::FriendRoomManager::OnDeactivate +8062a6b4 Pages::FriendRoomManager::AfterControlUpdate +8062b1c4 AvoidController_UseMinimumAvoidance +8062b1d4 0x8062b1d4 +8062b224 Pages::FriendRoomManager::GetMessageBmg +8062b318 Pages::FriendRoomManager::SetToSendPacket +8062b39c 0x8062b39c +8062b3a4 0x8062b3a4 +8062b3cc 0x8062b3cc +8062b3dc 0x8062b3dc +8062b3f0 0x8062b3f0 +8062b3f4 0x8062b3f4 +8062b434 0x8062b434 +8062b4ac 0x8062b4ac +8062b778 0x8062b778 +8062b7ec 0x8062b7ec +8062b894 0x8062b894 +8062b8bc 0x8062b8bc +8062b8cc 0x8062b8cc +8062bba8 0x8062bba8 +8062bc2c MessageSelectControl::GetClassName +8062bc3c MessageSelectControl::__ct +8062bc98 MessageSelectControl::__dt +8062bd0c MessageSelectControl::Load +8062be60 MessageSelectControl::InitSelf +8062be64 MessageSelectControl::OnUpdate +8062bf5c MessageSelectControl::SetPositionAnim +8062bf94 MessageSelectControl::Activate +8062c02c MessageSelectControl::Deactivate +8062c09c MessageSelectControl::ChangeToPage +8062c0fc MessageSelectControl::ChangeFromPage +8062c194 MessageSelectControl::IsActivated +8062c1cc MessageSelectControl::IsDeactivated +8062c200 MessageSelectControl::SetButtonBmg +8062c238 MessageSelectControl::SetOnClickHandler +8062c298 MessageSelectControl::SelectInitialButton +8062c2a8 MessageSelectControl::GetSelectedButtonId +8062c308 Pages::FriendRoomMessages::__ct +8062c550 Pages::FriendRoomMessages::__dt +8062c620 Pages::FriendRoomMessages::OnInit +8062c894 Pages::FriendRoomMessages::OnActivate +8062cc38 Pages::FriendRoomMessages::OnDeactivate +8062ccd4 Pages::FriendRoomMessages::BeforeControlUpdate +8062cd5c 0x8062cd5c +8062cfb8 Pages::FriendRoomMessages::End +8062cfd0 Pages::FriendRoomMessages::UpdateMessage +8062d18c Pages::FriendRoomMessages::OnMessageButtonClick +8062d294 Pages::FriendRoomMessages::OnModeButtonClick +8062d39c Pages::FriendRoomMessages::OnAddFriendsButtonClick +8062d5e4 Pages::FriendRoomMessages::OnRightArrowPress +8062d6f0 Pages::FriendRoomMessages::OnLeftArrowPress +8062d7f8 Pages::FriendRoomMessages::OnBackButtonClick +8062d834 Pages::FriendRoomMessages::OnBackPress +8062d84c Pages::FriendRoomWaiting::__ct +8062d8a8 Pages::FriendRoomWaiting::__dt +8062d934 Pages::FriendRoomWaiting::OnInit +8062dac8 Pages::FriendRoomWaiting::OnActivate +8062dc40 Pages::FriendRoomWaiting::OnDeactivate +8062dc50 Pages::FriendRoomWaiting::BeforeEntranceAnimations +8062dcdc Pages::FriendRoomWaiting::BeforeExitAnimations +8062dce0 Pages::FriendRoomWaiting::AfterControlUpdate +8062e1e4 Pages::FriendRoomWaiting::OnResume +8062e5a4 0x8062e5a4 +8062e5ac Pages::FriendRoomWaiting::StartRoom +8062ed54 0x8062ed54 +8062ed5c Pages::FriendRoomWaiting::IsHomeMenuWorking +8062ed64 Pages::FriendRoomWaiting::GetRuntimeTypeInfo +8062ed70 Pages::FriendRoomMessages::GetRuntimeTypeInfo +8062ed7c MessageSelectControl::GetRuntimeTypeInfo +8062ed88 Pages::FriendRoomManager::GetRuntimeTypeInfo +8062ed94 FriendMatchingPlayer::GetRuntimeTypeInfo +8062eda0 Pages::FriendRoom::GetRuntimeTypeInfo +8062edac TriggerPtmf +8062eddc TriggerPtmf +8062ee0c TriggerPtmf +8062ee3c TriggerPtmf +8062ee6c TriggerPtmf +8062ee9c TriggerPtmf +8062eecc FriendRoomPage_cpp_sinit_ +8062ef00 Pages::GhostRaceExplanation::__ct +8062f018 Pages::GhostRaceExplanation::__dt +8062f0b8 Pages::GhostRaceExplanation::OnInit +8062f234 Pages::GhostRaceExplanation::OnActivate +8062f3bc Pages::GhostRaceExplanation::GetNextPage +8062f40c Pages::GhostRaceExplanation::OnButtonClick +8062f498 Pages::GhostRaceExplanation::OnBackPress +8062f4e4 Pages::GhostRaceMgr::__ct +8062f568 Pages::GhostRaceMgr::__dt +8062f5d0 Pages::GhostRaceMgr::OnInit +8062f6e0 Pages::GhostRaceMgr::OnActivate +8062f800 Pages::GhostRaceMgr::BeforeEntranceAnimations +8062f804 Pages::GhostRaceMgr::BeforeExitAnimations +8062f808 Pages::GhostRaceMgr::AfterControlUpdate +8062fa50 Pages::GhostRaceMgr::OnResume +8062fe88 Pages::GhostRaceMgr::DownloadGhost +80630604 0x80630604 +80630714 0x80630714 +80630854 Pages::GhostRaceMgr::PrepareRace +80630a4c Pages::GhostRaceMgr::OnErrorBoxClick +80630a94 Pages::GhostRaceInfo::__ct +80630bac Pages::GhostRaceInfo::__dt +80630c4c Pages::GhostRaceInfo::OnInit +80630dc4 Pages::GhostRaceInfo::OnActivate +80630dd0 Pages::GhostRaceInfo::UpdateGhostInfo +80630e28 Pages::GhostRaceInfo::OnButtonClick +80630f54 Pages::GhostRaceInfo::OnBackPress +8063100c Pages::GhostRaceInfo::GetRuntimeTypeInfo +80631018 Pages::GhostRaceMgr::GetNextPage +80631020 Pages::GhostRaceMgr::GetRuntimeTypeInfo +8063102c Pages::GhostRaceExplanation::GetRuntimeTypeInfo +80631038 TriggerPtmf +80631068 TriggerPtmf +80631098 TriggerPtmf +806310c8 TriggerPtmf +806310f8 TriggerPtmf +80631128 GhostRacePage_cpp_sinit_ +80631148 0x80631148 +80631194 0x80631194 +806311fc 0x806311fc +80631268 0x80631268 +80631320 Page::EndActivationState +80631324 0x80631324 +806313d4 0x806313d4 +80631450 0x80631450 +80631818 0x80631818 +80631a38 0x80631a38 +80631a44 0x80631a44 +80631a58 0x80631a58 +80631a5c 0x80631a5c +80631a9c 0x80631a9c +80631af0 LicenseControl::GetClassName +80631afc LicenseButton::GetClassName +80631b0c Pages::LicenseSelect::__ct +80631d44 LicenseButton::__ct +80631d80 LicenseButton::__dt +80631dd8 Pages::LicenseSelect::__dt +80631e90 Pages::LicenseSelect::OnInit +8063216c Pages::LicenseSelect::SetControlMii +80632a4c Pages::LicenseSelect::OnActivate +80632a70 Pages::LicenseSelect::OnResume +80632a74 Pages::LicenseSelect::AfterControlUpdate +80632a78 Pages::LicenseSelect::OnLicenseButtonClick +80632e1c Pages::LicenseSelect::OnOptionsButtonClick +80632f64 Pages::LicenseSelect::OnBackButtonClick +80632fa8 Pages::LicenseSelect::OnBackPress +80632fc0 Pages::LicenseSelect::OnNewLicenseApprove +8063301c Pages::LicenseSelect::OnNewLicenseDisapprove +80633078 Pages::LicenseSelect::OnNewLicenseBack +80633084 Pages::LicenseChangeMii::__ct +806331e8 LicenseControl::__dt +80633240 Pages::LicenseChangeMii::__dt +806332e0 Pages::LicenseChangeMii::OnInit +8063354c Pages::LicenseChangeMii::OnActivate +806337c0 Pages::LicenseChangeMii::SetControlMii +806340a0 Pages::LicenseChangeMii::UpdateMiiGroup +806340b0 Pages::LicenseChangeMii::PrepareMessageBox +80634204 0x80634204 +806342c8 0x806342c8 +80634444 0x80634444 +806345ac Pages::LicenseChangeMii::OnClick +80634728 Pages::LicenseChangeMii::OnMiiApprove +80634734 Pages::LicenseChangeMii::OnMiiDisapprove +80634740 Pages::LicenseChangeMii::OnMessageBoxClick +806347c4 Pages::LicenseSettings::__ct +806349e4 Pages::LicenseSettings::__dt +80634abc Pages::LicenseSettings::OnInit +80634ed0 Pages::LicenseSettings::OnActivate +80634f28 Pages::LicenseSettings::OnRecordsButtonClick +80634f6c Pages::LicenseSettings::OnChangeMiiButtonClick +80634fb0 Pages::LicenseSettings::OnEraseLicenseButtonClick +80634ff4 Pages::LicenseSettings::OnBackPress +80635040 Pages::LicenseSettings::OnSelectButton +806350ac Pages::LicenseSettings::OnBackPress +806350cc Pages::LicenseErase::__ct +8063525c Pages::LicenseErase::__dt +80635308 Pages::LicenseErase::OnInit +80635510 Pages::LicenseErase::OnActivate +8063551c Pages::LicenseErase::OnResume +806356f4 Pages::LicenseErase::GetNextPage +8063570c Pages::LicenseErase::OnYesButtonClick +80635850 Pages::LicenseErase::OnNoButtonClick +806358a4 Pages::LicenseErase::OnBackPress +806358b4 Pages::LicenseErase::OnErasedLicense +806358fc Pages::LicenseErase::GetRuntimeTypeInfo +80635908 Pages::LicenseSettings::GetNextPage +80635910 Pages::LicenseSettings::GetRuntimeTypeInfo +8063591c Pages::LicenseChangeMii::GetNextPage +80635924 Pages::LicenseChangeMii::GetRuntimeTypeInfo +80635930 Pages::LicenseSelect::GetNextPage +80635938 Pages::LicenseSelect::GetRuntimeTypeInfo +80635944 LicenseButton::GetRuntimeTypeInfo +80635950 LicenseControl::GetRuntimeTypeInfo +8063595c LicenseUI_cpp_sinit_ +8063598c TriggerPtmf +806359bc TriggerPtmf +806359ec TriggerPtmf +80635a1c TriggerPtmf +80635a4c TriggerPtmf +80635a7c TriggerPtmf +80635aac TriggerPtmf +80635adc TriggerPtmf +80635b0c TriggerPtmf +80635b3c TriggerPtmf +80635b6c 0x80635b6c +80635ba8 MiiNameMsgPrinter::__ct +80635bd8 MiiNameMsgPrinter::__dt +80635c30 MiiNameMsgPrinter::Load +80635d50 MiiNameMsgPrinter::PrintMessage +80635e40 BackGroundModelControl::GetClassName +80635e4c BackGroundModelControl::__ct +80635e88 BackGroundModelControl::__dt +80635ee0 BackGroundModelControl::Load +80635fa0 BackGroundModelControl::RequestModel +80635fc0 BackGroundModelControl::InitSelf +80635fc4 BackGroundModelControl::OnUpdate +80636354 DriverModelControl::GetClassName +80636364 DriverModelControl::__ct +806363a0 DriverModelControl::__dt +806363f8 DriverModelControl::Load +80636588 DriverModelControl::SetAnimationType +806365b0 DriverModelControl::RequestModel +80636684 DriverModelControl::InitSelf +80636688 DriverModelControl::OnUpdate +80636900 DriverModelControl::SetPositionAnim +8063694c DriverModelControl::SetModelPositionOnAnim +80636ac8 VehicleModelControl::GetClassName +80636ad8 VehicleModelControl::__ct +80636b14 VehicleModelControl::__dt +80636b6c VehicleModelControl::Load +80636cb4 VehicleModelControl::SetAnimationType +80636ce0 VehicleModelControl::RequestNewModel +80636da8 VehicleModelControl::InitSelf +80636e14 VehicleModelControl::OnUpdate +806371c0 VehicleModelControl::SetPositionAnim +8063722c VehicleModelControl::SetModelPositionOnAnim +806373c0 NoteModelControl::GetClassName +806373d0 NoteModelControl::__ct +8063740c NoteModelControl::__dt +80637464 NoteModelControl::Load +806375bc NoteModelControl::SetAnimationType +806375dc NoteModelControl::InitSelf +80637714 NoteModelControl::OnUpdate +80637e18 NoteModelControl::SetPositionAnim +80637f68 NoteModelControl::SetModelPositionOnAnim +80638098 NoteModelControl::GetRuntimeTypeInfo +806380a4 VehicleModelControl::GetRuntimeTypeInfo +806380b0 DriverModelControl::GetRuntimeTypeInfo +806380bc BackGroundModelControl::GetRuntimeTypeInfo +806380c8 ModelControl_cpp_sinit_ +806380ec Pages::ModelRenderer::__ct +806382e4 Pages::ModelRenderer::__dt +8063834c Pages::ModelRenderer::OnInit +80638620 Pages::ModelRenderer::OnDispose +8063863c Pages::ModelRenderer::OnActivate +806387f0 Pages::ModelRenderer::BeforeEntranceAnimations +806387f4 Pages::ModelRenderer::BeforeExitAnimations +806387f8 Pages::ModelRenderer::BeforeControlUpdate +806387fc Pages::ModelRenderer::RequestCharacterModel +80638828 Pages::ModelRenderer::LoadKartModelsByCharacter +806388d4 0x806388d4 +80638a74 Pages::ModelRenderer::RequestKartModel +80638aa0 Pages::ModelRenderer::RequestBackgroundModel +80638ac8 0x80638ac8 +80638b4c Pages::ModelRenderer::SetBackgroundModelVisibility +80638b68 Pages::ModelRenderer::GetModelTexObj +80638b8c Pages::ModelRenderer::GetBackgroundModelTexObj +80638bb4 Pages::ModelRenderer::GetVariantType +80638db0 Pages::ModelRenderer::PrepareParams +80638e74 Pages::ModelRenderer::GetModelCount +80638f44 ModelRendererParams::Reset +80638f60 0x80638f60 +806390c0 ModelValuesHolder::GetValues +806390f8 Pages::ModelRenderer::GetRuntimeTypeInfo +80639104 ModelRendererPage_cpp_sinit_ +80639118 ModelRendererValuesHolder::Init +8063bc40 ModelRendererValues::SetValues +8063bc50 Pages::BackModel::__ct +8063bca4 Pages::BackModel::__dt +8063bd24 Pages::BackModel::OnInit +8063be40 Pages::BackModel::OnInit_switch +8063be44 Pages::BackModel::OnInit_case_60 +8063be54 Pages::BackModel::OnInit_case_49 +8063be64 Pages::BackModel::OnInit_case_4b +8063be74 Pages::BackModel::OnInit_case_4c +8063be80 Pages::BackModel::OnInit_case_4d +8063be94 Pages::BackModel::GetRuntimeTypeInfo +8063bea0 BackModelPage_cpp_sinit_ +8063beb4 Pages::Options::__ct +8063bfd4 Pages::Options::__dt +8063c080 Pages::Options::OnInit +8063c280 Pages::Options::OnDispose +8063c284 Pages::Options::OnActivate +8063c2a8 Pages::Options::OnButtonClick +8063c41c Pages::Options::OnBackPress +8063c444 Pages::WifiOptions::__ct +8063c574 Pages::WifiOptions::__dt +8063c638 Pages::WifiOptions::OnInit +8063c8d0 Pages::WifiOptions::OnActivate +8063c8f4 Pages::WifiOptions::OnButtonClick +8063caac Pages::WifiOptions::OnBackPress +8063cac4 Pages::OptionExplanation::__ct +8063cbdc Pages::OptionExplanation::__dt +8063cc7c Pages::OptionExplanation::OnInit +8063cdfc Pages::OptionExplanation::OnActivate +8063ce28 Pages::OptionExplanation::OnButtonClick +8063cf18 Pages::OptionExplanation::OnBackPress +8063cf94 Pages::OptionChoice::__ct +8063d0c4 Pages::OptionChoice::__dt +8063d170 Pages::OptionChoice::OnInit +8063d3f4 Pages::OptionChoice::OnActivate +8063d424 Pages::OptionChoice::OnResume +8063d4fc Pages::OptionChoice::SetTitleText +8063d508 Pages::OptionChoice::SetMessageWindowText +8063d514 Pages::OptionChoice::SetButtonText +8063d578 Pages::OptionChoice::SetInitialButton +8063d580 Pages::OptionChoice::OnButtonClick +8063d728 Pages::OptionChoice::OnBackPress +8063d740 Pages::RegionOptions::__ct +8063d898 Pages::RegionOptions::__dt +8063d938 Pages::RegionOptions::OnInit +8063dac4 Pages::RegionOptions::OnActivate +8063dad0 Pages::RegionOptions::GetNextPage +8063db30 Pages::RegionOptions::OnButtonClick +8063db7c Pages::RegionOptions::OnBackButtonClick +8063dc3c Pages::RegionOptions::OnBackPress +8063dcc4 Pages::MasterOptions::__ct +8063dd40 Pages::MasterOptions::__dt +8063dda8 Pages::MasterOptions::OnInit +8063de14 Pages::MasterOptions::OnActivate +8063de74 Pages::MasterOptions::BeforeEntranceAnimations +8063de78 Pages::MasterOptions::BeforeExitAnimations +8063de7c Pages::MasterOptions::AfterControlUpdate +8063e060 Pages::MasterOptions::OnResume +8063e09c Pages::MasterOptions::OnResume_switch +8063e0a0 Pages::MasterOptions::OnResume_case0 +8063e244 Pages::MasterOptions::OnResume_case1 +8063e2e4 Pages::MasterOptions::OnResume_case2 +8063e9d4 Pages::MasterOptions::OnResume_case4 +8063e9fc Pages::MasterOptions::OnResume_case5 +8063ea04 Pages::MasterOptions::OnResume_case7 +8063ea2c Pages::MasterOptions::OnResume_case8 +8063ea34 Pages::MasterOptions::OnResume_case9 +8063ea44 Pages::MasterOptions::OnResume_case3 +8063ea60 Pages::MasterOptions::SetNextPageType +8063eac4 Pages::MasterOptions::LoadOptionFirstExplanation +8063ec80 Pages::MasterOptions::LoadOptionNextExplanation +8063ed7c Pages::MasterOptions::LoadOptionChoice +8063f138 Pages::MasterOptions::LoadOptionWaitingNetwork +8063f268 Pages::MasterOptions::LoadOptionWaiting +8063f398 Pages::MasterOptions::LoadOptionChoiceSaved +8063f75c Pages::MasterOptions::LoadOptionChoiceSavedNetwork +8063f82c Pages::MasterOptions::LoadOptionChoiceSavedNetwork_switch +8063f830 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case1 +8063f838 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case2 +8063f840 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case3 +8063f848 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case4 +8063f850 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case5 +8063f858 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case6 +8063f860 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case8 +8063f868 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case9 +8063f870 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case7 +8063f898 Pages::MasterOptions::LoadOptionChoiceSavedNetwork_case0 +8063f924 Pages::MasterOptions::OnClick +8063f9b0 Pages::MasterOptions::GetNextPage +8063f9b8 Pages::MasterOptions::GetRuntimeTypeInfo +8063f9c4 Pages::RegionOptions::GetRuntimeTypeInfo +8063f9d0 Pages::OptionChoice::GetRuntimeTypeInfo +8063f9dc Pages::OptionExplanation::GetRuntimeTypeInfo +8063f9e8 Pages::WifiOptions::GetNextPage +8063f9f0 Pages::WifiOptions::GetRuntimeTypeInfo +8063f9fc Pages::Options::GetNextPage +8063fa04 Pages::Options::GetRuntimeTypeInfo +8063fa10 Pages::RegionOptions::TriggerPtmf +8063fa40 Pages::OptionChoice::TriggerPtmf +8063fa70 Pages::OptionExplanation::TriggerPtmf +8063faa0 Pages::WifiOptions::TriggerPtmf +8063fad0 Pages::Options::TriggerPtmf +8063fb00 Pages::MasterOptions::TriggerPtmf +8063fb30 Pages::RegionOptions::TriggerBackPtmf +8063fb60 Pages::OptionChoice::TriggerBackPtmf +8063fb90 Pages::OptionExplanation::TriggerBackPtmf +8063fbc0 Pages::WifiOptions::TriggerBackPtmf +8063fbf0 Pages::Options::TriggerBackPtmf +8063fc20 Optionscpp_sinit_ +8063fc4c RankingDetailItem_getTypeName +8063fc58 RankingDetailItem_ct +8063fc94 RankingDetailPage_dt +8063fcec 0x8063fcec +8063fe10 0x8063fe10 +8063fe48 0x8063fe48 +8063fff4 0x8063fff4 +80640258 RankingDetailPage_ct +80640380 0x80640380 +80640434 0x80640434 +806406d8 0x806406d8 +8064071c 0x8064071c +80640720 0x80640720 +80640828 0x80640828 +80640b0c 0x80640b0c +80640b30 0x80640b30 +80640b70 0x80640b70 +80640cbc 0x80640cbc +80641078 0x80641078 +806411fc 0x806411fc +80641238 0x80641238 +80641248 0x80641248 +806412ac 0x806412ac +806412d0 0x806412d0 +80641310 0x80641310 +80641378 0x80641378 +80641400 0x80641400 +806414b0 0x806414b0 +806415fc 0x806415fc +80641754 0x80641754 +80641a2c 0x80641a2c +80641a5c 0x80641a5c +80641a68 0x80641a68 +80641cc4 0x80641cc4 +806420dc 0x806420dc +8064248c 0x8064248c +806425a4 0x806425a4 +80642708 0x80642708 +80642714 0x80642714 +80642720 0x80642720 +8064272c TriggerPtmf +8064275c TriggerPtmf +8064278c 0x8064278c +806427b4 0x806427b4 +8064292c 0x8064292c +806429d4 0x806429d4 +80642bb4 0x80642bb4 +80642bc8 0x80642bc8 +80642bcc 0x80642bcc +80642ccc 0x80642ccc +80642d20 0x80642d20 +80642f14 0x80642f14 +80642f58 0x80642f58 +80642f70 0x80642f70 +80643140 0x80643140 +806431c4 0x806431c4 +8064322c 0x8064322c +80643298 0x80643298 +806432a8 0x806432a8 +806432b4 0x806432b4 +806432bc 0x806432bc +80643a84 0x80643a84 +80643abc 0x80643abc +80643ac0 0x80643ac0 +80643ac8 0x80643ac8 +80643c6c 0x80643c6c +80643d40 0x80643d40 +80643dec 0x80643dec +80643df4 0x80643df4 +80643ed8 0x80643ed8 +8064402c 0x8064402c +80644120 0x80644120 +80644370 0x80644370 +80644378 0x80644378 +80644380 0x80644380 +8064444c 0x8064444c +8064447c 0x8064447c +806459a0 0x806459a0 +80645a7c 0x80645a7c +80645b88 0x80645b88 +80645cb4 0x80645cb4 +80646288 0x80646288 +806466c0 0x806466c0 +806467c4 0x806467c4 +806468dc 0x806468dc +80646a9c 0x80646a9c +80646b6c 0x80646b6c +80646b70 0x80646b70 +80646b78 0x80646b78 +80646b80 0x80646b80 +80646b88 0x80646b88 +80646b90 0x80646b90 +80646b98 0x80646b98 +80646ba0 0x80646ba0 +80646ba8 0x80646ba8 +80646bb0 0x80646bb0 +80646c54 0x80646c54 +80646cc0 0x80646cc0 +80646cc8 0x80646cc8 +80646cd4 0x80646cd4 +80646ce0 TriggerPtmf +80646d10 TriggerPtmf +80646d40 TriggerPtmf +80646d70 0x80646d70 +80646d8c 0x80646d8c +80646edc RankingItem::GetClassName +80646ee8 0x80646ee8 +80646f38 RankingItem::__dt +80646f90 RankingItem::FinishLoad +8064716c RankingItem::OnUpdate +806475f8 0x806475f8 +8064760c RankingItem::Disable +80647620 RankingItem::Enable +80647634 RankingItem::Appear +80647738 RankingItem::MakeAccessible +8064773c RankingItem::Disappear +8064776c 0x8064776c +806477c8 0x806477c8 +806478f0 RankingItemSelectable::GetClassName +80647900 RankingItemSelectable::__ct +80647a14 RankingItemSelectable::__dt +80647a84 RankingItemSelectable::Load +80647ac8 RankingItemSelectable::Load_switch +80647acc RankingItemSelectable::Load_caseD_0 +80647adc RankingItemSelectable::Load_caseD_1 +80647aec RankingItemSelectable::Load_caseD_2 +80647afc RankingItemSelectable::Load_caseD_3 +80647b0c RankingItemSelectable::Load_caseD_4 +80647b1c RankingItemSelectable::Load_caseD_5 +80647b2c RankingItemSelectable::Load_caseD_6 +80647b3c RankingItemSelectable::Load_caseD_7 +80647ee4 RankingItemSelectable::InitSelf +80647f78 RankingItemSelectable::Disable +80647f94 RankingItemSelectable::Enable +806484ac RankingItemSelectable::MakeAccessible +806484c8 RankingItemSelectable::Disappear +80648500 RankingItemSelectable::vf_0x50 +8064851c RankingItemSelectable::vf_0x54 +80648534 RankingItemSelectable::vf_0x58 +8064854c RankingItemSelectable::vf_0x5c +80648568 RankingItemSelectable::vf_0x60 +80648834 RankingItemSelectable::vf_0x64 +80648838 RankedItemSelectable::OnSelect +80648e70 RankedItemSelectable::OnSelect_switch +80648e74 RankedItemSelectable::OnSelect_caseD_0 +80648e7c RankedItemSelectable::OnSelect_caseD_1 +80648e84 RankedItemSelectable::OnSelect_caseD_3 +80648eb0 RankedItemSelectable::OnSelect_caseD_5 +80648eb8 RankedItemSelectable::OnSelect_caseD_6 +80648ef4 RankedItemSelectable::OnSelect_caseD_7 +80649034 RankedItemSelectable::OnDeselect +80649198 RankedItemSelectable::OnClick +806493dc 0x806493dc +80649404 0x80649404 +80649408 0x80649408 +80649410 0x80649410 +80649418 0x80649418 +80649420 0x80649420 +80649428 0x80649428 +80649430 0x80649430 +80649438 0x80649438 +80649440 0x80649440 +80649464 RankingItemStranger::GetClassName +80649474 RankingItemStranger::__ct +806494d0 RankingItemStranger::__dt +8064952c RankingItemStranger::Load +806495c4 RankingItemStranger::Enable +806495f4 RankingItemStranger::vf_0x50 +80649610 RankingItemStranger::vf_0x54 +80649628 RankingItemStranger::vf_0x58 +80649640 RankingItemStranger::vf_0x5c +80649644 RankingItemStranger::vf_0x60 +80649648 RankingItemStranger::vf_0x64 +8064964c RankingRuler::GetClassName +8064965c RankingRuler::__ct +80649698 RankingRuler::__dt +806496f0 RankingRuler::Load +80649764 RankingRuler::InitSelf +80649770 0x80649770 +806498b4 0x806498b4 +80649960 0x80649960 +8064996c RankingWindow::GetClassName +8064997c RankingWindow::__ct +806499b8 RankingWindow::__dt +80649a10 0x80649a10 +80649b80 RankingWindow::InitSelf +80649b8c RankingWindow::OnUpdate +80649c0c 0x80649c0c +80649c18 0x80649c18 +80649e44 RankingWindow::GetRuntimeTypeInfo +80649e50 RankingRuler::GetRuntimeTypeInfo +80649e5c RankingItemStranger::GetRuntimeTypeInfo +80649e68 RankingItemSelectable::GetRuntimeTypeInfo +80649e74 RankingItem::GetRuntimeTypeInfo +80649e80 TriggerPtmf +80649eb0 0x80649eb0 +80649f04 0x80649f04 +80649f44 0x80649f44 +80649fa0 0x80649fa0 +80649fb0 0x80649fb0 +8064a198 GLMeshWriterCore_ColourPlat +8064a1b8 0x8064a1b8 +8064a204 0x8064a204 +8064a4a4 0x8064a4a4 +8064a4c0 0x8064a4c0 +8064a530 0x8064a530 +8064a784 0x8064a784 +8064a804 0x8064a804 +8064a874 0x8064a874 +8064a964 0x8064a964 +8064a9ac 0x8064a9ac +8064aa4c 0x8064aa4c +8064aaec 0x8064aaec +8064ab38 0x8064ab38 +8064ab98 0x8064ab98 +8064adc0 0x8064adc0 +8064b064 0x8064b064 +8064b0e8 0x8064b0e8 +8064b134 0x8064b134 +8064b194 0x8064b194 +8064b344 0x8064b344 +8064b3b4 0x8064b3b4 +8064b438 0x8064b438 +8064b4ac 0x8064b4ac +8064b52c 0x8064b52c +8064b6c4 Page::EndExitState +8064b6c8 0x8064b6c8 +8064b6cc 0x8064b6cc +8064bce8 0x8064bce8 +8064c000 0x8064c000 +8064c004 0x8064c004 +8064c00c 0x8064c00c +8064c014 0x8064c014 +8064c01c 0x8064c01c +8064c024 0x8064c024 +8064c02c 0x8064c02c +8064c034 0x8064c034 +8064c03c 0x8064c03c +8064c044 0x8064c044 +8064c10c 0x8064c10c +8064c1b4 0x8064c1b4 +8064c1c0 TriggerPtmf +8064c1f0 0x8064c1f0 +8064c204 Pages::ESRBNotice::__ct +8064c250 Pages::ESRBNotice::__dt +8064c2c4 Pages::ESRBNotice::OnInit +8064c368 Pages::ESRBNotice::AfterControlUpdate +8064c3d8 Pages::Suggest60Hz::__ct +8064c424 Pages::Suggest60Hz::__dt +8064c498 Pages::Suggest60Hz::OnInit +8064c540 Pages::Suggest60Hz::OnActivate +8064c58c Pages::Suggest60Hz::AfterControl +8064c644 Pages::Suggest60Hz::IsHomeMenuWorking +8064c64c Pages::Suggest60Hz::GetRuntimeTypeInfo +8064c658 Pages::ESRBNotice::IsHomeMenuWorking +8064c660 Pages::ESRBNotice::GetRuntimeTypeInfo +8064c66c NoticePages_cpp_sinit_ +8064c688 SystemBMGHolder::__ct +8064c6b8 SystemBMGHolder::__dt +8064c710 SystemBMGHolder::Init +8064c754 0x8064c754 +8064c78c 0x8064c78c +8064c798 0x8064c798 +8064c7d4 0x8064c7d4 +8064c82c 0x8064c82c +8064c8cc 0x8064c8cc +8064c904 0x8064c904 +8064c93c 0x8064c93c +8064c974 WifiAwardResultItem::GetClassName +8064c984 WifiAwardResultItem::__ct +8064c9c0 WifiAwardResultItem::__dt +8064ca18 WifiAwardResultItem::Load +8064cb90 WifiAwardResultItem::InitSelf +8064cbc8 0x8064cbc8 +8064cf70 Pages::WiFiVSResults::__ct +8064d034 Pages::WiFiVSResults::__dt +8064d0d0 Pages::WiFiVSResults::OnInit +8064d404 Pages::WiFiVSResults::OnActivate +8064d4f0 Pages::WiFiVSResults::BeforeEntranceAnimations +8064d504 Pages::WiFiVSResults::AfterEntranceAnimations +8064d55c Pages::WiFiVSResults::BeforeExitAnimations +8064d570 Pages::WiFiVSResults::AfterControlUpdate +8064d5a8 Pages::WiFiVSResults::OnClick +8064d5b4 0x8064d5b4 +8064d620 0x8064d620 +8064d748 0x8064d748 +8064d988 0x8064d988 +8064daf8 Pages::WiFiVSResults::GetNextPage +8064db00 Pages::WiFiVSResults::GetRuntimeTypeInfo +8064db0c WifiAwardResultItem::GetRuntimeTypeInfo +8064db18 0x8064db18 +8064db24 TriggerPtmf +8064db54 WiFiVSResults_cpp_sinit_ +8064db7c Pages::VR::__ct +8064dc68 Pages::VR::__dt +8064dd14 Pages::VR::OnInit +8064ddf8 Pages::VR::OnInit_switch +8064ddfc Pages::VR::OnInit_case58 +8064de10 Pages::VR::OnInit_case59 +8064de20 Pages::VR::OnInit_case5a +8064dfd4 Pages::VR::OnActivate +8064e090 Pages::VR::OnActivate_switch +8064e094 Pages::VR::OnActivate_case58 +8064e09c Pages::VR::OnActivate_case59 +8064e0a0 Pages::VR::OnActivate_case5a +8064e24c Pages::VR::AfterControlUpdate +8064e290 Pages::VR::FillVRControl +8064e5f4 Pages::VR::OnButtonClick +8064e630 Pages::VR::GetRuntimeTypeInfo +8064e63c TriggerPtmf +8064e66c CountDownTimerPage_cpp_sinit_ +8064e680 WipeControl::GetClassName +8064e68c WipeControl::__ct +8064e6c8 WipeControl::__dt +8064e720 WipeControl::Load +8064e7d4 WipeControl::InitSelf +8064e80c WipeControl::OnUpdate +8064e900 Pages::Wipe::__ct +8064e96c Pages::Wipe::__dt +8064e9f8 Pages::Wipe::OnInit +8064ed44 Pages::Wipe::GetRuntimeTypeInfo +8064ed50 WipeControl::GetRuntimeTypeInfo +8064ed5c WipePagecpp_sinit_ +8064ed80 RKNet::PacketMgr::CreateInstance +8064edfc RKNet::PacketMgr::DestroyInstance +8064ee50 RKNet::PacketMgr::Reset +8064f2a0 RKNet::PacketMgr::Update +8064f4d8 RKNet::PacketMgr::ExportRacedata +8064f634 RKNet::PacketMgr::GetRacedata +8064f780 RKNet::PacketMgr::ExportRH2 +8064f830 RKNet::PacketMgr::GetRH2 +8064f88c RKNet::PacketMgr::ClearSentRacedata +8064f8f0 RKNet::PacketMgr::ClearSentRH2 +8064f954 RKNet::PacketMgr::ProcessPlayerDC +8064f96c RKNet::PacketMgr::__ct +8064f9c4 0x8064f9c4 +8064fa04 0x8064fa04 +8064fa44 RKNet::PacketMgr::__dt +8064fa9c RKNet::PacketMgr::UpdateAsSpectator +8064fbb0 RKNet::PacketMgr::EveryoneIsConnected +8064fcc8 RKNet::PacketMgr::UpdateAsRacer +80650020 RKNet::PacketMgr::GetPlayerRH1Timer +806500e0 RKNet::PacketMgr::GetPlayerLagFrames +80650154 RKNet::PacketMgr::GetMaxRH1Timer +80650294 RKNet::PacketMgr::SetITEMItem +806502ac RKNet::PacketMgr::IsITEMItemNew +806502b8 RKNet::PacketMgr::GetITEMStoredItem +806502c4 RKNet::PacketMgr::AddEVENTEntry +806502d0 RKNet::PacketMgr::HasFreeEVENTEntries +80650388 RKNet::PacketMgr::GetEVENTFreeDataSpace +80650398 RKNet::PacketMgr::IsPlayerConnected +80650420 RKNet::PacketMgr::IsPlayerLocal +80650490 RKNet::PacketMgr::GetHudSlotId +806504fc RKNet::PacketMgr::UpdateRaceinfoConnectionStatus +806505ac 0x806505ac +80650678 RKNet::PacketMgr::ProcessLagFrames +80650880 RKNet::PacketMgr::CreateRH1AndExportRH1andUSERandRacedata +80650cdc RKNet::PacketMgr::CreateAndExportRH1andUSER +80651018 RKNet::PacketMgr::ProcessReceived +806512c4 RKNet::PacketMgr::UpdateAidsBitfield +806513b0 0x806513b0 +806513c4 0x806513c4 +806513d0 0x806513d0 +80651564 0x80651564 +80651568 0x80651568 +8065168c 0x8065168c +80651694 0x80651694 +8065169c RKNet::Controller::CreateInstance +80651724 RKNet::Controller::DestroyInstance +80651788 RKNet::Controller::Init +80651d20 RKNet::Controller::ScheduleShutdown +80651d2c RKNet::Controller::StartSearchWW +80651de8 RKNet::Controller::StartSearchRegion +80651ea4 RKNet::Controller::StartSearchBTWW +80651f60 RKNet::Controller::StartSearchBTRegional +8065201c RKNet::Controller::JoinFriend +8065214c 0x8065214c +8065227c RKNet::Controller::JoinRoom +80652350 RKNet::Controller::StartRoom +80652410 RKNet::Controller::ResetRH1andROOM +80652468 0x80652468 +80652480 0x80652480 +80652498 0x80652498 +8065252c RKNet::Controller::GetErrorParams +806525a8 RKNet::Controller::ResetErrorParams +80652604 RKNet::Controller::GetSubTickDiff +80652664 RKNet::Controller::UpdateServersAsyncAlt +806526bc RKNet::Controller::UpdateServersAsync +806526e4 RKNet::Controller::UpdateFriendsStatus +80652818 RKNet::Controller::SetFriendsAddedBack +806528e4 RKNet::Controller::SetFriendDeleted +80652914 RKNet::Controller::CanExchangeFriendData +806529bc RKNet::Controller::IsIdle +806529e8 0x806529e8 +80652a78 RKNet::Controller::IsConnectedToAnyone +80652ab8 RKNet::Controller::ClearSplitSendRACEPointers +80652b70 RKNet::Controller::SetConnectionStateToFailed +80652b7c RKNet::Controller::__ct +80652f54 RKNet::FriendManager::__dt +80652f94 RKNet::Controller::__dt +80653078 RKNet::Controller::MainNetworkLoop +8065307c RKNet::Controller::MainLoop +806535e8 RKNet::Controller::SendPacketsAndUpdateUSER +80653628 RKNet::Controller::CombineSplitSendPackets +806539a8 RKNet::Controller::TrySendNextRACEPacket +80653b5c RKNet::Controller::SendAidNextRACEPacket +80653c3c RKNet::Controller::GetSplitSendPacketsTotalSize +80653cb8 RKNet::Controller::SetConnectionState +80653cc0 RKNet::Controller::GetConnectionState +80653d44 RKNet::Controller::HandleError +80653ea4 RKNet::Controller::Alloc +80653f2c RKNet::Controller::Free +80653f90 RKNet::Controller::SOAlloc +80654010 RKNet::Controller::SOFree +80654078 RKNet::Controller::DWCAlloc +80654104 RKNet::Controller::DWCFree +8065416c RKNet::Controller::UserRecvCallback +8065418c RKNet::Controller::LoginCallback +80654290 RKNet::Controller::MatchedSCCallback +806542e0 RKNet::Controller::ConnectionAttemptCallback +8065439c RKNet::Controller::ConnectionClosedCallback +80654450 RKNet::Controller::UpdateServerCallback +80654474 RKNet::Controller::UpdateServerCallbackAlt +80654490 RKNet::Controller::FriendStatusChangeCallback +80654494 RKNet::Controller::BuddyFriendCallback +806544a0 RKNet::Controller::SetDWCRecvBuffers +80654508 RKNet::Controller::ProcessPlayerDisconnect +80654714 RKNet::Controller::ConnectToWFC +806548b4 RKNet::Controller::InitSubs +80654958 RKNet::Controller::UpdateSubsAndVR +80654af8 RKNet::Controller::ResetFriendArray +80654bbc RKNet::Controller::StartMatching +80654ce8 RKNet::Controller::ConnectToAnybodyAsync +80655130 RKNet::Controller::SetupGameServer +80655194 0x80655194 +806551f8 RKNet::Controller::ConnectToGameServerFromGroupId +8065543c 0x8065543c +806555b4 RKNet::Controller::CalcRACEPacketCRC32 +806555fc RKNet::Controller::ProcessRACEPacket +80655738 RKNet::Controller::UpdateAidsBelongingToPlayerIds +80655898 RKNet::Controller::ResetAidsBelongingToPlayerIds +806558d0 RKNet::Controller::GetLocalPlayerId +80655b1c RKNet::Controller::GetFriendsSearchType +80655c2c RKNet::Controller::UpdateStatusDatas +80655dc4 RKNet::PacketHolder::__ct +80655e24 RKNet::PacketHolder::__dt +80655e84 RKNet::PacketHolder::Clear +80655ec4 RKNet::PacketHolder::Copy +80655f04 RKNet::PacketHolder::Append +80655f54 RKNet::SplitRACEPointers::__ct +80655fec RKNet::SplitRACEPointers::__dt +80656070 RKNet::RatingRangeMaker::Init +80656158 RKNet::RatingRangeMaker::GetLowerRange +806561c4 RKNet::RatingRangeMaker::GetUpperRange +8065622c 0x8065622c +806562e0 RKNet::RatingRangeMaker::GetRatingGroup +8065644c RKNet::GPReverseBuddiesListCallback +806564ec RKNet::SetGPError +80656600 RKNet::ROOMHandler::CreateInstance +806566c4 RKNet::ROOMHandler::DestroyInstance +80656704 RKNet::ROOMHandler::Init +8065680c RKNet::ROOMHandler::Reset +80656890 RKNet::ROOMHandler::Update +806569e8 RKNet::ROOMHandler::SetAllToSendPackets +80656adc RKNet::ROOMHandler::GetRecvPacket +80656aec RKNet::ROOMHandler::SetToSendPacket +80656afc RKNet::ROOMHandler::__ct +80656b80 RKNet::ROOMHandler::__dt +80656bc0 RKNet::ROOMHandler::ExportROOMandUSER +80656d0c RKNet::ROOMHandler::ImportNewPackets +80656dd8 RKNet::ROOMHandler::ResetAllPackets +80656e58 RKNet::ROOMHandler::InitPacket +80656e64 RKNet::ROOMHandler::ClearToSendPacket +80656e78 RKNet::ROOMHandler::ClearRecvPacket +80656e8c RKNet::ROOMHandler::SetToSendPacket2 +80656e9c RKNet::ROOMHandler::SetRecvPacket +80656eac RKNet::ROOMHandler::GetToSendPacketPtr +80656ebc RKNet::ROOMHandler::GetRecvPacketPtr +80656ecc RKNet::EVENTHandler::CreateInstance +80656fe4 RKNet::EVENTHandler::DestroyInstance +80657024 RKNet::EVENTHandler::__ct +80657110 0x80657110 +80657114 RKNet::EVENTHandler::Update +80657164 RKNet::EVENTHandler::AddEntry +8065737c RKNet::EVENTHandler::Reset +80657470 RKNet::EVENTHandler::__dt +806574b0 RKNet::EVENTHandler::FreeExpiredSendEntries +80657578 RKNet::EVENTHandler::ExportSendEntries +806576c8 RKNet::EVENTHandler::ImportReceivedEntries +80657824 RKNet::EVENTHandler::ProcessReceivedEntries +80657a30 RKNet::EVENTHandler::ResetEntry +80657a5c RKNet::EVENTHandler::GetEventType +80657a94 RKNet::EVENTHandler::SetEntryItemAndActionFromType +80657aa8 RKNet::EVENTHandler::ProcessEntry +80657ad0 0x80657ad0 +80657bf0 0x80657bf0 +80657f10 0x80657f10 +80657f50 RKNet::SELECTHandler::CreateInstance +80658024 RKNet::SELECTHandler::DestroyInstance +80658068 RKNet::SELECTHandler::InitPackets +806583bc 0x806583bc +806583c0 RKNet::SELECTHandler::Update +806584f8 RKNet::SELECTHandler::GetWinningVoter +80658514 RKNet::SELECTHandler::GetWinningCourse +80658534 RKNet::SELECTHandler::GetOwnSelectId +80658550 RKNet::SELECTHandler::GetEngineClass +8065856c RKNet::SELECTHandler::GetBattleType +80658590 RKNet::SELECTHandler::GetOwnPlayerIdToAid +80658598 RKNet::SELECTHandler::GetCharacterId +806585e8 RKNet::SELECTHandler::GetKartId +80658638 RKNet::SELECTHandler::GetCourseVote +80658688 RKNet::SELECTHandler::GetPlayerData +806586d0 RKNet::SELECTHandler::GetStarRank +80658718 RKNet::SELECTHandler::GetTeam +80658750 RKNet::SELECTHandler::HasUnprocessedPackets +806587d4 RKNet::SELECTHandler::IsPrepared +80658814 RKNet::SELECTHandler::SetPlayerData +80658830 RKNet::SELECTHandler::__ct +806588b8 RKNet::SELECTHandler::__dt +80658978 RKNet::SELECTHandler::ResetSendPacket +80658ac4 RKNet::SELECTHandler::ResetReceivedPackets +80658bb8 RKNet::SELECTHandler::ResetPacket +80658c94 RKNet::SELECTHandler::ResetPlayerData +80658d00 RKNet::SELECTHandler::HandleReceivedPacketTimes +80658df0 RKNet::SELECTHandler::IsBattle +80658e04 RKNet::SELECTHandler::IsTrackDecided +80658e20 RKNet::SELECTHandler::EveryoneHasAccurateRaceSettings +80658e90 RKNet::SELECTHandler::EveryoneHasVoted +80658f00 RKNet::SELECTHandler::EveryoneHasAccurateAidPidMap +80658f74 RKNet::SELECTHandler::ClearRH1ReceivedBuffers +80658fe0 RKNet::SELECTHandler::PrepareAndExportSELECTandUSER +8065913c RKNet::SELECTHandler::ImportNewPackets +8065934c RKNet::SELECTHandler::PrepareAndExportPacket +80659574 RKNet::SELECTHandler::ProcessNewPacketVoting +806599f8 RKNet::SELECTHandler::DecideBattleTypeAndTeams +80659ad8 RKNet::SELECTHandler::GenerateOwnSELECTId +80659b20 RKNet::SELECTHandler::DecideEngineClass +80659dac RKNet::SELECTHandler::DecideTrack +8065a0f8 RKNet::SELECTHandler::AllocatePlayerIdsToAids +8065a2a0 RKNet::SELECTHandler::HasMatchingPlayerIdToAid +8065a354 RKNet::SELECTHandler::DecidePublicTeams +8065a64c RKNet::SELECTHandler::DecidePrivateTeams +8065a83c RKNet::FriendMgr::CreateInstance +8065a964 RKNet::FriendMgr::DestroyInstance +8065a9a4 RKNet::FriendMgr::ReadDataFromRKSYS +8065aaec RKNet::FriendMgr::Update +8065ac50 RKNet::FriendMgr::CreateAccUserData +8065ac58 RKNet::FriendMgr::CheckAccUserData +8065ac88 RKNet::FriendMgr::IsAccUserDataDirt +8065acb8 RKNet::FriendMgr::ClearAccUserDataDirtyFlag +8065acc0 RKNet::FriendMgr::CreateFriendCode +8065acec RKNet::FriendMgr::SetCodesForUnusedIdxs +8065adf4 RKNet::FriendMgr::IsAvailable +8065ae04 RKNet::FriendMgr::IsBuddyFriend +8065ae3c RKNet::FriendMgr::IsValidFriend +8065ae6c RKNet::FriendMgr::CheckFriendCode +8065aea4 RKNet::FriendMgr::GetFriendIdx +8065af1c RKNet::FriendMgr::GetFriendCodeLicenseIdx +8065afc0 RKNet::FriendMgr::GetLicenseFriendCode +8065afe8 RKNet::FriendMgr::GetFirstFreeFriendIdx +8065b048 RKNet::FriendMgr::__ct +8065b14c RKNet::RH1Handler::CreateInstance +8065b2e0 RKNet::RH1Handler::DestroyInstance +8065b324 RKNet::RH1Handler::Activate +8065b330 RKNet::RH1Handler::Reset +8065b47c RKNet::RH1Handler::Update +8065b7b4 RKNet::RH1Handler::Reset +8065b858 RKNet::RH1Handler::HasValidCourse +8065ba68 RKNet::RH1Handler::GetKart +8065ba80 RKNet::RH1Handler::GetCharacter +8065ba98 0x8065ba98 +8065bbf4 RKNet::RH1Handler::GetStarRank +8065bc08 RKNet::RH1Handler::GetValidCourse +8065bd70 0x8065bd70 +8065be78 RKNet::RH1Handler::GetPlayerCount +8065bfec RKNet::RH1Handler::GetSELECTId +8065c0e4 RKNet::RH1Handler::GetEngineClass +8065c1dc RKNet::RH1Handler::GetAidsBelongingToPlayer +8065c2d4 0x8065c2d4 +8065c444 RKNet::RH1Handler::__dt +8065c5a8 0x8065c5a8 +8065c6a0 0x8065c6a0 +8065c714 0x8065c714 +8065c85c RKNet::RH1Handler::ImportNewPackets +8065c9dc 0x8065c9dc +8065ca70 RKNet::RH1Handler::ExportDefaultPacket +8065cb28 RKNet::RH1Handler::ExportDefaultPacket2 +8065cbe0 0x8065cbe0 +8065cc44 0x8065cc44 +8065cc98 0x8065cc98 +8065cd74 RKNet::ITEMHandler::CreateInstance +8065cff0 RKNet::ITEMHandler::DestroyInstance +8065d030 RKNet::ITEMHandler::__ct +8065d26c 0x8065d26c +8065d270 RKNet::ITEMHandler::Update +8065d348 RKNet::ITEMHandler::SetItem +8065d3d4 RKNet::ITEMHandler::RemoveItem +8065d468 RKNet::ITEMHandler::OnRouletteEnd +8065d554 0x8065d554 +8065d6ec 0x8065d6ec +8065d8b4 0x8065d8b4 +8065da7c RKNet::ITEMHandler::GetModeRelatedInt +8065db48 0x8065db48 +8065dc4c RKNet::ITEMHandler::SetItemAndMode +8065dca8 0x8065dca8 +8065dd68 RKNet::ITEMHandler::SetDraggedItemAndMode +8065ddc4 0x8065ddc4 +8065dea4 RKNet::ITEMHandler::GetStoredItem +8065df38 RKNet::ITEMHandler::GetDraggedItem +8065dfec RKNet::ITEMHandler::GetStoredItemMode +8065e080 RKNet::ITEMHandler::GetDraggedItemMode +8065e134 RKNet::ITEMHandler::GetTimer +8065e1e4 RKNet::ITEMHandler::IsPlayerConnected +8065e1f0 RKNet::ITEMHandler::IsItemNew +8065e290 RKNet::ITEMHandler::IsDraggingItem +8065e36c RKNet::ITEMHandler::HasStartedDraggingItem +8065e678 0x8065e678 +8065e8b4 RKNet::ITEMHandler::__dt +8065e8f4 RKNet::ITEMHandler::ExportSendPackets +8065e9c4 RKNet::ITEMHandler::ImportNewPackets +8065ed28 RKNet::ITEMHandler::UpdateItemStatusAndSums +8065f2cc RKNet::ITEMHandler::AcknowledgeAid +8065f530 RKNet::ITEMHandler::UpdateLocalPlayersItems +8065f5c0 RKNet::ITEMHandler::UpdateStoredItem +8065f9fc RKNet::ITEMHandler::UpdateDraggedItem +8065fcf0 RKNet::ITEMHandler::UpdateLocalPlayers +80660364 RKNet::ItemHandler::GetStoredItemCount +80660654 0x80660654 +80660694 RKNet::USERHandler::CreateInstance +80660714 RKNet::USERHandler::DestroyInstance +80660768 RKNet::USERHandler::Prepare +80660860 RKNet::USERHandler::Reset +806608dc RKNet::USERHandler::Update +806609d8 RKNet::USERHandler::CopySendToPacketHolder +80660a1c RKNet::USERHandler::ProcessPlayerDisconnect +80660b08 0x80660b08 +80660b74 0x80660b74 +80660b84 0x80660b84 +80660ba4 0x80660ba4 +80660c3c 0x80660c3c +80660c9c RKNet::USERHandler::SetSendVR +80660ce0 RKNet::USERHandler::SetSendBR +80660d24 RKNet::USERHandler::__ct +80660d80 RKNet::USERHandler::__dt +80660dd8 RKNet::USERHandler::ImportNewPackets +80660ed4 0x80660ed4 +80660f28 RKNet::USERHandler::CreateSendPacket +806610b0 ServerMgr::__dt +806611f8 0x806611f8 +80661254 ServerMgr::DestroyInstance +80661350 ServerMgr::CreateInstance +806613b4 ServerMgr::__ct +8066154c 0x8066154c +80661570 0x80661570 +806615b0 0x806615b0 +80661618 0x80661618 +8066171c 0x8066171c +806617e8 0x806617e8 +806617fc 0x806617fc +80661840 ServerMgr::GetServerState +80661848 ServerMgr::GetState +80661850 0x80661850 +8066186c 0x8066186c +80661878 ServerMgr::GetError +80661880 ServerMgr::CountFriendsToInviteViaMsgBoard +80661994 0x80661994 +8066199c 0x8066199c +806619a4 0x806619a4 +80661b00 ServerMgr::Update +80661b40 ServerMgr::Update_switch +80661b44 ServerMgr::Update_caseD_1 +80661b68 ServerMgr::Update_caseD_8 +80661b70 ServerMgr::Update_caseD_16 +80661b78 ServerMgr::Update_caseD_9 +80661c90 ServerMgr::Update_caseD_3 +80661fbc ServerMgr::Update_caseD_0 +80661fd0 0x80661fd0 +806620f4 0x806620f4 +80662510 0x80662510 +80662550 0x80662550 +80662590 BundleSortProc +806625a0 0x806625a0 +806625a8 0x806625a8 +80662684 0x80662684 +80662688 0x80662688 +806626f8 0x806626f8 +806628ec 0x806628ec +806629b4 0x806629b4 +80662a74 0x80662a74 +80662c40 0x80662c40 +80662cdc 0x80662cdc +80663058 0x80663058 +80663310 0x80663310 +80663374 0x80663374 +806635c4 0x806635c4 +80663638 0x80663638 +80663848 0x80663848 +80663b6c 0x80663b6c +80663cb4 0x80663cb4 +80663d58 ServerMgr::GetRKG +80663e8c 0x80663e8c +806640e8 0x806640e8 +80664154 0x80664154 +8066455c 0x8066455c +80664650 0x80664650 +80664678 0x80664678 +80664908 0x80664908 +80664a18 ServerMgr::CheckNWC24Available +80664a24 0x80664a24 +80664b84 0x80664b84 +80664c2c 0x80664c2c +80664cbc 0x80664cbc +80664d58 0x80664d58 +80664dc4 ServerMgr::HasCourseNewFriendRecord +80664eb4 0x80664eb4 +80664f08 0x80664f08 +80665094 0x80665094 +80665110 0x80665110 +80665174 ServerMgr::GetCompetitionInfo +806652a0 0x806652a0 +806652f0 0x806652f0 +80665300 0x80665300 +806653cc ServerMgr::GetSpecialGhostInfo +806653e8 0x806653e8 +80665468 0x80665468 +80665bf8 0x80665bf8 +80665f04 0x80665f04 +80665fd0 0x80665fd0 +80666090 0x80666090 +8066636c 0x8066636c +80666458 0x80666458 +806665e4 0x806665e4 +80666630 0x80666630 +806668e4 0x806668e4 +806669fc 0x806669fc +80666bf8 0x80666bf8 +80666d4c 0x80666d4c +80666ef0 0x80666ef0 +806670e0 0x806670e0 +806671ac 0x806671ac +8066731c 0x8066731c +806673f8 0x806673f8 +806674c8 0x806674c8 +80667750 0x80667750 +80667800 0x80667800 +80667968 0x80667968 +80667a08 0x80667a08 +80667b60 0x80667b60 +80667d48 0x80667d48 +80667e2c 0x80667e2c +80668158 0x80668158 +806682e4 0x806682e4 +80668464 0x80668464 +806686a8 0x806686a8 +80668840 0x80668840 +80668ae4 0x80668ae4 +80668f48 0x80668f48 +806694a4 0x806694a4 +8066989c 0x8066989c +80669aa8 0x80669aa8 +80669bb0 0x80669bb0 +80669c2c 0x80669c2c +80669cdc 0x80669cdc +80669e24 0x80669e24 +80669ea8 0x80669ea8 +8066a00c 0x8066a00c +8066a0e4 0x8066a0e4 +8066a3e8 0x8066a3e8 +8066a518 ServerMgr::PublishMsgBoardAsync +8066a694 ServerMgr::PublishMsgBoard +8066a96c ServerMgr::InitCHJObj +8066abc0 0x8066abc0 +8066abd8 0x8066abd8 +8066abec ServerMgr::RequestMsgBoardPublish +8066ad3c 0x8066ad3c +8066aebc 0x8066aebc +8066af28 0x8066af28 +8066b0dc 0x8066b0dc +8066b29c 0x8066b29c +8066b3d8 0x8066b3d8 +8066b564 0x8066b564 +8066b6b0 0x8066b6b0 +8066b980 0x8066b980 +8066ba0c 0x8066ba0c +8066bab4 0x8066bab4 +8066bb64 0x8066bb64 +8066be04 0x8066be04 +8066c16c 0x8066c16c +8066c2dc 0x8066c2dc +8066c338 0x8066c338 +8066c488 0x8066c488 +8066c5d8 0x8066c5d8 +8066c728 0x8066c728 +8066c89c 0x8066c89c +8066c9f0 0x8066c9f0 +8066cb70 0x8066cb70 +8066cdb4 0x8066cdb4 +8066cef4 0x8066cef4 +8066d030 0x8066d030 +8066d0c8 0x8066d0c8 +8066d1f8 0x8066d1f8 +8066d2d4 0x8066d2d4 +8066d380 0x8066d380 +8066d3fc 0x8066d3fc +8066d468 0x8066d468 +8066d4d4 0x8066d4d4 +8066d524 0x8066d524 +8066d66c 0x8066d66c +8066d7a4 0x8066d7a4 +8066d918 0x8066d918 +8066d98c 0x8066d98c +8066d9c8 ServerMgr::CreateRKGFromRKG +8066dacc ServerMgr::CheckGhostDataValidity +8066dba0 0x8066dba0 +8066dc20 0x8066dc20 +8066dc28 0x8066dc28 +8066dce0 0x8066dce0 +8066dcf0 0x8066dcf0 +8066ddc8 0x8066ddc8 +8066dec0 0x8066dec0 +8066df28 0x8066df28 +8066df40 0x8066df40 +8066df64 0x8066df64 +8066df6c 0x8066df6c +8066dfc0 0x8066dfc0 +8066e0e4 0x8066e0e4 +8066e370 0x8066e370 +8066e41c 0x8066e41c +8066e6e4 0x8066e6e4 +8066e808 0x8066e808 +8066e96c 0x8066e96c +8066e978 0x8066e978 +8066e9cc 0x8066e9cc +8066ea20 0x8066ea20 +8066ea64 0x8066ea64 +8066ea6c 0x8066ea6c +8066eabc 0x8066eabc +8066eac4 0x8066eac4 +8066eae4 0x8066eae4 +8066eb24 0x8066eb24 +8066eb70 0x8066eb70 +8066ec80 0x8066ec80 +8066ecd8 0x8066ecd8 +8066ede4 0x8066ede4 +8066ef50 0x8066ef50 +8066f0fc 0x8066f0fc +8066f108 0x8066f108 +8066f1a0 0x8066f1a0 +8066f20c 0x8066f20c +8066f218 0x8066f218 +8066f22c 0x8066f22c +8066fa68 0x8066fa68 +8066fa94 0x8066fa94 +8066fab8 0x8066fab8 +8066fac4 0x8066fac4 +8066facc 0x8066facc +8066fad4 0x8066fad4 +8066fadc 0x8066fadc +8066fc1c 0x8066fc1c +8066fc64 0x8066fc64 +8066fce0 0x8066fce0 +8066fe80 0x8066fe80 +8066ff4c 0x8066ff4c +8066fff4 0x8066fff4 +8067011c 0x8067011c +806701a8 0x806701a8 +8067022c 0x8067022c +80670328 0x80670328 +80670400 0x80670400 +80670490 0x80670490 +80670584 0x80670584 +8067061c 0x8067061c +80670700 0x80670700 +80670800 0x80670800 +8067084c 0x8067084c +806708f8 0x806708f8 +80670a78 0x80670a78 +80670b34 0x80670b34 +80670bb4 0x80670bb4 +80670c20 0x80670c20 +80670c84 0x80670c84 +80670c98 0x80670c98 +80670d40 0x80670d40 +80670e28 0x80670e28 +80670ec4 0x80670ec4 +80670edc 0x80670edc +80670f08 0x80670f08 +80670f14 0x80670f14 +80670f1c 0x80670f1c +80670fdc 0x80670fdc +806710e8 0x806710e8 +806710ec 0x806710ec +80671250 0x80671250 +806712c4 0x806712c4 +80671348 0x80671348 +80671414 0x80671414 +80671730 0x80671730 +806717e8 0x806717e8 +80671868 0x80671868 +806718c0 0x806718c0 +80671908 0x80671908 +80671918 0x80671918 +80671af0 0x80671af0 +80671ca8 0x80671ca8 +80672030 0x80672030 +806721f4 0x806721f4 +8067247c 0x8067247c +80672640 0x80672640 +80672824 0x80672824 +80672a08 0x80672a08 +80672b14 0x80672b14 +80672d38 0x80672d38 +80672e44 0x80672e44 +80673188 0x80673188 +806732b0 0x806732b0 +80673350 0x80673350 +806734dc 0x806734dc +8067356c 0x8067356c +806735bc 0x806735bc +806735e8 0x806735e8 +80673600 0x80673600 +8067367c 0x8067367c +8067369c 0x8067369c +806736e0 0x806736e0 +80673748 0x80673748 +806737bc 0x806737bc +80673844 Page::EndExitState +80673848 0x80673848 +8067384c 0x8067384c +80673874 0x80673874 +8067388c 0x8067388c +80673c3c 0x80673c3c +80673d30 0x80673d30 +80673dcc 0x80673dcc +80673ed8 0x80673ed8 +80674058 0x80674058 +8067421c 0x8067421c +80674234 0x80674234 +8067429c 0x8067429c +806742e4 0x806742e4 +806742f0 0x806742f0 +806742fc 0x806742fc +80674308 0x80674308 +80674338 0x80674338 +80674368 0x80674368 +80674398 0x80674398 +806743b8 0x806743b8 +806744d0 0x806744d0 +80674570 0x80674570 +806746fc 0x806746fc +80674750 0x80674750 +80674768 0x80674768 +806747e4 0x806747e4 +80674804 0x80674804 +80674814 0x80674814 +80674870 0x80674870 +806748e4 0x806748e4 +80674a38 0x80674a38 +80674a3c 0x80674a3c +80674b34 0x80674b34 +80674bcc 0x80674bcc +80674c3c 0x80674c3c +80674c9c 0x80674c9c +80674d34 0x80674d34 +80674d6c 0x80674d6c +80674da0 0x80674da0 +80674e84 0x80674e84 +80674ee4 0x80674ee4 +80674ef4 0x80674ef4 +80675104 0x80675104 +806751e8 0x806751e8 +806754c0 0x806754c0 +80675698 0x80675698 +8067569c 0x8067569c +806756a0 0x806756a0 +80675804 0x80675804 +806758fc 0x806758fc +80675a08 0x80675a08 +80675b10 0x80675b10 +80675b4c 0x80675b4c +80675b5c 0x80675b5c +80675b74 0x80675b74 +80675bc0 0x80675bc0 +80675c34 0x80675c34 +80675cc8 0x80675cc8 +80675cd0 0x80675cd0 +80675e04 Page::EndExitState +80675e08 0x80675e08 +80675e0c 0x80675e0c +80676144 0x80676144 +80676148 0x80676148 +80676150 0x80676150 +80676158 0x80676158 +80676160 0x80676160 +80676168 0x80676168 +80676170 0x80676170 +80676178 0x80676178 +80676180 0x80676180 +80676228 0x80676228 +80676310 0x80676310 +80676318 0x80676318 +80676324 0x80676324 +80676330 0x80676330 +8067633c 0x8067633c +80676348 0x80676348 +80676378 0x80676378 +806763a8 0x806763a8 +806763d8 0x806763d8 +80676408 0x80676408 +80676438 0x80676438 +80676464 0x80676464 +80676470 0x80676470 +80676478 0x80676478 +80676480 0x80676480 +80676494 0x80676494 +80676674 0x80676674 +80676774 thunk_0x801de348 +80676778 0x80676778 +806767bc 0x806767bc +80676824 0x80676824 +806768ac 0x806768ac +806768b4 0x806768b4 +806769b8 Page::EndExitState +806769bc 0x806769bc +806769c0 0x806769c0 +80676ca4 0x80676ca4 +80676ca8 0x80676ca8 +80676cb0 0x80676cb0 +80676cb8 0x80676cb8 +80676cc0 0x80676cc0 +80676cc8 0x80676cc8 +80676cd0 0x80676cd0 +80676cd8 0x80676cd8 +80676ce0 0x80676ce0 +80676d88 0x80676d88 +80676e70 Effects::Mgr::GetRuntimeTypeInfo +80676e7c EffectsMgrcpp_sinit_ +80676e90 Effects::MGWhiteFog::__ct +80676f00 Effects::MGWhiteFog::__dt +80676f40 Effects::MGWhiteFog::Update +80676fc0 Effects::MGWhiteFog::UpdateEffect +8067702c Effects::MGWhiteFog::Kill +80677040 Effects::Mgr::CreateInstance +806770f8 Effects::Mgr::Init +80677468 Effects::Mgr::Reset +8067766c Effects::Sub9d8::__dt +806776ac Effects::Mgr::LoadRaceEffects +8067806c Effects::Mgr::CreatePlayerEffects +806780f8 Effects::Mgr::CreateEffects::Items +80678138 Effects::Mgr::LoadObjectEffect +8067855c 0x8067855c +806785c4 Effects::Mgr::InitRace +80678700 Effects::Mgr::Update +8067879c 0x8067879c +80678818 Effects::Mgr::CalcPlayerEffects +806789bc Effects::Mgr::UpdatePlayersVisibility +80678aec Effects::Mgr::Draw +8067926c 0x8067926c +80679484 0x80679484 +806795cc Object::GetClipInfo +806795d4 Effects::Mgr::UpdatePlayerFromWheelCollision +806795f0 Effects::Mgr::UpdatePlayerFromKartCollision +80679620 Effects::Mgr::GetMenuEffectByIdx +80679628 Effects::Mgr::CalcEffect1 +80679648 Effects::Mgr::DrawEffect1 +8067966c Effects::Mgr::DrawSelfItem +8067981c 0x8067981c +80679838 Effects::Mgr::IsEveryoneLookingForwards +80679894 Effects::Mgr::IsMTOrPlayer0xF4 +806798d0 0x806798d0 +8067998c Effects::Sub9d8::Update +80679c34 0x80679c34 +80679da8 0x80679da8 +80679de8 dGeomEnable +80679df8 0x80679df8 +80679efc ObjectCollidable::__dt +80679f3c Object::__dt +80679f7c Objects::FlamePoleEff::OnStart +80679f88 Objects::FlamePoleEff::Update +8067a140 0x8067a140 +8067a1e8 0x8067a1e8 +8067a264 0x8067a264 +8067a26c Objects::FlamePole::__ct +8067a664 Vec3::EulerFromMatrix +8067a674 ObjectExternKCL::__dt +8067a6b4 ObjectKCL::__dt +8067a6f4 0x8067a6f4 +8067a758 Objects::FlamePole::__dt +8067a80c Objects::FlamePole::OnStart +8067aae8 Objects::FlamePole::OnUpdate +8067adb8 Objects::FlamePole::UpdateModelMatrix +8067ae54 0x8067ae54 +8067ae68 0x8067ae68 +8067ae6c Objects::FlamePole::CalcOtherEntityDistance +8067affc 0x8067affc +8067b0b0 0x8067b0b0 +8067b0bc 0x8067b0bc +8067b164 0x8067b164 +8067b17c 0x8067b17c +8067b1c8 0x8067b1c8 +8067b224 0x8067b224 +8067b228 0x8067b228 +8067b22c 0x8067b22c +8067b230 0x8067b230 +8067b340 0x8067b340 +8067b3dc 0x8067b3dc +8067b3e0 0x8067b3e0 +8067b45c 0x8067b45c +8067b604 0x8067b604 +8067b730 Objects::FlamePole::GetTransformationMatrix +8067b7c8 0x8067b7c8 +8067b96c 0x8067b96c +8067b994 Objects::FlamePole::UpdateOtherEntityPosWithRot +8067ba00 Objects::FlamePole::IsCollidingNoTriangleCheckImpl +8067bd90 0x8067bd90 +8067c120 ObjectEffect::__dt +8067c178 Object::DoCalcShadowMtx +8067c180 Object::vf_0xa8 +8067c188 Object::IsLodDisabled +8067c190 Object::GetEntity +8067c198 Object::vf_0x84 +8067c1a0 Object::GetShadowListIdx +8067c1a8 Object::UpdateShadowScale +8067c1d4 Object::UpdateModelScale +8067c244 Object::GetShadowResName +8067c24c Object::GetLowResourceName +8067c254 Object::GetSubFileName +8067c2a8 Object::GetBRRESName +8067c2fc Object::GetName +8067c350 do_nothing_7d8 +8067c354 do_nothing_7dc +8067c358 ObjectKCL::GetScnObjDrawOptionsIdx +8067c360 ObjectExternKCL::UpdateKCL +8067c368 ObjectExternKCL::IsCollidingNoTerrainInfo +8067c464 ObjectExternKCL::HasCurrentCollision +8067c46c ObjectExternKCL::vf_0x13c +8067c474 ObjectExternKCL::IsCollidingAddEntryNoTerrainInfo +8067c570 ObjectExternKCL::HasCollision +8067c578 ObjectExternKCL::IsDriveable +8067c580 ObjectExternKCL::vf_0xfc +8067c67c ObjectExternKCL::IsCollidingAddEntry +8067c68c ObjectExternKCL::IsCollidingNoTerrainInfo(no radius) +8067c744 ObjectExternKCL::IsCollidingAddEntryNoTerrainInfo(no radius) +8067c7fc ObjectExternKCL::vf_0xec +8067c8b4 ObjectExternKCL::IsCollidingAddEntry(no radius) +8067c96c ObjectExternKCL::IsCollidingNoTerrainInfoNoTriangleCheck +8067ca68 ObjectExternKCL::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +8067cb64 ObjectExternKCL::IsColliding +8067cc60 ObjectExternKCL::IsCollidingAddEntryNoTriangleCheck +8067cc70 ObjectExternKCL::vf_0xc0 +8067cd28 ObjectExternKCL::vf_0xc4 +8067cde0 ObjectExternKCL::vf_0xc8 +8067ce98 ObjectExternKCL::vf_0xcc +8067cf50 ObjectExternKCL::UpdateOtherEntityPos +8067cfa4 ObjectExternKCL::SetObjInfoCalcBit +8067cfb4 ObjectExternKCL::GetPeriod +8067cfc0 ObjectExternKCL::GetPosition +8067cfc8 ObjectExternKCL::UpdateDiffPosVector +8067cff4 ObjectExternKCL::vf_0xb4 +8067d008 ObjectExternKCL::UpdateCollision +8067d01c Objects::FlamePole::vf__0x11c +8067d028 Objects::FlamePole::vf_0x108 +8067d034 Objects::FlamePole::AreItemsAllowed +8067d03c Objects::FlamePole::GetCollisionDiameter +8067d080 Objects::FlamePole::LoadAnimations +8067d100 0x8067d100 +8067d108 Objects::FlamePole::GetPropertiesBitfield +8067d110 Object::GetPosition +8067d118 ObjectCollidable::GetCollisionDiameter +8067d230 ObjectCollidable::GetSolidityCenter +8067d250 ObjectCollidable::InitEntity +8067d2ac ObjectCollidable::IsSolid +8067d2b4 ObjectCollidable::GetCollisionTranslation +8067d2c0 ObjectCollidable::CheckCollision +8067d314 ObjectCollidable::OnCollision +8067d31c ObjectCollidable::OnItemCollision +8067d324 ObjectCollidable::GetScnObjDrawOptionsIdx +8067d32c Objects::FlamePoleEff::LoadAnimations +8067d384 Objects::FlamePoleEff::vf_0xec +8067d38c Objects::FlamePoleEff::GetBRRESName +8067d398 Objects::FlamePoleEff::GetPropertiesBitfield +8067d3a0 Objects::FlamePoleEff::__dt +8067d3e0 Objects::FlamePole::__dt(thunk) +8067d3e8 0x8067d3e8 +8067d4c8 0x8067d4c8 +8067d99c 0x8067d99c +8067da10 0x8067da10 +8067dcd8 0x8067dcd8 +8067e2b4 0x8067e2b4 +8067e460 ObjectKCL::vf_0x111c +8067e468 ObjectKCL::vf_0x1118 +8067e46c ObjectKCL::UpdateOtherEntityPos +8067e470 ObjectKCL::SetObjInfoCalcBit +8067e474 ObjectKCL::CalcOtherEntityDistance +8067e478 ObjectKCL::vf_0x108 +8067e484 ObjectKCL::AreItemsAllowed +8067e48c ObjectKCL::UpdateKCL +8067e490 ObjectKCL::GetCollisionDiameter +8067e49c ObjectKCL::InitCollision +8067e4a0 0x8067e4a0 +8067e4a4 0x8067e4a4 +8067e4a8 0x8067e4a8 +8067e4ac 0x8067e4ac +8067e4b0 0x8067e4b0 +8067e4b8 0x8067e4b8 +8067e4c0 0x8067e4c0 +8067e4c8 0x8067e4c8 +8067e4d0 0x8067e4d0 +8067e4d4 0x8067e4d4 +8067e4d8 0x8067e4d8 +8067e4dc 0x8067e4dc +8067e4e0 0x8067e4e0 +8067e4e8 0x8067e4e8 +8067e4f0 0x8067e4f0 +8067e4f8 0x8067e4f8 +8067e500 0x8067e500 +8067e504 0x8067e504 +8067e508 0x8067e508 +8067e50c 0x8067e50c +8067e510 0x8067e510 +8067e518 0x8067e518 +8067e558 0x8067e558 +8067f334 0x8067f334 +80680110 0x80680110 +80680eec 0x80680eec +80681cc8 0x80681cc8 +806820e8 0x806820e8 +80682500 0x80682500 +80682804 0x80682804 +80682afc 0x80682afc +80682cf4 0x80682cf4 +80682d58 0x80682d58 +80682e18 0x80682e18 +80682f34 0x80682f34 +806832e0 0x806832e0 +806832e4 0x806832e4 +806832e8 0x806832e8 +806832ec 0x806832ec +80683338 0x80683338 +80683378 0x80683378 +8068351c 0x8068351c +80683544 0x80683544 +806835a4 0x806835a4 +80683838 0x80683838 +806838d0 ObjectExternKCL::UpdateOtherEntityPosWithRot +806838d4 ObjectExternKCL::vf_0x108 +806838e0 ObjectExternKCL::AreItemsAllowed +806838e8 ObjectExternKCL::GetCollisionDiameter +80683928 ObjectExternKCL::GetYScale +80683930 0x80683930 +80683938 0x80683938 +80683984 0x80683984 +8068398c 0x8068398c +80683994 0x80683994 +8068399c obj_gnd_sphere::__ct +80683b7c 0x80683b7c +80683c20 0x80683c20 +80683e14 0x80683e14 +80683e18 0x80683e18 +80684024 0x80684024 +80684064 0x80684064 +8068432c 0x8068432c +80684388 0x80684388 +80684770 0x80684770 +80684814 0x80684814 +80684924 0x80684924 +806849d8 0x806849d8 +80684a28 0x80684a28 +80684a78 0x80684a78 +80684ac8 0x80684ac8 +80684b18 0x80684b18 +80684b68 0x80684b68 +80684bb8 0x80684bb8 +80684c08 0x80684c08 +80684c58 0x80684c58 +80684ca8 0x80684ca8 +80684e78 0x80684e78 +806855f0 0x806855f0 +806856fc 0x806856fc +80685700 0x80685700 +80685704 0x80685704 +80685708 0x80685708 +8068570c 0x8068570c +80685714 0x80685714 +8068571c 0x8068571c +80685724 0x80685724 +8068572c 0x8068572c +80685730 0x80685730 +80685734 0x80685734 +80685738 0x80685738 +8068573c 0x8068573c +80685744 0x80685744 +8068574c 0x8068574c +80685754 0x80685754 +8068575c 0x8068575c +80685760 0x80685760 +80685764 0x80685764 +80685768 0x80685768 +8068576c 0x8068576c +80685774 0x80685774 +80685904 0x80685904 +80685954 0x80685954 +806859a4 0x806859a4 +806859f4 0x806859f4 +80685a44 0x80685a44 +80685a94 0x80685a94 +80685ae4 0x80685ae4 +80685b34 0x80685b34 +80685b84 0x80685b84 +80685bd4 0x80685bd4 +80685db4 0x80685db4 +80685f44 0x80685f44 +80685f94 0x80685f94 +80685fe4 0x80685fe4 +80686034 0x80686034 +80686084 0x80686084 +806860d4 0x806860d4 +80686124 0x80686124 +80686174 0x80686174 +806861c4 0x806861c4 +80686214 0x80686214 +80686400 0x80686400 +8068658c 0x8068658c +806865dc 0x806865dc +8068662c 0x8068662c +8068667c 0x8068667c +806866cc 0x806866cc +8068671c 0x8068671c +8068676c 0x8068676c +806867bc 0x806867bc +8068680c 0x8068680c +8068685c 0x8068685c +80686b60 0x80686b60 +80686cec 0x80686cec +80686d3c 0x80686d3c +80686d8c 0x80686d8c +80686ddc 0x80686ddc +80686e2c 0x80686e2c +80686e7c 0x80686e7c +80686ecc 0x80686ecc +80686f1c 0x80686f1c +80686f6c 0x80686f6c +80686fbc 0x80686fbc +806872c8 0x806872c8 +8068733c 0x8068733c +806874f4 0x806874f4 +806874fc obj_gnd_wave1::__ct +806876e0 0x806876e0 +80687784 0x80687784 +80687940 0x80687940 +80687944 obj_gnd_wave2::__ct +80687b5c 0x80687b5c +80687c00 0x80687c00 +80687da8 0x80687da8 +80687dac 0x80687dac +80687fdc 0x80687fdc +80688080 0x80688080 +8068854c 0x8068854c +80688550 0x80688550 +80688730 0x80688730 +806887d4 0x806887d4 +80688a50 0x80688a50 +80688a54 Effects::Items::__ct +80688dac Effects::Items::__dt +80688dec Effects::Items::Init +80688df8 0x80688df8 +80688dfc Effects::Items::CreateKouraTailGEffect +80688e50 Effects::Items::CreateKouraTailREffect +80688ea4 Effects::Items::CreateKouraTailBEffect +80688ef8 0x80688ef8 +80688f20 0x80688f20 +80688f48 0x80688f48 +80688f68 Effects::Items::FadeKouraTailGEffect +80688f94 Effects::Items::FadeKouraTailREffect +80688fc0 Effects::Items::FadeKouraTailBEffect +80688fec Effects::Items::KillKouraTailGEffect +80689018 Effects::Items::KillKouraTailREffect +80689044 Effects::Items::KillKouraTailBEffect +80689070 Effects::Items::CreateKouraBrkGEffect +806890e8 Effects::Items::CreateKouraBrkREffect +80689160 Effects::Items::CreateItemVanEffect +80689180 Effects::Items::CreateBombHeiEffect +806892c0 Effects::Items::CreateHaneKouraEffect +806892fc Effects::Items::CreateBombHeiSparkEffect +80689394 Effects::Items:KillBombHeiEffect +806893c0 Effects::Items::CreateBananaEffect +806894cc 0x806894cc +80689560 Effects::Items::CreateKaminariGumoPreEffect +80689650 Effects::Items::KillKaminariGumoPreEffect +8068966c Effects::Items::CreateKaminariGumoVanEffect +80689704 Effects::Items::UpdateKaminariGumoVanEffect +80689880 Effects::Items::CreateKouraTailEffect +80689b0c 0x80689b0c +80689b10 Effects::Player::__ct +8068a3a8 Effects::Player::GetRacedata +8068a3b4 Effects::Player::GetCourseId +8068a3bc Effects::Player::Color::__ct +8068a3c0 Effects::Player::Color::__dt +8068a400 Effects::Player::__dt +8068a520 Effects::Player::Init +8068a5d0 Effects::Player::Reset +8068abbc Effects::Player::LoadEffects +8068c2f4 Effects::Player::LoadEffects_switch +8068c2f8 Effects::Player::LoadEffects_case0 +8068c3c4 Effects::Player::LoadEffects_case1 +8068c490 Effects::Player::LoadEffects_case2 +8068c55c Effects::Player::LoadEffects_case3 +8068c628 Effects::Player::LoadEffects_case4 +8068c6f4 Effects::Player::LoadEffects_case5 +8068c7c0 Effects::Player::LoadEffects_case6 +8068c88c Effects::Player::LoadEffects_case7 +8068c958 Effects::Player::LoadEffects_case8 +8068ca24 Effects::Player::LoadEffects_case9 +8068caf0 Effects::Player::LoadEffects_casea +8068cbbc Effects::Player::LoadEffects_caseb +8068f8d0 Effects::Player::Toggle +8068f8fc Effects::Player::Update +8068fa0c Effects::Player::UpdateValues +80690234 0x80690234 +80690884 Effects::Player::UpdateItemEffect +8069117c 0x8069117c +806911e4 0x806911e4 +80691430 0x80691430 +8069146c Effects::Player::KillEffects +80691720 Effects::Player::UpdateNonItemEffects +80692868 0x80692868 +80692a94 0x80692a94 +80692b34 0x80692b34 +80692bb4 0x80692bb4 +80692cb0 0x80692cb0 +80692dac 0x80692dac +80692e6c 0x80692e6c +80692f2c 0x80692f2c +8069303c 0x8069303c +8069314c Effects::Player::CreateAndUpdateEffectsByIdx +80693300 Effects::Player::FollowFadeEffectsByIdx +806934f4 Effects::Player::CreateEffectsByIdx +80693568 Effects::Player::UpdateEffectsByIdx +806936a4 Effects::Player::KillEffectsByIdx +80693758 Effects::Player::UpdateCollisionEffects +806938b8 Effects::Player::UpdateCollisionEffects_caseD_0 +806938c8 Effects::Player::UpdateCollisionEffects_caseD_1 +806938d8 Effects::Player::UpdateCollisionEffects_caseD_2 +806938e8 Effects::Player::UpdateCollisionEffects_caseD_3 +806938f8 Effects::Player::UpdateCollisionEffects_caseD_4 +80693908 Effects::Player::UpdateCollisionEffects_caseD_5 +80693918 Effects::Player::UpdateCollisionEffects_caseD_6 +80693928 Effects::Player::UpdateCollisionEffects_caseD_7 +80693a50 Effects::Player::UpdateCollisionEffects_case2D_0 +80693a60 Effects::Player::UpdateCollisionEffects_case2D_1 +80693a70 Effects::Player::UpdateCollisionEffects_case2D_2 +80693a80 Effects::Player::UpdateCollisionEffects_case2D_3 +80693a90 Effects::Player::UpdateCollisionEffects_case2D_4 +80693aa0 Effects::Player::UpdateCollisionEffects_case2D_5 +80693ab0 Effects::Player::UpdateCollisionEffects_case2D_6 +80693ac0 Effects::Player::UpdateCollisionEffects_case2D_7 +80693b74 Effects::Player::UpdateVehicleEffects +80693ba0 Effects::Player::UpdateKartEffects +80694ae8 Effects::Player::UpdateBikeEffects +80695828 Effects::Player::UpdateJumpSmokeEffects +806962b0 0x806962b0 +8069648c 0x8069648c +8069676c 0x8069676c +806968b8 0x806968b8 +80696c8c 0x80696c8c +80696f0c Effects::Player::UpdateStartUpEffects +806972c0 Effects::Player::UpdateSlipStreamEffects +80697670 Effects::Player::UpdateGasSmokeEffects +80697bb8 0x80697bb8 +80697d34 0x80697d34 +80697e64 0x80697e64 +806981c0 0x806981c0 +80698308 0x80698308 +80698368 Effects::Player::UpdateWaterEffects +80698a90 0x80698a90 +80698c34 0x80698c34 +80698c98 Effects::Player::UpdateInBillEffects +806996b4 0x806996b4 +8069971c Effects::Player::UpdateThunderEffects +80699e7c 0x80699e7c +8069a08c 0x8069a08c +8069a424 Effects::Player::Create228Effect +8069a6d4 Effects::Player::Create25CEffect +8069af5c 0x8069af5c +8069af94 0x8069af94 +8069b208 0x8069b208 +8069b490 0x8069b490 +8069b868 Effects::Player::UpdateInkEffect +8069be5c 0x8069be5c +8069bee8 0x8069bee8 +8069bfa0 0x8069bfa0 +8069c6c4 0x8069c6c4 +8069cb54 Effects::Player::UpdateFromWheelCollision +8069ccd4 Effects::Player::UpdateFromWheelCollision_switch +8069ccd8 Effects::Player::UpdateFromWheelCollision_caseD_0 +8069ccf4 Effects::Player::UpdateFromWheelCollision_caseD_1 +8069cd10 Effects::Player::UpdateFromWheelCollision_caseD_4 +8069cd2c Effects::Player::UpdateFromWheelCollision_caseD_5 +8069cd48 Effects::Player::UpdateFromWheelCollision_caseD_3 +8069cd60 Effects::Player::UpdateFromWheelCollision_caseD_2 +8069cd74 Effects::Player::UpdateFromWheelCollision_caseD_6 +8069cd88 Effects::Player::UpdateFromWheelCollision_caseD_7 +8069d1d8 Effects::Player::UpdateFromKartCollision +8069d380 0x8069d380 +8069d398 0x8069d398 +8069d4b0 0x8069d4b0 +8069d550 Effects::Player::CreateAndUpdateEffectsByIdxVelocity +8069d6e0 Effects::Player::FollowFadeEffectsByIdxVelocity +8069d840 0x8069d840 +8069d894 0x8069d894 +8069d8e8 0x8069d8e8 +8069d9c4 0x8069d9c4 +8069da28 0x8069da28 +8069db50 0x8069db50 +8069dc2c 0x8069dc2c +8069dc90 0x8069dc90 +8069dd6c 0x8069dd6c +8069ddd0 0x8069ddd0 +8069dec0 0x8069dec0 +8069df9c 0x8069df9c +8069e000 0x8069e000 +8069e0f0 0x8069e0f0 +8069e164 0x8069e164 +8069e218 0x8069e218 +8069e2f8 0x8069e2f8 +8069e35c 0x8069e35c +8069e484 0x8069e484 +8069e564 0x8069e564 +8069e5c8 0x8069e5c8 +8069e6f0 0x8069e6f0 +8069e78c 0x8069e78c +8069e7a8 0x8069e7a8 +8069e85c 0x8069e85c +8069e97c 0x8069e97c +8069ea04 0x8069ea04 +8069ea98 0x8069ea98 +8069ecb0 0x8069ecb0 +8069ecfc 0x8069ecfc +8069ede4 0x8069ede4 +8069ef2c 0x8069ef2c +8069f01c 0x8069f01c +8069f144 0x8069f144 +8069f190 0x8069f190 +8069f240 0x8069f240 +8069f330 0x8069f330 +8069f394 0x8069f394 +8069f410 0x8069f410 +8069f45c 0x8069f45c +8069f4c0 0x8069f4c0 +8069f63c 0x8069f63c +8069f8c0 0x8069f8c0 +8069fb08 0x8069fb08 +8069fb98 0x8069fb98 +8069fc28 0x8069fc28 +8069fcc4 0x8069fcc4 +8069fdc0 0x8069fdc0 +8069fe90 0x8069fe90 +8069ff2c 0x8069ff2c +806a0028 0x806a0028 +806a00f8 0x806a00f8 +806a0194 0x806a0194 +806a0290 0x806a0290 +806a0360 0x806a0360 +806a03e8 0x806a03e8 +806a0498 0x806a0498 +806a0540 0x806a0540 +806a05f0 0x806a05f0 +806a0698 0x806a0698 +806a070c 0x806a070c +806a07b0 0x806a07b0 +806a0860 0x806a0860 +806a0924 0x806a0924 +806a09d4 0x806a09d4 +806a0a98 0x806a0a98 +806a0b48 0x806a0b48 +806a0c0c 0x806a0c0c +806a0cbc 0x806a0cbc +806a0d80 0x806a0d80 +806a0e50 0x806a0e50 +806a0ef4 0x806a0ef4 +806a1048 0x806a1048 +806a11d8 0x806a11d8 +806a14f4 0x806a14f4 +806a1578 0x806a1578 +806a1904 0x806a1904 +806a1928 0x806a1928 +806a19ac 0x806a19ac +806a1d28 0x806a1d28 +806a1dac 0x806a1dac +806a1e1c Vec3::DivideByScalar +806a1e50 0x806a1e50 +806a1eac 0x806a1eac +806a1fa0 0x806a1fa0 +806a2164 Effects::Player::CreateRKHitEffect +806a221c Effects::Player::OnBushCollision +806a235c 0x806a235c +806a2370 Effects::Player::CreateSpinEffect +806a25a4 0x806a25a4 +806a2650 0x806a2650 +806a27ac 0x806a27ac +806a2858 0x806a2858 +806a29b4 0x806a29b4 +806a2a60 0x806a2a60 +806a2bbc 0x806a2bbc +806a2c68 0x806a2c68 +806a2dc4 0x806a2dc4 +806a2e38 0x806a2e38 +806a2edc 0x806a2edc +806a2f50 0x806a2f50 +806a2ff4 0x806a2ff4 +806a30a0 0x806a30a0 +806a3144 0x806a3144 +806a31b8 0x806a31b8 +806a325c 0x806a325c +806a332c 0x806a332c +806a33d0 0x806a33d0 +806a356c 0x806a356c +806a365c 0x806a365c +806a36e0 0x806a36e0 +806a3780 0x806a3780 +806a3804 0x806a3804 +806a38a8 0x806a38a8 +806a394c 0x806a394c +806a3a1c 0x806a3a1c +806a3a80 0x806a3a80 +806a3af8 0x806a3af8 +806a3b18 0x806a3b18 +806a3bc4 0x806a3bc4 +806a3c68 0x806a3c68 +806a3ccc 0x806a3ccc +806a3d3c 0x806a3d3c +806a3de0 Effects::Player::CreateKartBrakeBackwardsEffects +806a3ef4 Effects::Player::KillKartBrakeBackwardsEffects +806a4014 0x806a4014 +806a405c 0x806a405c +806a4100 Effects::Player::CreateBikeBrakeBackwardsEffects +806a41f4 Effects::Player::KillBikeBrakeBackwardsEffects +806a42f4 0x806a42f4 +806a4394 0x806a4394 +806a4470 0x806a4470 +806a4510 0x806a4510 +806a4590 0x806a4590 +806a464c Effects::Player::CreateStarEffect +806a4828 Effects::Player::UpdateStarEffect +806a4aa4 Effects::Player::CreateRKKiller +806a4be8 Effects::Player::UpdateRKKiller +806a4e1c 0x806a4e1c +806a4ea0 0x806a4ea0 +806a4f20 0x806a4f20 +806a4fa4 0x806a4fa4 +806a50c8 0x806a50c8 +806a5168 0x806a5168 +806a5244 0x806a5244 +806a5444 0x806a5444 +806a56c0 0x806a56c0 +806a58c0 0x806a58c0 +806a5b3c 0x806a5b3c +806a5d40 0x806a5d40 +806a5dec 0x806a5dec +806a5eb4 0x806a5eb4 +806a6044 0x806a6044 +806a6080 0x806a6080 +806a60a8 Effects::Player::UpdatePowEffect +806a62fc Effects::Player::UpdatePow1Effect +806a6500 0x806a6500 +806a65a4 0x806a65a4 +806a6720 0x806a6720 +806a6770 0x806a6770 +806a685c 0x806a685c +806a6978 0x806a6978 +806a6a7c Effects::Player::UpdateNiseBoxBiriEffect +806a6c4c 0x806a6c4c +806a6d4c 0x806a6d4c +806a6e10 0x806a6e10 +806a6eb4 0x806a6eb4 +806a6fe0 0x806a6fe0 +806a7084 0x806a7084 +806a7184 0x806a7184 +806a7228 0x806a7228 +806a7418 Effects::Player::TriggerPochaEffect +806a766c 0x806a766c +806a7694 0x806a7694 +806a76d4 Effects::Player::CreatePochaEffect +806a78b4 0x806a78b4 +806a7a88 0x806a7a88 +806a7b20 0x806a7b20 +806a7c38 0x806a7c38 +806a7cb8 0x806a7cb8 +806a7d88 0x806a7d88 +806a7e30 0x806a7e30 +806a7f78 0x806a7f78 +806a8190 0x806a8190 +806a8214 0x806a8214 +806a82b4 0x806a82b4 +806a8388 0x806a8388 +806a849c 0x806a849c +806a867c 0x806a867c +806a8694 0x806a8694 +806a8b34 0x806a8b34 +806a8c00 0x806a8c00 +806a9090 0x806a9090 +806a915c 0x806a915c +806a95ec 0x806a95ec +806a96b8 0x806a96b8 +806a9844 0x806a9844 +806a9858 0x806a9858 +806a99d0 0x806a99d0 +806a99e4 0x806a99e4 +806a9a58 0x806a9a58 +806a9a6c Effects::Player::CreateSandEffect +806a9ee4 Effects::Player::Color::__ct(args) +806a9ef8 Effects::Player::Color::operator= +806a9f1c 0x806a9f1c +806aa104 Effects::Player::CreateGrassEffect +806aa464 0x806aa464 +806aa640 Effects::Player::CreateSnowDirtEffect +806aa934 0x806aa934 +806aab00 0x806aab00 +806aabb0 Effects::Player::CreateSnowRoadEffect +806ab048 0x806ab048 +806ab2e0 Effects::Player::CreateWaterEffect +806ab564 0x806ab564 +806ab77c Effects::Player::CreateMudEffect +806aba88 0x806aba88 +806abc10 Effects::Player::CreateFlowerEffect +806abeac 0x806abeac +806ac034 Effects::Player::CreateStoneEffect +806ac2cc 0x806ac2cc +806ac450 0x806ac450 +806ac72c 0x806ac72c +806ac97c 0x806ac97c +806acd28 0x806acd28 +806ad294 Effects::Player::SetOffroadColors +806ae124 0x806ae124 +806ae294 0x806ae294 +806ae2dc 0x806ae2dc +806ae3f8 0x806ae3f8 +806ae440 0x806ae440 +806ae4c4 0x806ae4c4 +806ae4dc 0x806ae4dc +806ae7d8 0x806ae7d8 +806ae924 0x806ae924 +806aee74 0x806aee74 +806aef58 0x806aef58 +806aefd4 0x806aefd4 +806af210 Effects::Player::SetGessoEffectsVisibility +806af344 Effects::Player::UpdateGessoEffectsVisibility +806af420 0x806af420 +806af478 Vector3_rotate +806af558 0x806af558 +806af63c 0x806af63c +806af6b8 0x806af6b8 +806af81c Vec3::CalcYAxisRotMtx +806af994 0x806af994 +806afae8 0x806afae8 +806afc80 0x806afc80 +806afd58 0x806afd58 +806afe40 0x806afe40 +806affec 0x806affec +806b0130 0x806b0130 +806b021c 0x806b021c +806b0270 0x806b0270 +806b02d4 0x806b02d4 +806b0ef8 0x806b0ef8 +806b10a8 0x806b10a8 +806b113c 0x806b113c +806b1520 -bx^2+ax +806b1584 CreateParabola +806b15a8 0x806b15a8 +806b15ac 0x806b15ac +806b15b0 0x806b15b0 +806b15b4 0x806b15b4 +806b15b8 0x806b15b8 +806b1640 Effects::Mgr::CreateOneTimeEffect(pos) +806b16a0 Effects::Mgr::CreateOneTimeEffect(mtx) +806b1700 Effects::Mgr::CreateOneTimeEffect(pos, scale) +806b177c Effects::Mgr::CreateOneTimeEffect(mtx, scale) +806b17f8 0x806b17f8 +806b17fc Objects::Basabasa::__ct +806b1994 0x806b1994 +806b19f8 Objects::Basabasa::OnStart +806b1ba0 Objects::Basabasa::vf_0x10 +806b1ba4 Objects::Basabasa::Update +806b1c78 0x806b1c78 +806b1e00 0x806b1e00 +806b20a4 0x806b20a4 +806b23ec Objects::Basabasa::OnCollision +806b2590 Objects::Basabasa::OnItemCollision +806b2a24 Objects::Basabasa::UpdateShadow +806b2c48 Objects::BasabasaMgr::__ct +806b2e6c Objects::BasabasaMgr::__dt +806b2eac Objects::BasabasaMgr::OnStart +806b3038 Objects::BasabasaMgr::vf_0x10 +806b303c Objects::BasabasaMgr::Update +806b3190 Objects::BasabasaMgr::LoadClipInfo +806b3194 Objects::BasabasaMgr::LoadCollision +806b3198 Objects::BasabasaMgr::LoadRoute +806b319c Objects::BasabasaMgr::LoadModels +806b31a0 Objects::BasabasaMgr::GetPropertiesBitfield +806b31a8 Objects::Basabasa::__dt +806b3214 0x806b3214 +806b321c Objects::Basabasa::LoadAnimations +806b3260 Objects::Basabasa::GetName +806b326c Objects::Basabasa::GetSubFileName +806b3278 Objects::Basabasa::GetPropertiesBitfield +806b3280 Objects::Basabasa::__dt(thunk) +806b3288 Objects::CarA::__ct +806b33e0 0x806b33e0 +806b3444 Objects::CarA::__dt +806b34bc Objects::CarA::LoadModels +806b36bc Objects::CarA::LoadCollision +806b373c Objects::CarA::UpdateCollision +806b3858 Objects::CarA::OnStart +806b39d8 Objects::CarA::OnCollision +806b3ba4 Objects::CarA::OnItemCollision +806b3e44 Objects::CarA::Update +806b4074 0x806b4074 +806b4100 0x806b4100 +806b4124 0x806b4124 +806b4268 Objects::CarA::UpdateRoute +806b43b0 0x806b43b0 +806b43bc 0x806b43bc +806b448c 0x806b448c +806b4520 0x806b4520 +806b4844 0x806b4844 +806b48b4 0x806b48b4 +806b49cc 0x806b49cc +806b4a54 0x806b4a54 +806b4a5c Objects::CarA::LoadAnimations +806b4abc Objects::CarA::GetPropertiesBitfield +806b4ac4 MiiCreationParams::__dt +806b4b04 Objects::CarA::__dt(thunk) +806b4b0c 0x806b4b0c +806b4bec 0x806b4bec +806b4c2c 0x806b4c2c +806b4c5c 0x806b4c5c +806b4cdc 0x806b4cdc +806b4de4 0x806b4de4 +806b4dec 0x806b4dec +806b4f44 0x806b4f44 +806b4fa0 0x806b4fa0 +806b5018 0x806b5018 +806b508c 0x806b508c +806b510c 0x806b510c +806b51ec 0x806b51ec +806b5218 0x806b5218 +806b56a0 0x806b56a0 +806b5704 0x806b5704 +806b5770 0x806b5770 +806b59d8 0x806b59d8 +806b5cbc 0x806b5cbc +806b5ef0 0x806b5ef0 +806b6250 0x806b6250 +806b6374 0x806b6374 +806b6764 0x806b6764 +806b6cbc 0x806b6cbc +806b6f0c 0x806b6f0c +806b6f10 0x806b6f10 +806b6f14 0x806b6f14 +806b7168 0x806b7168 +806b73b0 0x806b73b0 +806b73b4 0x806b73b4 +806b73b8 0x806b73b8 +806b75f4 0x806b75f4 +806b7660 0x806b7660 +806b76f8 0x806b76f8 +806b7814 0x806b7814 +806b7954 0x806b7954 +806b795c 0x806b795c +806b79ac 0x806b79ac +806b79b4 0x806b79b4 +806b79b8 0x806b79b8 +806b79bc 0x806b79bc +806b79c4 0x806b79c4 +806b79d0 0x806b79d0 +806b79dc 0x806b79dc +806b79e4 0x806b79e4 +806b7a24 0x806b7a24 +806b7a28 0x806b7a28 +806b7a30 0x806b7a30 +806b7a38 Objects::CowBase::__ct +806b7a9c Objects::CowBase::__dt +806b7adc 0x806b7adc +806b7c9c 0x806b7c9c +806b7e24 Objects::CowBase::OnCollision +806b7f68 Objects::CowBase::OnItemCollision +806b8138 0x806b8138 +806b8250 0x806b8250 +806b83f4 Objects::CowBase::vf_0xf0 +806b854c 0x806b854c +806b86a0 0x806b86a0 +806b871c 0x806b871c +806b8838 0x806b8838 +806b893c 0x806b893c +806b8a00 0x806b8a00 +806b8ac4 0x806b8ac4 +806b8b4c 0x806b8b4c +806b8bf8 Objects::CowLeader::__ct +806b8d0c 0x806b8d0c +806b8d70 Objects::CowLeader::__dt +806b8ddc Objects::CowLeader::OnStart +806b8f00 Objects::CowLeader::Update +806b9228 0x806b9228 +806b92b0 0x806b92b0 +806b9350 0x806b9350 +806b93c4 0x806b93c4 +806b9594 0x806b9594 +806b95e8 0x806b95e8 +806b9850 Objects::CowLeader::vf_0xf0 +806b98bc 0x806b98bc +806b98c0 Objects::CowVassal::__ct +806b9b08 0x806b9b08 +806b9b6c Objects::CowVassal::__dt +806b9bd8 Objects::CowVassal::OnStart +806b9d20 Objects::CowVassal::Update +806ba060 0x806ba060 +806ba0f8 0x806ba0f8 +806ba1a4 0x806ba1a4 +806ba30c 0x806ba30c +806ba4a8 0x806ba4a8 +806ba544 0x806ba544 +806ba6cc Objects::CowGroup::__ct +806bab64 Objects::CowGroup::__dt +806baba4 Objects::CowGroup::OnStart +806babdc Objects::CowGroup::Update +806bac8c 0x806bac8c +806baebc Objects::CowGroup::LoadClipInfo +806baec0 Objects::CowGroup::LoadCollision +806baec4 Objects::CowGroup::LoadRoute +806baec8 Objects::CowGroup::LoadModels +806baecc Objects::CowGroup::GetPropertiesBitfield +806baed4 Objects::CowBase::vf_0xec +806baedc Objects::CowBase::LoadAnimations +806baf98 Objects::CowVassal::LoadRoute +806baf9c Objects::CowVassal::GetPropertiesBitfield +806bafa4 Objects::CowLeader::GetPropertiesBitfield +806bafac Object::GetGetPropertiesBitfield +806bafc0 Object::Update +806bb030 Objects::CowLeader::__dt(thunk) +806bb038 Objects::CowVassal::__dt(thunk) +806bb040 Objects::Cannon::__ct +806bb174 Objects::Cannon::LoadAnimations +806bb2bc Objects::Cannon::__dt +806bb308 Objects::Cannon::OnStart +806bb3fc Objects::Cannon::Update +806bb938 Objects::Cannon::OnActivation +806bba20 Objects::Cannon::vf_0xec +806bba28 0x806bba28 +806bba30 Objects::Cannon::GetScnObjDrawOptionsIdx +806bba38 0x806bba38 +806bbb2c 0x806bbb2c +806bbb6c 0x806bbb6c +806bbbec 0x806bbbec +806bbc80 0x806bbc80 +806bbcf4 0x806bbcf4 +806bbcf8 0x806bbcf8 +806bbdcc 0x806bbdcc +806bbdd4 0x806bbdd4 +806bbe18 0x806bbe18 +806bbe58 0x806bbe58 +806bbecc 0x806bbecc +806bbed0 0x806bbed0 +806bbed4 0x806bbed4 +806bbedc 0x806bbedc +806bbf2c 0x806bbf2c +806bbf50 Objects::HanachanPart::LoadModels +806bbf88 Objects::HanachanPart::OnStart +806bc014 Objects::HanachanPart::vf_0x100 +806bc01c Objects::HanachanPart::Update +806bc0a0 Objects::HanachanPart::OnCollision +806bc24c Objects::HanachanPart::OnItemCollision +806bc470 0x806bc470 +806bc594 0x806bc594 +806bc648 0x806bc648 +806bc6c4 0x806bc6c4 +806bca80 0x806bca80 +806bcba4 0x806bcba4 +806bcbc4 0x806bcbc4 +806bccd8 0x806bccd8 +806bcd00 0x806bcd00 +806bce20 0x806bce20 +806bcf20 0x806bcf20 +806bd078 nw4r::g3d::ICalcWorldCallback::__dt +806bd0b8 Objects::BossHanachanHead::CalcWorldCB::ExecCallbackB +806bd174 0x806bd174 +806bd180 Objects::BossHanachanHead::__ct +806bd274 Objects::HanachanPart::__dt +806bd2b4 0x806bd2b4 +806bd598 Objects::BossHanachanHead::LoadCollision +806bd610 Objects::BossHanachanHead::OnStart +806bd6b8 Objects::BossHanachanHead::Update +806bd85c Objects::BossHanachanHead::UpdateCollision +806bd9e0 0x806bd9e0 +806bdb30 0x806bdb30 +806bdbc8 0x806bdbc8 +806bdbd8 Objects::HanachanBody::LoadAnimations +806bdc84 Objects::HanachanBody::OnStart +806bdd14 0x806bdd14 +806bde68 Objects::Hanachan::__ct +806be940 0x806be940 +806be9a4 Objects::Hanachan::__dt +806bea3c Objects::Hanachan::OnStart +806bec6c Objects::Hanachan::Update +806befc4 0x806befc4 +806befcc 0x806befcc +806bf144 0x806bf144 +806bf2d4 0x806bf2d4 +806bf3a4 0x806bf3a4 +806bf654 Objects::Hanachan::vf_0xC(parent) +806bf658 0x806bf658 +806bf688 0x806bf688 +806bf6fc 0x806bf6fc +806bf960 0x806bf960 +806bf968 0x806bf968 +806bf9f0 0x806bf9f0 +806bfad8 0x806bfad8 +806bfb38 0x806bfb38 +806bfcec 0x806bfcec +806bfdb8 0x806bfdb8 +806bfe98 0x806bfe98 +806bfedc 0x806bfedc +806bff68 0x806bff68 +806c00dc 0x806c00dc +806c02e0 0x806c02e0 +806c03a8 0x806c03a8 +806c03c4 0x806c03c4 +806c04b4 0x806c04b4 +806c05f4 0x806c05f4 +806c0738 0x806c0738 +806c0808 0x806c0808 +806c0994 0x806c0994 +806c099c 0x806c099c +806c0b70 0x806c0b70 +806c0d5c 0x806c0d5c +806c0dec 0x806c0dec +806c0fd0 0x806c0fd0 +806c1238 0x806c1238 +806c1254 0x806c1254 +806c12b4 0x806c12b4 +806c1324 0x806c1324 +806c1394 0x806c1394 +806c1404 0x806c1404 +806c1558 0x806c1558 +806c1658 0x806c1658 +806c1848 0x806c1848 +806c1898 0x806c1898 +806c1acc 0x806c1acc +806c1cf4 0x806c1cf4 +806c1df0 nw4r::g3d::ICalcWorldCallback::ExecCallbackC +806c1df4 nw4r::g3d::ICalcWorldCallback::ExecCallbackA +806c1df8 Objects::Hanachan::UpdateModel +806c1dfc Objects::Hanachan::LoadClipInfo +806c1e00 Objects::Hanachan::LoadCollision +806c1e04 Objects::Hanachan::LoadModels +806c1e08 Objects::Hanachan::GetPropertiesBitfield +806c1e10 Objects::HanachanPart::vf_0x104 +806c1e18 Objects::HanachanPart::vf_0x84 +806c1e20 Objects::HanachanPart::UpdateModelMatrix +806c1ed8 Objects::HanachanPart::LoadRoute +806c1edc Objects::HanachanPart::GetPropertiesBitfield +806c1ee4 Objects::HanachanBody::__dt +806c1f24 Objects::HanachanBody::vf_0xfc +806c1f2c Objects::HanachanBody::vf_0xf8 +806c1f34 Objects::HanachanBody::vf_0x108 +806c1f3c 0x806c1f3c +806c1f58 0x806c1f58 +806c1f78 0x806c1f78 +806c1f80 Objects::HanachanBody::GetShadowResName +806c1f8c Objects::HanachanBody::GetSubFileName +806c1f94 Objects::HanachanPart::GetSubFileName +806c1fa0 Objects::BossHanachanHead::__dt +806c1fe0 Objects::BossHanachanHead::vf_0xfc +806c1ffc Objects::BossHanachanHead::vf_0xf8 +806c2004 Objects::BossHanachanHead::vf_0xf4 +806c2050 Objects::BossHanachanHead::vf_0xf0 +806c20b0 Objects::BossHanachanHead::vf_0xec +806c2130 Objects::BossHanachanHead::UpdateShadow +806c21a4 Objects::BossHanachanHead::vf_0x108 +806c21ac Objects::BossHanachanHead::LoadAnimations +806c2234 Objects::BossHanachanHead::GetBRRESName +806c2240 nw4r::g3d::ICalcWorldCallback::ExecCallbackB +806c2244 Objects::BossHanachanHead::CalcWorldCB::__dt +806c2284 Objects::BossHanachanHead::CalcWorldCB::ExecCallbackB(thunk) +806c228c Objects::BossHanachanHead::CalcWorldCB::__dt(thunk) +806c2294 Objects::Hanachan::__dt(thunk) +806c229c Objects::Heyho::__ct +806c2534 0x806c2534 +806c2598 Objects::Heyho::__dt +806c2604 Objects::Heyho::OnStart +806c2868 Objects::Heyho::vf_0x10 +806c286c Objects::Heyho::Update +806c2a98 Objects::Heyho::OnCollision +806c2c0c Objects::Heyho::OnItemCollision +806c2e18 Objects::Heyho::UpdateShadow +806c2f40 0x806c2f40 +806c2f44 obj_heyho_move_update +806c3188 obj_heyho_beforeJump +806c31a0 obj_heyho_jump_update +806c3534 0x806c3534 +806c35ac 0x806c35ac +806c37bc 0x806c37bc +806c3824 0x806c3824 +806c3a24 0x806c3a24 +806c3a9c 0x806c3a9c +806c3b24 0x806c3b24 +806c3bb0 Objects::Heyho::LoadAnimations +806c3c40 Objects::Heyho::vf_0xc +806c3c48 Objects::Heyho::UpdateCollision +806c3d28 Objects::Heyho::GetPropertiesBitfield +806c3d38 Objects::HighwayManager::__ct +806c4418 Objects::HighwayManager::__dt +806c44ec 0x806c44ec +806c475c Objects::HighwayManager::OnStart +806c4878 0x806c4878 +806c488c Objects::HighwayManager::Update +806c4d7c 0x806c4d7c +806c50cc 0x806c50cc +806c528c 0x806c528c +806c544c 0x806c544c +806c578c 0x806c578c +806c5acc 0x806c5acc +806c5d60 0x806c5d60 +806c5ff4 0x806c5ff4 +806c6148 0x806c6148 +806c629c 0x806c629c +806c62e4 0x806c62e4 +806c632c 0x806c632c +806c6374 0x806c6374 +806c63bc 0x806c63bc +806c6404 0x806c6404 +806c644c 0x806c644c +806c6494 0x806c6494 +806c64dc 0x806c64dc +806c65f8 0x806c65f8 +806c6710 0x806c6710 +806c68ec 0x806c68ec +806c69d0 0x806c69d0 +806c6a1c 0x806c6a1c +806c6b30 0x806c6b30 +806c6cf4 0x806c6cf4 +806c6cfc Objects::K_truck_light::LoadAnimations +806c6d8c Objects::K_truck_light::LoadCollision +806c6d90 Objects::K_truck_light::LoadRoute +806c6d94 Objects::K_truck_light::GetSubFileName +806c6da0 Objects::K_truck_light::GetBRRESName +806c6dac Objects::K_truck_light::GetPropertiesBitfield +806c6db4 Objects::K_truck_light::GetID +806c6dbc Objects::K_truck_light::__dt +806c6dfc 0x806c6dfc +806c6e04 Objects::K_car_light::LoadAnimations +806c6e94 Objects::K_car_light::LoadCollision +806c6e98 Objects::K_car_light::LoadRoute +806c6e9c Objects::K_car_light::GetSubFileName +806c6ea8 Objects::K_car_light::GetBRRESName +806c6eb4 Objects::K_car_light::GetPropertiesBitfield +806c6ebc Objects::K_car_light::GetID +806c6ec4 Objects::K_car_light::__dt +806c6f04 0x806c6f04 +806c6f0c Objects::K_truck_tire::LoadAnimations +806c6f58 Objects::K_truck_tire::LoadCollision +806c6f5c Objects::K_truck_tire::LoadRoute +806c6f60 Objects::K_truck_tire::GetSubFileName +806c6f6c Objects::K_truck_tire::GetBRRESName +806c6f78 Objects::K_truck_tire::GetPropertiesBitfield +806c6f80 Objects::K_truck_tire::GetID +806c6f88 Objects::K_truck_tire::__dt +806c6fc8 0x806c6fc8 +806c6fd0 Objects::K_car_tire::LoadAnimations +806c701c Objects::K_car_tire::LoadCollision +806c7020 Objects::K_car_tire::LoadRoute +806c7024 Objects::K_car_tire::GetSubFileName +806c7030 Objects::K_car_tire::GetBRRESName +806c703c Objects::K_car_tire::GetPropertiesBitfield +806c7044 Objects::K_car_tire::GetID +806c704c Objects::K_car_tire::__dt +806c708c 0x806c708c +806c7090 0x806c7090 +806c7094 0x806c7094 +806c7098 0x806c7098 +806c709c 0x806c709c +806c70a4 Objects::HighwayCar::__ct +806c7a70 Objects::HighwayCar::GetBRRESName +806c7a78 0x806c7a78 +806c7adc Objects::HighwayCar::__dt +806c7b48 Objects::HighwayCar::LoadModels +806c7b80 Objects::HighwayCar::GetCollisionDiameter +806c7cd4 Objects::HighwayCar::OnStart +806c808c Objects::HighwayCar::Update +806c84e8 Objects::HighwayCar::OnCollision +806c8940 Objects::HighwayCar::OnItemCollision +806c8cb8 Objects::HighwayCar::LoadCollision +806c8db8 Objects::HighwayCar::UpdateCollision +806c8eb8 Objects::HighwayCar::GetSolidityCenter +806c8f24 0x806c8f24 +806c8f28 0x806c8f28 +806c8f2c 0x806c8f2c +806c8f30 0x806c8f30 +806c8fc8 0x806c8fc8 +806c8fcc 0x806c8fcc +806c9064 0x806c9064 +806c9118 0x806c9118 +806c943c 0x806c943c +806c9d1c 0x806c9d1c +806c9fa8 0x806c9fa8 +806ca1c0 0x806ca1c0 +806ca568 0x806ca568 +806ca5f0 0x806ca5f0 +806ca6c4 0x806ca6c4 +806ca760 0x806ca760 +806ca8a0 0x806ca8a0 +806ca9f8 0x806ca9f8 +806caad4 0x806caad4 +806cab4c 0x806cab4c +806cabc4 0x806cabc4 +806cabfc 0x806cabfc +806cad3c 0x806cad3c +806cae30 0x806cae30 +806caeec 0x806caeec +806caf5c 0x806caf5c +806cb120 0x806cb120 +806cb18c 0x806cb18c +806cb678 0x806cb678 +806cb74c 0x806cb74c +806cb820 Objects::HighwayCar::ProcessCollision +806cb8e8 Objects::HighwayCar::UpdateShadow +806cb95c Objects::HighwayCar::GetShadowResName +806cb964 Objects::HighwayCar::GetSubFileName +806cb96c Objects::HighwayCar::GetPropertiesBitfield +806cb974 0x806cb974 +806cb97c Objects::Kbomneji::LoadAnimations +806cb9c0 Objects::Kbomneji::LoadCollision +806cb9c4 Objects::Kbomneji::LoadRoute +806cb9c8 Objects::Kbomneji::GetSubFileName +806cb9d4 Objects::Kbomneji::GetPropertiesBitfield +806cb9dc Objects::Kbomneji::__dt +806cba1c 0x806cba1c +806cba24 Objects::K_bomb_tire00::LoadAnimations +806cba70 Objects::K_bomb_tire00::LoadCollision +806cba74 Objects::K_bomb_tire00::LoadRoute +806cba78 Objects::K_bomb_tire00::GetSubFileName +806cba84 Objects::K_bomb_tire00::GetPropertiesBitfield +806cba8c Objects::K_bomb_tire00::__dt +806cbacc Objects::HighwayCar::__dt(thunk) +806cbad4 Objects::Kuribo::__ct +806cbc8c 0x806cbc8c +806cbcf0 Objects::Kuribo::__dt +806cbd5c Objects::Kuribo::OnStart +806cbefc Objects::Kuribo::vf_0x10 +806cbf00 Objects::Kuribo::Update +806cc0b4 Objects::Kuribo::OnCollision +806cc3e8 Objects::Kuribo::OnItemCollision +806ccb6c Objects::Kuribo::OnRouteEnd +806ccb70 Objects::Kuribo::UpdateRouteEnd +806ccd44 Objects::Kuribo::OnCycleBegin +806ccd48 Objects::Kuribo::UpdateCycle +806ccdb0 0x806ccdb0 +806ccf30 0x806ccf30 +806cd0cc 0x806cd0cc +806cd0e0 0x806cd0e0 +806cd2c8 0x806cd2c8 +806cd328 0x806cd328 +806cd4a8 0x806cd4a8 +806cd5ec 0x806cd5ec +806cd698 0x806cd698 +806cd720 0x806cd720 +806cd72c 0x806cd72c +806cd928 0x806cd928 +806cd988 0x806cd988 +806cda78 0x806cda78 +806cdbc0 Objects::Kuribo::vf_0xC(ObjectCycleManager) +806cdbc8 Objects::Kuribo::LoadAnimations +806cdc18 0x806cdc18 +806cdc20 Objects::Kuribo::__dt(thunk) +806cdc28 Objects::Balloon::__ct +806cdd90 Objects::Balloon::__dt +806cddd0 Objects::Balloon::OnStart +806cdf2c Objects::Balloon::vf_0x10 +806cdf30 Objects::Balloon::Update +806ce120 0x806ce120 +806ce1a8 Objects::Balloon::UpdateShadow +806ce274 Objects::Balloon::GetShadowListIdx +806ce27c Objects::Balloon::GetPropertiesBitfield +806ce284 0x806ce284 +806ce2e8 0x806ce2e8 +806ce328 0x806ce328 +806ce3a4 0x806ce3a4 +806ce3d0 0x806ce3d0 +806ce3d4 Objects::TruckChimSmk::__ct +806ce5c8 Objects::TruckChimSmk::__dt +806ce608 Objects::TruckChimSmk::OnStart +806ce7a0 Objects::TruckChimSmk::Update +806cec88 Objects::TruckChimSmk::OnCollision +806cedec Objects::TruckChimSmk::OnItemCollision +806cee18 Objects::TruckChimSmk::UpdateCollision +806cef10 Objects::TruckChimSmk::vf_0x10 +806cef14 0x806cef14 +806cf004 Objects::TruckChimSmk::OnWallCollision +806cf008 Objects::TruckChimSmk::LoadAnimations +806cf054 0x806cf054 +806cf05c Objects::TruckChimSmk::GetPropertiesBitfield +806cf064 0x806cf064 +806cf0e4 0x806cf0e4 +806cf184 0x806cf184 +806cf1d4 0x806cf1d4 +806cf1ec 0x806cf1ec +806cf3a0 0x806cf3a0 +806cf3e0 0x806cf3e0 +806cf444 0x806cf444 +806cf4b0 0x806cf4b0 +806cf510 0x806cf510 +806cf734 0x806cf734 +806cf738 0x806cf738 +806cf9a0 0x806cf9a0 +806cfb84 0x806cfb84 +806cfe80 0x806cfe80 +806d0098 0x806d0098 +806d0140 0x806d0140 +806d0598 0x806d0598 +806d0620 0x806d0620 +806d06c0 0x806d06c0 +806d0b44 0x806d0b44 +806d0be4 0x806d0be4 +806d0be8 0x806d0be8 +806d0c90 0x806d0c90 +806d1120 0x806d1120 +806d1184 0x806d1184 +806d1270 0x806d1270 +806d12e0 0x806d12e0 +806d13b0 0x806d13b0 +806d13bc ObjTruckWagon_construct +806d153c 0x806d153c +806d157c 0x806d157c +806d16ec 0x806d16ec +806d16f0 0x806d16f0 +806d16f4 0x806d16f4 +806d17dc 0x806d17dc +806d182c 0x806d182c +806d1830 0x806d1830 +806d1834 0x806d1834 +806d1838 0x806d1838 +806d183c 0x806d183c +806d1844 0x806d1844 +806d184c 0x806d184c +806d18bc 0x806d18bc +806d18c4 0x806d18c4 +806d1954 obj_draw_shadow_init +806d1958 0x806d1958 +806d195c 0x806d195c +806d1968 0x806d1968 +806d1974 0x806d1974 +806d1a94 0x806d1a94 +806d1a9c 0x806d1a9c +806d1af4 0x806d1af4 +806d1b4c 0x806d1b4c +806d1b54 0x806d1b54 +806d1bb0 0x806d1bb0 +806d1bbc 0x806d1bbc +806d1bc8 0x806d1bc8 +806d1bcc 0x806d1bcc +806d1bd0 0x806d1bd0 +806d1bd8 0x806d1bd8 +806d1c18 0x806d1c18 +806d1c20 0x806d1c20 +806d1c24 0x806d1c24 +806d1c28 0x806d1c28 +806d1c34 0x806d1c34 +806d1c40 0x806d1c40 +806d1c44 0x806d1c44 +806d1c4c 0x806d1c4c +806d1c54 0x806d1c54 +806d1ecc 0x806d1ecc +806d1f30 0x806d1f30 +806d1f9c 0x806d1f9c +806d2040 0x806d2040 +806d20d0 0x806d20d0 +806d2158 0x806d2158 +806d2274 0x806d2274 +806d2284 0x806d2284 +806d2288 0x806d2288 +806d2384 0x806d2384 +806d25cc 0x806d25cc +806d2674 0x806d2674 +806d279c 0x806d279c +806d27a8 0x806d27a8 +806d2b9c 0x806d2b9c +806d2bdc 0x806d2bdc +806d2c70 0x806d2c70 +806d2db4 0x806d2db4 +806d2db8 0x806d2db8 +806d2dbc 0x806d2dbc +806d2dc0 0x806d2dc0 +806d2dc4 0x806d2dc4 +806d2dcc 0x806d2dcc +806d2dd4 0x806d2dd4 +806d2ddc Objects::Pile::OnStart +806d2e98 Objects::Pile::Update +806d2eac 0x806d2eac +806d2edc 0x806d2edc +806d3160 Objects::Wanwan_Chn::LoadCollision +806d31c4 Objects::Wanwan_Chn::Update +806d31d4 0x806d31d4 +806d31dc Objects::Wanwan_Chn::UpdateCollision +806d31e0 Objects::Wanwan::__ct +806d3a20 Objects::Wanwan_Chn::OnStart +806d3a44 0x806d3a44 +806d3aa8 Objects::Wanwan::__dt +806d3b54 Objects::Wanwan::vf_0x10 +806d3b58 Objects::Wanwan::OnStart +806d3ee8 Objects::Wanwan::Update +806d4228 Objects::Wanwan::OnCollision +806d4428 Objects::Wanwan::OnItemCollision +806d4680 0x806d4680 +806d4978 0x806d4978 +806d4a48 0x806d4a48 +806d4d2c 0x806d4d2c +806d4e98 0x806d4e98 +806d51c4 Objects::Wanwan::BeforeWanderB +806d5360 Objects::Wanwan::WanderBUpdate +806d56ec Objects::Wanwan::BeforeWanderA +806d57f4 Objects::Wanwan::WanderAUpdate +806d5b14 Objects::Wanwan::BeforeLookUp +806d5b38 Objects::Wanwan::LookUpUpdate +806d5c10 Objects::Wanwan::BeforeDigDown +806d5c54 Objects::Wanwan::DigDownUpdate +806d5d90 Objects::Wanwan::BeforeLookStraight +806d5d94 Objects::Wanwan::LookStraightUpdate +806d5e6c Objects::Wanwan::BeforeAttack +806d5f28 Objects::Wanwan::AttackUpdate +806d6380 Objects::Wanwan::BeforeRetreat +806d6450 Objects::Wanwan::RetreatUpdate +806d6550 0x806d6550 +806d65f4 0x806d65f4 +806d686c 0x806d686c +806d6908 0x806d6908 +806d69a0 0x806d69a0 +806d6b38 0x806d6b38 +806d6b60 0x806d6b60 +806d6df4 0x806d6df4 +806d6e98 vector3_lerp +806d6f20 0x806d6f20 +806d6fcc 0x806d6fcc +806d6fd0 0x806d6fd0 +806d72fc 0x806d72fc +806d7444 0x806d7444 +806d74dc 0x806d74dc +806d7784 0x806d7784 +806d7928 0x806d7928 +806d7a1c 0x806d7a1c +806d7f08 0x806d7f08 +806d8040 0x806d8040 +806d8420 Objects::Wanwan::UpdateModelMatrix +806d8424 Objects::Wanwan::LoadAnimations +806d8470 Objects::Wanwan::vf_0xC +806d8478 Objects::Wanwan::GetPropertiesBitfield +806d8480 Objects::Wanwan_Chn::GetCollisionDiameter +806d8498 Objects::Wanwan_Chn::GetName +806d84a4 Objects::Wanwan_Chn::GetSubFileName +806d84b0 Objects::Wanwan_Chn::GetPropertiesBitfield +806d84b8 Objects::Wanwan_Chn::__dt +806d84f8 Objects::Pile::GetName +806d8504 Objects::Pile::GetSubFileName +806d8510 Objects::Pile::GetBRRESName +806d851c Objects::Pile::GetPropertiesBitfield +806d8524 Objects::Pile::__dt +806d8564 Objects::Wanwan::__dt +806d856c Effects::Menus::__ct +806d86b8 Effects::Menus::__dt +806d8738 Effects::Menus::GetEffectByIdx +806d8748 Route::__ct(POTI) +806d88a0 RoutePoint::__ct +806d88a4 RoutePoint::__dt +806d88e4 Route::__ct(PointsArray) +806d89e4 Route::__dt +806d8a64 Route::FillNormals +806d8c00 Route::FillBLIGHTIndexes +806d8d2c Route::UpdatePoints +806d8eb4 Route::AddPoint +806d8ef4 Route::GetPointById +806d8f04 RouteController::__ct +806d8fa8 0x806d8fa8 +806d8ff0 RouteController::GetNormal +806d9058 RouteController::GetBLIGHTIndex +806d90b0 RouteController::GetTotalDistance +806d90f0 0x806d90f0 +806d9188 0x806d9188 +806d91cc 0x806d91cc +806d92e0 0x806d92e0 +806d92e8 RouteController::__dt +806d9328 RouteCurved::__ct(POTI) +806d946c RouteArc::__ct +806d9470 RouteArc::__ct +806d94b0 RouteCurved::__ct(PointsArray) +806d95d4 RouteCurved::__dt +806d9668 RouteCurved::Update +806d970c RouteCurved::UpdateTotalDistance +806d97b0 RouteCurved::Init +806da028 0x806da028 +806da1b4 0x806da1b4 +806da264 RouteCurved::Calc +806da318 0x806da318 +806da4d8 0x806da4d8 +806da5dc RouteCurvedController::__ct +806da6d0 RouteCurvedController::Init +806da884 RouteCurvedController::SetParams +806da940 RouteCurvedController::UpdateSpeed +806da998 RouteCurvedController::Update +806dac68 RouteCurvedController::vf_0x24 +806dad4c RouteCurvedController::vf_0x28 +806dae48 RouteCurvedController::GetDistanceToNextPoint +806dae84 RouteCurvedController::GetTotalPercent +806daea4 RouteCurvedController::GetTotalPercentNormalDir +806dafd0 RouteCurvedController::CalculateBezier +806db0fc RouteCurvedController::CalculateBezierCurve +806db200 RouteCurvedController::CalculateBezierDir +806db3f4 RouteController::IsAtRouteEnd +806db410 0x806db410 +806db5b0 0x806db5b0 +806db61c 0x806db61c +806db69c 0x806db69c +806db6e8 RouteCurvedController::GetSpeed +806db6f0 RouteCurvedController::__dt +806db730 RouteCurved::GetPercentFromOriginArrays +806db738 RouteCurved::GetPercent +806db740 RouteCurved::GetPointsPerArc +806db748 RouteCurved::GetArcArray +806db750 RouteCurved::GetSegmentArray +806db758 RouteCurved::GetTotalDistance +806db760 RouteStraight::__ct(POTI) +806db99c RouteSegment::__ct +806db9a0 RouteSegment::__dt +806db9e0 RouteStraight::__ct(PointsArray) +806dbb18 RouteStraight::__dt +806dbb70 RouteStraightController::__ct +806dbbfc RouteStraightController::SetParams +806dbc58 RouteStraightController::Init +806dbda0 RouteStraightController::UpdateSpeed +806dbdfc RouteStraightController::Update +806dc098 RouteStraightController::vf_0x24 +806dc1c8 RouteStraightController::vf_0x28 +806dc2b8 RouteStraightController::GetDistanceToNextPoint +806dc2ec 0x806dc2ec +806dc3a0 0x806dc3a0 +806dc3bc 0x806dc3bc +806dc5c0 0x806dc5c0 +806dc62c 0x806dc62c +806dc6ac 0x806dc6ac +806dc6f0 RouteStraightController::GetSpeed +806dc6f8 RouteStraightController::__dt +806dc738 RouteStraight::UpdateTotalDistance +806dc73c RouteStraight::Update +806dc740 RouteStraight::GetPercentFromOriginArrays +806dc748 RouteStraight::GetPercent +806dc754 RouteStraight::GetPointsPerArc +806dc75c RouteStraight::GetArcArray +806dc764 RouteStraight::GetSegmentArray +806dc76c RouteStraight::GetTotalDistance +806dc774 RouteHolder::CreateInstance +806dc7e8 RouteHolder::__ct +806dc7f8 RouteHolder::DestroyInstance +806dc844 RouteHolder::__dt +806dc884 RouteHolder::Init +806dcc04 RouteHolder::CreateRoute +806dcd74 RouteHolder::UpdateRoutePoints +806dce10 RouteHolder::AddRoutePoint +806dcea8 RouteHolder::GetRouteById +806dceb8 0x806dceb8 +806dcf00 0x806dcf00 +806dcf04 0x806dcf04 +806dcf40 0x806dcf40 +806dcfd0 0x806dcfd0 +806dd060 0x806dd060 +806dd0e8 0x806dd0e8 +806dd1a8 0x806dd1a8 +806dd268 0x806dd268 +806dd314 0x806dd314 +806dd3d8 0x806dd3d8 +806dd498 0x806dd498 +806dd624 0x806dd624 +806dd744 0x806dd744 +806dd7a4 0x806dd7a4 +806dd800 0x806dd800 +806dda04 0x806dda04 +806ddb64 0x806ddb64 +806ddcc0 0x806ddcc0 +806dde20 0x806dde20 +806ddfb8 0x806ddfb8 +806de074 0x806de074 +806de12c 0x806de12c +806de1e8 0x806de1e8 +806de1fc 0x806de1fc +806de21c 0x806de21c +806de23c 0x806de23c +806de4dc 0x806de4dc +806de6f0 0x806de6f0 +806de724 0x806de724 +806de7e4 0x806de7e4 +806deb58 0x806deb58 +806debe0 0x806debe0 +806ded94 Linked3DPoints::__ct +806defa0 Linked3DPoints::__dt +806df030 0x806df030 +806df11c 0x806df11c +806df1fc 0x806df1fc +806df860 0x806df860 +806dfa94 0x806dfa94 +806dfb24 0x806dfb24 +806dfcd8 0x806dfcd8 +806dfdd8 0x806dfdd8 +806dfea4 0x806dfea4 +806dff0c 0x806dff0c +806e0130 0x806e0130 +806e0194 0x806e0194 +806e01d8 0x806e01d8 +806e02c8 0x806e02c8 +806e030c 0x806e030c +806e0350 0x806e0350 +806e03ac 0x806e03ac +806e03dc 0x806e03dc +806e0454 0x806e0454 +806e0498 0x806e0498 +806e04c8 0x806e04c8 +806e052c 0x806e052c +806e055c 0x806e055c +806e0580 0x806e0580 +806e05a4 0x806e05a4 +806e05c8 0x806e05c8 +806e05ec 0x806e05ec +806e0610 0x806e0610 +806e0634 0x806e0634 +806e0658 aramGetFirstUserAddress +806e067c 0x806e067c +806e06b8 0x806e06b8 +806e0760 0x806e0760 +806e0764 0x806e0764 +806e0768 0x806e0768 +806e0b94 0x806e0b94 +806e103c 0x806e103c +806e10c8 0x806e10c8 +806e1164 0x806e1164 +806e11ec 0x806e11ec +806e13d8 0x806e13d8 +806e1480 0x806e1480 +806e16ac 0x806e16ac +806e1838 0x806e1838 +806e189c 0x806e189c +806e199c 0x806e199c +806e1a3c 0x806e1a3c +806e1a7c 0x806e1a7c +806e1afc 0x806e1afc +806e1df0 0x806e1df0 +806e1e70 0x806e1e70 +806e1edc 0x806e1edc +806e1f40 0x806e1f40 +806e20a8 0x806e20a8 +806e2118 0x806e2118 +806e2158 0x806e2158 +806e21c4 0x806e21c4 +806e21e4 0x806e21e4 +806e2344 0x806e2344 +806e2348 0x806e2348 +806e2350 0x806e2350 +806e2390 0x806e2390 +806e2398 0x806e2398 +806e23dc 0x806e23dc +806e2460 0x806e2460 +806e2468 0x806e2468 +806e24f8 0x806e24f8 +806e2538 0x806e2538 +806e25d0 0x806e25d0 +806e25d4 0x806e25d4 +806e26b4 0x806e26b4 +806e26f4 Objects::EffectSpawner::__ct +806e2748 Objects::EffectSpawner::OnStart +806e2758 Objects::EffectSpawner::OnCollision +806e28d8 Objects::EffectSpawner::Update +806e29cc Objects::EffectSpawner::__dt +806e2a0c Objects::EffectSpawner::OnItemCollision +806e2a38 Objects::EffectSpawner::OnWallCollision +806e2a3c Objects::EffectSpawner::GetPropertiesBitfield +806e2a44 Objects::LeafEffect::__ct +806e2b84 Objects::LeafEffect::OnCollision +806e2d3c Objects::LeafEffect::Update +806e2ec0 Objects::LeafEffect::__dt +806e2f00 Objects::FireSnake_ball::__ct +806e2f70 Objects::FireSnake_ball::OnStart +806e2fe8 Objects::FireSnake_ball::vf_0xec +806e3008 Objects::FireSnake_ball::ToggleVisible +806e300c Objects::FireSnake_ball::Update +806e3010 0x806e3010 +806e30b0 0x806e30b0 +806e3104 0x806e3104 +806e3118 Objects::FireSnake::__ct +806e346c Objects::MapObjProjectile::__dt +806e34ac Objects::FireSnake_ball::SetScale +806e34c8 0x806e34c8 +806e352c Objects::FireSnake::__dt +806e3598 Objects::FireSnake::OnStart +806e36cc Objects::FireSnake::Update +806e3a00 Objects::FireSnake::OnCollision +806e3a90 Objects::FireSnake::OnItemCollision +806e3b18 Objects::FireSnake::OnCycleEnd +806e3bcc Objects::FireSnake::OnCycleEnd2 +806e3bd0 Objects::FireSnake::OnCycleStart +806e3c70 Objects::FireSnake::OnCycleStart2 +806e3fb4 Objects::FireSnake::OnInitialGroundCollision +806e4078 Objects::FireSnake::vf_0x114 +806e41e8 Objects::FireSnake::vf_0x118 +806e4320 Objects::FireSnake::vf_0x11c +806e43b0 0x806e43b0 +806e4438 Objects::FireSnake::vf_0x120 +806e443c Objects::FireSnake::vf_0x124 +806e45a0 Objects::FireSnake::vf_0x128 +806e45ac Objects::FireSnake::vf_0x12c +806e45b0 Objects::FireSnake::vf_0xec +806e4718 0x806e4718 +806e4aec Objects::FireSnake_ball::GetEntity +806e4af4 Objects::FireSnake_ball::UpdateDrawInfo +806e4b50 Objects::FireSnake_ball::vf_0x8c +806e4b54 Objects::FireSnake_ball::vf_0xf8 +806e4be4 Objects::FireSnake::RequestShoot +806e4bf0 Objects::FireSnake::vf_0x130 +806e4bf8 Objects::FireSnake::LoadAnimations +806e4c44 Objects::FireSnake::GetPropertiesBitfield +806e4c4c Objects::FireSnake_eye::LoadCollision +806e4c50 Objects::FireSnake_eye::LoadRoute +806e4c54 Objects::FireSnake_eye::GetName +806e4c60 Objects::FireSnake_eye::GetSubFileName +806e4c6c Objects::FireSnake_eye::GetPropertiesBitfield +806e4c74 Objects::FireSnake_eye::__dt +806e4cb4 Objects::FireSnake_ball::__dt +806e4cf4 Objects::FireSnake_ball::vf_0xf0 +806e4cfc Objects::FireSnake_ball::LoadAnimations +806e4d48 Objects::FireSnake_ball::GetPropertiesBitfield +806e4d50 Objects::FireSnake::__dt(thunk) +806e4d58 Objects::FireSnake_v::__ct +806e4ea4 Objects::FireSnake_v::OnStart +806e4f3c Objects::FireSnake_v::Update +806e4f8c 0x806e4f8c +806e52d8 Objects::FireSnake_v::OnCycleEnd +806e52dc Objects::FireSnake_v::OnCycleEnd2 +806e52e0 Objects::FireSnake_v::OnCycleStart +806e53d8 Objects::FireSnake_v::OnCycleStart2 +806e559c Objects::FireSnake_v::OnInitialGroundCollision +806e55ac Objects::FireSnake_v::vf_0x114 +806e5730 Objects::FireSnake_v::__dt +806e5788 0x806e5788 +806e5790 obj_FlamePole_v::__ct +806e5b18 0x806e5b18 +806e5b7c 0x806e5b7c +806e5cb8 obj_FlamePole_v_update +806e5dd0 0x806e5dd0 +806e5e1c 0x806e5e1c +806e5e64 0x806e5e64 +806e5edc obj_FlamePole_v_raiseUpdate +806e5f6c obj_FlamePole_v_beforeShake +806e5f8c obj_FlamePole_v_calcShake +806e60a8 obj_FlamePole_v_dropUpdate +806e60d4 0x806e60d4 +806e6164 0x806e6164 +806e61b4 0x806e61b4 +806e61d0 0x806e61d0 +806e64a0 0x806e64a0 +806e650c 0x806e650c +806e6564 0x806e6564 +806e656c 0x806e656c +806e6578 0x806e6578 +806e6584 0x806e6584 +806e658c 0x806e658c +806e6594 0x806e6594 +806e6920 0x806e6920 +806e6924 0x806e6924 +806e6b80 0x806e6b80 +806e6bc0 Objects::HwanwanItembox::__ct +806e6c44 Objects::Itembox::__dt +806e6c84 0x806e6c84 +806e6cc4 Objects::HwanwanItembox::OnStart +806e6d40 Objects::HwanwanItembox::Update +806e6f24 Objects::HwanwanItembox::UpdateShadow +806e7024 Objects::Hwanwan::__ct +806e73ac Objects::Hwanwan::__dt +806e73ec 0x806e73ec +806e7794 Objects::Hwanwan::Update +806e789c Objects::Hwanwan::vf_0xec +806e7ab0 0x806e7ab0 +806e7e18 0x806e7e18 +806e7e6c 0x806e7e6c +806e7ee4 0x806e7ee4 +806e8078 0x806e8078 +806e83a0 0x806e83a0 +806e83bc 0x806e83bc +806e8444 0x806e8444 +806e85f4 0x806e85f4 +806e8670 0x806e8670 +806e8674 Objects::Hwanwan::LoadClipInfo +806e8678 Objects::Hwanwan::LoadCollision +806e867c Objects::Hwanwan::LoadModels +806e8680 Objects::Hwanwan::GetPropertiesBitfield +806e8688 Objects::Itembox::IsActive +806e869c Objects::Itembox::IsSolid +806e86a4 Objects::Itembox::OnNormalCollision +806e86a8 Objects::Itembox::UpdateModelScale +806e86ac Objects::Itembox::UpdateModelMatrix +806e86b0 Objects::Itembox::LoadShadow +806e86c4 Objects::Itembox::GetPropertiesBitfield +806e86cc Objects::HwanwanItembox::GetBRRESName +806e86d8 Objects::HwanwanItembox::GetSubFileName +806e86e4 Objects::HwanwanItembox::GetName +806e86f0 Objects::HwanwanItembox::GetID +806e8708 Objects::HwanwanItembox::__dt +806e8748 Objects::HwanwanItembox::LoadRoute +806e874c Objects::Itembox::UpdateShadow +806e8750 0x806e8750 +806e8754 Objects::OnStart +806e87a0 Objects::Hwanwan_Chn::ToggleVisible +806e87a4 Objects::Hwanwan_Chn::__dt +806e87e4 Objects::Hwanwan_Chn::LoadCollision +806e87e8 Objects::Hwanwan_Chn::LoadRoute +806e87ec Objects::Hwanwan_Chn::GetName +806e87f8 Objects::Hwanwan_Chn::GetSubFileName +806e8804 Objects::Hwanwan_Chn::GetPropertiesBitfield +806e880c 0x806e880c +806e89c0 0x806e89c0 +806e8ca4 0x806e8ca4 +806e8dd4 0x806e8dd4 +806e8e3c 0x806e8e3c +806e905c 0x806e905c +806e91e4 0x806e91e4 +806e9310 0x806e9310 +806e963c 0x806e963c +806e9640 0x806e9640 +806e969c 0x806e969c +806e9758 0x806e9758 +806e975c 0x806e975c +806e9760 0x806e9760 +806e9844 0x806e9844 +806e99b8 0x806e99b8 +806e9ae4 0x806e9ae4 +806e9cd0 0x806e9cd0 +806e9d18 0x806e9d18 +806e9d4c 0x806e9d4c +806e9dac 0x806e9dac +806e9ec4 0x806e9ec4 +806ea12c 0x806ea12c +806ea184 0x806ea184 +806ea18c 0x806ea18c +806ea194 0x806ea194 +806ea19c 0x806ea19c +806ea1a4 Objects::HeyHoBallGBA::__ct +806ea46c 0x806ea46c +806ea4d0 Objects::HeyHoBallGBA::OnStart +806ea660 Objects::HeyHoBallGBA::Update +806ea760 Objects::HeyHoBallGBA::OnCollision +806ea858 Objects::HeyHoBallGBA::OnItemCollision +806ea8e0 0x806ea8e0 +806ea8f4 0x806ea8f4 +806ea91c 0x806ea91c +806ea9b8 0x806ea9b8 +806eaaec 0x806eaaec +806eabb8 0x806eabb8 +806eac64 0x806eac64 +806eae04 0x806eae04 +806eaf84 Objects::HeyHoBallGBA::vf_0xec +806eb0a8 0x806eb0a8 +806eb1e8 0x806eb1e8 +806eb264 0x806eb264 +806eb3b8 0x806eb3b8 +806eb450 0x806eb450 +806eb488 0x806eb488 +806eb700 Objects::HeyHoBallGBA::__dt +806eb76c Objects::HeyHoBallGBA::RequestShoot +806eb778 0x806eb778 +806eb780 Objects::HeyHoBallGBA::LoadAnimations +806eb7cc Objects::HeyHoBallGBA::GetPropertiesBitfield +806eb7d4 0x806eb7d4 +806eb7dc Objects::HeyHoShipGBA::__ct +806eb878 Objects::MapObjShooter::__dt +806eb8b8 Objects::HeyHoShipGBA::OnStart +806eba7c Objects::HeyHoShipGBA::Update +806ebb84 Objects::HeyHoShipGBA::GetShootFromRoutePointID +806ebba4 0x806ebba4 +806ebbf0 0x806ebbf0 +806ebcb4 0x806ebcb4 +806ebf1c 0x806ebf1c +806ebfa4 0x806ebfa4 +806ec200 Objects::HeyHoShipGBA::__dt +806ec240 Objects::HeyHoShipGBA::GetPropertiesBitfield +806ec248 Objects::HeyHoShipManager::__ct +806ec3f4 Objects::HeyHoShipManager::__dt +806ec470 Objects::HeyHoShipManager::OnStart +806ec748 Objects::HeyHoShipManager::Update +806ec7cc 0x806ec7cc +806ec7d0 Objects::MapObjSniper::LoadClipInfo +806ec7d4 Objects::HighwayManager::LoadCollision +806ec7d8 Objects::HighwayManager::LoadRoute +806ec7dc Objects::HighwayManager::LoadModels +806ec7e0 Objects::HighwayManager::GetPropertiesBitfield +806ec7e8 0x806ec7e8 +806ec8c0 0x806ec8c0 +806eca0c 0x806eca0c +806eca4c 0x806eca4c +806eca50 0x806eca50 +806eca58 Objects::KoopaFigure64::__ct +806ecb88 Objects::KoopaFigure64::OnStart +806ecca0 Objects::KoopaFigure64::Update +806ed054 Objects::KoopaFigure64::UpdateForCPURace +806ed0fc Objects::KoopaFigure64::UpdateCollision +806ed258 Objects::KoopaFigure64::__dt +806ed298 Objects::KoopaFigure64::LoadCollision +806ed2ac Objects::KoopaFigure64::OnCollision +806ed2c8 Objects::MapObjSniper::__ct +806ed338 Objects::MapObjSniper::__dt +806ed378 Objects::MapObjSniper::OnStart +806ed488 Objects::MapObjSniper::Update +806ed4f4 0x806ed4f4 +806ed564 0x806ed564 +806ed5e4 0x806ed5e4 +806ed600 0x806ed600 +806ed604 0x806ed604 +806ed60c 0x806ed60c +806ed610 0x806ed610 +806ed614 0x806ed614 +806ed618 0x806ed618 +806ed61c Objects::SunDS::__ct +806ed748 0x806ed748 +806ed7ac Objects::SunDS::__dt +806ed818 Objects::SunDS::OnStart +806ed880 Objects::SunDS::Update +806eda0c 0x806eda0c +806eda28 0x806eda28 +806edc4c 0x806edc4c +806edc98 0x806edc98 +806edc9c 0x806edc9c +806edd28 0x806edd28 +806edd54 0x806edd54 +806eddac 0x806eddac +806edddc Objects::SunDS::GetShootFromRoutePointID +806ede0c 0x806ede0c +806ede14 Objects::SunDS::LoadAnimations +806ede58 Objects::SunDS::GetPropertiesBitfield +806ede60 Objects::SunDS::__dt(thunk) +806ede68 Objects::SunDSManager::__ct +806edfc4 Objects::SunDSManager::__dt +806ee040 0x806ee040 +806ee158 0x806ee158 +806ee1f4 0x806ee1f4 +806ee260 0x806ee260 +806ee384 Objects::TruckChimSmkW::__ct +806ee500 Objects::TruckChimSmkW::LoadModels +806ee514 Objects::TruckChimSmkW::LoadAnimations +806ee56c Objects::TruckChimSmkW::LoadCollision +806ee580 Objects::TruckChimSmkW::GetSolidityCenter +806ee618 Objects::TruckChimSmkW::OnStart +806ee6cc Objects::TruckChimSmkW::Update +806ee880 Objects::TruckChimSmkW::__dt +806ee8c0 Objects::TruckChimSmkW::GetScnObjDrawOptionsIdx +806ee8c8 0x806ee8c8 +806ee9c8 0x806ee9c8 +806eea04 0x806eea04 +806eec1c 0x806eec1c +806eec5c Objects::HwanwanBall::__ct +806eed6c 0x806eed6c +806eedd0 Objects::HwanwanBall::OnStart +806ef124 Objects::HwanwanBall::Update +806ef358 Objects::HwanwanBall::OnCollision +806ef418 Objects::HwanwanBall::OnItemCollision +806ef4b0 0x806ef4b0 +806ef4bc 0x806ef4bc +806ef68c 0x806ef68c +806ef690 0x806ef690 +806ef934 0x806ef934 +806ef9a8 0x806ef9a8 +806efd70 0x806efd70 +806efe30 0x806efe30 +806f0194 0x806f0194 +806f02f8 0x806f02f8 +806f0380 0x806f0380 +806f0754 0x806f0754 +806f0830 0x806f0830 +806f0b0c 0x806f0b0c +806f0cfc 0x806f0cfc +806f0f18 0x806f0f18 +806f1404 0x806f1404 +806f153c Objects::HwanwanBall::UpdateShadow +806f1638 0x806f1638 +806f16dc 0x806f16dc +806f179c 0x806f179c +806f192c 0x806f192c +806f19a8 0x806f19a8 +806f1af8 0x806f1af8 +806f1bcc 0x806f1bcc +806f1c94 0x806f1c94 +806f1d8c Objects::HwanwanBall::__dt +806f1df8 Objects::HwanwanBall::UpdateModelMatrix +806f1dfc Objects::HwanwanBall::LoadAnimations +806f1e4c Objects::HwanwanBall::vf_0xc +806f1e54 Objects::HwanwanBall::LoadRoute +806f1e58 Objects::HwanwanBall::GetSubFileName +806f1e64 Objects::HwanwanBall::GetPropertiesBitfield +806f1e74 0x806f1e74 +806f2024 0x806f2024 +806f2194 0x806f2194 +806f23b0 0x806f23b0 +806f24e4 Audio::Engine3D::Disposer__dt +806f257c Audio::Engine3D::CreateInstance +806f260c Audio::Engine3D::DestroyInstance +806f2640 Audio::Engine3D::SetCurSound +806f264c 0x806f264c +806f26d4 0x806f26d4 +806f2764 0x806f2764 +806f27e0 Audio::Engine3D::__ct +806f2844 0x806f2844 +806f2884 0x806f2884 +806f28c4 Audio::Engine3D::__dt +806f296c Audio::Engine3D::UpdateAmbientParam +806f3180 Audio::Engine3D::GetRequiredVoiceOutCount +806f3188 0x806f3188 +806f3210 Audio::SinglePlayer::CalcWaitTime +806f3498 Audio::SinglePlayer::Disposer__dt +806f3638 Audio::SinglePlayer::CreateInstance +806f36e0 Audio::SinglePlayer::DestroyInstance +806f385c Audio::SinglePlayer::__ct +806f38d8 Audio::Handle::__ct +806f38e4 Audio::Handle::__dt +806f3978 Audio::SinglePlayer::__dt +806f3aa8 Audio::SinglePlayer::Calc +806f3bc0 Audio::SinglePlayer::PlaySound +806f3ddc Audio::Manager::PrepareSound +806f3e10 Audio::SinglePlayer::PrepareSound +806f3f1c 0x806f3f1c +806f4078 Audio::SinglePlayer::PlayPreparedSound +806f40fc Audio::SinglePlayer::PreventActiveSoundStop +806f4108 Audio::SinglePlayer::StopSound +806f4180 Audio::SinglePlayer::StartSound +806f4380 Audio::SinglePlayer::SetupActiveHandle +806f444c Audio::SinglePlayer::SetupActiveHandle_switch +806f4450 Audio::SinglePlayer::SetupActiveHandle_caseD_83 +806f4480 Audio::SinglePlayer::SetupActiveHandle_caseD_91 +806f449c Audio::SinglePlayer::SetupActiveHandle_caseD_85 +806f44dc Audio::SinglePlayer::SetupActiveHandle_caseD_7b +806f4508 Audio::SinglePlayer::SetupActiveHandle_caseD_7d +806f4524 0x806f4524 +806f461c Audio::SinglePlayer::StartActiveSound +806f46dc Audio::SinglePlayer::GetFreeHandle +806f4768 0x806f4768 +806f476c Audio::SinglePlayer::GetFanfareLength +806f48f0 0x806f48f0 +806f4944 Audio::SinglePlayer::StopInactiveSounds +806f49d4 Audio::SinglePlayerValuesMgr::Disposer__dt +806f4b00 Audio::SinglePlayerValuesMgr::CreateInstance +806f4ba8 Audio::SinglePlayerValuesMgr::DestroyInstance +806f4c5c Audio::SinglePlayerValuesMgr::__dt +806f4d00 Audio::SinglePlayerValuesMgr::SetHandle +806f4d24 Audio::SinglePlayerValuesMgr::Calc +806f4e58 Audio::SinglePlayerValuesMgr::DetachHandle +806f4e64 Audio::SinglePlayerValuesMgr::UpdateTracks +806f4ebc Audio::SinglePlayerValuesMgr::SetVolume +806f4f00 0x806f4f00 +806f4fc4 Audio::StreamsMgr::Disposer_dt +806f50f0 Audio::StreamsMgr::CreateInstance +806f5198 Audio::StreamsMgr::DestroyInstance +806f524c Audio::StreamsMgr::__dt +806f52f0 Audio::StreamsMgr::PrepareStreams +806f5494 Audio::StreamsMgr::ChangeStreamVolume +806f54b8 Audio::StreamsMgr::Calc +806f5644 Audio::StreamsMgr::ResetVolume +806f569c Audio::SinglePlayer::PlayBGSound +806f5710 Audio::SinglePlayer::UpdateWaitTime +806f577c 0x806f577c +806f57d0 Audio::SinglePlayer::CalcTitlePageNext +806f5b4c Audio::StreamsMgr::ChangeMultipleStreamsVolume +806f5bc4 Audio::StreamsMgr::ChangeStream +806f5ef8 Audio::EngineMgr::Init +806f604c Audio::EngineMgr::Update +806f6394 Audio::EngineMgr::CalcSoundId +806f642c 0x806f642c +806f64dc Audio::EngineMgr::CalcAccelerating +806f65f0 Audio::EngineMgr::CalcBraking +806f66d8 Audio::EngineMgr::CalcPitch +806f67b8 Audio::RaceAmbienceMgr::Disposer__dt +806f6950 Audio::RaceAmbienceMgr::CreateInstance +806f69fc Audio::RaceAmbienceMgr::DestroyInstance +806f6b48 Audio::RaceAmbienceMgr::__ct +806f6bc8 0x806f6bc8 +806f6c08 Audio::RaceAmbienceMgr::__dt +806f6d28 Audio::RaceAmbienceMgr::Init +806f6d5c Audio::RaceAmbienceMgr::StopGlobalSound +806f6d74 Audio::RaceAmbienceMgr::Update +806f6eac Audio::RaceAmbienceMgr::StopGlobalSoundFadeOut +806f6ec8 Audio::RaceAmbienceMgr::PlayIntroAmbience +806f6f58 Audio::RaceAmbienceMgr::PlayIntroAmbience_switch +806f6f5c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1 +806f7000 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_2 +806f7028 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_3 +806f70fc Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_4 +806f71d8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_5 +806f7294 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_6 +806f7310 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_7 +806f735c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_3a +806f7384 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_a +806f7400 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_b +806f7474 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_c +806f74e4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_d +806f7568 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_e +806f75b4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_f +806f7638 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_10 +806f76c0 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_11 +806f76f8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_12 +806f779c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_13 +806f7854 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_14 +806f78f8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_16 +806f7964 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_17 +806f79f8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_19 +806f7a48 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1a +806f7a74 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1b +806f7ac4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1c +806f7b24 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1d +806f7bc8 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1e +806f7bf4 Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_1f +806f7c1c Audio::RaceAmbienceMgr::PlayIntroAmbience_caseD_0 +806f7c38 Audio::RaceAmbienceMgr::PlayGlobalSound +806f7e0c Audio::RaceAmbienceMgr::StopGlobalSound(soundId) +806f7e40 Audio::RaceAmbienceMgr::PlayAmbience +806f7f94 Audio::RaceAmbienceMgr::SetAmbienceVolume +806f8038 Audio::RaceAmbienceMgr::SetAllAmbiencesVolume +806f80d4 Audio::RaceAmbienceMgr::UpdateAmbiences +806f8144 Audio::RaceAmbienceMgr::UpdateVeniceAndRingMissionAmbiences +806f85f4 0x806f85f4 +806f86bc Audio::Ambience::__ct +806f8748 Audio::Ambience::__dt +806f87d4 Audio::Ambience::IsPlayingSoundId +806f8808 Audio::Ambience::PlayAmbience +806f886c Audio::Ambience::ResetVolume +806f8898 Audio::Ambience::SetVolume +806f88b0 Audio::Ambience::Update +806f8a78 0x806f8a78 +806f8b7c Audio::GameHeap::Disposer__dt +806f8cb4 Audio::GameHeap::CreateInstance +806f8d84 Audio::GameHeap::DestroyInstance +806f8ea0 Audio::GameHeap::__ct +806f8f44 Audio::GameHeapImpl::__dt +806f8fb0 Audio::GameHeap::__dt +806f9094 Audio::GameHeap::Initialize +806f90dc Audio::GameHeap::DestroySoundHeap +806f911c Audio::GameHeap::SetType +806f9138 0x806f9138 +806f9178 EGG::SoundHeapMgr::SaveState(using) +806f924c EGG::SoundHeapMgr::LoadState(using) +806f9330 EGG::SoundHeapMgr::GetCurrentLevel(using) +806f9384 0x806f9384 +806f93a8 Audio::ReverbMgr::Disposer__dt +806f94d4 Audio::ReverbMgr::CreateInstance +806f95c0 Audio::ReverbMgr::DestroyInstance +806f9674 Audio::ReverbMgr::__ct +806f9744 Audio::ReverbMgr::__dt +806f97e8 Audio::ReverbMgr::Disable +806f980c Audio::ReverbMgr::Clear +806f995c 0x806f995c +806f999c Audio::ReverbMgr::Prepare +806f9a34 Audio::ReverbMgr::Play +806f9aac Audio::ReverbMgr::Disable2 +806f9ad0 Audio::GroupBankRequester::Request::__ct +806f9bd4 0x806f9bd4 +806f9c14 Audio::Actor<4>::__dt +806f9c88 0x806f9c88 +806f9d10 0x806f9d10 +806f9d84 Audio::RaceActor::SetupBRASD +806f9db0 Audio::RaceActor::UpdateBRASDFrame +806f9e28 Audio::RaceActor::Update +806f9e70 Audio::Actor<4>::SetPosition +806f9e74 Audio::RaceActor::SetupSound +806f9ef0 ObjectSoundAnimNoHandle::__ct +806fa018 Audio::RaceActor::__dt +806fa0dc ObjectSoundAnimNoHandle::Update +806fa124 ObjectSoundAnimNoHandle::Link +806fa194 ObjectSoundAnimNoHandle::DisableConditional +806fa1dc Audio::RaceActor::DisableConditional +806fa1f8 ObjectSoundAnimNoHandle::UpdateUserParam3 +806fa218 Audio::RaceActor::UpdateUserParam3 +806fa238 ObjectSoundAnimNoHandle::StartSoundLimited +806fa3a8 Audio::RaceActor::StartSoundLimited +806fa504 ObjectSoundAnimNoHandle::HoldSoundLimited +806fa674 Audio::RaceAnimActor::__ct +806fa79c Audio::RaceAnimActor::StartSound +806fa7b0 Audio::RaceActor::StartSound +806fa824 0x806fa824 +806fa83c Audio::RaceActor::StartSound(StartInfo) +806fa8bc Audio::RaceAnimActor::HoldSound +806fa8d0 0x806fa8d0 +806fa944 0x806fa944 +806fa95c Audio::RaceActor::HoldSound +806fa9dc Audio::RaceAnimActor::StopSound +806fa9f0 Audio::RaceActor::StopSound +806fa9f4 Audio::RaceActor::HoldSound +806fa9fc Audio::RaceActor::StartSound +806faa04 Audio::RaceActor::StartNewSoundLimited +806fab44 Audio::RaceActor::HoldSoundLimited +806fad58 Audio::RaceActor::StopAllSound +806fadbc Audio::RaceActor::GetPosition +806fadc4 Audio::RaceActor::UpdateUserParam +806fadd8 Audio::RaceActor::UpdateUserParam2 +806fadf0 Audio::RaceActor::detail_UpdateAmbientArg +806fae54 Audio::Actor<4>::TryStartSound(u32) +806faee0 Audio::Actor<4>::TryStartSound(ul) +806faf6c Audio::Actor<4>::TryStartSound(str) +806fb02c Audio::Actor<4>::TryStopAndStartSound(u32) +806fb0c0 Audio::Actor<4>::TryStopAndStartSound(ul) +806fb154 Audio::Actor<4>::TryStopAndStartSound(str) +806fb210 Audio::Actor<4>::TryHoldSound(u32) +806fb2f8 Audio::Actor<4>::TryHoldSound(ul) +806fb3e0 Audio::Actor<4>::TryHoldSound(str) +806fb4fc Audio::Actor<4>::TryHoldSound(u32, handleId) +806fb564 Audio::Actor<4>::TryHoldSound(u3l, handleId) +806fb5cc Audio::Actor<4>::TryHoldSound(str, handleId) +806fb670 Audio::Actor<4>::TryPrepareSound(u32) +806fb6fc Audio::Actor<4>::TryPrepareSound(ul) +806fb788 Audio::Actor<4>::TryPrepareSound(str) +806fb848 Audio::Actor<4>::TryStopAndPrepareSound(u32) +806fb8dc Audio::Actor<4>::TryStopAndPrepareSound(ul) +806fb970 Audio::Actor<4>::TryStopAndPrepareSound(str) +806fba2c ObjectSoundAnimNoHandle::__dt +806fbaf4 Audio::RaceAnimActor::__dt +806fbbcc Audio::Actor::detail_UpdateAmbientArg +806fbbd4 0x806fbbd4 +806fbbdc 0x806fbbdc +806fbbe4 Audio::RaceActor::__dt +806fbbec ObjectSoundAnimNoHandle::__dt +806fbbf4 ObjectSoundAnimNoHandle::HoldSoundLimited +806fbbfc ObjectSoundAnimNoHandle::StartSoundLimited +806fbc04 ObjectSoundAnimNoHandle::UpdateUserParam3 +806fbc0c ObjectSoundAnimNoHandle::DisableConditional +806fbc14 ObjectSoundAnimNoHandle::Update +806fbc1c ObjectSoundAnimNoHandle::Link +806fbc24 Audio::RaceActor::detail_UpdateAmbientArg +806fbc2c 0x806fbc2c +806fbc34 Audio::RaceActor::UpdateBRASDFrame +806fbc3c Audio::RaceActor::SetupBRASD +806fbc44 Audio::RaceActor::HoldSound +806fbc4c Audio::RaceActor::HoldSound(StartInfo) +806fbc54 Audio::RaceActor::StartSound +806fbc5c Audio::RaceActor::StartSound(StartInfo) +806fbc64 Audio::RaceAnimActor::StopSound +806fbc6c Audio::RaceAnimActor::HoldSound +806fbc74 Audio::RaceAnimActor::StartSound +806fbc7c Audio::RaceActor::StartNewSoundLimited +806fbc84 Audio::RaceActor::StopAllSound +806fbc8c Audio::RaceActor::HoldSoundLimited +806fbc94 Audio::RaceActor::StartSoundLimited +806fbc9c Audio::RaceActor::UpdateUserParam3 +806fbca4 Audio::RaceActor::DisableCondition +806fbcac Audio::RaceActor::UpdateUserParam2 +806fbcb4 Audio::RaceActor::UpdateUserParam +806fbcbc Audio::RaceActor::Reset +806fbcc4 Audio::RaceActor::GetPosition +806fbccc Audio::RaceActor::Update +806fbcd4 Audio::LinkedRaceActor::__ct +806fbd28 Audio::LinkedRaceActor::__dt +806fbd70 Audio::LinkedRaceActor::Link +806fbe2c Audio::LinkedRaceActor::Unlink +806fbe84 0x806fbe84 +806fbea4 0x806fbea4 +806fbf40 Audio::LinkedRaceActor::CannotPlaySounds +806fbfc8 0x806fbfc8 +806fbfcc Audio::LinkedRaceActor::Toggle +806fc028 Audio::LinkedRaceActor::GetKartPosition +806fc030 Audio::LinkedRaceActor::GetObjectPosition +806fc03c Audio::LinkedRaceActor::SetSoundParams +806fc04c Audio::ObjectActorAnim::__ct +806fc0a0 0x806fc0a0 +806fc0e0 Audio::ObjectActorAnim::Link +806fc150 Audio::ObjectActorAnim::Unlink +806fc158 Audio::ObjectActorAnim::Update +806fc15c Audio::ObjectActorAnim::StartSoundLimited +806fc700 Audio::ObjectActorAnim::HoldSoundLimited +806fcb20 Audio::ObjectActorAnim::StartNewSoundLimited +806fcd28 Audio::ObjectActorAnim::StartSound +806fd124 Audio::ObjectActorAnim::SetupSound +806fd3c0 Audio::ObjectActorAnim::DisableConditional +806fd55c Audio::ObjectActorAnim::UpdateUserParam3 +806fd60c Audio::ObjectActorAnim::__dt +806fd6e8 Audio::ObjectActorAnim::__dt(thunk) +806fd6f0 Audio::ObjectActorAnim::StartSound(thunk) +806fd6f8 Audio::ObjectActorAnim::StartNewSoundLimited(thunk) +806fd700 Audio::ObjectActorAnim::HoldSoundLimited(thunk) +806fd708 Audio::ObjectActorAnim::StartSoundLimited(thunk) +806fd710 Audio::ObjectActorAnim::UpdateUserParam3(thunk) +806fd718 Audio::ObjectActorAnim::DisableConditional(thunk) +806fd720 Audio::ObjectActorAnim::Update(thunk) +806fd728 Audio::ObjectActorAnim::Unlink(thunk) +806fd730 Audio::ObjectActorAnim::Link(thunk) +806fd738 Audio::ItemActor::__ct +806fd7e0 0x806fd7e0 +806fd820 Audio::Actor<2>::__dt +806fd894 0x806fd894 +806fd91c Audio::ItemActor::Link +806fd924 Audio::ItemActor::Unlink +806fd92c Audio::ItemActor::Update +806fd944 Audio::Actor<2>::SetPosition +806fd948 Audio::ItemActor::DisableConditional +806fd964 0x806fd964 +806fd980 Audio::ItemActor::UpdateUserParam3 +806fd9a0 0x806fd9a0 +806fd9c0 Audio::ItemActor::StartSoundLimited +806fdbf0 0x806fdbf0 +806fdcfc Audio::ItemActor::HoldSoundLimited +806fde88 0x806fde88 +806fdff4 Audio::ItemActor::StartNewSoundLimited +806fe0f0 0x806fe0f0 +806fe1d8 0x806fe1d8 +806fe230 Audio::GessoActor::__ct +806fe2d8 0x806fe2d8 +806fe34c 0x806fe34c +806fe3d4 Audio::GessoActor::Link +806fe3dc Audio::GessoActor::Update +806fe3e0 0x806fe3e0 +806fe3f0 0x806fe3f0 +806fe3f4 Audio::GessoActor::StartSoundLimited +806fe4ec 0x806fe4ec +806fe5d0 Audio::GessoActor::SetupBRASD +806fe5d4 Audio::GessoActor::UpdateBRASDFrame +806fe5d8 Audio::ItemActor::SetupBRASD +806fe5dc Audio::ItemActor::UpdateBRASD +806fe5e0 Audio::GessoActor::StartNewSoundLimited +806fe69c Audio::GessoActor::HoldSoundLimited +806fe7b4 Audio::GessoActor::StopAllSound +806fe7c8 Audio::GessoActor::StartSound +806fe83c Audio::GessoActor::StartSound(StartInfo) +806fe8bc Audio::GessoActor::HoldSound +806fe930 Audio::GessoActor::HoldSound(StartInfo) +806fe9b0 Audio::GessoActor::Reset +806fe9f0 Audio::GessoActor::GetPosition +806fe9f8 Audio::GessoActor::UpdateUserParam +806fea0c Audio::GessoActor::UpdateUserParam2 +806fea24 Audio::GessoActor::DisableConditional +806fea40 Audio::GessoActor::UpdateUserPar +806fea60 Audio::GessoActor::detail_UpdateAmbientArg +806feac4 Audio::ItemActor::StopAllSound +806feb28 Audio::ItemActor::StartSound +806feb9c Audio::ItemActor::StartSound(StartInfo) +806fec1c Audio::ItemActor::HoldSound +806fec90 Audio::ItemActor::HoldSound(StartInfo) +806fed10 Audio::ItemActor::Reset +806fed50 Audio::ItemActor::GetPosition +806fed58 Audio::ItemActor::UpdateUserParam +806fed6c Audio::ItemActor::UpdateUserParam2 +806fed84 Audio::ItemActor::detail_UpdateAmbientArg +806fede8 0x806fede8 +806fee74 0x806fee74 +806fef00 0x806fef00 +806fefc0 0x806fefc0 +806ff054 0x806ff054 +806ff0e8 0x806ff0e8 +806ff1a4 0x806ff1a4 +806ff28c 0x806ff28c +806ff374 0x806ff374 +806ff490 0x806ff490 +806ff4f8 0x806ff4f8 +806ff560 0x806ff560 +806ff604 0x806ff604 +806ff690 0x806ff690 +806ff71c 0x806ff71c +806ff7dc 0x806ff7dc +806ff870 0x806ff870 +806ff904 0x806ff904 +806ff9c0 Audio::Actor<2>::TryStartSound(u32) +806ffa4c Audio::Actor<2>::TryStartSound(ul) +806ffad8 Audio::Actor<2>::TryStartSound(str) +806ffb98 Audio::Actor<2>::TryStopAndStartSound(u32) +806ffc2c Audio::Actor<2>::TryStopAndStartSound(ul) +806ffcc0 Audio::Actor<2>::TryStopAndStartSound(str) +806ffd7c Audio::Actor<2>::TryHoldSound(u32) +806ffe64 Audio::Actor<2>::TryHoldSound(ul) +806fff4c Audio::Actor<2>::TryHoldSound(str) +80700068 Audio::Actor<2>::TryHoldSound(u32, handleId) +807000d0 Audio::Actor<2>::TryHoldSound(ul, handleId) +80700138 Audio::Actor<2>::TryHoldSound(str, handleId) +807001dc Audio::Actor<2>::TryPrepareSound(u32) +80700268 Audio::Actor<2>::TryPrepareSound(ul) +807002f4 Audio::Actor<2>::TryPrepareSound(str) +807003b4 Audio::Actor<2>::TryStopAndPrepareSound(u32) +80700448 Audio::Actor<2>::TryStopAndPrepareSound(ul) +807004dc Audio::Actor<2>::TryStopAndPrepareSound(str) +80700598 Audio::ItemActor::__dt +80700624 Audio::GessoActor::__dt +807006b0 0x807006b0 +807006b8 0x807006b8 +807006c0 0x807006c0 +807006c8 0x807006c8 +807006d0 0x807006d0 +807006d8 0x807006d8 +807006e0 0x807006e0 +807006e8 Audio::ItemActor::detail_UpdateAmbientArg(thunk) +807006f0 Audio::ItemActor::__dt(thunk) +807006f8 Audio::ItemActor::UpdateBRASDFrame(thunk) +80700700 Audio::ItemActor::SetupBRASD(thunk) +80700708 Audio::ItemActor::HoldSound(thunk) +80700710 Audio::ItemActor::HoldSound(StartInfo)(thunk) +80700718 Audio::ItemActor::StartSound(thunk) +80700720 Audio::ItemActor::StartSound(StartInfo)(thunk) +80700728 Audio::ItemActor::StartNewSoundLimited(thunk) +80700730 Audio::ItemActor::StopAllSound(thunk) +80700738 Audio::ItemActor::HoldSoundLimited(thunk) +80700740 Audio::ItemActor::StartSoundLimited(thunk) +80700748 Audio::ItemActor::UpdateUserParam3(thunk) +80700750 Audio::ItemActor::DisableConditional(thunk) +80700758 Audio::ItemActor::UpdateUserParam2(thunk) +80700760 Audio::ItemActor::UpdateUserParam(thunk) +80700768 Audio::ItemActor::Reset(thunk) +80700770 Audio::ItemActor::GetPosition(thunk) +80700778 Audio::ItemActor::Update(thunk) +80700780 Audio::ItemActor::Unlink(thunk) +80700788 Audio::ItemActor::Link(thunk) +80700790 0x80700790 +80700798 0x80700798 +807007a0 0x807007a0 +807007a8 Audio::GessoActor::detail_UpdateAmbientArg(thunk) +807007b0 Audio::GessoActor::__dt(thunk) +807007b8 Audio::GessoActor::UpdateBRASDFrame(thunk) +807007c0 Audio::GessoActor::SetupBRASD(thunk) +807007c8 Audio::GessoActor::HoldSound(thunk) +807007d0 Audio::GessoActor::HoldSound(StartInfo)(thunk) +807007d8 Audio::GessoActor::StartSound(thunk) +807007e0 Audio::GessoActor::StartSound(StartInfo)(thunk) +807007e8 Audio::GessoActor::StartNewSoundLimited(thunk) +807007f0 Audio::GessoActor::StopAllSound(thunk) +807007f8 Audio::GessoActor::HoldSoundLimited(thunk) +80700800 Audio::GessoActor::StartSoundLimited(thunk) +80700808 Audio::GessoActor::UpdateUserParam3(thunk) +80700810 Audio::GessoActor::DisableConditional(thunk) +80700818 Audio::GessoActor::UpdateUserParam2(thunk) +80700820 Audio::GessoActor::UpdateUserParam(thunk) +80700828 Audio::GessoActor::Reset(thunk) +80700830 Audio::GessoActor::GetPosition(thunk) +80700838 Audio::GessoActor::Update(thunk) +80700840 Audio::GessoActor::Link(thunk) +80700848 0x80700848 +80700888 Audio::KartActor::__ct +807009bc Audio::SimpleRaceActor::__dt +80700a48 Audio::KartActor::__dt +80700b0c Audio::KartActor::SetActorType +80700b2c Audio::KartActor::DisableConditional +80700b70 Audio::KartActor::UpdateUserParam3 +80700b90 Audio::KartActor::Link +80700ca4 Audio::KartActor::Unlink +80700d2c Audio::KartActor::Update +807014a0 0x807014a0 +807015d8 Audio::KartActor::StopAllSound +80701698 Audio::KartActor::SetupSound +8070169c Audio::KartActor::HoldSoundLimited +80701934 Audio::KartActor::StartSoundLimited +8070217c Audio::KartActor::OutputSoundToWiimotes +807021a0 Audio::KartActor::ApplyKCLSoundTrigger +80702208 Audio::KartActor::PlayBoostSound +807023a4 Audio::KartActor::PlayRampSound +80702540 0x80702540 +807027ac Audio::KartActor::PlayCannonSound +80702808 Audio::KartActor::PlayHornSound +80702910 Audio::KartActor::StartSound +80702994 Audio::KartActor::HoldSound +80702a20 Audio::KartActor::PlayMTSounds +80702c6c Audio::KartActor::PlayRoadSound +80702e80 0x80702e80 +80702f34 0x80702f34 +80702fdc Audio::KartActor::StartNewSoundLimited +80703164 Audio::KartActor::OnObjectNormalCollision +80703300 Audio::KartActor::OnObjectWallCollision +80703454 Audio::KartActor::PlayObjectCollisionSounds +80704628 Audio::KartActor::PlayWallCollisionSound +807046f8 Audio::KartActor::PlayBushCollisionSound +80704758 0x80704758 +80704804 0x80704804 +8070482c 0x8070482c +807048ac Audio::KartActor::UpdateLapSounds +80704aec Audio::KartActor::UpdateKCLValues +80704e74 0x80704e74 +80704f38 Audio::KartActor::SetRoadState +80704f4c Audio::KartActor::GetDriftAndSSMTRoadSoundId +80704fb0 Audio::KartActor::GetDriftAndSSMTRoadSoundId_switch +80704fb4 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_16 +80704fc8 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_15 +80704fd4 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_13 +80704fe8 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_b +80704ffc Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_5 +80705010 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_4 +80705024 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_3 +80705038 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_2 +8070504c Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_1 +80705060 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_0 +80705070 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_17 +80705084 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_1d +80705094 Audio::KartActor::GetDriftAndSSMTRoadSoundId_caseD_10 +8070509c Audio::KartActor::GetLandingSoundId +807050dc Audio::KartActor::GetLandingSoundId_switch +807050e0 Audio::KartActor::GetLandingSoundId_caseD_16 +807050f4 Audio::KartActor::GetLandingSoundId_caseD_15 +80705100 Audio::KartActor::GetLandingSoundId_caseD_13 +80705114 Audio::KartActor::GetLandingSoundId_caseD_b +80705128 Audio::KartActor::GetLandingSoundId_caseD_5 +8070513c Audio::KartActor::GetLandingSoundId_caseD_4 +80705150 Audio::KartActor::GetLandingSoundId_caseD_3 +80705164 Audio::KartActor::GetLandingSoundId_caseD_2 +80705178 Audio::KartActor::GetLandingSoundId_caseD_1 +8070518c Audio::KartActor::GetLandingSoundId_caseD_0 +8070519c Audio::KartActor::GetLandingSoundId_caseD_17 +807051b0 Audio::KartActor::GetLandingSoundId_caseD_1d +807051c0 Audio::KartActor::GetLandingSoundId_caseD_10 +807051c8 Audio::KartActor::GetRoadSoundId +80705230 Audio::KartActor::GetRoadSoundId_caseD_16 +80705244 Audio::KartActor::GetRoadSoundId_caseD_15 +80705250 Audio::KartActor::GetRoadSoundId_caseD_13 +80705264 Audio::KartActor::GetRoadSoundId_caseD_b +80705278 Audio::KartActor::GetRoadSoundId_caseD_5 +8070528c Audio::KartActor::GetRoadSoundId_caseD_4 +807052a0 Audio::KartActor::GetRoadSoundId_caseD_3 +807052b4 Audio::KartActor::GetRoadSoundId_caseD_2 +807052c8 Audio::KartActor::GetRoadSoundId_caseD_1 +807052dc Audio::KartActor::GetRoadSoundId_caseD_0 +807052ec Audio::KartActor::GetRoadSoundId_caseD_17 +80705300 Audio::KartActor::GetRoadSoundId_caseD_1d +80705310 Audio::KartActor::GetRoadSoundId_caseD_10 +80705318 Audio::KartActor::GetBrakingSoundId +80705380 Audio::KartActor::GetBrakingSoundId_caseD_16 +80705394 Audio::KartActor::GetBrakingSoundId_caseD_15 +807053a0 Audio::KartActor::GetBrakingSoundId_caseD_13 +807053b4 Audio::KartActor::GetBrakingSoundId_caseD_b +807053c8 Audio::KartActor::GetBrakingSoundId_caseD_5 +807053dc Audio::KartActor::GetBrakingSoundId_caseD_4 +807053f0 Audio::KartActor::GetBrakingSoundId_caseD_3 +80705404 Audio::KartActor::GetBrakingSoundId_caseD_2 +80705418 Audio::KartActor::GetBrakingSoundId_caseD_1 +8070542c Audio::KartActor::GetBrakingSoundId_caseD_0 +8070543c Audio::KartActor::GetBrakingSoundId_caseD_17 +80705450 Audio::KartActor::GetBrakingSoundId_caseD_1d +80705460 Audio::KartActor::GetBrakingSoundId_caseD_10 +80705468 Audio::KartActor::SetNonLocalVolumeAndPriority +80705ac4 0x80705ac4 +80705bc0 Audio::KartActor::PlayEngineSound +80705db4 Audio::KartActor::SetPitch +80705ec4 0x80705ec4 +80705f0c 0x80705f0c +80705f40 Audio::KartActor::PlayOtherKartCollisionSound +80705fe4 0x80705fe4 +80706064 Audio::SimpleRaceActor::SetupBRASD +80706068 Audio::SimpleRaceActor::UpdateBRASDFrame +8070606c 0x8070606c +80706070 Audio::SimpleRaceActor::__dt(thunk) +80706078 Audio::KartActor::__dt(thunk) +80706080 Audio::SimpleRaceActor::UpdateBRASDFrame(thunk) +80706088 Audio::SimpleRaceActor::SetupBRASD(thunk) +80706090 Audio::KartActor::HoldSound(thunk) +80706098 Audio::KartActor::StartSound(thunk) +807060a0 Audio::KartActor::StartNewSoundLimited(thunk) +807060a8 Audio::KartActor::StopAllSound(thunk) +807060b0 Audio::KartActor::HoldSoundLimited(thunk) +807060b8 Audio::KartActor::StartSoundLimited(thunk) +807060c0 Audio::KartActor::UpdateUserParam3(thunk) +807060c8 Audio::KartActor::DisableConditional(thunk) +807060d0 Audio::KartActor::Update(thunk) +807060d8 Audio::KartActor::Unlink(thunk) +807060e0 Audio::KartActor::Link(thunk) +807060e8 Audio::ObjectActor::__ct +80706194 0x80706194 +807061d4 Audio::ObjectActor::__dt +80706264 Audio::ObjectActor::Update +8070638c Audio::ObjectActor::Unlink +80706394 Audio::ObjectActor::Link +80706404 0x80706404 +8070645c Audio::ObjectActor::StartNewSoundLimited +80706fd4 Audio::ObjectActor::HoldSoundLimited +807072e8 Audio::ObjectActor::StartSoundLimited +807074a4 0x807074a4 +807077e4 Audio::ObjectActor::DisableConditional +80707c4c Audio::ObjectActor::UpdateUserParam3 +80707cd0 Audio::ObjectActor::SetupSound +80707d88 0x80707d88 +80707dcc Audio::ObjectActor::__dt(thunk) +80707dd4 Audio::ObjectActor::StartNew(thunk) +80707ddc Audio::ObjectActor::HoldSoundLimited(thunk) +80707de4 Audio::ObjectActor::StartSoundLimited(thunk) +80707dec Audio::ObjectActor::UpdateUserParam3(thunk) +80707df4 Audio::ObjectActor::DisableConditional(thunk) +80707dfc Audio::ObjectActor::Update(thunk) +80707e04 Audio::ObjectActor::Unlink(thunk) +80707e0c Audio::ObjectActor::Link(thunk) +80707e14 Audio::ItemAlterationMgr::Disposer__dt +80707f64 Audio::ItemAlterationMgr::CreateInstance +80707fd8 0x80707fd8 +80708018 Audio::ItemAlterationMgr::DestroyInstance +8070811c Audio::ItemAlterationMgr::__dt +807081f4 Audio::ItemAlterationMgr::Init +8070824c Audio::ItemAlterationMgr::IsDemo +8070826c Audio::ItemAlterationMgr::Update +8070840c Audio::ItemAlterationMgr::ResetItemState +80708424 Audio::ItemAlterationMgr::UpdateStatus +807085d8 Audio::ItemAlterationMgr::SetAudioAlteration +80708750 Audio::ItemAlterationMgr::GetCourseSoundId +80708770 Audio::ItemAlterationMgr::CalcStatus2Values +8070880c Audio::ItemAlterationMgr::PlayStarMusic +80708864 Audio::ItemAlterationMgr::PlayMegaMusic +8070889c Audio::RaceMgr::Disposer__dt +80708a2c Audio::RaceMgr::CreateInstance +80708a7c Audio::RaceMgr::DestroyInstance +80708bc0 Audio::RaceMgr::ActorHolder::Compare +80708be4 Audio::RaceMgr::__ct +80708e04 0x80708e04 +80708e44 Audio::RaceMgr::__dt +80708f5c Audio::RaceMgr::Init +80709108 Audio::RaceMgr::Shutdown +807091fc Audio::RaceMgr::Calc +807095fc 0x807095fc +807096f4 Audio::RaceMgr::UpdatePlayerMatrix +80709858 0x80709858 +807098ec 0x807098ec +80709974 Audio::RaceMgr::StartRace +80709a00 Audio::RaceMgr::UpdateActors +80709a70 Audio::RaceMgr::UpdateLocalPlayerParams +80709bc4 Audio::RaceMgr::IsAPlayerSquishedOrSmall +80709c88 Audio::RaceMgr::IsAPlayerInStar +80709cfc Audio::RaceMgr::IsAPlayerInMega +80709d70 0x80709d70 +80709db8 0x80709db8 +80709ebc Audio::RaceMgr::SetNonTrackVolumes +80709f68 Audio::RaceMgr::SetEngineVolume +80709f70 Audio::RaceMgr::SetNonTrackAndEngineVolume +8070a020 Audio::RaceMgr::SetRaceState +8070a71c 0x8070a71c +8070a790 0x8070a790 +8070a794 0x8070a794 +8070a7a8 0x8070a7a8 +8070a7bc 0x8070a7bc +8070a7dc 0x8070a7dc +8070a8dc 0x8070a8dc +8070a8fc 0x8070a8fc +8070a9a8 0x8070a9a8 +8070aa04 0x8070aa04 +8070aa9c 0x8070aa9c +8070ab30 Audio::RaceMgr::CheckRaceState +8070b038 0x8070b038 +8070b0b4 Audio::RaceMgr::SortAndToggleActors +8070bcb0 Audio::RaceMgr::SetKartSound +8070bd04 0x8070bd04 +8070bd48 0x8070bd48 +8070bd50 0x8070bd50 +8070bdec 0x8070bdec +8070be2c 0x8070be2c +8070bf58 0x8070bf58 +8070bfc0 0x8070bfc0 +8070c074 0x8070c074 +8070c118 0x8070c118 +8070c120 0x8070c120 +8070c1dc Audio::RSARPlayer::OutputSoundToWiimotes +8070c2c0 0x8070c2c0 +8070c328 Audio::RSARPlayer::IsDemo +8070c344 0x8070c344 +8070c36c 0x8070c36c +8070c3ec Audio::RSARPlayer::CreateInstance +8070c610 Audio::RSARPlayer::DestroyInstance +8070c688 Audio::RSARPlayer::Close +8070c6e0 Audio::RSARPlayer::OnLoad +8070c6ec Audio::RSARPlayer::Stop +8070c748 Audio::RSARPlayer::HasFinishedLoadingGroups +8070c754 Audio::RSARPlayer::Calc +8070c8cc Audio::RSARPlayer::OnNewPageLayer +8070c8d0 Audio::MenuRSARPlayer::OnNewPageLayer +8070caf4 0x8070caf4 +8070cbec 0x8070cbec +8070cbf8 0x8070cbf8 +8070cc04 Audio::RSARPlayer::PlaySoundById +8070ccc8 Audio::RSARPlayer::HoldSoundById +8070cd2c 0x8070cd2c +8070ce98 0x8070ce98 +8070ced8 Audio::RSARPlayer::PlaySound +8070db40 Audio::RSARPlayer::StopSoundById +8070db80 Audio::RSARPlayer::HoldSound +8070dba4 0x8070dba4 +8070dc50 0x8070dc50 +8070de3c 0x8070de3c +8070dee4 0x8070dee4 +8070dfa8 0x8070dfa8 +8070dfcc Audio::RSARPlayer::PrepareReverb +8070dfd0 Audio::RSARPlayer::Reset +8070dff4 Audio::MenuRSARPlayer::__ct +8070e028 Audio::MenuRSARPlayer::Prepare +8070e0d8 Audio::MenuRSARPlayer::Close +8070e130 Audio::MenuRSARPlayer::OnLoad +8070e198 Audio::MenuRSARPlayer::Stop +8070e1f4 Audio::MenuRSARPlayer::PrepareReverb +8070e300 Audio::RaceRSARPlayer::__ct +8070e380 Audio::RaceRSARPlayer::OnLoad +8070e3c0 Audio::RaceRSARPlayer::Stop +8070e428 Audio::RaceRSARPlayer::Pause +8070e4bc Audio::RaceRSARPlayer::Resume +8070e54c Audio::RaceRSARPlayer::PlayEndRaceMenuButtonClickSound +8070e564 Audio::RaceRSARPlayer::SetFullVolume +8070e574 Audio::RaceRSARPlayer::HalveVolume +8070e584 Audio::RaceRSARPlayer::Prepare +8070e6cc Audio::RaceRSARPlayer::LoadCharacterGroups +8070e810 Audio::RaceRSARPlayer::PrepareReverb +8070e960 Audio::RaceRSARPlayer::Close +8070e9c8 Audio::RaceRSARPlayer::Calc +8070eb64 Audio::RaceRSARPlayer::PlaySound +8070ecd8 Audio::RaceRSARPlayer::HoldSound +8070ed14 Audio::TestRSARPlayer::__ct +8070ed48 Audio::TestRSARPlayer::Prepare +8070ed78 Audio::TestRSARPlayer::Close +8070edd0 Audio::TestRSARPlayer::OnDeactivate +8070eddc Audio::GlobeRSARPlayer::__ct +8070ee18 Audio::RSARPlayer::__dt +8070ee9c Audio::GlobeRSARPlayer::OnDeactivate +8070eee8 Audio::GlobeRSARPlayer::Prepare +8070ef7c Audio::GlobeRSARPlayer::Calc +8070f0f4 Audio::GlobeRSARPlayer::PrepareReverb +8070f200 Audio::GlobeRSARPlayer::Close +8070f258 0x8070f258 +8070f2c4 Audio::Manager::OpenBRSAR +8070f2f0 Audio::Manager::Disposer__dt +8070f388 Audio::Manager::CreateInstance +8070f46c Audio::Manager::DestroyInstance +8070f4a0 Audio::Manager::__ct +8070f560 Audio::Manager::__dt +8070f660 Audio::Manager::DestroyAudioInstances +8070f6ac Audio::Manager::Init +8070f7a8 Audio::Manager::InitSelf +8070f980 0x8070f980 +8070f9fc 0x8070f9fc +8070fa3c 0x8070fa3c +8070fa7c Audio::Manager::CreateAudioInstances +8070fafc Audio::Manager::LoadControlsGroup +8070fb98 Audio::Manager::Calc +8070fca0 Audio::Manager::StartSound +8070fce8 Audio::Manager::HoldSound +8070fd30 Audio::Manager::EnterHBM +8070fda8 Audio::Manager::ExitHBM +8070fe30 Audio::Manager::AudioUtilityCallback +8070fe48 Audio::Manager::Lock +8070fe54 Audio::Manager::Unlock +8070fe60 Audio::Manager::PauseOnDVDBusy +8070ff10 Audio::Manager::SetupMemoryArchive +8070ff20 0x8070ff20 +8070ffac Audio::Manager::HoldSound +8070ffe0 Audio::Manager::HoldSound(str) +80710050 Audio::Manager::PrepareSound +80710084 Audio::Manager::PrepareSound(str) +807100f4 Audio::Manager::StartSound +80710128 Audio::Manager::StartSound(str) +80710198 0x80710198 +807101b8 Audio::Manager::LoadState(thunk) +807101c0 Audio::Manager::HoldSound(thunk) +807101c8 Audio::Manager::StartSound(thunk) +807101d0 Audio::Manager::Calc(thunk) +807101d8 Audio::Manager::LoadGroup(thunk) +807101e0 Audio::Manager::LoadGroup(thunk) +807101e8 Audio::Manager::LoadGroup(thunk) +807101f0 Audio::Manager::CloseArchive(thunk) +807101f8 Audio::Manager::SetupMemoryArchive(thunk) +80710200 Audio::Manager::SetupMemoryArchive(thunk) +80710208 Audio::Manager::OpenMemoryArchive(thunk) +80710210 Audio::Manager::OpenNANDArchive(thunk) +80710218 Audio::Manager::OpenDVDArchive(thunk) +80710220 Audio::Manager::OpenArchive(thunk) +80710228 Audio::Manager::__dt(thunk) +80710230 Audio::Manager::WriteSeqVariable +807102b0 0x807102b0 +807102f0 Audio::Track::SetValue +80710314 Audio::Track::Calc +80710358 Audio::PitchModuler::_ct +8071036c Audio::PitchModuler::Update +807103e8 Audio::PitchModuler::GetNextLimit +8071041c Audio::SoundTriggerMgr::Disposer__dt +80710548 Audio::SoundTriggerMgr::CreateInstance +807105cc Audio::SoundTriggerMgr::DestroyInstance +80710680 Audio::SoundTriggerMgr::__ct +807106d8 Audio::SoundTriggerMgr::__dt +8071077c Audio::SoundTriggerMgr::Init +807107d4 Audio::SoundTriggerMgr::Init_switch +807107d8 Audio::SoundTriggerMgr::Init_caseD_3a +80710854 Audio::SoundTriggerMgr::Init_caseD_1 +807108d0 Audio::SoundTriggerMgr::Init_caseD_4 +8071094c Audio::SoundTriggerMgr::Init_caseD_0 +807109c8 Audio::SoundTriggerMgr::Init_caseD_5 +80710a44 Audio::SoundTriggerMgr::Init_caseD_6 +80710ac0 Audio::SoundTriggerMgr::Init_caseD_3 +80710b3c Audio::SoundTriggerMgr::Init_caseD_c +80710bb8 Audio::SoundTriggerMgr::Init_caseD_18 +80710c34 Audio::SoundTriggerMgr::Init_caseD_1a +80710cb0 Audio::SoundTriggerMgr::Init_caseD_1d +80710d2c Audio::SoundTriggerMgr::Init_caseD_10 +80710da8 Audio::SoundTriggerMgr::Init_caseD_13 +80710e24 Audio::SoundTriggerMgr::Init_caseD_14 +80710ea0 Audio::SoundTriggerMgr::Init_caseD_17 +80710f1c Audio::SoundTriggerMgr::Init_caseD_15 +80710f98 Audio::SoundTriggerMgr::Init_caseD_20 +80711010 Audio::SoundTriggerMgr::Init_caseD_2a +8071102c Audio::SoundTriggerMgr::IsAPlayerOnVariant +80711070 Audio::SoundTriggerMgr::Shutdown +8071107c Audio::SoundTriggerMgr::Update +807110b8 Audio::SoundTriggerMgr::IsPlayerAheadOfOtherLocal +80711178 Audio::SoundTriggerMgr::ApplyTrigger +807112d0 Audio::SoundTriggerMgr::ApplyTrigger_switch +807112d4 Audio::SoundTriggerMgr::ApplyTrigger_caseD_3a +80711428 Audio::SoundTriggerMgr::ApplyTrigger_caseD_2 +807116cc Audio::SoundTriggerMgr::ApplyTrigger_caseD_4 +807116ec Audio::SoundTriggerMgr::ApplyTrigger_switch +807116f0 Audio::SoundTriggerMgr::ApplyTrigger_caseD_0 +80711774 Audio::SoundTriggerMgr::ApplyTrigger_caseD_1 +80711820 Audio::SoundTriggerMgr::ApplyTrigger_caseD_2 +807118a4 Audio::SoundTriggerMgr::ApplyTrigger_caseD_3 +80711948 Audio::SoundTriggerMgr::ApplyTrigger_caseD_4 +807119f4 Audio::SoundTriggerMgr::ApplyTrigger_caseD_5 +80711b14 Audio::SoundTriggerMgr::ApplyTrigger_caseD_6 +80711b80 Audio::SoundTriggerMgr::ApplyTrigger_caseD_7 +80711c40 Audio::SoundTriggerMgr::ApplyTrigger_caseD_0 +80711cb0 Audio::SoundTriggerMgr::ApplyTrigger_caseD_5 +80711ee8 Audio::SoundTriggerMgr::ApplyTrigger_caseD_6 +8071203c Audio::SoundTriggerMgr::ApplyTrigger_caseD_7 +80712138 Audio::SoundTriggerMgr::ApplyTrigger_caseD_f +807123a8 Audio::SoundTriggerMgr::ApplyTrigger_caseD_9 +80712418 Audio::SoundTriggerMgr::ApplyTrigger_caseD_e +807125dc Audio::SoundTriggerMgr::ApplyTrigger_caseD_3 +80712670 Audio::SoundTriggerMgr::ApplyTrigger_caseD_a +8071287c Audio::SoundTriggerMgr::ApplyTrigger_caseD_b +80712940 Audio::SoundTriggerMgr::ApplyTrigger_caseD_c +80712960 Audio::SoundTriggerMgr::ApplyTrigger_switch2 +80712964 Audio::SoundTriggerMgr::ApplyTrigger_case2D_0 +807129c0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1 +80712a30 Audio::SoundTriggerMgr::ApplyTrigger_case2D_2 +80712a80 Audio::SoundTriggerMgr::ApplyTrigger_case2D_3 +80712ad0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_4 +80712b20 Audio::SoundTriggerMgr::ApplyTrigger_case2D_5 +80712b3c Audio::SoundTriggerMgr::ApplyTrigger_case2D_6 +80712b58 Audio::SoundTriggerMgr::ApplyTrigger_case2D_7 +80712b90 Audio::SoundTriggerMgr::ApplyTrigger_case2D_d +80712d7c Audio::SoundTriggerMgr::ApplyTrigger_case2D_1e +80712de8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1f +80712e18 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1b +80712fc0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1a +807130b8 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1c +807132a0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1d +807133c4 Audio::SoundTriggerMgr::ApplyTrigger_case2D_12 +80713430 Audio::SoundTriggerMgr::ApplyTrigger_case2D_11 +807134a0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_13 +807135b0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_14 +807135e0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_16 +80713610 Audio::SoundTriggerMgr::ApplyTrigger_case2D_17 +807138f0 Audio::SoundTriggerMgr::ApplyTrigger_case2D_23 +80713920 Audio::SoundTriggerMgr::ApplyTrigger_case2D_1 +8071393c SetTRKConnected +80713948 0x80713948 +80713994 0x80713994 +80713998 0x80713998 +8071399c 0x8071399c +807139a0 0x807139a0 +80713a88 Audio::ItemWarning::Init +80713adc Audio::ItemWarningMgr::PlayTargetedWarning +80713d08 Audio::ItemWarningMgr::PlayUntargetedWarning +80713f40 Audio::ItemWarningMgr::PlayWarningOnWiimote +80713fb8 Audio::ItemWarningMgr::Disposer__dt +80714148 Audio::ItemWarningMgr::CreateInstance +807141d0 Audio::ItemWarning::__dt +8071422c Audio::ItemWarningMgr::DestroyInstance +8071430c Audio::ItemWarningMgr::__dt +807143e8 Audio::ItemWarningMgr::Init +80714464 Audio::ItemWarningMgr::Shutdown +80714470 Audio::ItemWarningMgr::GetItemWarning +80714480 Audio::FileManager::__dt +807144c0 0x807144c0 +80714500 0x80714500 +80714540 Audio::FileManager::Init +8071466c 0x8071466c +80714738 0x80714738 +80714930 Audio::FileManager::LoadBank +80714a70 0x80714a70 +80714bb0 0x80714bb0 +80714c1c Audio::FileManager::IsBankLoaded +80714ca4 0x80714ca4 +80714d2c 0x80714d2c +80714f6c 0x80714f6c +80715018 Audio::FileManager::InvalidateWaveData +80715064 Audio::FileManager::InvalidateData +807150b0 Audio::FileManager::GetFileWaveDataAddress +807150d8 Audio::FileManager::GetFileAddress +80715100 Audio::FileManager::AudioFileManager +80715150 Audio::FileManager::__dt(thunk) +80715158 Audio::FileManager::InvalidateData(thunk) +80715160 Audio::FileManager::InvalidateWaveData(thunk) +80715168 Audio::FileManager::SetRequest +80715304 0x80715304 +80715344 Audio::FileManager::LoadGroupAsync +80715554 0x80715554 +8071564c Audio::GroupBankRequester::Disposer__dt +80715778 Audio::GroupBankRequester::CreateInstance +807158e0 Audio::GroupBankRequester::DestroyInstance +80715994 Audio::GroupBankRequester::__ct +80715ad0 Audio::GroupBankRequester::__dt +80715b74 Audio::GroupBankRequester::RequestLoad(id) +80715bac Audio::GroupBankRequester::RequestLoad(actorId) +80715c24 0x80715c24 +80715c44 Audio::GroupBankRequester::ProcessRequests +80715cd0 Audio::GroupBankRequester::LoadAsync +80715e54 Audio::GroupBankRequester::GroupBankLoader +80715e74 Audio::GroupBankRequester::ConstructRequests +80715e88 0x80715e88 +80715f44 0x80715f44 +80715f84 0x80715f84 +80716010 0x80716010 +807160f4 0x807160f4 +80716200 0x80716200 +80716208 0x80716208 +80716360 0x80716360 +8071639c 0x8071639c +807163a0 0x807163a0 +807163dc 0x807163dc +807163ec 0x807163ec +807163fc 0x807163fc +8071642c 0x8071642c +80716468 0x80716468 +80716488 0x80716488 +80716498 0x80716498 +807164b8 0x807164b8 +80716548 0x80716548 +8071654c 0x8071654c +80716550 0x80716550 +80716558 0x80716558 +80716560 0x80716560 +80716568 0x80716568 +80716570 0x80716570 +80716578 0x80716578 +80716580 0x80716580 +80716588 0x80716588 +80716590 0x80716590 +80716598 Audio::PlayersVolumeMgr::Disposer__dt +807166c4 Audio::PlayersVolumeMgr::CreateInstance +807167b8 Audio::PlayersVolumeMgr::DestroyInstance +8071686c Audio::PlayersVolumeMgr::__dt +80716910 0x80716910 +807169d8 0x807169d8 +80716a88 0x80716a88 +80716aa0 0x80716aa0 +80716ab8 Audio::PlayersVolumeMgr::Calc +80716b40 Audio::PlayersVolumeMgr::StopAllPlayersButTrackUI +80716ba0 Audio::PlayersVolumeMgr::MuteAllButTrackUI +80716c24 Audio::PlayersVolumeMgr::ResetAllButUI +80716c6c Audio::PlayersVolumeMgr::Reset +80716d18 Audio::PlayersVolumeMgr::PauseAllButTrackUI +80716d88 Audio::PlayersVolumeMgr::SetVolume +80716e74 0x80716e74 +80716f2c 0x80716f2c +80716f4c 0x80716f4c +80716f88 Audio::EchoMgr::Disposer__dt +807170b4 Audio::EchoMgr::CreateInstance +80717168 Audio::EchoMgr::DestroyInstance +8071721c Audio::EchoMgr::__ct +807172a4 Audio::EchoMgr::__dt +80717348 Audio::EchoMgr::Init +8071736c Audio::EchoMgr::Shutdown +80717370 Audio::EchoMgr::Update +8071740c Audio::EchoMgr::SetVolume +80717424 Audio::EchoMgr::SetEcho +8071743c MotionControllerSub::__ct +807178ec MotionControllerSub::__dt +807179ec 0x807179ec +80717c74 0x80717c74 +80717d14 0x80717d14 +80717d34 0x80717d34 +80717d58 0x80717d58 +80717dc0 0x80717dc0 +80717df4 0x80717df4 +80717e70 0x80717e70 +80717e7c 0x80717e7c +80717e98 0x80717e98 +80717eb4 0x80717eb4 +80717f00 0x80717f00 +80717f40 0x80717f40 +80717f6c 0x80717f6c +80717fa0 0x80717fa0 +80717fcc 0x80717fcc +807180f4 0x807180f4 +807181ec 0x807181ec +8071829c 0x8071829c +807182f4 0x807182f4 +80718354 0x80718354 +80718368 0x80718368 +807183c0 0x807183c0 +807183d4 0x807183d4 +807183e8 0x807183e8 +80718478 0x80718478 +807184d0 0x807184d0 +807184f8 0x807184f8 +80718538 0x80718538 +80718548 0x80718548 +807187a8 0x807187a8 +8071897c 0x8071897c +80718af0 0x80718af0 +80718ba0 0x80718ba0 +80718c04 0x80718c04 +80718c78 0x80718c78 +80718e30 0x80718e30 +80718e70 0x80718e70 +8071900c 0x8071900c +80719170 0x80719170 +807191fc 0x807191fc +80719270 0x80719270 +8071936c 0x8071936c +80719408 0x80719408 +80719430 0x80719430 +80719470 0x80719470 +8071952c 0x8071952c +80719538 0x80719538 +807195a4 0x807195a4 +80719610 0x80719610 +807196ac 0x807196ac +807196d8 0x807196d8 +8071970c 0x8071970c +80719770 0x80719770 +80719830 0x80719830 +80719864 0x80719864 +80719c4c 0x80719c4c +80719d8c 0x80719d8c +80719da8 Lakitu::Manager::Disposer__dt +80719e40 Lakitu::Manager::CreateInstance +80719ecc Lakitu::Manager::DestroyInstance +80719f00 Lakitu::Manager::__ct +80719f60 Lakitu::Manager::__dt +8071a050 Lakitu::Manager::CreatePlayers +8071a208 Lakitu::Manager::Init +8071a290 Lakitu::Manager::Update +8071a304 Lakitu::Manager::DoEnableRespawnAction +8071a37c Lakitu::Manager::ToggleVisible +8071a3fc 0x8071a3fc +8071a474 Lakitu::Manager::StartCountdownAnm +8071a4dc 0x8071a4dc +8071a554 Lakitu::Manager::GetCountdownStartFrame +8071a584 Lakitu::Movement::__ct +8071a650 0x8071a650 +8071a73c Lakitu::Movement::Reset +8071a894 0x8071a894 +8071a9f0 0x8071a9f0 +8071ab78 0x8071ab78 +8071aba8 Lakitu::Movement::SetBasePosition +8071abc4 0x8071abc4 +8071ac14 AI::CalcLinearTransfo +8071ac9c 0x8071ac9c +8071add4 0x8071add4 +8071aeec 0x8071aeec +8071afd4 Lakitu::Movement::Update +8071b5fc 0x8071b5fc +8071b818 0x8071b818 +8071b82c 0x8071b82c +8071b850 0x8071b850 +8071bbf4 Lakitu::Movement::UpdateRotation +8071bd80 0x8071bd80 +8071be8c Lakitu::Movement::UpdateExtMtx +8071c0bc 0x8071c0bc +8071c0d0 0x8071c0d0 +8071c198 0x8071c198 +8071c234 0x8071c234 +8071c2fc 0x8071c2fc +8071c31c 0x8071c31c +8071c470 0x8071c470 +8071c5f0 Lakitu::Movement::UpdateScale +8071c7dc 0x8071c7dc +8071c900 0x8071c900 +8071ca5c 0x8071ca5c +8071cb14 Lakitu::PlayerBase::__ct +8071cb5c Lakitu::PlayerBase::__dt +8071cbec Lakitu::PlayerBase::Init +8071cbf4 Lakitu::PlayerBase::Update +8071cc60 Lakitu::PlayerBase::ToggleModelsScreenVisibility +8071ccf8 Lakitu::PlayerBase::SetModelsVisibility +8071ce2c 0x8071ce2c +8071cf38 0x8071cf38 +8071d00c 0x8071d00c +8071d078 0x8071d078 +8071d0e4 Lakitu::Player::__ct +8071d7e4 AI::Base::__dt +8071d824 AI::Actions::__dt +8071d864 0x8071d864 +8071d8bc Lakitu::Action::__dt +8071d8fc Lakitu::Player::__dt +8071da34 0x8071da34 +8071da90 Lakitu::Player::CreateEnableActions +8071db58 0x8071db58 +8071dbcc 0x8071dbcc +8071dc24 0x8071dc24 +8071dcd0 Lakitu::Player::Init +8071dd94 Lakitu::Player::Update +8071df6c Lakitu::Player::GetPlayerIdx +8071df74 Lakitu::Player::StartRespawnAction +8071df8c Lakitu::Player::StartCountdownAction +8071dfdc Lakitu::Player::GetCountdownArmSwipeDuration +8071dfe8 0x8071dfe8 +8071e0d4 Lakitu::Player::LoadGraphics +8071ea24 0x8071ea24 +8071ea70 0x8071ea70 +8071eaa8 0x8071eaa8 +8071eb3c 0x8071eb3c +8071eca4 Lakitu::Player::MapToWorldSpace +8071eeb4 0x8071eeb4 +8071ef90 0x8071ef90 +8071f028 Lakitu::Player::OnStartIdle +8071f074 Lakitu::Player::UpdateIdle +8071f168 Lakitu::Player::OnStartCountdown +8071f2dc 0x8071f2dc +8071f37c Lakitu::Player::UpdateCountdown +8071f6c8 0x8071f6c8 +8071f76c 0x8071f76c +8071f7f0 Lakitu::Player::OnEndCountdown +8071f84c Lakitu::Player::OnStartLap +8071fa90 Lakitu::Player::UpdateLap +8071fe6c 0x8071fe6c +8071fec4 Lakitu::Player::OnStartRespawn +80720000 Lakitu::Player::UpdateRespawn +80720348 0x80720348 +80720364 Lakitu::Player::OnStartBackwards +80720450 Lakitu::Player::UpdateBackwards +80720b40 Lakitu::Player::OnEndBackwards +80720c30 Lakitu::Player::OnStartEnding +80720d40 Lakitu::Player::UpdateEnding +80720ff4 Lakitu::Player::OnEndEnding +80721070 Lakitu::Player::OnStartUnknown +80721090 Lakitu::Player::UpdateUnknown +80721178 AI::Base::OnStartDefaultAction +8072117c AI::Base::UpdateDefaultAction +80721180 Lakitu::Action::OnStart +807211c8 Lakitu::Action::Update +807211f8 Lakitu::Action::OnEnd +80721240 0x80721240 +807215b4 Lakitu::Player::__dt(thunk) +807215bc Lakitu::EnableLakituAction::__ct +807215dc Lakitu::EnableLakituAction::__dt +8072161c Lakitu::EnableLakituAction::ResetState +8072162c Lakitu::EnableLakituAction::HasActionHappened +80721648 Lakitu::EnableCountdownAction::__ct +80721668 Lakitu::EnableCountdownAction::__dt +807216a8 Lakitu::EnableCountdownAction::ResetState +807216b8 Lakitu::EnableCountdownAction::EnableAction +80721718 Lakitu::EnableDisplayLapAction::__ct +80721738 Lakitu::EnableDisplayLapAction::__dt +80721778 Lakitu::EnableDisplayLapAction::ResetState +807217a8 Lakitu::EnableDisplayLapAction::EnableAction +807217ec Lakitu::EnableBackwardsAction::__ct +8072180c Lakitu::EnableBackwardsAction::__dt +8072184c Lakitu::EnableBackwardsAction::ResetState +80721868 Lakitu::EnableBackwardsAction::EnableAction +807219a8 Lakitu::EnableRespawnAction::__ct +807219c8 Lakitu::EnableRespawnAction::__dt +80721a08 Lakitu::EnableRespawnAction::ResetState +80721a18 Lakitu::EnableRespawnAction::EnableAction +80721a1c Lakitu::EnableEndingAction::__ct +80721a3c Lakitu::EnableEndingAction::__dt +80721a7c Lakitu::EnableEndingAction::ResetState +80721a8c Lakitu::EnableEndingAction::EnableAction +80721adc 0x80721adc +80721afc 0x80721afc +80721b3c cGameSFX_Init +80721b4c 0x80721b4c +80721bac KartAIController::__ct +80721c58 KartAIController::__dt +80721ce0 KartAIController::Init +80721d88 KartAIController::Update +80721dd4 KartAIController::GetStick +80721e1c KartAIController::IsCPU +80721e60 KartAIController::IsRealLocal +80721ea0 0x80721ea0 +80721f08 thunk_0x80590664 +80721f0c KartAIController::IsGhost +80721f50 KartAIController::HaveSameTeam +80721f78 0x80721f78 +80721f80 0x80721f80 +80721f94 0x80721f94 +80721f9c 0x80721f9c +807220b8 KartAIController::IsOnTheGround +807220cc KartAIController::IsInTheAir +807220e0 0x807220e0 +807220f4 KartAIController::IsManuallyDrifting +80722108 KartAIController::IsHopping +8072211c KartAIController::IsAutomaticDrifting +80722130 KartAIController::IsInABill +80722144 0x80722144 +80722408 0x80722408 +80722448 0x80722448 +80722488 0x80722488 +807224a8 0x807224a8 +80722514 0x80722514 +8072251c 0x8072251c +8072265c 0x8072265c +80722738 0x80722738 +80722880 0x80722880 +8072288c 0x8072288c +807228b4 0x807228b4 +807228c0 0x807228c0 +8072297c 0x8072297c +80722984 0x80722984 +8072298c 0x8072298c +80722998 0x80722998 +80722ab0 0x80722ab0 +80722af8 0x80722af8 +80722b28 0x80722b28 +80722b70 0x80722b70 +80722b98 AI::CPUDriving::__ct +80722d14 AI::CPUDriving::__dt +80722ea4 0x80722ea4 +80722ee4 AI::CPUDriving::Init +80723018 AI::CPUDriving::InitEnemyRoute +807230a4 0x807230a4 +807230e4 0x807230e4 +807230ec 0x807230ec +807230f4 0x807230f4 +807230fc 0x807230fc +8072310c AI::CPUDriving::CalcStartBoost +8072316c 0x8072316c +80723170 ParamActionCalculator::GetStartBoost +80723178 0x80723178 +8072335c 0x8072335c +80723364 0x80723364 +8072336c 0x8072336c +8072344c 0x8072344c +80723470 0x80723470 +807234b0 0x807234b0 +807234c4 0x807234c4 +807234d8 0x807234d8 +8072353c 0x8072353c +80723550 0x80723550 +80723590 0x80723590 +8072359c 0x8072359c +80723640 0x80723640 +80723688 AI::CPUDriving::IsBattle +80723690 0x80723690 +80723694 0x80723694 +80723698 0x80723698 +8072369c 0x8072369c +807236a4 0x807236a4 +807236ac 0x807236ac +807236b0 0x807236b0 +807236ec 0x807236ec +80723e80 0x80723e80 +80723ec0 0x80723ec0 +80723fe0 0x80723fe0 +807241dc 0x807241dc +807241e0 0x807241e0 +80724258 0x80724258 +8072429c 0x8072429c +80724304 0x80724304 +807243fc 0x807243fc +8072441c 0x8072441c +80724484 0x80724484 +80724670 0x80724670 +80724678 0x80724678 +80724760 0x80724760 +80724768 0x80724768 +80724770 0x80724770 +80724778 0x80724778 +80724788 0x80724788 +807247cc 0x807247cc +8072492c 0x8072492c +80724b14 0x80724b14 +80724b30 0x80724b30 +80724c7c 0x80724c7c +80724da0 0x80724da0 +80724f74 0x80724f74 +80725150 0x80725150 +80725178 0x80725178 +80725258 0x80725258 +8072525c 0x8072525c +80725270 0x80725270 +8072527c 0x8072527c +8072535c 0x8072535c +8072537c 0x8072537c +807253bc 0x807253bc +807253fc 0x807253fc +80725554 0x80725554 +80725620 0x80725620 +80725628 0x80725628 +80725798 0x80725798 +80725818 0x80725818 +8072582c 0x8072582c +8072586c 0x8072586c +8072587c 0x8072587c +80725890 WorldLoader_GetStadiumTerrain +807258a4 0x807258a4 +807258b4 0x807258b4 +807258c8 0x807258c8 +80725908 0x80725908 +80725a7c 0x80725a7c +80725a84 0x80725a84 +80725a98 0x80725a98 +80725ad8 0x80725ad8 +80725ff0 0x80725ff0 +80726004 0x80726004 +80726044 0x80726044 +80726308 0x80726308 +8072633c 0x8072633c +8072637c 0x8072637c +807263d0 0x807263d0 +807263e0 0x807263e0 +807265fc 0x807265fc +807267e8 0x807267e8 +80726954 0x80726954 +80726a3c 0x80726a3c +80726af8 0x80726af8 +80726b2c 0x80726b2c +80726b6c 0x80726b6c +80726bc4 0x80726bc4 +80726bf8 0x80726bf8 +80726c38 0x80726c38 +80726c78 0x80726c78 +80726c7c 0x80726c7c +80726c84 0x80726c84 +80726c8c 0x80726c8c +80726c94 0x80726c94 +80726c9c 0x80726c9c +80726ca4 0x80726ca4 +80726cac 0x80726cac +80726cb4 0x80726cb4 +80726cb8 0x80726cb8 +80726cf8 0x80726cf8 +80726d00 0x80726d00 +80726d08 0x80726d08 +80726d10 0x80726d10 +80726d18 0x80726d18 +80726d20 0x80726d20 +80726d28 0x80726d28 +80726d70 0x80726d70 +80726da0 0x80726da0 +80726de8 AI::CPUDrivingRace::__ct +80726f74 AI::CPUDrivingAction::__dt +80726fb4 AI::CPUDrivingRace::__dt +80727070 AI::CPUDrivingRace::Init +80727160 AI::CPUDrivingRace::InitEnemyRoute +807272fc 0x807272fc +807273a8 0x807273a8 +807273dc AI::CPUDrivingRace::Update +807274d8 0x807274d8 +8072752c 0x8072752c +807276c8 0x807276c8 +807276cc 0x807276cc +807276d0 0x807276d0 +807276d8 0x807276d8 +807276e0 0x807276e0 +807276e8 0x807276e8 +80727730 0x80727730 +80727760 0x80727760 +807277a8 AI::Inputs::__ct +807277cc AI::Inputs::Reset +807277e4 AI::Inputs::AddInputs +807277f4 AI::Inputs::RemoveInputs +80727804 0x80727804 +8072780c AI::Player::__ct +807281a8 AI::PlayerActions::__dt +807281e8 AI::Player::__dt +80728350 AI::Player::Init +807284c0 AI::Player::Update +807284e4 AI::Player::vf_0x20 +80728574 0x80728574 +80728594 0x80728594 +80728638 0x80728638 +807286d8 AI::Player::OnStartPreRace +80728728 AI::Player::UpdatePreRace +807288b4 AI::Player::OnStartAI::CPUDriving +807288b8 AI::Player::UpdateAI::CPUDriving +80728ab4 AI::Player::OnStartRealPlayerDriving +80728ab8 AI::Player::UpdateRealPlayerDriving +80728bcc AI::Player::OnStartAction3 +80728bd0 AI::Player::UpdateAction3 +80728bd4 AI::Player::OnStartPostRaceDriving +80728c24 0x80728c24 +80728c28 AI::Player::UpdatePostRaceDriving +80728dcc AI::Player::OnStartPostBattleDriving +80728e1c AI::Player::UpdatePostBattleDriving +80728f3c AI::PlayerActions::OnStart +80728f84 AI::PlayerActions::Update +80728fb4 AI::PlayerActions::OnEnd +80728ffc AI::PlayerBike::__ct +80729080 AI::PlayerBike::__dt +807290d8 AI::PlayerBike::Init +807290dc AI::PlayerBike::Update +807290e0 AI::PlayerBike::vf_0x20 +807290e4 AI::PlayerBike::OnStartAction1 +807290e8 AI::PlayerBike::UpdateAction1 +807290ec AI::PlayerKart::__ct +80729144 AI::PlayerKart::__dt +8072919c AI::PlayerKart::Init +80729200 AI::PlayerKart::Update +80729204 AI::PlayerKart::vf_0x20 +80729208 AI::PlayerKart::OnStartAction1 +8072920c AI::PlayerKart::UpdateAction1 +80729210 0x80729210 +807298c4 0x807298c4 +80729904 0x80729904 +80729944 0x80729944 +80729964 0x80729964 +807299a8 0x807299a8 +807299ec 0x807299ec +807299f4 0x807299f4 +807299fc 0x807299fc +80729a04 0x80729a04 +80729a0c 0x80729a0c +80729a14 0x80729a14 +80729aa8 0x80729aa8 +80729b2c 0x80729b2c +80729b68 0x80729b68 +80729b94 0x80729b94 +80729ba8 0x80729ba8 +80729bc4 0x80729bc4 +80729bdc 0x80729bdc +80729bf8 0x80729bf8 +80729c60 0x80729c60 +80729c6c 0x80729c6c +80729ea0 0x80729ea0 +80729ea8 0x80729ea8 +80729eac 0x80729eac +80729f94 0x80729f94 +80729f98 0x80729f98 +8072a064 0x8072a064 +8072a068 0x8072a068 +8072a130 0x8072a130 +8072a134 0x8072a134 +8072a140 0x8072a140 +8072a23c 0x8072a23c +8072a248 0x8072a248 +8072a344 0x8072a344 +8072a348 0x8072a348 +8072a3d4 0x8072a3d4 +8072a3d8 0x8072a3d8 +8072a3dc 0x8072a3dc +8072a424 0x8072a424 +8072a464 0x8072a464 +8072a4bc 0x8072a4bc +8072a500 0x8072a500 +8072a50c 0x8072a50c +8072a600 0x8072a600 +8072a708 0x8072a708 +8072a894 0x8072a894 +8072a8a0 0x8072a8a0 +8072a8b8 0x8072a8b8 +8072a988 0x8072a988 +8072aa7c 0x8072aa7c +8072aabc 0x8072aabc +8072ac54 0x8072ac54 +8072ad2c 0x8072ad2c +8072af18 0x8072af18 +8072af28 0x8072af28 +8072af2c 0x8072af2c +8072b024 0x8072b024 +8072b06c 0x8072b06c +8072b09c 0x8072b09c +8072b0e4 0x8072b0e4 +8072b0f8 0x8072b0f8 +8072b138 0x8072b138 +8072b13c 0x8072b13c +8072b140 0x8072b140 +8072b190 0x8072b190 +8072b240 0x8072b240 +8072b254 0x8072b254 +8072b294 0x8072b294 +8072b298 0x8072b298 +8072b2a8 0x8072b2a8 +8072b2ac 0x8072b2ac +8072b3a4 0x8072b3a4 +8072b3b8 0x8072b3b8 +8072b3f8 0x8072b3f8 +8072b3fc 0x8072b3fc +8072b43c 0x8072b43c +8072b448 0x8072b448 +8072b56c 0x8072b56c +8072b674 0x8072b674 +8072b688 0x8072b688 +8072b6c8 0x8072b6c8 +8072b790 AI::Manager::Disposer__dt +8072b828 AI::Manager::CreateInstance +8072b878 AI::Manager::DestroyInstance +8072b8ac AI::Manager::__ct +8072ba84 AI::Manager::__dt +8072bc04 AI::Manager::AddKartAIController +8072bcd8 AI::Manager::GetKartAIController +8072bce8 AI::Manager::GetRealPlayerKartAIController +8072bcf8 obj_checkIfSomething +8072bd00 AI::Manager::Init +8072be04 AI::Manager::Update +8072bf08 AI::Manager::GetLocalPlayerCount +8072bf18 AI::Manager::GetEngineClass +8072bf20 AI::Manager::GetDifficulty +8072bf28 0x8072bf28 +8072bf64 0x8072bf64 +8072c034 AI::Manager::IsGPOrPrivateVS +8072c05c AI::Manager::IsVS +8072c07c AI::Manager::IsTT +8072c0a4 AI::Manager::IsMissionTournament +8072c0c4 AI::Manager::IsOnline +8072c0ec AI::Manager::IsBattle +8072c118 AI::Manager::IsOfflineBattle +8072c138 AI::Manager::IsBallonBattle +8072c150 AI::Manager::IsCoinRunners +8072c16c AI::Manager::IsTT2 +8072c194 AI::Manager::IsSpecialItemMode +8072c244 AI::Manager::IsTeamMode +8072c258 0x8072c258 +8072c260 AI::Manager::IsAwardsOrCredits +8072c284 AiHolder_getRealPlayerCountPerTeam +8072c31c AI::Manager::GetRandomValue +8072c344 AI::Manager::GetRandomFloat +8072c374 AI::Manager::SetCCAndDifficulty +8072c454 0x8072c454 +8072c500 0x8072c500 +8072c5a8 AiHolder_getBestPreviousScore +8072c648 0x8072c648 +8072c684 0x8072c684 +8072c710 0x8072c710 +8072c754 0x8072c754 +8072c8b8 0x8072c8b8 +8072c924 0x8072c924 +8072c9c8 0x8072c9c8 +8072c9cc 0x8072c9cc +8072c9dc 0x8072c9dc +8072c9fc 0x8072c9fc +8072ca3c 0x8072ca3c +8072cac0 0x8072cac0 +8072cd5c 0x8072cd5c +8072cfbc 0x8072cfbc +8072d04c 0x8072d04c +8072d258 0x8072d258 +8072d36c 0x8072d36c +8072d47c 0x8072d47c +8072d508 0x8072d508 +8072d540 AI::Params::__ct +8072d5d0 AI::Params::__dt +8072d658 AI::Params::GetParamSpeed +8072d660 AI::Params::GetParamAction +8072d670 AI::Params::LoadParamFile +8072d680 AI::Params::Load +8072d948 0x8072d948 +8072d9a4 0x8072d9a4 +8072d9f8 AI::Params::LoadActions +8072dad0 AI::EnemyRouteController::__ct +8072de74 AI::ENPTSettingsHolder::__dt +8072deb4 AI::EnemyRouteController::__dt +8072dfb4 AI::EnemyRouteController::Init +8072e068 AI::EnemyRouteController::Update +8072e1c8 0x8072e1c8 +8072e208 0x8072e208 +8072e24c 0x8072e24c +8072e26c 0x8072e26c +8072e288 0x8072e288 +8072e290 0x8072e290 +8072e298 0x8072e298 +8072e2bc 0x8072e2bc +8072e360 0x8072e360 +8072e448 0x8072e448 +8072e450 0x8072e450 +8072e4c4 0x8072e4c4 +8072e518 0x8072e518 +8072e528 0x8072e528 +8072e600 0x8072e600 +8072e6e0 0x8072e6e0 +8072e728 AI::EnemyRouteController::IsOutCurENPTBounds +8072e8fc 0x8072e8fc +8072ea14 0x8072ea14 +8072eae8 AI::EnemyRouteHolder::AdvanceToNextENPT +8072ec24 0x8072ec24 +8072ec98 AI::EnemyRouteHolder::__ct +8072ece0 AI::EnemyRouteHolder::__dt +8072ed20 AI::EnemyRouteHolder::AddKartAIController +8072ed64 0x8072ed64 +8072ed68 0x8072ed68 +8072ed6c 0x8072ed6c +8072ef18 0x8072ef18 +8072ef24 AI::ParamActionCalculator::__ct +8072ef48 AI::ParamActionCalculator::__dt +8072ef88 AI::ParamActionCalculator::Init +8072efc0 AI::ParamActionCalculator::CalcStartBoost +8072f0dc AI::ParamActionCalculator::CalcGotDrift +8072f198 AI::ParamActionCalculator::CalcGotMT +8072f23c AI::ParamActionCalculator::CalcGotTrick +8072f2c4 AI::ParamActionCalculator::CalcGotWheelie +8072f34c AI::ParamActionCalculator::CalcGotParamAction6 +8072f3d4 AI::ParamActionCalculator::CalcGotParamAction7 +8072f45c 0x8072f45c +8072f4b0 0x8072f4b0 +8072f4f4 0x8072f4f4 +8072f534 0x8072f534 +8072f570 0x8072f570 +8072f608 0x8072f608 +8072f628 0x8072f628 +8072f640 0x8072f640 +8072f748 0x8072f748 +8072f79c 0x8072f79c +8072f7d8 0x8072f7d8 +8072f818 0x8072f818 +8072f848 0x8072f848 +8072f86c 0x8072f86c +8072f8a0 0x8072f8a0 +8072f8dc 0x8072f8dc +8072f97c 0x8072f97c +8072fa2c 0x8072fa2c +8072fa60 0x8072fa60 +8072fb40 0x8072fb40 +8072fb54 0x8072fb54 +8072fb90 0x8072fb90 +8072fbbc 0x8072fbbc +8072fbe8 0x8072fbe8 +8072fcac 0x8072fcac +8072fcec 0x8072fcec +8072fd2c 0x8072fd2c +8072fd5c 0x8072fd5c +8072fd68 0x8072fd68 +8072fd74 0x8072fd74 +8072fe04 0x8072fe04 +8072febc 0x8072febc +807301e4 0x807301e4 +807302e8 0x807302e8 +807305ec 0x807305ec +807305fc 0x807305fc +80730738 0x80730738 +80730834 0x80730834 +80730838 0x80730838 +8073086c 0x8073086c +807308a8 0x807308a8 +807308e8 0x807308e8 +80730918 0x80730918 +80730924 0x80730924 +80730930 0x80730930 +80730940 0x80730940 +80730ae8 0x80730ae8 +80730be4 0x80730be4 +80730be8 0x80730be8 +80730c1c 0x80730c1c +80730c58 0x80730c58 +80730c98 0x80730c98 +80730cc8 0x80730cc8 +80730dc4 0x80730dc4 +80730dc8 0x80730dc8 +80730dfc OS::GetCurrentContext +80730e08 0x80730e08 +80730e14 0x80730e14 +80730e18 0x80730e18 +80730e1c 0x80730e1c +80730e24 0x80730e24 +80730e2c 0x80730e2c +80730e34 0x80730e34 +80730e3c 0x80730e3c +80730e44 0x80730e44 +80730e48 0x80730e48 +80730e4c 0x80730e4c +80730e50 0x80730e50 +807314bc 0x807314bc +807314fc 0x807314fc +807315ec 0x807315ec +8073169c 0x8073169c +80731788 GameInfoManager_SetUserSelectedCupSidekick +80731794 0x80731794 +80731938 0x80731938 +807319ac 0x807319ac +807319b4 0x807319b4 +807319bc 0x807319bc +807319cc 0x807319cc +80731a0c 0x80731a0c +80731a14 0x80731a14 +80731ab4 0x80731ab4 +80731acc 0x80731acc +80731b44 0x80731b44 +80731e20 0x80731e20 +80732180 0x80732180 +80732240 0x80732240 +80732330 0x80732330 +80732400 0x80732400 +807324cc 0x807324cc +80732614 0x80732614 +807326b8 0x807326b8 +80732818 0x80732818 +8073292c 0x8073292c +80732988 0x80732988 +8073298c 0x8073298c +807329cc 0x807329cc +80732a78 0x80732a78 +80732b94 0x80732b94 +80732c38 0x80732c38 +80732c44 0x80732c44 +80732cf4 0x80732cf4 +80732d40 0x80732d40 +80732d8c 0x80732d8c +80732dfc 0x80732dfc +80732fb4 0x80732fb4 +80733114 0x80733114 +807332f0 0x807332f0 +80733478 0x80733478 +80733518 0x80733518 +8073351c 0x8073351c +8073355c 0x8073355c +80733574 0x80733574 +8073358c 0x8073358c +807335a4 0x807335a4 +80733604 0x80733604 +80733860 0x80733860 +807338a8 0x807338a8 +807338d8 0x807338d8 +80733920 0x80733920 +8073394c 0x8073394c +8073398c 0x8073398c +807339c4 0x807339c4 +80733a10 0x80733a10 +80733a60 0x80733a60 +80733ac0 0x80733ac0 +80733acc 0x80733acc +80733ae4 cGame_GetGameTime +80733af0 0x80733af0 +80733b24 0x80733b24 +80733d74 0x80733d74 +80733dc8 0x80733dc8 +80733e08 0x80733e08 +80733f28 0x80733f28 +80733f54 0x80733f54 +80733fb4 0x80733fb4 +80734050 0x80734050 +807340ec 0x807340ec +807342c8 0x807342c8 +80734300 0x80734300 +80734340 0x80734340 +8073438c 0x8073438c +80734498 0x80734498 +807344cc 0x807344cc +8073450c 0x8073450c +807345ac 0x807345ac +80734730 0x80734730 +80734768 0x80734768 +807347a8 0x807347a8 +807347f4 0x807347f4 +8073485c 0x8073485c +80734864 0x80734864 +80734b60 0x80734b60 +80734ba0 0x80734ba0 +80734c28 0x80734c28 +80734cd8 0x80734cd8 +80734d50 0x80734d50 +80734d58 0x80734d58 +80734d7c 0x80734d7c +80734e14 0x80734e14 +80734e20 0x80734e20 +80734ee0 0x80734ee0 +80735018 0x80735018 +807350ac 0x807350ac +807350c0 0x807350c0 +80735298 0x80735298 +8073530c 0x8073530c +8073578c 0x8073578c +807357f4 0x807357f4 +8073582c 0x8073582c +80735830 0x80735830 +80735850 0x80735850 +80735890 0x80735890 +807358a0 0x807358a0 +807358f8 0x807358f8 +80735940 0x80735940 +80735970 0x80735970 +807359b8 MotionController::__ct +80735a50 0x80735a50 +80735a90 MotionController::__dt +80735b18 MotionController::Init +80735d18 MotionController::UpdateForNunchuck +80735f18 MotionController::UpdateForCore +80736260 0x80736260 +807363ec 0x807363ec +80736580 0x80736580 +807365d0 0x807365d0 +8073669c 0x8073669c +80736890 0x80736890 +807368f0 0x807368f0 +80736aa4 0x80736aa4 +80736c30 0x80736c30 +80736d98 0x80736d98 +80737288 0x80737288 +807372cc Objects::PoihanaBase::__ct +8073733c Objects::PoihanaBase::__dt +8073737c Objects::PoihanaBase::OnStart +80737428 Objects::PoihanaBase::Update +8073743c Objects::PoihanaBase:GetTranslation +80737458 0x80737458 +807374b4 0x807374b4 +807374d0 0x807374d0 +80737538 0x80737538 +807375c8 0x807375c8 +80737618 0x80737618 +80737664 0x80737664 +80737710 0x80737710 +8073780c 0x8073780c +807378bc 0x807378bc +80737a60 UnkCollidableSub::__ct +80737aa8 UnkCollidableSub::__dt +80737ae8 UnkCollidableSub::Reset +80737b08 UnkCollidableSub::Update +80737d30 0x80737d30 +80737d4c UnkCollidableSub::vf_0x14 +80737d74 Objects::PoihanaBase::SubChild::__ct +80737dcc Objects::PoihanaBase::SubChild::__dt +80737e0c Objects::PoihanaBase::SubChild::Reset +80737e30 Objects::PoihanaBase::SubChild::Update +80738094 0x80738094 +8073826c Objects::Poihana::SubChild::vf_0x14 +80738290 Objects::PoihanaBase::GetPropertiesBitfield +80738298 Objects::PoihanaBase::__dt(thunk) +807382a0 Objects::Poihana::__ct +807389b0 Objects::Poihana::Actions::__dt +807389f0 Objects::Poihana::__dt +80738a8c Objects::Poihana::OnStart +80738ca4 Objects::Poihana::Update +80738d08 0x80738d08 +80738e20 Objects::Poihana::LoadAnimations +80738ecc 0x80738ecc +807394ac Objects::Poihana::OnCollision +80739638 Objects::Poihana::OnItemCollision +80739744 0x80739744 +807397f8 0x807397f8 +807398c8 0x807398c8 +8073993c 0x8073993c +80739958 0x80739958 +807399e0 Objects::Poihana::OnStartIdle +80739a58 Objects::Poihana::UpdateIdleAndAction1 +80739c1c Objects::Poihana::OnStartChase +80739c34 Objects::Poihana::UpdateChase +8073a088 0x8073a088 +8073a0a4 Objects::Poihana::OnStartCatapult +8073a238 Objects::Poihana::UpdateCatapult +8073a2b4 Objects::Poihana::OnEndCatapult +8073a2c0 Objects::Poihana::OnStartCatapultNoMove +8073a310 Objects::Poihana::UpdateCatapultNoMove +8073a3c0 Objects::Poihana::OnEndCatapultNoMove +8073a3cc Objects::Poihana::Topple +8073a5d8 Objects::Poihana::OnStartToppleNormal +8073a5f0 Objects::Poihana::OnStartToppleInverted +8073a60c Objects::Poihana::UpdateTopple +8073a854 Objects::Poihana::OnEndTopple +8073a890 Objects::Poihana::OnStartToppleNoBury +8073a9e0 Objects::Poihana::UpdateToppleNoBury +8073ae70 0x8073ae70 +8073ae8c Objects::Poihana::OnEndToppleNoBury +8073ae98 Objects::Poihana::Actions::OnStart +8073aee0 Objects::Poihana::Actions::Update +8073af10 Objects::Poihana::Actions::OnEnd +8073af58 Objects::Poihana::__dt(thunk) +8073af60 AI::Base::__ct +8073b06c AI::Base::UpdateActions +8073b0e8 AI::Base::SetInitialActions +8073b100 AI::Base::HasSameActions +8073b114 AI::Base::SetNextActions +8073b120 AI::Actions::OnActionStart +8073b168 AI::Actions::Update +8073b198 AI::Actions::OnActionEnd +8073b1e0 0x8073b1e0 +8073b22c 0x8073b22c +8073b2d0 0x8073b2d0 +8073b480 0x8073b480 +8073b550 0x8073b550 +8073b79c 0x8073b79c +8073b928 0x8073b928 +8073b960 0x8073b960 +8073b9d8 0x8073b9d8 +8073badc 0x8073badc +8073bc68 0x8073bc68 +8073bd00 0x8073bd00 +8073be04 0x8073be04 +8073be20 0x8073be20 +8073be24 0x8073be24 +8073bf74 0x8073bf74 +8073c05c 0x8073c05c +8073c0d4 0x8073c0d4 +8073c104 0x8073c104 +8073c17c 0x8073c17c +8073c1e8 0x8073c1e8 +8073c314 0x8073c314 +8073c3d8 0x8073c3d8 +8073c3e8 0x8073c3e8 +8073c480 0x8073c480 +8073c524 0x8073c524 +8073c5dc 0x8073c5dc +8073ca80 0x8073ca80 +8073cac0 0x8073cac0 +8073cb00 0x8073cb00 +8073cb40 0x8073cb40 +8073cbfc 0x8073cbfc +8073cc50 0x8073cc50 +8073cc58 0x8073cc58 +8073cd7c 0x8073cd7c +8073cec4 0x8073cec4 +8073cee0 0x8073cee0 +8073d060 0x8073d060 +8073d0ec 0x8073d0ec +8073d104 0x8073d104 +8073d32c 0x8073d32c +8073d3dc 0x8073d3dc +8073d44c 0x8073d44c +8073d458 0x8073d458 +8073d468 0x8073d468 +8073d538 0x8073d538 +8073d544 0x8073d544 +8073d554 0x8073d554 +8073d588 0x8073d588 +8073d61c 0x8073d61c +8073d724 0x8073d724 +8073d730 0x8073d730 +8073d778 0x8073d778 +8073d7a8 0x8073d7a8 +8073d7f0 0x8073d7f0 +8073db54 0x8073db54 +8073db94 0x8073db94 +8073dc40 0x8073dc40 +8073dd0c 0x8073dd0c +8073dd60 0x8073dd60 +8073dda8 0x8073dda8 +8073ddb8 0x8073ddb8 +8073de08 0x8073de08 +8073deec 0x8073deec +8073df5c 0x8073df5c +8073dfc8 0x8073dfc8 +8073e0f0 0x8073e0f0 +8073e274 0x8073e274 +8073e278 0x8073e278 +8073e2ec 0x8073e2ec +8073e2f0 0x8073e2f0 +8073e2f4 0x8073e2f4 +8073e3b4 0x8073e3b4 +8073e528 0x8073e528 +8073e620 0x8073e620 +8073e668 0x8073e668 +8073e698 0x8073e698 +8073e6e0 0x8073e6e0 +8073e80c 0x8073e80c +8073e8c4 0x8073e8c4 +8073e9f8 0x8073e9f8 +8073ea6c 0x8073ea6c +8073eaac 0x8073eaac +8073eaec 0x8073eaec +8073ebd0 0x8073ebd0 +8073eca8 0x8073eca8 +8073ed1c 0x8073ed1c +8073ede8 0x8073ede8 +8073ee80 0x8073ee80 +8073eec4 0x8073eec4 +8073efb4 0x8073efb4 +8073f160 0x8073f160 +8073f1dc 0x8073f1dc +8073f26c 0x8073f26c +8073f38c 0x8073f38c +8073f394 0x8073f394 +8073f674 0x8073f674 +8073f6b4 0x8073f6b4 +8073f70c 0x8073f70c +8073f7ac 0x8073f7ac +8073f824 0x8073f824 +8073f834 0x8073f834 +8073f858 0x8073f858 +8073f874 0x8073f874 +8073f89c 0x8073f89c +8073fa3c 0x8073fa3c +8073fa44 0x8073fa44 +8073fa4c 0x8073fa4c +8073fa54 0x8073fa54 +8073fa64 0x8073fa64 +8073fa68 0x8073fa68 +8073fa70 0x8073fa70 +8073fa78 0x8073fa78 +8073fa80 0x8073fa80 +8073fa88 0x8073fa88 +8073fa90 0x8073fa90 +8073fa98 0x8073fa98 +8073faa0 0x8073faa0 +8073faa4 0x8073faa4 +8073fae4 0x8073fae4 +8073fb2c 0x8073fb2c +8073fb5c 0x8073fb5c +8073fba4 0x8073fba4 +8073fda0 0x8073fda0 +8073fde0 0x8073fde0 +8073fe38 0x8073fe38 +8073ff48 0x8073ff48 +8073ffc4 0x8073ffc4 +8073ffec 0x8073ffec +80740088 0x80740088 +80740190 0x80740190 +80740260 0x80740260 +807403d0 0x807403d0 +807406dc 0x807406dc +807406ec 0x807406ec +807408ec 0x807408ec +80740918 0x80740918 +80740a18 0x80740a18 +80740af8 0x80740af8 +80740bc4 0x80740bc4 +80740ce4 0x80740ce4 +80740d24 0x80740d24 +80740d7c 0x80740d7c +80740dbc 0x80740dbc +80740e38 0x80740e38 +80740f40 0x80740f40 +8074105c 0x8074105c +8074106c 0x8074106c +807410e0 0x807410e0 +807410fc 0x807410fc +80741324 0x80741324 +8074132c 0x8074132c +80741334 0x80741334 +8074137c 0x8074137c +807413ac 0x807413ac +807413f4 0x807413f4 +8074143c 0x8074143c +8074146c 0x8074146c +807414b4 0x807414b4 +80741544 0x80741544 +80741564 0x80741564 +807415a4 0x807415a4 +807415dc 0x807415dc +807417a4 0x807417a4 +807417b8 0x807417b8 +807418a0 0x807418a0 +80741a08 0x80741a08 +80741a3c 0x80741a3c +80741a48 0x80741a48 +80741b4c 0x80741b4c +80741c08 0x80741c08 +80741cd4 0x80741cd4 +80741ea4 0x80741ea4 +8074213c 0x8074213c +80742180 0x80742180 +807421ac 0x807421ac +807421ec 0x807421ec +80742364 AI::Character::__ct +80742c34 AI::CharacterActions::__dt +80742c74 AI::Character::__dt +80742cf8 AI::Character::Init +80742ddc AI::Character::Update +80742e1c AI::Character::vf_0x20 +80742e9c AI::Character::StartDriving +80742ef4 0x80742ef4 +80742fa4 0x80742fa4 +80742fe0 0x80742fe0 +80742fe4 0x80742fe4 +80742fec 0x80742fec +80742ff0 0x80742ff0 +80742ff8 0x80742ff8 +80743000 0x80743000 +80743004 0x80743004 +80743010 0x80743010 +8074306c 0x8074306c +807430a8 0x807430a8 +80743100 0x80743100 +80743180 AI::Character::ArePlayersClose +80743268 0x80743268 +807433d8 AI::Character::vf_0x8c +80743500 0x80743500 +807435e8 0x807435e8 +807436bc AI::Character::vf_0x94 +80743740 AI::Character::OnStartAction0 +8074374c AI::Character::UpdateAction0 +807437a8 AI::Character::OnStartAction1 +807437ac AI::Character::UpdateAction1 +807438e0 AI::Character::OnStartAction2 +807438e4 AI::Character::UpdateAction2 +80743a28 AI::Character::OnEndAction2 +80743a64 AI::Character::OnStartAction3 +80743a70 AI::Character::UpdateAction3 +80743bc4 AI::Character::OnStartAction4 +80743d00 AI::Character::UpdateAction4 +80743dc4 AI::Character::OnEndAction4 +80743e00 AI::Character::OnStartAction5 +80743e14 AI::Character::UpdateAction5 +8074401c AI::Character::OnEndAction5 +80744058 AI::Character::OnStartAction6 +807441b4 AI::Character::UpdateAction6 +807442a4 AI::Character::OnEndAction6 +807442e0 AI::Character::OnStartAction7 +807442f0 AI::Character::UpdateAction7 +80744350 AI::Character::OnEndAction7 +8074438c AI::Character::OnStartLookAhead +807443c8 AI::Character::UpdateLookAhead +807443cc AI::Character::OnStartLookAtCamera +807443d8 AI::Character::UpdateLookAtCamera +8074464c 0x8074464c +8074466c 0x8074466c +807446ac 0x807446ac +807446b8 0x807446b8 +807448e8 0x807448e8 +80744bc0 0x80744bc0 +80744f74 AI::CharacterBattle::__ct +80744fb0 AI::CharacterBattle::__dt +80745008 AI::CharacterBattle::Init +80745040 AI::CharacterBattle::OnStartAction1 +80745044 AI::CharacterBattle::UpdateAction1 +80745080 AI::CharacterAwards::__ct +807450bc AI::CharacterAwards::__dt +80745114 AI::CharacterAwards::Init +8074514c AI::CharacterAwards::OnStartAction1 +80745150 AI::CharacterAwards::UpdateAction1 +8074518c 0x8074518c +807451c8 0x807451c8 +80745220 0x80745220 +80745264 0x80745264 +8074537c 0x8074537c +80745464 0x80745464 +80745468 0x80745468 +807454e0 0x807454e0 +807455c0 0x807455c0 +807456d0 0x807456d0 +8074570c AI::CharacterAwards::vf_0x94 +80745714 AI::CharacterActions::OnStart +8074575c AI::CharacterActions::Update +8074578c AI::CharacterActions::OnEnd +807457d4 AI::ENPTController::__ct +80745840 AI::ENPTController::__dt +80745880 AI::ENPTController::SetStartingENPT +807458cc AI::ENPTController::Init +80745c40 AI::ENPTController::Update +80745c44 AI::ENPTController::GetPrevPrevPrevENPTPosition +80745c98 AI::ENPTController::GetPrevPrevENPTPosition +80745cec AI::ENPTController::GetPrevENPTPosition +80745d40 AI::ENPTController::GetCurENPTPosition +80745d94 AI::ENPTController::GetNextENPTPosition +80745de8 AI::ENPTController::GetCurPosition +80745e04 0x80745e04 +80745f30 0x80745f30 +80745f74 0x80745f74 +80745fc4 AI::ENPTController::CalcNext +807462e8 0x807462e8 +80746478 0x80746478 +807464b0 0x807464b0 +807464d0 0x807464d0 +8074650c 0x8074650c +8074652c 0x8074652c +8074654c 0x8074654c +80746558 0x80746558 +80746604 0x80746604 +8074663c 0x8074663c +80746824 0x80746824 +80746974 0x80746974 +80746bbc 0x80746bbc +80746c14 AI::ENPTController::CalcNextPosition +80746d40 0x80746d40 +80746d4c 0x80746d4c +80746e54 0x80746e54 +80746e7c 0x80746e7c +80746ec0 0x80746ec0 +80746f00 0x80746f00 +807472a4 0x807472a4 +807472e4 0x807472e4 +807472e8 0x807472e8 +807472f4 0x807472f4 +8074732c 0x8074732c +80747364 0x80747364 +807473a4 0x807473a4 +807473e4 0x807473e4 +80747424 0x80747424 +80747430 0x80747430 +80747454 0x80747454 +80747584 0x80747584 +807475f4 0x807475f4 +80747664 0x80747664 +807476d4 0x807476d4 +8074773c 0x8074773c +807477a4 0x807477a4 +80747858 0x80747858 +80747910 0x80747910 +80747a20 0x80747a20 +80747b30 0x80747b30 +80747b74 0x80747b74 +80747bb4 0x80747bb4 +80747bf4 0x80747bf4 +80747bf8 0x80747bf8 +80747c04 0x80747c04 +80747c3c 0x80747c3c +80747c74 0x80747c74 +80747cb4 0x80747cb4 +80747cf4 0x80747cf4 +80747d34 0x80747d34 +80747d6c 0x80747d6c +80747d78 0x80747d78 +80747d9c 0x80747d9c +80747e04 0x80747e04 +80747e14 0x80747e14 +80747e6c AI::ENPTSettingsHolder::IsCutPoint +80747e80 AI::ENPTSettingsHolder::IsUseOffroadCutItem +80747e94 AI::ENPTSettingsHolder::MustWheelie +80747ea8 AI::ENPTSettingsHolder::MustEndWheelie +80747ebc AI::ENPTSettingsHolder::IsSetting1Equal5 +80747ed0 AI::ENPTSettingsHolder::MustEndDrift +80747ee4 AI::ENPTSettingsHolder::IsDriftForbidden +80747ef8 AI::ENPTSettingsHolder::MustDrift +80747f0c AI::ENPTSettingsHolder::IsSetting3HighestBitSet +80747f18 0x80747f18 +80747f34 AI::ENPTSettingsHolder::IsDriftAllowed +80747f68 0x80747f68 +80747f7c 0x80747f7c +80747f90 0x80747f90 +80747fa4 0x80747fa4 +80747fb8 0x80747fb8 +80747fc4 0x80747fc4 +80747fd0 0x80747fd0 +80747fdc 0x80747fdc +8074801c 0x8074801c +8074805c 0x8074805c +80748078 GlobeMgr::Disposer__dt +80748110 GlobeMgr::CreateInstance +8074818c GlobeMgr::DestroyInstance +807481c0 EarthModel::__ct +80748724 0x80748724 +80748788 EarthModel::__dt +80748808 0x80748808 +80748a38 0x80748a38 +80748a3c 0x80748a3c +80748a40 0x80748a40 +80748a44 0x80748a44 +80748af0 0x80748af0 +80748cb0 0x80748cb0 +80748cd4 0x80748cd4 +80748dec 0x80748dec +80748e6c 0x80748e6c +80748f94 0x80748f94 +807490c0 0x807490c0 +807491ec 0x807491ec +80749318 0x80749318 +80749444 0x80749444 +80749570 0x80749570 +8074969c 0x8074969c +8074994c 0x8074994c +80749cc8 GlobeMii::GetTranslation +80749cd0 0x80749cd0 +80749d20 0x80749d20 +80749d40 0x80749d40 +80749d60 0x80749d60 +80749d80 0x80749d80 +80749da4 0x80749da4 +80749dc4 0x80749dc4 +8074a018 0x8074a018 +8074a234 0x8074a234 +8074a490 0x8074a490 +8074a500 0x8074a500 +8074a540 0x8074a540 +8074a580 0x8074a580 +8074a5c0 0x8074a5c0 +8074a604 0x8074a604 +8074a644 0x8074a644 +8074a8f8 0x8074a8f8 +8074a8fc GlobeMgr::__ct +8074a94c GlobeMgr::__dt +8074aa14 GlobeMgr::Init +8074aad8 0x8074aad8 +8074acf8 0x8074acf8 +8074adb4 0x8074adb4 +8074ae04 GlobeMgr::Update +8074b188 0x8074b188 +8074b1c8 0x8074b1c8 +8074b2ac 0x8074b2ac +8074b2bc GlobeMgr::IsMiiEnabled +8074b2c8 GlobeMgr::SetPosition +8074b458 0x8074b458 +8074b45c 0x8074b45c +8074b460 GlobeMgr::SetMii +8074b474 GlobeMgr::DisplayMii +8074b490 GlobeMgr::ResetGlobeMii +8074b4a4 0x8074b4a4 +8074b56c GlobeMii::__ct +8074baec GlobeMii::Init +8074bc04 GlobeMii::Update +8074bcc8 GlobeMii::SetMii +8074bfe8 GlobeMii::IsFemaleMii +8074c000 GlobeMii::DisplayMii +8074c37c GlobeMii::Reset +8074c3fc 0x8074c3fc +8074c488 0x8074c488 +8074c5e8 0x8074c5e8 +8074cce4 0x8074cce4 +8074cd74 0x8074cd74 +8074cd80 0x8074cd80 +8074cd8c 0x8074cd8c +8074ce58 0x8074ce58 +8074cf98 0x8074cf98 +8074cfa4 0x8074cfa4 +8074cfb0 0x8074cfb0 +8074cfbc 0x8074cfbc +8074cfc8 0x8074cfc8 +8074cfd4 0x8074cfd4 +8074d358 0x8074d358 +8074d494 0x8074d494 +8074d548 0x8074d548 +8074d5f8 0x8074d5f8 +8074d6b4 0x8074d6b4 +8074d758 0x8074d758 +8074d800 0x8074d800 +8074dc48 0x8074dc48 +8074de5c 0x8074de5c +8074dfdc 0x8074dfdc +8074e010 0x8074e010 +8074e324 0x8074e324 +8074e44c 0x8074e44c +8074e55c 0x8074e55c +8074e6e4 0x8074e6e4 +8074e8fc 0x8074e8fc +8074ebbc 0x8074ebbc +8074ed90 0x8074ed90 +8074ef94 0x8074ef94 +8074f0a0 0x8074f0a0 +8074f150 0x8074f150 +8074f174 0x8074f174 +8074f490 0x8074f490 +8074f544 0x8074f544 +8074f898 0x8074f898 +8074f910 0x8074f910 +8074f980 0x8074f980 +8074f9bc 0x8074f9bc +8074f9f4 0x8074f9f4 +8074fae8 0x8074fae8 +8074fc5c BegomanManager::__ct +8074fcd0 0x8074fcd0 +8074fcd4 0x8074fcd4 +8075013c 0x8075013c +80750158 0x80750158 +8075018c 0x8075018c +80750214 0x80750214 +80750264 0x80750264 +8075050c 0x8075050c +80750524 0x80750524 +807505f0 0x807505f0 +807506ec 0x807506ec +807507c8 0x807507c8 +80750954 0x80750954 +807509f8 0x807509f8 +80750d08 0x80750d08 +80750dec 0x80750dec +80750df4 0x80750df4 +80750e00 0x80750e00 +80750e08 0x80750e08 +80750e0c 0x80750e0c +80750e10 0x80750e10 +80750e14 0x80750e14 +80750e18 0x80750e18 +80750e1c 0x80750e1c +80750e20 0x80750e20 +80750e28 0x80750e28 +80750e2c 0x80750e2c +80750e30 0x80750e30 +80750e34 0x80750e34 +80750e38 0x80750e38 +80750e3c 0x80750e3c +80750e40 0x80750e40 +80750e48 0x80750e48 +80750e88 0x80750e88 +80750ec8 0x80750ec8 +80750f08 0x80750f08 +80750f48 0x80750f48 +80750f50 0x80750f50 +80750f58 0x80750f58 +80750f60 0x80750f60 +80750fc4 0x80750fc4 +807510c0 0x807510c0 +807510c4 0x807510c4 +80751264 0x80751264 +807512d0 0x807512d0 +80751494 0x80751494 +80751590 0x80751590 +80751618 0x80751618 +807516b0 0x807516b0 +80751704 0x80751704 +80751b0c 0x80751b0c +80751b60 0x80751b60 +80751b68 0x80751b68 +80751b70 0x80751b70 +80751bb0 obj_dossunc::__ct +80751e80 0x80751e80 +80751f1c 0x80751f1c +80751f5c 0x80751f5c +807522d0 0x807522d0 +80752308 obj_dossun_active_update +807524a8 0x807524a8 +807524e4 0x807524e4 +80752514 0x80752514 +8075258c 0x8075258c +807525d4 0x807525d4 +80752638 0x80752638 +80752820 0x80752820 +80752abc 0x80752abc +80752c04 0x80752c04 +80752d30 0x80752d30 +80752e80 0x80752e80 +80752f34 0x80752f34 +80752f40 obj_dossun_endFall +80752f54 0x80752f54 +80752fbc 0x80752fbc +8075304c 0x8075304c +807531cc 0x807531cc +8075323c 0x8075323c +807532f0 0x807532f0 +80753394 obj_dossun_update +80753544 0x80753544 +807536a0 0x807536a0 +807536e8 0x807536e8 +807538d4 0x807538d4 +80753a18 obj_dossun_make_active +80753af8 0x80753af8 +80753b88 0x80753b88 +80753bd4 0x80753bd4 +80753c88 0x80753c88 +80753d10 0x80753d10 +80753dcc 0x80753dcc +80753e40 0x80753e40 +80754450 0x80754450 +80754584 0x80754584 +8075477c 0x8075477c +807547f4 0x807547f4 +807547f8 0x807547f8 +80754a40 0x80754a40 +80755108 0x80755108 +80755244 0x80755244 +80755460 0x80755460 +807555a4 0x807555a4 +807556a4 0x807556a4 +80755fa0 0x80755fa0 +80756184 0x80756184 +807562d0 0x807562d0 +80756574 0x80756574 +807569ac 0x807569ac +807569cc 0x807569cc +807569f0 0x807569f0 +80756ab4 0x80756ab4 +80756ab8 0x80756ab8 +80756ac4 0x80756ac4 +80756c14 0x80756c14 +80756cc8 0x80756cc8 +80756ec0 0x80756ec0 +80756f60 0x80756f60 +80757020 0x80757020 +80757108 0x80757108 +807571a4 0x807571a4 +80757398 0x80757398 +807573ac 0x807573ac +80757454 0x80757454 +8075754c 0x8075754c +807575c4 0x807575c4 +80757678 0x80757678 +807576b8 0x807576b8 +807576bc 0x807576bc +807576f8 0x807576f8 +80757758 0x80757758 +80757850 0x80757850 +80757958 0x80757958 +80757a58 0x80757a58 +80757ab8 0x80757ab8 +80757ac0 0x80757ac0 +80757ac8 0x80757ac8 +80757ad0 0x80757ad0 +80757ad4 0x80757ad4 +80757ad8 0x80757ad8 +80757adc 0x80757adc +80757ae0 0x80757ae0 +80757ae4 0x80757ae4 +80757aec 0x80757aec +80757af0 0x80757af0 +80757b40 0x80757b40 +80757bb8 0x80757bb8 +80757bbc 0x80757bbc +80757bfc 0x80757bfc +80757c3c 0x80757c3c +80757c7c 0x80757c7c +80757cfc 0x80757cfc +80757d3c 0x80757d3c +80757d7c obj_Epropeller::__ct +80757e70 0x80757e70 +80757ee8 obj_Epropeller::__dt +80757f68 obj_Epropeller_0x0c +80758118 0x80758118 +8075811c obj_Epropeller_update +80758244 0x80758244 +80758360 0x80758360 +8075845c obj_Epropeller_updateEffect +8075860c 0x8075860c +80758668 0x80758668 +807587e8 0x807587e8 +807587ec 0x807587ec +80758994 0x80758994 +807589e4 0x807589e4 +80758b08 0x80758b08 +80758c74 0x80758c74 +80758c7c 0x80758c7c +80758ccc 0x80758ccc +80758d44 0x80758d44 +80758d48 0x80758d48 +807591c4 0x807591c4 +8075923c 0x8075923c +80759240 0x80759240 +80759258 0x80759258 +80759448 0x80759448 +80759844 0x80759844 +8075985c 0x8075985c +80759aa4 0x80759aa4 +80759aec 0x80759aec +80759b0c 0x80759b0c +80759b10 0x80759b10 +80759b64 0x80759b64 +80759b70 0x80759b70 +80759b7c 0x80759b7c +80759b84 0x80759b84 +80759b88 0x80759b88 +80759b8c 0x80759b8c +80759b90 0x80759b90 +80759b94 0x80759b94 +80759b9c 0x80759b9c +80759be4 0x80759be4 +80759c2c 0x80759c2c +80759c34 0x80759c34 +80759c84 0x80759c84 +80759cfc 0x80759cfc +80759d00 0x80759d00 +80759d80 0x80759d80 +80759e00 0x80759e00 +80759e40 Objects::Hanabi::__ct +80759ea4 Objects::Hanabi::__dt +80759ee4 Objects::Hanabi::OnStart +80759f38 0x80759f38 +80759f4c Objects::Hanabi::Update +8075a06c 0x8075a06c +8075a15c Objects::Hanabi::LoadClipInfo +8075a160 Objects::Hanabi::LoadCollision +8075a164 Objects::Hanabi::LoadAnimations +8075a168 Objects::Hanabi::LoadModels +8075a16c Objects::Hanabi::GetPropertiesBitfield +8075a174 Objects::W_Itembox::__ct +8075a2e0 Objects::SubObjectArray::__dt +8075a358 Objects::SubObjectArray::vf_0x18 +8075a35c Objects::W_Itembox::__dt +8075a3dc Objects::W_Itembox::OnStart +8075a414 0x8075a414 +8075a420 Objects::W_Itembox::Update +8075a510 0x8075a510 +8075a5e0 Objects::W_Itembox::Box::__ct +8075a61c Objects::W_Itembox::Box::__dt +8075a65c Objects::W_Itembox::Box::OnStart +8075a66c 0x8075a66c +8075a6d0 Objects::W_Itembox::Box::Update +8075a7c8 0x8075a7c8 +8075a814 Objects::W_Itembox::Box::OnCollision +8075a84c Objects::W_Itembox::Box::OnItemCollision +8075a854 Objects::W_Itembox::UpdateModel +8075a858 Objects::W_Itembox::LoadClipInfo +8075a85c Objects::W_Itembox::LoadCollision +8075a860 Objects::W_Itembox::LoadAnimations +8075a864 Objects::W_Itembox::LoadModels +8075a868 Objects::W_Itembox::GetPropertiesBitfield +8075a870 Objects::W_Itembox::Box::GetSubFileName +8075a87c Objects::W_Itembox::Box::GetBRRESName +8075a888 Objects::W_Itembox::Box::GetPropertiesBitfield +8075a890 Objects::SubObjectArray::CreateArray +8075a8e0 Objects::SubObjectArray::CreateArray(heap) +8075a958 Objects::SubObjectArray::vf_0x14 +8075a95c Objects::W_Itemboxline::__ct +8075ad78 Objects::SubObjectArray::__dt +8075adf0 Objects::SubObjectArray::__dt +8075ae68 Objects::SubObjectArray::vf_0x18 +8075ae6c Objects::SubObjectArray::vf_0x18 +8075ae70 Objects::W_Itemboxline::__dt +8075af1c Objects::W_Itemboxline::OnStart +8075af58 0x8075af58 +8075af64 Objects::W_Itemboxline::Update +8075b140 0x8075b140 +8075b2fc Objects::W_Itemboxline::Box::GetID +8075b360 Objects::W_Itemboxline::Box::__dt +8075b3a0 Objects::W_Itemboxline::Box::OnStart +8075b3b0 0x8075b3b0 +8075b40c Objects::W_Itemboxline::Box::Update +8075b85c 0x8075b85c +8075b9d4 Objects::W_Itemboxline::Box::OnCollision +8075ba0c 0x8075ba0c +8075ba7c Objects::W_Itemboxline::Block::__dt +8075babc Objects::W_Itemboxline::Block::OnStart +8075bb28 0x8075bb28 +8075bbd8 Objects::W_Itemboxline::Block::Update +8075bd18 0x8075bd18 +8075be00 Objects::W_Itemboxline::Block::OnCollision +8075bef0 Objects::W_Itemboxline::Block::OnItemCollision +8075bfb4 0x8075bfb4 +8075c0c4 Objects::W_Itemboxline::Press::__ct +8075c130 Objects::W_Itemboxline::Press::__dt +8075c188 Objects::W_Itemboxline::Press::TryFall +8075c1c8 Objects::W_Itemboxline::Press::UpdateEffect +8075c2c0 Objects::W_Itemboxline::UpdateModel +8075c2c4 Objects::W_Itemboxline::LoadClipInfo +8075c2c8 Objects::W_Itemboxline::LoadCollision +8075c2cc Objects::W_Itemboxline::LoadAnimations +8075c2d0 Objects::W_Itemboxline::LoadModels +8075c2d4 Objects::W_Itemboxline::GetPropertiesBitfield +8075c2dc 0x8075c2dc +8075c2e4 0x8075c2e4 +8075c2f0 0x8075c2f0 +8075c2fc Objects::W_Itemboxline::Box::GetPropertiesBitfield +8075c304 Objects::W_Itemboxline::Block::GetPropertiesBitfield +8075c30c Objects::W_Itemboxline::Block::GetBRRESName +8075c318 Objects::W_Itemboxline::Block::GetSubFileName +8075c324 Objects::Press::GetCollisionDiameter +8075c330 Objects::Press::GetShadowListIdx +8075c338 Objects::W_Itemboxline::Press::GetPropertiesBitfield +8075c340 Objects::W_Itemboxline::Press::GetID +8075c348 Objects::W_Itemboxline::Press::GetBRRESName +8075c354 Objects::W_Itemboxline::Press::GetSubFileName +8075c360 Objects::SubObjectArray::CreateArray +8075c3b0 Objects::SubObjectArray::CreateArray(heap) +8075c428 Objects::SubObjectArray::vf_0x14 +8075c42c Objects::SubObjectArray::CreateArray +8075c47c Objects::SubObjectArray::CreateArray(heap) +8075c4f4 Objects::ItemDropper::OnImperviousItemCollision +8075c4f8 Objects::DKRockGC::__ct +8075c55c Objects::DKRockGC::__dt +8075c59c Objects::DKRockGC::OnStart +8075c7a4 0x8075c7a4 +8075c7a8 Objects::DKRockGC::Update +8075c980 0x8075c980 +8075ca80 0x8075ca80 +8075cb34 0x8075cb34 +8075cc78 0x8075cc78 +8075cfa8 0x8075cfa8 +8075d1d8 0x8075d1d8 +8075d280 Objects::DKRockGC::OnCollision +8075d410 Objects::DKRockGC::OnItemCollision +8075d4a4 Objects::DKRockGC::UpdateShadow +8075d584 Objects::DKRockGC::GetCollisionTranslation +8075d58c Objects::DKRockGC::GetShadowListIdx +8075d594 Objects::DKRockGC::GetPropertiesBitfield +8075d59c Objects::KoopaBall::__ct +8075d5e8 Objects::KoopaBall::OnStart +8075d9b4 0x8075d9b4 +8075d9c4 0x8075d9c4 +8075db3c 0x8075db3c +8075dc7c 0x8075dc7c +8075dcf4 Objects::KoopaBall::Update +8075e164 0x8075e164 +8075e460 0x8075e460 +8075e53c 0x8075e53c +8075e734 0x8075e734 +8075e83c 0x8075e83c +8075e98c 0x8075e98c +8075eae8 0x8075eae8 +8075ebb8 0x8075ebb8 +8075ec00 0x8075ec00 +8075ed68 0x8075ed68 +8075ede4 0x8075ede4 +8075ee0c Objects::KoopaBall::OnCollision +8075f03c Objects::KoopaBall::UpdateShadow +8075f178 Objects::KoopaBall::GetCollisionTranslation +8075f180 Objects::KoopaBall::GetPropertiesBitfield +8075f188 Objects::KoopaBall::__dt +8075f1c8 0x8075f1c8 +8075f26c 0x8075f26c +8075f304 0x8075f304 +8075f354 0x8075f354 +8075f534 0x8075f534 +8075f660 0x8075f660 +8075f71c 0x8075f71c +8075f748 0x8075f748 +8075f868 0x8075f868 +8075f8cc 0x8075f8cc +8075f8d4 0x8075f8d4 +8075f8dc Objects::MiiKanban::__dt +8075f91c ObjMonteA_construct +8075f9c0 0x8075f9c0 +8075fa6c 0x8075fa6c +8075fd04 0x8075fd04 +8075fdac 0x8075fdac +8075fec8 0x8075fec8 +8075ffb8 0x8075ffb8 +8076005c 0x8076005c +807600c0 0x807600c0 +807600c8 0x807600c8 +807600d0 0x807600d0 +80760110 0x80760110 +80760150 0x80760150 +807604bc 0x807604bc +807604c0 0x807604c0 +8076076c 0x8076076c +807607f0 0x807607f0 +80760988 0x80760988 +807609ec 0x807609ec +80760a1c 0x80760a1c +80760c24 0x80760c24 +80760c8c 0x80760c8c +80760d98 0x80760d98 +80760e74 0x80760e74 +80761120 0x80761120 +807611c4 0x807611c4 +807611d0 0x807611d0 +80761258 0x80761258 +80761260 0x80761260 +80761268 0x80761268 +807612a8 0x807612a8 +807612e8 0x807612e8 +80761380 0x80761380 +80761388 0x80761388 +80761390 0x80761390 +807613dc Objects::Penguin::__dt +8076141c Objects::Penguin::OnStart +807614c4 0x807614c4 +807614d0 Objects::Penguin::Update +8076150c Objects::Penguin::UpdateWithRot +80761570 Objects::Penguin::UpdateNoRot +807615f8 Objects::Penguin::vf_0x104 +807616bc Objects::Penguin::UpdateMtxNoRot +80761888 Objects::Penguin::UpdateMtxWithRot +80761910 0x80761910 +80761998 Objects::Penguin::UpdatePosition +807619c4 Objects::Penguin::OnCollision +80761a4c Objects::Penguin::OnItemCollision +80761a98 Objects::Penguin::SpinOut +80761bcc Objects::Penguin_s::__ct +80761d30 Objects::PenguinUnkObj::LoadAnimations +80761ddc Objects::Penguin_s::__dt +80761e1c Objects::Penguin_s::OnStart +80761ef4 0x80761ef4 +80761f04 Objects::Penguin_s::Update +807620e8 Objects::Penguin_s::UpdateWithRot +8076213c 0x8076213c +80762204 0x80762204 +807623dc 0x807623dc +80762454 Objects::Penguin_s::UpdateNoRot +8076260c 0x8076260c +8076285c Objects::Penguin_s::vf_0x104 +807628e8 0x807628e8 +80762900 0x80762900 +807629c4 0x807629c4 +80762a48 0x80762a48 +80762afc Objects::Penguin_s::SpinOut +80762c38 Objects::Penguin_s::UpdateModelMatrix +80762db8 0x80762db8 +80762df8 Objects::Penguin_m::__ct +80762e9c Objects::Penguin_l::__ct +80762f48 Objects::Penguin_l::OnStart +80762ff0 Objects::Penguin_l::UpdateModelMatrix +80762ff4 0x80762ff4 +80763034 Objects::Penguin::LoadAnimations +80763088 Objects::Penguin::vf_0xec +80763090 Objects::Penguin::GetPropertiesBitfield +80763098 Objects::Penguin_l::DoCalcShadowMtx +807630a0 0x807630a0 +807630f4 0x807630f4 +807630fc 0x807630fc +80763100 0x80763100 +80763108 Objects::Penguin_s::LoadAnimations +807631b4 Objects::Penguin_s::vf_0xec +807631bc Objects::PenguinUnkObj::vf_0xec +807631c4 Objects::PenguinUnkObj::Update +807631c8 Objects::PenguinUnkObj::GetScnObjDrawOptionsIdx +807631d0 Objects::PenguinUnkObj::__dt +80763210 Objects::Penguin_m::_dt +80763250 0x80763250 +80763290 Objects::Penguin_l::__dt +807632d0 Objects::Press::__ct +80763368 Objects::Press::OnStart +807633a8 0x807633a8 +807635d8 0x807635d8 +807635f8 Objects::Press::Update +807637fc Objects::Press::TryFall +807638c0 0x807638c0 +807638fc 0x807638fc +8076392c 0x8076392c +80763a1c 0x80763a1c +80763a7c Objects::Press::UpdateColliding +80763c64 Objects::Press::UpdateEffect +80763d34 0x80763d34 +80763dec 0x80763dec +80763df8 0x80763df8 +80763eac 0x80763eac +80763eb8 0x80763eb8 +80763ed4 0x80763ed4 +80763f84 0x80763f84 +80764040 Objects::Press::OnCollision +80764178 Objects::Press::LoadCollision +80764450 Objects::Press::LoadAnimations +80764554 Objects::Press::GetPropertiesBitfield +8076455c 0x8076455c +8076459c 0x8076459c +807646a0 0x807646a0 +807646a4 0x807646a4 +8076474c 0x8076474c +807648c0 0x807648c0 +80764930 0x80764930 +80764ad4 0x80764ad4 +80764b5c 0x80764b5c +80764be4 0x80764be4 +80764c4c 0x80764c4c +80764f98 0x80764f98 +8076528c 0x8076528c +80765398 0x80765398 +8076541c 0x8076541c +80765424 0x80765424 +8076542c 0x8076542c +8076546c 0x8076546c +807656d8 0x807656d8 +80765718 0x80765718 +8076588c nlListContainer__ct +8076589c 0x8076589c +80765b28 0x80765b28 +80765c04 0x80765c04 +80765de8 0x80765de8 +80765fa8 0x80765fa8 +807660c8 0x807660c8 +807661ec 0x807661ec +80766210 0x80766210 +80766290 0x80766290 +80766778 0x80766778 +80766888 0x80766888 +807668c4 0x807668c4 +80766904 0x80766904 +80766980 0x80766980 +80766aec 0x80766aec +80766f48 0x80766f48 +80766fb0 0x80766fb0 +807670c8 0x807670c8 +80767110 0x80767110 +80767150 0x80767150 +80767198 0x80767198 +807671d8 0x807671d8 +80767260 0x80767260 +80767268 0x80767268 +80767270 0x80767270 +80767274 0x80767274 +80767280 0x80767280 +8076728c 0x8076728c +80767298 0x80767298 +807672a4 0x807672a4 +807672b0 0x807672b0 +80767474 0x80767474 +807674ec 0x807674ec +807674f0 0x807674f0 +807674f4 0x807674f4 +807674f8 0x807674f8 +80767700 0x80767700 +80767750 0x80767750 +8076781c 0x8076781c +80767820 0x80767820 +80767824 0x80767824 +80767874 0x80767874 +807678b4 0x807678b4 +80767a30 0x80767a30 +80767a34 0x80767a34 +80767aac 0x80767aac +80767ab0 0x80767ab0 +80767b10 0x80767b10 +80767d1c 0x80767d1c +80767d20 0x80767d20 +80767e24 0x80767e24 +80768084 0x80768084 +807680e4 0x807680e4 +807681a8 0x807681a8 +807681fc 0x807681fc +80768204 0x80768204 +8076820c 0x8076820c +80768210 0x80768210 +80768214 0x80768214 +80768218 0x80768218 +8076821c 0x8076821c +80768220 0x80768220 +80768224 0x80768224 +8076822c 0x8076822c +8076827c 0x8076827c +807682f4 0x807682f4 +807682f8 0x807682f8 +80768378 0x80768378 +807683b8 0x807683b8 +807683f8 Objects::W_Woodbox::__ct +80768578 Objects::SubObjectArray::__dt +807685f0 Objects::SubObjectArray::vf_0x18 +807685f4 Objects::W_Woodbox::__dt +80768674 Objects::W_Woodbox::OnStart +807686ac 0x807686ac +807686b8 Objects::W_Woodbox::Update +8076877c 0x8076877c +80768820 Objects::W_Woodbox::Box::__ct +8076885c Objects::W_Woodbox::Box::__dt +807688b8 Objects::W_Woodbox::Box::OnStart +80768918 Objects::W_Woodbox::Box::RespawnImpl +80768970 Objects::W_Woodbox::Box::Update +80768a40 0x80768a40 +80768ab8 Objects::Woodbox::__ct +80768af4 Objects::Woodbox::__dt +80768b4c Objects::Woodbox::OnStart +80768b8c Objects::Woodbox::LoadEffects +80768bd8 Objects::Woodbox::DropItem +80768c24 Objects::Woodbox::Respawn +80768c84 Objects::Woodbox::UpdateRespawn +80768cb4 Objects::Woodbox::UpdateRespawnImpl +80768dfc Objects::Woodbox::OnNormalCollision +80768e94 Objects::Woodbox::OnImperviousCollision +80768f40 Objects::Woodbox::OnNormalItemCollision +80768fdc Objects::Woodbox::OnImperviousItemCollision +8076908c Objects::Woodbox::UpdateCollision +8076919c Objects::W_Woodbox::UpdateModel +807691a0 Objects::W_Woodbox::LoadClipInfo +807691a4 Objects::W_Woodbox::LoadCollision +807691a8 Objects::W_Woodbox::LoadAnimations +807691ac Objects::W_Woodbox::LoadModels +807691b0 Objects::W_Woodbox::GetPropertiesBitfield +807691b8 Objects::Woodbox::InitEntity +80769244 Objects::Woodbox::GetBRRESName +80769250 Objects::Woodbox::GetSubFileName +80769278 Objects::W_Woodbox::Box::GetPropertiesBitfield +80769280 Objects::Woodbox::GetPropertiesBitfield +80769288 Objects::SubObjectArray::CreateArray +807692d8 Objects::SubObjectArray::CreateArray(Heap) +80769350 Objects::SubObjectArray::vf_0x14 +80769354 MiiRenderMgr::Disposer__dt +80769458 MiiRenderMgr::CreateInstance +807694e4 MiiRenderMgr::DestroyInstance +8076959c MiiRenderMgr::__ct +807695fc 0x807695fc +8076963c MiiRenderMgr::__dt +80769700 MiiRenderMgr::Init2 +80769a44 MiiRenderMgr::Init +80769bb8 MiiRenderMgr::CreateTextures +80769d00 0x80769d00 +80769d9c MiiRenderMgr::SetPercentages +80769da8 MiiRenderMgr::InitMenuModels +8076a110 0x8076a110 +8076a5d4 MiiRenderMgr::InitRaceModels +8076a890 0x8076a890 +8076a8f0 0x8076a8f0 +8076aaa4 0x8076aaa4 +8076abe8 0x8076abe8 +8076af74 0x8076af74 +8076af8c 0x8076af8c +8076b0b4 0x8076b0b4 +8076b184 0x8076b184 +8076b25c 0x8076b25c +8076b3a4 0x8076b3a4 +8076b3e0 MiiRenderMgr::InitLights +8076b5fc 0x8076b5fc +8076b764 MiiRenderMgr::AddMii +8076b948 MiiRenderMgr::CreateMiisAndRender +8076ba58 MiiRenderMgr::CreateAndRenderFromMiis +8076bb68 MiiRenderMgr::CreateAndDraw +8076c09c 0x8076c09c +8076c440 0x8076c440 +8076c4e8 MiiRenderMgr::SetMiiForModel +8076c5d4 MiiRenderMgr::UpdateScreenFromTexture +8076c78c 0x8076c78c +8076c830 MiiRenderMgr::RequestAddMii +8076c8b8 MiiRenderMgr::ProcessTopAddRequest +8076c96c MiiRenderMgr::DeleteMii +8076c9fc MiiRenderMgr::ProcessAllAddRequests +8076cab0 0x8076cab0 +8076cb3c 0x8076cb3c +8076ccd8 MiiRenderMgr::CalcWorldCB::ExecCallbackB +8076cd84 MiiRenderMgr::CalcWorldCB::__dt +8076cdc4 0x8076cdc4 +8076ce9c MiiRenderMgr::CalcWorldCB::ExecCallbackB(thunk) +8076cea4 MiiRenderMgr::CalcWorldCB::__dt +8076ceac AwardCupModel::Disposer__dt +8076cfb4 AwardCupModel::CreateInstance +8076d084 AwardCupModel::DestroyInstance +8076d140 AwardCupModel::__ct +8076d1e4 AwardCupModel::__dt +8076d2ac AwardCupModel::Load +8076d318 AwardCupModel::Load_switch +8076d31c AwardCupModel::Load_caseD_0 +8076d350 AwardCupModel::Load_caseD_1 +8076d384 AwardCupModel::Load_caseD_2 +8076d3b8 AwardCupModel::Load_caseD_3 +8076d3ec AwardCupModel::Load_caseD_4 +8076d420 AwardCupModel::Load_caseD_5 +8076d454 AwardCupModel::Load_caseD_6 +8076d488 AwardCupModel::Load_caseD_7 +8076d4bc AwardCupModel::Load_caseD_8 +8076d724 AwardCupModel::Prepare +8076d854 AwardCupModel::Activate +8076d904 AwardCupModel::Update +8076db88 0x8076db88 +8076dcf0 0x8076dcf0 +8076dd94 0x8076dd94 +8076de40 0x8076de40 +8076df84 0x8076df84 +8076dfbc 0x8076dfbc +8076e020 0x8076e020 +8076e060 0x8076e060 +8076e064 0x8076e064 +8076e068 0x8076e068 +8076e140 0x8076e140 +8076e218 0x8076e218 +8076e220 0x8076e220 +8076e260 0x8076e260 +8076e2a0 0x8076e2a0 +8076e354 0x8076e354 +8076e4d8 0x8076e4d8 +8076e8ac 0x8076e8ac +8076e8f8 0x8076e8f8 +8076ea60 0x8076ea60 +8076ebb4 0x8076ebb4 +8076ecf8 0x8076ecf8 +8076ede0 0x8076ede0 +8076efac 0x8076efac +8076f018 0x8076f018 +8076f024 0x8076f024 +8076f038 0x8076f038 +8076f098 0x8076f098 +8076f0a0 0x8076f0a0 +8076f0a8 0x8076f0a8 +8076f128 0x8076f128 +8076f168 0x8076f168 +8076f214 0x8076f214 +8076f2ac 0x8076f2ac +8076f320 0x8076f320 +8076f324 0x8076f324 +8076f4e0 0x8076f4e0 +8076f598 0x8076f598 +8076f63c 0x8076f63c +8076f6b4 0x8076f6b4 +8076f85c 0x8076f85c +8076fc94 0x8076fc94 +8076fd08 0x8076fd08 +8076fd14 0x8076fd14 +8076fd20 0x8076fd20 +8076fedc 0x8076fedc +8076ff54 0x8076ff54 +8076ff58 0x8076ff58 +8076ffd8 0x8076ffd8 +8076fff0 0x8076fff0 +80770000 0x80770000 +80770128 0x80770128 +80770424 0x80770424 +8077049c 0x8077049c +807704a0 0x807704a0 +80770520 0x80770520 +80770524 0x80770524 +80770528 0x80770528 +8077052c 0x8077052c +80770530 0x80770530 +80770534 0x80770534 +80770538 0x80770538 +80770540 0x80770540 +80770544 0x80770544 +80770548 0x80770548 +8077054c 0x8077054c +80770550 0x80770550 +80770558 0x80770558 +80770560 0x80770560 +807705b0 0x807705b0 +80770628 0x80770628 +8077062c 0x8077062c +8077067c 0x8077067c +807706f4 0x807706f4 +807706f8 0x807706f8 +80770a0c 0x80770a0c +80770a4c 0x80770a4c +80770a84 0x80770a84 +80770e80 0x80770e80 +80770ea4 0x80770ea4 +8077120c 0x8077120c +807714ec 0x807714ec +807714f4 0x807714f4 +807714fc 0x807714fc +80771518 0x80771518 +807718d4 0x807718d4 +807718fc 0x807718fc +80771a04 0x80771a04 +80771eb4 0x80771eb4 +80771ee8 0x80771ee8 +80771fd4 0x80771fd4 +80772088 0x80772088 +807720b8 0x807720b8 +80772340 0x80772340 +80772380 0x80772380 +80772420 0x80772420 +807724c0 0x807724c0 +807725e4 0x807725e4 +8077299c cFielder_IsStriker +807729ac 0x807729ac +80772ad8 0x80772ad8 +80772ba8 0x80772ba8 +80772c94 0x80772c94 +80772d10 0x80772d10 +80772d7c 0x80772d7c +80772e00 0x80772e00 +80772eec 0x80772eec +80773040 0x80773040 +80773138 0x80773138 +80773178 0x80773178 +807731b0 0x807731b0 +80773270 0x80773270 +80773788 0x80773788 +807738d0 0x807738d0 +80773ab4 0x80773ab4 +80773bcc 0x80773bcc +80773dbc 0x80773dbc +80773dd8 0x80773dd8 +80773f70 0x80773f70 +80774038 0x80774038 +80774174 0x80774174 +807743a4 0x807743a4 +8077442c 0x8077442c +80774474 0x80774474 +807744bc 0x807744bc +80774700 0x80774700 +80774750 0x80774750 +80774774 0x80774774 +80774898 0x80774898 +8077493c 0x8077493c +80774a48 0x80774a48 +80774b1c 0x80774b1c +80774b2c 0x80774b2c +80774b50 0x80774b50 +80774c58 0x80774c58 +80774c60 0x80774c60 +80774d88 0x80774d88 +80774e94 0x80774e94 +807750a8 0x807750a8 +807753a8 0x807753a8 +80775440 0x80775440 +807754ec 0x807754ec +807754f4 0x807754f4 +807754fc 0x807754fc +80775508 0x80775508 +80775510 0x80775510 +80775518 0x80775518 +80775524 0x80775524 +80775530 0x80775530 +8077553c 0x8077553c +80775548 0x80775548 +80775588 0x80775588 +807755c8 0x807755c8 +80775608 0x80775608 +80775640 0x80775640 +80775648 0x80775648 +80775650 0x80775650 +80775658 0x80775658 +807756d0 0x807756d0 +80775710 0x80775710 +80775854 0x80775854 +80775858 0x80775858 +80775960 0x80775960 +807759c0 0x807759c0 +807759c8 0x807759c8 +80775a6c 0x80775a6c +80775ae4 0x80775ae4 +80775b64 0x80775b64 +80775e70 0x80775e70 +80775e74 0x80775e74 +80775e78 0x80775e78 +8077602c 0x8077602c +80776488 0x80776488 +80776510 0x80776510 +80776598 0x80776598 +80776608 0x80776608 +807766fc 0x807766fc +8077673c 0x8077673c +80776788 0x80776788 +8077678c 0x8077678c +807767cc 0x807767cc +8077680c 0x8077680c +8077684c 0x8077684c +8077688c 0x8077688c +807768e0 0x807768e0 +807768e8 0x807768e8 +807768f4 0x807768f4 +80776900 0x80776900 +807769d8 0x807769d8 +807769e0 0x807769e0 +807769e4 0x807769e4 +807769ec 0x807769ec +807769f8 0x807769f8 +80776a04 0x80776a04 +80776a10 0x80776a10 +80776a1c 0x80776a1c +80776a28 0x80776a28 +80776a34 0x80776a34 +80776a84 0x80776a84 +80776afc 0x80776afc +80776b00 0x80776b00 +80776b40 0x80776b40 +80776b80 0x80776b80 +80776bc0 0x80776bc0 +80776c80 Objects::Karehayama::__ct +80776cbc Objects::Karehayama::__dt +80776d14 Objects::Karehayama::OnStart +80776d6c Objects::Karehayama::LoadEffects +80776e48 Objects::Karehayama::CreateCollisionEffectSoft +80776f10 Objects::Karehayama::CreateCollisionEffect +80776f80 Objects::Karehayama::CreateExplosionEffect +80776f84 Objects::Karehayama::Respawn +80776fd8 Objects::Karehayama::DropItem +80777080 Objects::Karehayama::OnNormalCollision +8077717c Objects::Karehayama::OnImperviousCollision +807772b0 Objects::Karehayama::OnNormalItemCollision +8077737c Objects::Karehayama::OnImperviousItemCollision +80777438 Objects::Karehayama::LoadShadow +80777514 Object::ItemDropper::UpdateRespawn +80777518 Object::ItemDropper::GetPropertiesBitfield +80777520 Objects::Karehayama::LoadAnimations +80777574 Objects::Karehayama::vf_0x114 +8077757c Objects::Karehayama::OnWallCollision +80777580 Objects::Karehayama::GetBRRESName +807775d4 Objects::Karehayama::GetSubFileName +80777628 ObjVeniceGondola_construct +8077768c ObjVeniceGondola_destruct +807776cc 0x807776cc +80777814 0x80777814 +80777818 0x80777818 +80777b00 0x80777b00 +80777b88 0x80777b88 +80777c10 0x80777c10 +80777c78 0x80777c78 +80777cb4 0x80777cb4 +80777cf4 0x80777cf4 +80777db0 0x80777db0 +80777e4c 0x80777e4c +80777e58 0x80777e58 +80777e64 0x80777e64 +80777e6c 0x80777e6c +80777e78 0x80777e78 +80777e84 0x80777e84 +80777e8c 0x80777e8c +80777e90 0x80777e90 +80777f28 0x80777f28 +80777ff0 0x80777ff0 +80778030 0x80778030 +80778098 0x80778098 +8077809c 0x8077809c +807781dc 0x807781dc +807781f4 0x807781f4 +8077838c 0x8077838c +807783ec 0x807783ec +807787e0 0x807787e0 +80778880 0x80778880 +807789a4 0x807789a4 +80778a58 0x80778a58 +80778b14 0x80778b14 +80778b94 0x80778b94 +80778c0c 0x80778c0c +80778d64 0x80778d64 +80778dbc 0x80778dbc +80778dc8 0x80778dc8 +80778e94 0x80778e94 +80779080 0x80779080 +80779084 0x80779084 +80779104 0x80779104 +8077917c 0x8077917c +80779230 0x80779230 +8077923c 0x8077923c +80779240 0x80779240 +80779608 0x80779608 +8077960c 0x8077960c +80779804 0x80779804 +807798dc 0x807798dc +80779a94 0x80779a94 +80779b60 0x80779b60 +80779d1c 0x80779d1c +80779db0 0x80779db0 +8077a1ec 0x8077a1ec +8077a1f0 0x8077a1f0 +8077a268 0x8077a268 +8077a2e0 0x8077a2e0 +8077a2e4 0x8077a2e4 +8077a3a0 0x8077a3a0 +8077a3f0 0x8077a3f0 +8077a650 0x8077a650 +8077a894 0x8077a894 +8077a9b0 0x8077a9b0 +8077aa50 0x8077aa50 +8077ab84 0x8077ab84 +8077ac7c 0x8077ac7c +8077ac80 0x8077ac80 +8077ac84 0x8077ac84 +8077ac88 0x8077ac88 +8077ac8c 0x8077ac8c +8077ac94 0x8077ac94 +8077ac98 0x8077ac98 +8077ac9c 0x8077ac9c +8077aca0 0x8077aca0 +8077aca4 0x8077aca4 +8077acac 0x8077acac +8077acb4 0x8077acb4 +8077ad04 0x8077ad04 +8077ad7c 0x8077ad7c +8077ad80 0x8077ad80 +8077add0 0x8077add0 +8077ae48 0x8077ae48 +8077ae4c 0x8077ae4c +8077ae9c 0x8077ae9c +8077af14 0x8077af14 +8077af18 0x8077af18 +8077afd0 0x8077afd0 +8077b0b4 0x8077b0b4 +8077b0b8 Objects::ItemDropper::__ct +8077b100 Objects::ItemDropper::__dt +8077b140 Objects::ItemDropper::OnStart +8077b1f0 Objects::ItemDropper::LoadEffects +8077b1f4 Objects::ItemDropper::Update +8077b248 Objects::ItemDropper::RespawnImpl +8077b2ac Objects::ItemDropper::Respawn +8077b2bc Objects::ItemDropper::DropItem +8077b4b4 Objects::ItemDropper::CreateExplosionEffect +8077b584 Objects::ItemDropper::OnCollision +8077b6ac Objects::ItemDropper::OnNormalCollision +8077b6b0 Objects::ItemDropper::OnImperviousCollision +8077b6b4 Objects::ItemDropper::OnItemCollision +8077b7b0 Objects::ItemDropper::OnNormalItemCollision +8077b7b4 0x8077b7b4 +8077b7b8 0x8077b7b8 +8077b7f8 0x8077b7f8 +8077b810 0x8077b810 +8077bbd0 0x8077bbd0 +8077bd2c 0x8077bd2c +8077bd30 0x8077bd30 +8077bd70 0x8077bd70 +8077bdb0 0x8077bdb0 +8077c140 0x8077c140 +8077c148 0x8077c148 +8077c188 Objects::MiiObj::__ct +8077c1c8 Objects::MiiObj::__dt +8077c234 Objects::MiiObj::OnStart +8077c240 Objects::MiiObj::LoadModels +8077c774 Objects::MiiObj::GetPropertiesBitfield +8077c77c Objects::MiiPoster::__ct +8077c7bc Objects::MiiPoster::__dt +8077c7c8 Objects::MiiPoster::OnStart +8077c99c Objects::MiiPoster::LoadModels +8077c9a4 Objects::MiiPoster::GetPropertiesBitfield +8077c9e4 Objects::MiiKanban::__ct +8077ca24 Objects::MiiKanban::LoadModels +8077ccbc Objects::MiiKanban::OnStart +8077ccc8 0x8077ccc8 +8077ccd0 0x8077ccd0 +8077cd10 Objects::Dokan_sfc::__ct +8077cd50 Objects::Dokan_sfc::OnStart +8077cde8 Objects::Dokan_sfc::Update +8077ce6c 0x8077ce6c +8077cedc 0x8077cedc +8077d0c0 0x8077d0c0 +8077d12c Objects::Dokan_sfc::OnCollision +8077d1e4 Objects::Dokan_sfc::OnItemCollision +8077d270 Objects::Dokan_sfc::UpdateCollision +8077d3c8 Objects::Dokan_sfc::UpdateShadow +8077d47c Objects::Dokan_sfc::LoadAnimations +8077d4fc Objects::Dokan_sfc::vf_0xec +8077d504 Objects::Dokan_sfc::GetPropertiesBitfield +8077d50c Objects::Dokan_sfc::__dt +8077d54c Objects::Sin_ItemBox::__ct +8077d588 Objects::Sin_ItemBox::__dt +8077d5c8 Objects::Sin_ItemBox::OnStart +8077d6a8 Objects::Sin_ItemBox::Update +8077d7ec 0x8077d7ec +8077d8f8 Objects::Sin_ItemBox::GetPropertiesBitfield +8077d900 obj_inseki::__ct +8077d9d0 0x8077d9d0 +8077da10 0x8077da10 +8077da58 obj_inseki_update +8077db60 0x8077db60 +8077db68 0x8077db68 +8077dbcc 0x8077dbcc +8077dc0c 0x8077dc0c +8077dcc8 0x8077dcc8 +8077dcf0 0x8077dcf0 +8077de54 0x8077de54 +8077deb8 0x8077deb8 +8077dfc4 0x8077dfc4 +8077e034 0x8077e034 +8077e048 0x8077e048 +8077e04c 0x8077e04c +8077e050 0x8077e050 +8077e054 0x8077e054 +8077e05c Objects::Fall::__ct +8077e394 Objects::Fall::__dt +8077e3d4 Objects::Fall::OnStart +8077e3d8 Objects::Fall::Update +8077e4bc 0x8077e4bc +8077e5a0 Objects::Fall::GetPropertiesBitfield +8077e5a8 0x8077e5a8 +8077e5b8 0x8077e5b8 +8077e5f8 0x8077e5f8 +8077e5fc 0x8077e5fc +8077e6d8 0x8077e6d8 +8077e7e4 0x8077e7e4 +8077e8a8 0x8077e8a8 +8077e944 0x8077e944 +8077ea20 0x8077ea20 +8077eb44 Object::GetRaceinfoRandom +8077eb78 0x8077eb78 +8077ec20 0x8077ec20 +8077ecc8 0x8077ecc8 +8077ed20 0x8077ed20 +8077ed94 0x8077ed94 +8077ee24 0x8077ee24 +8077ef44 RaceEndTallies::Disposer__dt +8077f070 RaceEndTallies::CreateInstance +8077f118 RaceEndTallies::DestroyInstance +8077f1cc RaceEndTallies::__dt +8077f270 RaceEndTallies::__ct +8077f2ec RaceEndTallies::Init +8077f474 RaceEndTallies::Init_switch +8077f478 RaceEndTallies::Init_caseD_0 +8077f484 RaceEndTallies::Init_caseD_3 +8077f48c RaceEndTallies::Init_caseD_4 +8077f5d8 RaceEndTallies::UpdateLicenseTallies +8077f8e4 RaceEndTallies::Reset +8077f928 RaceEndTallies::SetVSBattleBool +8077f980 RaceEndTallies::SetTotalDistance +8077f998 RaceEndTallies::SetTotalDistanceVS +8077f9f4 RaceEndTallies::SetCharacterAndKart +8077fa78 RaceEndTallies::SetCourseId +8077fab0 0x8077fab0 +8077fabc 0x8077fabc +8077fac4 0x8077fac4 +8077fac8 RaceEndTallies::SetWheelBool +8077fbb0 RaceEndTallies::SetItemsTricksCounts +8077fbcc 0x8077fbcc +8077fc20 0x8077fc20 +8077fc78 0x8077fc78 +8077fe20 0x8077fe20 +8077ff30 0x8077ff30 +80780198 0x80780198 +80780210 0x80780210 +80780288 0x80780288 +8078028c 0x8078028c +80780290 0x80780290 +8078058c 0x8078058c +80780828 0x80780828 +80780b64 0x80780b64 +80780cf4 0x80780cf4 +80780d8c 0x80780d8c +80780e24 0x80780e24 +80780ea8 0x80780ea8 +80780f1c 0x80780f1c +80780f6c 0x80780f6c +80780fe4 0x80780fe4 +80780fe8 0x80780fe8 +80781038 0x80781038 +807810b0 0x807810b0 +807810b4 EntityManager::__dt +807811ac EntityManager::CreateInstance +807811fc EntityManager::DestroyInstance +807812b0 EntityManager::__ct +807814a8 0x807814a8 +8078154c 0x8078154c +80781580 EntityManager::Update +8078195c EntityManager::GetNextKartPlayer +807819c4 EntityManager::GetNextObj +80781a2c EntityManager::GetNextObjectCollidable +80781a94 EntityManager::GetNextObjectKCL +80781afc EntityManager::UpdateIndexes +80781c20 EntityManager::InsertKartPlayer +80781c34 EntityManager::InsertItemEntity +80781c48 EntityManager::InsertObjectCollidable +80781cf0 EntityManager::InsertObjectKCL +80781d04 EntityManager::InsertEntity +80782148 EntityManager::RemoveEntity +80782344 EntityManager::PrepareFromEntity +80782490 EntityManager::FindEntitiesCloseToEntity +807826e4 EntityManager::PrepareFromSphere +80782830 EntityManager::FindEntitiesCloseToSphere +8078298c 0x8078298c +80782a30 EntityManager::IsPrepared +80782aa0 Entity::__ct +80782ac4 Entity::__dt +80782b04 Entity::Init +80782b3c Entity::MakeDynamic +80782b4c Entity::Resize +80782b68 AreaMasker_ +80782b78 EntityManager::Prepare +80782b90 ClipInfoMgr::GetArea8And9GroupIDs +80782c4c ClipInfoMgr::UpdateScreenInfo +80782e90 ClipInfoMgr::NormalizeVector +80782f10 ClipInfoMgr::Disposer__dt +8078303c ClipInfoMgr::CreateInstance +80783108 ClipInfoMgr::DestroyInstance +807831bc ClipInfoMgr::__ct +8078325c ClipScreenInfo::__ct +80783260 ClipScreenInfo::__dt +807832a0 ClipInfoMgr::__dt +80783344 ClipInfoMgr::Update +80783688 ClipInfoMgr::Insert +80783758 0x80783758 +80783770 ClipInfoMgr::CalcAreaType8Refs +807837a8 ClipInfo::__ct +807837b4 ClipInfo::__dt +807837f4 ClipInfo::Init +807838d4 0x807838d4 +807838e8 0x807838e8 +80783920 0x80783920 +80783954 DriverMgr::Disposer__dt +807839dc DriverMgr::CreateInstance +80783a2c DriverMgr::DestroyInstance +80783a50 DriverMgr::__ct +80783e18 DriverMgr::__dt +80783f2c 0x80783f2c +80783f40 DriverMgr::SetController +80783f50 0x80783f50 +80783f98 0x80783f98 +80784194 0x80784194 +8078436c 0x8078436c +80784440 0x80784440 +807844b4 0x807844b4 +807844c0 0x807844c0 +80784608 0x80784608 +80784610 0x80784610 +80784778 0x80784778 +807847dc DriverMgr::InitAwards +80784818 DriverMgr::Update +80784974 0x80784974 +807849dc 0x807849dc +80784a84 0x80784a84 +80784b04 0x80784b04 +80784c60 0x80784c60 +80784da8 0x80784da8 +80784dd8 DriverMgr::ChangeFocusedPlayer +80784de8 0x80784de8 +80784df8 MHModelDirector::__ct +80784e54 MHModelDirector::SetMatsTEVColors +80784fdc CourseMgr::CreateInstance +80785118 CourseMgr::DestroyInstance +807851a4 CourseMgr::LoadModels +80785330 0x80785330 +80785448 0x80785448 +807854dc CourseMgr::SetSoftWallInfo +807854e4 CourseMgr::UpdateKCL +8078557c 0x8078557c +80785688 0x80785688 +807857b8 0x807857b8 +807858e0 0x807858e0 +807858e4 0x807858e4 +80785a8c 0x80785a8c +80785af4 0x80785af4 +80785c9c 0x80785c9c +80785ee8 0x80785ee8 +80786134 CourseMgr::IsCollidingNoTerrainInfoNoTriangleCheck +80786314 CourseMgr::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807864f4 CourseMgr::IsColliding +80786778 CourseMgr::IsCollidingAddEntryNoTriangleCheck +807869fc 0x807869fc +80786ba4 0x80786ba4 +80786d4c 0x80786d4c +80786f98 0x80786f98 +807871e4 CourseMgr::IsCollidingNoTerrainInfo +807873b0 CourseMgr::IsCollidingAddEntryNoTerrainInfo +8078757c 0x8078757c +807877ec CourseMgr::IsCollidingAddEntry +80787a5c 0x80787a5c +80787ab4 _sinit_CourseMgr_cpp +80787ac4 MHModelDirector::__dt(thunk) +80787acc Item::LoadObjProperties +80787af0 Item::InitAllObjProperties +80787e10 Item::IsTT +80787e1c Item::IsAwards +80787e24 Item::GetDriverMgr +80787e30 Item::GetKMPObjectsCount +80787e54 Item::GetGOBJHolder +80787e60 Item::GetKMPObjectId +80787e70 Item::ObjProperties::__ct(Copy) +80787fac Item::ObjProperties::ComputeCapacities +80788260 0x80788260 +807882d4 0x807882d4 +8078834c 0x8078834c +807883c4 0x807883c4 +8078843c 0x8078843c +807884b4 0x807884b4 +80788528 0x80788528 +8078859c 0x8078859c +80788638 0x80788638 +80788754 Item::PlayerObj::__ct +807887f4 0x807887f4 +80788834 Item::PlayerObj::Init +80788904 Item::PlayerObj::UseItem +80788bfc 0x80788bfc +80788cbc 0x80788cbc +80788ddc 0x80788ddc +80788dec 0x80788dec +80788e50 Item::PlayerObj::UpdateParams +80789134 0x80789134 +807891e4 0x807891e4 +80789310 Item::PlayerObj::UpdateTetheredItems +80789514 0x80789514 +8078960c 0x8078960c +80789afc Item::PlayerObj::TrailPrepare +80789c5c Item::PlayerObj::TrailUpdate +80789fbc 0x80789fbc +8078a024 0x8078a024 +8078a158 0x8078a158 +8078a1d0 Item::PlayerObj::TripleTrailPrepare +8078a560 Item::PlayerObj::TripleTrailUpdate +8078aef8 0x8078aef8 +8078af68 0x8078af68 +8078b1e4 Item::PlayerObj::SpinCalc +8078b550 Item::PlayerObj::SpinPrepare +8078b688 Item::PlayerObj::SpinUpdate +8078ba58 0x8078ba58 +8078baa4 0x8078baa4 +8078bb6c 0x8078bb6c +8078bba0 0x8078bba0 +8078bc38 0x8078bc38 +8078bd10 0x8078bd10 +8078be7c Item::PlayerObj::CalcInitialObjSpeedAndDir +8078c024 0x8078c024 +8078c1a0 0x8078c1a0 +8078c2d0 0x8078c2d0 +8078c344 Item::PlayerObj::LoseItem +8078c4cc 0x8078c4cc +8078c5b8 Item::PlayerObj::ComputeWheelPosRelativeToKart +8078c650 0x8078c650 +8078c65c Item::PlayerObj::UpdateRemote +8078c83c 0x8078c83c +8078cb54 0x8078cb54 +8078cc34 0x8078cc34 +8078cc94 0x8078cc94 +8078ccbc Item::ObjHolder::__ct +8078ccc0 Item::ObjHolder::Init +8078cd88 Item::ObjHolder::HideAll +8078cdf8 Item::ObjHolder::Spawn +8078cf1c 0x8078cf1c +8078cf5c Item::ObjHolder::OnObjKillFinish +8078d1e4 0x8078d1e4 +8078d33c Item::ObjHolder::SortObjs +8078d464 Item::ObjHolder::Update +8078d980 0x8078d980 +8078d99c 0x8078d99c +8078da3c 0x8078da3c +8078db24 Item::ObjHolder::UpdateModelPositions +8078dbb0 Item::ObjHolder::OnFinishThrow +8078dc2c 0x8078dc2c +8078dc94 Item::ObjHolder::ProcessRecvEVENT +8078df64 Item::ObjHolder::ProcessRecvShootEVENT +8078e134 Item::ObjHolder::ProcessRecvHitFreeEVENT +8078e2ac 0x8078e2ac +8078e418 0x8078e418 +8078e4a0 Item::ObjHolder::GetTotalItemCount +8078e518 0x8078e518 +8078e540 Item::Player::__ct +8078e590 0x8078e590 +8078e5d0 0x8078e5d0 +8078e610 0x8078e610 +8078e650 Item::PlayerObj::__dt +8078e6d4 Item::Player::Init +8078e884 0x8078e884 +8078e91c Item::Player::Update +8078f1d8 0x8078f1d8 +8078f200 0x8078f200 +8078f240 0x8078f240 +8078f284 0x8078f284 +8078f4d0 0x8078f4d0 +8078f578 0x8078f578 +8078f640 Item::Player::ActivateMushroom +8078f678 Item::Player::ActivateStar +8078f6a8 Item::Player::ActivateMega +8078f6d8 Item::Player::ActivateBullet +8078f700 0x8078f700 +8078f704 0x8078f704 +8078f71c 0x8078f71c +8078f7e0 0x8078f7e0 +8078f83c 0x8078f83c +8078f8e4 0x8078f8e4 +8078f91c Item::Player::OnObjTetherEnd +8078f980 0x8078f980 +8078fa00 0x8078fa00 +8078fa24 Item::Player::LoseItemFromDmg +8078fb1c Item::Player::LoseTetheredItem +8078fb80 0x8078fb80 +8078fc2c Item::Player::DecideItem +8078fcf8 0x8078fcf8 +8078fd00 0x8078fd00 +8078fda8 0x8078fda8 +8078fdb0 Item::Player::HasTripleItem +8078fe34 0x8078fe34 +8078ff00 Item::Player::GetHeldCount +8078ff78 0x8078ff78 +8078ff84 0x8078ff84 +8078ff90 Item::Manager::Disposer__dt +8079012c Item::Manager::CreateInstance +8079017c Item::Manager::DestroyInstance +807902cc Item::Manager::__ct +807904d0 Item::ObjHolder::__dt +80790510 Item::Player::__dt +807905a4 0x807905a4 +807905e4 0x807905e4 +80790624 0x80790624 +80790664 Item::Manager::__dt +80790788 Item::Manager::Init +80790844 Item::Manager::Update +80790994 Item::Manager::UpdateAllObjModelPos +807909ec Item::Manager::UpdateObjHolders +80790a44 Item::Manager::UpdateTotalItemCountMinus30 +80790ac0 Item::Manager::UpdatePlayers +80790b20 0x80790b20 +80790bdc Item::Manager::IsThereCapacityForItem +80790c64 0x80790c64 +80790ca0 Item::Manager::CheckKartCollision +80790e44 ItemManager::InitItemDirect +80790fb0 Item::Manager::CreateItemDirect +80791120 Item::Manager::GenerateItemDirect +8079128c Item::Manager::SpawnCloudForLocal +807913ac Item::Manager::SpawnCloudForRemote +8079148c 0x8079148c +8079156c 0x8079156c +807915e8 Item::Manager::DoSomethingWithFIBObjTevColors +80791648 0x80791648 +80791650 Item::Manager::GetHeldCount +807916c4 0x807916c4 +8079176c Item::EVENTBuffer::Disposer__dt +80791898 Item::EVENTBuffer::CreateInstance +80791b5c Item::EVENTBuffer::DestroyInstance +80791c10 0x80791c10 +80791c98 0x80791c98 +80791cb4 0x80791cb4 +80791d24 Item::EVENTBuffer::GetPlayerIdFromBitfield +80791d2c Item::EVENTBuffer::FillOrExtractShootPos +80791efc Item::EVENTBuffer::FillOrExtractPosDiff +8079206c 0x8079206c +80792300 0x80792300 +8079232c Item::EVENTBuffer::FillOrExtractBitfield +8079238c Item::EVENTBuffer::FillOrExtractTargetingShoot +80792434 Item::EVENTBuffer::FillOrExtractBombShoot +807924a0 Item::EVENTBuffer::FillOrExtractShoot +80792d88 Item::EVENTBuffer::UpdateSend +80792ec4 Item::EVENTBuffer::UpdateReceive +80792fe0 Item::EVENTBuffer::QueueSendEntry +807930a0 Item::EVENTBuffer::QueueReceivedEntry +80793168 0x80793168 +80793214 Item::Obj::AddUseEVENTEntry +807932d8 Item::Obj::AddShootEVENTEntry +807933b8 Item::Obj::AddHitFreeEVENTEntry +8079348c Item::Obj::AddHitDraggedEVENTEntry +80793548 Item::Obj::AddTCLostPassEVENTEntry +80793614 Item::Obj::AddAction6EVENTEntry +807936d8 Item::Obj::AddTCLostEndEVENTEntry +807937b8 Item::Obj::AddDropEVENTEntry +80793874 Item::Obj::GetHitFreeEntryPlayerIdAndType +8079388c 0x8079388c +80793894 0x80793894 +807938bc Item::EVENTBuffer::GetEntryBitfield +807938d8 Item::EVENTBuffer::GetUSEPlayerId +807938e0 0x807938e0 +80793924 0x80793924 +80793954 Item::Obj::SendOrExtractHitDraggedEVENT +807942d4 thunk_0x8079dee4 +807943d0 Item::EVENTBuffer::__ct +80794668 Item::EVENTBuffer::__dt +8079470c 0x8079470c +80794714 0x80794714 +80794738 0x80794738 +80794740 0x80794740 +80794748 0x80794748 +80794750 0x80794750 +80794758 0x80794758 +80794760 GetEVENTEntryDataLength +807947f8 Item::Obj::InitSelf +80794840 Item::Obj::CalcWorld::ExecCallbackB +807948b0 Item::Obj::__ct +80794914 0x80794914 +807949f0 Item::Obj::SpawnModel +80794a90 Item::Obj::PrepareLight +80794c38 0x80794c38 +80794c54 0x80794c54 +80794ca8 Item::Obj::SetInitialPosition +80794cb0 Item::Obj::OnKill +80794d60 Item::Obj::OnTetherBreak +80794d64 Item::Obj::OnFinishKill +80794e28 Item::Obj::ProcessRecvShootEVENT +80794ed8 Item::Obj::vf_0x30 +807951e4 Item::Obj::vf_0x34 +80795218 Item::Obj::Init +807952f4 Item::Obj::RemoveFromScn +80795380 0x80795380 +80795544 Item::Obj::Spawn +807955e8 Item::Obj::Set +80795878 Item::Obj::FinishKill +807958e8 0x807958e8 +807959dc 0x807959dc +80795a4c 0x80795a4c +80795bb0 0x80795bb0 +80795c38 0x80795c38 +80795c8c 0x80795c8c +80795d10 0x80795d10 +80795d40 0x80795d40 +80795da8 0x80795da8 +80795e24 Item::Obj::RegisterEntity +80795ec0 Item::Obj::UnregisterEntity +80795ed4 0x80795ed4 +80795fe0 Item::Obj::Update +807968a8 0x807968a8 +807968e8 0x807968e8 +80796928 0x80796928 +80796c44 0x80796c44 +80796d78 0x80796d78 +80796e24 Item::Obj::TryDisappearDueToExcess +80796ea0 0x80796ea0 +80796ea8 Item::Obj::CanDisappearFromDuration +80796f08 0x80796f08 +80796f50 Item::Obj::LoadGraphicsImplicitBRRESNoFunc +80796f98 Item::Obj::LoadGraphicsDefault +80796fd0 Item::Obj::LoadGraphicsImplicitBRRES +80797034 Item::Obj::LoadGraphics +80797374 Item::Obj::LoadItemLight +807975c4 Item::Obj::UpdateModelPosition +807975e8 Item::Obj::UpdateModelPositionNoClip +807977ac Item::Obj::UpdateModelFromVecs +80797a5c Item::Obj::UpdateShadow +80797cc8 Item::Obj::UpdateModelFromQuat +80797e1c Item::Obj::OnObjCollision +80798068 0x80798068 +80798250 0x80798250 +80798390 0x80798390 +807984c8 Item::Obj::CheckKartCollision +80798674 0x80798674 +80798858 0x80798858 +807988e0 Item::XZVecMag +807988f0 Item::Obj::ProcessOtherCollision +80798c88 Item::Obj::CheckOtherObjsCollision +80798ecc 0x80798ecc +80799228 0x80799228 +80799244 0x80799244 +80799264 0x80799264 +80799340 0x80799340 +807994ec 0x807994ec +80799564 0x80799564 +807995a4 Item::Obj::UpdateWithClipping +80799a9c 0x80799a9c +80799ddc 0x80799ddc +80799e5c 0x80799e5c +80799ed0 0x80799ed0 +80799ef4 0x80799ef4 +80799f0c 0x80799f0c +80799f2c 0x80799f2c +80799f4c 0x80799f4c +80799f6c 0x80799f6c +80799f70 0x80799f70 +80799f7c 0x80799f7c +80799fb0 0x80799fb0 +8079a0b8 0x8079a0b8 +8079a0f4 0x8079a0f4 +8079a130 0x8079a130 +8079a16c 0x8079a16c +8079a1b4 Item::Obj::PrepareShootEventPacket +8079a364 Item::Obj::SendOrExtractShootEVENT +8079a3d4 0x8079a3d4 +8079a468 0x8079a468 +8079a4c0 0x8079a4c0 +8079a538 0x8079a538 +8079a5a4 0x8079a5a4 +8079a60c 0x8079a60c +8079a63c 0x8079a63c +8079a770 0x8079a770 +8079a784 Item::Obj::OnPlayerCollision +8079a864 0x8079a864 +8079a8d4 0x8079a8d4 +8079a8d8 Item::Obj::KillThunk +8079a8dc 0x8079a8dc +8079a8e0 0x8079a8e0 +8079a8e4 Item::ObjKouraGreen::UpdateThunk +8079a8e8 Item::ObjKouraRed::UpdateThunk +8079a8ec Item::ObjKouraTogezo::UpdateThunk +8079a8f0 Item::ObjBanana::UpdateThunk +8079a8f4 Item::ObjBomb::UpdateThunk +8079a8f8 Item::ObjFIB::UpdateThunk +8079a8fc Item::ObjKumo::UpdateThunk +8079a900 0x8079a900 +8079a904 0x8079a904 +8079a908 0x8079a908 +8079a90c 0x8079a90c +8079a910 0x8079a910 +8079a914 0x8079a914 +8079a918 0x8079a918 +8079a91c 0x8079a91c +8079a920 0x8079a920 +8079a924 0x8079a924 +8079a928 0x8079a928 +8079a92c 0x8079a92c +8079a930 0x8079a930 +8079a934 0x8079a934 +8079a938 0x8079a938 +8079a93c 0x8079a93c +8079a940 0x8079a940 +8079a944 0x8079a944 +8079a948 0x8079a948 +8079a970 0x8079a970 +8079a978 0x8079a978 +8079a97c 0x8079a97c +8079a980 0x8079a980 +8079a988 0x8079a988 +8079a9c8 Item::Obj::CalcWorldCB::__dt +8079aa08 Item::Obj::CalcWorldCB::ExecCallbackB(thunk) +8079aa10 Item::Obj::CalcWorldCB::__dt(thunk) +8079aa18 Item::ObjBanana::CreateArray +8079aa94 0x8079aa94 +8079aad4 0x8079aad4 +8079ab14 0x8079ab14 +8079ab54 0x8079ab54 +8079ab94 0x8079ab94 +8079abd4 Item::ObjBanana::SetInitialPosition +8079ac74 0x8079ac74 +8079ae6c Item::ObjBanana::Update +8079b000 Item::ObjBanana::vf_0x30 +8079b064 Item::ObjBanana::InitSelf +8079b0e4 Item::ObjBanana::SpawnModel +8079b0e8 Item::ObjBanana::OnKill +8079b1b8 Item::ObjBomb::CreateArray +8079b378 0x8079b378 +8079b3f0 0x8079b3f0 +8079b548 0x8079b548 +8079b5d4 0x8079b5d4 +8079b728 0x8079b728 +8079b844 Item::ObjBomb::__ct +8079b9a8 Item::ObjExplosion::__dt +8079ba0c Item::ObjBomb::SetInitialPosition +8079bb3c 0x8079bb3c +8079bcd0 Item::ObjBomb::Update +8079bf94 Item::ObjBomb::SendOrExtractShootEVENT +8079c000 Item::ObjBomb::vf_0x30 +8079c084 Item::ObjBomb::vf_0x34 +8079c138 Item::ObjBomb::InitSelf +8079c334 Item::ObjBomb::UpdateModelPosition +8079c9d4 Item::ObjBomb::UpdateModelPositionNoClip +8079ca14 0x8079ca14 +8079cac4 0x8079cac4 +8079cb74 Item::ObjBomb::ToggleVisible +8079cbb8 Item::ObjBomb::SpawnModel +8079ccf0 Item::ObjBomb::PrepareLight +8079cd3c 0x8079cd3c +8079cd7c 0x8079cd7c +8079ce98 0x8079ce98 +8079cf60 Item::ObjBomb::OnKill +8079d0ec Item::ObjBomb::OnTetherBreak +8079d190 Item::ObjBomb::OnFinishKill +8079d1ec 0x8079d1ec +8079d23c 0x8079d23c +8079d260 Item::ObjBomb::__dt +8079d2cc __sinit_ItemObjBomb_cpp +8079d314 Item::ObjBomb::__dt(thunk) +8079d31c Item::Obj::KillObj +8079d4e4 0x8079d4e4 +8079d554 Item::Obj::KillFromOtherCollision +8079d608 Item::Obj::KillFromPlayerCollision +8079d6f4 Item::Obj::UpdateKill +8079d72c 0x8079d72c +8079d91c Item::ObjMiddle::__ct +8079d96c 0x8079d96c +8079d9ec 0x8079d9ec +8079dc08 Item::Obj::DisappearDueToExcess +8079dc84 0x8079dc84 +8079dd7c 0x8079dd7c +8079debc 0x8079debc +8079df58 0x8079df58 +8079df60 0x8079df60 +8079df68 0x8079df68 +8079e1d8 0x8079e1d8 +8079e2a0 0x8079e2a0 +8079e344 0x8079e344 +8079e840 0x8079e840 +8079e89c Item::ObjFIB::CreateArray +8079e934 Item::ObjFIB::SetInitialPosition +8079e9d4 Item::ObjFIB::Update +8079ea50 Item::ObjFIB::vf_0x30 +8079eab4 Item::ObjFIB::InitSelf +8079ed54 0x8079ed54 +8079ed84 0x8079ed84 +8079ef10 Item::ObjFIB::SpawnModel +8079efe0 Item::ObjFIB::UpdateModelPosition +8079f128 Item::ObjFIB::OnKill +8079f12c Item::ObjGesso::CreateArray +8079f1a8 0x8079f1a8 +8079f1fc 0x8079f1fc +8079f218 __sinit_ItemObjKinokoBig_cpp +8079f240 Item::ObjKinokoPowerful::CreateArray +8079f2bc Item::Player::UseGoldenMushroom +8079f304 Item::ObjKinokoPowerful::InitSelf +8079f320 __sinit_ItemObjKinokoPowerful_cpp +8079f348 Item::ObjKouraRed::CreateArray +8079f510 Item::ObjKouraRed::__ct +8079f6b0 0x8079f6b0 +8079f6f0 0x8079f6f0 +8079f774 0x8079f774 +8079f808 0x8079f808 +8079f8a0 0x8079f8a0 +8079f904 0x8079f904 +8079f960 0x8079f960 +8079f9e0 Item::ObjKouraRed::SetInitialPosition +8079fbd4 Item::ObjKouraRed::Update +8079fdb4 Item::ObjKouraRed::UpdateModelPosition +8079fe54 Item::ObjKouraRed::UpdateModelPositionNoClip +8079fee0 0x8079fee0 +8079ff20 0x8079ff20 +8079ffd8 0x8079ffd8 +807a0024 0x807a0024 +807a00d0 0x807a00d0 +807a01b0 0x807a01b0 +807a01d0 0x807a01d0 +807a035c 0x807a035c +807a037c 0x807a037c +807a04d8 0x807a04d8 +807a0590 0x807a0590 +807a06d4 0x807a06d4 +807a06e0 0x807a06e0 +807a06e4 Item::ObjKouraRed::InitSelf +807a0764 Item::ObjKouraRed::SendOrExtractShootEVENT +807a0860 Item::ObjKouraRed::vf_0x30 +807a09ac 0x807a09ac +807a0ae0 Item::ObjKouraRed::OnKill +807a0b68 Item::ObjKouraRed::OnFinishKill +807a0bac Item::ObjKouraRed::SpawnModel +807a0bec Item::ObjKouraRed::GetTargetedPlayerId +807a0c08 0x807a0c08 +807a0cc4 __sinit_ItemObjKouraRed_cpp +807a0d30 0x807a0d30 +807a0d38 Item::ObjKouraTogezo::CreateArray +807a0f6c Item::ObjKouraTogezo::__ct +807a1140 0x807a1140 +807a11d8 0x807a11d8 +807a123c 0x807a123c +807a1248 0x807a1248 +807a1284 Item::ObjKouraTogezo::ToggleVisible +807a12c8 Item::ObjKouraTogezo::SpawnModel +807a1360 Item::ObjKouraTogezo::InitSelf +807a1500 Item::ObjKouraTogezo::CalcTargetedPlayerId +807a17f4 Item::ObjKouraTogezo::Reset +807a190c 0x807a190c +807a194c 0x807a194c +807a198c Item::ObjKouraTogezo::SetInitialPosition +807a1b2c Item::ObjKouraTogezo::UpdateModelPosition +807a1d44 Item::ObjKouraTogezo::UpdateModelPositionNoClip +807a1e7c 0x807a1e7c +807a2174 0x807a2174 +807a2470 Item::ObjKouraTogezo::Update +807a28fc 0x807a28fc +807a2944 Item::ObjKouraTogezo::UpdateRouteFlying +807a2b3c Item::ObjKouraTogezo::807ad7e4 +807a2b7c Item::ObjKouraTogezo::UpdateHomeIn +807a2c6c 0x807a2c6c +807a2cb0 Item::ObjKouraTogezo::UpdateDiveIn +807a2eac 0x807a2eac +807a2f60 0x807a2f60 +807a2fb4 Item::ObjKouraTogezo::UpdateHover +807a3204 0x807a3204 +807a326c 0x807a326c +807a32fc 0x807a32fc +807a34d8 Item::ObjKouraTogezo::807ae180_ +807a36a4 Item::ObjKouraTogezo::UpdateExplosion +807a376c Item::ObjKouraTogezo::OnKill +807a38cc Item::ObjKouraTogezo::OnFinishKill +807a3928 Item::ObjKouraTogezo::SendOrExtractShootEVENT +807a3a44 Item::ObjKouraTogezo::vf_0x30 +807a3c00 0x807a3c00 +807a3c08 Item::ObjKouraTogezo::GetTargetedPlayerId +807a3c40 0x807a3c40 +807a3d14 Item::ObjKouraGreen::__dt +807a3dd0 __sinit_ItemObjKouraTogezo_cpp +807a3e3c Item::ObjKouraGreen::__dt(thunk) +807a3e44 Item::ObjKouraGreen::CreateArray +807a3ec0 get_1 +807a3ecc 0x807a3ecc +807a3ed8 0x807a3ed8 +807a3ee4 0x807a3ee4 +807a3ef0 Item::ObjKouraGreen::SetInitialPosition +807a3fbc Item::ObjKouraGreen::Update +807a4084 Item::ObjKouraGreen::UpdateModelPosition +807a4124 Item::ObjKouraGreen::UpdateModelPositionNoClip +807a41b0 Item::ObjKouraGreen::SendOrExtractShootEVENT +807a4290 Item::ObjKouraGreen::vf_0x30 +807a430c Item::ObjKouraGreen::InitSelf +807a438c Item::ObjKouraGreen::OnKill +807a4414 Item::ObjKouraGreen::OnFinishKill +807a4458 Item::ObjKouraGreen::SpawnModel +807a4498 0x807a4498 +807a44b4 0x807a44b4 +807a44f4 0x807a44f4 +807a4dbc 0x807a4dbc +807a514c 0x807a514c +807a522c 0x807a522c +807a5350 0x807a5350 +807a5460 0x807a5460 +807a548c Item::ObjKouraTogezoBase::ResetTargeting +807a549c Item::ObjKouraTogezoBase::SpawnModel +807a54dc 0x807a54dc +807a557c 0x807a557c +807a597c 0x807a597c +807a59a0 0x807a59a0 +807a59d0 0x807a59d0 +807a5b50 Item::ObjKouraTogezo::AcquireTarget +807a5db0 0x807a5db0 +807a5e18 0x807a5e18 +807a5ee4 0x807a5ee4 +807a6084 0x807a6084 +807a62cc 0x807a62cc +807a6608 0x807a6608 +807a6694 0x807a6694 +807a6718 0x807a6718 +807a68cc 0x807a68cc +807a6994 0x807a6994 +807a6a24 0x807a6a24 +807a6a94 0x807a6a94 +807a7640 0x807a7640 +807a76e8 0x807a76e8 +807a776c 0x807a776c +807a7858 0x807a7858 +807a7a98 0x807a7a98 +807a7bac 0x807a7bac +807a7c90 0x807a7c90 +807a7dbc 0x807a7dbc +807a7eb0 Item::ObjThrowable::OnFinishThrow +807a8138 0x807a8138 +807a819c KouraGreen_07b6bfc_ +807a84f4 0x807a84f4 +807a8590 Item::ObjStar::CreateArray +807a860c Item::Player::UseStar +807a8660 Item::ObjStar::InitSelf +807a867c __sinit_ItemObjStar_cpp +807a86a4 Item::ObjThrowable::SetInitialPositionImpl +807a8a74 0x807a8a74 +807a8b10 0x807a8b10 +807a8fe8 0x807a8fe8 +807a9044 0x807a9044 +807a90a0 Item::ObjThunder::CreateArray +807a911c Item::Player::UseThunder +807a91a4 Item::ObjThunder::InitSelf +807a91c0 Item::ObjThunder::ApplyToPlayers +807a9314 __sinit_ItemObjThunder_cpp +807a933c 0x807a933c +807a93f8 0x807a93f8 +807a940c 0x807a940c +807a94fc 0x807a94fc +807a95b0 0x807a95b0 +807a9680 0x807a9680 +807a9aec 0x807a9aec +807a9bac ItemPathManager_createInstance +807a9f1c 0x807a9f1c +807a9f84 0x807a9f84 +807aa03c Player_UpdateItemPoint +807aa4d0 Item::Point_update2 +807aa694 0x807aa694 +807aa784 0x807aa784 +807aaf74 0x807aaf74 +807aafd8 0x807aafd8 +807ab0c4 0x807ab0c4 +807ab1b0 0x807ab1b0 +807ab210 0x807ab210 +807ab374 Item::GetQuatFromMat +807ab3f0 0x807ab3f0 +807ab464 0x807ab464 +807ab4e8 Item::PlayerRoulette::__ct +807ab4f4 0x807ab4f4 +807ab520 Item::PlayerRoulette::Init +807ab550 Item::PlayerRoulette::DecideItem +807ab7d0 0x807ab7d0 +807ab878 Item::PlayerRoulette::OnRouletteEnd +807ab8f0 0x807ab8f0 +807ab91c Item::PlayerRoulette::Update +807abb0c 0x807abb0c +807abb5c 0x807abb5c +807abb70 0x807abb70 +807abb78 0x807abb78 +807abbf0 Item::SlotData::Disposer__dt +807abd1c Item::SlotData::CreateInstance +807abdb4 Item::SlotData::DestroyInstance +807abe68 Item::SlotData::__ct +807abed4 Item::SlotData::__dt +807abf78 Item::SlotData::ProcessTable +807ac2a8 Item::SlotData::GetNextTable +807ac2c0 Item::SlotData::PostProcessVSTable +807ac420 0x807ac420 +807ac474 Item::SlotData::RandomizeRouletteItem +807ac4e8 Item::SlotData::Init +807ac914 Item::SlotData::RouletteItems::__ct +807ac920 Item::ItemSlotData::CanItemNotBeObtained +807ac9cc Item::SlotData::DecideItem +807ace70 Item::SlotData::DecideRouletteItem +807acf5c Item::SlotData::ResetShockTimer +807acf68 Item::SlotData::ResetBlueShellTimer +807acf74 Item::SlotData::ResetBlooperTimer +807acf80 Item::SlotData::ResetPowTimer +807acf8c Item::SlotData::UpdateTimers +807ad034 Item::SlotData::GetBinary +807ad0a0 Item::SlotData::SetupBattleModeProbabilities +807ad300 Item::SlotData::SetupOnlineVSProbabilities +807ad438 0x807ad438 +807ad498 Item::SlotData::SetupVSProbabilities +807ad5a0 Item::SlotData::SetupGPProbabilities +807ad698 Item::PlayerInventory::__ct +807ad69c 0x807ad69c +807ad6d0 Item::PlayerInventory::Init +807ad710 0x807ad710 +807ad858 0x807ad858 +807ad8f0 Item::PlayerInventory::EjectItems +807adbb0 Item::PlayerInventory::LoseItemFromDmg +807adc88 Item::PlayerInventory::Update +807addd0 0x807addd0 +807adea8 0x807adea8 +807adee0 Item::PlayerInventory::SetItem +807adf1c Item::PlayerInventory::RemoveItems +807adf60 Item::PlayerInventory::ClearAll +807adf94 0x807adf94 +807ae050 0x807ae050 +807ae070 0x807ae070 +807ae080 Item::InitAllBehavior +807ae770 DriverMgr::SetParams +807ae7b0 DriverMgr::SetParams_switch +807ae7b4 DriverMgr::SetParams_caseD_2 +807ae7d0 DriverMgr::SetParams_caseD_3 +807ae7ec DriverMgr::SetParams_caseD_7 +807ae808 DriverMgr::SetParams_caseD_9 +807ae824 DriverMgr::SetParams_caseD_0 +807ae83c DriverMgr::SetParams_caseD_1 +807ae8e0 SomeTimers_update +807ae914 0x807ae914 +807aeb5c DriverMgr::IsPlayerComputer +807aec84 0x807aec84 +807aecb8 DriverMgr::GetRaceinfoRandom +807aed08 0x807aed08 +807aed2c 0x807aed2c +807aed54 CollisionInfo::ObjInfo::Init +807aed78 CollisionInfo::ObjInfo::Set +807aedb0 0x807aedb0 +807aedf0 CollisionInfo::ObjInfo::AreItemsAllowedOnObj +807aee04 CollisionInfo::ObjInfo::SetDistanceCalcBit +807aee2c CollisionInfo::ObjInfo::CalcInitialDistance +807aee58 0x807aee58 +807aee74 0x807aee74 +807aee88 CollisionInfo::ObjInfo::Update +807aeea8 CollisionInfo::ObjInfo::UpdateWithRot +807aeed0 CollisionInfo::ObjInfo::Reset +807aeef4 0x807aeef4 +807aef0c KCLTypeHolder::FindClosestCollisionEntry +807aef88 0x807aef88 +807af01c KCLTypeHolder::Reset +807af03c KCLTypeHolder::ApplyFlagAndRegisterEntry +807af088 0x807af088 +807af0c8 KCLTypeHolder::ReplaceBLIGHTIndex +807af0fc KCLTypeHolder::ReplaceKCLVariant +807af130 KCLTypeHolder::ReplaceWheelDepth +807af164 KCLTypeHolder::ReplaceTrickableBit +807af198 KCLTypeHolder::ReplaceRejectBit +807af1cc KCLTypeHolder::ReplaceSoftBit +807af1fc KCLController::__ct +807af31c 0x807af31c +807af35c KCLController::__dt +807af39c 0x807af39c +807af4f4 0x807af4f4 +807af5d0 KCLController::FindTrianglesList +807af6cc KCLController::FindTrianglesListAndProcessNewRadius +807af964 0x807af964 +807b0a60 0x807b0a60 +807b1784 0x807b1784 +807b1e24 KCLController::IsCollidingImpl +807b24a0 KCLController::IsCollidingFromCurCopyPosition +807b2ab4 KCLController::IsCollidingImplInfY +807b30ac 0x807b30ac +807b3154 KCLController::GetTrianglesList +807b322c 0x807b322c +807b3388 KCLController::GetTrianglesListReuse +807b3520 0x807b3520 +807b354c 0x807b354c +807b3794 0x807b3794 +807b39b0 KCLController::IsColliding +807b39dc 0x807b39dc +807b3a60 KCLController::Update +807b3b6c 0x807b3b6c +807b3bd0 0x807b3bd0 +807b3c00 CollisionInfo::Init +807b3c4c 0x807b3c4c +807b3dc4 KCLManager::CreateInstance +807b3e24 KCLManager::DestroyInstance +807b3e78 KCLManager::Load +807b3ec8 0x807b3ec8 +807b3edc KCLManager::Update +807b3f84 0x807b3f84 +807b3fa4 0x807b3fa4 +807b4000 0x807b4000 +807b4178 KCLManager::IsCollidingFillInfoNoTerrainInfo +807b4340 0x807b4340 +807b44b8 KCLManager::IsCollidingFillInfoAddEntryNoTerrainInfo +807b4680 0x807b4680 +807b47f8 KCLManager::IsCollidingFillInfo +807b4af4 0x807b4af4 +807b4c6c KCLManager::IsCollidingFillInfoAddEntry +807b4f68 KCLManager::IsCollidingNoTerrainInfoNoTriangleCheck +807b50fc KCLManager::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807b5290 KCLManager::IsColliding +807b5424 KCLManager::IsCollidingAddEntryNoTriangleCheck +807b55b8 0x807b55b8 +807b5744 0x807b5744 +807b58d0 0x807b58d0 +807b5a5c 0x807b5a5c +807b5be8 KCLManager::IsCollidingNoTerrainInfo +807b5d90 KCLManager::IsCollidingAddEntryNoTerrainInfo +807b5f38 0x807b5f38 +807b60e0 KCLManager::IsCollidingAddEntry +807b6288 ObjectKCLController::__ct +807b630c ObjectKCLController::__dt +807b6368 ObjectKCLController::Update +807b63ec 0x807b63ec +807b641c 0x807b641c +807b644c 0x807b644c +807b660c 0x807b660c +807b67cc 0x807b67cc +807b6944 0x807b6944 +807b6abc ObjectKCLController::CalcCollisionNoTerrainInfoNoTriangleCheck +807b6c98 ObjectKCLController::CalcCollisionAddEntryNoTerrainInfoNoTriangleCheck +807b6e74 ObjectKCLController::CalcCollision +807b7008 ObjectKCLController::CalcCollisionAddEntryNoTriangleCheck +807b719c 0x807b719c +807b7374 0x807b7374 +807b754c 0x807b754c +807b76dc 0x807b76dc +807b786c ObjectKCLController::CalcCollisionNoTerrainInfo +807b7a60 ObjectKCLController::CalcCollisionAddEntryNoTerrainInfo +807b7c54 0x807b7c54 +807b7e00 ObjectKCLController::CalcCollisionAddEntry +807b7fac 0x807b7fac +807b7fb4 0x807b7fb4 +807b7fc0 0x807b7fc0 +807b7fd8 0x807b7fd8 +807b7fe4 0x807b7fe4 +807b8038 0x807b8038 +807b803c 0x807b803c +807b8078 0x807b8078 +807b8110 0x807b8110 +807b8168 0x807b8168 +807b81a4 0x807b81a4 +807b82bc 0x807b82bc +807b8404 0x807b8404 +807b84ac 0x807b84ac +807b84dc 0x807b84dc +807b862c DriverControllerBones::__ct +807b8654 0x807b8654 +807b8694 DriverControllerBones::__dt +807b86d4 DriverControllerBones::SetBoneName +807b86f8 DriverControllerBones::SetNode +807b8778 DriverMgr::InitiateDriverControllerBoneNames +807b88f8 0x807b88f8 +807b8904 DriverController::__ct +807b8d84 0x807b8d84 +807b8d88 0x807b8d88 +807b8dc8 DriverController::LoadModels +807b941c DriverController::LoadBones +807b9bc4 0x807b9bc4 +807b9cf8 DriverController::Load +807babcc 0x807babcc +807bade0 0x807bade0 +807bade4 0x807bade4 +807bb5c4 0x807bb5c4 +807bb608 0x807bb608 +807bb658 0x807bb658 +807bbc84 0x807bbc84 +807bc044 0x807bc044 +807bc12c 0x807bc12c +807bc308 0x807bc308 +807bc420 0x807bc420 +807bc42c 0x807bc42c +807bc668 DriverController::Init +807bc6d0 DriverControllerBike::Init +807bc738 0x807bc738 +807bc8ec 0x807bc8ec +807bc900 DriverController::Update +807bcad0 0x807bcad0 +807bd2b8 0x807bd2b8 +807bd2c0 0x807bd2c0 +807bd2c4 0x807bd2c4 +807bd458 0x807bd458 +807bd5b8 PlayerModel_setAnimation +807bd710 0x807bd710 +807bd714 0x807bd714 +807be418 0x807be418 +807be428 0x807be428 +807be438 0x807be438 +807be448 0x807be448 +807be458 0x807be458 +807be468 0x807be468 +807be478 0x807be478 +807be488 0x807be488 +807be498 0x807be498 +807be4a8 0x807be4a8 +807be4b8 0x807be4b8 +807be4c8 0x807be4c8 +807be8cc 0x807be8cc +807bf014 0x807bf014 +807bf198 0x807bf198 +807bf1c0 0x807bf1c0 +807bf244 0x807bf244 +807bf26c DriverControllerBike::__ct +807bf2a8 DriverController::__dt +807bf358 0x807bf358 +807bf4b4 0x807bf4b4 +807bf730 0x807bf730 +807bf810 0x807bf810 +807bf92c 0x807bf92c +807bfb44 0x807bfb44 +807bfc70 0x807bfc70 +807c01e8 0x807c01e8 +807c0274 0x807c0274 +807c0ab0 0x807c0ab0 +807c0ec0 0x807c0ec0 +807c0f00 0x807c0f00 +807c0f90 0x807c0f90 +807c1af4 0x807c1af4 +807c1ce4 0x807c1ce4 +807c1d90 0x807c1d90 +807c1e38 0x807c1e38 +807c1ed8 0x807c1ed8 +807c1eec 0x807c1eec +807c20fc MiiDriverModel::UpdateParams +807c2308 0x807c2308 +807c2410 0x807c2410 +807c2518 0x807c2518 +807c2a54 0x807c2a54 +807c2aa4 0x807c2aa4 +807c2cbc 0x807c2cbc +807c2e8c 0x807c2e8c +807c2f68 0x807c2f68 +807c3000 0x807c3000 +807c317c 0x807c317c +807c3198 0x807c3198 +807c31b4 0x807c31b4 +807c31e0 0x807c31e0 +807c31fc 0x807c31fc +807c3218 0x807c3218 +807c3234 0x807c3234 +807c3250 0x807c3250 +807c326c 0x807c326c +807c3288 0x807c3288 +807c32a4 0x807c32a4 +807c33d4 0x807c33d4 +807c3520 0x807c3520 +807c35bc 0x807c35bc +807c35d8 0x807c35d8 +807c3604 0x807c3604 +807c3640 0x807c3640 +807c365c 0x807c365c +807c3680 0x807c3680 +807c36b4 0x807c36b4 +807c36d0 0x807c36d0 +807c36ec 0x807c36ec +807c3708 0x807c3708 +807c372c 0x807c372c +807c3748 0x807c3748 +807c3764 0x807c3764 +807c3798 DriverController::CreateModelDirectors +807c3d24 0x807c3d24 +807c3d38 0x807c3d38 +807c3ee0 0x807c3ee0 +807c4048 0x807c4048 +807c40cc 0x807c40cc +807c4108 0x807c4108 +807c4154 0x807c4154 +807c4348 0x807c4348 +807c437c 0x807c437c +807c4384 0x807c4384 +807c438c 0x807c438c +807c4418 0x807c4418 +807c44a4 0x807c44a4 +807c454c 0x807c454c +807c45f4 0x807c45f4 +807c4644 0x807c4644 +807c4694 0x807c4694 +807c46a0 0x807c46a0 +807c4728 0x807c4728 +807c48a0 0x807c48a0 +807c48a4 0x807c48a4 +807c48b4 0x807c48b4 +807c48d0 0x807c48d0 +807c492c 0x807c492c +807c49f8 0x807c49f8 +807c4d54 0x807c4d54 +807c4d70 0x807c4d70 +807c4dbc 0x807c4dbc +807c4e08 0x807c4e08 +807c4f0c 0x807c4f0c +807c52f8 0x807c52f8 +807c5408 0x807c5408 +807c54b0 0x807c54b0 +807c54c4 0x807c54c4 +807c54f8 DriverControllerBike::__dt +807c55ac 0x807c55ac +807c5888 DriverLimbs::__ct +807c5b88 DriverCalcWorldCB::__dt +807c5bc8 0x807c5bc8 +807c5c44 0x807c5c44 +807c5ca0 0x807c5ca0 +807c5ea4 0x807c5ea4 +807c5ecc 0x807c5ecc +807c5fe0 0x807c5fe0 +807c5fec 0x807c5fec +807c6040 0x807c6040 +807c6094 0x807c6094 +807c60c0 0x807c60c0 +807c62a8 0x807c62a8 +807c6c20 0x807c6c20 +807c6d00 DriverLimbs::ExecCallbackA +807c6ee4 0x807c6ee4 +807c7038 DriverLimbs::ExecCallbackB +807c70d8 0x807c70d8 +807c7430 0x807c7430 +807c7980 DriverLimbs::ExecCallbackC +807c7b5c 0x807c7b5c +807c7de4 0x807c7de4 +807c7f88 DriverLimbs::CalcLeftArm +807c80c8 DriverLimbs::CalcRightArm +807c824c DriverLimbs::CalcLeftLeg +807c8400 0x807c8400 +807c847c 0x807c847c +807c84f8 DriverLimbs::CalcRightLeg +807c86ac 0x807c86ac +807c89f8 0x807c89f8 +807c8b28 0x807c8b28 +807c8c88 0x807c8c88 +807c8d74 0x807c8d74 +807c8f2c 0x807c8f2c +807c95a4 0x807c95a4 +807c9884 0x807c9884 +807c9ba4 0x807c9ba4 +807c9c28 0x807c9c28 +807c9cac 0x807c9cac +807c9d30 0x807c9d30 +807c9f94 0x807c9f94 +807ca3d0 0x807ca3d0 +807ca528 0x807ca528 +807ca5d8 0x807ca5d8 +807ca688 0x807ca688 +807ca6d4 0x807ca6d4 +807ca76c 0x807ca76c +807cac28 0x807cac28 +807cacd4 0x807cacd4 +807cacdc 0x807cacdc +807cacec DriverLimbs::ExecCallbackC(thunk) +807cacf4 DriverLimbs::ExecCallbackB(thunk) +807cacfc DriverLimbs::ExecCallbackA(thunk) +807cad04 DriverLimbs::__dt(thunk) +807cad0c TicoModel::__ct +807caed8 TicoModel::Update +807cb580 0x807cb580 +807cb6ec TicoModel::UpdateKartPosition +807cb734 0x807cb734 +807cb7e8 MiiHeadsModel::__ct(Mii) +807cb874 MiiHeadsModel::__ct(miiIdx, r9) +807cb930 0x807cb930 +807cb9e4 0x807cb9e4 +807cba24 MiiHeadsModel::__ct(Mii, r9) +807cbab0 MiiHeadsModel::Init +807cbd14 0x807cbd14 +807cbd28 MiiHeadsModel::UpdateParams +807cbd40 0x807cbd40 +807cbd58 0x807cbd58 +807cbe50 MiiHeadsModel::SetExpression +807cbea4 MiiHeadsModel::SetExpression_switch +807cbea8 MiiHeadsModel::SetExpression_caseD_5 +807cbef4 MiiHeadsModel::SetExpression_caseD_6 +807cbf40 MiiHeadsModel::SetExpression_caseD_7 +807cbf8c MiiHeadsModel::SetExpression_caseD_4 +807cbfd8 MiiHeadsModel::SetExpression_caseD_2 +807cc024 MiiHeadsModel::SetExpression_caseD_1 +807cc070 MiiHeadsModel::SetExpression_caseD_0 +807cc0bc MiiHeadsModel::SetExpression_caseD_3 +807cc130 0x807cc130 +807cc24c 0x807cc24c +807cc2c8 MiiHeadsModel::__dt +807cc320 0x807cc320 +807cc330 0x807cc330 +807cc420 0x807cc420 +807cc510 0x807cc510 +807cc600 0x807cc600 +807cc640 0x807cc640 +807cc680 0x807cc680 +807cc6c0 0x807cc6c0 +807cc700 0x807cc700 +807cc740 0x807cc740 +807cc780 0x807cc780 +807cc858 0x807cc858 +807cc930 0x807cc930 +807cca08 0x807cca08 +807ccae0 0x807ccae0 +807ccbb8 0x807ccbb8 +807ccc90 0x807ccc90 +807ccf98 0x807ccf98 +807cd2a0 0x807cd2a0 +807cd5a8 0x807cd5a8 +807cd8b0 0x807cd8b0 +807cdbb8 0x807cdbb8 +807cdec0 0x807cdec0 +807ce020 lim_sprintf +807ce0c8 0x807ce0c8 +807ce188 0x807ce188 +807ce200 0x807ce200 +807ce238 0x807ce238 +807ce298 0x807ce298 +807ce314 0x807ce314 +807ce504 0x807ce504 +807ce5ac 0x807ce5ac +807ce6f4 PSMTXRotRad +807ce86c 0x807ce86c +807ce9e4 0x807ce9e4 +807ceb5c 0x807ceb5c +807cec40 0x807cec40 +807ceda4 0x807ceda4 +807cee10 0x807cee10 +807cef4c 0x807cef4c +807cf070 0x807cf070 +807cf194 0x807cf194 +807cf1e8 MinimapMgr::Disposer__dt +807cf2e8 MinimapMgr::CreateInstance +807cf3e4 MinimapMgr::DestroyInstance +807cf4b0 MinimapMgr::__ct +807cf580 0x807cf580 +807cf584 MinimapMgr::Load +807cf884 0x807cf884 +807cf8c4 MinimapMgr::__dt +807cf984 MinimapMgr::TryDraw +807cfa08 MinimapMgr::Draw +807cff5c MinimapMgr::ApplyAREAType5 +807d02bc 0x807d02bc +807d02c0 0x807d02c0 +807d02c4 MinimapMgr::Convert3DPosToPercent +807d031c AwardsMgr::Disposer__dt +807d0448 AwardsMgr::CreateInstance +807d0578 AwardsMgr::DestroyInstance +807d062c AwardsMgr::__ct +807d0730 AwardsMgr::__dt +807d07d4 AwardsMgr::Init +807d15a0 AwardsMgr::LoadStand +807d18d8 AwardsMgr::LoadPlayers +807d212c 0x807d212c +807d2574 0x807d2574 +807d276c 0x807d276c +807d2770 AwardsMgr::SetParams +807d2830 0x807d2830 +807d2854 0x807d2854 +807d2cc0 0x807d2cc0 +807d2d00 0x807d2d00 +807d2e9c 0x807d2e9c +807d3078 0x807d3078 +807d3250 0x807d3250 +807d341c 0x807d341c +807d386c 0x807d386c +807d3ad8 0x807d3ad8 +807d3b68 IKParams::__ct +807d3d44 IKParams::Load +807d4ef8 0x807d4ef8 +807d4f74 Item::Player::UseBlooper +807d5138 Item::ObjGesso::InitSelf +807d5154 0x807d5154 +807d51d0 0x807d51d0 +807d5220 Item::GessoScreen::__ct +807d53b4 Item::GessoScreen::__dt +807d53f4 0x807d53f4 +807d54b8 0x807d54b8 +807d5510 Item::GessoScreen::UpdateModel +807d5860 0x807d5860 +807d5990 0x807d5990 +807d59cc 0x807d59cc +807d5a50 0x807d5a50 +807d5b38 0x807d5b38 +807d5cc4 Item::GessoMgr::CreateInstance +807d5d60 Item::GessoMgr::DestroyInstance +807d5d98 Item::GessoMgr::Init +807d5e60 Item::GessoMgr::__ct +807d5ee8 Item::GessoMgr::DeployBlooper +807d6070 Item::GessoMgr::Update +807d64ec Item::GessoMgr::ApplyBlooper +807d6818 __sinit_ItemObjGesso_cpp +807d6840 Item::ObjKiller::CreateArray +807d68bc Item::Player::UseBullet +807d6900 Item::ObjKiller::InitSelf +807d691c Item::ObjKiller::UpdateModelPosition +807d6a58 __sinit_ItemObjKiller_cpp +807d6a80 Item::ObjKinoko::CreateArray +807d6afc Item::Player::UseMushroom +807d6b50 0x807d6b50 +807d6b6c 0x807d6b6c +807d6b94 Item::ObjKumo::CreateArray +807d6c10 Item::Player::UseTC +807d6c54 Item::ObjKumo::SpawnModel +807d6c88 0x807d6c88 +807d6df0 Item::ObjKumo::UpdateModelPosition +807d6f88 Item::ObjKumo::InitSelf +807d6ff4 0x807d6ff4 +807d71c0 Item::ObjKumo::Update +807d8214 0x807d8214 +807d8348 0x807d8348 +807d83b4 Item::ObjKumo::OnFinishKill +807d8444 0x807d8444 +807d85a0 0x807d85a0 +807d89bc 0x807d89bc +807d8b5c 0x807d8b5c +807d8c60 0x807d8c60 +807d8c6c 0x807d8c6c +807d8c74 0x807d8c74 +807d8c90 Item::ObjKumo::OnKill +807d8d58 0x807d8d58 +807d9094 0x807d9094 +807d92f0 0x807d92f0 +807d93a4 0x807d93a4 +807d9478 0x807d9478 +807d9498 0x807d9498 +807d94c0 0x807d94c0 +807d94e8 0x807d94e8 +807d9504 Item::ObjPow::CreateArray +807d9580 Item::Player::UsePow +807d95f8 Item::ObjPow::InitSelf +807d9614 Item::PowMgr::CreateInstance +807d96c0 0x807d96c0 +807d96c4 Item::PowMgr::DestroyInstance +807d96fc Item::PowMgr::Init +807d976c Item::PowMgr::__ct +807d9804 0x807d9804 +807d9808 Item::PowMgr::DeployPow +807d9940 Item::PowMgr::AnimateModel +807d9b10 Item::PowMgr::CreateShockwave +807d9d4c Item::PowMgr::Update +807d9ec8 0x807d9ec8 +807d9f44 0x807d9f44 +807d9f94 Item::PowScreen::__ct +807da250 0x807da250 +807da2bc 0x807da2bc +807da2d8 0x807da2d8 +807da378 0x807da378 +807da3d4 0x807da3d4 +807da430 Item::PowScreen::UpdateModel +807da668 0x807da668 +807da7b8 0x807da7b8 +807da8e4 Item::PowMgr::IsPowActive +807da900 Item::PowMgr::GetFramesUntilPOWSmash +807da914 Item::PowMgr::GetPowUserPlayerId +807da924 __sinit_ItemObjPow_cpp +807da94c DriverController::GetBoneMatId +807da978 DriverCalcWorldCB::__ct +807dabcc DriverCalcWorldCB::ExecCallbackB +807dacec DriverCalcWorldCB::ExecCallbackC +807dad60 0x807dad60 +807dad68 0x807dad68 +807dad70 0x807dad70 +807dad78 ToadetteHair::__ct(ResFile, ModelDirector) +807db0ac ToadetteHair::__ct(DriverController) +807db408 0x807db408 +807db4bc 0x807db4bc +807db7bc 0x807db7bc +807db7c0 0x807db7c0 +807db7e0 ToadetteHair::ToggleLock +807db7f4 ToadetteHair::CalcWorldCB::ExecCallbackC +807dc3dc ToadetteHair::__dt +807dc434 ToadetteHair::CalcWorldCB::__dt +807dc474 ToadetteHair::CalcWorldCB::ExecCallbackC(thunk) +807dc47c ToadetteHair::CalcWorldCB::__dt(thunk) +807dc484 0x807dc484 +807dc50c CtrlMenuCharacterSelect::GetClassName +807dc518 CtrlMenuCharacterSelect::Load +807dc778 CtrlMenuCharacterSelect::ButtonDriver::__ct +807dc7b4 CtrlMenuCharacterSelect::ButtonDriver::__dt +807dc80c CtrlMenuCharacterSelect::GetUnlockedStatus +807dc898 CtrlMenuCharacterSelect::LoadButton +807dcc88 CtrlMenuCharacterSelect::InitSelf +807dd01c CtrlMenuCharacterSelect::OnUpdate +807dd520 CtrlMenuCharacterSelect::GetButtonDriver +807dd56c CtrlMenuCharacterSelect::OnButtonClick +807dd664 CtrlMenuCharacterSelect::OnButtonSelect +807dd744 CtrlMenuCharacterSelect::OnButtonDeselect +807dd7f0 CtrlMenuCharacterSelect::OnMiiButtonClick +807dd93c CtrlMenuCharacterSelect::OnMiiButtonSelect +807dda1c CtrlMenuCharacterSelect::OnMiiButtonDeselect +807ddac8 CtrlMenuCharacterSelect::OnMultiplayerMiiSelected +807ddb5c CtrlMenuCharacterSelect::GetUnlockedCharacterCountByWeight +807ddc1c CtrlMenuCharacterSelect::GetCorrectButtonDriverId +807ddd70 CtrlMenuCharacterSelect::ButtonDriver::GetClassName +807ddd80 CtrlMenuCharacterSelect::ButtonDriver::InitSelf +807dde1c CtrlMenuCharacterSelect::ButtonDriver::SetPositionAnim +807dde6c CtrlMenuCharacterSelect::ButtonDriver::ResetButtonColours +807de0a0 CtrlMenuCharacterSelect::ButtonDriver::SetButtonColours +807de344 CtrlMenuCharacterSelect::GetRuntimeTypeInfo +807de350 CtrlMenuCharacterSelect::ButtonDriver::GetRuntimeTypeInfo +807de35c CtrlMenuCharacterSelect_cpp_sinit_ +807de380 CtrlMenuCourseSelectCupSub::GetClassName +807de38c CtrlMenuCourseSelectCup::GetClassName +807de39c CtrlMenuCourseSelectCourse::GetClassName +807de3ac CourseButton::GetClassName +807de3bc CtrlMenuCourseSelectCup::Load +807de530 CtrlMenuCourseSelectCup::InitSelf +807de6b4 CtrlMenuCourseSelectCupSub::SetRelativePosition +807de738 CtrlMenuCourseSelectCupSub::InitSelf +807de7d4 CtrlMenuCourseSelectCupSub::OnUpdate +807deee4 Pages::CourseSelect::GetManipulatorManager +807deeec CtrlMenuCourseSelectCourse::Load +807df088 CtrlMenuCourseSelectCourse::InitSelf +807df3a4 CtrlMenuCourseSelectCourse::OnCourseButtonClick +807df3fc CtrlMenuCourseSelectCourse::OnCourseButtonSelect +807df568 CtrlMenuCourseSelectCourse::GetRuntimeTypeInfo +807df574 CourseButton::GetRuntimeTypeInfo +807df580 0x807df580 +807df588 0x807df588 +807df594 0x807df594 +807df5a0 0x807df5a0 +807df5cc 0x807df5cc +807df5d4 0x807df5d4 +807df5dc 0x807df5dc +807df5e4 CourseButton::__dt(PushButton) +807df5ec 0x807df5ec +807df5f4 CourseButton::GetRuntimeTypeInfo(PushButton) +807df5fc CtrlMenuCupSelectCup::GetClassName +807df608 CtrlMenuCupSelectCourse::GetClassName +807df618 CtrlMenuCupSelectCup::Load +807df824 CtrlMenuCupSelectCup::InitSelf +807dfbe8 CtrlMenuCupSelectCup::OnCupButtonSelect +807dfcf8 CtrlMenuCupSelectCup::OnCupButtonClick +807dfd58 CtrlMenuCupSelectCup::IsCupUnlocked +807dfe5c CtrlMenuCupSelectCourse::Load +807dff80 CtrlMenuCupSelectCourse::UpdateTrackList +807e006c CtrlMenuCupSelectCourse::InitSelf +807e0170 CtrlMenuCupSelectCourse::OnUpdate +807e0364 CtrlMenuCupSelectCourse::GetRuntimeTypeInfo +807e0370 CtrlMenuCupSelectCup::GetRuntimeTypeInfo +807e037c CtrlMenuCupcpp_sinit_ +807e0398 0x807e0398 +807e03a4 CtrlMenuPressStart::InitSelf +807e0420 CtrlMenuPressStart::OnUpdate +807e0424 CtrlMenuPressStart::Load +807e04e4 CtrlMenuPressStart::GetRuntimeTypeInfo +807e04f0 CtrlMenuPressStart_cpp_sinit_ +807e0504 CtrlMenuTeamConfirmTeam::GetClassName +807e0514 CtrlMenuTeamConfirmTeam::Load +807e06b0 CtrlMenuTeamConfirmTeam::InitSelf +807e0994 CtrlMenuTeamConfirmTeam::GetRuntimeTypeInfo +807e09a0 CtrlMenuTeamConfirmTeam_cpp_sinit_ +807e09c4 CtrlRace2DMap::GetClassName +807e09d0 CtrlRace2DMap::Load +807e0ff0 CtrlRace2DMapCharacer::__ct +807e102c CtrlRaceBase::__dt +807e1084 CtrlRace2DMapObject::__dt +807e10e0 CtrlRace2DMapCharacter::__dt +807e1140 CtrlRace2DMapBossObj::__ct +807e117c CtrlRace2DMapBossObj::__dt +807e11dc CtrlRace2DMapObject::SetMapPosition +807e11f8 CtrlRace2DMapObject::SetMapRotation +807e1214 CtrlRace2DMap::InitSelf +807e1290 CtrlRace2DMap::OnUpdate +807e12a0 zz_807eab4c +807e1370 CtrlRace2DMapObject::GetClassName +807e1380 CtrlRace2DMapObject::InitSelf +807e13d0 CtrlRace2DMapObject::GetPaneName +807e13dc CtrlRace2DMapObject::OnUpdate +807e1450 CtrlRace2DMapObject::CalculatePosition +807e1544 CtrlRace2DMapCharacter::GetClassName +807e1554 CtrlRace2DMapCharacer::Load +807e1620 CtrlRace2DMapCharacter::InitSelf +807e19a4 CtrlRace2DMapCharacer::OnUpdate +807e1b20 CtrlRace2DMapCharacter::CalculatePosition +807e214c CtrlRace2DMapBossObj::GetClassName +807e215c CtrlRace2DMapBossObj::Load +807e21b4 CtrlRace2DMapBossObj::InitSelf +807e24a4 CtrlRace2DMapBossObj::OnUpdate +807e2594 CtrlRaceBase::GetPane +807e259c CtrlRace2DMapBossObj::GetPaneName +807e25a8 CtrlRace2DMapBossObj::GetRuntimeTypeInfo +807e25b4 CtrlRace2DMapCharacter::GetPaneName +807e25c0 CtrlRace2DMapCharacter::GetRuntimeTypeInfo +807e25cc CtrlRace2DMapObject::GetRuntimeTypeInfo +807e25d8 CtrlRace2DMap::__dt +807e2634 CtrlRace2DMap::GetRuntimeTypeInfo +807e2640 CtrlRace2DMap_cpp_sinit_ +807e2668 CtrlRaceBase::GetClassName +807e2674 CtrlRaceBase::HudSlotColorEnable +807e2960 CtrlRaceBase::SetPanePosition +807e2a60 CtrlRaceBase::setPausingPhase +807e2b04 CtrlRaceBase::IsInactive +807e2b18 CtrlRaceBase::HasStarted +807e2b34 CtrlRaceBase::UpdatePausePosition +807e2e3c CtrlRaceBase::InitSelf +807e2f4c CtrlRaceBase::GetPlayerId +807e3040 CtrlRaceBase::GetRuntimeTypeInfo +807e304c 0x807e304c +807e3060 CtrlRaceBattleAddPoint::GetClassName +807e306c CtrlRaceBattleAddPoint::Load +807e3100 CtrlRaceBattleAddPoint::InitSelf +807e31e0 CtrlRaceBattleAddPoint::OnUpdate +807e34dc CtrlRaceBattlePoint::GetClassName +807e34ec CtrlRaceBattlePoint::SetPanePosition +807e36b0 0x807e36b0 +807e3700 CtrlRaceBattlePoint::SetPositionAnim +807e37ec CtrlRaceBattlePoint::Init +807e3888 CtrlRaceBattlePoint::OnUpdate +807e3944 CtrlRaceBattlePoint::Load +807e39ac CtrlRaceBattleTotalPoint::GetClassName +807e39bc CtrlRaceBattleTotalPoint::Init +807e3ab8 CtrlRaceBattleTotalPoint::OnUpdate +807e413c CtrlRaceBattleTotalPoint::Load +807e42d8 CtrlRaceBattleTotalPoint::__dt +807e4334 CtrlRaceBattleTotalPoint::GetRuntimeTypeInfo +807e4340 CtrlRaceBattlePoint::__dt +807e439c CtrlRaceBattlePoint::GetRuntimeTypeInfo +807e43a8 CtrlRaceBattleAddPoint::GetRuntimeTypeInfo +807e43b4 CtrlRaceBattleAddPoint::__dt +807e4410 CtrlRaceBattlePoint_cpp_sinit_ +807e44ec CtrlRaceCount::GetClassName +807e44f8 CtrlRaceCount::Load +807e45a8 CtrlRaceCount::Init +807e45f4 CtrlRaceCount::OnUpdate +807e4638 CtrlRaceCount::IsFadingIn +807e4670 CtrlRaceCount::FadeIn +807e46a8 CtrlRaceCount::__dt +807e4704 CtrlRaceGhostDiffTime::GetRuntimeTypeInfo +807e4710 CtrlRaceGhostDiffTime_cpp_sinit +807e4724 CtrlRaceItemWindow::GetClassName +807e4730 CtrlRaceItemWindow::Init +807e4afc CtrlRaceItemWindow::IsInactive +807e4bc4 CtrlRaceItemWindow::HasStarted +807e4c54 CtrlRaceItemWindow::OnUpdate +807e51b8 CtrlRaceItemWindow::Load +807e5220 CtrlRaceItemWindow::AnimateItemIcon +807e5350 CtrlRaceItemWindow::__dt +807e53ac CtrlRaceItemWindow::GetRuntimeTypeInfo +807e53b8 CtrlRaceItemWindow_cpp_sinit_ +807e53cc CtrlRaceLap::GetClassName +807e53d8 CtrlRaceLap::Init +807e5500 CtrlRaceLap::OnUpdate +807e55c0 CtrlRaceLap::Load +807e566c CtrlRaceLap::__dt +807e56c8 CtrlRaceLap::GetRuntimeTypeInfo +807e56d4 CtrlRaceLap_cpp_sinit_ +807e56e4 CtrlRaceNameBalloon:GetClassName +807e56f0 CtrlRaceNameBalloon::Load +807e58a0 CtrlRaceNameBalloon::InitSelf +807e5a1c CtrlRaceNameBalloon::UpdateInfo +807e60c0 CtrlRaceNameBalloon::OnUpdate +807e6708 0x807e6708 +807e68ac 0x807e68ac +807e6970 0x807e6970 +807e6a6c CtrlRaceNameBalloon::UpdatePosition +807e6d04 RaceBalloons::Update +807e7564 0x807e7564 +807e75c8 0x807e75c8 +807e760c RaceBalloons::AddNameBalloon +807e7628 RaceBalloons::AddItemBalloon +807e7630 RaceBalloons::__ct +807e771c RaceBalloons::Init +807e777c 0x807e777c +807e778c RaceBalloons::OnItemObjTargeting +807e78fc 0x807e78fc +807e7918 CtrlRaceItemBalloon::GetClassName +807e7928 CtrlRaceItemBalloon::Load +807e7af0 CtrlRaceItemBalloon::InitSelf +807e7c94 CtrlRaceItemBalloon::OnUpdate +807e854c 0x807e854c +807e865c 0x807e865c +807e8ec4 CtrlRaceItemBalloon::UpdateIcon +807e9064 CtrlRaceItemBalloon::UpdatePositionForPlayer +807e9740 0x807e9740 +807e9f28 0x807e9f28 +807ea058 0x807ea058 +807ea098 0x807ea098 +807ea194 CtrlRaceItemBalloon::__dt +807ea1ec CtrlRaceItemBalloon::GetRuntimeTypeInfo +807ea1f8 CtrlRaceNameBalloon::__dt +807ea250 CtrlRaceNameBalloon::GetRuntimeTypeInfo +807ea25c 0x807ea25c +807ea2c8 CtrlRaceRankNum::GetClassName +807ea2d4 CtrlRaceRankNum::Init +807ea3e0 CtrlRaceRankNum::OnUpdate +807ea58c CtrlRaceRankNum::Load +807ea718 CtrlRaceRankNum::IsInactive +807ea7b8 CtrlRaceRankNum::__dt +807ea814 CtrlRaceRankNum::GetRuntimeTypeInfo +807ea820 CtrlRaceRankNum_cpp_sinit_ +807ea834 CtrlRaceResult::GetClassName +807ea840 CtrlRaceResult::Load +807ea9a4 0x807ea9a4 +807eabac 0x807eabac +807eaccc CtrlRaceResult::FillName +807eae18 0x807eae18 +807eae24 0x807eae24 +807eb0ac CtrlRaceResult::FillScore +807eb174 0x807eb174 +807eb334 CtrlRaceResult::FillFinishTime +807eb424 CtrlRaceResult::Init +807eb428 CtrlRaceResult::OnUpdate +807eb6fc CtrlRaceResult::807f5d24 +807eb804 0x807eb804 +807eb8f8 CtrlRaceResult::GetBRCTRName +807eb974 CtrlRaceResult::CanEnd +807eb9c4 CtrlRaceResult::Fill +807ebe68 CtrlRaceResult::__dt +807ebec0 CtrlRaceResult::GetRuntimeTypeInfo +807ebecc CtrlRaceResult_cpp_sinit_ +807ebee8 CtrlRaceResultTeam::GetClassName +807ebef4 CtrlRaceResultTeam::Load +807ec3bc CtrlRaceResultTeam::InitSelf +807ec990 CtrlRaceResultTeam::OnUpdate +807ecbfc CtrlRaceResultTeam::IsResultAnimDone +807ecd98 CtrlRaceResultTeam::ComparePlayers +807ece30 CtrlResultAddPoint::GetClassName +807ece40 CtrlResultAddPoint::Load +807ecf68 CtrlResultAddPoint::InitSelf +807ecfbc CtrlResultAddPoint::OnUpdate +807ecfd8 0x807ecfd8 +807ed02c CtrlResultAddPoint::GetRuntimeTypeInfo +807ed038 CtrlRaceResultTeam::GetRuntimeTypeInfo +807ed044 CtrlResultAddPoint::__dt +807ed0a0 CtrlRaceResultTeam_cpp_sinit_ +807ed0c4 CtrlRaceTime::GetClassName +807ed0d0 CtrlRaceTime::__ct +807ed16c CtrlRaceTime::InitSelf +807ed364 CtrlRaceTime::GetPlayerMaxLap +807ed380 CtrlRaceTime::GetPlayerId +807ed3b4 CtrlRaceTime::GetRacedata +807ed3c0 CtrlRaceTime::OnUpdate +807ed76c CtrlRaceTime::GetParentPageId +807ed774 CtrlRaceTime::GetParentPage +807ed780 CtrlRaceTime::IsPaused +807ed788 CtrlRaceTime::GetCurSection +807ed798 CtrlRaceTime::GetSectionId +807ed7ac CtrlRaceTime::FillTimerGlobal +807ed7bc CtrlRaceTime::HasPlayerFinished +807ed7dc CtrlRaceTime::FillLapSplitTimer +807ed7f4 CtrlRaceTime::IsBattle +807ed820 CtrlRaceTime::CheckTimer +807ed860 CtrlRaceTime::IsTimerInvalid +807ed880 CtrlRaceTime::ResetTimer +807ed8a4 CtrlRaceTime::IsOnlineVS +807ed8c4 CtrlRaceTime::IsModeFlag4 +807ed8d0 CtrlRaceTime::IsPlayerLast +807ed8f0 CtrlRaceTime::FillFinishTimeTimer +807ed92c CtrlRaceTime::Load +807ed9c0 CtrlRaceTime::SetTimer +807edc68 CtrlRaceTime::SetPositionAnim +807edd40 CtrlRaceTime::DisableFlashingAnimation +807edd78 CtrlRaceTime::EnableFlashingAnimation +807eddb0 CtrlRaceTime::Func_0x5c +807eddb8 CtrlRaceTime::Func_0x58 +807eddc0 CtrlRaceTime::OnDefocus +807edde8 CtrlRaceTime::OnFocus +807ede0c 0x807ede0c +807ede68 0x807ede68 +807ede74 0x807ede74 +807ede88 0x807ede88 +807edf58 0x807edf58 +807edf98 Objects::Aurora::__ct +807ee004 Objects::Aurora::OnStart +807ee0c4 Objects::Aurora::Update +807ee350 0x807ee350 +807ee43c 0x807ee43c +807ee4a0 0x807ee4a0 +807ee77c Objects::Aurora::CalcOtherEntityDistance +807ee7dc Objects::Aurora::UpdateOtherEntityPosWithRot +807ee960 Objects::Aurora::vf_0x11c +807ee968 Objects::Aurora::vf_0x108 +807ee974 Objects::Aurora::AreItemsAllowed +807ee97c Objects::Aurora::IsCollidingNoTerrainInfo +807ee980 Objects::Aurora::IsCollidingAddEntryNoTerrainInfo +807ee984 Objects::Aurora::vf_0xfc +807ee988 Objects::Aurora::IsCollidingAddEntry +807ee98c Objects::Aurora::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807ee99c Objects::Aurora::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807ee9ac Objects::Aurora::IsColliding(no radius) +807ee9bc Objects::Aurora::IsCollidingNoTriangleCheck(no radius) +807ee9cc Objects::Aurora::IsCollidingNoTerrainInfoNoTriangleCheck +807ee9d0 Objects::Aurora::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807ee9d4 Objects::Aurora::IsColliding +807ee9d8 Objects::Aurora::IsCollidingNoTriangleCheck +807ee9dc Objects::Aurora::vf_0xc0 +807ee9ec Objects::Aurora::vf_0xc4 +807ee9fc Objects::Aurora::vf_0xc8 +807eea0c Objects::Aurora::vf_0xc8 +807eea1c Objects::Aurora::GetCollisionDiameter +807eea30 Objects::Aurora::LoadAnimations +807eeabc Objects::Aurora::vf_0xb4 +807eeac0 Objects::Aurora::UpdateCollision +807eeac4 Objects::Aurora::LoadCollision +807eeac8 Objects::Aurora::GetPropertiesBitfield +807eead0 Objects::Aurora::__dt +807eeb10 Objects::Aurora::IsCollidingNoTerrainInfoImpl +807eecf0 Objects::Aurora::IsCollidingAddEntryNoTerrainInfoImpl +807eef00 0x807eef00 +807ef2ac Objects::Aurora::IsCollidingAddEntryImpl +807ef688 0x807ef688 +807ef6d4 Objects::Belt::vf_0x120 +807ef9b8 Objects::BeltEasy::__ct +807efa2c Objects::Belt::__dt +807efa6c Objects::BeltEasy::vf_0x124 +807efb08 Objects::BeltEasy::vf_0x128 +807efba4 Objects::BeltCrossing::__ct +807efc18 Objects::BeltCrossing::vf_0x124 +807efcb4 Objects::BeltCrossing::vf_0x128 +807efd4c Objects::BeltCurveA::__ct +807efe14 Objects::BeltCurveA::vf_0x124 +807f00e4 Objects::BeltCurveA::vf_0x128 +807f013c Objects::BeltCurveA::LoadModels +807f0228 Objects::BeltCurveA::LoadAnimations +807f0528 Objects::BeltCurveA::UpdateModelMatrix +807f05ec Objects::BeltCurveA::OnStart +807f05f4 Objects::BeltCurveA::Update +807f07cc Objects::BeltCurveA::vf_0x12c +807f09e0 0x807f09e0 +807f0aac 0x807f0aac +807f0ae4 Objects::Belt::vf_0x11c +807f0aec Objects::Belt::UpdateOtherEntityPosWithRot +807f0af0 Objects::Belt::UpdateOtherEntityPos +807f0af4 Objects::Belt::CalcOtherEntityDistance +807f0af8 Objects::Belt::vf_0x108 +807f0b04 Objects::Belt::AreItemsAllowed +807f0b0c Objects::Belt::IsCollidingNoTerrainInfo +807f0b14 Objects::Belt::IsCollidingAddEntryNoTerrainInfo +807f0b1c Objects::Belt::vf_0xfc +807f0b24 Objects::Belt::IsCollidingAddEntry +807f0b34 Objects::Belt::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807f0b3c Objects::Belt::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807f0b44 Objects::Belt::IsColliding(no radius) +807f0b4c Objects::Belt::IsCollidingAddEntryNoTriangleCheck(no radius) +807f0b68 Objects::Belt::IsCollidingNoTerrainInfoNoTriangleCheck +807f0b70 Objects::Belt::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807f0b78 Objects::Belt::IsColliding +807f0b80 Objects::Belt::vf_0xc0 +807f0b90 0x807f0b90 +807f0b98 Objects::Belt::vf_0xc4 +807f0ba0 Objects::Belt::vf_0xc8 +807f0ba8 Objects::Belt::vf_0xcc +807f0bc4 Objects::Belt::GetCollisionDiameter +807f0bd0 Objects::Belt::vf_0xb4 +807f0bd4 Objects::Belt::UpdateCollision +807f0bd8 Objects::Belt::LoadCollision +807f0bdc Objects::Belt::GetPropertiesBitfield +807f0be4 Objects::BeltCurveA::SetObjInfoCalcBit +807f0bf4 Objects::BeltCurveA::GetScnObjDrawOptionsIdx +807f0bfc Objects::BeltCurveA::__dt +807f0c3c Objects::Belt::SetObjInfoCalcBit +807f0c4c Objects::Belt::vf_0x12c +807f0ca0 Objects::Belt::LoadAnimations +807f0ce0 Objects::BeltCrossing::GetScnObjDrawOptionsIdx +807f0ce8 Objects::BeltCrossing::__dt +807f0d28 Objects::BeltEasy::GetScnObjDrawOptionsIdx +807f0d30 Objects::BeltEasy::__dt +807f0d70 Objects::Belt::GetScnObjDrawOptionsIdx +807f0d78 0x807f0d78 +807f0f24 0x807f0f24 +807f1090 0x807f1090 +807f129c 0x807f129c +807f13f4 0x807f13f4 +807f141c 0x807f141c +807f147c 0x807f147c +807f170c 0x807f170c +807f17a4 0x807f17a4 +807f193c 0x807f193c +807f196c 0x807f196c +807f1974 0x807f1974 +807f1a28 0x807f1a28 +807f1a30 0x807f1a30 +807f1a70 0x807f1a70 +807f1a98 Objects::Crane::__ct +807f1c2c Objects::Crane::Update +807f1e98 ObjectExternKCL::vf_0x11c +807f1ea0 ObjectExternKCL::CalcOtherEntityDistance +807f1f00 ObjectExternKCL::GetTransformationMatrix +807f1f30 Objects::Crane::GetPeriod +807f1f60 Objects::Crane::GetPropertiesBitfield +807f1f68 Objects::Crane::__dt +807f1fa8 0x807f1fa8 +807f225c 0x807f225c +807f2588 0x807f2588 +807f2c60 0x807f2c60 +807f2d84 0x807f2d84 +807f2e98 0x807f2e98 +807f2f44 0x807f2f44 +807f3444 0x807f3444 +807f3654 0x807f3654 +807f3934 0x807f3934 +807f3c14 0x807f3c14 +807f3e80 0x807f3e80 +807f403c 0x807f403c +807f4c2c 0x807f4c2c +807f4e34 0x807f4e34 +807f50f8 0x807f50f8 +807f5100 0x807f5100 +807f5188 0x807f5188 +807f5194 0x807f5194 +807f51a0 0x807f51a0 +807f51a8 0x807f51a8 +807f51e8 0x807f51e8 +807f51f0 0x807f51f0 +807f51f4 0x807f51f4 +807f51f8 0x807f51f8 +807f5208 0x807f5208 +807f520c 0x807f520c +807f5218 0x807f5218 +807f5220 0x807f5220 +807f5228 0x807f5228 +807f5368 0x807f5368 +807f54a8 0x807f54a8 +807f55e8 0x807f55e8 +807f55f8 0x807f55f8 +807f56ec 0x807f56ec +807f57e0 0x807f57e0 +807f58d4 0x807f58d4 +807f59c8 0x807f59c8 +807f5b08 0x807f5b08 +807f5c48 0x807f5c48 +807f5d88 0x807f5d88 +807f5d98 0x807f5d98 +807f5e8c 0x807f5e8c +807f5f80 0x807f5f80 +807f6074 0x807f6074 +807f6168 0x807f6168 +807f6174 0x807f6174 +807f6178 0x807f6178 +807f6180 0x807f6180 +807f6188 0x807f6188 +807f61c8 Objects::bblock::__ct +807f6230 Objects::VolcanoPiece::__dt +807f6270 Objects::bblock::LoadModels +807f63f4 Objects::VolcanoPiece::GetSubFileName +807f63fc Objects::bblock::OnStart +807f6454 Objects::bblock::UpdateModelMatrix +807f64dc Objects::bblock::LoadAnimations +807f6590 Objects::bblock::LoadCollision +807f6848 Objects::bblock::GetBRRESName +807f6854 Objects::bblock::SetCollisionType +807f68a0 Objects::bblock::Init_eAnm +807f6948 Objects::VolcanoPiece::UpdateKCL +807f6a30 Objects::VolcanoPiece::SetCollisionType +807f6a34 Objects::VolcanoPiece::IsCollidingNoTerrainInfo +807f6bb8 Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfo +807f6d3c Objects::VolcanoPiece::vf_0xfc +807f6ec0 Objects::VolcanoPiece::IsCollidingAddEntry +807f6ed0 Objects::VolcanoPiece::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +807f7018 Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +807f7160 Objects::VolcanoPiece::IsColliding(no radius) +807f72a8 Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheck(no radius) +807f73f0 Objects::VolcanoPiece::IsCollidingNoTerrainInfoNoTriangleCheck +807f7574 Objects::VolcanoPiece::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +807f76f8 Objects::VolcanoPiece::IsColliding +807f787c Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheck +807f788c Objects::VolcanoPiece::vf_0xc0 +807f79d4 Objects::VolcanoPiece::vf_0xc4 +807f7b1c Objects::VolcanoPiece::vf_0xc8 +807f7c64 Objects::VolcanoPiece::vf_0xcc +807f7dac Objects::VolcanoPiece::UpdateDiffPosVector +807f7de4 Objects::VolcanoPiece::GetTransformationMatrix +807f7dfc Objects::VolcanoPiece::GetPropertiesBitfield +807f7e04 Objects::bblock::UpdateModelScale +807f7e94 0x807f7e94 +807f7ed4 Objects::Kinoko::__ct +807f80a4 Objects::Kinoko::OnStart +807f80e4 Objects::Kinoko::Update +807f8208 Objects::Kinoko_ud::__ct +807f82cc Objects::Kinoko::__dt +807f830c Objects::Kinoko_ud::UpdateSpecific +807f8434 Objects::Kinoko_bend::__ct +807f8550 Objects::Kinoko_bend::UpdateSpecific +807f863c Objects::Kinoko::vf_0xb4 +807f8640 Objects::Kinoko::SetYScale +807f8644 Objects::Kinoko::GetSubFileName +807f8664 Objects::Kinoko::GetPropertiesBitfield +807f866c Objects::Kinoko_bend::__dt +807f86ac 0x807f86ac +807f86b0 Objects::Kinoko_ud::SetYScale +807f86b4 Objects::Kinoko_ud::GetSubFileName +807f86d4 Objects::Kinoko_ud::__dt +807f8714 Objects::Kinoko_kuki::vf_0xec +807f8718 Objects::Kinoko_kuki::vf_0xf0 +807f871c Objects::Kinoko_kuki::GetSubFileName +807f873c Objects::Kinoko_kuki::UpdateModelScale +807f8740 Objects::Kinoko_kuki::GetPropertiesBitfield +807f8748 Objects::Kinoko_kuki::__dt +807f8788 ObjAmi_construct +807f87f8 0x807f87f8 +807f88ac 0x807f88ac +807f8ad8 0x807f8ad8 +807f8bc0 0x807f8bc0 +807f8e30 0x807f8e30 +807f8e74 0x807f8e74 +807f8ed4 0x807f8ed4 +807f903c 0x807f903c +807f9044 0x807f9044 +807f9050 0x807f9050 +807f9058 0x807f9058 +807f905c 0x807f905c +807f9060 0x807f9060 +807f9064 0x807f9064 +807f9068 0x807f9068 +807f9078 0x807f9078 +807f9088 0x807f9088 +807f9098 0x807f9098 +807f90a8 0x807f90a8 +807f90ac 0x807f90ac +807f90b0 0x807f90b0 +807f90b4 0x807f90b4 +807f90b8 0x807f90b8 +807f90c8 0x807f90c8 +807f90d8 0x807f90d8 +807f90e8 0x807f90e8 +807f90f8 0x807f90f8 +807f9104 0x807f9104 +807f9108 0x807f9108 +807f910c 0x807f910c +807f9110 0x807f9110 +807f9118 0x807f9118 +807f9158 0x807f9158 +807f9344 0x807f9344 +807f9560 0x807f9560 +807f9918 0x807f9918 +807f9d00 0x807f9d00 +807fa0b8 obj_obakeblockSFC::__ct +807fa224 0x807fa224 +807fa2f8 0x807fa2f8 +807fa544 0x807fa544 +807fa558 0x807fa558 +807fab08 0x807fab08 +807fac44 0x807fac44 +807fada0 Object::GetCollisionDiameter +807fadac 0x807fadac +807fadb4 0x807fadb4 +807fadb8 0x807fadb8 +807fadbc 0x807fadbc +807fadc0 0x807fadc0 +807fadc4 0x807fadc4 +807fadc8 0x807fadc8 +807fadcc 0x807fadcc +807fadd0 0x807fadd0 +807fadd4 0x807fadd4 +807fade4 0x807fade4 +807fadf4 0x807fadf4 +807fae04 0x807fae04 +807fae14 0x807fae14 +807fae18 0x807fae18 +807fae1c 0x807fae1c +807fae20 0x807fae20 +807fae24 0x807fae24 +807fae34 0x807fae34 +807fae44 0x807fae44 +807fae54 0x807fae54 +807fae64 0x807fae64 +807fae70 0x807fae70 +807fae74 0x807fae74 +807fae78 0x807fae78 +807fae7c 0x807fae7c +807fae84 0x807fae84 +807faec4 0x807faec4 +807fb3f4 ObjectCollisionPolyhedra::SetRadius +807fb3fc 0x807fb3fc +807fb960 0x807fb960 +807fc10c 0x807fc10c +807fc8dc 0x807fc8dc +807fc950 0x807fc950 +807fc988 0x807fc988 +807fc994 0x807fc994 +807fc9a0 0x807fc9a0 +807fc9ac 0x807fc9ac +807fca10 0x807fca10 +807fca74 0x807fca74 +807fcae8 0x807fcae8 +807fcd54 0x807fcd54 +807fceb0 obj_quicksand::__ct +807fd0c8 0x807fd0c8 +807fd62c 0x807fd62c +807fdd8c 0x807fdd8c +807fe02c 0x807fe02c +807fe21c 0x807fe21c +807fe820 0x807fe820 +807fee24 0x807fee24 +807ff128 0x807ff128 +807ff150 0x807ff150 +807ff538 0x807ff538 +807ff540 0x807ff540 +807ff54c 0x807ff54c +807ff554 0x807ff554 +807ff558 0x807ff558 +807ff55c 0x807ff55c +807ff560 0x807ff560 +807ff564 0x807ff564 +807ff574 0x807ff574 +807ff584 0x807ff584 +807ff594 0x807ff594 +807ff5a4 0x807ff5a4 +807ff5a8 0x807ff5a8 +807ff5ac 0x807ff5ac +807ff5b0 0x807ff5b0 +807ff5b4 0x807ff5b4 +807ff5c4 0x807ff5c4 +807ff5d4 0x807ff5d4 +807ff5e4 0x807ff5e4 +807ff5f4 0x807ff5f4 +807ff608 0x807ff608 +807ff670 0x807ff670 +807ff67c 0x807ff67c +807ff688 0x807ff688 +807ff68c 0x807ff68c +807ff690 0x807ff690 +807ff694 0x807ff694 +807ff69c 0x807ff69c +807ff6dc 0x807ff6dc +807ff6e8 0x807ff6e8 +807ff6f4 0x807ff6f4 +807ff6fc 0x807ff6fc +807ff704 0x807ff704 +807ff760 0x807ff760 +807ffb9c 0x807ffb9c +80800004 0x80800004 +80800700 0x80800700 +80800e28 Objects::TwistedWay::__ct +80800e94 Objects::TwistedWay::OnStart +80800f50 Objects::TwistedWay::Update +80801194 0x80801194 +80801274 0x80801274 +80801384 0x80801384 +808014c4 0x808014c4 +8080167c Objects::TwistedWay::CalcOtherEntityDistance +8080182c Objects::TwistedWay::UpdateOtherEntityPosWithRot +808019fc 0x808019fc +80801a90 Objects::TwistedWay::vf_0x11c +80801a98 Objects::TwistedWay::vf_0x108 +80801aa4 Objects::TwistedWay::AreItemsAllowed +80801aac Objects::TwistedWay::IsCollidingNoTerrainInfo +80801ab0 Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfo +80801ab4 Objects::TwistedWay::vf_0xfc +80801ab8 Objects::TwistedWay::IsCollidingAddEntry +80801abc Objects::TwistedWay::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +80801acc Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +80801adc Objects::TwistedWay::IsColliding(no radius) +80801aec Objects::TwistedWay::IsCollidingAddEntryNoTriangleCheck(no radius) +80801afc Objects::TwistedWay::IsCollidingNoTerrainInfoNoTriangleCheck +80801b00 Objects::TwistedWay::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80801b04 Objects::TwistedWay::IsColliding +80801b08 Objects::TwistedWay::IsCollidingAddEntryNoTriangleCheck +80801b0c Objects::TwistedWay::vf_0xc0 +80801b1c Objects::TwistedWay::vf_0xc4 +80801b2c Objects::TwistedWay::vf_0xc8 +80801b3c Objects::TwistedWay::vf_0xcc +80801b4c Objects::TwistedWay::GetCollisionDiameter +80801b54 Objects::TwistedWay::LoadAnimations +80801b58 Objects::TwistedWay::vf_0xb4 +80801b5c Objects::TwistedWay::UpdateCollision +80801b60 Objects::TwistedWay::LoadCollision +80801b64 Objects::TwistedWay::GetPropertiesBitfield +80801b6c Objects::TwistedWay::__dt +80801bac 0x80801bac +808020fc 0x808020fc +80802698 0x80802698 +80802fb8 Objects::TwistedWay::IsCollidingImpl +80803924 obj_venice_hasi::__ct +80803b00 0x80803b00 +80803c34 0x80803c34 +80803d38 0x80803d38 +8080418c 0x8080418c +808043f0 0x808043f0 +8080455c 0x8080455c +80804620 0x80804620 +808047cc 0x808047cc +80804934 0x80804934 +80804ae8 0x80804ae8 +80804af0 0x80804af0 +80804af4 0x80804af4 +80804af8 0x80804af8 +80804b04 0x80804b04 +80804b0c 0x80804b0c +80804b18 0x80804b18 +80804b28 0x80804b28 +80804b30 0x80804b30 +80804b38 0x80804b38 +80804b78 ObjSaku_construct +80804c20 0x80804c20 +80804eb4 0x80804eb4 +80804ff4 0x80804ff4 +80804ffc 0x80804ffc +8080503c Objects::VolcanoPiece::__ct +808051c0 Objects::VolcanoPiece::LoadCollision +80805588 Objects::VolcanoPiece::UpdateCollisionPosition +808058c8 Objects::VolcanoPiece::SetYScale +80805a08 Objects::VolcanoPiece::GetTransformationMatrixImpl +80806220 0x80806220 +8080627c 0x8080627c +80806368 0x80806368 +80806650 Objects::VolcanoPiece::Init_eAnm +80806654 Objects::VolcanoPiece::Update +80806bfc Objects::VolcanoPiece::IsCollidingAddEntryNoTriangleCheckImpl +80806ff4 Objects::VolcanoPiece::IsCollidingImpl +808073ec Objects::VolcanoRock1::__ct +808075c4 Objects::VolcanoRock1::Update +80807668 Objects::VolcanoRock1::CalcTranslation +80807824 Objects::VolcanoRock1::GetPeriod +80807860 Objects::VolcanoRock1::GetTransformationMatrix +808078bc Objects::VolcanoRock1::GetSubFileName +808078dc Objects::VolcanoRock1::GetPropertiesBitfield +808078e4 Objects::VolcanoRock1::__dt +80807924 ObjectKCL::__ct +80807968 ObjectKCL::__ct(Vec3s, objId) +808079ac ObjectKCL::__ct(Vec3s, name) +808079f0 ObjectKCL::Init +80807ab0 ObjectKCL::RegisterEntity +80807b24 ObjectKCL::UpdateModel +80807bd4 ObjectExternKCL::__ct +80807c1c 0x80807c1c +80807c64 0x80807c64 +80807cac ObjectExternKCL::LoadCollision +80807da0 ObjectExternKCL::InitCollision +80807fc0 ObjectExternKCL::UpdateCollisionPosition +8080817c ObjectExternKCL::SetYScale +80808208 ObjectExternKCL::IsCollidingAddEntryNoTriangleCheckImpl +808083c0 ObjectExternKCL::IsCollidingImpl +80808578 ObjectsKCLMgr::__ct +808085d4 ObjectsKCLMgr::__dt +8080867c ObjectsKCLMgr::CreateInstance +80808704 ObjectsKCLMgr::DestroyInstance +80808754 ObjectsKCLMgr::Init +808087fc 0x808087fc +8080886c ObjectsKCLMgr::Update +8080891c ObjectsKCLMgr::AddObject +80808a20 ObjectsKCLMgr::UpdateKCL +80808ac4 0x80808ac4 +80808b94 0x80808b94 +80808c64 0x80808c64 +80808da8 0x80808da8 +80808eec ObjectsKCLMgr::IsCollidingNoTerrainInfoNoTriangleCheck +80808fc4 ObjectsKCLMgr::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +8080909c ObjectsKCLMgr::IsColliding +808091f4 ObjectsKCLMgr::IsCollidingAddEntryNoTriangleCheck +8080934c 0x8080934c +8080943c 0x8080943c +8080952c 0x8080952c +80809690 0x80809690 +808097f4 ObjectsKCLMgr::IsCollidingNoTerrainInfo +80809908 ObjectsKCLMgr::IsCollidingAddEntryNoTerrainInfo +80809a1c 0x80809a1c +80809bac ObjectsKCLMgr::IsCollidingAddEntry +80809d3c 0x80809d3c +80809dc4 GetKartWeightClass +80809f90 GetCharacterWeightClass +8080a104 0x8080a104 +8080a148 CharacterIdToKartIdByIdx +8080a1c4 0x8080a1c4 +8080a200 0x8080a200 +8080a208 IsKartUnlocked +8080a274 IsCharacterUnlocked +8080a27c 0x8080a27c +8080a2b0 0x8080a2b0 +8080a2e4 KartObjectCollision::Init +8080a34c KartObjectCollision::Init_switch +8080a350 KartObjectCollision::Init_case1 +8080a3c0 KartObjectCollision::Init_case0 +8080a40c KartObjectCollision::Init_case2 +8080a480 KartObjectCollision::Init_case3 +8080a4f0 KartObjectCollision::Init_case6 +8080a550 KartObjectCollision::Init_case9 +8080a5ac KartObjectCollision::Init_casec +8080a628 KartObjectCollision::Init_casef +8080a684 KartObjectCollision::Init_case4 +8080a704 KartObjectCollision::Init_case7 +8080a778 KartObjectCollision::Init_casea +8080a7e0 KartObjectCollision::Init_cased +8080a864 KartObjectCollision::Init_case10 +8080a8e4 KartObjectCollision::Init_case5 +8080a96c KartObjectCollision::Init_case8 +8080a9ec KartObjectCollision::Init_caseb +8080aa6c KartObjectCollision::Init_casee +8080aaf0 KartObjectCollision::Init_case11 +8080ab90 KartObjectCollision::Init_case12 +8080abec KartObjectCollision::Init_case13 +8080ac48 KartObjectCollision::Init_case14 +8080aca8 KartObjectCollision::Init_case15 +8080ad08 KartObjectCollision::Init_case18 +8080ad68 KartObjectCollision::Init_case1b +8080adc4 KartObjectCollision::Init_case1e +8080ae20 KartObjectCollision::Init_case21 +8080ae80 KartObjectCollision::Init_case16 +8080aee0 KartObjectCollision::Init_case19 +8080af3c KartObjectCollision::Init_case1c +8080af98 KartObjectCollision::Init_case1f +8080aff8 KartObjectCollision::Init_case22 +8080b058 KartObjectCollision::Init_case17 +8080b0b8 KartObjectCollision::Init_case1a +8080b130 KartObjectCollision::Init_case1d +8080b190 KartObjectCollision::Init_case20 +8080b1f0 KartObjectCollision::Init_case23 +8080b320 KartObjectCollision::__ct +8080b338 KartObjectCollision::__dt +8080b3c4 KartObjectCollision::Update +8080b4a8 ObjectCollisionPolyhedra::GetDefaultDiameter +8080b4b0 0x8080b4b0 +8080b4d8 ObjectCollidable::__ct(GOBJ) +8080b514 ObjectCollidable::::__ct(Vec3s, objId) +8080b550 ObjectCollidable::::__ct(Vec3s, name) +8080b58c ObjectCollidable::Init +8080b65c ObjectCollidable::RegisterManagedObject +8080b66c ObjectCollidable::RegisterEntity +8080b710 ObjectCollidable::LoadCollision +8080ba34 ObjectCollidable::OnNormalCollision +8080bac4 ObjectCollidable::OnWallCollision +8080bb58 ObjectCollidable::BeforeKartCollision +8080bc64 ObjectCollidable::BeforeItemCollision +8080bcb4 ObjectCollidable::UpdateCollision +8080bd14 Object::__ct +8080bea8 Object::__ct(Vec3s, objId) +8080bff0 Object::__ct(Vec3s, name) +8080c154 Object::OnStart +8080c1d8 Object::LoadModels +8080c1ec Object::LoadModels(r4) +8080c1fc Object::LoadGraphics +8080c84c Object::LoadSound +8080c9a4 Object::LinkSound +8080c9e8 Object::StartSoundLimited +8080ca08 Object::HoldSoundLimited +8080ca28 Object::StartNewSoundLimited +8080ca48 Object::StartSound +8080ca68 Object::HoldSound +8080ca88 Object::StopAllSound +8080caa8 Object::StopSound +8080cac8 Object::LoadShadow +8080cc18 Object::LoadAnimations +8080cd60 0x8080cd60 +8080ce6c Object::LoadRoute +8080cf7c Object::LoadAnimationsByType +8080d3a4 Object::LinkAnimations +8080d55c Object::LoadClipInfo +8080db2c Object::UpdateMatrix +8080dbac Object::ToggleVisible +8080dc24 0x8080dc24 +8080dc9c 0x8080dc9c +8080dca4 Object::UpdateModel +8080dd9c Object::CalcYAxisTransMtx +8080ddfc 0x8080ddfc +8080de60 Object::UpdateShadow +8080df88 Object::UpdateModelMatrix +8080e054 0x8080e054 +8080e2a4 Object::vf_0x88 +8080e2c4 Object::vf_0x8c +8080e2d8 Object::DisableCollision +8080e2ec Object::EnableCollision +8080e300 ObjectsMgr::CreateObject +80812e2c 0x80812e2c +80813378 ObjectsMgr::CreateAllObjects +80813f54 Objects::Kinoko_nm::GetPeriod +80813f60 Objects::Kinoko_nm::GetSubFileName +80813f80 Objects::Kinoko_nm::GetPropertiesBitfield +80813f88 Objects::Kinoko_nm::__dt +80813fc8 0x80813fc8 +80813fd8 0x80813fd8 +808140b8 0x808140b8 +808140f8 0x808140f8 +80814100 0x80814100 +80814164 0x80814164 +808141a4 0x808141a4 +808141b4 0x808141b4 +808141f4 0x808141f4 +808141fc 0x808141fc +8081423c 0x8081423c +80814244 0x80814244 +80814284 0x80814284 +808142c4 0x808142c4 +80814304 0x80814304 +80814344 0x80814344 +80814460 0x80814460 +808145d0 0x808145d0 +80814644 0x80814644 +808148f8 0x808148f8 +80814914 0x80814914 +8081492c 0x8081492c +80814a50 0x80814a50 +80814a54 0x80814a54 +80814a5c 0x80814a5c +80814a9c Objects::Itembox::__ct +80814c58 Objects::Itembox::__ct(position) +80814d4c Objects::Itembox::Update +808151a4 Objects::Itembox::OnCollision +80815430 Objects::F_Itembox::__ct +80815484 Objects::F_Itembox::OnStart +80815560 Objects::F_Itembox::Update +808156f4 Objects::S_Itembox::__ct +8081576c Objects::S_Itembox::OnStart +80815948 Objects::S_Itembox::Update +80815a70 Objects::S_Itembox::__dt +80815ab0 Objects::F_Itembox::__dt +80815af0 0x80815af0 +80815b28 Objects::Heyho2::__ct +80815be4 Objects::Heyho2::OnStart +80815c50 Objects::Heyho2::Lift::__ct +80815dc8 Objects::Heyho2::Lift::OnStart +80815f90 Objects::Heyho2::Lift::Update +80816184 Objects::Heyho2::Lift::UpdateModelMatrix +80816254 Objects::Heyho2::Rider::__ct +808163c0 Objects::Heyho2::Rider::OnStart +808164f8 Objects::Heyho2::Rider::LoadAnimations +808164fc Objects::Heyho2::Rider::Update +80816620 Objects::Heyho2::LoadRoute +80816624 Objects::Heyho2::Update +80816628 Objects::Heyho2::LoadModels +8081662c Objects::Heyho2::LoadAnimations +80816630 Objects::Heyho2::GetPropertiesBitfield +80816638 Objects::Heyho2::__dt +80816678 Objects::Heyho2::Lift::GetBRRESName +80816684 Objects::Heyho2::Lift::GetSubFileName +808166a4 Objects::Heyho2::Lift::GetPropertiesBitfield +808166ac Objects::Heyho2::Lift::vf_0xa8 +808166b4 Objects::Heyho2::Lift::__dt +808166f4 Objects::Heyho2::Rider::LoadRoute +808166f8 Objects::Heyho2::Rider::vf_0xa8 +80816700 Objects::Heyho2::Rider::GetBRRESName +8081670c Objects::Heyho2::Rider::GetSubFileName +80816758 Objects::Heyho2::Rider::GetPropertiesBitfield +80816760 0x80816760 +808167a0 ObjectsMgr::Start +80816878 ObjectsMgr::__ct +80816b40 ObjectCollisionManager::__dt +80816b80 ObjectsMgr::__dt +80816c70 ObjectsMgr::CreateInstance +80816d10 ObjectsMgr::DestroyInstance +80816d70 0x80816d70 +80816de0 ObjectsMgr::Update +80816fac 0x80816fac +80816ff0 ObjectsMgr::CheckCollision +808172a8 ObjectsMgr::HandleItemCollision +808174d8 0x808174d8 +808175d4 ObjectsMgr::AddObject +80817780 0x80817780 +8081788c ObjectsMgr::RegisterManagedObject +80817894 ObjectsMgr::GetManagedObject +808178a4 ObjectsMgr::GetManagedObjectsCount +808178c0 ObjectsMgr::GetPseaVeniceHeightDiff +808178d8 ObjectsMgr::GetPseaVeniceHeight +808178ec ObjectsMgr::GetPseaVeniceHeightMinus260 +8081790c 0x8081790c +80817918 0x80817918 +808179cc ObjectCollisionManager::GetPlayerItemState +80817a10 ObjectCollisionManager::Get_0x1c +80817a18 0x80817a18 +80817a1c 0x80817a1c +80817a20 ObjectCollisionManager::GetPosition +80817a28 GeoHitTableKartObjHolder::__dt +80817a68 GeoHitTableKartHolder::__dt +80817aa8 GeoHitTableObjHolder::__dt +80817ae8 GeoHitTableItemHolder::__dt +80817b28 Objects::MiiStatue::__ct +80817c34 0x80817c34 +80817cd4 0x80817cd4 +80817d74 0x80817d74 +80817e14 0x80817e14 +80817f04 Objects::MiiStatue::__dt +80817fcc Objects::MiiStatue::OnStart +808181d4 Objects::MiiStatue::Update +808182f8 Objects::MiiStatue::GetPropertiesBitfield +80818300 0x80818300 +808185f8 ObjFlowHolder::__ct +80818664 ObjFlowHolder::GetObjIDByName +808186e0 ObjFlowHolder::__dt +80818720 Objects::Psea::__ct +80818b20 Objects::Psea::Update +80818d70 Objects::Psea::LoadModels +80818d74 Objects::Psea::GetPropertiesBitfield +80818d7c Objects::Psea::__dt +80818dbc Objects::Psea5spc::GetScnObjDrawOptionsIdx +80818dc4 Objects::Psea5spc::GetName +80818dd0 Objects::Psea5spc::GetSubFileName +80818ddc Objects::Psea5spc::GetPropertiesBitfield +80818de4 Objects::Psea5spc::__dt +80818e24 Objects::Psea4tex::GetScnObjDrawOptionsIdx +80818e2c Objects::Psea4tex::GetName +80818e38 Objects::Psea4tex::GetSubFileName +80818e44 Objects::Psea4tex::GetPropertiesBitfield +80818e4c Objects::Psea4tex::__dt +80818e8c Objects::Psea3nami::GetScnObjDrawOptionsIdx +80818e94 Objects::Psea3nami::GetName +80818ea0 Objects::Psea3nami::GetSubFileName +80818eac Objects::Psea3nami::GetPropertiesBitfield +80818eb4 Objects::Psea3nami::__dt +80818ef4 Objects::Psea2dark::GetScnObjDrawOptionsIdx +80818efc Objects::Psea2dark::GetName +80818f08 Objects::Psea2dark::GetSubFileName +80818f14 Objects::Psea2dark::GetPropertiesBitfield +80818f1c Objects::Psea2dark::__dt +80818f5c Objects::Psea1sand::GetScnObjDrawOptionsIdx +80818f64 Objects::Psea1sand::GetName +80818f70 Objects::Psea1sand::GetSubFileName +80818f7c Objects::Psea1sand::GetPropertiesBitfield +80818f84 Objects::Psea1sand::__dt +80818fc4 Objects::Pylon01::_ct +80819150 Objects::Pylon01::GetScnObjDrawOptionsIdx +80819168 Objects::Pylon01::GetBRRESName +808191a0 Objects::Pylon01::LoadAnimations +8081924c Objects::Pylon01::OnStart +80819530 Objects::Pylon01::Update +8081a0d8 Objects::Pylon01::OnCollision +8081a4c4 Objects::Pylon01::OnItemCollision +8081a5ec 0x8081a5ec +8081a8dc 0x8081a8dc +8081a9e0 Objects::Pylon01::OnWallCollision +8081a9e4 Objects::Pylon01::GetPropertiesBitfield +8081a9ec Objects::Pylon01::__dt +8081aa2c obj_venice_nami::__ct +8081abcc 0x8081abcc +8081adc0 0x8081adc0 +8081ae74 0x8081ae74 +8081b158 obj_venice_nami_update +8081b320 0x8081b320 +8081b4f0 0x8081b4f0 +8081b584 0x8081b584 +8081b590 0x8081b590 +8081b598 0x8081b598 +8081b5a0 0x8081b5a0 +8081b5e0 0x8081b5e0 +8081b610 0x8081b610 +8081b738 GetCupNameMsgId +8081b768 getTrackBmgId +8081b804 0x8081b804 +8081b834 getArenaBmgId +8081b864 GetPositionBMGId +8081b86c getOrangeOverlayBmgId +8081b874 0x8081b874 +8081b8d4 0x8081b8d4 +8081b8d8 0x8081b8d8 +8081b8ec 0x8081b8ec +8081b91c GetMissionLevelNameMsgId +8081b938 0x8081b938 +8081b940 ObjectCollisionCuboid::__ct +8081bc00 0x8081bc00 +8081bc08 ObjectCollisionCuboid::SetPositionAndScale +8081bff4 ObjectCollisionCuboid::SetPositionAndScale(translation) +8081c3f0 0x8081c3f0 +8081c3f8 ObjectCollisionCuboid::__dt +8081c450 ObjectCollision::ProcessCollision +8081d0bc 0x8081d0bc +8081d154 0x8081d154 +8081d1ec 0x8081d1ec +8081d40c 0x8081d40c +8081d758 0x8081d758 +8081d8ec 0x8081d8ec +8081d9d4 0x8081d9d4 +8081daac 0x8081daac +8081db94 0x8081db94 +8081e03c 0x8081e03c +8081e13c 0x8081e13c +8081e170 ObjectCollisionCylinder::__ct +8081e294 ObjectCollisionCylinder::Getposition +8081e2f8 ObjectCollisionCylinder::SetPositionAndScale +8081e43c ObjectCollisionCylinder::SetPositionAndScale(translation) +8081e598 0x8081e598 +8081e5a0 ObjectCollisionCylinder::GetRadius +8081e5a8 ObjectCollisionCylinder::__dt +8081e5e8 ObjectCollisionPolyhedra::__ct +8081e6b0 ObjectCollisionPolyhedra::__dt +8081e730 ObjectCollisionPolyhedra::GetPosition +8081e7d8 ObjectCollisionPolyhedra::SetPositionAndScale +8081e8cc ObjectCollisionPolyhedra::SetPositionAndScale(translation) +8081e9d8 ObjectCollisionSphere::__ct +8081ea28 ObjectCollisionSphere::GetPosition +8081eaa0 ObjectCollisionSphere::SetPositionAndScale +8081eb58 ObjectCollisionSphere::SetPositionAndScale(translation) +8081ec5c ObjectCollisionSphere::GetRadius +8081ec64 ObjectCollisionSphere::__dt +8081eca4 Pages::Menu::OnInit +8081f26c Pages::Menu::CreateExternalControl +8081f274 Pages::Menu::SetButtonHandlers +8081f278 Pages::Menu::OnActivate +8081f3e8 Pages::Menu::GetTextInfo +8081f3f0 Pages::Menu::OnControlsInitialized +8081f634 Pages::Menu::SelectButton +8081f6f4 Pages::Menu::OnExternalButtonSelect +8081f6f8 Pages::Menu::SelectExternObject +8081f724 Pages::Menu::LoadNextPageWithDelayById +8081f828 Pages::Menu::LoadNextPageById +8081f938 Pages::Menu::LoadPrevPageWithDelayById +8081fa3c Pages::Menu::LoadPrevPageById +8081fb4c Pages::Menu::LoadPrevPageWithDelay +8081fc54 Pages::Menu::LoadPrevPage +8081fd64 Pages::Menu::ChangeSectionWithDelayById +8081fe24 Pages::Menu::AddPageLayer +8081fe4c Pages::Menu::OnResume +8081ff48 Pages::Menu::ChangeSectionById +8082000c Pages::Menu::ForceChangeSectionWithDelayById +80820028 Pages::Menu::ForceChangeSectionById +80820088 Pages::Menu::LoadMessageBoxPageWithDelay +80820244 Pages::Menu::LoadMessageBoxPage +80820408 Pages::Menu::LoadMessageBoxTransparentPageThenChangeSectionWithDelay +808205d4 Pages::Menu::LoadMessageBoxTransparentPageThenChangeSection +808207a8 Pages::Menu::LoadMessageBoxTransparentPage +808208b4 Pages::Menu::ChangePrevSection +80820900 Pages::Menu::OnMoviesActivate +8082098c Pages::Menu::LoadMovies +808209a8 Pages::Menu::UnloadMovies +808209bc Pages::Menu::IsMultiplayer +808209f8 Pages::Menu::AreAllPlayersActive +80820adc Pages::Menu::BeforeEntranceAnimations +80820b78 Pages::Menu::GetNextPage +80820b80 Pages::Menu::BeforeExitAnimations +80820c1c Pages::Menu::OnStartPress +80820c20 MenuPage_cpp_sinit_ +80820c34 Pages::MenuBG::GetPageById +80820d44 Pages::MenuBG::CreateControl +80820ea8 Pages::MenuBG::AfterControlUpdate +80820eac Pages::MenuBG::GetPlayerBifield +80820eb4 Pages::MenuBG::GetActivePlayerBitfield +80820ebc Pages::MenuBG::GetManipulatorManager +80820ec4 Pages::MenuBG::BeforeEntranceAnimations +80820ec8 Pages::MenuBG::__ct +80820f48 Pages::MenuBG::GetRuntimeTypeInfo +80820f54 BattleKartSelectPagecpp_sinit_ +80820f68 Pages::BattleModeSelect::GetPageById +80821078 Pages::BattleModeSelect::OnInit +808210cc Pages::BattleModeSelect::GetManipulatorManager +808210d4 Pages::BattleModeSelect::CreateExternalControl +80821280 Pages::BattleModeSelect::CreateControl +80821288 Pages::BattleModeSelect::OnActivate +80821660 Pages::BattleModeSelect::OnActivate_switch +80821664 Pages::BattleModeSelect::OnActivate_case_0 +8082167c Pages::BattleModeSelect::OnActivate_case_1 +80821694 Pages::BattleModeSelect::OnActivate_case_2 +808216ac Pages::BattleModeSelect::OnActivate_case_3 +808216c4 Pages::BattleModeSelect::OnActivate_case_4 +808216dc Pages::BattleModeSelect::OnActivate_case_5 +808216f4 Pages::BattleModeSelect::OnActivate_case_6 +8082170c Pages::BattleModeSelect::OnActivate_case_7 +80821754 Pages::BattleModeSelect::AfterControlUpdate +80821758 Pages::BattleModeSelect::OnButtonClick +80821834 Pages::BattleModeSelect::OnExternalButtonSelect +8082186c Pages::BattleModeSelect::OnButtonDeselect +80821870 Pages::BattleModeSelect::OnBackPress +8082187c Pages::BattleModeSelect::OnDeactivate +808218c8 Pages::BattleModeSelect::GetPlayerBitfield +808218d0 Pages::BattleModeSelect::GetActivePlayerBitfield +808218d8 Pages::BattleModeSelect::SetButtonHandlers +80821934 Pages::BattleModeSelect::__dt +808219b4 Pages::BattleModeSelect::GetRuntimeTypeInfo +808219c0 BattleModeSelectPage_cpp_sinit_ +808219d4 Pages::BattleSettings::GetPageById +80821ae4 Pages::BattleSettings::OnInit +80821dd8 Pages::BattleSettings::CreateExternalControl +80821e68 Pages::BattleSettings::CreateControl +8082222c Pages::BattleSettings::OnActivate +8082238c Pages::BattleSettings::AfterControlUpdate +80822390 Pages::BattleSettings::OnButtonClick +80822394 Pages::BattleSettings::OnExternalButtonSelect +808223c0 Pages::BattleSettings::OnButtonDeselect +808223c4 Pages::BattleSettings::OnBackPress +80822408 Pages::BattleSettings::OnRadioClick +80822574 Pages::BattleSettings::OnRadioChange +80822654 Pages::BattleSettings::OnUpDownClick +808226c0 Pages::BattleSettings::OnUpDownSelect +808226d0 Pages::BattleSettings::OnUpDownChange +80822748 Pages::BattleSettings::OnTextChange +808227c4 Pages::BattleSettings::GetPlayerBitfield +808227cc Pages::BattleSettings::GetActivePlayerBitfield +808227d4 Pages::BattleSettings::SetButtonHandlers +80822830 Pages::BattleSettings::GetManipulatorManager +80822838 Pages::BattleSettings::__dt +80822900 Pages::BattleSettings::GetRuntimeTypeInfo +8082290c Pages::BattleSettings::TriggerUpDown3APtmf +8082293c Pages::BattleSettings::TriggerRadioPtmf +8082296c Pages::BattleSettings::TriggerTextPtmf +8082299c Pages::BattleSettings::TriggerUpDown2APtmf +808229cc BattleStageSelectPage_cpp_sinit_ +808229e0 CharaName::GetClassName +808229ec Pages::CharacterSelect::GetPageById +80822afc Pages::CharacterSelect::OnInit +80822de0 CharaName::__ct +80822e1c Pages::CharacterSelect::CreateExternalControl +80822e24 Pages::CharacterSelect::CreateControl +80823018 Pages::CharacterSelect::OnActivate +80823354 Pages::CharacterSelect::GetManipulatorManager +8082335c Pages::CharacterSelect::AfterControlUpdate +80823548 Pages::CharacterSelect::OnButtonDriverClick +80823b94 Pages::CharacterSelect::OnButtonDriverSelect +80823ce0 Pages::CharacterSelect::OnButtonClick +80823e78 Pages::CharacterSelect::OnExternalButtonSelect +80823ec4 Pages::CharacterSelect::OnButtonDeselect +80823ec8 Pages::CharacterSelect::OnBackPress +808241c8 Pages::CharacterSelect::8083ec28 +808243bc Pages::CharacterSelect::8083ee1c +8082445c Pages::CharacterSelect::OnResume +808244dc Pages::CharacterSelect::OnDispose +808244ec Pages::CharacterSelect::BeforeEntranceAnimations +80824594 Pages::CharacterSelect::BeforeExitAnimations +8082463c CharaName::InitSelf +80824800 Pages::CharacterSelect::GetPlayerBitfield +80824808 Pages::CharacterSelect::GetActivePlayerBitfield +80824810 Pages::CharacterSelect::SetButtonHandlers +8082486c Pages::CharacterSelect::__dt +808248fc Pages::CharacterSelect::GetRuntimeTypeInfo +80824908 CharaName::GetRuntimeTypeInfo +80824914 CharaSelectcpp_sinit_ +80824938 Pages::GPClassSelect::GetPageById +80824a48 Pages::GPClassSelect::OnInit +80824b18 Pages::GPClassSelect::GetManipulatorManager +80824b20 Pages::GPClassSelect::CreateExternalControl +80824d50 Pages::GPClassSelect::CreateControl +80824dd8 Pages::GPClassSelect::OnActivate +80824eb4 Pages::GPClassSelect::AfterControlUpdate +80824f28 Pages::GPClassSelect::OnButtonClick +808250cc Pages::GPClassSelect::OnExternalButtonSelect +80825154 Pages::GPClassSelect::OnButtonDeselect +80825158 Pages::GPClassSelect::OnBackPress +80825164 Pages::GPClassSelect::OnDeactivate +80825168 Pages::GPClassSelect::OnStartPress +8082566c Pages::GPClassSelect::GetPlayerBitfield +80825674 Pages::GPClassSelect::GetActivePlayerBitfield +8082567c Pages::GPClassSelect::SetButtonHandlers +808256d8 Pages::GPClassSelect::__dt +80825764 Pages::GPClassSelect::GetRuntimeTypeInfo +80825770 GPClassSelectPage_cpp_sinit_ +80825784 Pages::CourseSelect::GetPageById +80825894 Pages::CourseSelect::OnInit +80825930 Pages::CourseSelect::CreateExternalControl +80825938 Pages::CourseSelect::CreateControl +80825a40 Pages::CourseSelect::OnActivate +80825b60 Pages::CourseSelect::BeforeEntranceAnimations +80825bac Pages::CourseSelect::AfterControlUpdate +80825cc8 Pages::CourseSelect::UpdateBottomText +80825dd0 Pages::CourseSelect::LoadNextPage +80825fe4 Pages::CourseSelect::OnButtonClick +8082604c Pages::CourseSelect::OnExternalButtonSelect +80826050 Pages::CourseSelect::OnButtonDeselect +80826054 Pages::CourseSelect::OnBackPress +808260bc Pages::CourseSelect::BeforeExitAnimations +80826118 Pages::CourseSelect::OnDeactivate +80826140 Pages::CourseSelect::OnTimeout +80826214 Pages::CourseSelect::GetPlayerBitfield +8082621c Pages::CourseSelect::GetActivePlayerBitfield +80826224 Pages::CourseSelect::SetButtonHandlers +80826280 Pages::CourseSelect::__dt +8082636c Pages::CourseSelect::GetRuntimeTypeInfo +80826378 Pages::CourseSelect::_sinit_ +8082638c Pages::CupSelect::GetPageById +8082649c Pages::CupSelect::OnInit +808265a0 Pages::CupSelect::CreateExternalControl +808265a8 Pages::CupSelect::CreateControl +808266b0 Pages::CupSelect::OnActivate +80826a50 Pages::CupSelect::GetManipulatorManager +80826a58 Pages::CupSelect::AfterControlUpdate +80826bb4 Pages::CupSelect::UpdateText +80826ce4 Pages::CupSelect::LoadNextPage +80826e88 Pages::CupSelect::OnButtonClick +808270ec Pages::CupSelect::OnExternalButtonSelect +808270f0 Pages::CupSelect::OnButtonDeselect +808270f4 Pages::CupSelect::OnBackPress +80827384 Pages::CupSelect::OnResume +80827598 Pages::CupSelect::OnDeactivate +808275c0 Pages::CupSelect::BeforeEntranceAnimations +8082761c Pages::CupSelect::BeforeExitAnimations +80827678 Pages::CupSelect::OnTimeout +80827774 Pages::CupSelect::GetPlayerBitfield +8082777c Pages::CupSelect::GetActivePlayerBitfield +80827784 Pages::CupSelect::SetButtonHandlers +808277e0 Pages::CupSelect::__dt +808278d4 0x808278d4 +808278e0 0x808278e0 +808278f4 Pages::KartSelect::GetPageById +80827a04 ButtonMachine::GetClassName +80827a10 Pages::KartSelect::GetVehicleID +80827a88 Pages::KartSelect::GetUnlockedVehiclesCountByWeightAndType +80827b04 Pages::KartSelect::GetUnlockedVehiclesCountByWeight +80827be4 Pages::KartSelect::GetMinUnlockedVehiclesCount +80827e90 Pages::KartSelect::OnInit +80828270 Pages::KartSelect::CreateExternalControl +80828278 Pages::KartSelect::CreateControl +808285dc Pages::KartSelect::SetButtonHandlers +80828638 Pages::KartSelect::OnActivate +80829b44 Pages::KartSelect::GetManipulatorManager +80829b4c Pages::KartSelect::GetLocalPlayerCount +80829b54 Pages::KartSelect::AfterControlUpdate +80829d44 Pages::KartSelect::OnButtonClick +80829fcc Pages::KartSelect::OnExternalButtonSelect +8082a0e4 Pages::KartSelect::OnButtonSelect +8082a0e8 Pages::KartSelect::OnBackPress +8082a1bc Pages::KartSelect::GetExternalControl +8082a2ec Pages::KartSelect::GetButtonMachineById +8082a46c Pages::KartSelect::InitButtonMachine +8082a584 Pages::KartSelect::8084745c +8082a6b8 Pages::KartSelect::80847590 +8082a758 Pages::KartSelect::BeforeEntranceAnimations +8082a7b8 Pages::KartSelect::BeforeExitAnimations +8082a818 ButtonMachine::OnUpdate +8082a938 ButtonMachine::InitSelf +8082aa1c zz_8478f4 +8082ad14 Pages::KartSelect::GetPlayerBitfield +8082ad1c Pages::KartSelect::__dt +8082adb8 Pages::KartSelect::GetRuntimeTypeInfo +8082adc4 ButtonMachine::GetRuntimeTypeInfo +8082add0 ButtonMachine::__dt +8082ae28 KartSelect_cpp_sinit +8082ae4c Pages::MiiSelect::GetPageById +8082af5c MiiName::GetClassName +8082af68 Pages::MiiSelect::OnINit +8082b16c Pages::MiiSelect::GetManipulatorManager +8082b174 Pages::MiiSelect::CreateExternalControl +8082b2f4 Pages::MiiSelect::GetActivePlayerBitfield +8082b2fc Pages::MiiSelect::SetButtonHandlers +8082b358 Pages::MiiSelect::CreateControl +8082b690 Pages::MiiSelect::OnActivate +8082b910 Pages::MiiSelect::AfterControlUpdate +8082b914 Pages::MiiSelect::OnButtonClick +8082bc10 Pages::MiiSelect::OnExternalButtonSelect +8082bc80 Pages::MiiSelect::OnButtonDeselect +8082bc88 Pages::MiiSelect::OnBackPress +8082bcfc Pages::MiiSelect::OnDeactivate +8082bd10 Pages::MiiSelect::OnRightArrowPress +8082be68 Pages::MiiSelect::OnLeftArrowPress +8082bf6c Pages::MiiSelect::OnTabButtonClick +8082c0bc Pages::MiiSelect::SetMiiIcons +8082c35c Pages::MiiSelect::GetCurTabMiiCount +8082c3ac MiiName::InitSelf +8082c570 Pages::MiiSelect::GetPlayerBitfield +8082c578 Pages::MiiSelect::__dt +8082c620 Pages::MiiSelect::GetRuntimeTypeInfo +8082c62c MiiName::GetRuntimeTypeInfo +8082c638 Pages::MiiSelect::TriggerTabPtmf +8082c668 Pages::MiiSelect::TriggerSheetPtmf +8082c698 MiiSelect_cpp_sinit_ +8082c6bc Pages::MultiKartSelect::GetPageById +8082c7cc Pages::MultiKartSelect::OnInit +8082ca68 Pages::MultiKartSelect::CreateExternalControl +8082ca70 Pages::MultiKartSelect::CreateControl +8082cd4c Pages::MultiKartSelect::OnActivate +8082cea8 Pages::MultiKartSelect::AfterControlUpdate +8082cf8c Pages::MultiKartSelect::GetManipulatorManager +8082cf94 Pages::MultiKartSelect::OnButtonClick +8082d088 Pages::MultiKartSelect::OnExternalButtonSelect +8082d08c Pages::MultiKartSelect::OnButtonDeselect +8082d090 Pages::MultiKartSelect::OnBackPress +8082d228 Pages::MultiKartSelect::OnUpDownClick +8082d3cc Pages::MultiKartSelect::OnUpDownChange +8082d3d0 Pages::MultiKartSelect::OnTextChange +8082d520 Pages::MultiKartSelect::FillPossibleKarts +8082d6ec 0x8082d6ec +8082d790 Pages::MultiKartSelect::BeforeEntranceAnimations +8082d838 Pages::MultiKartSelect::BeforeExitAnimations +8082d8e0 Pages::MultiKartSelect::GetPlayerBitfield +8082d8e8 Pages::MultiKartSelect::GetActivePlayerBitfield +8082d8f0 Pages::MultiKartSelect::SetButtonHandlers +8082d94c Pages::MultiKartSelect::__dt +8082da2c Pages::MultiKartSelect::GetRuntimeTypeInfo +8082da38 TriggerPtmf +8082da68 TriggerPtmf +8082da98 TriggerPtmf +8082dac8 MultiTeamSelectPage_cpp_sinit_ +8082dadc Pages::MultiPlayer::GetPageById +8082dbec Pages::MultiPlayer::OnINit +8082dc4c Pages::MultiPlayer::CreateExternalControl +8082dd94 Pages::MultiPlayer::CreateControl +8082dd9c Pages::MultiPlayer::OnActivate +8082dec4 Pages::MultiPlayer::AfterControlUpdate +8082dec8 Pages::MultiPlayer::OnButtonClick +8082e0e8 Pages::MultiPlayer::OnExternalButtonSelect +8082e568 Pages::MultiPlayer::OnButtonDeselect +8082e56c Pages::MultiPlayer::OnBackPress +8082e5c0 Pages::MultiPlayer::OnDeactivate +8082e5c4 Pages::MultiPlayer::GetPlayerBifield +8082e5cc Pages::MultiPlayer::GetActivePlayerBitfield +8082e5d4 Pages::MultiPlayer::SetButtonHandlers +8082e630 Pages::MultiPlayer::GetManipulatorManager +8082e638 Pages::MultiPlayer::__dt +8082e6b8 Pages::MultiPlayer::GetRuntimeTypeInfo +8082e6c4 MultiPlayerPage_cpp_sinit_ +8082e6d8 DriftSelectPage:GetPageById +8082e7e8 Pages::DriftSelect::OnInit +8082e8cc Pages::DriftSelect::GetManipulatorManager +8082e8d4 Pages::DriftSelect::CreateExternalControl +8082eb20 Pages::DriftSelect::CreateControl +8082eb28 Pages::DriftSelect::OnActivate +8082ec48 Pages::DriftSelect::AfterControlUpdate +8082ed74 Pages::DriftSelect::OnButtonClick +8082f0a8 Pages::DriftSelect::OnExternalButtonSelect +8082f0e0 Pages::DriftSelect::OnButtonDeselect +8082f0e4 Pages::DriftSelect::OnBackPress +8082f0f0 Pages::DriftSelect::OnDeactivate +8082f13c Pages::DriftSelect::GetPlayerBitfield +8082f144 Pages::DriftSelect::GetActivePlayerBitfield +8082f14c Pages::DriftSelect::SetButtonHandlers +8082f1a8 Pages::DriftSelect::__dt +8082f228 Pages::DriftSelect::GetRuntimeTypeInfo +8082f234 DriftSelectPage_cpp_sinit_ +8082f248 Pages::TopMenuOverlay::GetPageById +8082f358 Pages::TopMenuOverlay::CreateControl +8082f738 Pages::TopMenuOverlay::vf_0x98 +8082f740 Pages::TopMenuOverlay::GetPlayerBitfield +8082f748 Pages::TopMenuOverlay::GetActivePlayerBitfield +8082f750 Pages::TopMenuOverlay::GetManipulatorManager +8082f758 Pages::TopMenuOverlay::__dt +8082f7d8 Pages::TopMenuOverlay::GetRuntimeTypeInfo +8082f7e4 TopMenuOverlayPagecpp_sinit_ +8082f7f8 Pages::SinglePlayer::GetPageById +8082f908 Pages::SinglePlayer::OnInit +8082f9a8 Pages::SinglePlayer::GetManipulatorManager +8082f9b0 Pages::SinglePlayer::CreateExternalControl +8082faf4 Pages::SinglePlayer::CreateControl +8082fafc Pages::SinglePlayer::OnActivate +8082fc80 Pages::SinglePlayer::AfterControlUpdate +8082fc84 Pages::SinglePlayer::OnButtonClick +80830074 Pages::SinglePlayer::OnExternalButtonSelect +80830520 Pages::SinglePlayer::OnButtonDeselect +80830524 Pages::SinglePlayer::OnBackPress +80830578 Pages::SinglePlayer::OnDeactivate +8083057c Pages::SinglePlayer::GetPlayerBitfield +80830584 Pages::SinglePlayer::GetActivePlayerBitfield +8083058c Pages::SinglePlayer::SetButtonHandlers +808305e8 Pages::SinglePlayer::__dt +80830668 Pages::SinglePlayer::GetRuntimeTypeInfo +80830674 SinglePlayerPage_cpp_sinit_ +80830688 Pages::VSTeamsView::GetPageById +80830798 Pages::VSTeamsView::OnInit +8083079c Pages::VSTeamsView::CreateExternalControl +8083082c Pages::VSTeamsView::CreateControl +80830894 Pages::VSTeamsView::OnActivate +80830898 Pages::VSTeamsView::AfterControlUpdate +8083089c Pages::VSTeamsView::OnButtonClick +8083096c Pages::VSTeamsView::OnExternalButtonSelect +808309a4 Pages::VSTeamsView::OnButtonDeselect +808309a8 Pages::VSTeamsView::OnBackPress +808309b4 Pages::VSTeamsView::AssignTeams +80830b8c Pages::VSTeamsView::GetPlayerBitfield +80830b94 Pages::VSTeamsView::GetActivePlayerBitfield +80830b9c Pages::VSTeamsView::SetButtonHandlers +80830bf8 Pages::VSTeamsView::GetManipulatorManager +80830c00 Pages::VSTeamsView::__dt +80830c98 Pages::VSTeamsView::GetRuntimeTypeInfo +80830ca4 VSTeamsViewPage_cpp_sinit_ +80830cb8 Pages::MainMenu::GetPageById +80830dc8 Pages::MainMenu::OnInit +80830ec8 Pages::MainMenu::GetManipulatorManager +80830ed0 Pages::MainMenu::CreateExternalControl +80830f6c Pages::MainMenu::CreateControl +80831740 Pages::MainMenu::SetButtonHandlers +8083179c Pages::MainMenu::OnActivate +80831af4 Pages::MainMenu::AfterControlUpdate +80831af8 Pages::MainMenu::OnButtonClick +80831f08 Pages::MainMenu::OnExternalButtonSelect +80831f8c Pages::MainMenu::OnButtonDeselect +80832098 Pages::MainMenu::OnBackPress +808320a8 Pages::MainMenu::ResetSectionParamsAndRacedataScenario1 +80832574 Pages::MainMenu::OnDeactivate +80832578 Pages::MainMenu::ShowMessageBox +80832670 Pages::MainMenu::GetPlayerBitfield +80832678 Pages::MainMenu::GetActivePlayerBitfield +80832680 Pages::MainMenu::__dt +80832718 Pages::VSModeSelect::GetRuntimeTypeInfo +80832724 VSModeSelectPage_cpp_sinit_ +80832738 Pages::VSSettings::GetPageById +80832848 Pages::VSSettings::OnInit +80832ae0 Pages::VSSettings::CreateExternalControl +80832b70 Pages::VSSettings::CreateControl +80833004 Pages::VSSettings::OnActivate +80833108 Pages::VSSettings::AfterControlUpdate +8083310c Pages::VSSettings::OnButtonClick +8083313c Pages::VSSettings::OnExternalButtonSelect +80833168 Pages::VSSettings::OnButtonDeselect +8083316c Pages::VSSettings::OnBackPress +808331cc Pages::VSSettings::OnRadioClick +80833354 Pages::VSSettings::OnRadioChange +808333d4 Pages::VSSettings::OnUpDownClick +80833440 Pages::VSSettings::OnUpDownSelect +80833450 Pages::VSSettings::OnUpDownChange +808334c8 Pages::VSSettings::OnTextChange +80833544 Pages::VSSettings::OnDispose +80833554 Pages::VSSettings::GetPlayerBitfield +8083355c Pages::VSSettings::GetLocalPlayerCount +80833564 Pages::VSSettings::SetButtonHandlers +808335c0 Pages::VSSettings::GetManipulatorManager +808335c8 Pages::VSSettings::__dt +80833690 Pages::VSSettings::GetRuntimeTypeInfo +8083369c Pages::VSSettings::TriggerUpDown3APtmf +808336cc Pages::VSSettings::TriggerRadioPtmf +808336fc Pages::VSSettings::TriggerTextPtmf +8083372c Pages::VSSettings::TriggerUpDown2APtmf +8083375c UnlockPage_cpp_sinit_ +80833770 Pages::RaceIntro::OnInit +80833bb4 Pages::RaceIntro::__dt +80833c34 Pages::RaceIntro::GetRuntimeTypeInfo +80833c40 RaceIntroPage_cpp_sinit_ +80833c54 Pages::TTSplits::__ct +80833dc4 Pages::TTSplits::Unload +80833dd4 Pages::TTSplits::__dt +80833e94 Pages::TTSplits::OnInit +8083404c Pages::TTSplits::AfterControlUpdate +808340a0 Pages::TTSplits::BeforeEntranceAnimations +808346dc Pages::TTSplits::BeforeExitAnimations +8083474c Pages::TTSplits::GetNextPage +80834798 Pages::TTSplits::GetRuntimeTypeInfo +808347a4 Pages::TTSplits::TriggerAction +808347d4 Pages::TTSplits::_sinit_ +808347e8 Pages::RaceHUD::OnInit +80834bd4 Pages::RaceHUD::InitActions +80834f1c Pages::RaceHUD::OnNextPlayerSwitch +80834f24 Pages::RaceHUD::OnPrevPlayerSwitch +80834f2c Pages::RaceHUD::OnPause +808350e4 Pages::RaceHUD::ChangeFocusedPlayer +8083523c Pages::RaceHUD::GetLocalPlayerCount +8083525c Pages::RaceHUD::BeforeControlUpdate +80835844 Pages::RaceHUD::HasPlayerRaceEnded +8083589c Pages::RaceHUD::HasRaceEndedReplay +8083591c Pages::RaceHUD::HasRaceEnded +80835a28 Pages::RaceHUD::AfterControlUpdate +80836038 0x80836038 +80836078 Pages::RaceHUD::GetCtrlRaceBaseCount +80836230 Pages::RaceHUD::InitCtrlRaceBase +80836d98 CtrlRaceCount::__ct +80836dd4 RaceBalloons::__dt +80836e3c CtrlRaceNameBalloon::__ct +80836e8c CtrlRaceItemBalloon::__ct +80836edc Pages::TournamentHUD::GetEnabledCtrlRaceBases +80836f88 Pages::RaceHUD::OnDeactivate +80836f94 Pages::RaceHUD::OnDispose +80836fa4 Pages::RaceHUD::ChangeSectionByReinit +80836fc0 Pages::RaceHUD::OnItemObjTargeting +80837054 Pages::RaceHUD::UpdateRaceBalloons +808370f8 Pages::TournamentHUD::GetCtrlRaceNameBalloonCount +80837100 Pages::TournamentHUD::GetPausePageId +80837108 Pages::TournamentHUD::__dt +80837174 Pages::TournamentHUD::GetRuntimeTypeInfo +80837180 Pages::RaceHUD::GetRuntimeTypeInfo +8083718c TriggerPtmf +808371bc 0x808371bc +80837214 Pages::RaceMenu::__ct +808372d0 Pages::RaceMenu::OnInit +80837f9c Pages::RaceMenu::OnActivate +80838408 Pages::RaceMenu::AfterControlUpdate +808384a0 Pages::RaceMenu::BeforeEntranceAnimations +808384a4 Pages::RaceMenu::BeforeExitAnimations +80838510 Pages::RaceMenu::OnDeactivate +80838514 Pages::RaceMenu::OnDispose +808385ac 0x808385ac +80838608 Pages::RaceMenu::OnStartPress +80838664 Pages::RaceMenu::OnButtonClick +80838730 0x80838730 +80838778 0x80838778 +80838808 0x80838808 +80838af0 0x80838af0 +80838b50 0x80838b50 +80838bec 0x80838bec +80838c4c 0x80838c4c +80838d7c 0x80838d7c +80838f20 0x80838f20 +808391c4 0x808391c4 +80839594 0x80839594 +80839648 0x80839648 +808396fc 0x808396fc +8083992c 0x8083992c +808399d8 0x808399d8 +80839a2c 0x80839a2c +80839ad8 0x80839ad8 +80839b58 0x80839b58 +80839c48 0x80839c48 +80839cac 0x80839cac +80839d2c 0x80839d2c +80839d8c 0x80839d8c +80839e38 0x80839e38 +80839ea0 0x80839ea0 +80839f4c 0x80839f4c +80839fb4 0x80839fb4 +8083a060 0x8083a060 +8083a180 Pages::RaceMenu::IsFinalRace +8083a2c8 Pages::RaceMenu::GetRuntimeTypeInfo +8083a2d4 TriggerPtmf +8083a304 TriggerPtmf +8083a334 0x8083a334 +8083a3b4 Pages::Leaderboard::__ct +8083a504 Pages::Leaderboard::OnActivate +8083a5e0 0x8083a5e0 +8083a634 Pages::Leaderboard::AfterControlUpdate +8083a6dc 0x8083a6dc +8083a900 Pages::Leaderboard::GetRuntimeTypeInfo +8083a90c TriggerPtmf +8083a93c 0x8083a93c +8083a950 Pages::TeamVSLeaderboardBase::OnInit +8083aa7c Pages::TeamVSLeaderboardBase::AfterControlUpdate +8083aad8 Pages::TeamVSLeaderboardBase::CanEnd +8083ab38 Pages::TeamVSLeaderboardBase::CalcTeamScoreDiff +8083acc0 Pages::TeamVSLeaderboardTotal::FillRows +8083ad30 Pages::BattleLeaderboardTotal::FillRows +8083ad40 Pages::BattleLeaderboardUpdate::FillRows +8083b090 Pages::TeamVSLeaderboardTotal::GetNextPage +8083b0c0 Pages::BattleLeaderboardUpdate::GetNextPage +8083b0f0 Pages::BattleLeaderboardTotal::GetNextPage +8083b18c Pages::BattleLeaderboardTotal::__dt +8083b218 Pages::BattleLeaderboardTotal::GetRuntimeTypeInfo +8083b224 Pages::BattleLeaderboardUpdate::__dt +8083b2b0 Pages::BattleLeaderboardUpdate::GetRuntimeTypeInfo +8083b2bc Pages::TeamVSLeaderboardTotal::__dt +8083b348 Pages::TeamVSLeaderboardTotal::GetRuntimeTypeInfo +8083b354 Pages::TeamVSLeaderboardBase::GetRuntimeTypeInfo +8083b360 TeamLeaderboard_cpp_sinit_ +8083b388 RacePauseMgr::CreateInstance +8083b3e8 RacePauseMgr::__ct +8083b400 RacePauseMgr::DestroyInstance +8083b450 RacePauseMgr::__dt +8083b490 RacePauseMgr::RequestPause +8083b4b4 RacePauseMgr::RequestUnpause +8083b4d8 0x8083b4d8 +8083b50c 0x8083b50c +8083b514 0x8083b514 +8083b5b8 0x8083b5b8 +8083b608 0x8083b608 +8083b610 0x8083b610 +8083b618 0x8083b618 +8083b630 0x8083b630 +8083b664 0x8083b664 +8083b66c 0x8083b66c +8083b674 0x8083b674 +8083b67c 0x8083b67c +8083b684 0x8083b684 +8083b68c 0x8083b68c +8083b694 0x8083b694 +8083b69c 0x8083b69c +8083b6a4 0x8083b6a4 +8083b6ac 0x8083b6ac +8083b6b4 0x8083b6b4 +8083b6bc 0x8083b6bc +8083b6c4 0x8083b6c4 +8083b6cc 0x8083b6cc +8083b6d4 0x8083b6d4 +8083b6dc 0x8083b6dc +8083b6e4 0x8083b6e4 +8083b6ec 0x8083b6ec +8083b6f4 0x8083b6f4 +8083b6fc 0x8083b6fc +8083b70c 0x8083b70c +8083b740 0x8083b740 +8083b748 0x8083b748 +8083b750 0x8083b750 +8083b758 0x8083b758 +8083b768 0x8083b768 +8083b784 0x8083b784 +8083b788 0x8083b788 +8083b790 0x8083b790 +8083b798 0x8083b798 +8083b7a0 0x8083b7a0 +8083b7a8 0x8083b7a8 +8083b7b0 0x8083b7b0 +8083b7b8 0x8083b7b8 +8083b7c0 0x8083b7c0 +8083b7d0 0x8083b7d0 +8083b7fc 0x8083b7fc +8083b804 0x8083b804 +8083b824 0x8083b824 +8083b828 0x8083b828 +8083b838 IsOnlineSection +8083b874 IsGhostRaceSection +8083b894 IsTournamentSection +8083b8b4 GetActiveRacedataPlayers +8083b9b0 GetLocalPlayerCount +8083b9c8 0x8083b9c8 +8083ba40 0x8083ba40 +8083ba58 GetNextVSTrack +8083ba84 0x8083ba84 +8083bac0 0x8083bac0 +8083bbe0 0x8083bbe0 +8083bc98 TimerToTextInfo +8083bdb0 IsGameplaySection +8083bddc 0x8083bddc +8083be40 IsBattle +8083be80 GetCharacterIconPaneName +8083bea4 GetItemIconPaneName +8083bf08 GetCupIconPaneName +8083bf3c 0x8083bf3c +8083bf70 GetBattleCupIconPaneName +8083bfa4 0x8083bfa4 +8083c1bc GetMapIconPaneName +8083c2e0 0x8083c2e0 +8083c6f0 CtrlMenuBattleCupSelectCup::GetClassName +8083c6fc CtrlMenuBattleCupSelectStage::GetClassName +8083c70c CtrlMenuBattleCupSelectCup::Load +8083c904 CtrlMenuBattleCupSelectCup::OnInit +8083ca44 CtrlMenuBattleCupSelectCup::OnCupButtonSelect +8083cb14 CtrlMenuBattleCupSelectCup::OnCupButtonClick +8083cb74 CtrlMenuBattleCupSelectStage::Load +8083cc98 CtrlMenuBattleCupSelectStage::UpdateStageList +8083cd84 CtrlMenuBattleCupSelectStage::InitSelf +8083ce88 CtrlMenuBattleCupSelectStage::OnUpdate +8083cffc CtrlMenuBattleCupSelectStage::GetRuntimeTypeInfo +8083d008 CtrlMenuBattleCupSelectCup::GetRuntimeTypeInfo +8083d014 CtrlMenuBattleCup::_sinit_ +8083d030 CtrlMenuBattleStageSelectCupSub::GetClassName +8083d03c CtrlMenuBattleStageSelectCup::GetClassName +8083d04c CtrlMenuBattleStageSelectStage::GetClassName +8083d05c StageButton::GetClassName +8083d06c CtrlMenuBattleStageSelectCup::Load +8083d1f8 CtrlMenuBattleStageSelectCup::InitSelf +8083d2fc CtrlMenuBattleStageSelectCupSub::SetRelativePosition +8083d380 CtrlMenuBattleStageSelectCupSub::InitSelf +8083d41c CtrlMenuBattleStageSelectCupSub::OnUpdate +8083db2c Pages::BattleStageSelect::GetManipulatorManager +8083db34 CtrlMenuBattleStageSelectStage::Load +8083dc84 CtrlMenuBattleStageSelectStage::InitSelf +8083e068 CtrlMenuBattleStageSelectStage::OnStageButtonClick +8083e0c0 CtrlMenuBattleStageSelectStage::OnStageButtonSelect +8083e2bc CtrlMenuBattleStageSelectStage::GetRuntimeTypeInfo +8083e2c8 StageButton::GetRuntimeTypeInfo +8083e2d4 0x8083e2d4 +8083e2e0 0x8083e2e0 +8083e2ec 0x8083e2ec +8083e318 0x8083e318 +8083e320 0x8083e320 +8083e328 0x8083e328 +8083e330 0x8083e330 +8083e33c 0x8083e33c +8083e34c 0x8083e34c +8083e594 0x8083e594 +8083e744 0x8083e744 +8083e864 0x8083e864 +8083e8c4 0x8083e8c4 +8083ea4c 0x8083ea4c +8083eb38 0x8083eb38 +8083ec58 0x8083ec58 +8083ec5c 0x8083ec5c +8083ec68 0x8083ec68 +8083ec74 0x8083ec74 +8083ec90 CtrlMenuMRStageSelectLevelSub::GetClassName +8083ec9c CtrlMenuMRStageSelectLevel::GetClassName +8083ecac CtrlMenuMRStageSelectStage::GetClassName +8083ecbc MRStageButton::GetClassName +8083eccc MissionStageSelectLevel::OnInit +8083ee98 0x8083ee98 +8083efb8 0x8083efb8 +8083f010 0x8083f010 +8083f06c CtrlMenuMRStageSelectLevelSub::OnUpdate +8083f2c8 0x8083f2c8 +8083f2d0 MissionStageSelectStage::OnInit +8083f504 0x8083f504 +8083f6dc 0x8083f6dc +8083f734 0x8083f734 +8083f8e0 0x8083f8e0 +8083f8ec 0x8083f8ec +8083f8f8 0x8083f8f8 +8083f904 CtrlMenuMRStageSelectLevelSub::GetRuntimeTypeInfo +8083f910 0x8083f910 +8083f93c 0x8083f93c +8083f944 0x8083f944 +8083f94c 0x8083f94c +8083f954 CtrlMenuMachineGraph::GetClassName +8083f960 CtrlMenuMachineGraph::Load +8083fcb0 MachineAbility::__ct +8083fcec MachineAbility::__dt +8083fd44 CtrlMenuMachineGraph::OnUpdate +8083fd48 CtrlMenuMachineGraph::OnLoad +8083fe6c MachineAbility::InitSelf +80840040 CtrlMenuMachineGraph::GetRuntimeTypeInfo +8084004c CtrlMenuMachineGraph_cpp_sinit +80840060 CtrlMenuMovieHandler::Toggle +808400b0 CtrlMenuMovieHandler::IsMirror +808401f8 CtrlMenuMovieButton::GetPaneNames +80840204 CtrlMenuMovieLayout::GetPaneNames +80840210 CtrlMenuSingleTopMovieButton::GetPaneNames +8084021c CtrlMenuMovieButton::GetClassName +80840228 CtrlMenuMovieButton::OnLoad +808403d0 MovieScale::__ct +808403d4 CtrlMenuMovieButton::InitSelf +808405c0 CtrlMenuMovieButton::OnUpdate +808406c4 CtrlMenuSingleTopMovieButton::GetClassName +808406d4 CtrlMenuSingleTopMovieButton::OnLoad +8084087c CtrlMenuSingleTopMovieButton::GetMovieCount +80840884 CtrlMenuSingleTopMovieButton::InitSelf +80840a70 CtrlMenuSingleTopMovieButton::OnUpdate +80840b74 CtrlMenuMovieLayout::GetClassName +80840b84 CtrlMenuMovieLayout::OnLoad +80840d2c CtrlMenuMovieLayout::GetMovieCount +80840d34 CtrlMenuMovieLayout::InitSelf +80840f20 CtrlMenuMovieLayout::OnUpdate +80841024 CtrlMenuMovieLayout::GetRuntimeTypeInfo +80841030 CtrlMenuSingleTopMovieButton::GetRuntimeTypeInfo +8084103c CtrlMenuSingleTopMovieButton::__dt +80841098 CtrlMenuMovieButton::GetRuntimeTypeInfo +808410a4 CtrlMenuMovie_cpp_sinit_ +808410cc CtrlMenuMovieButton::__dt(PushButton) +808410d4 CtrlMenuMovieButton::GetClassName(PushButton) +808410dc CtrlMenuMovieButton::GetRuntimeTypeInfo(PushButton) +808410e4 CtrlMenuSingleTopMovieButton::OnUpdate(PushButton) +808410ec CtrlMenuSingleTopMovieButton::InitSelf(PushButton) +808410f4 CtrlMenuSingleTopMovieButton::OnLoad(PushButton) +808410fc CtrlMenuSingleTopMovieButton::__dt(PushButton) +80841104 CtrlMenuSingleTopMovieButton::GetClassName(PushButton) +8084110c CtrlMenuSingleTopMovieButton::GetRuntimeTypeInfo(PushButton) +80841114 CtrlMenuMovieLayout::OnUpdate(LayoutUIControl) +8084111c CtrlMenuMovieLayout::InitSelf(LayoutUIControl) +80841124 CtrlMenuMovieLayout::__dt(LayoutUIControl) +8084112c CtrlMenuMovieLayout::GetClassName(LayoutUIControl) +80841134 CtrlMenuMovieLayout::GetRuntimeTypeInfo(LayoutUIControl) +8084113c CtrlMenuBackButton::GetClassName +80841148 CtrlMenuDummyBack::GetClassName +80841158 CtrlMenuPageTitleText::GetClassName +80841168 CtrlMenuInstructionText::GetClassName +80841178 CtrlMenuObiTop::GetClassName +80841188 CtrlMenuObiBottom::GetClassName +80841198 CtrlMenuBackButton::OnUpdate +808412e0 CtrlMenuBackButton::OnInit +80841338 CtrlMenuBackButton::SetPositionAnim +808413a4 CtrlMenuPageTitleTextText::Load +80841538 CtrlMenuBackButton::SetPlayerBitfield +80841548 CtrlMenuDummyBack::Load +8084164c CtrlMenuDummyBack::OnUpdate +808417a4 CtrlMenuPageTitleText::SetMessage +808417c0 CtrlMenuPageTitleText::SetPositionAnim +8084182c CtrlMenuInstructionText::Load +808418c4 CtrlMenuInstructionText::SetPositionAnim +80841960 CtrlMenuInstructionText::SetMessage +80841990 CtrlMenuObiTop::SetPositionAnim +808419e8 0x808419e8 +80841a40 0x80841a40 +80841a98 0x80841a98 +80841aa4 CtrlMenuObiTop::__dt +80841afc CtrlMenuObiTop::GetRuntimeTypeInfo +80841b08 0x80841b08 +80841b14 CtrlMenuPageTitleText::GetRuntimeTypeInfo +80841b20 CtrlMenuDummyBack::GetRuntimeTypeInfo +80841b2c CtrlMenuBackButton::GetRuntimeTypeInfo +80841b38 CtrlMenuText_cpp_sinit_ +80841b6c CtrlRaceBattleSetPoint::GetClassName +80841b78 CtrlRaceBattleSetPoint::Load +80841c8c CtrlRaceBattleSetPoint::InitSelf +80841fac CtrlRaceBattleSetPoint::__dt +80842004 CtrlRaceBattleSetPoint::GetRuntimeTypeInfo +80842010 CtrlRaceCount_cpp_sinit +80842024 CtrlRaceGhostDiffTime::GetClassName +80842030 CtrlRaceGhostDiffTime::Init +808420e4 CtrlRaceGhostDiffTime::OnUpdate +8084235c CtrlRaceGhostDiffTime::AddTimers +808423fc CtrlRaceGhostDiffTime::SubtractTimers +8084247c CtrlRaceGhostDiffTime::Load +8084252c CtrlRaceGhostDiffTime::__dt +808425b0 0x808425b0 +808425bc 0x808425bc +808425d0 0x808425d0 +808425dc 0x808425dc +8084264c 0x8084264c +80842650 0x80842650 +80842654 0x80842654 +80842664 0x80842664 +808426b8 0x808426b8 +8084276c 0x8084276c +808427fc 0x808427fc +80842858 0x80842858 +80842864 0x80842864 +808428c0 0x808428c0 +808428cc 0x808428cc +808428e8 CtrlRaceScore::GetClassName +808428f4 CtrlRaceScore::InitSelf +80842a48 CtrlRaceScore::OnUpdate +80842b10 CtrlRaceScore::Load +80842b6c CtrlRaceScore::SetMessage +80842d44 CtrlRaceScore::__dt +80842da0 CtrlRaceTime::GetRuntimeTypeInfo +80842dac CtrlRaceTime_cpp_sinit_ +80842dc0 CtrlRaceWifiStartMessage::GetClassName +80842dcc CtrlRaceWifiStartMessage::Load +80842fdc CtrlRaceWifiStartMessage::HasStarted +80843010 CtrlRaceWifiStartMessage::IsInactive +80843020 CtrlRaceWifiStartMessage::SetPanePosition +8084306c CtrlRaceWifiStartMessage::OnUpdate +8084307c CtrlRaceWifiFinishMessage::GetClassName +8084308c CtrlRaceWifiFinishMessage::Load +80843140 CtrlRaceWifiFinishMessage::HasStarted +808431c0 CtrlRaceWifiFinishMessage::IsInactive +808431c8 CtrlRaceWifiFinishMessage::SetPanePosition +808433c4 CtrlRaceWifiFinishMessage::OnUpdate +808433d4 CtrlRaceWaitSymbol::GetClassName +808433e4 CtrlRaceWaitSymbol::Load +808434a0 CtrlRaceWaitSymbol::HasStarted +808434d4 CtrlRaceWaitSymbol::IsInactive +808434e4 CtrlRaceWaitSymbol::SetPanePosition +80843530 CtrlRaceWaitSymbol::OnUpdate +80843540 CtrlRaceWaitSymbol::GetPane +80843548 CtrlRaceWaitSymbol::__dt +808435a4 CtrlRaceWaitSymbol::GetRuntimeTypeInfo +808435b0 CtrlRaceWifiFinishMessage::GetPane +808435b8 CtrlRaceWifiFinishMessage::__dt +80843614 CtrlRaceWifiFinishMessage::GetRuntimeTypeInfo +80843620 CtrlRaceWifiStartMessage::GetPane +80843628 CtrlRaceWifiStartMessage::__dt +80843684 CtrlRaceWifiStartMessage::GetRuntimeTypeInfo +80843690 CtrlRaceWifi_cpp_sinit_ +808436b0 GeoHitTableHolder::__ct +808437f4 0x808437f4 +808438a4 Objects::Airblock::LoadCollision +808439c4 Objects::Airblock::UpdateCollision +80843a90 Objects::Airblock::vf_0xb4 +80843b5c Objects::Airblock::GetCollisionDiameter +80843b84 Objects::Airblock::IsCollidingNoTerrainInfo +80843b88 Objects::Airblock::IsCollidingAddEntryNoTerrainInfo +80843b8c Objects::Airblock::vf_0xfc +80843b90 Objects::Airblock::IsCollidingAddEntry +80843b94 Objects::Airblock::IsCollidingNoTerrainInfoNoTriangleCheck(no radius) +80843ba4 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck(no radius) +80843bb4 Objects::Airblock::IsColliding(no radius) +80843bc4 Objects::Airblock::IsCollidingNoTriangleCheck(no radius) +80843bd4 Objects::Airblock::IsCollidingNoTerrainInfoNoTriangleCheck +80843bd8 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80843bdc Objects::Airblock::IsColliding +80843be0 Objects::Airblock::IsCollidingNoTriangleCheck +80843be4 Objects::Airblock::vf_0xc0 +80843bf4 Objects::Airblock::vf_0xc4 +80843c04 Objects::Airblock::vf_0xc8 +80843c14 Objects::Airblock::vf_0xcc +80843c24 Objects::Airblock::Update +80843c28 Objects::Airblock::GetPropertiesBitfield +80843c30 Objects::Airblock::__dt +80843c70 Objects::Airblock::IsCollidingNoTerrainInfoImpl +80843f34 Objects::Airblock::IsCollidingAddEntryNoTerrainInfoImplImpl +80844218 0x80844218 +8084483c Objects::Airblock::IsCollidingAddEntryImpl +80844e78 0x80844e78 +80844f40 0x80844f40 +8084506c 0x8084506c +80845090 0x80845090 +808452e8 0x808452e8 +8084548c 0x8084548c +808458ac 0x808458ac +80845b4c 0x80845b4c +80845c1c 0x80845c1c +80845c90 0x80845c90 +80845c9c 0x80845c9c +80845d34 0x80845d34 +80845d3c 0x80845d3c +80845d44 0x80845d44 +80845d84 0x80845d84 +80845d90 0x80845d90 +80845d98 0x80845d98 +80845da4 0x80845da4 +80845db0 0x80845db0 +80845df0 Objects::bblock::__dt +80845e30 Objects::DKturibashiGCc::__ct +80845ebc Objects::DKturibashiGCc::OnStart +80846008 Objects::DKturibashiGCc::Update +80846248 0x80846248 +80846328 0x80846328 +808464b8 Objects::DKturibashiGCc::UpdateOtherEntityPos +8084664c Objects::DKturibashiGCc::UpdateOtherEntityPosWithRot +80846810 Objects::DKturibashiGCc::vf_0x11c +80846818 Objects::DKturibashiGCc::vf_0x108 +80846824 Objects::DKturibashiGCc::AreItemsAllowed +8084682c Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo +80846830 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo +80846834 Objects::DKturibashiGCc::vf_0xfc +80846838 Objects::DKturibashiGCc::IsCollidingAddEntry +8084683c Objects::DKturibashiGCc::IsCollidingNoTerrainInfo(no radius) +8084684c Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfo(no radius) +8084685c Objects::DKturibashiGCc::vf_0xec(no radius) +8084686c Objects::DKturibashiGCc::IsCollidingAddEntry(no radius) +8084687c Objects::DKturibashiGCc::IsCollidingNoTerrainInfoNoTriangleCheck +80846880 Objects::DKturibashiGCc::IsCollidingAddEntryNoTerrainInfoNoTriangleCheck +80846884 Objects::DKturibashiGCc::IsColliding +80846888 Objects::DKturibashiGCc::IsCollidingNoTriangleCheck +8084688c Objects::DKturibashiGCc::vf_0xc0 +8084689c Objects::DKturibashiGCc::vf_0xc4 +808468ac Objects::DKturibashiGCc::vf_0xc8 +808468bc Objects::DKturibashiGCc::vf_0xcc +808468cc Objects::DKturibashiGCc::GetCollisionDiameter +808468e0 Objects::DKturibashiGCc::LoadAnimations +808468e4 Objects::DKturibashiGCc::vf_0xb4 +808468e8 Objects::DKturibashiGCc::UpdateCollision +808468ec 0x808468ec +808468f0 Objects::DKturibashiGCc::GetPropertiesBitfield +808468f8 Objects::DKturibashiGCc::__dt +80846938 0x80846938 +80846c84 0x80846c84 +80847008 0x80847008 +808474f4 Objects::DKturibashiGCc::IsCollidingImpl +80847a00 Objects::TownBridgeDS::__ct +80847b70 Objects::TownBridgeDS::LoadCollision +80847d2c Objects::TownBridgeDS::Update +80848294 0x80848294 +8084857c 0x8084857c +808485d4 0x808485d4 +808486a8 Objects::TownBridgeDS::CalcOtherEntityDistance +80848a64 Objects::TownBridgeDS::UpdateOtherEntityPosWithRot +80848e6c Objects::TownBridgeDS::vf_0x11c +80848e74 Objects::TownBridgeDS::vf_0x108 +80848e80 Objects::TownBridgeDS::AreItemsAllowed +80848e88 Objects::TownBridgeDS::GetPeriod +80848e94 Objects::TownBridgeDS::LoadAnimations +80848f1c Objects::TownBridgeDS::GetTransformationMatrix +80849290 Objects::TownBridgeDS::GetPropertiesBitfield +80849298 Objects::TownBridgeDS::__dt +808492d8 0x808492d8 +80849418 0x80849418 +80849610 0x80849610 +80849618 0x80849618 +8084978c 0x8084978c +80849814 0x80849814 +8084990c 0x8084990c +80849cd8 0x80849cd8 +80849ce0 0x80849ce0 +8084a010 0x8084a010 +8084a2d8 0x8084a2d8 +8084a688 0x8084a688 +8084aa84 0x8084aa84 +8084ab7c 0x8084ab7c +8084af74 0x8084af74 +8084af80 0x8084af80 +8084b010 0x8084b010 +8084b01c 0x8084b01c +8084b024 0x8084b024 +8084b064 MenuModelBRRESHandle::__ct +8084b07c MenuModelBRRESHandle::__dt +8084b0bc 0x8084b0bc +8084b138 MenuModelBRRESHandle::BindDriverBRRES +8084b328 MenuModelBRRESHandle::BindKartBRRES +8084b438 MenuModelBRRESHandle::BindBackBRRES +8084b52c DriverModelAnmCalculator::__dt +8084b56c MenuModelBRRESHandle::LoadDriverModel +8084b8a4 MenuModelBRRESHandle::LinkDriverAnim +8084bba0 MenuModelBRRESHandle::LoadKartModel +8084bcf4 MenuModelBRRESHandle::LoadBackModel +8084bdbc MenuModelBRRESHandle::MdlExists +8084bdcc Objects::WLscreenGC::__ct +8084be94 Objects::WLscreenGC::__dt +8084bf34 Objects::WLscreenGC::LoadModels +8084c0d8 Objects::WLscreenGC::OnStart +8084c0dc Objects::WLscreenGC::Update +8084c0e0 BackModelMgr::__ct +8084c1ac BackModelMgr::__dt +8084c1ec BackModelMgr::Start +8084c2d0 BackModelMgr::Update +8084c458 BackModelMgr::SetBackModel +8084c524 BackModelMgr::ToggleVisible +8084c538 MenuDriverModel::__ct +8084c590 MenuVehicleDisplayModel::__dt +8084c5d0 MenuDriverModel::Init +8084c768 0x8084c768 +8084c850 MenuDriverModel::SwitchState +8084cbe4 MenuDriverModel::Update +8084cd78 0x8084cd78 +8084ce0c 0x8084ce0c +8084ce58 MenuDriverModelMgr::__ct +8084d3e0 MenuDriverModel::__dt +8084d420 0x8084d420 +8084d488 MenuDriverModel::Update +8084d734 MenuModel::ToggleVisible +8084d758 MenuDriverModel::Draw +8084d914 MenuDriverModelMgr::TogglePlayerModel +8084d93c MenuDriverModelMgr::PrepareDriverOnKartAnms +8084d9d8 MenuDriverModel::SetPlayerCharacter +8084dd24 0x8084dd24 +8084ddd8 0x8084ddd8 +8084e124 0x8084e124 +8084e20c 0x8084e20c +8084e3fc 0x8084e3fc +8084e7cc 0x8084e7cc +8084e8ac MenuDriverModelMgr::__dt +8084e8ec MenuModel::Update +8084e8f0 MenuModel::Init +8084e8f4 DriverModelAnmCalculator::Determine +8084e9f8 DriverModelAnmCalculator::GetPrefix +8084eaf4 0x8084eaf4 +8084eb28 0x8084eb28 +8084eb30 0x8084eb30 +8084eb88 0x8084eb88 +8084ebe0 0x8084ebe0 +8084ec38 MenuKartModel::__ct +8084ec5c MenuKartModel::__dt +8084ec9c MenuKartModel::Load +8084ef18 MenuKartModel::Init +8084f434 MenuKartModel::Update +8084f7c0 MenuKartModelMgr::__ct +8084f994 0x8084f994 +8084f998 0x8084f998 +8084f9d8 MenuKartModelMgr::Load +8084fc70 0x8084fc70 +8084fce4 MenuKartModelMgr::Update +8084fe9c MenuKartModelMgr::Draw +8084ff68 MenuKartModelMgr::SetKartModel +8084ffc0 MenuKartModelMgr::Reset +80850084 MenuKartModelMgr::ToggleVisible +8085011c 0x8085011c +8085014c MenuKartModelMgr::GetMenuKartModel +80850178 0x80850178 +808501b8 Pages::BattleCupSelect::GetPageById +808502c8 Pages::BattleCupSelect::OnInit +80850340 Pages::BattleCupSelect::CreateExternalControl +80850348 Pages::BattleCupSelect::CreateControl +808503dc Pages::BattleCupSelect::OnActivate +8085074c Pages::BattleCupSelect::AfterControlUpdate +808508a8 Pages::BattleCupSelect::UpdateText +808508b4 Pages::BattleCupSelect::LoadNextPage +808509ec Pages::BattleCupSelect::OnButtonClick +80850c5c Pages::BattleCupSelect::OnExternalButtonSelect +80850c60 Pages::BattleCupSelect::OnButtonDeselect +80850c64 Pages::BattleCupSelect::OnBackPress +80850ed4 Pages::BattleCupSelect::OnResume +808510ec Pages::BattleCupSelect::OnDeactivate +808510f0 Pages::BattleCupSelect::BeforeEntranceAnimations +8085114c Pages::BattleCupSelect::BeforeExitAnimations +808511a8 Pages::BattleCupSelect::OnTimeout +808512a4 Pages::BattleCupSelect::GetPlayerBitfield +808512ac Pages::BattleCupSelect::GetActivePlayerBitfield +808512b4 Pages::BattleCupSelect::SetButtonHandlers +80851310 Pages::BattleCupSelect::GetManipulatorManager +80851318 Pages::BattleCupSelect::__dt +8085140c Pages::BattleCupSelect::GetRuntimeTypeInfo +80851418 BattleCupSelectPage_sinit_ +8085142c Pages::BattleKartSelect::GetPageById +8085153c Pages::BattleKartSelect::OnInit +80851550 Pages::BattleKartSelect::CreateExternalControl +80851638 Pages::BattleKartSelect::SetButtonHandlers +80851694 Pages::BattleKartSelect::CreateControl +808517b0 Pages::BattleKartSelect::OnActivate +80851ae4 Pages::BattleKartSelect::AfterControlUpdate +80851c70 Pages::BattleKartSelect::OnButtonClick +80851dfc Pages::BattleKartSelect::OnExternalButtonSelect +80851ed0 Pages::BattleKartSelect::OnButtonDeselect +80851ed8 Pages::BattleKartSelect::OnBackPress +80851fac Pages::BattleKartSelect::Func_8083ac54 +808520ac Pages::BattleKartSelect::Func_8083ad54 +80852294 Pages::BattleKartSelect::BeforeEntranceAnimations +808522f4 Pages::BattleKartSelect::BeforeExitAnimations +80852354 Pages::BattleKartSelect::GetPlayerBitfield +8085235c Pages::BattleKartSelect::GetLocalPlayerCount +80852364 Pages::BattleKartSelect::GetManipulatorManager +8085236c Pages::BattleKartSelect::__dt +80852418 0x80852418 +80852424 BattleSettingsPage_cpp_sinit_ +80852438 Pages::BattleStageSelect::GetPageById +80852548 Pages::BattleStageSelect::OnInit +80852598 Pages::BattleStageSelect::CreateExternalControl +808525a0 Pages::BattleStageSelect::CreateControl +80852634 Pages::BattleStageSelect::OnActivate +80852788 Pages::BattleStageSelect::BeforeEntranceAnimations +808527a8 Pages::BattleStageSelect::AfterControlUpdate +808528c4 Pages::BattleStageSelect::UpdateBottomText +808528c8 Pages::BattleStageSelect::LoadNextPage +808529fc Pages::BattleStageSelect::OnButtonClick +80852a34 Pages::BattleStageSelect::OnExternalButtonSelect +80852a38 Pages::BattleStageSelect::OnButtonDeselect +80852a3c Pages::BattleStageSelect::OnBackPress +80852a74 Pages::BattleStageSelect::BeforeExitAnimations +80852ad0 Pages::BattleStageSelect::OnDeactivate +80852ad4 Pages::BattleStageSelect::OnTimeout +80852ba8 Pages::BattleStageSelect::GetPlayerBitfield +80852bb0 Pages::BattleStageSelect::GetActivePlayerBitfield +80852bb8 Pages::BattleStageSelect::SetButtonHandlers +80852c14 Pages::BattleStageSelect::__dt +80852d00 Pages::BattleStageSelect::GetRuntimeTypeInfo +80852d0c CupSelectPagecpp_sinit_ +80852d20 Pages::StartRace::GetPageById +80852e30 Pages::StartRace::OnInit +80852e48 Pages::StartRace::CreateExternalControl +80852fac Pages::StartRace::GetActivePlayerBitfield +80852fb4 Pages::StartRace::SetButtonHandlers +80853010 Pages::StartRace::CreateControl +8085326c Pages::StartRace::OnActivate +808532e0 Pages::StartRace::AfterControlUpdate +80853314 Pages::StartRace::OnButtonClick +80853370 Pages::StartRace::OnExternalButtonSelect +80853374 Pages::StartRace::OnButtonDeselect +80853378 Pages::StartRace::OnBackPress +80853394 Pages::StartRace::GetPlayerBitfield +8085339c Pages::StartRace::GetManipulatorManager +808533a4 Pages::StartRace::__dt +80853424 Pages::StartRace::GetRuntimeTypeInfo +80853430 StartRacePage_cpp_sinit_ +80853444 0x80853444 +80853554 0x80853554 +80853778 0x80853778 +8085381c 0x8085381c +8085388c 0x8085388c +80853978 0x80853978 +80853980 0x80853980 +80853984 0x80853984 +80853d50 0x80853d50 +80853d64 0x80853d64 +80853d68 0x80853d68 +80854050 0x80854050 +80854058 0x80854058 +808540b4 0x808540b4 +808540bc 0x808540bc +80854160 0x80854160 +8085416c 0x8085416c +80854180 0x80854180 +80854290 0x80854290 +808542c8 0x808542c8 +808542d0 0x808542d0 +80854364 0x80854364 +808543ac 0x808543ac +808543b0 0x808543b0 +808543bc 0x808543bc +80854418 0x80854418 +8085442c 0x8085442c +80854430 0x80854430 +80854434 0x80854434 +80854440 0x80854440 +8085448c 0x8085448c +808544e0 0x808544e0 +80854534 0x80854534 +8085453c 0x8085453c +80854544 0x80854544 +808545a0 0x808545a0 +808545a8 0x808545a8 +8085469c 0x8085469c +808546a8 0x808546a8 +808546bc 0x808546bc +808547cc 0x808547cc +8085483c 0x8085483c +808548c8 0x808548c8 +80854938 0x80854938 +80854a1c 0x80854a1c +80854a20 0x80854a20 +80854b04 0x80854b04 +80854b3c 0x80854b3c +80854b40 Pages::Menu::UnloadVideoSource +80854b4c 0x80854b4c +80854b50 0x80854b50 +80854b58 0x80854b58 +80854b60 0x80854b60 +80854bbc 0x80854bbc +80854bc4 0x80854bc4 +80854c64 0x80854c64 +80854c70 0x80854c70 +80854c84 0x80854c84 +80854d94 0x80854d94 +80854da8 0x80854da8 +80854db0 0x80854db0 +80854e44 Pages::Menu::OnActivate +80854e48 0x80854e48 +80854e68 0x80854e68 +80854e6c 0x80854e6c +80854e70 0x80854e70 +80854ecc 0x80854ecc +80854f28 0x80854f28 +80854f2c 0x80854f2c +80854f30 0x80854f30 +80854f80 0x80854f80 +80854fd4 0x80854fd4 +80855020 0x80855020 +80855028 0x80855028 +80855030 0x80855030 +8085508c 0x8085508c +80855178 0x80855178 +80855184 MultiKartSelectPage_cpp_sinit_ +80855198 Pages::MultiDriftSelect::GetPageById +808552a8 Pages::MultiDriftSelect::OnInit +80855760 Pages::MultiDriftSelect::GetManipulatorManager +80855768 Pages::MultiDriftSelect::GetActivePlayerBitfield +80855770 Pages::MultiDriftSelect::GetPlayerBitfield +80855778 Pages::MultiDriftSelect::SetButtonHandlers +808557d4 Pages::MultiDriftSelect::OnControlsInitialized +808557d8 Pages::MultiDriftSelect::CreateExternalControl +80855934 Pages::MultiDriftSelect::CreateControl +80855a64 Pages::MultiDriftSelect::OnActivate +80855b6c Pages::MultiDriftSelect::AfterControlUpdate +80855ce4 Pages::MultiDriftSelect::OnButtonClick +80855fd0 Pages::MultiDriftSelect::OnExternalButtonSelect +80855fd4 Pages::MultiDriftSelect::OnButtonDeselect +80855fd8 Pages::MultiDriftSelect::OnBackPress +808560a8 Pages::MultiDriftSelect::OnResume +80856168 Pages::MultiDriftSelect::__dt +808561e8 Pages::MultiDriftSelect::GetRuntimeTypeInfo +808561f4 MultiDriftSelectPage_cpp_sinit_ +80856208 Pages::MultiTeamSelect::GetPageById +80856318 Pages::MultiTeamSelect::OnInit +808567e0 Pages::MultiTeamSelect::GetManipulatorManager +808567e8 Pages::MultiTeamSelect::GetActivePlayerBitfield +808567f0 Pages::MultiTeamSelect::GetPlayerBifield +808567f8 Pages::MultiTeamSelect::SetButtonHandlers +80856854 Pages::MultiTeamSelect::OnControlsInitialized +80856858 Pages::MultiTeamSelect::BeforeEntranceAnimations +80856900 Pages::MultiTeamSelect::BeforeExitAnimations +808569a8 Pages::MultiTeamSelect::CreateExternalControl +80856af8 Pages::MultiTeamSelect::CreateControl +80856c28 Pages::MultiTeamSelect::OnActivate +80856ef8 Pages::MultiTeamSelect::AfterControlUpdate +80856efc Pages::MultiTeamSelect::OnButtonClick +80857400 Pages::MultiTeamSelect::OnExternalButtonSelect +80857404 Pages::MultiTeamSelect::OnButtonDeselect +80857408 Pages::MultiTeamSelect::OnBackPress +80857514 Pages::MultiTeamSelect::OnResume +80857600 Pages::MultiTeamSelect::AssignCPUTeams +808577d8 Pages::MultiTeamSelect::IsDifferentTeams +80857834 Pages::MultiTeamSelect::__dt +808578b4 Pages::MultiTeamSelect::GetRuntimeTypeInfo +808578c0 MainMenuPage_cpp_sinit_ +808578d4 0x808578d4 +808579e4 0x808579e4 +808579f0 0x808579f0 +808579f8 0x808579f8 +80857af8 0x80857af8 +80857b64 0x80857b64 +80857b68 0x80857b68 +80857b7c 0x80857b7c +80857b80 0x80857b80 +80857b84 Pages::Menu::UnloadVideoSource +80857b90 0x80857b90 +80857b94 0x80857b94 +80857b9c 0x80857b9c +80857ba4 0x80857ba4 +80857c00 0x80857c00 +80857c08 0x80857c08 +80857c94 0x80857c94 +80857ca0 0x80857ca0 +80857cb4 Pages::VSModeSelect::GetPageById +80857dc4 Pages::VSModeSelect::OnInit +80857e18 Pages::VSModeSelect::GetManipulatorManager +80857e20 Pages::VSModeSelect::CreateExternalControl +80857fd0 Pages::VSModeSelect::CreateControl +80857fd8 Pages::VSModeSelect::OnActivate +80858490 Pages::VSModeSelect::OnActivate_switch +80858494 Pages::VSModeSelect::OnActivate_case_0 +808584ac Pages::VSModeSelect::OnActivate_case_1 +808584c4 Pages::VSModeSelect::OnActivate_case_2 +808584dc Pages::VSModeSelect::OnActivate_case_3 +808584f4 Pages::VSModeSelect::OnActivate_case_4 +8085850c Pages::VSModeSelect::OnActivate_case_5 +80858524 Pages::VSModeSelect::OnActivate_case_6 +8085853c Pages::VSModeSelect::OnActivate_case_7 +80858584 Pages::VSModeSelect::AfterControlUpdate +80858588 Pages::VSModeSelect::OnButtonClick +80858668 Pages::VSModeSelect::OnExternalButtonSelect +808586a0 Pages::VSModeSelect::OnButtonDeselect +808586a4 Pages::VSModeSelect::OnBackPress +808586b0 Pages::VSModeSelect::OnDeactivate +808586fc Pages::VSModeSelect::GetPlayerBitfield +80858704 Pages::VSModeSelect::GetActivePlayerBitfield +8085870c Pages::VSModeSelect::SetButtonHandlers +80858768 Pages::VSModeSelect::__dt +808587e8 0x808587e8 +808587f4 VSSettingsPage_cpp_sinit_ +80858808 Pages::Unlock::GetPageById +80858918 0x80858918 +80858968 Pages::Unlock::OnInit +80858980 Pages::Unlock::CreateExternalControl +80858a10 Pages::Unlock::CreateControl +80858c54 Pages::Unlock::OnActivate +80858e70 Pages::Unlock::AfterControlUpdate +80858fcc Pages::Unlock::OnButtonClick +80859298 Pages::Unlock::OnExternalButtonSelect +8085929c Pages::Unlock::OnButtonDeselect +808592a0 Pages::Unlock::OnBackPress +808592a4 Pages::Unlock::SetTitleBMG +80859360 Pages::Unlock::PrepareControls +808595d0 0x808595d0 +80859630 0x80859630 +80859690 Pages::Unlock::SetModels +8085978c Pages::Unlock::SetModels_switch +80859790 Pages::Unlock::SetModels_caseD_1b +8085979c Pages::Unlock::SetModels_caseD_10 +808597a4 Pages::Unlock::SetModels_caseD_d +808597b0 Pages::Unlock::SetModels_caseD_b +808597bc Pages::Unlock::SetModels_caseD_e +808597c8 Pages::Unlock::SetModels_caseD_11 +808597d4 Pages::Unlock::SetModels_caseD_12 +80859828 0x80859828 +80859878 0x80859878 +808598b4 0x808598b4 +80859950 Pages::Unlock::SetMessageWindowMessage +80859af4 0x80859af4 +80859c0c Pages::Unlock::GetPlayerBifield +80859c14 Pages::Unlock::GetActivePlayerBitfield +80859c1c Pages::Unlock::SetButtonHandlers +80859c78 Pages::Unlock::GetManipulatorManager +80859c80 Pages::Unlock::__dt +80859d30 Pages::Unlock::GetRuntimeTypeInfo +80859d3c 0x80859d3c +80859d50 Pages::GPVSLeaderboardUpdate::OnInit +80859e64 Pages::GPVSLeaderboardUpdate::GetRowCount +80859e74 Pages::GPVSLeaderboardUpdate::CanEnd +80859f10 Pages::GPVSLeaderboardUpdate::Func_0x6c +8085a1c8 Pages::GPVSLeaderboardUpdate::FillRows +8085a2e4 Pages::GPVSLeaderboardUpdate::GetNextPage +8085a320 Pages::GPVSLeaderboardTotal::OnInit +8085a458 Pages::GPVSLeaderboardTotal::FillRows +8085a5b0 Pages::GPVSLeaderboardTotal::GetNextPage +8085a5f4 Pages::GPVSLeaderboardTotal::ComparePlayers +8085a688 Pages::WWLeaderboardUpdate::OnInit +8085a7fc Pages::WWLeaderboardUpdate::FillRows +8085aecc Pages::WWLeaderboardUpdate::GetNextPage +8085aed4 Pages::TTLeaderboard::OnInit +8085b0f4 Pages::TTLeaderboard::GetRowCount +8085b0fc Pages::TTLeaderboard::FillRows +8085b5b4 Pages::TTLeaderboard::GetNextPage +8085b7a4 0x8085b7a4 +8085bd1c 0x8085bd1c +8085bd24 0x8085bd24 +8085bd2c 0x8085bd2c +8085bd9c 0x8085bd9c +8085bda8 Pages::TTLeaderboard::__dt +8085be28 Pages::TTLeaderboard::GetRuntimeTypeInfo +8085be34 Pages::WWLeaderboardUpdate::__dt +8085bea4 Pages::WWLeaderboardUpdate::GetRuntimeTypeInfo +8085beb0 Pages::GPVSLeaderboardTotal::__dt +8085bf20 Pages::GPVSLeaderboardTotal::GetRuntimeTypeInfo +8085bf2c Pages::GPVSLeaderboardUpdate::__dt +8085bf9c Pages::GPVSLeaderboardUpdate::GetRuntimeTypeInfo +8085bfa8 0x8085bfa8 +8085bfb4 LeaderboardsPagescpp_sinit_ +8085bfe4 Pages::LicenseRecords::GetPageById +8085c0f4 Pages::LicenseRecords::OnInit +8085c19c Pages::LicenseRecords::CreateExternalControl +8085c248 Pages::LicenseRecords::CreateControl +8085c3a8 Pages::LicenseRecords::OnActivate +8085c414 Pages::LicenseRecords::AfterControlUpdate +8085c418 0x8085c418 +8085c4f4 Pages::LicenseRecords::OnExternalButtonSelect +8085c4f8 0x8085c4f8 +8085c4fc 0x8085c4fc +8085c524 0x8085c524 +8085c86c 0x8085c86c +8085c9a8 0x8085c9a8 +8085cb44 0x8085cb44 +8085cc5c 0x8085cc5c +8085cdf8 Pages::LicenseRecords::GetPlayerBitfield +8085ce00 Pages::LicenseRecords::GetActivePlayerBitfield +8085ce08 Pages::LicenseRecords::SetButtonHandlers +8085ce64 Pages::LicenseRecords::GetManipulatorManager +8085ce6c Pages::LicenseRecords::__dt +8085ceec Pages::LicenseRecords::GetRuntimeTypeInfo +8085cef8 LicenseRecordsPagecpp_sinit_ +8085cf0c 0x8085cf0c +8085cf74 0x8085cf74 +8085cf78 0x8085cf78 +8085cff4 0x8085cff4 +8085d05c 0x8085d05c +8085d0dc 0x8085d0dc +8085d144 0x8085d144 +8085d27c 0x8085d27c +8085d2f0 0x8085d2f0 +8085d348 0x8085d348 +8085d390 0x8085d390 +8085d468 0x8085d468 +8085d4c4 0x8085d4c4 +8085d504 0x8085d504 +8085d578 0x8085d578 +8085d660 0x8085d660 +8085d6d4 0x8085d6d4 +8085d73c 0x8085d73c +8085d784 0x8085d784 +8085d898 0x8085d898 +8085d918 0x8085d918 +8085d9fc 0x8085d9fc +8085da58 0x8085da58 +8085da98 0x8085da98 +8085db0c 0x8085db0c +8085db84 0x8085db84 +8085dbe4 0x8085dbe4 +8085dc30 0x8085dc30 +8085dd08 0x8085dd08 +8085dd64 0x8085dd64 +8085ddac 0x8085ddac +8085de20 0x8085de20 +8085de94 0x8085de94 +8085df08 0x8085df08 +8085df64 0x8085df64 +8085dfac 0x8085dfac +8085e020 0x8085e020 +8085e108 0x8085e108 +8085e17c 0x8085e17c +8085e1f0 0x8085e1f0 +8085e258 0x8085e258 +8085e298 0x8085e298 +8085e30c 0x8085e30c +8085e380 0x8085e380 +8085e464 0x8085e464 +8085e4d8 0x8085e4d8 +8085e54c 0x8085e54c +8085e5a8 0x8085e5a8 +8085e5e8 0x8085e5e8 +8085e65c 0x8085e65c +8085e6b8 0x8085e6b8 +8085e734 0x8085e734 +8085e7a0 0x8085e7a0 +8085e82c 0x8085e82c +8085e884 0x8085e884 +8085e968 0x8085e968 +8085e984 0x8085e984 +8085e988 0x8085e988 +8085e990 0x8085e990 +8085e998 0x8085e998 +8085e9a0 0x8085e9a0 +8085e9a8 0x8085e9a8 +8085e9b0 0x8085e9b0 +8085e9b8 0x8085e9b8 +8085e9c0 0x8085e9c0 +8085e9c8 0x8085e9c8 +8085e9d0 0x8085e9d0 +8085e9d8 0x8085e9d8 +8085e9e0 0x8085e9e0 +8085e9e8 0x8085e9e8 +8085e9f0 0x8085e9f0 +8085e9f8 0x8085e9f8 +8085ea00 0x8085ea00 +8085ea08 0x8085ea08 +8085ea10 0x8085ea10 +8085ea18 0x8085ea18 +8085ea20 0x8085ea20 +8085ea28 0x8085ea28 +8085ea30 0x8085ea30 +8085ea38 0x8085ea38 +8085ea40 0x8085ea40 +8085ea48 0x8085ea48 +8085ea50 0x8085ea50 +8085ea58 0x8085ea58 +8085ea60 0x8085ea60 +8085ea68 0x8085ea68 +8085ea70 0x8085ea70 +8085ea78 0x8085ea78 +8085ea80 0x8085ea80 +8085ea88 0x8085ea88 +8085ea98 0x8085ea98 +8085eab4 0x8085eab4 +8085eab8 0x8085eab8 +8085eac0 0x8085eac0 +8085eac8 0x8085eac8 +8085ead0 0x8085ead0 +8085ead8 0x8085ead8 +8085eae0 0x8085eae0 +8085eae8 0x8085eae8 +8085eaf0 0x8085eaf0 +8085eaf8 0x8085eaf8 +8085eb00 0x8085eb00 +8085eb08 0x8085eb08 +8085eb10 0x8085eb10 +8085eb18 0x8085eb18 +8085eb20 0x8085eb20 +8085eb28 0x8085eb28 +8085eb30 0x8085eb30 +8085eb38 0x8085eb38 +8085eb40 0x8085eb40 +8085eb48 0x8085eb48 +8085eb50 0x8085eb50 +8085eb58 0x8085eb58 +8085eb60 0x8085eb60 +8085eb68 0x8085eb68 +8085eb70 0x8085eb70 +8085eb78 0x8085eb78 +8085eb80 0x8085eb80 +8085eb88 0x8085eb88 +8085eb90 0x8085eb90 +8085eb98 0x8085eb98 +8085eba0 0x8085eba0 +8085eba8 0x8085eba8 +8085ebb0 0x8085ebb0 +8085ebb8 0x8085ebb8 +8085ebc0 0x8085ebc0 +8085ebc8 0x8085ebc8 +8085ebd0 0x8085ebd0 +8085ebd8 0x8085ebd8 +8085ebe0 0x8085ebe0 +8085ebe8 0x8085ebe8 +8085ebf0 0x8085ebf0 +8085ebf8 0x8085ebf8 +8085ec00 0x8085ec00 +8085ec08 0x8085ec08 +8085ec10 0x8085ec10 +8085ec18 0x8085ec18 +8085ec20 0x8085ec20 +8085ec28 0x8085ec28 +8085ec30 0x8085ec30 +8085ec38 0x8085ec38 +8085ec40 0x8085ec40 +8085ec48 0x8085ec48 +8085ec58 0x8085ec58 +8085ec7c 0x8085ec7c +8085ec98 0x8085ec98 +8085ec9c 0x8085ec9c +8085eca4 0x8085eca4 +8085ecac 0x8085ecac +8085ecb4 0x8085ecb4 +8085ecbc 0x8085ecbc +8085ecc4 0x8085ecc4 +8085eccc 0x8085eccc +8085ecd4 0x8085ecd4 +8085ecdc 0x8085ecdc +8085ece4 0x8085ece4 +8085ecec 0x8085ecec +8085ecf4 0x8085ecf4 +8085ecfc 0x8085ecfc +8085ed04 0x8085ed04 +8085ed14 0x8085ed14 +8085ed38 0x8085ed38 +8085ed58 0x8085ed58 +8085ed5c 0x8085ed5c +8085ed64 0x8085ed64 +8085ed6c 0x8085ed6c +8085ed74 0x8085ed74 +8085ed7c 0x8085ed7c +8085ed84 0x8085ed84 +8085ed8c 0x8085ed8c +8085ed94 0x8085ed94 +8085ed9c 0x8085ed9c +8085eda4 0x8085eda4 +8085edac 0x8085edac +8085edb4 0x8085edb4 +8085edbc 0x8085edbc +8085edc4 0x8085edc4 +8085edcc 0x8085edcc +8085edd4 0x8085edd4 +8085eddc 0x8085eddc +8085ede4 0x8085ede4 +8085edec 0x8085edec +8085edf4 0x8085edf4 +8085ee04 0x8085ee04 +8085ee6c 0x8085ee6c +8085ee94 0x8085ee94 +8085eec0 0x8085eec0 +8085eec4 0x8085eec4 +8085eed0 0x8085eed0 +8085eedc 0x8085eedc +8085eee8 0x8085eee8 +8085eef4 0x8085eef4 +8085ef00 0x8085ef00 +8085ef0c 0x8085ef0c +8085ef18 0x8085ef18 +8085ef28 0x8085ef28 +8085ef2c 0x8085ef2c +8085ef54 0x8085ef54 +8085ef7c 0x8085ef7c +8085ef9c 0x8085ef9c +8085efa0 0x8085efa0 +8085efac 0x8085efac +8085efb8 0x8085efb8 +8085efc4 0x8085efc4 +8085efd0 0x8085efd0 +8085efdc 0x8085efdc +8085efe8 0x8085efe8 +8085eff4 0x8085eff4 +8085f000 0x8085f000 +8085f00c 0x8085f00c +8085f018 0x8085f018 +8085f024 0x8085f024 +8085f030 0x8085f030 +8085f03c 0x8085f03c +8085f048 0x8085f048 +8085f054 0x8085f054 +8085f060 0x8085f060 +8085f068 0x8085f068 +8085f06c 0x8085f06c +8085f08c 0x8085f08c +8085f090 0x8085f090 +8085f09c 0x8085f09c +8085f0a8 0x8085f0a8 +8085f0b4 0x8085f0b4 +8085f0c0 0x8085f0c0 +8085f0cc 0x8085f0cc +8085f0d8 0x8085f0d8 +8085f0e4 0x8085f0e4 +8085f0f0 0x8085f0f0 +8085f0fc 0x8085f0fc +8085f108 0x8085f108 +8085f114 0x8085f114 +8085f120 0x8085f120 +8085f12c 0x8085f12c +8085f138 0x8085f138 +8085f144 0x8085f144 +8085f14c 0x8085f14c +8085f150 0x8085f150 +8085f170 0x8085f170 +8085f174 0x8085f174 +8085f180 0x8085f180 +8085f18c 0x8085f18c +8085f198 0x8085f198 +8085f1a4 0x8085f1a4 +8085f1b0 0x8085f1b0 +8085f1bc 0x8085f1bc +8085f1c8 0x8085f1c8 +8085f1d4 0x8085f1d4 +8085f1e0 0x8085f1e0 +8085f208 0x8085f208 +8085f230 0x8085f230 +8085f250 0x8085f250 +8085f254 0x8085f254 +8085f260 0x8085f260 +8085f26c 0x8085f26c +8085f278 0x8085f278 +8085f284 0x8085f284 +8085f290 0x8085f290 +8085f29c 0x8085f29c +8085f2a8 0x8085f2a8 +8085f2b4 0x8085f2b4 +8085f2c0 0x8085f2c0 +8085f2cc 0x8085f2cc +8085f2d8 0x8085f2d8 +8085f32c 0x8085f32c +8085f368 0x8085f368 +8085f36c 0x8085f36c +8085f378 0x8085f378 +8085f384 0x8085f384 +8085f390 0x8085f390 +8085f39c 0x8085f39c +8085f3a8 0x8085f3a8 +8085f3b4 0x8085f3b4 +8085f3c0 0x8085f3c0 +8085f3f8 0x8085f3f8 +8085f3fc 0x8085f3fc +8085f424 0x8085f424 +8085f428 0x8085f428 +8085f434 0x8085f434 +8085f440 0x8085f440 +8085f44c 0x8085f44c +8085f458 0x8085f458 +8085f464 0x8085f464 +8085f470 0x8085f470 +8085f47c 0x8085f47c +8085f488 0x8085f488 +8085f494 0x8085f494 +8085f4a0 0x8085f4a0 +8085f4ac 0x8085f4ac +8085f4b4 0x8085f4b4 +8085f4b8 0x8085f4b8 +8085f4f8 Audio::CharacterActor::__ct +8085f578 0x8085f578 +8085f5b8 Audio::RandomCharacterPicker::__dt +8085f614 Audio::RandomSoundPicker::__dt +8085f66c Audio::CharacterActor::Link +8085fa88 0x8085fa88 +8085fbc8 Audio::CharacterActor::Unlink +8085fbd0 Audio::CharacterActor::Update +80860294 Audio::CharacterActor::HoldSound +808602c0 Audio::CharacterActor::PlayCharacterSoundConditional +80860318 Audio::CharacterActor::PlayCharacterSoundConditional_switch +8086031c Audio::CharacterActor::PlayCharacterSoundConditional_case1a +80860398 Audio::CharacterActor::PlayCharacterSoundConditional_case1b +80860424 Audio::CharacterActor::PlayCharacterSoundConditional_case16 +80860444 Audio::CharacterActor::PlayCharacterSoundConditional_case17 +80860494 Audio::CharacterActor::PlayCharacterSoundConditional_caseb +808604a0 Audio::CharacterActor::PlayCharacterSoundConditional_casec +808604bc Audio::CharacterActor::PlayCharacterSoundConditional_case10 +808604e4 Audio::CharacterActor::PlayCharacterSound +808608bc 0x808608bc +80860c20 0x80860c20 +80860d08 0x80860d08 +80860f60 0x80860f60 +80861018 Audio::CharacterActor::PlayCharacterCollisionSound +80861050 0x80861050 +80861058 0x80861058 +80861060 0x80861060 +80861068 0x80861068 +80861078 0x80861078 +808610e8 0x808610e8 +80861104 0x80861104 +80861150 0x80861150 +80861184 0x80861184 +808611e8 Audio::CharacterActor::StartSound +80861294 0x80861294 +8086129c 0x8086129c +80861490 0x80861490 +808614e8 0x808614e8 +80861514 0x80861514 +80861534 0x80861534 +80861554 Audio::CharacterActor::StopSound +808615e8 0x808615e8 +80861668 0x80861668 +808617a4 0x808617a4 +808619b8 0x808619b8 +80861ad4 0x80861ad4 +80861b08 0x80861b08 +80861b20 0x80861b20 +80861b34 0x80861b34 +80861b9c Jumbotron_StopPlaying +80861bb0 0x80861bb0 +80861ce0 0x80861ce0 +80861d40 0x80861d40 +80861d68 0x80861d68 +80861dfc 0x80861dfc +80861eb4 0x80861eb4 +80861edc 0x80861edc +80861f58 Audio::CharacterActor::GetCharacterGroupId +80861fd4 Audio::CharacterActor::GetCharacterCannonGroupId +80862094 0x80862094 +808621f8 0x808621f8 +808626ec 0x808626ec +80862764 0x80862764 +808627d8 Audio::CharacterActor::__dt +808628dc Audio::CharacterActor::__dt(thunk) +808628e4 Audio::CharacterActor::StopSound(thunk) +808628ec Audio::CharacterActor::HoldSound(thunk) +808628f4 Audio::CharacterActor::StartSound(thunk) +808628fc Audio::CharacterActor::Update(thunk) +80862904 Audio::CharacterActor::Unlink(thunk) +8086290c Audio::CharacterActor::Link(thunk) +80862914 AudioRandomMgr::Disposer__dt +808629ac AudioRandomMgr::CreateInstance +80862a34 AudioRandomMgr::DestroyInstance +80862a68 AudioRandomMgr::__dt +80862b1c AudioRandomMgr::RandInt +80862b50 AudioRandomMgr::RandFloat +80862b90 0x80862b90 +80862bf0 0x80862bf0 +80862c5c Audio::RandomCharacterPicker::__ct +80862ca0 0x80862ca0 +80862d04 0x80862d04 +80862d0c 0x80862d0c +80862dcc 0x80862dcc +80862e8c 0x80862e8c +80862f4c 0x80862f4c +8086300c 0x8086300c +808630b8 0x808630b8 +80863234 0x80863234 +80863358 0x80863358 +80863488 0x80863488 +80863580 0x80863580 +808635c0 0x808635c0 +808636f8 0x808636f8 +8086395c 0x8086395c +80863ad0 0x80863ad0 +80863b08 0x80863b08 +80863bb4 0x80863bb4 +80863cf0 cAIPad__ct +80863cfc 0x80863cfc +80863d10 0x80863d10 +80863ef0 0x80863ef0 +80863f58 0x80863f58 +80863fb8 0x80863fb8 +80864038 0x80864038 +8086419c 0x8086419c +808642b8 0x808642b8 +808642d0 0x808642d0 +808643a8 0x808643a8 +80864498 0x80864498 +808644b0 0x808644b0 +808645a0 0x808645a0 +808645b4 0x808645b4 +808645d0 0x808645d0 +808645e8 0x808645e8 +80864600 0x80864600 +80864614 0x80864614 +80864624 cTeam_GetPlayer +80864634 0x80864634 +8086465c 0x8086465c +80864678 0x80864678 +80864694 0x80864694 +80864778 0x80864778 +80864844 0x80864844 +808648bc thunk_0x808691fc +808648c0 0x808648c0 +808648e0 0x808648e0 +808648f0 0x808648f0 +808648fc 0x808648fc +80864908 0x80864908 +80864934 0x80864934 +80864a04 0x80864a04 +80864bd8 0x80864bd8 +80864c74 0x80864c74 +80864d20 0x80864d20 +80864d38 Audio::RandomSoundPicker::__ct +80864d7c 0x80864d7c +80864e0c 0x80864e0c +80864e40 0x80864e40 +80864fa0 0x80864fa0 +80865050 0x80865050 +808650ac 0x808650ac +80865178 0x80865178 +808651ec 0x808651ec +808651fc 0x808651fc +80865230 0x80865230 +80865298 0x80865298 +80865350 0x80865350 +80865384 0x80865384 +8086538c 0x8086538c +80865414 0x80865414 +80865454 0x80865454 +80865568 0x80865568 +808655a8 0x808655a8 +808656fc 0x808656fc +80865818 0x80865818 +808658f0 0x808658f0 +808659c4 0x808659c4 +80865ba0 0x80865ba0 +80865cac 0x80865cac +80865e24 0x80865e24 +80865e34 0x80865e34 +80865e48 0x80865e48 +808669a4 0x808669a4 +808669d0 0x808669d0 +808669dc 0x808669dc +80866be8 0x80866be8 +80866bf0 0x80866bf0 +80866bf8 0x80866bf8 +80866c00 0x80866c00 +80866c08 0x80866c08 +80866c2c 0x80866c2c +80866c3c 0x80866c3c +80866c40 0x80866c40 +80866c58 0x80866c58 +80866c78 0x80866c78 +80866d80 0x80866d80 +80866f2c 0x80866f2c +80866ff8 0x80866ff8 +8086704c 0x8086704c +80867064 0x80867064 +808671a4 0x808671a4 +80867410 0x80867410 +8086747c 0x8086747c +80867538 0x80867538 +808675d8 0x808675d8 +808677a8 0x808677a8 +808679b4 0x808679b4 +80867b88 0x80867b88 +80867c7c 0x80867c7c +80867d6c 0x80867d6c +80867e50 0x80867e50 +80867fb4 0x80867fb4 +80867fc8 0x80867fc8 +80868040 0x80868040 +8086868c 0x8086868c +808686fc 0x808686fc +8086886c 0x8086886c +80868924 0x80868924 +80868930 0x80868930 +808689e8 GoalOverlay_SceneCreated +808689f4 0x808689f4 +80868d54 0x80868d54 +80869018 0x80869018 +80869998 0x80869998 +808699b8 0x808699b8 +80869c0c 0x80869c0c +8086a69c 0x8086a69c +8086a6b0 0x8086a6b0 +8086a81c 0x8086a81c +8086ac1c 0x8086ac1c +8086ae88 0x8086ae88 +8086b478 0x8086b478 +8086b5cc 0x8086b5cc +8086b73c 0x8086b73c +8086bb44 0x8086bb44 +8086c8fc 0x8086c8fc +8086c940 0x8086c940 +8086c9c8 0x8086c9c8 +8086cebc 0x8086cebc +8086d048 0x8086d048 +8086d3e0 0x8086d3e0 +8086d654 0x8086d654 +8086d784 0x8086d784 +8086d9b4 0x8086d9b4 +8086d9c0 0x8086d9c0 +8086e29c 0x8086e29c +8086e2a0 0x8086e2a0 +8086e440 0x8086e440 +8086e4b4 0x8086e4b4 +8086e4cc 0x8086e4cc +8086e4d0 0x8086e4d0 +8086e594 0x8086e594 +8086e59c 0x8086e59c +8086e684 0x8086e684 +8086e714 0x8086e714 +8086e778 0x8086e778 +8086ecc8 0x8086ecc8 +8086eccc 0x8086eccc +8086ed0c 0x8086ed0c +8086ed74 0x8086ed74 +8086f28c 0x8086f28c +8086fdac 0x8086fdac +8086fdec 0x8086fdec +8086fdf4 0x8086fdf4 +8086fe34 0x8086fe34 +8086fe3c 0x8086fe3c +8086fe7c 0x8086fe7c +8086fe84 0x8086fe84 +8086fec4 0x8086fec4 +8086ff04 0x8086ff04 +8086ff0c 0x8086ff0c +8086ff4c 0x8086ff4c +8086ff54 0x8086ff54 +8086ff94 0x8086ff94 +8086ff9c 0x8086ff9c +80870e8c 0x80870e8c +80870ef0 0x80870ef0 +80870f54 0x80870f54 +80870f94 0x80870f94 +80871000 0x80871000 +80871008 0x80871008 +8087106c 0x8087106c +808710d8 0x808710d8 +80871144 0x80871144 +808711ac 0x808711ac +808711ec 0x808711ec +80871250 0x80871250 +80871258 0x80871258 +80871298 0x80871298 +808712fc 0x808712fc +80871304 0x80871304 +80871344 0x80871344 +808713a8 0x808713a8 +808713b0 0x808713b0 +808713f0 0x808713f0 +80871420 0x80871420 +80871460 0x80871460 +80871490 0x80871490 +808714d0 0x808714d0 +80871500 0x80871500 +80871540 0x80871540 +808715ac 0x808715ac +808715b4 0x808715b4 +808715f4 0x808715f4 +80871658 0x80871658 +80871660 0x80871660 +808716a0 0x808716a0 +808716e0 0x808716e0 +80871710 0x80871710 +808745bc 0x808745bc +80874624 0x80874624 +8087468c 0x8087468c +80874704 0x80874704 +8087476c 0x8087476c +808747d4 0x808747d4 +8087484c 0x8087484c +808748b4 0x808748b4 +8087491c 0x8087491c +80874984 0x80874984 +808749ec 0x808749ec +80874a40 0x80874a40 +80874a94 0x80874a94 +80874ae8 0x80874ae8 +80874b60 0x80874b60 +80874bc8 0x80874bc8 +80874c1c 0x80874c1c +80874c38 0x80874c38 +80874c3c 0x80874c3c +80875e00 0x80875e00 +80875e90 0x80875e90 +80875f7c 0x80875f7c +80876008 0x80876008 +8087635c 0x8087635c +808764f8 0x808764f8 +808765d0 0x808765d0 +808766d0 0x808766d0 +808766d4 0x808766d4 +808766dc 0x808766dc +808766e4 0x808766e4 +808766ec 0x808766ec +808766f4 0x808766f4 +80876774 0x80876774 +808767b8 0x808767b8 +80876e8c 0x80876e8c +80876e90 0x80876e90 +80876ed0 0x80876ed0 +80876ed4 0x80876ed4 +80876f14 0x80876f14 +80877008 0x80877008 +80877048 0x80877048 +808770c0 obj_casino_roulette::__ct +80877188 obj_casino_roulette_generateBigassLongListOfFloatsForRotation +808773d0 0x808773d0 +80877694 obj_casino_roulette_spinVisually +80877714 obj_casino_roulette_update +808777dc obj_casino_roulette_spinEverythingElse +80877bc0 obj_casino_roulette_calculateSpin +80877d18 obj_casino_roulette_spinPlayer +80877f4c obj_casino_roulette_initDushBoardAnimationSpeed? +80877fc8 0x80877fc8 +80877fd4 0x80877fd4 +80878054 0x80878054 +8087805c 0x8087805c +80878064 0x80878064 +80878074 0x80878074 +8087807c 0x8087807c +808780bc Objects::WLwallGC::__ct +80878284 Objects::WLwallGC::__dt +808782d4 Objects::WLwallGC::OnStart +808783a8 0x808783a8 +808783d0 Objects::WLwallGC::GetTransformationMatrix +80878538 Objects::WLwallGC::Update +808786b0 Objects::WLwallGC::CalcOtherEntityDistance +808786d8 Objects::WLwallGC::UpdateOtherEntityPos +80878758 Objects::WLwallGC::IsCollidingAddEntryNoTriangleCheckImpl +808789d8 Objects::WLwallGC::IsCollidingImpl +80878a70 Objects::WLwallGC::GetPropertiesBitfield +80878a78 Objects::WLwallGC::GetPeriod +80878ab4 Objects::WLwallGC::vf_0x11c +80878abc 0x80878abc +80878db8 0x80878db8 +80878e44 0x80878e44 +80878f14 0x80878f14 +80879c08 0x80879c08 +8087a20c 0x8087a20c +8087a220 0x8087a220 +8087a240 0x8087a240 +8087a260 0x8087a260 +8087a268 0x8087a268 +8087a3ac 0x8087a3ac +8087a488 0x8087a488 +8087a590 0x8087a590 +8087a594 0x8087a594 +8087a59c 0x8087a59c +8087ac88 0x8087ac88 +8087ad54 0x8087ad54 +8087ae54 0x8087ae54 +8087afb4 0x8087afb4 +8087afd4 0x8087afd4 +8087b1c8 0x8087b1c8 +8087b2ac 0x8087b2ac +8087b394 0x8087b394 +8087b514 0x8087b514 +8087b5b4 0x8087b5b4 +8087b788 0x8087b788 +8087ba84 0x8087ba84 +8087bc64 0x8087bc64 +8087d388 0x8087d388 +8087d3d8 0x8087d3d8 +8087d7f4 0x8087d7f4 +8087d9fc 0x8087d9fc +8087da10 0x8087da10 +8087dc28 0x8087dc28 +8087dc78 0x8087dc78 +8087de6c 0x8087de6c +8087debc 0x8087debc +8087df28 0x8087df28 +8087e580 0x8087e580 +8087ebd0 0x8087ebd0 +8087ee44 0x8087ee44 +8087ef4c 0x8087ef4c +8087ef58 0x8087ef58 +8087ef60 0x8087ef60 +8087ef68 0x8087ef68 +8087ef6c 0x8087ef6c +8087ef70 0x8087ef70 +8087ef74 0x8087ef74 +8087ef78 0x8087ef78 +8087ef80 0x8087ef80 +8087ef84 0x8087ef84 +8087ef8c 0x8087ef8c +8087f01c 0x8087f01c +8087f388 0x8087f388 +8087f414 0x8087f414 +8087f768 0x8087f768 +80881d7c 0x80881d7c +80881ea4 0x80881ea4 +80882008 0x80882008 +8088201c 0x8088201c +808820a4 0x808820a4 +808820ac 0x808820ac +808820b4 0x808820b4 +80882144 obj_cruiserR::__ct +8088237c 0x8088237c +80882408 0x80882408 +80882660 0x80882660 +80882680 0x80882680 +80882728 0x80882728 +80882fa0 0x80882fa0 +80883584 0x80883584 +80883598 0x80883598 +808835e0 0x808835e0 +808835e8 0x808835e8 +808835f0 0x808835f0 +80883628 0x80883628 +80883684 0x80883684 +808836d4 0x808836d4 +808837b4 0x808837b4 +808838e4 0x808838e4 +8088392c 0x8088392c +80883934 0x80883934 +80883954 0x80883954 +8088395c 0x8088395c +80883a30 0x80883a30 +80883a70 0x80883a70 +80883b3c 0x80883b3c +80883b5c 0x80883b5c +80884034 0x80884034 +80884164 0x80884164 +80884170 0x80884170 +8088417c 0x8088417c +80884180 0x80884180 +808841d4 0x808841d4 +808841d8 0x808841d8 +808841e0 0x808841e0 +808841e4 0x808841e4 +808841e8 0x808841e8 +808841f0 0x808841f0 +80884394 0x80884394 +808843d4 0x808843d4 +8088469c 0x8088469c +80884740 0x80884740 +80884d3c 0x80884d3c +80884e80 0x80884e80 +80884ec4 0x80884ec4 +80885084 0x80885084 +80885090 0x80885090 +80885098 GetOneTimerLeadGroundContactAnims +808850a4 0x808850a4 +808850a8 0x808850a8 +80885164 0x80885164 +8088516c 0x8088516c +80885170 0x80885170 +80885174 0x80885174 +8088517c 0x8088517c +80885314 0x80885314 +80885370 0x80885370 +808853c0 0x808853c0 +80885578 0x80885578 +80885e64 0x80885e64 +80885e78 0x80885e78 +80885ec0 0x80885ec0 +80885ec8 0x80885ec8 +80885ee8 0x80885ee8 +80885ef0 0x80885ef0 +80885f80 obj_Twanwan::__ct +8088603c obj_Twanwan::__dt +8088608c obj_Twanwan_load +80886474 0x80886474 +80886548 0x80886548 +808866d4 0x808866d4 +8088744c obj_Twanwan_update +8088774c 0x8088774c +80887764 obj_Twanwan_draw_init +8088779c 0x8088779c +808878d8 0x808878d8 +8088791c 0x8088791c +80887990 0x80887990 +80887998 0x80887998 +808879d0 0x808879d0 +80887a18 0x80887a18 +80887a84 0x80887a84 +80888080 0x80888080 +808880f0 0x808880f0 +808880fc 0x808880fc +80888154 0x80888154 +80888170 0x80888170 +80888744 0x80888744 +80888890 0x80888890 +80888894 0x80888894 +808888d4 0x808888d4 +80888a28 0x80888a28 +80888a2c 0x80888a2c +80888a6c 0x80888a6c +80888bc0 0x80888bc0 +80888bc4 0x80888bc4 +80888c04 0x80888c04 +80888cd0 0x80888cd0 +80888d9c 0x80888d9c +80888e68 0x80888e68 +80888ef4 0x80888ef4 +80888f80 0x80888f80 +80889008 0x80889008 +808894e4 0x808894e4 +808899cc 0x808899cc +80889ea8 0x80889ea8 +80889fb8 0x80889fb8 +8088a0cc 0x8088a0cc +8088a1dc 0x8088a1dc +8088a23c 0x8088a23c +8088a29c 0x8088a29c +8088a2fc 0x8088a2fc +8088a350 0x8088a350 +8088a3a4 0x8088a3a4 +8088a3f8 0x8088a3f8 +8088a5e8 0x8088a5e8 +8088a7d8 0x8088a7d8 +8088a9c8 0x8088a9c8 +8088aa08 0x8088aa08 +8088aa48 0x8088aa48 +8088aa88 0x8088aa88 +8088ac08 0x8088ac08 +8088ad8c 0x8088ad8c +8088af04 RelEndFuncLink::AddEntry +8088af20 RelEndFuncLink::ExecFuncs +8088af74 0x8088af74 diff --git a/projects/mkwii-ntsc-u/MAP_REPORT.md b/projects/mkwii-ntsc-u/MAP_REPORT.md new file mode 100644 index 0000000..af73bcd --- /dev/null +++ b/projects/mkwii-ntsc-u/MAP_REPORT.md @@ -0,0 +1,948 @@ +# NTSC-U (RMCE01) function map port report + +Generated by `tools/region/port_map.py`. Deterministic; no timestamps. + +## Summary + +- PAL map: `projects/mkwii/MAP.txt` (29792 entries, 20193 named) +- NTSC-U DOL: `main.dol` sha256 `d2beec1b1645fcd134efe9e7e63774b546667764ed8d431029daccd725995694` entry `0x800060A4` +- NTSC-U REL: `StaticR.rel` sha256 `1168107f8fdef27a356df76036db55afe4fbf7752606dbac991726701133a617` load `0x8050BF60` (module 1, v3, prolog `0x8054F2FC`, epilog `0x8054F348`, unresolved `0x8054F390`) +- Chunk table: 299 PAL->NTSC-U chunks (mkw-sp port.py, MIT); no overlaps, all deltas word-aligned +- Output map: `projects/mkwii-ntsc-u/MAP.txt` with **29266** entries (19944 named); `projects/mkwii-ntsc-u/region_port.json` carries the chunk table. + +### Verdict totals (all PAL entries) + +| verdict | entries | low-mem | DOL | REL | emitted | +|---|---|---|---|---|---| +| PROVEN | 12178 | 0 | 6572 | 5606 | yes | +| REFERENCED | 12573 | 0 | 3273 | 9300 | yes | +| PLAUSIBLE | 4500 | 0 | 848 | 3652 | yes | +| IDENTITY | 15 | 15 | 0 | 0 | yes | +| INTERPOLATED | 0 | 0 | 0 | 0 | yes | +| UNVERIFIED | 206 | 0 | 125 | 81 | no | +| DROPPED | 320 | 0 | 162 | 158 | no | +| total | 29792 | 15 | 10980 | 18797 | | + +Emitted after deduplication: PROVEN=12178, REFERENCED=12573, PLAUSIBLE=4500, IDENTITY=15, INTERPOLATED=0; total 29266 ported entries, plus 143 binary-proven entries no PAL entry covers (section below) = **29409** lines in MAP.txt. UNVERIFIED and DROPPED entries are never written to MAP.txt. + +### Binary-proven entries added (step H: NTSC-U entry points no ported PAL entry covers) + +Emitted as unnamed placeholders (`hexaddr 0xhexaddr`). Strong classes are taken as proven; the pointer-referenced classes must also pass the structural check (not a conditional-branch target, terminator before, decodable first instruction) because no PAL entry vouches for them. Each address is counted once, under the first class that applies. + +| evidence class | added | +|---|---| +| ctors/dtors table entry (DOL) | 0 | +| ctors/dtors table entry (REL) | 11 | +| REL prolog/epilog/unresolved | 0 | +| DOL entry point | 0 | +| bl target (DOL text) | 0 | +| bl target (REL R_PPC_REL24 relocation into the DOL) | 1 | +| bl target (REL text, link-resolved) | 13 | +| extabindex function record | 0 | +| pointer-referenced text address (DOL data word) | 0 | +| pointer-referenced text address (REL R_PPC_ADDR32) | 118 | +| total added | 143 | + +Constructor/destructor tables: DOL .ctors 43 entries, 0 previously missing from the map; DOL .dtors 2 entries, 0 previously missing from the map; REL .ctors 192 entries, 11 previously missing from the map; REL .dtors 1 entries, 0 previously missing from the map. +Not added: 59 pointer-referenced addresses that failed the structural check (jump-table targets and similar), 110058 addresses with only weak evidence (conditional/unconditional branch targets, lis/addi pairs, jump-table-like runs). Strong additions that are also a conditional-branch target: 0. + +ctors/dtors table entry (REL) (11): + +```text +805b69b4 8061e8d8 80623dec 80625410 807d6b6c 807df5a0 807ede74 8083a93c 8083e2ec 808425bc 808428cc +``` + +bl target (REL R_PPC_REL24 relocation into the DOL) (1): + +```text +80243f18 +``` + +bl target (REL text, link-resolved) (13): + +```text +8054f70c 8054f734 805512e4 805b3a8c 8064c754 8065cbe0 8065cc44 8065cc98 807139a0 807dc484 807ede88 8083c2e0 +8086868c +``` + +pointer-referenced text address (REL R_PPC_ADDR32) (118): + +```text +80551328 80551380 80551384 80551388 80551394 805513a0 8059eea4 805a0544 805a0584 805a05c4 805a0d20 805a2e30 +805b6984 806065fc 8060a958 80623d14 80623d20 80623d2c 80623d5c 80623d8c 80623dbc 806266f0 806c708c 806c7090 +806c7094 806d92e0 806eca4c 806eca50 8070ff20 8072297c 80723690 80723694 80724760 80724768 80726c78 80726c7c +80726c84 80726c8c 80726c94 80726c9c 80726ca4 80726cac 80726cb4 80726cb8 80726cf8 80726d00 80726d08 80726d10 +80726d18 80726d20 80726d28 80726d70 80726da0 807276d0 807276d8 807276e0 807276e8 80727730 80727760 8073f38c +8076005c 807600c0 807600c8 807600d0 807683b8 80775640 80775648 80775650 80777cf4 80777db0 80777e4c 80777e58 +80777e64 8077b7b4 8077ccc8 8077ccd0 8079f1a8 8079f1fc 807d4ef8 807d6b50 807dad60 807dad68 807dad70 807df580 +807df588 807df594 807df5cc 807df5d4 807df5dc 807ede0c 807ede68 807edf58 807f7e94 8081bc00 8083e2d4 8083e2e0 +8083e318 8083e320 8083e328 8083e330 808425b0 808425d0 808425dc 8084264c 80842650 80842654 80842664 808426b8 +8084276c 808427fc 80842858 80842864 808428c0 808437f4 80850178 80852418 80855178 808587e8 +``` + +First-instruction quality of emitted entries (strong = typical prologue/first instruction, valid = any decodable instruction): IDENTITY/n/a=15, PLAUSIBLE/strong=4224, PLAUSIBLE/valid=276, PROVEN/strong=11986, PROVEN/valid=192, REFERENCED/strong=12503, REFERENCED/valid=70 + +### Reading the numbers + +- 24751 of 29792 entries land on an address the NTSC-U binaries reference as code (call target, exception-table record, entry point, function-pointer table, jump table for case labels); 4500 more sit right after a function terminator (or are verified switch dispatch sites) with a decodable first instruction. +- 206 UNVERIFIED entries are withheld: see the per-class breakdown in the Unverified section. None of the no-evidence ones lies near a chunk edge; they are surrounded by validated neighbours inside their chunk, which points at PAL-map noise (mid-function addresses, round addresses, names misplaced by one instruction) rather than at the chunk table. +- 320 DROPPED entries: jump tables and other data symbols the PAL map carries, PAL-only code regions with no NTSC-U counterpart, and chunk-table holes with no interpolation gap. +- The PAL project uses sda_base/sda2_base 0x8038CC00/0x8038EFA0; the NTSC-U values read below are the ones an NTSC-U project must configure. + +### Non-function labels carried by the PAL map + +The PAL map contains Ghidra-style labels that are not function starts: `*_caseD_N` switch case labels (validated here by a jump-table reference at the ported address), `*_switch` dispatch points (validated as `mtctr`+`bctr`), and `switchdataD_*` jump tables (data, never code). They are ported with the same rules; the verdict spread per class: + +| class | entries | PROVEN | REFERENCED | PLAUSIBLE | IDENTITY | INTERPOLATED | UNVERIFIED | DROPPED | +|---|---|---|---|---|---|---|---|---| +| case | 2359 | 0 | 2358 | 1 | 0 | 0 | 0 | 0 | +| switch | 197 | 1 | 0 | 196 | 0 | 0 | 0 | 0 | +| data | 140 | 0 | 0 | 0 | 0 | 0 | 0 | 140 | + +### Chunk-edge extent check + +249 emitted chunk-ported entries sit at a chunk edge (their PAL successor is not ported by the same chunk). For these the PAL extent (distance to the next PAL entry) was compared with the NTSC-U extent (distance to the next emitted entry): 48 named and 20 unnamed entries differ. A difference means the function's size changed, the successor was dropped, or the chunk edge is sloppy; the address is still a verified entry point, but for named entries the name deserves a second look. + +| PAL | name | NTSC-U | verdict | PAL extent | NTSC-U extent | PAL successor | +|---|---|---|---|---|---|---| +| 80008004 | setDiscReadErrorMessage | 80008004 | PROVEN | 0xf0 | 0xb0 | 0x800080f4 (PROVEN) | +| 8000ac50 | SystemManager::Init | 8000ac10 | PROVEN | 0x328 | 0x2c8 | SystemManager::GetCountry (PLAUSIBLE) | +| 8000c094 | __DBEXIWriteRam | 80021a28 | PROVEN | 0xe0 | 0xe8 | _ftell (PROVEN) | +| 80240e0c | EGG::EGG__GlobalScreenCapture__AsRGB565 | 80244d28 | PROVEN | 0xc | 0x2c7328 | EGG::StateGX::Initialize (PROVEN) | +| 80244d6c | nw4r::g3d::ScnRfl::IsDerivedFrom | 80243eb0 | REFERENCED | 0x68 | 0x34c | switchdataD_80274dd4 (DROPPED) | +| 80550468 | isFastStaffGhostUnlocked | 80551204 | PROVEN | 0xe0 | 0x1a8 | 0x80550548 (PLAUSIBLE) | +| 805556a8 | Random::NextFloatLimited | 8054f688 | PROVEN | 0x84 | 0x178 | 0x8055572c (PLAUSIBLE) | +| 805758a4 | Kart::Zipper::End | 805b042c | PROVEN | 0x40 | 0x160 | 0x805758e4 (DROPPED) | +| 80583b88 | Kart::Movement::UpdateStickyRoad | 8057d324 | PROVEN | 0x3a4 | 0x3e4 | 0x80583f2c (PROVEN) | +| 8059ea3c | ScnMgrMii::LoadLights | 805b3a24 | REFERENCED | 0x68 | 0xb8 | 0x8059eaa4 (PLAUSIBLE) | +| 805aaf64 | AutoCameraMoverRace::__ct | 8059ff34 | PROVEN | 0x610 | 0x6d0 | AutoCameraMoverRace::ResetActions (PROVEN) | +| 805be610 | PushButton::GetRuntimeTypeInfo | 805b6978 | REFERENCED | 0xc | 0x5c | PushButton::TriggerPtmf (DROPPED) | +| 805bf290 | Pages::MKChannelExplanation::OnBackPress | 80623ccc | REFERENCED | 0x48 | 0x13c | 0x805bf2d8 (REFERENCED) | +| 805c576c | TriggerPtmf | 806253e0 | REFERENCED | 0x30 | 0x44 | 0x805c579c (DROPPED) | +| 805cbea4 | Pages::EndingMovie::OnInit | 806264ec | REFERENCED | 0x204 | 0x270 | Pages::EndingMovie::OnActivate (DROPPED) | +| 80620c5c | RKSYSRequester::Init | 805efdd0 | PROVEN | 0x148 | 0x120 | RKSYSRequester::Close (PROVEN) | +| 80634e44 | SectionMgr::Init | 80603f90 | PROVEN | 0x15c | 0x178 | SectionMgr::GetBootSectionSceneId (PROVEN) | +| 8063748c | SheetSelectControlScaleFade::GetArrowAnimationType | 806065f4 | REFERENCED | 0x8 | 0xb0 | SheetSelectControlScaleFade::GetRuntimeTypeInfo (REFERENCED) | +| 80637a20 | SystemBMGHolder::Init | 8064c710 | PROVEN | 0x6c | 0x7c | SystemBMGHolder::GetMessage (DROPPED) | +| 8063bbe4 | Pages::TitleMovie::OnInit | 8060a844 | REFERENCED | 0x114 | 0x1e0 | Pages::TitleMovie::OnActivate (DROPPED) | +| 80651bbc | Pages::SELECTStageMgr::TriggerPtmf | 8061e8a8 | REFERENCED | 0x30 | 0x44 | CountDownTimerPage_cpp_sinit_ (PROVEN) | +| 80665480 | RKNet::RH1Handler::ExportDefaultPacket2 | 8065cb28 | PROVEN | 0xb8 | 0x24c | 0x80665538 (PROVEN) | +| 806d02b4 | Objects::Heyho::GetPropertiesBitfield | 806c3d28 | REFERENCED | 0x8 | 0x10 | 0x806d02bc (REFERENCED) | +| 806d5c1c | Objects::K_car_tire::__dt | 806c704c | REFERENCED | 0x40 | 0x4c | Objects::HighwayManager::LoadClipInfo (DROPPED) | +| 806ec7b8 | Objects::HwanwanBall::GetPropertiesBitfield | 806f1e64 | REFERENCED | 0x8 | 0x10 | Objects::HwanwanBall::__dt(thunk) (DROPPED) | +| 806f88f4 | Audio::Handle::__dt | 806f38e4 | PLAUSIBLE | 0x40 | 0x94 | Audio::SinglePlayer::__dt (PROVEN) | +| 806fa2ac | Audio::StreamsMgr::PrepareStreams | 806f52f0 | PROVEN | 0x150 | 0x1a4 | Audio::StreamsMgr::ChangeStreamVolume (PLAUSIBLE) | +| 806fe1b4 | EGG::SoundHeapMgr::LoadState(using) | 806f924c | PLAUSIBLE | 0x8c | 0xe4 | EGG::SoundHeapMgr::GetCurrentLevel(using) (REFERENCED) | +| 807179b4 | Audio::Manager::SetupMemoryArchive | 8070ff10 | REFERENCED | 0x10 | 0x9c | Audio::Manager::HoldSound (REFERENCED) | +| 8072a88c | AI::CPUDriving::IsBattle | 80723688 | REFERENCED | 0x8 | 0x10 | 0x8072a894 (REFERENCED) | +| 8076f2d8 | Objects::ItemDropper::OnNormalItemCollision | 8077b7b0 | REFERENCED | 0x4 | 0x8 | Objects::ItemDropper::OnImperviousItemCollision (PLAUSIBLE) | +| 80773c08 | Objects::MiiKanban::OnStart | 8077ccbc | REFERENCED | 0xc | 0x54 | Objects::MiiKanban::GetPropertiesBitfield (DROPPED) | +| 807a8138 | Item::ObjGesso::CreateArray | 8079f12c | REFERENCED | 0x7c | 0xec | Item::Player::UseBlooper (REFERENCED) | +| 807a9d3c | Item::Player::UseMushroom | 807d6afc | REFERENCED | 0x54 | 0x98 | Item::ObjKinoko::InitSelf (DROPPED) | +| 807d9b0c | DriverCalcWorldCB::ExecCallbackC | 807dacec | REFERENCED | 0x74 | 0x8c | DriverCalcWorldCB::ExecCallbackC(thunk) (DROPPED) | +| 807dbcc4 | ToadetteHair::CalcWorldCB::__dt(thunk) | 807dc47c | REFERENCED | 0x8 | 0x90 | 0x807dbccc (PLAUSIBLE) | +| 807e2514 | StageButton::GetRuntimeTypeInfo | 8083e2c8 | REFERENCED | 0xc | 0x74 | CtrlMenuMovieButton::GetMovieCount (DROPPED) | +| 807e5604 | CourseButton::GetRuntimeTypeInfo | 807df574 | REFERENCED | 0xc | 0x70 | CtrlMenuCourseSelectCup::GetRuntimeTypeInfo (DROPPED) | +| 807ee990 | CtrlRaceGhostDiffTime::__dt | 8084252c | REFERENCED | 0x84 | 0x3bc | CtrlRaceGhostDiffTime::GetRuntimeTypeInfo (REFERENCED) | +| 807f88e8 | CtrlRaceTime::OnFocus | 807edde8 | REFERENCED | 0x24 | 0x1b0 | CtrlRaceTime::__dt (DROPPED) | +| 807f9278 | GeoHitTableHolder::__ct | 808436b0 | PROVEN | 0xd0 | 0x1f4 | GeoHitTableHolder::__dt (DROPPED) | +| 8080597c | Objects::bblock::UpdateModelScale | 807f7e04 | REFERENCED | 0x90 | 0xd0 | Objects::bblock::__dt (REFERENCED) | +| 80833474 | MenuKartModelMgr::GetMenuKartModel | 8085014c | PROVEN | 0x2c | 0x6c | MenuKartModelMgr::__dt (DROPPED) | +| 80833840 | ObjectCollisionCuboid::__ct | 8081b940 | PROVEN | 0x2c0 | 0x2c8 | ObjectCollisionCuboid::SetPositionAndScale (REFERENCED) | +| 8083b014 | Pages::BattleKartSelect::__dt | 8085236c | REFERENCED | 0xac | 0xb8 | Pages::BattleKartSelect::GetRuntimeTypeInfo (DROPPED) | +| 80852be0 | Pages::VSModeSelect::__dt | 80858768 | REFERENCED | 0x80 | 0x8c | Pages::VSModeSelect::GetRuntimeTypeInfo (REFERENCED) | +| 8085c39c | TriggerPtmf | 8083a90c | REFERENCED | 0x30 | 0x44 | 0x8085c3cc (PROVEN) | +| 80860e08 | GetMapIconPaneName | 8083c1bc | PROVEN | 0x124 | 0x534 | 0x80860f2c (PROVEN) | + +### SDA bases read from the NTSC-U `__init_registers` + +- `__init_registers` PAL `80006210` -> NTSC-U `80006210` +- Result: **r13=0x80388880 (matches expectation); r2=0x8038AC20 (matches expectation)** +- All lis/ori(addi) register values materialised in the function: r1=0x80394E00, r2=0x8038AC20, r13=0x80388880 + +```text +80006210 38000000 li r0,0 +80006214 38600000 li r3,0 +80006218 38800000 li r4,0 +8000621c 38a00000 li r5,0 +80006220 38c00000 li r6,0 +80006224 38e00000 li r7,0 +80006228 39000000 li r8,0 +8000622c 39200000 li r9,0 +80006230 39400000 li r10,0 +80006234 39600000 li r11,0 +80006238 39800000 li r12,0 +8000623c 39c00000 li r14,0 +80006240 39e00000 li r15,0 +80006244 3a000000 li r16,0 +80006248 3a200000 li r17,0 +8000624c 3a400000 li r18,0 +80006250 3a600000 li r19,0 +80006254 3a800000 li r20,0 +80006258 3aa00000 li r21,0 +8000625c 3ac00000 li r22,0 +80006260 3ae00000 li r23,0 +80006264 3b000000 li r24,0 +80006268 3b200000 li r25,0 +8000626c 3b400000 li r26,0 +80006270 3b600000 li r27,0 +80006274 3b800000 li r28,0 +80006278 3ba00000 li r29,0 +8000627c 3bc00000 li r30,0 +80006280 3be00000 li r31,0 +80006284 3c208039 lis r1,0x8039 +80006288 60214e00 ori r1,r1,0x4e00 +8000628c 3c408038 lis r2,0x8038 +80006290 6042ac20 ori r2,r2,0xac20 +80006294 3da08038 lis r13,0x8038 +80006298 61ad8880 ori r13,r13,0x8880 +8000629c 4e800020 blr +``` + +### Save/restore thunk families (resolved by name in GuestSaveRestoreThunks.cs) + +**`_save_gpr_N`** (stw rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-U | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _save_gpr_14 | 8002156c | 80020a0c | PROVEN | 91cbffb8 | 91cbffb8 | stw r14,-72(r11) | yes | +| _save_gpr_15 | 80021570 | 80020a10 | PROVEN | 91ebffbc | 91ebffbc | stw r15,-68(r11) | yes | +| _save_gpr_16 | 80021574 | 80020a14 | PROVEN | 920bffc0 | 920bffc0 | stw r16,-64(r11) | yes | +| _save_gpr_17 | 80021578 | 80020a18 | PROVEN | 922bffc4 | 922bffc4 | stw r17,-60(r11) | yes | +| _save_gpr_18 | 8002157c | 80020a1c | PROVEN | 924bffc8 | 924bffc8 | stw r18,-56(r11) | yes | +| _save_gpr_19 | 80021580 | 80020a20 | PROVEN | 926bffcc | 926bffcc | stw r19,-52(r11) | yes | +| _save_gpr_20 | 80021584 | 80020a24 | PROVEN | 928bffd0 | 928bffd0 | stw r20,-48(r11) | yes | +| _save_gpr_21 | 80021588 | 80020a28 | PROVEN | 92abffd4 | 92abffd4 | stw r21,-44(r11) | yes | +| _save_gpr_22 | 8002158c | 80020a2c | PROVEN | 92cbffd8 | 92cbffd8 | stw r22,-40(r11) | yes | +| _save_gpr_23 | 80021590 | 80020a30 | PROVEN | 92ebffdc | 92ebffdc | stw r23,-36(r11) | yes | +| _save_gpr_24 | 80021594 | 80020a34 | PROVEN | 930bffe0 | 930bffe0 | stw r24,-32(r11) | yes | +| _save_gpr_25 | 80021598 | 80020a38 | PROVEN | 932bffe4 | 932bffe4 | stw r25,-28(r11) | yes | +| _save_gpr_26 | 8002159c | 80020a3c | PROVEN | 934bffe8 | 934bffe8 | stw r26,-24(r11) | yes | +| _save_gpr_27 | 800215a0 | 80020a40 | PROVEN | 936bffec | 936bffec | stw r27,-20(r11) | yes | + +**`_rest_gpr_N`** (lwz rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-U | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _rest_gpr_14 | 800215b8 | 80020a58 | PROVEN | 81cbffb8 | 81cbffb8 | lwz r14,-72(r11) | yes | +| _rest_gpr_15 | 800215bc | 80020a5c | PROVEN | 81ebffbc | 81ebffbc | lwz r15,-68(r11) | yes | +| _rest_gpr_16 | 800215c0 | 80020a60 | PROVEN | 820bffc0 | 820bffc0 | lwz r16,-64(r11) | yes | +| _rest_gpr_17 | 800215c4 | 80020a64 | PROVEN | 822bffc4 | 822bffc4 | lwz r17,-60(r11) | yes | +| _rest_gpr_18 | 800215c8 | 80020a68 | PROVEN | 824bffc8 | 824bffc8 | lwz r18,-56(r11) | yes | +| _rest_gpr_19 | 800215cc | 80020a6c | PROVEN | 826bffcc | 826bffcc | lwz r19,-52(r11) | yes | +| _rest_gpr_20 | 800215d0 | 80020a70 | PROVEN | 828bffd0 | 828bffd0 | lwz r20,-48(r11) | yes | +| _rest_gpr_21 | 800215d4 | 80020a74 | PROVEN | 82abffd4 | 82abffd4 | lwz r21,-44(r11) | yes | +| _rest_gpr_22 | 800215d8 | 80020a78 | PROVEN | 82cbffd8 | 82cbffd8 | lwz r22,-40(r11) | yes | +| _rest_gpr_23 | 800215dc | 80020a7c | PROVEN | 82ebffdc | 82ebffdc | lwz r23,-36(r11) | yes | +| _rest_gpr_24 | 800215e0 | 80020a80 | PROVEN | 830bffe0 | 830bffe0 | lwz r24,-32(r11) | yes | +| _rest_gpr_25 | 800215e4 | 80020a84 | PROVEN | 832bffe4 | 832bffe4 | lwz r25,-28(r11) | yes | +| _rest_gpr_26 | 800215e8 | 80020a88 | PROVEN | 834bffe8 | 834bffe8 | lwz r26,-24(r11) | yes | +| _rest_gpr_27 | 800215ec | 80020a8c | PROVEN | 836bffec | 836bffec | lwz r27,-20(r11) | yes | + +**`_save_fpr_N`** (stfd rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-U | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _save_fpr_23 | 800214f8 | 80020998 | PROVEN | daebffb8 | daebffb8 | stfd f23,-72(r11) | yes | +| _save_fpr_28 | 8002150c | 800209ac | PROVEN | db8bffe0 | db8bffe0 | stfd f28,-32(r11) | yes | + +**`_rest_fpr_N`** (lfd rN,-off(r11)): OK - full run to r31 verified + +| name | PAL | NTSC-U | verdict | expected | actual | decoded | ok | +|---|---|---|---|---|---|---|---| +| _rest_fpr_23 | 80021544 | 800209e4 | PROVEN | caebffb8 | caebffb8 | lfd f23,-72(r11) | yes | +| _rest_fpr_28 | 80021558 | 800209f8 | PROVEN | cb8bffe0 | cb8bffe0 | lfd f28,-32(r11) | yes | + +## Evidence set K (NTSC-U function entry points proven by the binaries) + +- Strong (bl target / extabindex record / entry point): **12203** addresses +- Medium only (function-pointer word, ADDR32/ADDR16 relocation, lis/addi pair): **11591** addresses +- Weak only (`b` target, not used for verdicts): 22598 addresses +- Jump-table-like pointer runs (excluded from REFERENCED): 260 runs, 1756 addresses referenced only from them + +| source | count | +|---|---| +| dol.text0: bl sites | 18 | +| dol.text0: b sites | 11 | +| dol.text0: conditional-branch targets (negative signal) | 34 | +| dol.text0: lis/addi code-address pairs | 27 | +| dol.text1: bl sites | 36828 | +| dol.text1: b sites | 22755 | +| dol.text1: conditional-branch targets (negative signal) | 47327 | +| dol.text1: lis/addi code-address pairs | 858 | +| rel.text: bl sites | 37502 | +| rel.text: b sites | 25447 | +| rel.text: conditional-branch targets (negative signal) | 64515 | +| dol.ctors: table entries | 43 | +| dol.dtors: table entries | 2 | +| rel.ctors: table entries (unique targets) | 192 | +| rel.dtors: table entries (unique targets) | 1 | +| dol.extabindex: function records | 180 | +| dol.extabindex: non-record words (footer/padding) | 2 | +| rel: REL24 bl relocations | 18813 | +| rel: REL24 b relocations | 155 | +| rel: ADDR16_LO/HI/HA relocations into text | 2172 | +| rel: ADDR32 relocations into text | 31286 | +| rel: function-pointer words | 30068 | +| rel: pointer runs classified as jump tables (words) | 1218 | +| dol: function-pointer words | 4096 | +| dol: pointer runs classified as jump tables (words) | 1824 | + +REL relocation type counts (module, type): (0,1)=156, (0,4)=1688, (0,6)=1287, (0,10)=18968, (0,201)=1, (0,202)=2, (0,203)=1, (1,1)=33010, (1,4)=32005, (1,6)=27641, (1,202)=5, (1,203)=1 + +## Binary layout check (parsed headers vs vendored mkw-sp table) + +- DOL init: 80004000-80006460 OK +- DOL extab: 80006460-80006a20 OK +- DOL extabindex: 80006a20-800072c0 OK +- DOL text: 800072c0-80244d40 OK +- DOL ctors: 80244d40-80244e00 OK +- DOL dtors: 80244e00-80244e20 OK +- DOL rodata: 80244e40-80258260 OK +- DOL data: 80258260-8029fd00 OK +- DOL sdata: 80380880-80381c40 OK +- DOL sdata2: 80382c20-80384dc0 OK +- REL text: 8050c034-8088afd0 OK +- REL ctors: 8088afd0-8088b2d4 OK +- REL dtors: 8088b2d4-8088b2e0 OK +- REL rodata: 8088b2e0-808ae520 OK +- REL data: 808ae520-808d8c7c OK +- REL bss: 809b8f20-809c07d0 OK + +## Interpolation gaps (step C.2) + +| PAL gap | NTSC-U gap | unported | K candidates | outcome | +|---|---|---|---|---| +| 80225f04..80226734 | 80225e64..802263b0 | 8 | 0 | rejected: count mismatch | +| 80244c0c..80510468 | 80243d50..8050c0e8 | 154 | 0 | rejected: 8 entries from other chunks land inside the NTSC gap | +| 8051088c..80510d7c | 8050c50c..8050c908 | 2 | 0 | rejected: count mismatch | +| 80553788..80553b88 | 8054d830..8054db68 | 7 | 0 | rejected: count mismatch | +| 805758a4..80575a44 | 805b042c..8056f1e0 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 805a0550..805a0868 | 8059682c..805b3ca4 | 4 | 0 | rejected: 502 entries from other chunks land inside the NTSC gap | +| 805a1424..805a15e0 | 805b4860..805b4a0c | 2 | 0 | rejected: count mismatch | +| 805be430..805be66c | 805b678c..8062310c | 2 | 0 | rejected: 3323 entries from other chunks land inside the NTSC gap | +| 805bee4c..805bfbf4 | 80623888..805b71f8 | 7 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 805c4768..805c57b0 | 806243dc..805bb800 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 805cbd88..805cc3b8 | 806263d0..8062695c | 1 | 0 | rejected: count mismatch | +| 805dbd94..805dc840 | 8062c308..8062cd5c | 1 | 0 | rejected: count mismatch | +| 80637a20..80637ad0 | 8064c710..80606730 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 8063bb08..8063c0ac | 8060a768..8060ac8c | 1 | 0 | rejected: count mismatch | +| 8064ab08..8064aef8 | 8064e290..80617be4 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 8065b048..8065b4e8 | 80656bc0..80656ecc | 5 | 0 | rejected: count mismatch | +| 806c48a8..806c5354 | 806e6594..806e7024 | 1 | 0 | rejected: count mismatch | +| 806c5de0..806c63b0 | 806e7ab0..806e8078 | 1 | 0 | rejected: count mismatch | +| 806ce03c..806ce828 | 806e99b8..806c229c | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 806d2368..806d2908 | 806ec248..806c3d38 | 4 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 806d5700..806d5c74 | 806c6b30..806ec7e8 | 1 | 0 | rejected: 715 entries from other chunks land inside the NTSC gap | +| 806f7610..806f7828 | 806f3188..80713adc | 4 | 0 | rejected: 834 entries from other chunks land inside the NTSC gap | +| 806f7828..806f7aa8 | 80713adc..80713d08 | 1 | 0 | rejected: count mismatch | +| 80700184..80700230 | 80715c24..80715c44 | 1 | 0 | rejected: count mismatch | +| 80728088..807284d0 | 8073e0f0..8073e528 | 3 | 0 | rejected: count mismatch | +| 807284d0..8072868c | 8073e528..8073e6e0 | 1 | 0 | rejected: count mismatch | +| 80729218..80729350 | 8073f26c..80722144 | 3 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 8072d9d4..8072dfd0 | 807267e8..8073f394 | 18 | 0 | rejected: 612 entries from other chunks land inside the NTSC gap | +| 8072fb7c..80730108 | 80740f40..807414b4 | 3 | 0 | rejected: count mismatch | +| 807308dc..80730b40 | 8072752c..80741544 | 3 | 0 | rejected: 664 entries from other chunks land inside the NTSC gap | +| 8075daec..8075db3c | 80775608..80750f60 | 3 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 80769280..80769634 | 80777b88..80777e90 | 8 | 0 | rejected: count mismatch | +| 8076d044..8076ebe0 | 8075a95c..8077b0b8 | 1 | 0 | rejected: 665 entries from other chunks land inside the NTSC gap | +| 80771fb0..80772704 | 8075f1c8..8077b7b8 | 1 | 0 | rejected: 627 entries from other chunks land inside the NTSC gap | +| 80773930..80773c5c | 8077c9e4..8075f91c | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 80773d00..807743a4 | 8075f9c0..80760110 | 1 | 0 | rejected: count mismatch | +| 8077c8f4..8077cec8 | 80767e24..8077d54c | 1 | 0 | rejected: 464 entries from other chunks land inside the NTSC gap | +| 807a9c98..807a9ec0 | 807d6a58..8079f218 | 5 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807d9798..807d9b98 | 807da978..807cad0c | 3 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807dc8b8..807dcda0 | 807cc320..807cc780 | 1 | 0 | rejected: count mismatch | +| 807e1d80..807e25a8 | 8083db34..807dc518 | 10 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807e4f7c..807e5688 | 807deeec..807df618 | 3 | 1 | rejected: count mismatch | +| 807e9c10..807e9cd0 | 80841b38..807e0424 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807edda4..807ee474 | 80841b78..80842010 | 2 | 0 | rejected: a ported entry inside the PAL gap lies outside the NTSC gap | +| 807ef9e4..807efd18 | 807e56d4..807e56f0 | 13 | 0 | rejected: count mismatch | +| 807f7970..807f7bd0 | 80842b6c..807ed0d0 | 2 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807f8878..807f8974 | 807edd78..80842dac | 1 | 0 | rejected: 1583 entries from other chunks land inside the NTSC gap | +| 807f9278..807fab58 | 808436b0..807edf98 | 5 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 807fed80..807ffb20 | 80845090..807f1fa8 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 80833474..808334e0 | 8085014c..8081b5e0 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 80838b18..80838e60 | 80820c20..808501b8 | 1 | 0 | rejected: 946 entries from other chunks land inside the NTSC gap | +| 8083ad54..8083b0cc | 808520ac..80820f54 | 1 | 0 | rejected: NTSC neighbours not ascending (chunk reordering) | +| 80841744..80842340 | 80826ce4..80852d0c | 1 | 0 | rejected: 864 entries from other chunks land inside the NTSC gap | +| 808516bc..80851d38 | 808320a8..808578c0 | 1 | 0 | rejected: 810 entries from other chunks land inside the NTSC gap | +| 80862d58..8086382c | 8085ed38..8085f3fc | 1 | 0 | rejected: count mismatch | +| 8086bc1c..8086c68c | 808780bc..80878abc | 1 | 0 | rejected: count mismatch | +| 8086c68c..8086e224 | 80878abc..8087a59c | 3 | 0 | rejected: count mismatch | + +## Collisions (two PAL entries porting to one NTSC-U address) + +The named entry is kept (both PAL entries are functions, so the address is a real entry point either way; only the name is in question). Extents are the distance to the next PAL entry / next emitted NTSC-U entry: the PAL entry whose extent matches the NTSC-U extent is the likelier owner of the address. + +| NTSC-U | PAL entries | NTSC-U extent | kept | +|---|---|---|---| +| 80225e74 | 0x80225f14 (PAL 80225f14, chunk, extent 0x50); EGG:ExpParticleManager::__ct (PAL 802261f8, chunk, extent 0x58) | 0x58 | EGG:ExpParticleManager::__ct | +| 8059682c | 0x805a0550 (PAL 805a0550, chunk, extent 0x50); CameraLink::__ct (PAL 805a1864, chunk, extent 0x58) | 0x58 | CameraLink::__ct | +| 80660694 | 0x8065fa0c (PAL 8065fa0c, chunk, extent 0x40); RKNet::USERHandler::CreateInstance (PAL 80662778, chunk, extent 0x80) | 0x80 | RKNet::USERHandler::CreateInstance | +| 806d8564 | Objects::Wanwan::__dt (PAL 806e95a8, chunk, extent 0x8); Objects::HwanwanBall::__dt(thunk) (PAL 806ec7c0, chunk, extent 0x8) | 0x8 | Objects::Wanwan::__dt | + +## Dropped entries (320) + +| PAL | name | reason | +|---|---|---| +| 80225f14 | 0x80225f14 | collision at 80225e74; kept 'EGG:ExpParticleManager::__ct' (PAL 802261f8) | +| 80225f64 | 0x80225f64 | outside every chunk; no interpolation gap | +| 80225fa4 | 0x80225fa4 | outside every chunk; no interpolation gap | +| 8022600c | 0x8022600c | outside every chunk; no interpolation gap | +| 80226060 | 0x80226060 | outside every chunk; no interpolation gap | +| 8022609c | 0x8022609c | outside every chunk; no interpolation gap | +| 802260f4 | 0x802260f4 | outside every chunk; no interpolation gap | +| 802261a8 | 0x802261a8 | outside every chunk; no interpolation gap | +| 802261ec | 0x802261ec | outside every chunk; no interpolation gap | +| 80244dd4 | switchdataD_80274dd4 | outside every chunk; no interpolation gap | +| 802474a0 | switchdataD_802474a0 | outside every chunk; no interpolation gap | +| 80270e30 | switchdataD_80270e30 | outside every chunk; no interpolation gap | +| 80271190 | switchdataD_80271190 | outside every chunk; no interpolation gap | +| 80271270 | switchdataD_80271270 | outside every chunk; no interpolation gap | +| 802713c0 | switchdataD_802713c0 | outside every chunk; no interpolation gap | +| 802714a0 | switchdataD_802714a0 | outside every chunk; no interpolation gap | +| 802714c0 | switchdataD_802714c0 | outside every chunk; no interpolation gap | +| 802714e0 | switchdataD_802714e0 | outside every chunk; no interpolation gap | +| 80271630 | switchdataD_80271630 | outside every chunk; no interpolation gap | +| 80271710 | switchdataD_80271710 | outside every chunk; no interpolation gap | +| 802718d0 | switchdataD_802718d0 | outside every chunk; no interpolation gap | +| 80271ab8 | switchdataD_80271ab8 | outside every chunk; no interpolation gap | +| 80271ad4 | switchdataD_80271ad4 | outside every chunk; no interpolation gap | +| 802726a0 | rnd_3DModels(NW4R)_802726a0 | outside every chunk; no interpolation gap | +| 802726c0 | rnd_Palettes(NW4R)_802726c0 | outside every chunk; no interpolation gap | +| 802726e0 | rnd_Textures(NW4R)_802726e0 | outside every chunk; no interpolation gap | +| 80272700 | rnd_AnmChr(NW4R)_80272700 | outside every chunk; no interpolation gap | +| 80272720 | rnd_AnmVis(NW4R)_80272720 | outside every chunk; no interpolation gap | +| 80272740 | rnd_AnmClr(NW4R)_80272740 | outside every chunk; no interpolation gap | +| 80272760 | rnd_AnmTexPat(NW4R)_80272760 | outside every chunk; no interpolation gap | +| 80272780 | rnd_AnmTexSrt(NW4R)_80272780 | outside every chunk; no interpolation gap | +| 802727a0 | rnd_AnmShp(NW4R)_802727a0 | outside every chunk; no interpolation gap | +| 802727c0 | rnd_AnmScn(NW4R)_802727c0 | outside every chunk; no interpolation gap | +| 80272810 | switchdataD_80272810 | outside every chunk; no interpolation gap | +| 80273088 | switchdataD_80273088 | outside every chunk; no interpolation gap | +| 802730b0 | switchdataD_802730b0 | outside every chunk; no interpolation gap | +| 80274520 | switchdataD_80274520 | outside every chunk; no interpolation gap | +| 80274578 | switchdataD_80274578 | outside every chunk; no interpolation gap | +| 80275018 | switchdataD_80275018 | outside every chunk; no interpolation gap | +| 80275700 | switchdataD_80275700 | outside every chunk; no interpolation gap | +| 80275a20 | switchdataD_80275a20 | outside every chunk; no interpolation gap | +| 80275cfc | switchdataD_80275cfc | outside every chunk; no interpolation gap | +| 80276954 | switchdataD_80276954 | outside every chunk; no interpolation gap | +| 802775e8 | switchdataD_802775e8 | outside every chunk; no interpolation gap | +| 80277d68 | switchdataD_80277d68 | outside every chunk; no interpolation gap | +| 80278cf0 | switchdataD_80278cf0 | outside every chunk; no interpolation gap | +| 80279af0 | switchdataD_80279af0 | outside every chunk; no interpolation gap | +| 80279b10 | switchdataD_80279b10 | outside every chunk; no interpolation gap | +| 80279b30 | switchdataD_80279b30 | outside every chunk; no interpolation gap | +| 80279b50 | switchdataD_80279b50 | outside every chunk; no interpolation gap | +| 80279b94 | switchdataD_80279b94 | outside every chunk; no interpolation gap | +| 8027a200 | switchdataD_8027a200 | outside every chunk; no interpolation gap | +| 8027a2d8 | switchdataD_8027a2d8 | outside every chunk; no interpolation gap | +| 8027a314 | switchdataD_8027a314 | outside every chunk; no interpolation gap | +| 8027a350 | switchdataD_8027a350 | outside every chunk; no interpolation gap | +| 8027a624 | switchdataD_8027a624 | outside every chunk; no interpolation gap | +| 8027b878 | switchdataD_8027b878 | outside every chunk; no interpolation gap | +| 8027ba5c | switchdataD_8027ba5c | outside every chunk; no interpolation gap | +| 8027bb2c | switchdataD_8027bb2c | outside every chunk; no interpolation gap | +| 8027bc28 | switchdataD_8027bc28 | outside every chunk; no interpolation gap | +| 8027bc44 | switchdataD_8027bc44 | outside every chunk; no interpolation gap | +| 8027d1a8 | switchdataD_8027d1a8 | outside every chunk; no interpolation gap | +| 8027ddf8 | switchdataD_8027ddf8 | outside every chunk; no interpolation gap | +| 80282cb0 | switchdataD_80282cb0 | outside every chunk; no interpolation gap | +| 80282cd8 | switchdataD_80282cd8 | outside every chunk; no interpolation gap | +| 80282d5c | switchdataD_80282d5c | outside every chunk; no interpolation gap | +| 80282d84 | switchdataD_80282d84 | outside every chunk; no interpolation gap | +| 80282f08 | switchdataD_80282f08 | outside every chunk; no interpolation gap | +| 80282f2c | switchdataD_80282f2c | outside every chunk; no interpolation gap | +| 80283220 | switchdataD_80283220 | outside every chunk; no interpolation gap | +| 80284d2c | switchdataD_80284d2c | outside every chunk; no interpolation gap | +| 80284e58 | switchdataD_80284e58 | outside every chunk; no interpolation gap | +| 80284e7c | switchdataD_80284e7c | outside every chunk; no interpolation gap | +| 80284ee8 | switchdataD_80284ee8 | outside every chunk; no interpolation gap | +| 80284f08 | switchdataD_80284f08 | outside every chunk; no interpolation gap | +| 80285c30 | switchdataD_80285c30 | outside every chunk; no interpolation gap | +| 80285cf0 | switchdataD_80285cf0 | outside every chunk; no interpolation gap | +| 80285d94 | switchdataD_80285d94 | outside every chunk; no interpolation gap | +| 80285e58 | switchdataD_80285e58 | outside every chunk; no interpolation gap | +| 80285fc0 | switchdataD_80285fc0 | outside every chunk; no interpolation gap | +| 80286054 | switchdataD_80286054 | outside every chunk; no interpolation gap | +| 802861e8 | switchdataD_802861e8 | outside every chunk; no interpolation gap | +| 80286274 | switchdataD_80286274 | outside every chunk; no interpolation gap | +| 80286338 | switchdataD_80286338 | outside every chunk; no interpolation gap | +| 802863d0 | switchdataD_802863d0 | outside every chunk; no interpolation gap | +| 8028697c | switchdataD_8028697c | outside every chunk; no interpolation gap | +| 80287078 | switchdataD_80287078 | outside every chunk; no interpolation gap | +| 80287110 | switchdataD_80287110 | outside every chunk; no interpolation gap | +| 80287190 | switchdataD_80287190 | outside every chunk; no interpolation gap | +| 802871d8 | switchdataD_802871d8 | outside every chunk; no interpolation gap | +| 8028725c | switchdataD_8028725c | outside every chunk; no interpolation gap | +| 802872b4 | switchdataD_802872b4 | outside every chunk; no interpolation gap | +| 80287388 | switchdataD_80287388 | outside every chunk; no interpolation gap | +| 802873f0 | switchdataD_802873f0 | outside every chunk; no interpolation gap | +| 80287488 | switchdataD_80287488 | outside every chunk; no interpolation gap | +| 80287528 | switchdataD_80287528 | outside every chunk; no interpolation gap | +| 8028758c | switchdataD_8028758c | outside every chunk; no interpolation gap | +| 802875f4 | switchdataD_802875f4 | outside every chunk; no interpolation gap | +| 802879e0 | switchdataD_802879e0 | outside every chunk; no interpolation gap | +| 80287da8 | switchdataD_80287da8 | outside every chunk; no interpolation gap | +| 80287e40 | switchdataD_80287e40 | outside every chunk; no interpolation gap | +| 80287e60 | switchdataD_80287e60 | outside every chunk; no interpolation gap | +| 80287e80 | switchdataD_80287e80 | outside every chunk; no interpolation gap | +| 80288404 | switchdataD_80288404 | outside every chunk; no interpolation gap | +| 802884b0 | switchdataD_802884b0 | outside every chunk; no interpolation gap | +| 8028855c | switchdataD_8028855c | outside every chunk; no interpolation gap | +| 80288614 | switchdataD_80288614 | outside every chunk; no interpolation gap | +| 802886c0 | switchdataD_802886c0 | outside every chunk; no interpolation gap | +| 80289fd0 | switchdataD_80289fd0 | outside every chunk; no interpolation gap | +| 8028a0a0 | switchdataD_8028a0a0 | outside every chunk; no interpolation gap | +| 8028a108 | switchdataD_8028a108 | outside every chunk; no interpolation gap | +| 8028a14c | switchdataD_8028a14c | outside every chunk; no interpolation gap | +| 8028a190 | switchdataD_8028a190 | outside every chunk; no interpolation gap | +| 8028a1d4 | switchdataD_8028a1d4 | outside every chunk; no interpolation gap | +| 8028a1f0 | switchdataD_8028a1f0 | outside every chunk; no interpolation gap | +| 8028a378 | switchdataD_8028a378 | outside every chunk; no interpolation gap | +| 8028a398 | switchdataD_8028a398 | outside every chunk; no interpolation gap | +| 8028a48c | switchdataD_8028a48c | outside every chunk; no interpolation gap | +| 8028a580 | switchdataD_8028a580 | outside every chunk; no interpolation gap | +| 8028a658 | switchdataD_8028a658 | outside every chunk; no interpolation gap | +| 8028a6b4 | switchdataD_8028a6b4 | outside every chunk; no interpolation gap | +| 8028b988 | switchdataD_8028b988 | outside every chunk; no interpolation gap | +| 8028b9b0 | switchdataD_8028b9b0 | outside every chunk; no interpolation gap | +| 8028ee58 | switchdataD_8028ee58 | outside every chunk; no interpolation gap | +| 8028f7dc | switchdataD_8028f7dc | outside every chunk; no interpolation gap | +| 80290820 | switchdataD_80290820 | outside every chunk; no interpolation gap | +| 8029c884 | switchdataD_8029c884 | outside every chunk; no interpolation gap | +| 8029ce88 | switchdataD_8029ce88 | outside every chunk; no interpolation gap | +| 8029da00 | switchdataD_8029da00 | outside every chunk; no interpolation gap | +| 8029da24 | switchdataD_8029da24 | outside every chunk; no interpolation gap | +| 8029dab0 | switchdataD_8029dab0 | outside every chunk; no interpolation gap | +| 8029dc28 | switchdataD_8029dc28 | outside every chunk; no interpolation gap | +| 8029dc4c | switchdataD_8029dc4c | outside every chunk; no interpolation gap | +| 8029e530 | switchdataD_8029e530 | outside every chunk; no interpolation gap | +| 802a010c | switchdataD_802a010c | outside every chunk; no interpolation gap | +| 802a0870 | switchdataD_802a0870 | outside every chunk; no interpolation gap | +| 802a0f68 | switchdataD_802a0f68 | outside every chunk; no interpolation gap | +| 802a1870 | switchdataD_802a1870 | outside every chunk; no interpolation gap | +| 802a18f8 | switchdataD_802a18f8 | outside every chunk; no interpolation gap | +| 802a19dc | switchdataD_802a19dc | outside every chunk; no interpolation gap | +| 802a2370 | switchdataD_802a2370 | outside every chunk; no interpolation gap | +| 802a23f8 | switchdataD_802a23f8 | outside every chunk; no interpolation gap | +| 802a2480 | switchdataD_802a2480 | outside every chunk; no interpolation gap | +| 802a2658 | switchdataD_802a2658 | outside every chunk; no interpolation gap | +| 802a2ba0 | switchdataD_802a2ba0 | outside every chunk; no interpolation gap | +| 802a31d8 | switchdataD_802a31d8 | outside every chunk; no interpolation gap | +| 802a32a0 | switchdataD_802a32a0 | outside every chunk; no interpolation gap | +| 802a335c | switchdataD_802a335c | outside every chunk; no interpolation gap | +| 802a3418 | switchdataD_802a3418 | outside every chunk; no interpolation gap | +| 802a34d4 | switchdataD_802a34d4 | outside every chunk; no interpolation gap | +| 802a3590 | switchdataD_802a3590 | outside every chunk; no interpolation gap | +| 802a364c | switchdataD_802a364c | outside every chunk; no interpolation gap | +| 802a3708 | switchdataD_802a3708 | outside every chunk; no interpolation gap | +| 802a37c4 | switchdataD_802a37c4 | outside every chunk; no interpolation gap | +| 802a3880 | switchdataD_802a3880 | outside every chunk; no interpolation gap | +| 802a3940 | switchdataD_802a3940 | outside every chunk; no interpolation gap | +| 802a39fc | switchdataD_802a39fc | outside every chunk; no interpolation gap | +| 802a3b88 | switchdataD_802a3b88 | outside every chunk; no interpolation gap | +| 802a3e30 | switchdataD_802a3e30 | outside every chunk; no interpolation gap | +| 80385920 | dev/fs_fd | outside every chunk; no interpolation gap | +| 80385924 | r13_and_stacks | outside every chunk; no interpolation gap | +| 80387100 | r13_and_stacks | outside every chunk; no interpolation gap | +| 80510238 | RelStart | outside every chunk; no interpolation gap | +| 80510a90 | isCompetitionValid | outside every chunk; no interpolation gap | +| 80510ab8 | 0x80510ab8 | outside every chunk; no interpolation gap | +| 805537cc | 0x805537cc | outside every chunk; no interpolation gap | +| 80553824 | 0x80553824 | outside every chunk; no interpolation gap | +| 80553828 | 0x80553828 | outside every chunk; no interpolation gap | +| 8055382c | 0x8055382c | outside every chunk; no interpolation gap | +| 80553838 | 0x80553838 | outside every chunk; no interpolation gap | +| 80553844 | 0x80553844 | outside every chunk; no interpolation gap | +| 80553850 | GlobeScene::__ct | outside every chunk; no interpolation gap | +| 805758e4 | 0x805758e4 | outside every chunk; no interpolation gap | +| 805a0550 | 0x805a0550 | collision at 8059682c; kept 'CameraLink::__ct' (PAL 805a1864) | +| 805a05a0 | AutoCameraMoverRace::__dt | outside every chunk; no interpolation gap | +| 805a05e0 | CamMove::__dt | outside every chunk; no interpolation gap | +| 805a0620 | 0x805a0620 | outside every chunk; no interpolation gap | +| 805a0660 | AutoCameraMover::__dt | outside every chunk; no interpolation gap | +| 805a1478 | AutoCameraMoverRace::vf_0x14 | outside every chunk; no interpolation gap | +| 805a1480 | AutoCameraMoverRace::vf_0x18 | outside every chunk; no interpolation gap | +| 805be61c | PushButton::TriggerPtmf | outside every chunk; no interpolation gap | +| 805be64c | PushButton_cpp_sinit_ | outside every chunk; no interpolation gap | +| 805bf2dc | Pages::MKChannelExplanation::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 805bf2e8 | Pages::AddMKChannel::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 805bf2f4 | Pages::MKChannelExplanation::TriggerButtonPtmf | outside every chunk; no interpolation gap | +| 805bf324 | Pages::AddMKChannel::TriggerButtonPtmf | outside every chunk; no interpolation gap | +| 805bf354 | Pages::MKChannelExplanation::TriggerBackPtmf | outside every chunk; no interpolation gap | +| 805bf384 | Pages::AddMKChannel::TriggerBackPtmf | outside every chunk; no interpolation gap | +| 805bf3b4 | AddMKChannelPage_cpp_sinit_ | outside every chunk; no interpolation gap | +| 805c579c | 0x805c579c | outside every chunk; no interpolation gap | +| 805cc0a8 | Pages::EndingMovie::OnActivate | outside every chunk; no interpolation gap | +| 805dbfdc | SheetSelectControlScaleFade::__dt | outside every chunk; no interpolation gap | +| 80637a8c | SystemBMGHolder::GetMessage | outside every chunk; no interpolation gap | +| 8063bcf8 | Pages::TitleMovie::OnActivate | outside every chunk; no interpolation gap | +| 8064aee4 | VRPage_cpp_sinit_ | outside every chunk; no interpolation gap | +| 8065b354 | 0x8065b354 | outside every chunk; no interpolation gap | +| 8065b3b8 | 0x8065b3b8 | outside every chunk; no interpolation gap | +| 8065b40c | 0x8065b40c | outside every chunk; no interpolation gap | +| 8065b450 | 0x8065b450 | outside every chunk; no interpolation gap | +| 8065b490 | 0x8065b490 | outside every chunk; no interpolation gap | +| 8065fa0c | 0x8065fa0c | collision at 80660694; kept 'RKNet::USERHandler::CreateInstance' (PAL 80662778) | +| 806c4ed4 | ManagedObjects::RegisterObject | outside every chunk; no interpolation gap | +| 806c63a8 | RouteController::SetPercent | outside every chunk; no interpolation gap | +| 806ce820 | 0x806ce820 | outside every chunk; no interpolation gap | +| 806d28f4 | Objects::MapObjSniper::LoadCollision | outside every chunk; no interpolation gap | +| 806d28f8 | Objects::MapObjSniper::LoadRoute | outside every chunk; no interpolation gap | +| 806d28fc | Objects::MapObjSniper::LoadModels | outside every chunk; no interpolation gap | +| 806d2900 | Objects::MapObjSniper::GetPropertiesBitfield | outside every chunk; no interpolation gap | +| 806d5c5c | Objects::HighwayManager::LoadClipInfo | outside every chunk; no interpolation gap | +| 806ec7c0 | Objects::HwanwanBall::__dt(thunk) | collision at 806d8564; kept 'Objects::Wanwan::__dt' (PAL 806e95a8) | +| 806f7698 | Audio::ItemWarning::GetPan | outside every chunk; no interpolation gap | +| 806f772c | Audio::ItemWarning::__ct | outside every chunk; no interpolation gap | +| 806f7740 | 0x806f7740 | outside every chunk; no interpolation gap | +| 806f7780 | 0x806f7780 | outside every chunk; no interpolation gap | +| 806f7a54 | 0x806f7a54 | outside every chunk; no interpolation gap | +| 807001a4 | Audio::Manager::LoadState | outside every chunk; no interpolation gap | +| 8072820c | 0x8072820c | outside every chunk; no interpolation gap | +| 80728210 | 0x80728210 | outside every chunk; no interpolation gap | +| 80728214 | AI::CPUDriving::GetCalculator | outside every chunk; no interpolation gap | +| 807285c8 | 0x807285c8 | outside every chunk; no interpolation gap | +| 80729338 | 0x80729338 | outside every chunk; no interpolation gap | +| 80729340 | 0x80729340 | outside every chunk; no interpolation gap | +| 80729348 | 0x80729348 | outside every chunk; no interpolation gap | +| 8072de64 | 0x8072de64 | outside every chunk; no interpolation gap | +| 8072de6c | 0x8072de6c | outside every chunk; no interpolation gap | +| 8072de74 | 0x8072de74 | outside every chunk; no interpolation gap | +| 8072de7c | 0x8072de7c | outside every chunk; no interpolation gap | +| 8072de84 | 0x8072de84 | outside every chunk; no interpolation gap | +| 8072de8c | 0x8072de8c | outside every chunk; no interpolation gap | +| 8072de94 | 0x8072de94 | outside every chunk; no interpolation gap | +| 8072de9c | 0x8072de9c | outside every chunk; no interpolation gap | +| 8072dea0 | 0x8072dea0 | outside every chunk; no interpolation gap | +| 8072dee0 | 0x8072dee0 | outside every chunk; no interpolation gap | +| 8072dee8 | 0x8072dee8 | outside every chunk; no interpolation gap | +| 8072def0 | 0x8072def0 | outside every chunk; no interpolation gap | +| 8072def8 | 0x8072def8 | outside every chunk; no interpolation gap | +| 8072df00 | 0x8072df00 | outside every chunk; no interpolation gap | +| 8072df08 | 0x8072df08 | outside every chunk; no interpolation gap | +| 8072df10 | 0x8072df10 | outside every chunk; no interpolation gap | +| 8072df58 | 0x8072df58 | outside every chunk; no interpolation gap | +| 8072df88 | 0x8072df88 | outside every chunk; no interpolation gap | +| 8072ff60 | 0x8072ff60 | outside every chunk; no interpolation gap | +| 8072ff68 | 0x8072ff68 | outside every chunk; no interpolation gap | +| 8072ff70 | 0x8072ff70 | outside every chunk; no interpolation gap | +| 80730a80 | AI::CPUDrivingAction::OnStart | outside every chunk; no interpolation gap | +| 80730ac8 | AI::CPUDrivingAction::Update | outside every chunk; no interpolation gap | +| 80730af8 | AI::CPUDrivingAction::OnEnd | outside every chunk; no interpolation gap | +| 8075db24 | 0x8075db24 | outside every chunk; no interpolation gap | +| 8075db2c | 0x8075db2c | outside every chunk; no interpolation gap | +| 8075db34 | 0x8075db34 | outside every chunk; no interpolation gap | +| 807693ec | 0x807693ec | outside every chunk; no interpolation gap | +| 8076942c | 0x8076942c | outside every chunk; no interpolation gap | +| 807694e8 | 0x807694e8 | outside every chunk; no interpolation gap | +| 80769584 | 0x80769584 | outside every chunk; no interpolation gap | +| 80769590 | 0x80769590 | outside every chunk; no interpolation gap | +| 8076959c | 0x8076959c | outside every chunk; no interpolation gap | +| 807695a4 | 0x807695a4 | outside every chunk; no interpolation gap | +| 80769608 | 0x80769608 | outside every chunk; no interpolation gap | +| 8076ebdc | Objects::SubObjectArray::vf_0x14 | outside every chunk; no interpolation gap | +| 807726c4 | 0x807726c4 | outside every chunk; no interpolation gap | +| 80773c14 | Objects::MiiKanban::GetPropertiesBitfield | outside every chunk; no interpolation gap | +| 8077439c | 0x8077439c | outside every chunk; no interpolation gap | +| 8077ce88 | 0x8077ce88 | outside every chunk; no interpolation gap | +| 807a9d90 | Item::ObjKinoko::InitSelf | outside every chunk; no interpolation gap | +| 807a9dac | __sinit_ItemObjKinoko_cpp | outside every chunk; no interpolation gap | +| 807a9dd4 | Item::ObjKinokoBig::CreateArray | outside every chunk; no interpolation gap | +| 807a9e50 | Item::Player::UseMegaMushroom | outside every chunk; no interpolation gap | +| 807a9ea4 | Item::ObjKinokoBig::InitSelf | outside every chunk; no interpolation gap | +| 807d9b80 | DriverCalcWorldCB::ExecCallbackC(thunk) | outside every chunk; no interpolation gap | +| 807d9b88 | DriverCalcWorldCB::ExecCallbackB(thunk) | outside every chunk; no interpolation gap | +| 807d9b90 | DriverCalcWorldCB::__dt(thunk) | outside every chunk; no interpolation gap | +| 807dc8c8 | 0x807dc8c8 | outside every chunk; no interpolation gap | +| 807e2520 | CtrlMenuMovieButton::GetMovieCount | outside every chunk; no interpolation gap | +| 807e2528 | CtrlMenuBattleStageSelectCup::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807e2534 | CtrlMenuBattleStageSelectCupSub::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807e2540 | CtrlMenuBattleStage_cpp_sinit_ | outside every chunk; no interpolation gap | +| 807e256c | CtrlMenuMovieButton::OnUpdate(PushButton) | outside every chunk; no interpolation gap | +| 807e2574 | CtrlMenuMovieButton::InitSelf(PushButton) | outside every chunk; no interpolation gap | +| 807e257c | CtrlMenuMovieButton::OnLoad(PushButton) | outside every chunk; no interpolation gap | +| 807e2584 | StageButton::__dt(PushButton) | outside every chunk; no interpolation gap | +| 807e258c | StageButton::GetClassName(PushButton) | outside every chunk; no interpolation gap | +| 807e2594 | StageButton::GetRuntimeTypeInfo(PushButton) | outside every chunk; no interpolation gap | +| 807e5610 | CtrlMenuCourseSelectCup::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807e561c | CtrlMenuCourseSelectCupSub::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807e5628 | CtrlMenuCoursecpp_sinit_ | outside every chunk; no interpolation gap | +| 807e9c44 | CtrlMenuPressStart::GetClassName | outside every chunk; no interpolation gap | +| 807ee23c | CtrlRaceBattleSetPoint_cpp_sinit_ | outside every chunk; no interpolation gap | +| 807ee468 | CtrlRaceCount::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807ef9f4 | CtrlRaceLive::getClassName | outside every chunk; no interpolation gap | +| 807efa00 | CtrlRaceLive::initLayout | outside every chunk; no interpolation gap | +| 807efa70 | screenElement_setupPauseMovement | outside every chunk; no interpolation gap | +| 807efa74 | 0x807efa74 | outside every chunk; no interpolation gap | +| 807efa78 | CtrlRaceLiveMessage::getClassName | outside every chunk; no interpolation gap | +| 807efa88 | CtrlRaceLiveMessage::initLayout | outside every chunk; no interpolation gap | +| 807efadc | CtrlRaceLiveMessage::onInit | outside every chunk; no interpolation gap | +| 807efb90 | CtrlRaceLiveMessage::onUpdate | outside every chunk; no interpolation gap | +| 807efc20 | CtrlRaceLiveMessage::__dt | outside every chunk; no interpolation gap | +| 807efc7c | CtrlRaceLiveMessage::getInstance | outside every chunk; no interpolation gap | +| 807efc88 | CtrlRaceLive::__dt | outside every chunk; no interpolation gap | +| 807efce4 | 0x807efce4 | outside every chunk; no interpolation gap | +| 807efcf0 | __sinit_CtrlRaceLive_cpp | outside every chunk; no interpolation gap | +| 807f7ba4 | CtrlRaceScore::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 807f7bb0 | CtrlRaceScore_cpp_sinit_ | outside every chunk; no interpolation gap | +| 807f890c | CtrlRaceTime::__dt | outside every chunk; no interpolation gap | +| 807f9348 | GeoHitTableHolder::__dt | outside every chunk; no interpolation gap | +| 807f9388 | Objects::Airblock::__ct | outside every chunk; no interpolation gap | +| 807f9424 | Objects::Airblock::__ct(Vec3s) | outside every chunk; no interpolation gap | +| 807f94cc | Objects::Airblock::OnStart | outside every chunk; no interpolation gap | +| 807f957c | ObjectCollisionPolyhedra::GetRadius | outside every chunk; no interpolation gap | +| 807ffae0 | 0x807ffae0 | outside every chunk; no interpolation gap | +| 808334a0 | MenuKartModelMgr::__dt | outside every chunk; no interpolation gap | +| 80838e4c | MenuBGPage_cpp_sinit_ | outside every chunk; no interpolation gap | +| 8083b0c0 | Pages::BattleKartSelect::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 80842334 | Pages::CupSelect::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 80851d2c | Pages::MainMenu::GetRuntimeTypeInfo | outside every chunk; no interpolation gap | +| 80862e24 | 0x80862e24 | outside every chunk; no interpolation gap | +| 8086c098 | Objects::WLwallGC::CalcNextPosition | outside every chunk; no interpolation gap | +| 8086c988 | 0x8086c988 | outside every chunk; no interpolation gap | +| 8086c98c | 0x8086c98c | outside every chunk; no interpolation gap | +| 8086c9cc | 0x8086c9cc | outside every chunk; no interpolation gap | + +## Unverified entries (206; ported by the chunk table but not confirmed by the binary, not emitted) + +- conditional-branch target (inside a function): 38 +- conditional-branch target that is also jump-table referenced (a case label without a label name): 38 +- jump-table referenced but named/unnamed as a function: 1 +- lands on a padding word (real function usually at +4): 24 +- no evidence, predecessor is not a terminator: 102 +- outside text (data symbols): 3 + +| PAL | name | NTSC-U | evidence | detail | +|---|---|---|---|---| +| 8000a000 | 0x8000a000 | 80009fc0 | - | prev=93e1000c (stw r31,12(r1)) word=800d93f8 (lwz r0,-27656(r13)) | +| 8000fb80 | 0x8000fb80 | 8000f020 | - | prev=38000005 (li r0,5) word=9801000c (op38) | +| 8000fbb4 | 0x8000fbb4 | 8000f054 | ptr+bc | conditional-branch target (inside a function); prev=4800000c (b) word=380000ff (li r0,255) | +| 80010000 | 0x80010000 | 8000f4a0 | bc | conditional-branch target (inside a function); prev=41820010 (bc) word=8078000c (lwz r3,12(r24)) | +| 80010138 | 0x80010138 | 8000f5d8 | bc | conditional-branch target (inside a function); prev=48000358 (b) word=3b800000 (li r28,0) | +| 80010dbc | 0x80010dbc | 8001025c | bc | conditional-branch target (inside a function); prev=48000844 (b) word=7de37b78 (mr r3,r15) | +| 8001237c | 0x8001237c | 8001181c | bc | conditional-branch target (inside a function); prev=48000be8 (b) word=281600ff (cmplwi cr0,r22,255) | +| 80016e68 | 0x80016e68 | 80016308 | bc | conditional-branch target (inside a function); prev=48000920 (b) word=7fc3f378 (mr r3,r30) | +| 80020000 | 0x80020000 | 8001f4a0 | - | prev=6042d868 (ori r2,r2,0xd868) word=38600001 (li r3,1) | +| 8002055c | 0x8002055c | 8001f9fc | - | prev=388421b8 (addi r4,r4,8632) word=38a00001 (li r5,1) | +| 80020800 | 0x80020800 | 8001fca0 | - | prev=7fe3fb78 (mr r3,r31) word=38a521b8 (addi r5,r5,8632); next proven start at +0x2c | +| 80021360 | 0x80021360 | 80020800 | ptr+bc | conditional-branch target (inside a function); prev=48000020 (b) word=80030000 (lwz r0,0(r3)) | +| 8002137c | 0x8002137c | 8002081c | b | prev=4e800421 (op19) word=806d9494 (lwz r3,-27500(r13)) | +| 80021ba8 | 0x80021ba8 | 80021b08 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 80024870 | 0x80024870 | 800247d0 | - | prev=48174915 (bl) word=3803ffe4 (addi r0,r3,-28) | +| 800259d0 | 0x800259d0 | 80025930 | - | prev=7fa4eb78 (mr r4,r29) word=387c0004 (addi r3,r28,4) | +| 80046a40 | 0x80046a40 | 800469a0 | - | prev=3c608004 (lis r3,0x8004) word=38636ae0 (addi r3,r3,27360) | +| 80046a50 | 0x80046a50 | 800469b0 | - | prev=38630060 (addi r3,r3,96) word=4e800020 (blr) | +| 800495d0 | 0x800495d0 | 80049530 | - | prev=7ee7bb78 (mr r7,r23) word=7f68db78 (mr r8,r27) | +| 8004b3a0 | 0x8004b3a0 | 8004b300 | - | prev=3c608005 (lis r3,0x8005) word=3863b440 (addi r3,r3,-19392) | +| 8004b3b0 | 0x8004b3b0 | 8004b310 | - | prev=38630060 (addi r3,r3,96) word=4e800020 (blr) | +| 8004f710 | 0x8004f710 | 8004f670 | - | prev=38630018 (addi r3,r3,24) word=80a1002c (lwz r5,44(r1)) | +| 80051c40 | 0x80051c40 | 80051ba0 | - | prev=38000002 (li r0,2) word=48000010 (b) | +| 8005ee40 | 0x8005ee40 | 8005eda0 | - | prev=e03f0008 (op56) word=39210020 (addi r9,r1,32) | +| 8005fec0 | 0x8005fec0 | 8005fe20 | - | prev=90610008 (stw r3,8(r1)) word=40820014 (bc) | +| 80061c90 | 0x80061c90 | 80061bf0 | - | prev=4182000c (bc) word=80030018 (lwz r0,24(r3)) | +| 80068260 | 0x80068260 | 800681c0 | - | prev=dbe10120 (stfd f31,288(r1)) word=f3e10128 (op60) | +| 8006b7a0 | 0x8006b7a0 | 8006b700 | - | prev=ec4a01b2 (op59) word=ec88202a (op59) | +| 8006d480 | 0x8006d480 | 8006d3e0 | - | prev=c1230004 (op48) word=ecc7102a (op59) | +| 80080000 | 0x80080000 | 8007ff60 | - | prev=80010034 (lwz r0,52(r1)) word=7c0803a6 (mtlr r0); next proven start at +0x10 | +| 80084780 | 0x80084780 | 800846e0 | - | prev=38a00001 (li r5,1) word=38c00004 (li r6,4); next proven start at +0x40 | +| 80088920 | 0x80088920 | 80088880 | - | prev=38800100 (li r4,256) word=48118d0d (bl) | +| 80089a00 | 0x80089a00 | 80089960 | - | prev=90810008 (stw r4,8(r1)) word=c0030040 (op48) | +| 8008bd70 | 0x8008bd70 | 8008bcd0 | - | prev=7c040214 (op31) word=7fc01a14 (op31) | +| 8008c540 | 0x8008c540 | 8008c4a0 | - | prev=396100a0 (addi r11,r1,160) word=4bf9459d (bl) | +| 8008e170 | 0x8008e170 | 8008e0d0 | - | prev=90e300a0 (stw r7,160(r3)) word=90e300e0 (stw r7,224(r3)) | +| 80090000 | 0x80090000 | 8008ff60 | bc | conditional-branch target (inside a function); prev=4e800421 (op19) word=881e0037 (op34) | +| 8009716c | 0x8009716c | 800970cc | b+jt+bc | conditional-branch target (inside a function); prev=981f0008 (op38) word=39610030 (addi r11,r1,48) | +| 80097cf0 | 0x80097cf0 | 80097c50 | - | prev=80a30170 (lwz r5,368(r3)) word=7c042800 (op31) | +| 800aeed0 | nw4r::snd::detail::DecodeDspAdpcm | 800aee30 | - | prev=54806326 (op21) word=a1230024 (op40) | +| 800aeee0 | nw4r::snd::detail::WsdPlayer::InvalidateWaveData | 800aee40 | - | prev=54e4073e (op21) word=54c7103a (op21) | +| 800b1a00 | 0x800b1a00 | 800b1960 | - | prev=80040004 (lwz r0,4(r4)) word=90030008 (stw r0,8(r3)); next proven start at +0x20 | +| 800b7fd8 | 0x800b7fd8 | 800b7f38 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b80ec | 0x800b80ec | 800b804c | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b8464 | 0x800b8464 | 800b83c4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b87e4 | 0x800b87e4 | 800b8744 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b90d4 | 0x800b90d4 | 800b9034 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800b9384 | 0x800b9384 | 800b92e4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9618 | 0x800b9618 | 800b9578 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9b7c | 0x800b9b7c | 800b9adc | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800b9d84 | 0x800b9d84 | 800b9ce4 | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9e9c | 0x800b9e9c | 800b9dfc | - | prev=4e800020 (blr) word=00000000 (.long 0) | +| 800b9f48 | 0x800b9f48 | 800b9ea8 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800ba18c | 0x800ba18c | 800ba0ec | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800ba814 | 0x800ba814 | 800ba774 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x1c | +| 800ba828 | 0x800ba828 | 800ba788 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bbae8 | 0x800bbae8 | 800bba48 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bc138 | bootloadDB2Res_ | 800bc098 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800bed50 | 0x800bed50 | 800becb0 | - | prev=39610020 (addi r11,r1,32) word=4bf61d91 (bl) | +| 800c5550 | 0x800c5550 | 800c54b0 | - | prev=38c65380 (addi r6,r6,21376) word=38a00040 (li r5,64) | +| 800c686c | 0x800c686c | 800c67cc | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800c8214 | 0x800c8214 | 800c8174 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbb4c | 0x800cbb4c | 800cbaac | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800cbb84 | 0x800cbb84 | 800cbae4 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbde4 | 0x800cbde4 | 800cbd44 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0xc | +| 800cbe2c | 0x800cbe2c | 800cbd8c | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x4 | +| 800cc048 | RFL::SetToWiFiPacket | 800cbfa8 | - | prev=4e800020 (blr) word=00000000 (.long 0); next proven start at +0x8 | +| 800e5644 | 0x800e5644 | 800e55a4 | - | prev=90010014 (stw r0,20(r1)) word=93e1000c (stw r31,12(r1)) | +| 800f0000 | 0x800f0000 | 800eff60 | - | prev=7c63f82e (op31) word=4bfff4e1 (bl); next proven start at +0x38 | +| 800f6d4c | 0x800f6d4c | 800f6cac | - | prev=7c9b2378 (mr r27,r4) word=7cbc2b78 (mr r28,r5) | +| 800fb78c | 0x800fb78c | 800fb6ec | - | prev=93c10018 (stw r30,24(r1)) word=3bc00000 (li r30,0) | +| 800fedbc | 0x800fedbc | 800fed1c | - | prev=8063000c (lwz r3,12(r3)) word=93e3000c (stw r31,12(r3)) | +| 80100000 | 0x80100000 | 800fff60 | bc | conditional-branch target (inside a function); prev=4800013c (b) word=38800000 (li r4,0) | +| 8010f4b8 | 0x8010f4b8 | 8010f418 | - | prev=83e1001c (lwz r31,28(r1)) word=83c10018 (lwz r30,24(r1)); next proven start at +0x14 | +| 80128018 | 0x80128018 | 80127f78 | - | prev=7c002050 (op31) word=900d99b4 (stw r0,-26188(r13)); next proven start at +0x14 | +| 8012e5a8 | 0x8012e5a8 | 8012e508 | b | prev=7c0004ac (op31) word=60000000 (ori r0,r0,0x0000); next proven start at +0x10 | +| 80130000 | 0x80130000 | 8012ff60 | - | prev=90050000 (stw r0,0(r5)) word=48000054 (b) | +| 80134d98 | 0x80134d98 | 80134cf8 | - | prev=93810010 (stw r28,16(r1)) word=7c7c1b78 (mr r28,r3) | +| 80144610 | 0x80144610 | 80144570 | jt+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=38600114 (li r3,276); next proven start at +0x8 | +| 8015581c | 0x8015581c | 8015577c | - | prev=7c0802a6 (mflr r0) word=3ce08028 (lis r7,0x8028) | +| 8015b2bc | 0x8015b2bc | 8015b21c | bc | conditional-branch target (inside a function); prev=48000258 (b) word=88e80000 (op34) | +| 8015b368 | 0x8015b368 | 8015b2c8 | ptr+bc | conditional-branch target (inside a function); prev=4800000c (b) word=38600000 (li r3,0) | +| 801656a4 | 0x801656a4 | 80165604 | - | prev=7ca40214 (op31) word=806d8ce8 (lwz r3,-29464(r13)) | +| 80165d20 | 0x80165d20 | 80165c80 | - | prev=90010014 (stw r0,20(r1)) word=38e7f160 (addi r7,r7,-3744) | +| 80166864 | 0x80166864 | 801667c4 | - | prev=4cc63182 (op19) word=4803bd6d (bl) | +| 8016d61c | 0x8016d61c | 8016d57c | bc | conditional-branch target (inside a function); prev=480001a8 (b) word=80c30000 (lwz r6,0(r3)) | +| 8016d7bc | 0x8016d7bc | 8016d71c | ptr+b+bc | conditional-branch target (inside a function); prev=90c50018 (stw r6,24(r5)) word=38630008 (addi r3,r3,8) | +| 8016de1c | 0x8016de1c | 8016dd7c | bc | conditional-branch target (inside a function); prev=48000178 (b) word=80c40000 (lwz r6,0(r4)) | +| 8016f240 | 0x8016f240 | 8016f1a0 | - | prev=80c29728 (lwz r6,-26840(r2)) word=3c60cc01 (lis r3,0xcc01) | +| 80171770 | 0x80171770 | 801716d0 | - | prev=98038000 (op38) word=90a38000 (stw r5,-32768(r3)); next proven start at +0x3c | +| 8017cf40 | 0x8017cf40 | 8017cea0 | - | prev=801a0064 (lwz r0,100(r26)) word=2c000002 (cmpwi cr0,r0,2) | +| 8017ff60 | 0x8017ff60 | 8017fec0 | bc | conditional-branch target (inside a function); prev=48000250 (b) word=801a0000 (lwz r0,0(r26)) | +| 8017ffc4 | 0x8017ffc4 | 8017ff24 | bc | conditional-branch target (inside a function); prev=48000068 (b) word=80190000 (lwz r0,0(r25)) | +| 80180000 | 0x80180000 | 8017ff60 | - | prev=7cc00734 (op31) word=88940001 (op34) | +| 80192348 | 0x80192348 | 801922a8 | - | prev=90a400aa (stw r5,170(r4)) word=90a400ae (stw r5,174(r4)) | +| 8019801c | 0x8019801c | 80197f7c | - | prev=2c000000 (cmpwi cr0,r0,0) word=4082004c (bc) | +| 8019d454 | 0x8019d454 | 8019d3b4 | - | prev=3ca08029 (lis r5,0x8029) word=387f0048 (addi r3,r31,72) | +| 801a0000 | 0x801a0000 | 8019ff60 | - | prev=41820018 (bc) word=3c800001 (lis r4,0x0001) | +| 801a0138 | 0x801a0138 | 801a0098 | - | prev=3c80801a (lis r4,0x801a) word=3ca0801a (lis r5,0x801a) | +| 801a0404 | 0x801a0404 | 801a0364 | - | prev=7c651b78 (mr r5,r3) word=60000000 (ori r0,r0,0x0000) | +| 801ad43c | 0x801ad43c | 801ad39c | - | prev=93c100a8 (stw r30,168(r1)) word=7cbe2b78 (mr r30,r5) | +| 801b1c60 | 0x801b1c60 | 801b1bc0 | - | prev=98010008 (op38) word=48000030 (b) | +| 801bcc20 | 0x801bcc20 | 801bcb80 | - | prev=38210030 (addi r1,r1,48) word=4e800020 (blr); next proven start at +0x4 | +| 801d0eb0 | 0x801d0eb0 | 801d0e10 | - | prev=7c7d1b78 (mr r29,r3) word=7c9e2378 (mr r30,r4) | +| 801da7e8 | 0x801da7e8 | 801da748 | bc | conditional-branch target (inside a function); prev=48000008 (b) word=3a940001 (addi r20,r20,1) | +| 801da7ec | 0x801da7ec | 801da74c | b+bc | conditional-branch target (inside a function); prev=3a940001 (addi r20,r20,1) word=88140000 (op34) | +| 801dab8c | 0x801dab8c | 801daaec | b+jt+bc | conditional-branch target (inside a function); prev=4180feb0 (bc) word=2c1e0000 (cmpwi cr0,r30,0) | +| 801dcecc | 0x801dcecc | 801dce2c | b+jt+bc | conditional-branch target (inside a function); prev=900da0cc (stw r0,-24372(r13)) word=80010024 (lwz r0,36(r1)); next proven start at +0x1c | +| 801dfb34 | 0x801dfb34 | 801dfa94 | - | prev=7c751b78 (mr r21,r3) word=41820008 (bc) | +| 801ec214 | 0x801ec214 | 801ec174 | bc | conditional-branch target (inside a function); prev=39c00002 (li r14,2) word=4bfba399 (bl) | +| 801f6708 | 0x801f6708 | 801f6668 | - | prev=3b400000 (li r26,0) word=48000028 (b) | +| 801ff230 | 0x801ff230 | 801ff190 | - | prev=9421ffd0 (stwu r1,-48(r1)) word=7c0802a6 (mflr r0) | +| 80211b40 | 0x80211b40 | 80211aa0 | ptr+bc | conditional-branch target (inside a function); prev=48000010 (b) word=38800000 (li r4,0); next proven start at +0x1c | +| 80217e1c | 0x80217e1c | 80217d7c | bc | conditional-branch target (inside a function); prev=4080022c (bc) word=7ca66050 (op31) | +| 80218028 | 0x80218028 | 80217f88 | - | prev=80a1002c (lwz r5,44(r1)) word=d8410030 (stfd f2,48(r1)); next proven start at +0x34 | +| 8021b790 | 0x8021b790 | 8021b6f0 | bc | conditional-branch target (inside a function); prev=3dc0802a (lis r14,0x802a) word=386100c0 (addi r3,r1,192) | +| 8021ff0c | 0x8021ff0c | 8021fe6c | bc | conditional-branch target (inside a function); prev=c3c29cb0 (op48) word=c0580024 (op48) | +| 80220000 | 0x80220000 | 8021ff60 | - | prev=5400043e (op21) word=900100f4 (stw r0,244(r1)) | +| 8023152c | 0x8023152c | 802311a8 | bc | conditional-branch target (inside a function); prev=480000d0 (b) word=80770000 (lwz r3,0(r23)) | +| 80232eec | 0x80232eec | 80232b68 | ptr+bc | conditional-branch target (inside a function); prev=48000014 (b) word=38000000 (li r0,0) | +| 8023bc00 | 0x8023bc00 | 8023b87c | bc | conditional-branch target (inside a function); prev=480000fc (b) word=5605043e (op21) | +| 80240000 | 0x80240000 | 8023fc7c | bc | conditional-branch target (inside a function); prev=3bc00000 (li r30,0) word=807d0004 (lwz r3,4(r29)) | +| 802a4080 | rkSystem | 8029fd00 | - | not in a text section (unmapped) | +| 802a40f4 | r13_and_stacks | 8029fd74 | - | not in a text section (unmapped) | +| 80386000 | SystemManager | 80381c80 | - | not in a text section (unmapped) | +| 80528058 | 0x80528058 | 80523be4 | - | prev=83c10018 (lwz r30,24(r1)) word=80010024 (lwz r0,36(r1)) | +| 8052aea4 | 0x8052aea4 | 80526a30 | bc | conditional-branch target (inside a function); prev=3e808000 (lis r20,0x8000) word=7ee3bb78 (mr r3,r23) | +| 8053bcc8 | 0x8053bcc8 | 80537180 | bc | conditional-branch target (inside a function); prev=48000414 (b) word=566315ba (op21) | +| 8053bcf4 | 0x8053bcf4 | 805371ac | bc | conditional-branch target (inside a function); prev=b0010020 (op44) word=80150044 (lwz r0,68(r21)) | +| 80540000 | 0x80540000 | 8053aac4 | - | prev=38a0001c (li r5,28) word=38c0000c (li r6,12) | +| 80550000 | 0x80550000 | 80550d9c | - | prev=5404063e (op21) word=380393f0 (addi r0,r3,-27664) | +| 805536d8 | 0x805536d8 | 8054d780 | bc | conditional-branch target (inside a function); prev=48000094 (b) word=7f03c378 (mr r3,r24) | +| 80553730 | 0x80553730 | 8054d7d8 | jt+bc | conditional-branch target (inside a function); prev=48000008 (b) word=3b400008 (li r26,8) | +| 805658f0 | 0x805658f0 | 80561570 | - | prev=1ca5000c (op7) word=c8430000 (lfd f2,0(r3)) | +| 80565b50 | 0x80565b50 | 805617d0 | - | prev=7c0802a6 (mflr r0) word=2c030000 (cmpwi cr0,r3,0) | +| 80565d14 | 0x80565d14 | 80561994 | - | prev=d01e0028 (op52) word=d01e002c (op52) | +| 8058b164 | 0x8058b164 | 80584940 | - | prev=48000cc1 (bl) word=7fc3f378 (mr r3,r30); next proven start at +0x34 | +| 805abea8 | 0x805abea8 | 805a0f40 | b+jt+bc | conditional-branch target (inside a function); prev=4819a1d9 (bl) word=807f0000 (lwz r3,0(r31)) | +| 805b0000 | 0x805b0000 | 805a50d8 | - | prev=99410009 (op38) word=9921000a (op38) | +| 805cdf28 | 0x805cdf28 | 805c1408 | b+bc | conditional-branch target (inside a function); prev=d014001c (op52) word=5660103a (op21) | +| 805d2aa8 | 0x805d2aa8 | 805c598c | bc | conditional-branch target (inside a function); prev=3a20ffff (li r17,-1) word=80100000 (lwz r0,0(r16)) | +| 805f98f4 | SimpleMessageWindowControl::GetClassName | 805d9010 | - | prev=3c600000 (lis r3,0x0000) word=38630000 (addi r3,r3,0); next proven start at +0xc | +| 8060b73c | 0x8060b73c | 80640c5c | - | prev=38800037 (li r4,55) word=38a00038 (li r5,56) | +| 8060b82c | 0x8060b82c | 80640d4c | - | prev=386100f8 (addi r3,r1,248) word=38840000 (addi r4,r4,0) | +| 8060ef44 | 0x8060ef44 | 80644464 | ptr+b+bc | conditional-branch target (inside a function); prev=4bf99749 (bl) word=396100f0 (addi r11,r1,240); next proven start at +0x18 | +| 806116c0 | 0x806116c0 | 80646be0 | ptr+b+bc | conditional-branch target (inside a function); prev=4800005c (b) word=38610008 (addi r3,r1,8) | +| 8061f550 | 0x8061f550 | 8064c06c | b+jt+bc | conditional-branch target (inside a function); prev=48000088 (b) word=38610008 (addi r3,r1,8) | +| 80628068 | 0x80628068 | 805f71b4 | - | prev=80010014 (lwz r0,20(r1)) word=7c0803a6 (mtlr r0) | +| 8064f7ec | 0x8064f7ec | 8061c4d8 | bc | conditional-branch target (inside a function); prev=3fc00000 (lis r30,0x0000) word=5743063e (op21) | +| 8064f988 | 0x8064f988 | 8061c674 | ptr+b+bc | conditional-branch target (inside a function); prev=4bef8eed (bl) word=38c00001 (li r6,1) | +| 8065193c | 0x8065193c | 8061e628 | bc | conditional-branch target (inside a function); prev=3dc00000 (lis r14,0x0000) word=807a0000 (lwz r3,0(r26)) | +| 80651984 | 0x80651984 | 8061e670 | bc | conditional-branch target (inside a function); prev=480001f8 (b) word=9a3601f4 (op38) | +| 80651b1c | 0x80651b1c | 8061e808 | ptr+b+bc | conditional-branch target (inside a function); prev=901601f8 (stw r0,504(r22)) word=807a0000 (lwz r3,0(r26)) | +| 80668558 | 0x80668558 | 806761a8 | ptr+bc | conditional-branch target (inside a function); prev=48000068 (b) word=388018a6 (li r4,6310) | +| 8067b190 | 0x8067b190 | 80676d08 | jt+bc | conditional-branch target (inside a function); prev=48000068 (b) word=388018a6 (li r4,6310) | +| 80688e48 | 0x80688e48 | 806849c0 | bc | conditional-branch target (inside a function); prev=d001008c (op52) word=281a0009 (cmplwi cr0,r26,9) | +| 80689d74 | 0x80689d74 | 806858ec | bc | conditional-branch target (inside a function); prev=3a600001 (li r19,1) word=281b0009 (cmplwi cr0,r27,9) | +| 8068a3b4 | 0x8068a3b4 | 80685f2c | bc | conditional-branch target (inside a function); prev=3a600001 (li r19,1) word=281b0009 (cmplwi cr0,r27,9) | +| 8068a9fc | 0x8068a9fc | 80686574 | bc | conditional-branch target (inside a function); prev=3a200001 (li r17,1) word=28190009 (cmplwi cr0,r25,9) | +| 8068b15c | 0x8068b15c | 80686cd4 | bc | conditional-branch target (inside a function); prev=3a200001 (li r17,1) word=28190009 (cmplwi cr0,r25,9) | +| 80697c30 | 0x80697c30 | 806937a8 | bc | conditional-branch target (inside a function); prev=3fc00000 (lis r30,0x0000) word=807d0164 (lwz r3,356(r29)) | +| 806a2460 | 0x806a2460 | 8069dfd8 | - | prev=38ff06f4 (addi r7,r31,1780) word=391f07c8 (addi r8,r31,1992) | +| 806afaf0 | 0x806afaf0 | 806ab668 | - | prev=807e0318 (lwz r3,792(r30)) word=389f0738 (addi r4,r31,1848) | +| 806baad4 | 0x806baad4 | 806b664c | - | prev=8001001c (lwz r0,28(r1)) word=b01e0182 (op44) | +| 806bd88c | 0x806bd88c | 806b9404 | - | prev=80630028 (lwz r3,40(r3)) word=4be99bbd (bl) | +| 806bf208 | 0x806bf208 | 806bad80 | - | prev=7c9e002e (op31) word=38840030 (addi r4,r4,48) | +| 806bf228 | 0x806bf228 | 806bada0 | - | prev=c0410020 (op48) word=60000001 (ori r0,r0,0x0001) | +| 806c9f90 | 0x806c9f90 | 806bf39c | - | prev=7c0803a6 (mtlr r0) word=38210020 (addi r1,r1,32) | +| 806c9fb0 | 0x806c9fb0 | 806bf3bc | - | prev=81830000 (lwz r12,0(r3)) word=3fc00000 (lis r30,0x0000) | +| 806e70c4 | 0x806e70c4 | 806d6080 | - | prev=c01e001c (op48) word=d03c0120 (op52) | +| 8070ecb4 | 0x8070ecb4 | 80716384 | - | prev=90c30060 (stw r6,96(r3)) word=4d810020 (op19) | +| 8070ede4 | 0x8070ede4 | 807164b4 | jt | prev=90030060 (stw r0,96(r3)) word=4e800020 (blr) | +| 807123bc | 0x807123bc | 8070a918 | b+jt+bc | conditional-branch target (inside a function); prev=3ba00002 (li r29,2) word=2c1c0000 (cmpwi cr0,r28,0) | +| 80726cb0 | 0x80726cb0 | 8073cd18 | - | prev=ec460072 (op59) word=c0010024 (op48) | +| 80726e04 | 0x80726e04 | 8073ce6c | - | prev=ec6400f2 (op59) word=ec22082a (op59) | +| 8073e1b0 | 0x8073e1b0 | 80747438 | ptr+b+bc | conditional-branch target (inside a function); prev=7c661b78 (mr r6,r3) word=83e1000c (lwz r31,12(r1)); next proven start at +0x1c | +| 8073eaf8 | 0x8073eaf8 | 80747d80 | ptr+b+bc | conditional-branch target (inside a function); prev=7c661b78 (mr r6,r3) word=83e1000c (lwz r31,12(r1)) | +| 80754cd8 | 0x80754cd8 | 8074d05c | b+jt+bc | conditional-branch target (inside a function); prev=418202d8 (bc) word=38610068 (addi r3,r1,104) | +| 807604c4 | 0x807604c4 | 80753578 | - | prev=3400ffff (op13) word=900300c0 (stw r0,192(r3)) | +| 8078c3e0 | 0x8078c3e0 | 807d4978 | - | prev=ec00102a (op59) word=fc00001e (op63) | +| 807c6b34 | 0x807c6b34 | 807b80d4 | ptr+bc | conditional-branch target (inside a function); prev=4800010c (b) word=839d0000 (lwz r28,0(r29)) | +| 807ce31c | 0x807ce31c | 807bf8bc | ptr+bc | conditional-branch target (inside a function); prev=4e800420 (bctr) word=c05d0308 (op48) | +| 807d3358 | 0x807d3358 | 807c48f8 | ptr+b+bc | conditional-branch target (inside a function); prev=7cbc2b78 (mr r28,r5) word=2c1c0000 (cmpwi cr0,r28,0); next proven start at +0x34 | +| 807f8084 | 0x807f8084 | 807ed584 | - | prev=38a10008 (addi r5,r1,8) word=38c1000a (addi r6,r1,10) | +| 807fda18 | 0x807fda18 | 807f0e58 | - | prev=a804002e (op42) word=b01e013c (op44) | +| 80800000 | 0x80800000 | 807f2488 | - | prev=7c641b78 (mr r4,r3) word=7fc3f378 (mr r3,r30) | +| 80808080 | 0x80808080 | 807f8938 | - | prev=3bde0000 (addi r30,r30,0) word=38800002 (li r4,2) | +| 80810000 | 0x80810000 | 807fefe0 | - | prev=2c1a0001 (cmpwi cr0,r26,1) word=4182004c (bc) | +| 808148a4 | 0x808148a4 | 80801af8 | - | prev=c02a0000 (op48) word=480014c0 (b) | +| 8082b708 | 0x8082b708 | 80817bf4 | bc | conditional-branch target (inside a function); prev=3f800000 (lis r28,0x0000) word=81980000 (lwz r12,0(r24)) | +| 8082bd68 | 0x8082bd68 | 80818254 | - | prev=80830000 (lwz r4,0(r3)) word=548005ef (op21) | +| 80830000 | 0x80830000 | 8084ccd8 | bc | conditional-branch target (inside a function); prev=4bd06379 (bl) word=38610008 (addi r3,r1,8) | +| 80833800 | 0x80833800 | 8081b900 | jt+bc | conditional-branch target (inside a function); prev=48000008 (b) word=3860ffff (li r3,-1); next proven start at +0x1c | +| 8085ade8 | 0x8085ade8 | 80839358 | jt+bc | conditional-branch target (inside a function); prev=480001fc (b) word=80031780 (lwz r0,6016(r3)) | +| 8085bb9c | 0x8085bb9c | 8083a10c | jt+bc | conditional-branch target (inside a function); prev=48000048 (b) word=2c040016 (cmpwi cr0,r4,22) | +| 80860350 | 0x80860350 | 8083b704 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 808603ac | 0x808603ac | 8083b760 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 8086047c | 0x8086047c | 8083b830 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=38600000 (li r3,0); next proven start at +0x8 | +| 80862ab0 | 0x80862ab0 | 8085ea90 | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1); next proven start at +0x8 | +| 80862e1c | 0x80862e1c | 8085edfc | ptr+bc | conditional-branch target (inside a function); prev=4e800020 (blr) word=3860ffff (li r3,-1) | +| 80863618 | 0x80863618 | 8085f1e8 | ptr+b+bc | conditional-branch target (inside a function); prev=90030000 (stw r0,0(r3)) word=2c040000 (cmpwi cr0,r4,0) | +| 80863710 | 0x80863710 | 8085f2e0 | ptr+b+bc | conditional-branch target (inside a function); prev=90030000 (stw r0,0(r3)) word=2c040000 (cmpwi cr0,r4,0) | +| 80863814 | 0x80863814 | 8085f3e4 | ptr+b+bc | conditional-branch target (inside a function); prev=901f0000 (stw r0,0(r31)) word=80010014 (lwz r0,20(r1)); next proven start at +0x18 | +| 80869368 | 0x80869368 | 808648e4 | jt+bc | conditional-branch target (inside a function); prev=4e800420 (bctr) word=38000000 (li r0,0) | +| 8086e824 | 0x8086e824 | 8087ab9c | - | prev=3860007c (li r3,124) word=38840000 (addi r4,r4,0) | +| 80877b48 | 0x80877b48 | 8086adf0 | - | prev=2c030000 (cmpwi cr0,r3,0) word=41820014 (bc) | + +## Identity (low-memory) entries (15) + +Below 0x80004000 the PAL address is kept unchanged. These addresses are outside every DOL/REL section, so the binaries cannot vouch for them; the evidence column shows whether any NTSC-U code branches to them. + +| address | name | binary evidence | +|---|---|---| +| 800018a8 | 0x800018a8 | low memory, binary evidence: UNVERIFIED (-) | +| 80001d50 | 0x80001d50 | low memory, binary evidence: UNVERIFIED (-) | +| 80001d6c | 0x80001d6c | low memory, binary evidence: UNVERIFIED (-) | +| 80001d90 | 0x80001d90 | low memory, binary evidence: UNVERIFIED (-) | +| 80001dc0 | 0x80001dc0 | low memory, binary evidence: UNVERIFIED (-) | +| 80001de8 | 0x80001de8 | low memory, binary evidence: UNVERIFIED (-) | +| 80001dec | 0x80001dec | low memory, binary evidence: UNVERIFIED (-) | +| 80001e14 | 0x80001e14 | low memory, binary evidence: UNVERIFIED (-) | +| 80001e30 | 0x80001e30 | low memory, binary evidence: UNVERIFIED (-) | +| 80001f1c | 0x80001f1c | low memory, binary evidence: UNVERIFIED (-) | +| 80001f40 | 0x80001f40 | low memory, binary evidence: UNVERIFIED (-) | +| 80001f54 | 0x80001f54 | low memory, binary evidence: UNVERIFIED (-) | +| 80002440 | 0x80002440 | low memory, binary evidence: UNVERIFIED (-) | +| 8000245c | 0x8000245c | low memory, binary evidence: UNVERIFIED (-) | +| 8000249c | __TRKreset | low memory, binary evidence: UNVERIFIED (-) | diff --git a/projects/mkwii-ntsc-u/data_addresses.txt b/projects/mkwii-ntsc-u/data_addresses.txt new file mode 100644 index 0000000..113feef --- /dev/null +++ b/projects/mkwii-ntsc-u/data_addresses.txt @@ -0,0 +1,243 @@ +# NTSC-U (RMCE01) addresses for the PAL (RMCP01) data globals named by the WiiCompiled runtime. +# Format: +# Every cited instruction was disassembled from the RMCE01 main.dol (or StaticR.rel) at the +# stated NTSC-U address; the function names are the PAL MAP.txt names of the function that the +# validated PAL->NTSC-U port table (CHUNKS_E) maps onto that NTSC-U code. +# Small-data bases: NTSC-U r13=0x80388880 r2=0x8038AC20; PAL r13=0x8038CC00 r2=0x8038EFA0. +# Deltas observed: all .data/.bss objects, .sdata2 and every .sbss global up to (at least) PAL 0x80386F27 +# are PAL-0x4380; .sbss from PAL 0x80386F60 onward is PAL-0x4388 (r13 offset 8 less). See notes at end. + +# ---------------------------------------------------------------- GX +# Display-list fifo object (GXBeginDisplayList/GXEndDisplayList): NTSC base 0x8033FD10 = PAL 0x80344090 - 0x4380 +80344090 8033FD10 GX::BeginDisplayList@80172d78 lis r31,0x8034; @80172d7c addi r31,r31,-0x2f0 (=0x8033FD10 dlFifo); @80172d8c addi r29,r31,0; @80172dc4 stw r27,0x0(r29) (dlFifo.base=list); @80172df0 addi r3,r31,0 -> GXSetCPUFifo(&dlFifo); GX::EndDisplayList@80172e2c addi r30,r30,-0x2f0; @80172e34 addi r3,r30,0 -> GXGetCPUFifo(&dlFifo) +80344094 8033FD14 GX::BeginDisplayList@80172dcc stw r4,0x4(r29) (dlFifo.end = list+size-4, r29=0x8033FD10; r4 from @80172db8 add r4,r27,r28 / @80172dc0 addi r4,r4,-4) +80344098 8033FD18 GX::BeginDisplayList@80172dd0 stw r28,0x8(r29) (dlFifo.size = size) +803440A4 8033FD24 GX::BeginDisplayList@80172dd8 stw r27,0x14(r29) (dlFifo.rdPtr = list) +803440A8 8033FD28 GX::BeginDisplayList@80172ddc stw r27,0x18(r29) (dlFifo.wrPtr = list) +803440AC 8033FD2C GX::BeginDisplayList@80172dd4 stw r3,0x1c(r29) (dlFifo.count = 0, li r3,0 @80172dbc) +80344110 8033FD90 GX::BeginDisplayList@80172dac addi r3,r31,0x80 -> memcpy(0x8033FD90, gx, 0x600) (li r5,0x600 @80172db0, saved GXData copy); GX::EndDisplayList@80172e6c addi r4,r30,0x80 (memcpy src) +80344710 80340390 GX::BeginDisplayList@80172de8 addi r3,r31,0x680 -> GXGetCPUFifo(0x80340390) (saved CPU fifo); GX::EndDisplayList@80172e48 addi r3,r30,0x680 -> GXSetCPUFifo(0x80340390) +803867D8 80382458 GX::DrawDone@8016ea84 stb r31,-0x6428(r13); GX::DrawDone@8016eaa4 lbz r0,-0x6428(r13); GX::FinishInterruptHandler@8016ed20 stb r3,-0x6428(r13) # r13-0x6428 in both regions (PAL 0x8038CC00-0x6428=0x803867D8) +803886C8 80384348 GX::Init@8016b7d4 lwz r31,-0x68d8(r2); GX::SetCPUFifo@8016c978 lwz r5,-0x68d8(r2); GX::DrawDone@8016ea3c lwz r4,-0x68d8(r2); GX::BeginDisplayList@80172d74 lwz r30,-0x68d8(r2) # .sdata2 `gx` (__GXData ptr), r2-0x68d8 in both regions (PAL 0x8038EFA0-0x68D8=0x803886C8) + +# ---------------------------------------------------------------- DVD +80343230 8033EEB0 __DVDClearWaitingQueue@80163520 lis r6,0x8034; @80163524 addi r6,r6,-0x1150 (=0x8033EEB0); @8016352c stw r6,0x0(r6); @80163538 stw r6,0x4(r6) (4 self-linked queues of 8 bytes: +0..+0x1c); __DVDPushWaitingQueue@80163580 addi r4,r4,-0x1150; __DVDPopWaitingQueue@801635e0 addi r4,r4,-0x1150 +803434E0 8033F160 DVD::LowInit@801648e0 lis r4,0x8034; @801648e4 stwu r5,-0xea0(r4) (r4=0x8033F160=ctx[0], ctx[0]+0=0); @801648e8 lis r3,0xfeec; @801648f8 addi r3,r3,-0x2513 (=0xFEEBDAED); @80164900 stw r3,0xc(r4) (ctx[0]+0xC=magic); @80164904 stw r5,0x10(r4) (ctx[0]+0x10=0); @80164918 stw r0,0x30(r4) (ctx[1]+0x10=1); @8016492c stw r6,0x50(r4) (ctx[2]+0x10=2); @80164944 stw r6,0x70(r4) (ctx[3]+0x10=3) +80386664 803822E4 DVD::Pause@80162b74 stw r4,-0x659c(r13); DVD::Resume@80162bb4 stw r4,-0x659c(r13); DVD::CancelAll@80163070 stw r4,-0x659c(r13); DVD::InquiryAsync@801629b4 lwz r0,-0x659c(r13) # r13-0x659c both regions +80386668 803822E8 DVD::Resume@80162bb8 lwz r0,-0x6598(r13); DVD::Resume@80162bc4 stw r4,-0x6598(r13); DVD::Pause@80162b80 stw r4,-0x6598(r13); DVD::GetDriveStatus@80162ae0 lwz r0,-0x6598(r13) +80386670 803822F0 __DVDPrepareReset@801633f0 lwz r0,-0x6590(r13); __DVDPrepareResetAsync@801632c0 lwz r0,-0x6590(r13) +8038667C 803822FC DVD::CancelAll@80163058 stw r0,-0x6584(r13); DVD::CancelAll@801630d4 stw r0,-0x6584(r13); DVD::CancelAll@80163128 lwz r0,-0x6584(r13) +803866A8 80382328 __DVDPrepareReset@801633e0 stw r31,-0x6558(r13); __DVDPrepareReset@80163488 stw r0,-0x6558(r13); __DVDPrepareReset@801634cc lwz r0,-0x6558(r13) +803866F0 80382370 DVD::Pause@80162b6c lwz r0,-0x6510(r13); DVD::CancelAll@80163068 lwz r0,-0x6510(r13); __DVDPrepareReset@8016340c lwz r3,-0x6510(r13); DVD::ReadAbsAsyncPrio@801628c8 lwz r0,-0x6510(r13) # `executing` command block +80386720 803823A0 DVD::LowInit@80164948 stw r5,-0x64e0(r13) (r5=0, current context index, right after the 4-context init); DVD::LowReadDiskID@80164a3c lwz r9,-0x64e0(r13) +80386724 803823A4 DVD::LowInit@801648d0 lbz r0,-0x64dc(r13) (skip context init if already set); DVD::LowInit@8016494c stb r0,-0x64dc(r13) (=1) +80386725 803823A5 DVD::LowInit@801647c4 lbz r0,-0x64db(r13); DVD::LowInit@801647d4 stb r0,-0x64db(r13) (=1); DVD::LowFinalize@80164794 stb r0,-0x64db(r13) (=0) +803866A0 80382320 DVD::Init@8015e990 lwz r0,-0x6560(r13) (return if already initialized); DVD::Init@8015e9a8 stw r0,-0x6560(r13) (=1) + +# ---------------------------------------------------------------- NAND +80346D20 803429A0 nandGetHomeDir@8019e7d4 lis r3,0x8034; @8019e7d8 addi r3,r3,0x29a0 (returns &NANDHomeDir=0x803429A0); NAND::Init@8019e178 lis r5,0x8034; @8019e184 addi r5,r5,0x29a0 (ESP_GetDataDir out buffer); NAND::Init@8019e198 lis r4,0x8034; @8019e1a0 addi r4,r4,0x29a0 +80386848 803824C8 NAND::Init@8019e10c lwz r0,-0x63b8(r13) (cmpwi 1 / cmpwi 2 = init state); NAND::Init@8019e13c stw r0,-0x63b8(r13) (=1); NAND::Init@8019e1d0 stw r0,-0x63b8(r13) (=2 on success); NAND::GetCurrentDir@8019e308 lwz r0,-0x63b8(r13) + +# ---------------------------------------------------------------- VI +# VI HorVer struct (.bss): NTSC 0x8034C4E0 = PAL 0x80350860 - 0x4380; fields +4 DispSizeX, +6 DispSizeY, +0x12 FBSizeX, +0x1C PanSizeY, +0x30 bufAddr +80350864 8034C4E4 VIInit@801b962c lis r30,0x8035; @801b9630 addi r31,r30,-0x3b20 (=0x8034C4E0 HorVer); @801b965c li r7,640; @801b969c sth r7,0x4(r31) (HorVer.DispSizeX=640) +80350866 8034C4E6 VIInit@801b96b0 sth r0,0x6(r31) (HorVer.DispSizeY = timing->acv*2; r31=0x8034C4E0) +80350872 8034C4F2 VIInit@801b970c lis r4,0x8035; @801b9714 addi r4,r4,-0x3b20 (=0x8034C4E0); @801b9718 li r9,640; @801b97b4 sth r9,0x12(r4) (HorVer.FBSizeX=640) +8035087C 8034C4FC VIInit@801b9804 sth r5,0x1c(r4) (HorVer.PanSizeY; r4=0x8034C4E0) +80350890 8034C510 VISetNextFrameBuffer@801baa34 lis r7,0x8035; @801baa3c addi r7,r7,-0x3b20 (=0x8034C4E0); @801baa44 stw r30,0x30(r7) (HorVer.bufAddr=fb); @801baa4c addi r4,r7,0x34; @801baa50 addi r5,r7,0x38 (setFbbRegs(&HorVer,&tfbb,&bfbb,...)) +80386B38 803827B8 VIInit@801b9418 lwz r0,-0x60c8(r13) (already-initialised check); VIInit@801b9434 stw r0,-0x60c8(r13) # r13-0x60c8 both regions +80386BA8 80382828 VIGetTvFormat@801bac4c lwz r31,-0x6058(r13); VIInit@801b9690 stw r8,-0x6058(r13) (CurrTvMode=HorVer.tv); __VIRetraceHandler@801b8b10 stw r3,-0x6058(r13) +80386BE4 80382864 VIWaitForRetrace@801b9968 lwz r30,-0x601c(r13); VIWaitForRetrace@801b9974 lwz r0,-0x601c(r13); VIGetRetraceCount@801bab04 lwz r3,-0x601c(r13); __VIRetraceHandler@801b8974 stw r0,-0x601c(r13) (retraceCount++) +80386B44 803827C4 VIInit@801b9904 stw r0,-0x60bc(r13) (=1, VIInit tail); __VIRetraceHandler@801b8da4 lwz r0,-0x60bc(r13); __VIRetraceHandler@801b8dcc stw r0,-0x60bc(r13) +80386BB8 80382838 VISetPreRetraceCallback@801b906c lwz r31,-0x6048(r13); VISetPreRetraceCallback@801b9074 stw r30,-0x6048(r13); __VIRetraceHandler@801b8984 lwz r12,-0x6048(r13); VIInit@801b984c stw r29,-0x6048(r13) +80386BB4 80382834 VISetPostRetraceCallback@801b90b0 lwz r31,-0x604c(r13); VISetPostRetraceCallback@801b90b8 stw r30,-0x604c(r13); __VIRetraceHandler@801b8d7c lwz r12,-0x604c(r13); VIInit@801b9850 stw r29,-0x604c(r13) +80386BA0 80382820 VIGetNextFrameBuffer@801baa84 lwz r3,-0x6060(r13); __VIRetraceHandler@801b8b14 stw r0,-0x6060(r13) +80386BC0 80382840 VIWaitForRetrace@801b996c addi r3,r13,-0x6040 -> OSSleepThread(&retraceQueue); VIInit@801b97f8 addi r3,r13,-0x6040 -> OSInitThreadQueue; __VIRetraceHandler@801b8d8c addi r3,r13,-0x6040 -> OSWakeupThread + +# ---------------------------------------------------------------- EGG +# NOTE: past the .sbss gap: PAL r13-0x5ca0, NTSC r13-0x5ca8 (delta 0x4388) +80386F60 80382BD8 RKSystem::Main@80008ec0 lis r31,0x802a; @80008ec4 addi r31,r31,-0x300 (=0x8029FD00 system instance, .bss start); @80008ed8 stw r31,-0x5ca8(r13) (BaseSystem::sSystem = instance, then virtual call via vtable+0x38); EGG::AsyncDisplay::beginFrame@8020fe74 lwz r3,-0x5ca8(r13) (sSystem->vtable[2] call); EGG::Display::beginFrame@80219e50 lwz r3,-0x5ca8(r13); EGG::SceneManager::createScene@8023ad94 lwz r4,-0x5ca8(r13); EGG::DrawDoneCallback@8020fc48 lwz r3,-0x5ca8(r13); EGG::StateGX::InitFrame@80240054 lwz r3,-0x5ca8(r13) + +# ---------------------------------------------------------------- Range constants (section tables) +# NTSC-U DOL header: section 9 = .ctors file off 0x240E40 addr 0x80244D40 size 0xC0 (end 0x80244E00) +# section 10 = .dtors file off 0x240F00 addr 0x80244E00 size 0x20 (end 0x80244E20) +# .ctors contents: 80244D40 __init_cpp_exceptions(0x80020684), 80244D44 __sinit_\RKSystem_cpp(0x8000998C), ... 80244DE8 __sinit__eggVector_cpp(0x80242D2C), 80244DEC..80244DFC zero +# .dtors contents: 80244E00 __destroy__global_chain(0x800207F0), 80244E04 __fini_cpp_exceptions(0x800206C0), rest zero +80244DE0 80244D40 DOL section table: .ctors start (sec9 addr), delta 0xA0 like the surrounding text +80244EA0 80244E00 DOL section table: .ctors end = .dtors start (sec9 addr+size = sec10 addr) +# NTSC-U StaticR.rel section table (load base 0x8050BF60): section 2 = .ctors file off 0x37F070 size 0x304 -> 0x8088AFD0..0x8088B2D4 (193 words: 192 R_PPC_ADDR32 self-relocations + null terminator); +# section 3 = .dtors file off 0x37F374 size 0xC -> 0x8088B2D4..0x8088B2E0 (2 ADDR32 relocations); section 4 (.rodata) starts 0x8088B2E0 +8088F400 8088AFD0 REL section table: .ctors start (sec2 off 0x37F070 + base 0x8050BF60) +8088F704 8088B2D4 REL section table: .ctors end (0x8088AFD0 + 0x304) = .dtors (sec3) start + +# ================================================================ Batch 2 +# ---------------------------------------------------------------- GX (DOL .bss/.sbss) - GXInit / __GXFifoInit / __GXPEInit objects +80343740 8033F3C0 GX::Init@8016b824 lis r28,0x8034; @8016b830 addi r3,r28,-0xc40 (=0x8033F3C0 FifoObj -> GXInitFifoBase); @8016b838 addi r3,r28,-0xc40 (GXSetCPUFifo); @8016b840 addi r3,r28,-0xc40 (GXSetGPFifo); @8016bc9c addi r3,r3,-0xc40 (return &FifoObj) +803437C0 8033F440 .sdata2 cell: the `gx` pointer at NTSC 0x80384348 (r2-0x68d8, see 803886C8 above) contains 0x8033F440 in the DOL image (sec14 file data) = &gxData; PAL cell 0x803886C8 holds 0x803437C0. GX::Init@8016b7d4 (ctx) lwz r31,-0x68d8(r2) loads that cell. +80343DC0 8033FA40 __GX::FifoInit@8016d12c lis r3,0x8034; @8016d134 addi r3,r3,-0x5c0 (=0x8033FA40); @8016d138 li r5,0x24 -> memset(&GPFifo,0,0x24) +80343DE4 8033FA64 __GX::FifoInit@8016d114 lis r3,0x8034; @8016d120 addi r3,r3,-0x59c (=0x8033FA64); @8016d124 li r5,0x24 -> memset(&CPUFifo,0,0x24); GX::SetCPUFifo@8016c8d4 lis r4,0x8034; @8016c8dc addi r4,r4,-0x59c; @8016c8e8 stb r0,0x22(r4) +803867B0 80382430 __GX::FifoInit@8016d140 stb r31,-0x6450(r13) (=0); GX::SetCPUFifo@8016c8e0 stb r0,-0x6450(r13); GX::GetCPUFifo@8016ce84 lbz r0,-0x6450(r13) +803867B1 80382431 __GX::FifoInit@8016d144 stb r31,-0x644f(r13) (=0) +803867C0 80382440 __GX::FifoInit@8016d11c stw r31,-0x6440(r13) (r31=0: thread queue head cleared) +803867C4 80382444 __GX::FifoInit@8016d110 stw r3,-0x643c(r13) (r3 = OSGetCurrentThread()); GX::GetCurrentGXThread@8016d2fc lwz r3,-0x643c(r13) +803867D0 80382450 __GX::PEInit@8016eda0 addi r3,r13,-0x6430 -> OSInitThreadQueue; GX::DrawDone@8016ea9c addi r3,r13,-0x6430 -> OSSleepThread; GX::FinishInterruptHandler@8016ed58 addi r3,r13,-0x6430 -> OSWakeupThread + +# ---------------------------------------------------------------- OS scheduler (DOL .bss/.sbss) +803477B0 80343430 SetEffectivePriority@801a99b0 lis r3,0x8034; @801a99b8 addi r3,r3,0x3430 (=0x80343430 RunQueue[32], indexed by prio*8: @801a99b4 slwi r0,r31,3); SelectThread@801a9bec lis r3,0x8034; @801a9bf4 addi r3,r3,0x3430; OS::ResumeThread@801aa580 lis r3,0x8034; @801aa588 addi r3,r3,0x3430 +80386918 80382598 OS::__ThreadInit@801a97e0 stw r29,-0x62e8(r13) (=0); OS::DisableScheduler@801a985c lwz r31,-0x62e8(r13); @801a9864 stw r0,-0x62e8(r13) (count+1); SelectThread@801a9b80 lwz r0,-0x62e8(r13) (early exit while >0) +8038691C 8038259C OS::__ThreadInit@801a9718 stw r3,-0x62e4(r13) +80386920 803825A0 OS::__ThreadInit@801a9710 stw r3,-0x62e0(r13); UnsetRun@801a9908 lwz r5,-0x62e0(r13); @801a9918 stw r0,-0x62e0(r13) + +# ---------------------------------------------------------------- SC / game system (DOL .sbss) +803869E0 80382660 SCGetProductCode@801b2390 addi r4,r13,-0x6220 (6-byte CODE output buffer: @801b2398 li r5,6); @801b23ac addi r3,r13,-0x6220 (returned pointer) +80386000 80381C80 SystemManager::create@8000a5a4 lwz r0,-0x6c00(r13) (s_instance null check); @8000a5c8 stw r3,-0x6c00(r13) (s_instance = new SystemManager); @8000a5d4 lwz r3,-0x6c00(r13); also REL GameScreen::__ct@80561520 lis r3 + @80561524 lwz r3,0(r3) carry module-0 relocations to 0x80381C80 + +# ---------------------------------------------------------------- EGG::Screen statics (DOL .sbss) - delta 0x4380 still holds here +80386F14 80382B94 EGG::Screen::SetTVModeDefault@8023e1cc lwz r6,-0x5cec(r13) (active screen, cmpwi 0 -> skip); EGG::Screen::SetTVMode@8023e114 lwz r6,-0x5cec(r13); EGG::Screen::CreateDummy@8023cf08 stw r3,-0x5cec(r13) +80386F20 80382BA0 EGG_Screen_cpp_sinit_@8023e37c (ctx) lfs f1,-0x5f84(r2) (=1.0f constant at 0x80384C9C); @8023e380 addi r4,r13,-0x5ce0; @8023e38c stfs f1,-0x5ce0(r13) (gScreenScale.x = 1.0); EGG::Screen::GetPosSizeInEFB@8023d62c lfs f0,-0x5ce0(r13); EGG::Screen::LoadDirectly@8023d1c4 lfs f0,-0x5ce0(r13) +80386F24 80382BA4 EGG_Screen_cpp_sinit_@8023e390 stfs f1,0x4(r4) with r4 = r13-0x5ce0 (=0x80382BA0) from @8023e380 (ctx) addi r4,r13,-0x5ce0 (gScreenScale.y = 1.0; second float of the Vector2f at 0x80382BA0) + +# ---------------------------------------------------------------- EGG::DrawGX::SetVtxState vertex arrays (DOL .sdata2 / .rodata) +# .sdata2 arrays keep their r2 offsets (delta 0x4380); the .rodata arrays sit at PAL-0x320 (PAL .rodata carries 0x280 more bytes before them than NTSC; .rodata starts at PAL-0xA0). +80388B80 80384800 EGG::DrawGX::SetVtxState@8021b484 li r3,10(GX_VA_NRM); @8021b488 addi r4,r2,-0x6420; @8021b48c li r5,6 -> GXSetArray (states 7/8) +80388BA0 80384820 EGG::DrawGX::SetVtxState@8021b514 li r3,10; @8021b518 addi r4,r2,-0x6400; @8021b51c li r5,6 -> GXSetArray (state 9) +80388BC0 80384840 EGG::DrawGX::SetVtxState@8021b588 addi r4,r2,-0x63e0 (POS array, states 10/12); @8021b58c li r3,9; @8021b590 li r5,2 +80388BE0 80384860 EGG::DrawGX::SetVtxState@8021b580 addi r4,r2,-0x63c0 (POS array, states 11/13); @8021b5a0 li r3,13(GX_VA_TEX0); @8021b5a4 addi r4,r2,-0x63c0; @8021b5a8 li r5,2 +802574A0 80257180 EGG::DrawGX::SetVtxState@8021b270 lis r31,0x8025; @8021b274 addi r31,r31,0x7160 (=0x80257160); @8021b2d8 addi r4,r31,0x20 (=0x80257180); @8021b2dc li r3,9(GX_VA_POS); @8021b2e0 li r5,6 (state 0) +802574E0 802571C0 EGG::DrawGX::SetVtxState@8021b2e8 addi r4,r31,0x60 (=0x802571C0); @8021b2ec li r3,10(GX_VA_NRM); @8021b2f0 li r5,6 (state 0) +80257520 80257200 EGG::DrawGX::SetVtxState@8021b474 addi r4,r31,0xa0 (=0x80257200); @8021b478 li r3,9; @8021b47c li r5,4 (states 7/8) +80257540 80257220 EGG::DrawGX::SetVtxState@8021b504 addi r4,r31,0xc0 (=0x80257220); @8021b508 li r3,9; @8021b50c li r5,6 (state 9) + +# ---------------------------------------------------------------- EGG::Screen canvas records + vtable (DOL .data) - these sit at PAL-0x4368 (not 0x4380) +# NTSC record table 0x8029FB80: {608,480,1.0526,1.0} then {832,480,0.7692,1.0} (12-byte records, matching the runtime's 608/832 widths); vtable 0x8029FBA4 = {EGG::Screen::__dt, EGG::Screen::LoadDirectly, EGG::Screen::CopyToG3D, ...} +802A3EE8 8029FB80 EGG::Screen::SetTVModeDefault@8023e1c4 bl SCGetAspectRatio; @8023e1e8 mulli r4,r0,12; @8023e1f0 lis r5,0x802a; @8023e1fc addi r5,r5,-0x480 (=0x8029FB80 record[0]); @8023e200 lhzx r4,r5,r4 (record[aspect].width); EGG::Screen::__ct@8023cf38 lis r5,0x802a; @8023cf48 addi r5,r5,-0x480; REL GameScreen::__ct@80561558 lis r4 / @80561568 addi r4,r4,0 carry module-0 relocations to 0x8029FB80 +802A3EF4 8029FB8C record[1] = 0x8029FB80 + 12 (SetTVModeDefault index*12 above; 16:9 record {832,480,...} at 0x8029FB8C in the DOL image) +802A3F0C 8029FBA4 EGG::Screen::__ct@8023cfac lis r3,0x802a; @8023cfb0 addi r3,r3,-0x45c (=0x8029FBA4); @8023cfb8 stw r3,0x38(r31) (vtable at this+0x38); EGG::Screen::__ct(args)@8023d058 addi r3,r3,-0x45c + +# ---------------------------------------------------------------- StaticR.rel (.data / .bss) - resolved through the NTSC-U REL relocation table +# Method: the REL text carries pre-relocation immediates (lis/addi = 0), so each cited instruction's R_PPC_ADDR16_HA/LO entry (module 1) was +# looked up at instruction+2 in the import table; target = section address + addend. NTSC-U section addresses: .data (sec5) = 0x808AE520, +# .bss (sec6) = 0x809B8F20 = 0x8050BF60 + alignUp(filesize 0x4ACF94 + 0x20 heap header, 0x20), which is exactly where the translator +# (RelFile.CalculateBssOffset) and the NTSC base manifest (build/base/mkwii_base_manifest.json: StaticR.rel:6 = 0x809b8f20..0x809c07d0) place it. +# PAL cross-check: the runtime's PAL bss identities imply PAL bss base 0x809BD6E0 (0x809C1830 - 0x4150; THP flag 0x809BECF0 = +0x1610 is +# referenced by NTSC THP::PlayerQuit/PlayerDrawDone at sec6+0x1610; Race::JugemManager 0x809C28B8 = +0x51D8 referenced by NTSC RaceScene::OnEnterEnd). +# The PAL bss layout is NOT identical everywhere: the audio singleton cluster sits 0x480 higher in PAL (mkw-sp PAL RaceSoundManager 0x809C27F8 = +# +0x5118 vs NTSC Audio::RaceMgr::CreateInstance -> +0x4C98; ItemMusicManager 0x809C27F0 = +0x5110 vs Audio::ItemAlterationMgr -> +0x4C90), so +# REL bss identities were matched by function, never by delta. +808B4C20 808B0570 GameScreen::__ct@805614cc bl -> EGG::Screen::__ct (module-0 REL24 reloc to 0x8023cf30; GameScreen is the only REL caller of an EGG::Screen ctor); @805614d0 lis r3 (ADDR16_HA -> sec5+0x2050); @805614d8 addi r3,r3 (ADDR16_LO -> sec5+0x2050 = 0x808B0570); @805614dc stw r3,0x38(r30) (vtable at this+0x38, same slot as the EGG::Screen vtable). Vtable contents via ADDR32 relocs: +8 GameScreen::__dt, +0xC EGG::Screen::LoadDirectly, +0x10 EGG::Screen::CopyToG3D (same layout as the EGG::Screen vtable at 0x8029FBA4). +809C1830 809BD070 Renderer::Register(listIdx)@80560d9c lis r5 (ADDR16_HA -> sec6+0x4150); @80560da8 addi r5,r5 (ADDR16_LO -> sec6+0x4150 = 0x809BD070 = Render::DrawList instance); @80560da4 mulli r0,r4,12; @80560dc0 add r3,r5,r0 (&lists[listIdx], 12-byte nw4r::ut::List); 38 sites reference sec6+0x4150 (Renderer::Register2ndList, RemoveFrom1stList/2ndList, ...) +809C183C 809BD07C Renderer::Register2ndList(NoAppend)@80560ef0 lis r5 (-> sec6+0x4150); @80560ef8 addi r5,r5 (-> 0x809BD070); @80560f08 addi r3,r5,0xc (second list = DrawList+0xC = 0x809BD07C); Renderer::RemoveFrom2ndList@80560f54 lis r5; @80560f5c addi r5,r5 (-> 0x809BD070); @80560f60 addi r3,r5,0xc +809C2898 809BDC58 Audio::Manager::CreateInstance@8070f390 lis r3 (ADDR16_HA -> sec6+0x4d38); @8070f3ac lwz r0,0(r3) (ADDR16_LO -> sec6+0x4d38 = 0x809BDC58, null check); @8070f440 lis r3; @8070f444 stw r30,0(r3) (-> sec6+0x4d38: spInstance = new Audio::Manager); the object is EGG::ExpAudioMgr-derived: Audio::Manager::StartSound@8070fcc0 lwz r3,0x5bc(r3) (archive player pointer) and DOL EGG::ExpAudioMgr::Initialize@802114e4 lwz r3,0x5bc(r27), matching the runtime's kArchivePlayerOffset 0x5BC. PAL offset 0x51B8 = NTSC 0x4D38 + 0x480, the same shift as the mkw-sp audio singletons. + +# ---------------------------------------------------------------- .ctors/.dtors confirmation (batch 2 request) - unchanged from above +# DOL: PAL .ctors 80244DE0..80244EA0 -> NTSC 80244D40..80244E00 (sec9); .dtors NTSC 80244E00..80244E20 (sec10). REL: PAL .ctors 8088F400..8088F704 -> NTSC 8088AFD0..8088B2D4 (sec2); .dtors 8088B2D4..8088B2E0 (sec3). +# The NTSC base manifest agrees: .ctors 0x80244d40-0x80244e00, .dtors 0x80244e00-0x80244e20, StaticR.rel:2 0x8088afd0-0x8088b2d4, StaticR.rel:3 0x8088b2d4-0x8088b2e0. + +# ================================================================ Batch 3 +# ---------------------------------------------------------------- AX / DSP (DOL .data/.bss/.sbss/.sdata2) +# __AXOutInitDSP fills the DSPTaskInfo __AXDSPTask (NTSC 0x802F3E20): +0xC iram_mmem_addr, +0x10 iram_length, +0x18 dram_mmem_addr, +0x1C dram_length(64), +0x20 dram_addr(3282), +0x28.. callbacks 0x801268a8/0x801268b4/0x80126908/0x80126918 (= PAL 80126948/54/9A8/9B8 - 0xA0) +8027F820 8027B4E0 __AXOutInitDSP@80126960 lis r29,0x8028; @80126964 addi r29,r29,-0x4b20 (=0x8027B4E0, DSP ucode image: vector table 029f 0f3c 029f 0f48 ... at that address); @80126990 stw r29,0xc(r30) (task.iram_mmem_addr; r30 = __AXDSPTask) # .data delta 0x4340 for this object (not 0x4380) +802F81A0 802F3E20 __AXOutInitDSP@80126950 lis r30,0x802f; @80126954 addi r30,r30,0x3e20 (=0x802F3E20 __AXDSPTask); @801269d8 lis r3,0x802f; @801269dc addi r3,r3,0x3e20 -> DSPAddTask(&__AXDSPTask); __AXOutAiCallback@80126830 lis r3,0x802f; @80126838 addi r3,r3,0x3e20 +802F8200 802F3E80 __AXOutInitDSP@80126924 lis r11,0x802f; @80126944 addi r11,r11,0x3e80 (=0x802F3E80 DRAM image); @8012699c stw r11,0x18(r30) (task.dram_mmem_addr); @80126978 li r10,64; @801269a0 stw r10,0x1c(r30) (dram_length = 64); @80126980 li r9,3282; @801269a4 stw r9,0x20(r30) (dram_addr) +80386608 80382288 DSPInit@8015d3d0 lwz r0,-0x65f8(r13) (already-initialised check); DSPInit@8015d448 stw r0,-0x65f8(r13) (=1); DSPCheckInit@8015d464 lwz r3,-0x65f8(r13) +80386610 80382290 DSPAssertTask@8015d510 stw r0,-0x65f0(r13) (=1); DSPAssertTask@8015d538 stw r0,-0x65f0(r13); __DSPHandler@8015d6d8 lwz r0,-0x65f0(r13) +80386614 80382294 DSPAssertTask@8015d50c stw r30,-0x65ec(r13) (= task being asserted); DSPAssertTask@8015d534 stw r30,-0x65ec(r13) +80386618 80382298 DSPInit@8015d438 stw r4,-0x65e8(r13) (=0, cleared with the task pointers below) +8038661C 8038229C DSPInit@8015d440 stw r4,-0x65e4(r13) (=0); __DSPHandler@8015d96c lwz r3,-0x65e4(r13); __DSP_insert_task@8015dd60 stw r3,-0x65e4(r13) +80386620 803822A0 DSPInit@8015d444 stw r4,-0x65e0(r13) (=0); DSPAddTask@8015d4ac lwz r0,-0x65e0(r13); __DSPHandler@8015d968 lwz r0,-0x65e0(r13) +80386624 803822A4 DSPInit@8015d43c stw r4,-0x65dc(r13) (=0); DSPAssertTask@8015d4f8 lwz r5,-0x65dc(r13); __DSPHandler@8015d634 lwz r5,-0x65dc(r13) +80388588 80384208 AXFXReverbStdExpCallback@8012b81c lfs f2,-0x6a18(r2) (cell 0x80384208 = 1.0f in the DOL image); AXFXReverbStdExp__InitParams@8012becc lfs f1,-0x6a18(r2) # r2-0x6a18 in both regions (PAL 0x8038EFA0-0x6A18=0x80388588) +8038858C 8038420C AXFXReverbStdExpCallback@8012b82c lfs f3,-0x6a14(r2) (cell 0x8038420C = 0.6f in the DOL image) + +# ---------------------------------------------------------------- AI (DOL .sbss) +80386448 803820C8 AIInit@8012402c lwz r0,-0x67b8(r13) (already-initialised check); AIInit@80124170 stw r0,-0x67b8(r13) (=1); AICheckInit@80123ff4 lwz r3,-0x67b8(r13) +8038644C 803820CC __AIDHandler@801241d8 lwz r0,-0x67b4(r13) (callback-busy check); __AIDHandler@801241ec stw r4,-0x67b4(r13) (=1) +8038647C 803820FC AIInit@8012415c stw r31,-0x6784(r13); __AIDHandler@801241e4 lwz r0,-0x6784(r13); __AICallbackStackSwitch@8012425c lis r5,0x8038; @80124260 addi r5,r5,0x20fc (=0x803820FC) +80386480 80382100 AIRegisterDMACallback@80123f00 lwz r31,-0x6780(r13) (old callback); AIRegisterDMACallback@80123f08 stw r30,-0x6780(r13) (new callback); AIInit@80124150 stw r0,-0x6780(r13) (=0); __AIDHandler@801241cc lwz r3,-0x6780(r13) + +# ---------------------------------------------------------------- OS thread/interrupt globals (DOL .bss/.sdata/.sbss) +80347130 80342DB0 OS::CreateThread@801a9ea8 lis r4,0x8034; @801a9eac addi r4,r4,0x2d70; @801a9eb0 lwz r0,0x40(r4) (=0x80342DB0); @801a9eb4 cmpwi r0,0 -> skip the FP/PS context init; when set: @801a9ecc ori r5,r5,0x900 (srr1), @801a9ed4 ori r4,r4,1 (mode), fpscr from the .sdata word below (exactly the sequence os_thread.cpp mirrors) +80347498 80343118 OS::__ThreadInit@801a95a0 lis r31,0x8034; @801a95a4 addi r31,r31,0x3118 (=0x80343118 DefaultThread; RunQueue[32] at 0x80343430 = +0x318 follows it) +803478B0 80343530 SelectThread@801a9ca0 lis r3,0x8034; @801a9ca8 addi r3,r3,0x3530 (=0x80343530 IdleContext -> OSLoadContext); SelectThread@801a9cd0 lis r3,0x8034; @801a9cd4 addi r3,r3,0x3530 +80385AA8 80381728 OS::CreateThread@801a9ee0 lwz r4,-0x7158(r13) (__OSFpscrEnableBits); @801a9ee4 rlwinm r4,r4,0,24,28 (&0xF8); @801a9ee8 ori r4,r4,4; @801a9eec stw r4,0x194(r31) (thread->context.fpscr); OS::SetErrorHandler@801a28ac lwz r4,-0x7158(r13) # .sdata, r13-0x7158 both regions +80385AE0 80381760 OS::SetSwitchThreadCallback@801a952c lwz r31,-0x7120(r13) (old callback); @801a9540 stw r30,-0x7120(r13) (new); SelectThread@801a9c84 lwz r12,-0x7120(r13) (called on switch); OS::__ThreadInit@801a9620 lwz r12,-0x7120(r13) # .sdata, r13-0x7120 both regions +803868F8 80382578 OS::__SetInterruptHandler@801a6558 lwz r5,-0x6308(r13) (InterruptHandlerTable ptr, then stwx handler); OS::__GetInterruptHandler@801a656c lwz r4,-0x6308(r13); OS::__InterruptInit@801a65a4 stw r3,-0x6308(r13); OS::__DispatchInterrupt@801a6bc0 lwz r3,-0x6308(r13) +80386298 80381F18 RFL::iGetManager@800bc3d0 lwz r3,-0x6968(r13) (returns the RFL manager pointer); RFL::Init@800bbb34 lwz r0,-0x6968(r13) +80336278 80331EF8 BTM_IsDeviceUp@8013a260 lis r3,0x8033; @8013a264 addi r3,r3,0x1ef8 (=0x80331EF8 btm_cb); @8013a268 lbz r3,0x64e(r3) (device state; compared with 5, matching os_init.cpp's +0x64E/5); btm_acl_init@80137bc4 addi r3,r3,0x1ef8 + +# ---------------------------------------------------------------- StaticR.rel THP player state and movie mode table (relocation method, bss base 0x809B8F20) +# THP ActivePlayer struct = REL bss+0x1420 in both regions (PAL 0x809BEB00 = 0x809BD6E0+0x1420; NTSC 0x809BA340); the runtime's 809BEBA0..A7 are its +0xA0 (open) and +0xA4..+0xA7 byte fields. +809BEBA0 809BA3E0 THP::PlayerOpen@8054ad7c lis r29 (ADDR16_HA -> sec6+0x1420); @8054ad84 addi r29,r29 (ADDR16_LO -> 0x809BA340 ActivePlayer); @8054ada0 addi r30,r29,0; @8054ada4 lwz r0,0xa0(r30) (already-open check); @8054afc8 stw r0,0xa0(r30) (open = 1); THP::PlayerClose@8054aff8 lis r3; @8054b000 addi r3,r3 (-> 0x809BA340); @8054b020 stw r0,0xa0(r3) (open = 0) [reloc-base 0x809BA340 + 0xA0] +809BEBA4 809BA3E4 THP::PlayerOpen@8054afbc stb r4,0xa4(r30) (r30 = ActivePlayer 0x809BA340 from @8054ad7c / @8054ad84 / @8054ada0 [3bdd0000]) [reloc-base 0x809BA340 + 0xA4] +809BEBA5 809BA3E5 THP::PlayerOpen@8054afb4 stb r4,0xa5(r30) (same base: @8054ad7c / @8054ad84 / @8054ada0 [3bdd0000]) [reloc-base 0x809BA340 + 0xA5] +809BEBA6 809BA3E6 THP::PlayerOpen@8054afc0 stb r4,0xa6(r30) (same base: @8054ad7c / @8054ad84 / @8054ada0 [3bdd0000]) [reloc-base 0x809BA340 + 0xA6] +809BEBA7 809BA3E7 THP::PlayerOpen@8054aec4 stb r0,0xa7(r30) (same base: @8054ad7c / @8054ad84 / @8054ada0 [3bdd0000]) [reloc-base 0x809BA340 + 0xA7] +809BECF0 809BA530 THP::PlayerQuit@8054ad48 lis r3 (ADDR16_HA -> sec6+0x1610); @8054ad50 stw r0,0(r3) (ADDR16_LO -> sec6+0x1610 = 0x809BA530, Initialized = 0); THP::PlayerDrawDone@8054bee0 lis r3; @8054bee4 lwz r0,0(r3) (-> 0x809BA530) # PAL +0x1610 under base 0x809BD6E0, same offset +8088FDB8 8088B960 MovieManager::Prepare@805258b0 lwz r0,0xa8(r31) (mode); @805258b4 lis r4 (ADDR16_HA -> sec4+0x680); @805258b8 addi r4,r4 (ADDR16_LO -> sec4+0x680 = 0x8088B960); @805258c0 slwi r0,r0,2; @805258c8 lwzx r4,r4,r0 (audioSystem = table[mode]) -> THP::PlayerPrepare; MovieManager::PrepareAsync@8052594c lis r4; @80525950 addi r4,r4 (-> 0x8088B960); @80525960 lwzx r4,r4,r0 # REL .rodata: PAL 0x8088FDB8 is .rodata+0x698 from 0x8088F720 but the NTSC table is .rodata+0x680; matched by function, not by delta + +# ---------------------------------------------------------------- Notes +# * No PAL binary is available on this machine (both MKW images found are RMCE01), so PAL-side offsets are +# PAL_addr - PAL_r13/r2 by definition; each NTSC-U instruction above was matched by function identity (port table + +# PAL MAP name), by the instruction's role in the SDK/EGG function, and by consistency with sibling globals. +# * .sbss gap: delta 0x4380 is directly witnessed up to PAL 0x80386F27 (EGG::Screen gScreenScale Vector2f at +# PAL 0x80386F20/24 -> NTSC 0x80382BA0/A4: EGG_Screen_cpp_sinit_@8023e38c stfs f1,-0x5ce0(r13), +# @8023e390 stfs f1,4(r4) with @8023e380 addi r4,r13,-0x5ce0; EGG::Screen::SetTVModeDefault@8023e1cc lwz r6,-0x5cec(r13) +# = PAL 0x80386F14 active-screen ptr), and delta 0x4388 at PAL 0x80386F60 (sSystem). The extra 8 PAL bytes therefore +# lie in PAL 0x80386F28..0x80386F5F (NTSC 0x80382BA8..0x80382BD7: EGG::Screen/StateGX statics); which object was +# added/removed could not be identified without the PAL binary. None of the identities above fall inside that window. +# * The runtime's comment labels for some DVD .sbss globals do not match the SDK roles visible in the code +# (0x80386664 is the flag DVDPause sets / DVDResume clears, 0x80386668 the one DVDResume tests-and-clears, +# 0x80386670 the one __DVDPrepareReset tests); the address identities are unaffected. +# STM (State Transition Manager) globals. __OSInitSTM stores the two /dev/stm handles and its +# initialized flag into the small-data block; the runtime's stub writes the same three words so +# OSResetSystem's zero-checks pass. Their SDA offsets are NOT the same in every region (RMCK01 +# puts them 0x20 lower, where PAL/NTSC-U/NTSC-J keep the OSDisableScheduler nesting count), so +# they are named as identities here rather than as a hardcoded r13 offset. +80386934 803825B4 __OSInitSTM@801AB810 stw r31,-0x62cc(r13) (STM initialized flag) +80386938 803825B8 __OSInitSTM@801AB808 stw r3,-0x62c8(r13) (/dev/stm/immediate handle) +8038693C 803825BC __OSInitSTM@801AB830 stw r3,-0x62c4(r13) (/dev/stm/eventhook handle) +80386940 803825C0 OS::SetPowerCallback@801AB700 lwz r0,-0x62c0(r13); @801AB750 stw r0,-0x62c0(r13); @801AB75C stw r0,-0x62c0(r13) (STM event handler registered flag) +80386948 803825C8 OS::SetPowerCallback@801AB6E0 lwz r29,-0x62b8(r13); @801AB6EC stw r31,-0x62b8(r13); @801AB6FC stw r3,-0x62b8(r13) (registered power callback pointer) + +# ISFS / IPC globals. The runtime's ISFS_OpenLib stub brings the filesystem client up itself: +# it writes the "/dev/fs" path string and the device fd, then creates the ISFS heap out of the +# IPC buffer window. Like the STM globals above, these do NOT sit at the same r13 offsets in +# every region - RMCK01 keeps the .sbss cluster 0x20 lower and __ISFS_fd/__ISFS_path 0x8 lower - +# so they are named as identities rather than as hardcoded r13 offsets. Addresses below are the +# NTSC-U ones, each confirmed by the RMCE01 instructions cited; PAL is uniformly +0x4380 here, +# matching the .sbss delta documented at the top of this file. +80386770 803823F0 ISFS@80169B44 lwz r0,-0x6490(r13); ISFS@80169B64 lwz r0,-0x6490(r13); ISFS@80169BCC lwz r4,-0x6490(r13); ISFS@80169C18 stw r0,-0x6490(r13) # isfsHeapInitialized, 4 sites in RMCE01 +80386774 803823F4 ISFS@80169B74 stw r3,-0x648C(r13); ISFS@80169BAC lwz r3,-0x648C(r13); ISFS@80169BD0 lwz r30,-0x648C(r13) # isfsHeapBase, 3 sites in RMCE01 +8038677C 803823FC ISFS@80169B54 stw r3,-0x6484(r13); ISFS@80169B60 lwz r3,-0x6484(r13) # __IPCArenaLo, 2 sites in RMCE01 +80386780 80382400 ISFS@80169B5C stw r3,-0x6480(r13); ISFS@80169B7C lwz r0,-0x6480(r13); ISFS@80169BDC lwz r0,-0x6480(r13) # __IPCArenaHi, 3 sites in RMCE01 +80386784 80382404 ISFS@80169C2C stw r3,-0x647C(r13); ISFS@80169DAC lwz r3,-0x647C(r13); ISFS@80169E30 lwz r3,-0x647C(r13); ISFS@80169EA0 lwz r3,-0x647C(r13) # isfsHeapHandle, 36 sites in RMCE01 +803867EC 8038246C ISFS@80192F10 stw r3,-0x6414(r13); ISFS@80192F58 stw r3,-0x6414(r13); ISFS@80192F98 lwz r3,-0x6414(r13); ISFS@80192FA0 stw r3,-0x6414(r13) # ipcBufferLo, 4 sites in RMCE01 +803867F0 80382470 ISFS@80192F0C stw r4,-0x6410(r13); ISFS@80192F54 stw r4,-0x6410(r13); ISFS@80192F90 lwz r3,-0x6410(r13) # ipcBufferHi, 3 sites in RMCE01 +80385920 803815A0 ISFS@80169BBC stw r3,-0x72E0(r13); ISFS@80169E08 lwz r0,-0x72E0(r13); ISFS@80169E88 lwz r3,-0x72E0(r13); ISFS@80169F00 lwz r0,-0x72E0(r13) # __ISFS_fd, 33 sites in RMCE01 +80385928 803815A8 ISFS@80169BA4 addi r4,r13,-0x72D8 # __ISFS_path, 1 sites in RMCE01 + +# OS alarm queue and the two AX state flags. Same story as the STM and ISFS globals above: the +# runtime's alarm stubs walk OSAlarmQueue and the AX stub sets two flags, and RMCK01 keeps this +# part of .sbss 0x20 lower than PAL/NTSC-U/NTSC-J (OSAlarmQueue is r13-0x6360 in PAL but +# r13-0x6340 in RMCK01), so a hardcoded offset walks a string table there instead of the queue. +803868A0 80382520 OSAlarmQueue@801A0540 addi r3,r13,-0x6360; OSAlarmQueue@801A054C stw r0,-0x6360(r13); OSAlarmQueue@801A064C lwz r7,-0x6360(r13); OSAlarmQueue@801A0698 stw r30,-0x6360(r13) # OSAlarmQueue, 13 sites in RMCE01 +80386528 803821A8 AX@801268AC stw r0,-0x66D8(r13); AX@8012698C stw r12,-0x66D8(r13); AX@801269E4 lwz r0,-0x66D8(r13) # AX flag 0x66d8, 3 sites in RMCE01 +80386524 803821A4 AX@80126804 lwz r0,-0x66DC(r13); AX@80126910 stw r0,-0x66DC(r13); AX@801269C0 stw r12,-0x66DC(r13) # AX flag 0x66dc, 3 sites in RMCE01 + +# The three .sdata halfwords __AXOutInitDSP copies into the AX DSPTaskInfo: the ucode length +# (task+0x10) and the DSP init/resume vectors (task+0x24/+0x26). The runtime's AX stub reads +# the same three when it builds the task. +80385800 80381480 __AXOutInitDSP@80126974 lhz r8,-0x7400(r13) -> sth r8,0x24(task) # dsp_init_vector +80385802 80381482 __AXOutInitDSP@8012697C lhz r0,-0x73fe(r13) -> sth r0,0x26(task) # dsp_resume_vector +80385804 80381484 __AXOutInitDSP@8012696C lhz r31,-0x73fc(r13) -> stw r31,0x10(task) # iram_length (ucode length) + +# EGG fog constants in .sdata2, read through r2 by the EGG::StateGX fog-quad code. Unlike the +# .sbss globals above, the r2 offset of these three is 8 LARGER in NTSC-U than in PAL, while +# NTSC-J and NTSC-K keep PAL's offset. The values settle it: at the addresses below all four +# regions read 0.0 / 0.99 / 0.5, whereas NTSC-U at PAL's offset reads 176.0 / 176.0 / 1.0 - +# so the runtime's old hardcoded PAL r2 offsets were reading the wrong constants on NTSC-U only. +80388DD0 80384A48 EGG@8022D3F0 lfs r0,-0x61D8(r2); EGG@8022D71C lfs r2,-0x61D8(r2); EGG@8022D7A0 lfs r5,-0x61D8(r2); EGG@8022DB0C lfs r31,-0x61D8(r2) # EGG fog origin (m!=2), 9 sites in RMCE01 +80388DE0 80384A58 EGG@8022DB24 lfs r0,-0x61C8(r2); EGG@8022DEBC lfs r0,-0x61C8(r2); EGG@8022E018 lfs r0,-0x61C8(r2) # EGG fog span, 3 sites in RMCE01 +80388DF4 80384A6C EGG@8022DE7C lfs r31,-0x61B4(r2); EGG@8022DE90 lfs r30,-0x61B4(r2); EGG@8022DFD8 lfs r31,-0x61B4(r2); EGG@8022DFEC lfs r30,-0x61B4(r2) # EGG fog origin (m==2), 4 sites in RMCE01 +8029CEB0 80298B70 SCGetProductArea@801b2320 lis r30,0x802a; @801b2324 addi r30,r30,-0x7490 (=0x80298B70, SC area table; 13 records identical to PAL) +8029CEF8 80298BB8 SCGetProductGameRegion@801b2448 lis r30,0x802a; @801b244c addi r30,r30,-0x7448 (=0x80298BB8, SC game region table; 4 records identical to PAL) diff --git a/projects/mkwii-ntsc-u/recomp.yml b/projects/mkwii-ntsc-u/recomp.yml new file mode 100644 index 0000000..4749164 --- /dev/null +++ b/projects/mkwii-ntsc-u/recomp.yml @@ -0,0 +1,73 @@ +schema_version: 1 +workspace_root: ../.. + +# Mario Kart Wii NTSC-U (RMCE01). The same translation surface as projects/mkwii/recomp.yml, with +# the facts that differ per region: the small-data bases the DOL's __init_registers installs, the +# StaticR.rel load address and the clean-input digests. The function map is the PAL map ported +# through the community region table and validated against these binaries by +# tools/region/port_map.py; MAP_REPORT.md next to it carries the numbers. +project: + id: mkwii-rmce01 + display_name: Mario Kart Wii NTSC-U + game_id: RMCE01 + region: E + base_manifest_format: mkwii-recomp-base-manifest + base_manifest_stem: mkwii_base + +memory: + base: 0x80000000 + size: 0x01A00000 + sda_base: 0x80388880 + sda2_base: 0x8038AC20 + +inputs: + dol: + path: Assets/main.dol + sha256: d2beec1b1645fcd134efe9e7e63774b546667764ed8d431029daccd725995694 + + rel: + path: Assets/StaticR.rel + load_address: 0x8050BF60 + sha256: 1168107f8fdef27a356df76036db55afe4fbf7752606dbac991726701133a617 + +translation: + entry_points: + - 0x800060A4 + function_map: + path: projects/mkwii-ntsc-u/MAP.txt + allow_unsupported_instructions: false + +runtime: + native_registration_root: runtime/src + native_abi_directories: + - runtime/src/hle/gx + +output: + root: generated + functions: functions + runtime_config: RuntimeConfig.h + data_initializer: data_sections_init.cpp + base_manifest: ../build/base/mkwii_base_manifest.json + +# Code.pul carries a separate chunk for this region. The regional link base determines +# the branch bytes checked at startup; execution is remapped to module_guest_base. +profiles: + retro-rewind: + enabled: true + requires_game_id: RMCE01 + requires_dol_sha256: d2beec1b1645fcd134efe9e7e63774b546667764ed8d431029daccd725995694 + code_pul: PulsarPacks/completed/RetroRewind/RetroRewind6/Binaries/Code.pul + mod_root: PulsarPacks/completed/RetroRewind/RetroRewind6 + region: E + module_guest_base: 0x81800000 + module_link_base: 0x80394F60 + output: build/mods/retro_rewind_full_cpp + enable_retro_wfc: true + retro_wfc_payload: https://rwfc.net/api/wfc/payload?g=RMCED00 + retro_wfc_legacy_bootstrap_hook: 0x800ED648 + riivolution: + xml: xml/RetroRewind6.xml + options: + - section: Retro Rewind + option: Pack + choice: 1 diff --git a/projects/mkwii-ntsc-u/region_port.json b/projects/mkwii-ntsc-u/region_port.json new file mode 100644 index 0000000..ebf362e --- /dev/null +++ b/projects/mkwii-ntsc-u/region_port.json @@ -0,0 +1,1826 @@ +{ + "source_region": "P", + "target_region": "E", + "generator": "tools/region/port_map.py", + "attribution": "chunk table and section layouts vendored from the mkw-sp project (port.py, MIT license)", + "port_rule": "if src_start <= a < src_end then a - src_start + dst_start", + "address_format": "hex strings", + "chunks": [ + [ + "0x80004000", + "0x80008030", + "0x80004000" + ], + [ + "0x8000808C", + "0x8000ADBC", + "0x8000804C" + ], + [ + "0x8000AF24", + "0x8000B6B4", + "0x8000AE84" + ], + [ + "0x8000B6B4", + "0x8000C174", + "0x80021048" + ], + [ + "0x8000C174", + "0x80021BA8", + "0x8000B614" + ], + [ + "0x80021BA8", + "0x80225F1C", + "0x80021B08" + ], + [ + "0x802261F8", + "0x802402E0", + "0x80225E74" + ], + [ + "0x802402E0", + "0x80240E18", + "0x802441FC" + ], + [ + "0x80240E18", + "0x80244DD4", + "0x8023FF5C" + ], + [ + "0x802A4080", + "0x80384C18", + "0x8029FD00" + ], + [ + "0x80385908", + "0x8038590C", + "0x80381588" + ], + [ + "0x80385FC0", + "0x80386008", + "0x80381C40" + ], + [ + "0x80386638", + "0x80386644", + "0x803822B8" + ], + [ + "0x80386F48", + "0x80386F90", + "0x80382BC0" + ], + [ + "0x805103B4", + "0x80510A90", + "0x8050C034" + ], + [ + "0x80510B84", + "0x8052D298", + "0x8050C710" + ], + [ + "0x8052D298", + "0x8052D96C", + "0x8054F800" + ], + [ + "0x8052D96C", + "0x8053D97C", + "0x80528E24" + ], + [ + "0x8053D97C", + "0x8053E370", + "0x8054FED4" + ], + [ + "0x8053E370", + "0x8054FB2C", + "0x80538E34" + ], + [ + "0x8054FB2C", + "0x80550548", + "0x805508C8" + ], + [ + "0x80550548", + "0x805537CC", + "0x8054A5F0" + ], + [ + "0x80553894", + "0x8055572C", + "0x8054D874" + ], + [ + "0x8055572C", + "0x8056AB6C", + "0x805513AC" + ], + [ + "0x8056AB6C", + "0x8056B63C", + "0x805AE0E8" + ], + [ + "0x8056B63C", + "0x80574030", + "0x805667EC" + ], + [ + "0x80574030", + "0x805758AC", + "0x805AEBB8" + ], + [ + "0x80575A44", + "0x80583F2C", + "0x8056F1E0" + ], + [ + "0x80583F2C", + "0x8059B5A4", + "0x8057D708" + ], + [ + "0x8059B5A4", + "0x8059EAA4", + "0x805B058C" + ], + [ + "0x8059EAA4", + "0x805A0558", + "0x80594D80" + ], + [ + "0x805A068C", + "0x805A1478", + "0x805B3AC8" + ], + [ + "0x805A1488", + "0x805A1864", + "0x805B48B4" + ], + [ + "0x805A1864", + "0x805A9EDC", + "0x8059682C" + ], + [ + "0x805A9EDC", + "0x805AB574", + "0x8059EEAC" + ], + [ + "0x805AB574", + "0x805ABC90", + "0x805A0604" + ], + [ + "0x805ABC90", + "0x805ADD98", + "0x805A0D28" + ], + [ + "0x805ADD98", + "0x805B9010", + "0x805A2E70" + ], + [ + "0x805B9010", + "0x805B9300", + "0x805B4C90" + ], + [ + "0x805B9300", + "0x805BAB40", + "0x8061F7F4" + ], + [ + "0x805BAB40", + "0x805BB2B8", + "0x805B4F80" + ], + [ + "0x805BB2B8", + "0x805BD2D8", + "0x80621034" + ], + [ + "0x805BD2D8", + "0x805BD2E4", + "0x805B695C" + ], + [ + "0x805BD2E4", + "0x805BD39C", + "0x80623054" + ], + [ + "0x805BD39C", + "0x805BE600", + "0x805B56F8" + ], + [ + "0x805BE600", + "0x805BE61C", + "0x805B6968" + ], + [ + "0x805BE66C", + "0x805BE7F4", + "0x8062310C" + ], + [ + "0x805BE7F4", + "0x805BE84C", + "0x805B76D0" + ], + [ + "0x805BE84C", + "0x805BED68", + "0x80623294" + ], + [ + "0x805BED68", + "0x805BED74", + "0x805B7420" + ], + [ + "0x805BED74", + "0x805BF2D8", + "0x806237B0" + ], + [ + "0x805BF2D8", + "0x805BF2DC", + "0x805B919C" + ], + [ + "0x805BF3CC", + "0x805BFE1C", + "0x805B69D0" + ], + [ + "0x805BFE1C", + "0x805C00C0", + "0x805B742C" + ], + [ + "0x805C00C0", + "0x805C1B34", + "0x805B7728" + ], + [ + "0x805C1B34", + "0x805C35F8", + "0x805B91A0" + ], + [ + "0x805C35F8", + "0x805C3BCC", + "0x80623E08" + ], + [ + "0x805C3BCC", + "0x805C4768", + "0x805BAC64" + ], + [ + "0x805C4768", + "0x805C579C", + "0x806243DC" + ], + [ + "0x805C57B0", + "0x805CADDC", + "0x805BB800" + ], + [ + "0x805CADDC", + "0x805CC0A8", + "0x80625424" + ], + [ + "0x805CC1B4", + "0x805CD94C", + "0x80626758" + ], + [ + "0x805CD94C", + "0x805D1888", + "0x805C0E2C" + ], + [ + "0x805D1888", + "0x805D1E84", + "0x80627EF0" + ], + [ + "0x805D1E84", + "0x805D7F78", + "0x805C4D68" + ], + [ + "0x805D7F78", + "0x805DBFDC", + "0x806284EC" + ], + [ + "0x805DC034", + "0x805DE838", + "0x8062C550" + ], + [ + "0x805DE838", + "0x805DE844", + "0x805E4438" + ], + [ + "0x805DE844", + "0x805E0C38", + "0x8062ED54" + ], + [ + "0x805E0C38", + "0x805E6B50", + "0x805CAE5C" + ], + [ + "0x805E6B50", + "0x805E7460", + "0x80631148" + ], + [ + "0x805E7460", + "0x805EA780", + "0x805D0D74" + ], + [ + "0x805EA780", + "0x805EEB68", + "0x80631A58" + ], + [ + "0x805EEB68", + "0x805F2D24", + "0x805D4094" + ], + [ + "0x805F2D24", + "0x805F8B34", + "0x80635E40" + ], + [ + "0x805F8B34", + "0x805FB5BC", + "0x805D8250" + ], + [ + "0x805FB5BC", + "0x805FB820", + "0x8063BC50" + ], + [ + "0x805FB820", + "0x805FD518", + "0x805DACD8" + ], + [ + "0x805FD518", + "0x806012B0", + "0x8063BEB4" + ], + [ + "0x806012B0", + "0x80608D18", + "0x805DC9D0" + ], + [ + "0x80608D18", + "0x8060A72C", + "0x805E4444" + ], + [ + "0x8060A72C", + "0x8061186C", + "0x8063FC4C" + ], + [ + "0x8061186C", + "0x80616844", + "0x805E5E58" + ], + [ + "0x80616844", + "0x8061AE6C", + "0x80646D8C" + ], + [ + "0x8061AE6C", + "0x8061E898", + "0x805EAE30" + ], + [ + "0x8061E898", + "0x8061F6E8", + "0x8064B3B4" + ], + [ + "0x8061F6E8", + "0x80620CB4", + "0x805EE85C" + ], + [ + "0x80620D7C", + "0x80634F48", + "0x805EFEC8" + ], + [ + "0x80634F48", + "0x80637494", + "0x806040B0" + ], + [ + "0x80637494", + "0x80637514", + "0x806066A4" + ], + [ + "0x80637514", + "0x80637A30", + "0x8064C204" + ], + [ + "0x80637AC0", + "0x8063BCF8", + "0x80606720" + ], + [ + "0x8063BE40", + "0x806453E4", + "0x8060AA20" + ], + [ + "0x806453E4", + "0x806467D4", + "0x8064C78C" + ], + [ + "0x806467D4", + "0x8064A3F4", + "0x80613FC4" + ], + [ + "0x8064A3F4", + "0x8064AEE4", + "0x8064DB7C" + ], + [ + "0x8064AEF8", + "0x80651BEC", + "0x80617BE4" + ], + [ + "0x80651BEC", + "0x80652300", + "0x8064E66C" + ], + [ + "0x80652300", + "0x80653208", + "0x8061E8EC" + ], + [ + "0x80653208", + "0x8065B354", + "0x8064ED80" + ], + [ + "0x8065B4E8", + "0x8065C0EC", + "0x80656ECC" + ], + [ + "0x8065C0EC", + "0x8065FA14", + "0x8065CD74" + ], + [ + "0x8065FA4C", + "0x8065FE4C", + "0x80657AD0" + ], + [ + "0x8065FE4C", + "0x80662778", + "0x80657F10" + ], + [ + "0x80662778", + "0x80663194", + "0x80660694" + ], + [ + "0x80663194", + "0x80665538", + "0x8065A83C" + ], + [ + "0x80665538", + "0x80668814", + "0x80673188" + ], + [ + "0x80668814", + "0x8067906C", + "0x806610B0" + ], + [ + "0x8067906C", + "0x80679380", + "0x80676464" + ], + [ + "0x80679380", + "0x8067AC00", + "0x80671908" + ], + [ + "0x8067AC00", + "0x806BF4C8", + "0x80676778" + ], + [ + "0x806BF4C8", + "0x806BFB14", + "0x806E20A8" + ], + [ + "0x806BFB14", + "0x806C050C", + "0x806BB040" + ], + [ + "0x806C050C", + "0x806C35A8", + "0x806E26F4" + ], + [ + "0x806C35A8", + "0x806C3AA4", + "0x806BBA38" + ], + [ + "0x806C3AA4", + "0x806C4ED4", + "0x806E5790" + ], + [ + "0x806C4EF0", + "0x806C63A8", + "0x806E6BC0" + ], + [ + "0x806C63B0", + "0x806C6B44", + "0x806E8078" + ], + [ + "0x806C6B44", + "0x806CCE90", + "0x806BBF50" + ], + [ + "0x806CCE90", + "0x806CE820", + "0x806E880C" + ], + [ + "0x806CE828", + "0x806D02BC", + "0x806C229C" + ], + [ + "0x806D02BC", + "0x806D28F4", + "0x806EA19C" + ], + [ + "0x806D2908", + "0x806D5C5C", + "0x806C3D38" + ], + [ + "0x806D5C60", + "0x806D5ED8", + "0x806EC7D4" + ], + [ + "0x806D5ED8", + "0x806DA914", + "0x806C7098" + ], + [ + "0x806DA914", + "0x806DB184", + "0x806ECA58" + ], + [ + "0x806DB184", + "0x806DDA84", + "0x806CBAD4" + ], + [ + "0x806DDA84", + "0x806DEB40", + "0x806ED2C8" + ], + [ + "0x806DEB40", + "0x806DF7D0", + "0x806CE3D4" + ], + [ + "0x806DF7D0", + "0x806DFD14", + "0x806EE384" + ], + [ + "0x806DFD14", + "0x806E3A8C", + "0x806CF064" + ], + [ + "0x806E3A8C", + "0x806E3E20", + "0x806EE8C8" + ], + [ + "0x806E3E20", + "0x806E95B0", + "0x806D2DDC" + ], + [ + "0x806E95B0", + "0x806EC7C0", + "0x806EEC5C" + ], + [ + "0x806EC7C0", + "0x806ED53C", + "0x806D8564" + ], + [ + "0x806ED53C", + "0x806F62FC", + "0x806D92E8" + ], + [ + "0x806F62FC", + "0x806F7698", + "0x806F1E74" + ], + [ + "0x806F77C4", + "0x806F7A54", + "0x80713A78" + ], + [ + "0x806F7AA8", + "0x806F8220", + "0x80713D08" + ], + [ + "0x806F8220", + "0x806F8934", + "0x806F3210" + ], + [ + "0x806F8934", + "0x806FA3FC", + "0x806F3978" + ], + [ + "0x806FA3FC", + "0x806FE240", + "0x806F5494" + ], + [ + "0x806FE240", + "0x806FE9E0", + "0x806F9330" + ], + [ + "0x806FE9E0", + "0x807001A4", + "0x80714480" + ], + [ + "0x80700230", + "0x80700474", + "0x80715C44" + ], + [ + "0x80700474", + "0x8070E7B8", + "0x806F9AD0" + ], + [ + "0x8070E7B8", + "0x8070F8B8", + "0x80715E88" + ], + [ + "0x8070F8B8", + "0x807179C4", + "0x80707E14" + ], + [ + "0x807179C4", + "0x80717E34", + "0x8070FFAC" + ], + [ + "0x80717E34", + "0x807182E8", + "0x80716F88" + ], + [ + "0x807182E8", + "0x8071B86C", + "0x8071041C" + ], + [ + "0x8071B86C", + "0x80726574", + "0x8071743C" + ], + [ + "0x80726574", + "0x8072820C", + "0x8073C5DC" + ], + [ + "0x8072821C", + "0x807285C8", + "0x8073E274" + ], + [ + "0x807285CC", + "0x80729338", + "0x8073E620" + ], + [ + "0x80729350", + "0x80729B88", + "0x80722144" + ], + [ + "0x80729B88", + "0x8072A894", + "0x80722984" + ], + [ + "0x8072A894", + "0x8072B95C", + "0x80723698" + ], + [ + "0x8072B95C", + "0x8072DE64", + "0x80724770" + ], + [ + "0x8072DFCC", + "0x8072FF60", + "0x8073F390" + ], + [ + "0x8072FF78", + "0x80730198", + "0x80741324" + ], + [ + "0x80730198", + "0x80730A80", + "0x80726DE8" + ], + [ + "0x80730B40", + "0x80731960", + "0x80741544" + ], + [ + "0x80731960", + "0x80735948", + "0x807277A8" + ], + [ + "0x80735948", + "0x80738DB8", + "0x80742364" + ], + [ + "0x80738DB8", + "0x8073C54C", + "0x8072B790" + ], + [ + "0x8073C54C", + "0x8073EDF0", + "0x807457D4" + ], + [ + "0x8073EDF0", + "0x8074C4A8", + "0x8072EF24" + ], + [ + "0x8074C4A8", + "0x8074D5B8", + "0x8076CEAC" + ], + [ + "0x8074D5B8", + "0x807519C8", + "0x80748078" + ], + [ + "0x807519C8", + "0x80754104", + "0x8076DFBC" + ], + [ + "0x80754104", + "0x80758BDC", + "0x8074C488" + ], + [ + "0x80758BDC", + "0x8075DB24", + "0x807706F8" + ], + [ + "0x8075DB3C", + "0x8075E78C", + "0x80750F60" + ], + [ + "0x8075E78C", + "0x8075EAFC", + "0x80775658" + ], + [ + "0x8075EAFC", + "0x80765C94", + "0x80751BB0" + ], + [ + "0x80765C94", + "0x807678F4", + "0x807759C8" + ], + [ + "0x807678F4", + "0x80768D20", + "0x80758D48" + ], + [ + "0x80768D20", + "0x807693EC", + "0x80777628" + ], + [ + "0x8076960C", + "0x8076C85C", + "0x80777E68" + ], + [ + "0x8076C85C", + "0x8076EBDC", + "0x8075A174" + ], + [ + "0x8076EBE0", + "0x8076F2DC", + "0x8077B0B8" + ], + [ + "0x8076F2DC", + "0x807726C4", + "0x8075C4F4" + ], + [ + "0x80772704", + "0x80773C14", + "0x8077B7B8" + ], + [ + "0x80773C1C", + "0x8077439C", + "0x8075F8DC" + ], + [ + "0x807743A0", + "0x807787F0", + "0x8076010C" + ], + [ + "0x807787F0", + "0x8077902C", + "0x8077CD10" + ], + [ + "0x8077902C", + "0x8077CE88", + "0x8076455C" + ], + [ + "0x8077CEC8", + "0x8077DF24", + "0x8077D54C" + ], + [ + "0x8077DF24", + "0x807829D8", + "0x807683F8" + ], + [ + "0x807829D8", + "0x80787D84", + "0x8077E5A8" + ], + [ + "0x80787D84", + "0x8078C960", + "0x807D031C" + ], + [ + "0x8078C960", + "0x807A81B4", + "0x80783954" + ], + [ + "0x807A81B4", + "0x807A9D70", + "0x807D4F74" + ], + [ + "0x807A9EB8", + "0x807AF140", + "0x8079F210" + ], + [ + "0x807AF140", + "0x807B2EF8", + "0x807D6B94" + ], + [ + "0x807B2EF8", + "0x807D976C", + "0x807A4498" + ], + [ + "0x807D976C", + "0x807D9B80", + "0x807DA94C" + ], + [ + "0x807D9B98", + "0x807DA5C0", + "0x807CAD0C" + ], + [ + "0x807DA5C0", + "0x807DBCCC", + "0x807DAD78" + ], + [ + "0x807DBCCC", + "0x807DC8C8", + "0x807CB734" + ], + [ + "0x807DC950", + "0x807E093C", + "0x807CC330" + ], + [ + "0x807E093C", + "0x807E2520", + "0x8083C6F0" + ], + [ + "0x807E259C", + "0x807E5610", + "0x807DC50C" + ], + [ + "0x807E5654", + "0x807E6414", + "0x807DF5E4" + ], + [ + "0x807E6414", + "0x807E9C44", + "0x8083E33C" + ], + [ + "0x807E9C50", + "0x807EDD98", + "0x807E03A4" + ], + [ + "0x807EDD98", + "0x807EE23C", + "0x80841B6C" + ], + [ + "0x807EE250", + "0x807EE468", + "0x807E44EC" + ], + [ + "0x807EE474", + "0x807EEA14", + "0x80842010" + ], + [ + "0x807EEA14", + "0x807EF9F4", + "0x807E4704" + ], + [ + "0x807EFD0C", + "0x807F76EC", + "0x807E56E4" + ], + [ + "0x807F76EC", + "0x807F7BA4", + "0x808428E8" + ], + [ + "0x807F7BC4", + "0x807F890C", + "0x807ED0C4" + ], + [ + "0x807F8968", + "0x807F9280", + "0x80842DA0" + ], + [ + "0x807F9580", + "0x807FAB58", + "0x808438A0" + ], + [ + "0x807FAB58", + "0x807FEB68", + "0x807EDF98" + ], + [ + "0x807FEB68", + "0x807FFAE0", + "0x80844E78" + ], + [ + "0x807FFB20", + "0x80805A0C", + "0x807F1FA8" + ], + [ + "0x80805A0C", + "0x8080761C", + "0x80845DF0" + ], + [ + "0x8080761C", + "0x80809448", + "0x807F7ED4" + ], + [ + "0x80809448", + "0x8080AD20", + "0x80847A00" + ], + [ + "0x8080AD20", + "0x80811E48", + "0x807F9D00" + ], + [ + "0x80811E48", + "0x80813BD4", + "0x808492D8" + ], + [ + "0x80813BD4", + "0x8081E284", + "0x80800E28" + ], + [ + "0x8081E284", + "0x8081EFEC", + "0x8084B064" + ], + [ + "0x8081EFEC", + "0x8082E540", + "0x8080B4D8" + ], + [ + "0x8082E540", + "0x8082E854", + "0x8084BDCC" + ], + [ + "0x8082E854", + "0x8082F408", + "0x8081AA2C" + ], + [ + "0x8082F408", + "0x808334A0", + "0x8084C0E0" + ], + [ + "0x808334E0", + "0x80833B00", + "0x8081B5E0" + ], + [ + "0x80833B00", + "0x80838E4C", + "0x8081BC08" + ], + [ + "0x80838E60", + "0x8083B0C0", + "0x808501B8" + ], + [ + "0x8083B0CC", + "0x8083CB44", + "0x80820F54" + ], + [ + "0x8083CB44", + "0x8083D42C", + "0x80852424" + ], + [ + "0x8083D42C", + "0x80842334", + "0x808229CC" + ], + [ + "0x80842340", + "0x808447AC", + "0x80852D0C" + ], + [ + "0x808447AC", + "0x8084A9A0", + "0x808278D4" + ], + [ + "0x8084A9A0", + "0x8084D0DC", + "0x80855184" + ], + [ + "0x8084D0DC", + "0x80851D2C", + "0x8082DAC8" + ], + [ + "0x80851D38", + "0x80852C60", + "0x808578C0" + ], + [ + "0x80852C60", + "0x80853CA4", + "0x80832718" + ], + [ + "0x80853CA4", + "0x808551EC", + "0x808587F4" + ], + [ + "0x808551EC", + "0x8085C3CC", + "0x8083375C" + ], + [ + "0x8085C3CC", + "0x8085E674", + "0x80859D3C" + ], + [ + "0x8085E674", + "0x8085F0AC", + "0x8083A950" + ], + [ + "0x8085F0AC", + "0x8085FFD4", + "0x8085BFE4" + ], + [ + "0x8085FFD4", + "0x80860F2C", + "0x8083B388" + ], + [ + "0x80860F2C", + "0x80862E24", + "0x8085CF0C" + ], + [ + "0x80863234", + "0x8086708C", + "0x8085EE04" + ], + [ + "0x8086708C", + "0x808676E0", + "0x80864D38" + ], + [ + "0x808676E0", + "0x808697BC", + "0x80862C5C" + ], + [ + "0x808697BC", + "0x8086A254", + "0x8086538C" + ], + [ + "0x8086A254", + "0x8086C098", + "0x808766F4" + ], + [ + "0x8086C108", + "0x8086C988", + "0x80878538" + ], + [ + "0x8086CA40", + "0x80872CA4", + "0x80878DB8" + ], + [ + "0x80872CA4", + "0x808739B0", + "0x80865E24" + ], + [ + "0x808739B0", + "0x80875454", + "0x80866BE8" + ], + [ + "0x80875454", + "0x8088344C", + "0x808686FC" + ], + [ + "0x8088344C", + "0x8088F400", + "0x8087F01C" + ], + [ + "0x808913C0", + "0x808913C4", + "0x8088CF78" + ], + [ + "0x80895238", + "0x808952B8", + "0x8088F940" + ], + [ + "0x808AD3C4", + "0x808AD3C8", + "0x808A7304" + ], + [ + "0x808B3984", + "0x808B3988", + "0x808AF134" + ], + [ + "0x808B5B1C", + "0x808B5B20", + "0x808B125C" + ], + [ + "0x808B5C78", + "0x808B5C7C", + "0x808B13B8" + ], + [ + "0x808BB034", + "0x808BB098", + "0x808B4F3C" + ], + [ + "0x808CB550", + "0x808CB554", + "0x808C6048" + ], + [ + "0x808D3698", + "0x808D369C", + "0x808D5148" + ], + [ + "0x808D36CC", + "0x808D36D0", + "0x808D517C" + ], + [ + "0x808D36D4", + "0x808D36D8", + "0x808D5184" + ], + [ + "0x808D3744", + "0x808D3748", + "0x808D51F4" + ], + [ + "0x808D374C", + "0x808D3750", + "0x808D51FC" + ], + [ + "0x808D3E14", + "0x808D3E18", + "0x808CEEAC" + ], + [ + "0x808DA070", + "0x808DA080", + "0x808D3E50" + ], + [ + "0x808DA318", + "0x808DA368", + "0x808D3F60" + ], + [ + "0x809BD6E8", + "0x809BD74C", + "0x809B8F28" + ], + [ + "0x809C1830", + "0x809C1834", + "0x809BD070" + ], + [ + "0x809C1874", + "0x809C1878", + "0x809BD0B4" + ], + [ + "0x809C18F8", + "0x809C18FC", + "0x809BD110" + ], + [ + "0x809C1988", + "0x809C198C", + "0x809BD378" + ], + [ + "0x809C19A0", + "0x809C19BC", + "0x809BD180" + ], + [ + "0x809C1E38", + "0x809C1E3C", + "0x809BD508" + ], + [ + "0x809C21D0", + "0x809C21D4", + "0x809BDA10" + ], + [ + "0x809C21D8", + "0x809C21DC", + "0x809BDA18" + ], + [ + "0x809C2328", + "0x809C232C", + "0x809BDB60" + ], + [ + "0x809C27F0", + "0x809C27FC", + "0x809BDBB0" + ], + [ + "0x809C282C", + "0x809C2854", + "0x809BDBEC" + ], + [ + "0x809C28B8", + "0x809C28BC", + "0x809BE0F8" + ], + [ + "0x809C2BE8", + "0x809C2BEC", + "0x809BE398" + ], + [ + "0x809C2EF0", + "0x809C2EF4", + "0x809BE730" + ], + [ + "0x809C2F38", + "0x809C2F40", + "0x809BE740" + ], + [ + "0x809C2F44", + "0x809C2F48", + "0x809BE74C" + ], + [ + "0x809C3618", + "0x809C361C", + "0x809BEE20" + ], + [ + "0x809C38B8", + "0x809C38BC", + "0x809BF0B0" + ], + [ + "0x809C4330", + "0x809C4334", + "0x809BFAF0" + ], + [ + "0x809C4680", + "0x809C4684", + "0x809BFDC0" + ], + [ + "0x809C4740", + "0x809C474C", + "0x809BFF90" + ], + [ + "0x809C496C", + "0x809C4970", + "0x809C014C" + ] + ], + "rel_load_address": { + "P": "0x805102E0", + "E": "0x8050BF60", + "J": "0x8050FC60" + }, + "dol_sections": { + "P": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244DE0" + }, + { + "name": "ctors", + "start": "0x80244DE0", + "end": "0x80244EA0" + }, + { + "name": "dtors", + "start": "0x80244EA0", + "end": "0x80244EC0" + }, + { + "name": "rodata", + "start": "0x80244EC0", + "end": "0x80258580" + }, + { + "name": "data", + "start": "0x80258580", + "end": "0x802A4040" + }, + { + "name": "bss", + "start": "0x802A4080", + "end": "0x80384C00" + }, + { + "name": "sdata", + "start": "0x80384C00", + "end": "0x80385FC0" + }, + { + "name": "sbss", + "start": "0x80385FC0", + "end": "0x80386FA0" + }, + { + "name": "sdata2", + "start": "0x80386FA0", + "end": "0x80389140" + }, + { + "name": "sbss2", + "start": "0x80389140", + "end": "0x8038917C" + } + ], + "E": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244D40" + }, + { + "name": "ctors", + "start": "0x80244D40", + "end": "0x80244E00" + }, + { + "name": "dtors", + "start": "0x80244E00", + "end": "0x80244E20" + }, + { + "name": "rodata", + "start": "0x80244E40", + "end": "0x80258260" + }, + { + "name": "data", + "start": "0x80258260", + "end": "0x8029FD00" + }, + { + "name": "bss", + "start": "0x8029FD00", + "end": "0x80380880" + }, + { + "name": "sdata", + "start": "0x80380880", + "end": "0x80381C40" + }, + { + "name": "sbss", + "start": "0x80381C40", + "end": "0x80382C20" + }, + { + "name": "sdata2", + "start": "0x80382C20", + "end": "0x80384DC0" + }, + { + "name": "sbss2", + "start": "0x80384DC0", + "end": "0x80384DFC" + } + ], + "J": [ + { + "name": "init", + "start": "0x80004000", + "end": "0x80006460" + }, + { + "name": "extab", + "start": "0x80006460", + "end": "0x80006A20" + }, + { + "name": "extabindex", + "start": "0x80006A20", + "end": "0x800072C0" + }, + { + "name": "text", + "start": "0x800072C0", + "end": "0x80244D00" + }, + { + "name": "ctors", + "start": "0x80244D00", + "end": "0x80244DC0" + }, + { + "name": "dtors", + "start": "0x80244DC0", + "end": "0x80244DE0" + }, + { + "name": "rodata", + "start": "0x80244E00", + "end": "0x80257F20" + }, + { + "name": "data", + "start": "0x80257F20", + "end": "0x802A39E0" + }, + { + "name": "bss", + "start": "0x802A3A00", + "end": "0x80384580" + }, + { + "name": "sdata", + "start": "0x80384580", + "end": "0x80385940" + }, + { + "name": "sbss", + "start": "0x80385940", + "end": "0x80386920" + }, + { + "name": "sdata2", + "start": "0x80386920", + "end": "0x80388AC0" + }, + { + "name": "sbss2", + "start": "0x80388AC0", + "end": "0x80388AFC" + } + ] + }, + "rel_sections": { + "P": [ + { + "name": "text", + "start": "0x805103B4", + "end": "0x8088F400" + }, + { + "name": "ctors", + "start": "0x8088F400", + "end": "0x8088F704" + }, + { + "name": "dtors", + "start": "0x8088F704", + "end": "0x8088F710" + }, + { + "name": "rodata", + "start": "0x8088F720", + "end": "0x808B2BD0" + }, + { + "name": "data", + "start": "0x808B2BD0", + "end": "0x808DD3D4" + }, + { + "name": "bss", + "start": "0x809BD6E0", + "end": "0x809C4F90" + } + ], + "E": [ + { + "name": "text", + "start": "0x8050C034", + "end": "0x8088AFD0" + }, + { + "name": "ctors", + "start": "0x8088AFD0", + "end": "0x8088B2D4" + }, + { + "name": "dtors", + "start": "0x8088B2D4", + "end": "0x8088B2E0" + }, + { + "name": "rodata", + "start": "0x8088B2E0", + "end": "0x808AE520" + }, + { + "name": "data", + "start": "0x808AE520", + "end": "0x808D8C7C" + }, + { + "name": "bss", + "start": "0x809B8F20", + "end": "0x809C07D0" + } + ], + "J": [ + { + "name": "text", + "start": "0x8050FD34", + "end": "0x8088EA6C" + }, + { + "name": "ctors", + "start": "0x8088EA6C", + "end": "0x8088ED70" + }, + { + "name": "dtors", + "start": "0x8088ED70", + "end": "0x8088ED7C" + }, + { + "name": "rodata", + "start": "0x8088ED80", + "end": "0x808B1D30" + }, + { + "name": "data", + "start": "0x808B1D30", + "end": "0x808DC524" + }, + { + "name": "bss", + "start": "0x809BC740", + "end": "0x809C3FF0" + } + ] + }, + "validated_against": { + "dol": { + "path": "main.dol", + "sha256": "d2beec1b1645fcd134efe9e7e63774b546667764ed8d431029daccd725995694", + "entry": "0x800060A4" + }, + "rel": { + "path": "StaticR.rel", + "sha256": "1168107f8fdef27a356df76036db55afe4fbf7752606dbac991726701133a617", + "module_id": 1, + "prolog": "0x8054F2FC", + "epilog": "0x8054F348", + "unresolved": "0x8054F390" + } + } +} diff --git a/runtime/cmake/PublicProducts.cmake b/runtime/cmake/PublicProducts.cmake index da92fe7..361abb2 100644 --- a/runtime/cmake/PublicProducts.cmake +++ b/runtime/cmake/PublicProducts.cmake @@ -55,8 +55,14 @@ function(mkw_bound_translated_compiles target) endif() endfunction() +# The region the translator built for; translated code and runtime/game bind addresses to it. +if(NOT DEFINED MKW_TRANSLATED_GUEST_REGION) + message(FATAL_ERROR "The translator shard manifest names no guest region; re-run emit-build-shards.") +endif() + function(mkw_configure_translated_target target) mkw_configure_object_target(${target}) + target_compile_definitions(${target} PRIVATE MKW_TRANSLATED_GUEST_REGION=${MKW_TRANSLATED_GUEST_REGION}) mkw_apply_translated_compile_options(${target}) mkw_bound_translated_compiles(${target}) endfunction() @@ -75,6 +81,7 @@ add_library(mkw_game_data OBJECT ${MKW_GAME_DATA_SOURCES}) mkw_configure_object_target(mkw_game_data) target_compile_features(mkw_game_data PRIVATE cxx_std_20) target_compile_definitions(mkw_game_data PRIVATE + MKW_TRANSLATED_GUEST_REGION=${MKW_TRANSLATED_GUEST_REGION} SDL_MAIN_HANDLED _DISABLE_STRING_ANNOTATION _DISABLE_VECTOR_ANNOTATION) if(MKW_SETUP_VERSION) diff --git a/runtime/game/guest_region.cpp b/runtime/game/guest_region.cpp new file mode 100644 index 0000000..f7fc4a1 --- /dev/null +++ b/runtime/game/guest_region.cpp @@ -0,0 +1,26 @@ +#include "guest_abi/guest_region.h" +#include "guest_function_imports.h" + +#if !defined(MKW_TRANSLATED_GUEST_REGION) +#error "MKW_TRANSLATED_GUEST_REGION comes from the translator's shard manifest (emit-build-shards)" +#endif + +static_assert(MKW_TRANSLATED_GUEST_REGION >= 0 && MKW_TRANSLATED_GUEST_REGION < GuestRegion::kCount); + +extern "C" const uint8_t kMkwGuestRegion = MKW_TRANSLATED_GUEST_REGION; + +#define MKW_DEFINE_GUEST_FUNCTION_IMPORT(pal, symbol) \ + extern "C" void func_##symbol(CpuContext*); \ + extern "C" void (*const mkw_guest_function_##pal)(CpuContext*) = &func_##symbol; \ + static_assert(MKW_GADDR_CT(pal) == 0x##symbol##u, "guest_function_imports.inc disagrees with " \ + "guest_address_table.inc"); + +#if MKW_TRANSLATED_GUEST_REGION == 0 +#define MKW_GUEST_FUNCTION_IMPORT(pal, ntscU, ntscJ) MKW_DEFINE_GUEST_FUNCTION_IMPORT(pal, pal) +#elif MKW_TRANSLATED_GUEST_REGION == 1 +#define MKW_GUEST_FUNCTION_IMPORT(pal, ntscU, ntscJ) MKW_DEFINE_GUEST_FUNCTION_IMPORT(pal, ntscU) +#else +#define MKW_GUEST_FUNCTION_IMPORT(pal, ntscU, ntscJ) MKW_DEFINE_GUEST_FUNCTION_IMPORT(pal, ntscJ) +#endif +#include "guest_function_imports.inc" +#undef MKW_GUEST_FUNCTION_IMPORT diff --git a/runtime/include/abi_bridge.h b/runtime/include/abi_bridge.h index f7474e1..205cd62 100644 --- a/runtime/include/abi_bridge.h +++ b/runtime/include/abi_bridge.h @@ -157,14 +157,14 @@ public: #define MKW_DETAIL_CAT(a, b) a##b #define MKW_DETAIL_MAKE_UNIQUE(a, b) MKW_DETAIL_CAT(a, b) -// Three hand-written registration macros. Generated code never registers per function; every -// translated function reaches the registry via the bulk BulkTranslatedFunctionRecord tables -// in the translator's *_registration TUs. +// Three hand-written registration macros, given the PAL address. Generated code never registers +// per function; every translated function reaches the registry via the bulk +// BulkTranslatedFunctionRecord tables in the translator's *_registration TUs. #define REGISTER_TRANSLATED_FUNCTION(address, fn) \ - static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_trampoline_, __COUNTER__)(address, #fn, fn, FunctionKind::BaseTranslated, false, kPpcAllNonvolatileFprMask, 0, 0, nullptr, KnownTranslatedCpuCall
::kMustRemainDynamicallyDispatchable) + static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_trampoline_, __COUNTER__)(::GuestRegion::Translate(address), #fn, fn, FunctionKind::BaseTranslated, false, kPpcAllNonvolatileFprMask, 0, 0, nullptr, KnownTranslatedCpuCall
::kMustRemainDynamicallyDispatchable) #define REGISTER_NATIVE_FUNCTION(address, fn) \ - static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_native_trampoline_, __COUNTER__)(address, #fn, fn, FunctionKind::Native, false, kPpcAllNonvolatileFprMask, 0, 0, &AbiRawCpuThunk<&fn>::Invoke) + static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_native_trampoline_, __COUNTER__)(::GuestRegion::Translate(address), #fn, fn, FunctionKind::Native, false, kPpcAllNonvolatileFprMask, 0, 0, &AbiRawCpuThunk<&fn>::Invoke) #define REGISTER_NATIVE_FUNCTION_AS(address, fn, pretty_name) \ - static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_native_trampoline_named_, __COUNTER__)(address, pretty_name, fn, FunctionKind::Native, false, kPpcAllNonvolatileFprMask, 0, 0, &AbiRawCpuThunk<&fn>::Invoke) + static AbiTrampoline MKW_DETAIL_MAKE_UNIQUE(_abi_native_trampoline_named_, __COUNTER__)(::GuestRegion::Translate(address), pretty_name, fn, FunctionKind::Native, false, kPpcAllNonvolatileFprMask, 0, 0, &AbiRawCpuThunk<&fn>::Invoke) diff --git a/runtime/include/guest_abi/abi_version.h b/runtime/include/guest_abi/abi_version.h index ce7f320..aa4f8f3 100644 --- a/runtime/include/guest_abi/abi_version.h +++ b/runtime/include/guest_abi/abi_version.h @@ -1,4 +1,4 @@ #pragma once // Bump whenever guest_abi/, isa/ or ppc_isa_memory.h changes what translated code compiles against. -#define MKW_GUEST_ABI_VERSION 1 +#define MKW_GUEST_ABI_VERSION 2 diff --git a/runtime/include/guest_abi/dispatch.h b/runtime/include/guest_abi/dispatch.h index 9752c04..841ae69 100644 --- a/runtime/include/guest_abi/dispatch.h +++ b/runtime/include/guest_abi/dispatch.h @@ -2,6 +2,7 @@ #include "guest_abi/cpu_context.h" #include "guest_abi/exec_guard.h" +#include "guest_abi/guest_region.h" #include "isa/ppc_isa_config.h" #include "isa/ppc_isa_cr.h" @@ -24,7 +25,7 @@ uint32_t FilterScnRendererPathMaskOption(uint32_t pathMask) noexcept; // (used for the path mask filtering in ScnRenderer::createPath: depth of // field is always removed, bloom when the user disabled it) inline void ApplyRuntimeCallOptions(uint32_t target, CpuContext* ctx) { - if (target == 0x8023BD38u) { + if (::GuestRegion::Is<0x8023BD38u>(target)) { // ScnRenderer::createPath receives the post-processing path mask in r4. ctx->gpr[4] = FilterScnRendererPathMaskOption(ctx->gpr[4]); } @@ -242,13 +243,11 @@ private: std::array saved_; }; -// Guest address of OSLoadContext, which models rfi-style context restoration -// and intentionally replaces the full guest register file instead of returning -// like a normal ABI call. It can never be guarded. -inline constexpr uint32_t kOSLoadContextAddress = 0x801A1F58u; - +// OSLoadContext models rfi-style context restoration and intentionally replaces +// the full guest register file instead of returning like a normal ABI call. It +// can never be guarded. inline bool ShouldPreserveNonvolatileGprsForRawCpuCall(const TranslatedFunctionInfo* info) noexcept { - return info->kind == FunctionKind::Native && info->address != kOSLoadContextAddress; + return info->kind == FunctionKind::Native && info->address != MKW_GADDR(801A1F58); } inline uint32_t NonvolatileFprGuardMaskFor(const TranslatedFunctionInfo* info) noexcept { diff --git a/runtime/include/guest_abi/guest_address_table.inc b/runtime/include/guest_abi/guest_address_table.inc new file mode 100644 index 0000000..8cd5f76 --- /dev/null +++ b/runtime/include/guest_abi/guest_address_table.inc @@ -0,0 +1,744 @@ +// AUTO-GENERATED by tools/region/gen_guest_address_table.py - DO NOT EDIT. +// PAL identity -> address in each region: MKW_GUEST_ADDRESS(PAL, NTSC-U, NTSC-J). +// Sorted by PAL address; guest_abi/guest_region.h relies on that. +MKW_GUEST_ADDRESS(80006348, 80006348, 80006348) // __init_hardware +MKW_GUEST_ADDRESS(800077C8, 800077C8, 800077C8) // StrapScene::CheckInput +MKW_GUEST_ADDRESS(8000A000, 80009FC0, 80009F5C) +MKW_GUEST_ADDRESS(8000A400, 8000A3C0, 8000A35C) +MKW_GUEST_ADDRESS(80015500, 800149A0, 80015424) // __write_console +MKW_GUEST_ADDRESS(8002001C, 8001F4BC, 8001FF40) +MKW_GUEST_ADDRESS(80044B30, 80044A90, 80044A50) // GXEnd +MKW_GUEST_ADDRESS(80048C30, 80048B90, 80048B50) // GXEnd +MKW_GUEST_ADDRESS(800847C0, 80084720, 800846E0) // nw4r::lyt::detail::DrawQuad +MKW_GUEST_ADDRESS(80084D20, 80084C80, 80084C40) // nw4r::lyt::detail::DrawQuad +MKW_GUEST_ADDRESS(800A35E0, 800A3540, 800A3500) // nw4r::snd::SoundPlayer::SetVolume +MKW_GUEST_ADDRESS(800BD860, 800BD7C0, 800BD780) // thunk_0x800bc440 +MKW_GUEST_ADDRESS(80123F88, 80123EE8, 80123EA8) // AIRegisterDMACallback +MKW_GUEST_ADDRESS(80123FCC, 80123F2C, 80123EEC) // AIInitDMA +MKW_GUEST_ADDRESS(80124048, 80123FA8, 80123F68) // AIStartDMA +MKW_GUEST_ADDRESS(8012405C, 80123FBC, 80123F7C) // AIGetDMABytesLeft +MKW_GUEST_ADDRESS(8012406C, 80123FCC, 80123F8C) // AIGetDMAStartAddr +MKW_GUEST_ADDRESS(80124084, 80123FE4, 80123FA4) // AIGetDMALength +MKW_GUEST_ADDRESS(80124094, 80123FF4, 80123FB4) // AICheckInit +MKW_GUEST_ADDRESS(8012409C, 80123FFC, 80123FBC) // AIGetDSPSampleRate +MKW_GUEST_ADDRESS(801240B0, 80124010, 80123FD0) // AIInit +MKW_GUEST_ADDRESS(80126948, 801268A8, 80126868) // __AXDSPInitCallback +MKW_GUEST_ADDRESS(80126954, 801268B4, 80126874) // __AXDSPResumeCallback +MKW_GUEST_ADDRESS(801269A8, 80126908, 801268C8) // __AXDSPRequestCallback +MKW_GUEST_ADDRESS(801269B8, 80126918, 801268D8) +MKW_GUEST_ADDRESS(801269BC, 8012691C, 801268DC) // __AXOutInitDSP +MKW_GUEST_ADDRESS(8012B830, 8012B790, 8012B750) // AXFXReverbStdExpCallback +MKW_GUEST_ADDRESS(8012E574, 8012E4D4, 8012E494) // PPCMfhid0 +MKW_GUEST_ADDRESS(8012E57C, 8012E4DC, 8012E49C) // PPCMthid0 +MKW_GUEST_ADDRESS(8012E594, 8012E4F4, 8012E4B4) // PPCMtdec +MKW_GUEST_ADDRESS(8012E59C, 8012E4FC, 8012E4BC) // PPCSync +MKW_GUEST_ADDRESS(8012E5A4, 8012E504, 8012E4C4) // PPCHalt +MKW_GUEST_ADDRESS(8012E5B8, 8012E518, 8012E4D8) // PPCMtmmcr0 +MKW_GUEST_ADDRESS(8012E5C0, 8012E520, 8012E4E0) // PPCMtmmcr1 +MKW_GUEST_ADDRESS(8012E5C8, 8012E528, 8012E4E8) // PPCMtpmc1 +MKW_GUEST_ADDRESS(8012E5D0, 8012E530, 8012E4F0) // PPCMtpmc2 +MKW_GUEST_ADDRESS(8012E5D8, 8012E538, 8012E4F8) // PPCMtpmc3 +MKW_GUEST_ADDRESS(8012E5E0, 8012E540, 8012E500) // PPCMtpmc4 +MKW_GUEST_ADDRESS(8012E630, 8012E590, 8012E550) // PPCMfhid2 +MKW_GUEST_ADDRESS(8012E638, 8012E598, 8012E558) // PPCMthid2 +MKW_GUEST_ADDRESS(8012E640, 8012E5A0, 8012E560) // PPCMfwpar +MKW_GUEST_ADDRESS(8012E64C, 8012E5AC, 8012E56C) // PPCMtwpar +MKW_GUEST_ADDRESS(8012E654, 8012E5B4, 8012E574) // PPCDisableSpeculation +MKW_GUEST_ADDRESS(8012E684, 8012E5E4, 8012E5A4) // PPCMthid4 +MKW_GUEST_ADDRESS(801301B4, 80130114, 801300D4) // GKI_delay +MKW_GUEST_ADDRESS(8015BC80, 8015BBE0, 8015BBA0) // contentFastOpenNAND +MKW_GUEST_ADDRESS(8015BCF8, 8015BC58, 8015BC18) // contentReadNAND +MKW_GUEST_ADDRESS(8015D3FC, 8015D35C, 8015D31C) // DSPCheckMailToDSP +MKW_GUEST_ADDRESS(8015D40C, 8015D36C, 8015D32C) // RVL::DSPCheckMailFromDSP +MKW_GUEST_ADDRESS(8015D41C, 8015D37C, 8015D33C) // RVL::DSPReadMailFromDSP +MKW_GUEST_ADDRESS(8015D430, 8015D390, 8015D350) // DSPSendMailToDSP +MKW_GUEST_ADDRESS(8015D444, 8015D3A4, 8015D364) // DSPInit +MKW_GUEST_ADDRESS(8015D504, 8015D464, 8015D424) // DSPCheckInit +MKW_GUEST_ADDRESS(8015D50C, 8015D46C, 8015D42C) // DSPAddTask +MKW_GUEST_ADDRESS(8015D57C, 8015D4DC, 8015D49C) // DSPAssertTask +MKW_GUEST_ADDRESS(8015DC60, 8015DBC0, 8015DB80) // __DSP_boot_task +MKW_GUEST_ADDRESS(8015DF1C, 8015DE7C, 8015DE3C) // __DVDFSInit +MKW_GUEST_ADDRESS(8015E74C, 8015E6AC, 8015E66C) // DVD::ReadAsyncPrio +MKW_GUEST_ADDRESS(8015E834, 8015E794, 8015E754) // DVDReadPrio +MKW_GUEST_ADDRESS(8015EA1C, 8015E97C, 8015E93C) // DVD::Init +MKW_GUEST_ADDRESS(801628CC, 8016282C, 801627EC) // DVD::ReadAbsAsyncPrio +MKW_GUEST_ADDRESS(801643FC, 8016435C, 8016431C) // __DVDCheckDevice +MKW_GUEST_ADDRESS(80164848, 801647A8, 80164768) // DVD::LowInit +MKW_GUEST_ADDRESS(80164AAC, 80164A0C, 801649CC) // DVD::LowReadDiskID +MKW_GUEST_ADDRESS(80165708, 80165668, 80165628) // DVD::LowUnencryptedRead +MKW_GUEST_ADDRESS(80165A30, 80165990, 80165950) // DVD::LowInquiry +MKW_GUEST_ADDRESS(80166330, 80166290, 80166250) // DVD::LowRead +MKW_GUEST_ADDRESS(80166964, 801668C4, 80166884) // DVD::LowClearCoverInterrupt +MKW_GUEST_ADDRESS(801671D0, 80167130, 801670F0) // ESP_InitLib +MKW_GUEST_ADDRESS(80167224, 80167184, 80167144) // ESP_CloseLib +MKW_GUEST_ADDRESS(80167904, 80167864, 80167824) // ESP_GetDataDir +MKW_GUEST_ADDRESS(8016799C, 801678FC, 801678BC) // ESP_GetTitleId +MKW_GUEST_ADDRESS(80167E78, 80167DD8, 80167D98) // SetExiInterruptMask +MKW_GUEST_ADDRESS(80167F68, 80167EC8, 80167E88) // RVL::EXIImm +MKW_GUEST_ADDRESS(80168288, 801681E8, 801681A8) // RVL::EXIDma +MKW_GUEST_ADDRESS(80168380, 801682E0, 801682A0) // RVL::EXISync +MKW_GUEST_ADDRESS(801689D0, 80168930, 801688F0) // RVL::EXISelect +MKW_GUEST_ADDRESS(80168B00, 80168A60, 80168A20) // RVL::EXIDeselect +MKW_GUEST_ADDRESS(80168FA0, 80168F00, 80168EC0) // EXIInit +MKW_GUEST_ADDRESS(80169260, 801691C0, 80169180) // RVL::EXIUnlock +MKW_GUEST_ADDRESS(80169BCC, 80169B2C, 80169AEC) // ISFS::OpenLib +MKW_GUEST_ADDRESS(8016B49C, 8016B3FC, 8016B3BC) // __GX::DefaultTexRegionCallback +MKW_GUEST_ADDRESS(8016B590, 8016B4F0, 8016B4B0) // __GX::DefaultTlutRegionCallback +MKW_GUEST_ADDRESS(8016B5B4, 8016B514, 8016B4D4) // __GX::Shutdown +MKW_GUEST_ADDRESS(8016B720, 8016B680, 8016B640) // __GX::InitRevisionBits +MKW_GUEST_ADDRESS(8016B850, 8016B7B0, 8016B770) // GX::Init +MKW_GUEST_ADDRESS(8016C668, 8016C5C8, 8016C588) // GX::CPInterruptHandler +MKW_GUEST_ADDRESS(8016C94C, 8016C8AC, 8016C86C) // GX::SetCPUFifo +MKW_GUEST_ADDRESS(8016CB2C, 8016CA8C, 8016CA4C) // GX::SetGPFifo +MKW_GUEST_ADDRESS(8016CDBC, 8016CD1C, 8016CCDC) // __GX::SaveFifo +MKW_GUEST_ADDRESS(8016CF10, 8016CE70, 8016CE30) // GX::GetCPUFifo +MKW_GUEST_ADDRESS(8016D054, 8016CFB4, 8016CF74) // GX::SetBreakPtCallback +MKW_GUEST_ADDRESS(8016D098, 8016CFF8, 8016CFB8) // GX::EnableBreakPt +MKW_GUEST_ADDRESS(8016D138, 8016D098, 8016D058) // GX::DisableBreakPt +MKW_GUEST_ADDRESS(8016D1FC, 8016D15C, 8016D11C) // __GX::CleanGPFifo +MKW_GUEST_ADDRESS(8016D3A4, 8016D304, 8016D2C4) // GX::SetVtxDesc +MKW_GUEST_ADDRESS(8016D3C0, 8016D320, 8016D2E0) // GX::SetVtxDesc_switch +MKW_GUEST_ADDRESS(8016D3C4, 8016D324, 8016D2E4) // GX::SetVtxDesc_caseD_0 +MKW_GUEST_ADDRESS(8016D3D8, 8016D338, 8016D2F8) // GX::SetVtxDesc_caseD_1 +MKW_GUEST_ADDRESS(8016D3EC, 8016D34C, 8016D30C) // GX::SetVtxDesc_caseD_2 +MKW_GUEST_ADDRESS(8016D400, 8016D360, 8016D320) // GX::SetVtxDesc_caseD_3 +MKW_GUEST_ADDRESS(8016D414, 8016D374, 8016D334) // GX::SetVtxDesc_caseD_4 +MKW_GUEST_ADDRESS(8016D428, 8016D388, 8016D348) // GX::SetVtxDesc_caseD_5 +MKW_GUEST_ADDRESS(8016D43C, 8016D39C, 8016D35C) // GX::SetVtxDesc_caseD_6 +MKW_GUEST_ADDRESS(8016D450, 8016D3B0, 8016D370) // GX::SetVtxDesc_caseD_7 +MKW_GUEST_ADDRESS(8016D464, 8016D3C4, 8016D384) // GX::SetVtxDesc_caseD_8 +MKW_GUEST_ADDRESS(8016D478, 8016D3D8, 8016D398) // GX::SetVtxDesc_caseD_9 +MKW_GUEST_ADDRESS(8016D48C, 8016D3EC, 8016D3AC) // GX::SetVtxDesc_caseD_a +MKW_GUEST_ADDRESS(8016D4C0, 8016D420, 8016D3E0) // GX::SetVtxDesc_caseD_19 +MKW_GUEST_ADDRESS(8016D4F4, 8016D454, 8016D414) // GX::SetVtxDesc_caseD_b +MKW_GUEST_ADDRESS(8016D508, 8016D468, 8016D428) // GX::SetVtxDesc_caseD_c +MKW_GUEST_ADDRESS(8016D51C, 8016D47C, 8016D43C) // GX::SetVtxDesc_caseD_d +MKW_GUEST_ADDRESS(8016D530, 8016D490, 8016D450) // GX::SetVtxDesc_caseD_e +MKW_GUEST_ADDRESS(8016D544, 8016D4A4, 8016D464) // GX::SetVtxDesc_caseD_f +MKW_GUEST_ADDRESS(8016D558, 8016D4B8, 8016D478) // GX::SetVtxDesc_caseD_10 +MKW_GUEST_ADDRESS(8016D56C, 8016D4CC, 8016D48C) // GX::SetVtxDesc_caseD_11 +MKW_GUEST_ADDRESS(8016D580, 8016D4E0, 8016D4A0) // GX::SetVtxDesc_caseD_12 +MKW_GUEST_ADDRESS(8016D594, 8016D4F4, 8016D4B4) // GX::SetVtxDesc_caseD_13 +MKW_GUEST_ADDRESS(8016D5A8, 8016D508, 8016D4C8) // GX::SetVtxDesc_caseD_14 +MKW_GUEST_ADDRESS(8016D5B8, 8016D518, 8016D4D8) // GX::SetVtxDesc_caseD_15 +MKW_GUEST_ADDRESS(8016D608, 8016D568, 8016D528) // GX::SetVtxDescv +MKW_GUEST_ADDRESS(8016D814, 8016D774, 8016D734) // __GX::SetVCD +MKW_GUEST_ADDRESS(8016D8C4, 8016D824, 8016D7E4) // __GX::CalculateVLim +MKW_GUEST_ADDRESS(8016D9F0, 8016D950, 8016D910) // GX::GetVtxDesc +MKW_GUEST_ADDRESS(8016DA0C, 8016D96C, 8016D92C) // GX::GetVtxDesc_switch +MKW_GUEST_ADDRESS(8016DA10, 8016D970, 8016D930) // GX::GetVtxDesc_caseD_0 +MKW_GUEST_ADDRESS(8016DA20, 8016D980, 8016D940) // GX::GetVtxDesc_caseD_1 +MKW_GUEST_ADDRESS(8016DA30, 8016D990, 8016D950) // GX::GetVtxDesc_caseD_2 +MKW_GUEST_ADDRESS(8016DA40, 8016D9A0, 8016D960) // GX::GetVtxDesc_caseD_3 +MKW_GUEST_ADDRESS(8016DA50, 8016D9B0, 8016D970) // GX::GetVtxDesc_caseD_4 +MKW_GUEST_ADDRESS(8016DA60, 8016D9C0, 8016D980) // GX::GetVtxDesc_caseD_5 +MKW_GUEST_ADDRESS(8016DA70, 8016D9D0, 8016D990) // GX::GetVtxDesc_caseD_6 +MKW_GUEST_ADDRESS(8016DA80, 8016D9E0, 8016D9A0) // GX::GetVtxDesc_caseD_7 +MKW_GUEST_ADDRESS(8016DA90, 8016D9F0, 8016D9B0) // GX::GetVtxDesc_caseD_8 +MKW_GUEST_ADDRESS(8016DAA0, 8016DA00, 8016D9C0) // GX::GetVtxDesc_caseD_9 +MKW_GUEST_ADDRESS(8016DAB0, 8016DA10, 8016D9D0) // GX::GetVtxDesc_caseD_a +MKW_GUEST_ADDRESS(8016DAD4, 8016DA34, 8016D9F4) // GX::GetVtxDesc_caseD_19 +MKW_GUEST_ADDRESS(8016DAF8, 8016DA58, 8016DA18) // GX::GetVtxDesc_caseD_b +MKW_GUEST_ADDRESS(8016DB08, 8016DA68, 8016DA28) // GX::GetVtxDesc_caseD_c +MKW_GUEST_ADDRESS(8016DB18, 8016DA78, 8016DA38) // GX::GetVtxDesc_caseD_d +MKW_GUEST_ADDRESS(8016DB28, 8016DA88, 8016DA48) // GX::GetVtxDesc_caseD_e +MKW_GUEST_ADDRESS(8016DB38, 8016DA98, 8016DA58) // GX::GetVtxDesc_caseD_f +MKW_GUEST_ADDRESS(8016DB48, 8016DAA8, 8016DA68) // GX::GetVtxDesc_caseD_10 +MKW_GUEST_ADDRESS(8016DB58, 8016DAB8, 8016DA78) // GX::GetVtxDesc_caseD_11 +MKW_GUEST_ADDRESS(8016DB68, 8016DAC8, 8016DA88) // GX::GetVtxDesc_caseD_12 +MKW_GUEST_ADDRESS(8016DB78, 8016DAD8, 8016DA98) // GX::GetVtxDesc_caseD_13 +MKW_GUEST_ADDRESS(8016DB88, 8016DAE8, 8016DAA8) // GX::GetVtxDesc_caseD_14 +MKW_GUEST_ADDRESS(8016DB98, 8016DAF8, 8016DAB8) // GX::GetVtxDesc_caseD_15 +MKW_GUEST_ADDRESS(8016DBA4, 8016DB04, 8016DAC4) // GX::GetVtxDescv +MKW_GUEST_ADDRESS(8016DC34, 8016DB94, 8016DB54) // GX::ClearVtxDesc +MKW_GUEST_ADDRESS(8016DC68, 8016DBC8, 8016DB88) // GX::SetVtxAttrFmt +MKW_GUEST_ADDRESS(8016DC94, 8016DBF4, 8016DBB4) // GX::SetVtxAttrFmt_switch +MKW_GUEST_ADDRESS(8016DC98, 8016DBF8, 8016DBB8) // GX::SetVtxAttrFmt_caseD_9 +MKW_GUEST_ADDRESS(8016DCB0, 8016DC10, 8016DBD0) // GX::SetVtxAttrFmt_caseD_19 +MKW_GUEST_ADDRESS(8016DCEC, 8016DC4C, 8016DC0C) // GX::SetVtxAttrFmt_caseD_b +MKW_GUEST_ADDRESS(8016DD00, 8016DC60, 8016DC20) // GX::SetVtxAttrFmt_caseD_c +MKW_GUEST_ADDRESS(8016DD14, 8016DC74, 8016DC34) // GX::SetVtxAttrFmt_caseD_d +MKW_GUEST_ADDRESS(8016DD2C, 8016DC8C, 8016DC4C) // GX::SetVtxAttrFmt_caseD_e +MKW_GUEST_ADDRESS(8016DD44, 8016DCA4, 8016DC64) // GX::SetVtxAttrFmt_caseD_f +MKW_GUEST_ADDRESS(8016DD5C, 8016DCBC, 8016DC7C) // GX::SetVtxAttrFmt_caseD_10 +MKW_GUEST_ADDRESS(8016DD74, 8016DCD4, 8016DC94) // GX::SetVtxAttrFmt_caseD_11 +MKW_GUEST_ADDRESS(8016DD94, 8016DCF4, 8016DCB4) // GX::SetVtxAttrFmt_caseD_12 +MKW_GUEST_ADDRESS(8016DDAC, 8016DD0C, 8016DCCC) // GX::SetVtxAttrFmt_caseD_13 +MKW_GUEST_ADDRESS(8016DDC4, 8016DD24, 8016DCE4) // GX::SetVtxAttrFmt_caseD_14 +MKW_GUEST_ADDRESS(8016DDD8, 8016DD38, 8016DCF8) // GX::SetVtxAttrFmt_caseD_15 +MKW_GUEST_ADDRESS(8016DE08, 8016DD68, 8016DD28) // GX::SetVtxAttrFmtv +MKW_GUEST_ADDRESS(8016DE48, 8016DDA8, 8016DD68) // GX::SetVtxAttrFmtv_switch +MKW_GUEST_ADDRESS(8016DE4C, 8016DDAC, 8016DD6C) // GX::SetVtxAttrFmtv_caseD_9 +MKW_GUEST_ADDRESS(8016DE64, 8016DDC4, 8016DD84) // GX::SetVtxAttrFmtv_caseD_19 +MKW_GUEST_ADDRESS(8016DEA0, 8016DE00, 8016DDC0) // GX::SetVtxAttrFmtv_caseD_b +MKW_GUEST_ADDRESS(8016DEB4, 8016DE14, 8016DDD4) // GX::SetVtxAttrFmtv_caseD_c +MKW_GUEST_ADDRESS(8016DEC8, 8016DE28, 8016DDE8) // GX::SetVtxAttrFmtv_caseD_d +MKW_GUEST_ADDRESS(8016DEE0, 8016DE40, 8016DE00) // GX::SetVtxAttrFmtv_caseD_e +MKW_GUEST_ADDRESS(8016DEF8, 8016DE58, 8016DE18) // GX::SetVtxAttrFmtv_caseD_f +MKW_GUEST_ADDRESS(8016DF10, 8016DE70, 8016DE30) // GX::SetVtxAttrFmtv_caseD_10 +MKW_GUEST_ADDRESS(8016DF28, 8016DE88, 8016DE48) // GX::SetVtxAttrFmtv_caseD_11 +MKW_GUEST_ADDRESS(8016DF48, 8016DEA8, 8016DE68) // GX::SetVtxAttrFmtv_caseD_12 +MKW_GUEST_ADDRESS(8016DF60, 8016DEC0, 8016DE80) // GX::SetVtxAttrFmtv_caseD_13 +MKW_GUEST_ADDRESS(8016DF78, 8016DED8, 8016DE98) // GX::SetVtxAttrFmtv_caseD_14 +MKW_GUEST_ADDRESS(8016DF8C, 8016DEEC, 8016DEAC) // GX::SetVtxAttrFmtv_caseD_15 +MKW_GUEST_ADDRESS(8016DFCC, 8016DF2C, 8016DEEC) // __GX::SetVAT +MKW_GUEST_ADDRESS(8016E04C, 8016DFAC, 8016DF6C) // GX::GetVtxAttrFmt +MKW_GUEST_ADDRESS(8016E078, 8016DFD8, 8016DF98) // GX::GetVtxAttrFmt_switch +MKW_GUEST_ADDRESS(8016E07C, 8016DFDC, 8016DF9C) // GX::GetVtxAttrFmt_caseD_9 +MKW_GUEST_ADDRESS(8016E0A4, 8016E004, 8016DFC4) // GX::GetVtxAttrFmt_caseD_19 +MKW_GUEST_ADDRESS(8016E118, 8016E078, 8016E038) // GX::GetVtxAttrFmt_caseD_b +MKW_GUEST_ADDRESS(8016E13C, 8016E09C, 8016E05C) // GX::GetVtxAttrFmt_caseD_c +MKW_GUEST_ADDRESS(8016E160, 8016E0C0, 8016E080) // GX::GetVtxAttrFmt_caseD_d +MKW_GUEST_ADDRESS(8016E188, 8016E0E8, 8016E0A8) // GX::GetVtxAttrFmt_caseD_e +MKW_GUEST_ADDRESS(8016E1B0, 8016E110, 8016E0D0) // GX::GetVtxAttrFmt_caseD_f +MKW_GUEST_ADDRESS(8016E1C4, 8016E124, 8016E0E4) +MKW_GUEST_ADDRESS(8016E1D8, 8016E138, 8016E0F8) // GX::GetVtxAttrFmt_caseD_10 +MKW_GUEST_ADDRESS(8016E200, 8016E160, 8016E120) // GX::GetVtxAttrFmt_caseD_11 +MKW_GUEST_ADDRESS(8016E228, 8016E188, 8016E148) // GX::GetVtxAttrFmt_caseD_12 +MKW_GUEST_ADDRESS(8016E250, 8016E1B0, 8016E170) // GX::GetVtxAttrFmt_caseD_13 +MKW_GUEST_ADDRESS(8016E278, 8016E1D8, 8016E198) // GX::GetVtxAttrFmt_caseD_14 +MKW_GUEST_ADDRESS(8016E2A0, 8016E200, 8016E1C0) // GX::GetVtxAttrFmt_caseD_15 +MKW_GUEST_ADDRESS(8016E2B8, 8016E218, 8016E1D8) // GX::GetVtxAttrFmtv +MKW_GUEST_ADDRESS(8016E32C, 8016E28C, 8016E24C) // GX::SetArray +MKW_GUEST_ADDRESS(8016E37C, 8016E2DC, 8016E29C) // GX::SetTexCoordGen2 +MKW_GUEST_ADDRESS(8016E3A4, 8016E304, 8016E2C4) // GX::SetTexCoordGen2_switch +MKW_GUEST_ADDRESS(8016E3A8, 8016E308, 8016E2C8) // GX::SetTexCoordGen2_caseD_0 +MKW_GUEST_ADDRESS(8016E3B4, 8016E314, 8016E2D4) // GX::SetTexCoordGen2_caseD_1 +MKW_GUEST_ADDRESS(8016E3C0, 8016E320, 8016E2E0) // GX::SetTexCoordGen2_caseD_2 +MKW_GUEST_ADDRESS(8016E3CC, 8016E32C, 8016E2EC) // GX::SetTexCoordGen2_caseD_3 +MKW_GUEST_ADDRESS(8016E3D8, 8016E338, 8016E2F8) // GX::SetTexCoordGen2_caseD_13 +MKW_GUEST_ADDRESS(8016E3E0, 8016E340, 8016E300) // GX::SetTexCoordGen2_caseD_14 +MKW_GUEST_ADDRESS(8016E3E8, 8016E348, 8016E308) // GX::SetTexCoordGen2_caseD_4 +MKW_GUEST_ADDRESS(8016E3F0, 8016E350, 8016E310) // GX::SetTexCoordGen2_caseD_5 +MKW_GUEST_ADDRESS(8016E3F8, 8016E358, 8016E318) // GX::SetTexCoordGen2_caseD_6 +MKW_GUEST_ADDRESS(8016E400, 8016E360, 8016E320) // GX::SetTexCoordGen2_caseD_7 +MKW_GUEST_ADDRESS(8016E408, 8016E368, 8016E328) // GX::SetTexCoordGen2_caseD_8 +MKW_GUEST_ADDRESS(8016E410, 8016E370, 8016E330) // GX::SetTexCoordGen2_caseD_9 +MKW_GUEST_ADDRESS(8016E418, 8016E378, 8016E338) // GX::SetTexCoordGen2_caseD_a +MKW_GUEST_ADDRESS(8016E420, 8016E380, 8016E340) // GX::SetTexCoordGen2_caseD_b +MKW_GUEST_ADDRESS(8016E424, 8016E384, 8016E344) // GX::SetTexCoordGen2_caseD_10 +MKW_GUEST_ADDRESS(8016E514, 8016E474, 8016E434) // GX::SetTexCoordGen2_switch +MKW_GUEST_ADDRESS(8016E518, 8016E478, 8016E438) // GX::SetTexCoordGen2_caseD_0 +MKW_GUEST_ADDRESS(8016E528, 8016E488, 8016E448) // GX::SetTexCoordGen2_caseD_1 +MKW_GUEST_ADDRESS(8016E538, 8016E498, 8016E458) // GX::SetTexCoordGen2_caseD_2 +MKW_GUEST_ADDRESS(8016E548, 8016E4A8, 8016E468) // GX::SetTexCoordGen2_caseD_3 +MKW_GUEST_ADDRESS(8016E558, 8016E4B8, 8016E478) // GX::SetTexCoordGen2_caseD_4 +MKW_GUEST_ADDRESS(8016E568, 8016E4C8, 8016E488) // GX::SetTexCoordGen2_caseD_5 +MKW_GUEST_ADDRESS(8016E578, 8016E4D8, 8016E498) // GX::SetTexCoordGen2_caseD_6 +MKW_GUEST_ADDRESS(8016E588, 8016E4E8, 8016E4A8) +MKW_GUEST_ADDRESS(8016E5A4, 8016E504, 8016E4C4) // GX::SetNumTexGens +MKW_GUEST_ADDRESS(8016E654, 8016E5B4, 8016E574) // GX::Flush +MKW_GUEST_ADDRESS(8016E6B0, 8016E610, 8016E5D0) // GX::ResetWriteGatherPipe +MKW_GUEST_ADDRESS(8016E6E4, 8016E644, 8016E604) // __GX::Abort +MKW_GUEST_ADDRESS(8016E848, 8016E7A8, 8016E768) // GX::AbortFrame +MKW_GUEST_ADDRESS(8016E9FC, 8016E95C, 8016E91C) // GX::SetDrawSync +MKW_GUEST_ADDRESS(8016EAB0, 8016EA10, 8016E9D0) // GX::DrawDone +MKW_GUEST_ADDRESS(8016EB70, 8016EAD0, 8016EA90) // GX::PixModeSync +MKW_GUEST_ADDRESS(8016EB94, 8016EAF4, 8016EAB4) // GX::PokeAlphaMode +MKW_GUEST_ADDRESS(8016EBA4, 8016EB04, 8016EAC4) // GX::PokeAlphaUpdate +MKW_GUEST_ADDRESS(8016EBBC, 8016EB1C, 8016EADC) // GX::PokeAlphaUpdate +MKW_GUEST_ADDRESS(8016EBD0, 8016EB30, 8016EAF0) // GX::PokeBlendMode +MKW_GUEST_ADDRESS(8016EC2C, 8016EB8C, 8016EB4C) // GX::PokeColorUpdate +MKW_GUEST_ADDRESS(8016EC40, 8016EBA0, 8016EB60) // GX::PokeDstAlpha +MKW_GUEST_ADDRESS(8016EC58, 8016EBB8, 8016EB78) // GX::PokeDither +MKW_GUEST_ADDRESS(8016EC6C, 8016EBCC, 8016EB8C) // GX::PokeZMode +MKW_GUEST_ADDRESS(8016ECCC, 8016EC2C, 8016EBEC) // GX::TokenInterruptHandler +MKW_GUEST_ADDRESS(8016ED50, 8016ECB0, 8016EC70) // GX::SetDrawDoneCallback +MKW_GUEST_ADDRESS(8016ED94, 8016ECF4, 8016ECB4) // GX::FinishInterruptHandler +MKW_GUEST_ADDRESS(8016EE14, 8016ED74, 8016ED34) // __GX::PEInit +MKW_GUEST_ADDRESS(8016EE78, 8016EDD8, 8016ED98) // __GX::SetDirtyState +MKW_GUEST_ADDRESS(8016F0F0, 8016F050, 8016F010) // GX::Begin +MKW_GUEST_ADDRESS(8016F23C, 8016F19C, 8016F15C) // __GX::SendFlushPrim +MKW_GUEST_ADDRESS(8016F314, 8016F274, 8016F234) // GX::SetLineWidth +MKW_GUEST_ADDRESS(8016F348, 8016F2A8, 8016F268) // GX::SetPointSize +MKW_GUEST_ADDRESS(8016F37C, 8016F2DC, 8016F29C) // GX::EnableTexOffsets +MKW_GUEST_ADDRESS(8016F3B8, 8016F318, 8016F2D8) // GX::SetCullMode +MKW_GUEST_ADDRESS(8016F3E0, 8016F340, 8016F300) // GX::SetCoPlanar +MKW_GUEST_ADDRESS(8016F414, 8016F374, 8016F334) // __GX::SetGenMode +MKW_GUEST_ADDRESS(8016F438, 8016F398, 8016F358) // GX::SetDispCopySrc +MKW_GUEST_ADDRESS(8016F478, 8016F3D8, 8016F398) // GX::SetTexCopySrc +MKW_GUEST_ADDRESS(8016F4B8, 8016F418, 8016F3D8) // GX::SetDispCopyDst +MKW_GUEST_ADDRESS(8016F4DC, 8016F43C, 8016F3FC) // GX::SetTexCopyDst +MKW_GUEST_ADDRESS(8016F5F8, 8016F558, 8016F518) // GX::SetDispCopyFrame2Field +MKW_GUEST_ADDRESS(8016F618, 8016F578, 8016F538) // GX::SetCopyClamp +MKW_GUEST_ADDRESS(8016FA40, 8016F9A0, 8016F960) // GX::SetCopyFilter +MKW_GUEST_ADDRESS(8016FC24, 8016FB84, 8016FB44) // GX::SetDispCopyGamma +MKW_GUEST_ADDRESS(8016FC38, 8016FB98, 8016FB58) // GX::CopyDisp +MKW_GUEST_ADDRESS(8016FD74, 8016FCD4, 8016FC94) // GX::CopyTex +MKW_GUEST_ADDRESS(8016FECC, 8016FE2C, 8016FDEC) // GX::ClearBoundingBox +MKW_GUEST_ADDRESS(80170320, 80170280, 80170240) // GX::LoadLightObjImm +MKW_GUEST_ADDRESS(8017039C, 801702FC, 801702BC) // GX::SetChanAmbColor +MKW_GUEST_ADDRESS(80170474, 801703D4, 80170394) // GX::SetChanMatColor +MKW_GUEST_ADDRESS(8017054C, 801704AC, 8017046C) // GX::SetNumChans +MKW_GUEST_ADDRESS(80170570, 801704D0, 80170490) // GX::SetChanCtrl +MKW_GUEST_ADDRESS(801707F8, 80170758, 80170718) // GX::InitTexObj +MKW_GUEST_ADDRESS(80170938, 80170898, 80170858) // GX::InitTexObj_switch +MKW_GUEST_ADDRESS(8017093C, 8017089C, 8017085C) // GX::InitTexObj_caseD_0 +MKW_GUEST_ADDRESS(80170950, 801708B0, 80170870) // GX::InitTexObj_caseD_1 +MKW_GUEST_ADDRESS(80170964, 801708C4, 80170884) // GX::InitTexObj_caseD_3 +MKW_GUEST_ADDRESS(80170978, 801708D8, 80170898) // GX::InitTexObj_caseD_6 +MKW_GUEST_ADDRESS(8017098C, 801708EC, 801708AC) // GX::InitTexObj_caseD_e +MKW_GUEST_ADDRESS(801709A0, 80170900, 801708C0) // GX::InitTexObj_caseD_7 +MKW_GUEST_ADDRESS(80170A04, 80170964, 80170924) // GX::InitTexObjCI +MKW_GUEST_ADDRESS(80170A4C, 801709AC, 8017096C) // GX::InitTexObjLOD +MKW_GUEST_ADDRESS(80170B50, 80170AB0, 80170A70) // GX::InitTexObjWrapMode +MKW_GUEST_ADDRESS(80170B64, 80170AC4, 80170A84) // GX::InitTexObjTlut +MKW_GUEST_ADDRESS(80170B6C, 80170ACC, 80170A8C) // GX::InitTexObjFilter +MKW_GUEST_ADDRESS(80170B94, 80170AF4, 80170AB4) // GX::InitTexObjLODBias +MKW_GUEST_ADDRESS(80170BE8, 80170B48, 80170B08) // GX::InitTexObjUserData +MKW_GUEST_ADDRESS(80170BF8, 80170B58, 80170B18) // GX::GetTexObjAll +MKW_GUEST_ADDRESS(80170CBC, 80170C1C, 80170BDC) // GX::GetTexObjLODAll +MKW_GUEST_ADDRESS(80170DC8, 80170D28, 80170CE8) // GX::LoadTexObjPreLoaded +MKW_GUEST_ADDRESS(80170F2C, 80170E8C, 80170E4C) // GX::LoadTexObj +MKW_GUEST_ADDRESS(80170F80, 80170EE0, 80170EA0) // GX::InitTlutObj +MKW_GUEST_ADDRESS(80170FA8, 80170F08, 80170EC8) // GX::LoadTlut +MKW_GUEST_ADDRESS(80171110, 80171070, 80171030) // GX::InvalidateTexAll +MKW_GUEST_ADDRESS(80171180, 801710E0, 801710A0) // GX::SetTexCoordScaleManually +MKW_GUEST_ADDRESS(801711FC, 8017115C, 8017111C) // GX::SetTexCoordBias +MKW_GUEST_ADDRESS(801712F0, 80171250, 80171210) // __GX::SetSUTexRegs +MKW_GUEST_ADDRESS(80171458, 801713B8, 80171378) // __GX::SetTmemConfig +MKW_GUEST_ADDRESS(801717AC, 8017170C, 801716CC) // GX::SetTevIndirect +MKW_GUEST_ADDRESS(80171814, 80171774, 80171734) // GX::SetIndTexMtx +MKW_GUEST_ADDRESS(80171968, 801718C8, 80171888) // GX::SetIndTexCoordScale +MKW_GUEST_ADDRESS(80171A6C, 801719CC, 8017198C) // GX::SetIndTexOrder +MKW_GUEST_ADDRESS(80171B38, 80171A98, 80171A58) // GX::SetNumIndStages +MKW_GUEST_ADDRESS(80171B58, 80171AB8, 80171A78) // GX::SetTevDirect +MKW_GUEST_ADDRESS(80171BA0, 80171B00, 80171AC0) // GX::SetTevIndWarp +MKW_GUEST_ADDRESS(80171C28, 80171B88, 80171B48) // __GX::FlushTextureState +MKW_GUEST_ADDRESS(80171C4C, 80171BAC, 80171B6C) // GX::SetTevOp +MKW_GUEST_ADDRESS(80171CE0, 80171C40, 80171C00) // GX::SetTevColorIn +MKW_GUEST_ADDRESS(80171D20, 80171C80, 80171C40) // GX::SetTevAlphaIn +MKW_GUEST_ADDRESS(80171D60, 80171CC0, 80171C80) // GX::SetTevColorOp +MKW_GUEST_ADDRESS(80171DB8, 80171D18, 80171CD8) // GX::SetTevAlphaOp +MKW_GUEST_ADDRESS(80171E10, 80171D70, 80171D30) // GX::SetTevColor +MKW_GUEST_ADDRESS(80171E70, 80171DD0, 80171D90) // GX::SetTevColorS10 +MKW_GUEST_ADDRESS(80171ED4, 80171E34, 80171DF4) // GX::SetTevKColor +MKW_GUEST_ADDRESS(80171F30, 80171E90, 80171E50) // GX::SetTevKColorSel +MKW_GUEST_ADDRESS(80171F80, 80171EE0, 80171EA0) // GX::SetTevKAlphaSel +MKW_GUEST_ADDRESS(80171FD0, 80171F30, 80171EF0) // GX::SetTevSwapMode +MKW_GUEST_ADDRESS(8017200C, 80171F6C, 80171F2C) // GX::SetTevSwapModeTable +MKW_GUEST_ADDRESS(80172088, 80171FE8, 80171FA8) // GX::SetAlphaCompare +MKW_GUEST_ADDRESS(801720C0, 80172020, 80171FE0) // GX::SetZTexture +MKW_GUEST_ADDRESS(8017214C, 801720AC, 8017206C) // GX::SetTevOrder +MKW_GUEST_ADDRESS(801722A8, 80172208, 801721C8) // GX::SetNumTevStages +MKW_GUEST_ADDRESS(801722CC, 8017222C, 801721EC) // GX::SetFog +MKW_GUEST_ADDRESS(801724F8, 80172458, 80172418) // GX::InitFogAdjTable +MKW_GUEST_ADDRESS(8017277C, 801726DC, 8017269C) // GX::SetBlendMode +MKW_GUEST_ADDRESS(801727CC, 8017272C, 801726EC) // GX::SetColorUpdate +MKW_GUEST_ADDRESS(801727F8, 80172758, 80172718) // GX::SetAlphaUpdate +MKW_GUEST_ADDRESS(80172824, 80172784, 80172744) // GX::SetZMode +MKW_GUEST_ADDRESS(80172858, 801727B8, 80172778) // GX::SetZCompLoc +MKW_GUEST_ADDRESS(80172888, 801727E8, 801727A8) // GX::SetPixelFmt +MKW_GUEST_ADDRESS(80172930, 80172890, 80172850) // GX::SetDither +MKW_GUEST_ADDRESS(8017295C, 801728BC, 8017287C) // GX::SetDstAlpha +MKW_GUEST_ADDRESS(80172A30, 80172990, 80172950) // GX::DrawSphere +MKW_GUEST_ADDRESS(80172E00, 80172D60, 80172D20) // GX::BeginDisplayList +MKW_GUEST_ADDRESS(80172EB4, 80172E14, 80172DD4) // GX::EndDisplayList +MKW_GUEST_ADDRESS(80172F64, 80172EC4, 80172E84) // GX::CallDisplayList +MKW_GUEST_ADDRESS(80172FD8, 80172F38, 80172EF8) // __GX::SetProjection +MKW_GUEST_ADDRESS(8017301C, 80172F7C, 80172F3C) // GX::SetProjection +MKW_GUEST_ADDRESS(80173080, 80172FE0, 80172FA0) // GX::SetProjectionv +MKW_GUEST_ADDRESS(801730CC, 8017302C, 80172FEC) // GX::GetProjectionv +MKW_GUEST_ADDRESS(8017310C, 8017306C, 8017302C) // GX::LoadPosMtxImm +MKW_GUEST_ADDRESS(8017315C, 801730BC, 8017307C) // GX::LoadPosMtxIndx +MKW_GUEST_ADDRESS(80173188, 801730E8, 801730A8) // GX::LoadNrmMtxImm +MKW_GUEST_ADDRESS(801731E0, 80173140, 80173100) // GX::LoadNrmMtxIndx3x3 +MKW_GUEST_ADDRESS(80173214, 80173174, 80173134) // GX::SetCurrentMtx +MKW_GUEST_ADDRESS(80173234, 80173194, 80173154) // GX::LoadTexMtxImm +MKW_GUEST_ADDRESS(801732E8, 80173248, 80173208) // __GX::SetViewport +MKW_GUEST_ADDRESS(80173378, 801732D8, 80173298) // GX::SetViewportJitter +MKW_GUEST_ADDRESS(801733B4, 80173314, 801732D4) // GX::SetViewport +MKW_GUEST_ADDRESS(801733E0, 80173340, 80173300) // GX::GetViewportv +MKW_GUEST_ADDRESS(80173400, 80173360, 80173320) // GX::SetZScaleOffset +MKW_GUEST_ADDRESS(80173430, 80173390, 80173350) // GX::SetScissor +MKW_GUEST_ADDRESS(801734E0, 80173440, 80173400) // GX::SetScissorBoxOffset +MKW_GUEST_ADDRESS(8017351C, 8017347C, 8017343C) // GX::SetClipMode +MKW_GUEST_ADDRESS(80173544, 801734A4, 80173464) // __GX::SetMatrixIndex +MKW_GUEST_ADDRESS(801735CC, 8017352C, 801734EC) // GX::SetGPMetric +MKW_GUEST_ADDRESS(801736F4, 80173654, 80173614) // GX::SetGPMetric_switch +MKW_GUEST_ADDRESS(801736F8, 80173658, 80173618) // GX::SetGPMetric_caseD_0 +MKW_GUEST_ADDRESS(80173718, 80173678, 80173638) // GX::SetGPMetric_caseD_1 +MKW_GUEST_ADDRESS(80173738, 80173698, 80173658) // GX::SetGPMetric_caseD_2 +MKW_GUEST_ADDRESS(80173758, 801736B8, 80173678) // GX::SetGPMetric_caseD_3 +MKW_GUEST_ADDRESS(80173778, 801736D8, 80173698) // GX::SetGPMetric_caseD_4 +MKW_GUEST_ADDRESS(80173798, 801736F8, 801736B8) // GX::SetGPMetric_caseD_5 +MKW_GUEST_ADDRESS(801737B8, 80173718, 801736D8) // GX::SetGPMetric_caseD_6 +MKW_GUEST_ADDRESS(801737D8, 80173738, 801736F8) // GX::SetGPMetric_caseD_7 +MKW_GUEST_ADDRESS(801737F8, 80173758, 80173718) // GX::SetGPMetric_caseD_8 +MKW_GUEST_ADDRESS(80173818, 80173778, 80173738) // GX::SetGPMetric_caseD_9 +MKW_GUEST_ADDRESS(80173838, 80173798, 80173758) // GX::SetGPMetric_caseD_22 +MKW_GUEST_ADDRESS(80173858, 801737B8, 80173778) // GX::SetGPMetric_caseD_a +MKW_GUEST_ADDRESS(80173878, 801737D8, 80173798) // GX::SetGPMetric_caseD_b +MKW_GUEST_ADDRESS(80173894, 801737F4, 801737B4) // GX::SetGPMetric_caseD_c +MKW_GUEST_ADDRESS(801738B0, 80173810, 801737D0) // GX::SetGPMetric_caseD_d +MKW_GUEST_ADDRESS(801738CC, 8017382C, 801737EC) // GX::SetGPMetric_caseD_e +MKW_GUEST_ADDRESS(801738E8, 80173848, 80173808) // GX::SetGPMetric_caseD_f +MKW_GUEST_ADDRESS(80173904, 80173864, 80173824) // GX::SetGPMetric_caseD_10 +MKW_GUEST_ADDRESS(80173920, 80173880, 80173840) // GX::SetGPMetric_caseD_11 +MKW_GUEST_ADDRESS(8017393C, 8017389C, 8017385C) // GX::SetGPMetric_caseD_12 +MKW_GUEST_ADDRESS(80173958, 801738B8, 80173878) // GX::SetGPMetric_caseD_13 +MKW_GUEST_ADDRESS(80173974, 801738D4, 80173894) // GX::SetGPMetric_caseD_14 +MKW_GUEST_ADDRESS(80173990, 801738F0, 801738B0) // GX::SetGPMetric_caseD_15 +MKW_GUEST_ADDRESS(801739AC, 8017390C, 801738CC) // GX::SetGPMetric_caseD_16 +MKW_GUEST_ADDRESS(801739C8, 80173928, 801738E8) // GX::SetGPMetric_caseD_17 +MKW_GUEST_ADDRESS(801739E4, 80173944, 80173904) // GX::SetGPMetric_caseD_18 +MKW_GUEST_ADDRESS(80173A00, 80173960, 80173920) // GX::SetGPMetric_caseD_19 +MKW_GUEST_ADDRESS(80173A1C, 8017397C, 8017393C) // GX::SetGPMetric_caseD_1a +MKW_GUEST_ADDRESS(80173A38, 80173998, 80173958) // GX::SetGPMetric_caseD_1b +MKW_GUEST_ADDRESS(80173A54, 801739B4, 80173974) // GX::SetGPMetric_caseD_1c +MKW_GUEST_ADDRESS(80173A70, 801739D0, 80173990) // GX::SetGPMetric_caseD_1d +MKW_GUEST_ADDRESS(80173A8C, 801739EC, 801739AC) // GX::SetGPMetric_caseD_1e +MKW_GUEST_ADDRESS(80173AA8, 80173A08, 801739C8) // GX::SetGPMetric_caseD_1f +MKW_GUEST_ADDRESS(80173AC4, 80173A24, 801739E4) // GX::SetGPMetric_caseD_20 +MKW_GUEST_ADDRESS(80173AE0, 80173A40, 80173A00) // GX::SetGPMetric_caseD_21 +MKW_GUEST_ADDRESS(80173AF8, 80173A58, 80173A18) // GX::SetGPMetric_caseD_23 +MKW_GUEST_ADDRESS(80173B18, 80173A78, 80173A38) // GX::SetGPMetric_switch +MKW_GUEST_ADDRESS(80173B1C, 80173A7C, 80173A3C) // GX::SetGPMetric_caseD_0 +MKW_GUEST_ADDRESS(80173B38, 80173A98, 80173A58) // GX::SetGPMetric_caseD_1 +MKW_GUEST_ADDRESS(80173B54, 80173AB4, 80173A74) // GX::SetGPMetric_caseD_2 +MKW_GUEST_ADDRESS(80173B70, 80173AD0, 80173A90) // GX::SetGPMetric_caseD_3 +MKW_GUEST_ADDRESS(80173B8C, 80173AEC, 80173AAC) // GX::SetGPMetric_caseD_8 +MKW_GUEST_ADDRESS(80173BA8, 80173B08, 80173AC8) // GX::SetGPMetric_caseD_15 +MKW_GUEST_ADDRESS(80173BC4, 80173B24, 80173AE4) // GX::SetGPMetric_caseD_4 +MKW_GUEST_ADDRESS(80173BE0, 80173B40, 80173B00) // GX::SetGPMetric_caseD_5 +MKW_GUEST_ADDRESS(80173BFC, 80173B5C, 80173B1C) // GX::SetGPMetric_caseD_6 +MKW_GUEST_ADDRESS(80173C18, 80173B78, 80173B38) // GX::SetGPMetric_caseD_7 +MKW_GUEST_ADDRESS(80173C34, 80173B94, 80173B54) // GX::SetGPMetric_caseD_9 +MKW_GUEST_ADDRESS(80173C64, 80173BC4, 80173B84) // GX::SetGPMetric_caseD_a +MKW_GUEST_ADDRESS(80173C94, 80173BF4, 80173BB4) // GX::SetGPMetric_caseD_b +MKW_GUEST_ADDRESS(80173CC4, 80173C24, 80173BE4) // GX::SetGPMetric_caseD_c +MKW_GUEST_ADDRESS(80173CF4, 80173C54, 80173C14) // GX::SetGPMetric_caseD_d +MKW_GUEST_ADDRESS(80173D24, 80173C84, 80173C44) // GX::SetGPMetric_caseD_e +MKW_GUEST_ADDRESS(80173D54, 80173CB4, 80173C74) // GX::SetGPMetric_caseD_f +MKW_GUEST_ADDRESS(80173D84, 80173CE4, 80173CA4) // GX::SetGPMetric_caseD_10 +MKW_GUEST_ADDRESS(80173DB0, 80173D10, 80173CD0) // GX::SetGPMetric_caseD_11 +MKW_GUEST_ADDRESS(80173DC0, 80173D20, 80173CE0) // GX::SetGPMetric_caseD_12 +MKW_GUEST_ADDRESS(80173DD0, 80173D30, 80173CF0) // GX::SetGPMetric_caseD_13 +MKW_GUEST_ADDRESS(80173DE0, 80173D40, 80173D00) // GX::SetGPMetric_caseD_14 +MKW_GUEST_ADDRESS(80173DEC, 80173D4C, 80173D0C) // GX::SetGPMetric_caseD_16 +MKW_GUEST_ADDRESS(80173DF8, 80173D58, 80173D18) // GX::ClearGPMetric +MKW_GUEST_ADDRESS(80192F7C, 80192EDC, 80192E9C) // IPCInit +MKW_GUEST_ADDRESS(80193010, 80192F70, 80192F30) // IPCReadReg +MKW_GUEST_ADDRESS(80193020, 80192F80, 80192F40) // IPCWriteReg +MKW_GUEST_ADDRESS(80193040, 80192FA0, 80192F60) // IPCSetBufferLo +MKW_GUEST_ADDRESS(80193478, 801933D8, 80193398) // IPCCltInit +MKW_GUEST_ADDRESS(801937E0, 80193740, 80193700) // IOS::OpenAsync +MKW_GUEST_ADDRESS(801938F8, 80193858, 80193818) // IOS::Open +MKW_GUEST_ADDRESS(801938FC, 8019385C, 8019381C) +MKW_GUEST_ADDRESS(80193A18, 80193978, 80193938) // IOS::CloseAsync +MKW_GUEST_ADDRESS(80193AD8, 80193A38, 801939F8) // IOS::Close +MKW_GUEST_ADDRESS(80193B80, 80193AE0, 80193AA0) // IOS::ReadAsync +MKW_GUEST_ADDRESS(80193C80, 80193BE0, 80193BA0) // IOS::Read +MKW_GUEST_ADDRESS(80193D88, 80193CE8, 80193CA8) // IOS::WriteAsync +MKW_GUEST_ADDRESS(80193E88, 80193DE8, 80193DA8) // IOS::Write +MKW_GUEST_ADDRESS(80193F90, 80193EF0, 80193EB0) // IOS::SeekAsync +MKW_GUEST_ADDRESS(80194070, 80193FD0, 80193F90) // IOS::Seek +MKW_GUEST_ADDRESS(80194158, 801940B8, 80194078) // IOS::IoctlAsync +MKW_GUEST_ADDRESS(80194290, 801941F0, 801941B0) // IOS::Ioctl +MKW_GUEST_ADDRESS(801944FC, 8019445C, 8019441C) // IOS::IoctlvAsync +MKW_GUEST_ADDRESS(801945E0, 80194540, 80194500) // IOS::Ioctlv +MKW_GUEST_ADDRESS(801949B8, 80194918, 801948D8) // iosCreateHeap +MKW_GUEST_ADDRESS(8019B43C, 8019B39C, 8019B35C) // NAND::Create +MKW_GUEST_ADDRESS(8019B524, 8019B484, 8019B444) // NAND::Private::CreateAsync +MKW_GUEST_ADDRESS(8019B59C, 8019B4FC, 8019B4BC) // NAND::Delete +MKW_GUEST_ADDRESS(8019B6E4, 8019B644, 8019B604) // NAND::Private::DeleteAsync +MKW_GUEST_ADDRESS(8019B7A4, 8019B704, 8019B6C4) // NAND::Read +MKW_GUEST_ADDRESS(8019B80C, 8019B76C, 8019B72C) // NAND::ReadAsync +MKW_GUEST_ADDRESS(8019B884, 8019B7E4, 8019B7A4) // NAND::Write +MKW_GUEST_ADDRESS(8019B8EC, 8019B84C, 8019B80C) // NAND::WriteAsync +MKW_GUEST_ADDRESS(8019B964, 8019B8C4, 8019B884) // NAND::Seek +MKW_GUEST_ADDRESS(8019BA04, 8019B964, 8019B924) // NAND::SeekAsync +MKW_GUEST_ADDRESS(8019BBE0, 8019BB40, 8019BB00) // NAND::CreateDir +MKW_GUEST_ADDRESS(8019BCC8, 8019BC28, 8019BBE8) // NAND::Private::CreateDirAsync +MKW_GUEST_ADDRESS(8019BEE8, 8019BE48, 8019BE08) // NAND::Move +MKW_GUEST_ADDRESS(8019BF4C, 8019BEAC, 8019BE6C) // NAND::GetLength +MKW_GUEST_ADDRESS(8019C048, 8019BFA8, 8019BF68) // NAND::GetLengthAsync +MKW_GUEST_ADDRESS(8019C380, 8019C2E0, 8019C2A0) // NAND::GetStatus +MKW_GUEST_ADDRESS(8019C448, 8019C3A8, 8019C368) // NAND::Private::GetStatusAsync +MKW_GUEST_ADDRESS(8019C800, 8019C760, 8019C720) // NAND::Open +MKW_GUEST_ADDRESS(8019C918, 8019C878, 8019C838) // NAND::OpenAsync +MKW_GUEST_ADDRESS(8019C990, 8019C8F0, 8019C8B0) // NAND::Private::OpenAsync +MKW_GUEST_ADDRESS(8019CA80, 8019C9E0, 8019C9A0) // NAND::Close +MKW_GUEST_ADDRESS(8019CAEC, 8019CA4C, 8019CA0C) // NAND::CloseAsync +MKW_GUEST_ADDRESS(8019CB74, 8019CAD4, 8019CA94) // NAND::SafeOpen +MKW_GUEST_ADDRESS(8019CF28, 8019CE88, 8019CE48) // NAND::SafeClose +MKW_GUEST_ADDRESS(8019D104, 8019D064, 8019D024) // NAND::Private::SafeOpenAsync +MKW_GUEST_ADDRESS(8019D720, 8019D680, 8019D640) // NAND::SafeCloseAsync +MKW_GUEST_ADDRESS(8019E18C, 8019E0EC, 8019E0AC) // NAND::Init +MKW_GUEST_ADDRESS(8019E390, 8019E2F0, 8019E2B0) // NAND::GetCurrentDir +MKW_GUEST_ADDRESS(8019E770, 8019E6D0, 8019E690) // NAND::GetType +MKW_GUEST_ADDRESS(8019E7B4, 8019E714, 8019E6D4) // NAND::Private::GetTypeAsync +MKW_GUEST_ADDRESS(8019EAD0, 8019EA30, 8019E9F0) // NAND::Check +MKW_GUEST_ADDRESS(8019F33C, 8019F29C, 8019F25C) // OS::GetConsoleType +MKW_GUEST_ADDRESS(801A00E0, 801A0040, 801A0000) // OS::ExceptionInit +MKW_GUEST_ADDRESS(801A04A0, 801A0400, 801A03C0) // OS::__PSInit +MKW_GUEST_ADDRESS(801A0620, 801A0580, 801A0540) // InsertAlarm +MKW_GUEST_ADDRESS(801A0870, 801A07D0, 801A0790) // OS::SetAlarm +MKW_GUEST_ADDRESS(801A08E0, 801A0840, 801A0800) // OS::SetPeriodicAlarm +MKW_GUEST_ADDRESS(801A1138, 801A1098, 801A1058) // __AIClockInit +MKW_GUEST_ADDRESS(801A1358, 801A12B8, 801A1278) // OS::__InitAudioSystem +MKW_GUEST_ADDRESS(801A1520, 801A1480, 801A1440) // OS::__StopAudioSystem +MKW_GUEST_ADDRESS(801A15EC, 801A154C, 801A150C) // DCEnable +MKW_GUEST_ADDRESS(801A1600, 801A1560, 801A1520) // DCInvalidateRange +MKW_GUEST_ADDRESS(801A162C, 801A158C, 801A154C) // DCFlushRange +MKW_GUEST_ADDRESS(801A165C, 801A15BC, 801A157C) // DCStoreRange +MKW_GUEST_ADDRESS(801A168C, 801A15EC, 801A15AC) // DCFlushRangeNoSync +MKW_GUEST_ADDRESS(801A16B8, 801A1618, 801A15D8) // DCStoreRangeNoSync +MKW_GUEST_ADDRESS(801A16E4, 801A1644, 801A1604) // DCZeroRange +MKW_GUEST_ADDRESS(801A1710, 801A1670, 801A1630) // ICInvalidateRange +MKW_GUEST_ADDRESS(801A1744, 801A16A4, 801A1664) // ICFlashInvalidate +MKW_GUEST_ADDRESS(801A1754, 801A16B4, 801A1674) // ICEnable +MKW_GUEST_ADDRESS(801A1768, 801A16C8, 801A1688) // __LCEnable +MKW_GUEST_ADDRESS(801A1834, 801A1794, 801A1754) // LCEnable +MKW_GUEST_ADDRESS(801A186C, 801A17CC, 801A178C) // LCDisable +MKW_GUEST_ADDRESS(801A1894, 801A17F4, 801A17B4) // LCLoadBlocks +MKW_GUEST_ADDRESS(801A18B8, 801A1818, 801A17D8) // LCStoreBlocks +MKW_GUEST_ADDRESS(801A18DC, 801A183C, 801A17FC) // LCStoreData +MKW_GUEST_ADDRESS(801A197C, 801A18DC, 801A189C) // LCQueueLength +MKW_GUEST_ADDRESS(801A1988, 801A18E8, 801A18A8) // LCQueueWait +MKW_GUEST_ADDRESS(801A1AE4, 801A1A44, 801A1A04) // OS::__CacheInit +MKW_GUEST_ADDRESS(801A1E70, 801A1DD0, 801A1D90) // OS::SetCurrentContext +MKW_GUEST_ADDRESS(801A1ED8, 801A1E38, 801A1DF8) // OS::SaveContext +MKW_GUEST_ADDRESS(801A1F58, 801A1EB8, 801A1E78) // OS::LoadContext +MKW_GUEST_ADDRESS(801A2098, 801A1FF8, 801A1FB8) // OS::ClearContext +MKW_GUEST_ADDRESS(801A20BC, 801A201C, 801A1FDC) // OS::InitContext +MKW_GUEST_ADDRESS(801A25D0, 801A2530, 801A24F0) // OS::Report +MKW_GUEST_ADDRESS(801A2660, 801A25C0, 801A2580) // OS::Panic +MKW_GUEST_ADDRESS(801A4EC4, 801A4E24, 801A4DE4) // OS::Fatal +MKW_GUEST_ADDRESS(801A6000, 801A5F60, 801A5F20) +MKW_GUEST_ADDRESS(801A65AC, 801A650C, 801A64CC) // OS::DisableInterrupts +MKW_GUEST_ADDRESS(801A65C0, 801A6520, 801A64E0) // OS::EnableInterrupts +MKW_GUEST_ADDRESS(801A65D4, 801A6534, 801A64F4) // OS::RestoreInterrupts +MKW_GUEST_ADDRESS(801A65F8, 801A6558, 801A6518) // OS::__SetInterruptHandler +MKW_GUEST_ADDRESS(801A661C, 801A657C, 801A653C) // OS::__InterruptInit +MKW_GUEST_ADDRESS(801A66E0, 801A6640, 801A6600) // SetInterruptMask +MKW_GUEST_ADDRESS(801A693C, 801A689C, 801A685C) // OS::__MaskInterrupts +MKW_GUEST_ADDRESS(801A69BC, 801A691C, 801A68DC) // OS::__UnmaskInterrupts +MKW_GUEST_ADDRESS(801A7000, 801A6F60, 801A6F20) +MKW_GUEST_ADDRESS(801A72FC, 801A725C, 801A721C) // OS::InitMessageQueue +MKW_GUEST_ADDRESS(801A735C, 801A72BC, 801A727C) // OS::SendMessage +MKW_GUEST_ADDRESS(801A7424, 801A7384, 801A7344) // OS::ReceiveMessage +MKW_GUEST_ADDRESS(801A7500, 801A7460, 801A7420) // OS::JamMessage +MKW_GUEST_ADDRESS(801A7DFC, 801A7D5C, 801A7D1C) // OS::__InitMemoryProtection +MKW_GUEST_ADDRESS(801A7EE4, 801A7E44, 801A7E04) // OS::LockMutex +MKW_GUEST_ADDRESS(801A7FC0, 801A7F20, 801A7EE0) // OS::UnlockMutex +MKW_GUEST_ADDRESS(801A8088, 801A7FE8, 801A7FA8) // OS::__UnlockAllMutex +MKW_GUEST_ADDRESS(801A8A50, 801A89B0, 801A8970) // OS::GetResetCode +MKW_GUEST_ADDRESS(801A8A80, 801A89E0, 801A89A0) // OS::ResetSystem +MKW_GUEST_ADDRESS(801A961C, 801A957C, 801A953C) // OS::__ThreadInit +MKW_GUEST_ADDRESS(801A98B0, 801A9810, 801A97D0) // OS::GetCurrentThread +MKW_GUEST_ADDRESS(801A9C08, 801A9B68, 801A9B28) // SelectThread +MKW_GUEST_ADDRESS(801A9E84, 801A9DE4, 801A9DA4) // OS::CreateThread +MKW_GUEST_ADDRESS(801AA0F0, 801AA050, 801AA010) // RVL::OS::ExitThread +MKW_GUEST_ADDRESS(801AA1D4, 801AA134, 801AA0F4) // OS::CancelThread +MKW_GUEST_ADDRESS(801AA3AC, 801AA30C, 801AA2CC) // OS::JoinThread +MKW_GUEST_ADDRESS(801AA4EC, 801AA44C, 801AA40C) // OS::DetachThread +MKW_GUEST_ADDRESS(801AA58C, 801AA4EC, 801AA4AC) // OS::ResumeThread +MKW_GUEST_ADDRESS(801AA6A8, 801AA608, 801AA5C8) +MKW_GUEST_ADDRESS(801AA9B8, 801AA918, 801AA8D8) // OS::SleepThread +MKW_GUEST_ADDRESS(801AAAA4, 801AAA04, 801AA9C4) // OS::WakeupThread +MKW_GUEST_ADDRESS(801AACA8, 801AAC08, 801AABC8) // OS::SleepTicks +MKW_GUEST_ADDRESS(801AAD5C, 801AACBC, 801AAC7C) // OS::GetTime +MKW_GUEST_ADDRESS(801AAD7C, 801AACDC, 801AAC9C) // OS::__GetSystemTime +MKW_GUEST_ADDRESS(801AADE0, 801AAD40, 801AAD00) // OS::__TimeToSystemTime +MKW_GUEST_ADDRESS(801AB75C, 801AB6BC, 801AB67C) // OS::SetPowerCallback +MKW_GUEST_ADDRESS(801AB848, 801AB7A8, 801AB768) // OS::__InitSTM +MKW_GUEST_ADDRESS(801ABC0C, 801ABB6C, 801ABB2C) // OS::__DefaultPowerCallback +MKW_GUEST_ADDRESS(801AD1D4, 801AD134, 801AD0F4) // OS::CheckInstall +MKW_GUEST_ADDRESS(801AE4A0, 801AE400, 801AE3C0) // OS::IsTitleInstalled +MKW_GUEST_ADDRESS(801AE58C, 801AE4EC, 801AE4AC) // exit +MKW_GUEST_ADDRESS(801AF0DC, 801AF03C, 801AEFFC) // PAD::Reset +MKW_GUEST_ADDRESS(801AF1E4, 801AF144, 801AF104) // PAD::Recalibrate +MKW_GUEST_ADDRESS(801AF2F0, 801AF250, 801AF210) // PAD::Init +MKW_GUEST_ADDRESS(801AF44C, 801AF3AC, 801AF36C) // PAD::Read +MKW_GUEST_ADDRESS(801AF908, 801AF868, 801AF828) // PAD::ControlMotor +MKW_GUEST_ADDRESS(801B0220, 801B0180, 801B0140) // SCCheckStatus +MKW_GUEST_ADDRESS(801B1BE4, 801B1B44, 801B1B04) // SCGetAspectRatio +MKW_GUEST_ADDRESS(801B1CAC, 801B1C0C, 801B1BCC) // SCGetEuRgb60Mode +MKW_GUEST_ADDRESS(801B1ED0, 801B1E30, 801B1DF0) +MKW_GUEST_ADDRESS(801B1EDC, 801B1E3C, 801B1DFC) +MKW_GUEST_ADDRESS(801B1EE8, 801B1E48, 801B1E08) +MKW_GUEST_ADDRESS(801B1EF4, 801B1E54, 801B1E14) // SCSetBtCmpDevInfoArray +MKW_GUEST_ADDRESS(801B1F00, 801B1E60, 801B1E20) // SCGetBtDpdSensibility +MKW_GUEST_ADDRESS(801B1F68, 801B1EC8, 801B1E88) // SCGetWpadMotorMode +MKW_GUEST_ADDRESS(801B1FBC, 801B1F1C, 801B1EDC) // SCSetWpadMotorMode +MKW_GUEST_ADDRESS(801B1FC4, 801B1F24, 801B1EE4) // SCGetWpadSensorBarPosition +MKW_GUEST_ADDRESS(801B2018, 801B1F78, 801B1F38) // SCGetWpadSpeakerVolume +MKW_GUEST_ADDRESS(801B206C, 801B1FCC, 801B1F8C) // SCSetWpadSpeakerVolume +MKW_GUEST_ADDRESS(801B23A0, 801B2300, 801B22C0) // SCGetProductArea +MKW_GUEST_ADDRESS(801B2424, 801B2384, 801B2344) // SCGetProductCode +MKW_GUEST_ADDRESS(801B2460, 801B23C0, 801B2380) // SCGetProductSN +MKW_GUEST_ADDRESS(801B24C8, 801B2428, 801B23E8) // SCGetProductGameRegion +MKW_GUEST_ADDRESS(801B2DE0, 801B2D40, 801B2D00) // SIInit +MKW_GUEST_ADDRESS(801B3ACC, 801B3A2C, 801B39EC) // SISetSamplingRate +MKW_GUEST_ADDRESS(801B90F4, 801B9054, 801B9014) // VISetPreRetraceCallback +MKW_GUEST_ADDRESS(801B9138, 801B9098, 801B9058) // VISetPostRetraceCallback +MKW_GUEST_ADDRESS(801B9294, 801B91F4, 801B91B4) // __VIInit +MKW_GUEST_ADDRESS(801B94A4, 801B9404, 801B93C4) // VIInit +MKW_GUEST_ADDRESS(801B9934, 801B9894, 801B9854) // VIInit_caseD_0 +MKW_GUEST_ADDRESS(801B993C, 801B989C, 801B985C) // VIInit_caseD_1 +MKW_GUEST_ADDRESS(801B9944, 801B98A4, 801B9864) // VIInit_caseD_2 +MKW_GUEST_ADDRESS(801B99EC, 801B994C, 801B990C) // VIWaitForRetrace +MKW_GUEST_ADDRESS(801B9F6C, 801B9ECC, 801B9E8C) // VIConfigure +MKW_GUEST_ADDRESS(801BA9A4, 801BA904, 801BA8C4) // VIFlush +MKW_GUEST_ADDRESS(801BAAB8, 801BAA18, 801BA9D8) // VISetNextFrameBuffer +MKW_GUEST_ADDRESS(801BAB24, 801BAA84, 801BAA44) // VIGetNextFrameBuffer +MKW_GUEST_ADDRESS(801BAB2C, 801BAA8C, 801BAA4C) // VISetBlack +MKW_GUEST_ADDRESS(801BABA4, 801BAB04, 801BAAC4) // VIGetRetraceCount +MKW_GUEST_ADDRESS(801BABAC, 801BAB0C, 801BAACC) // VIGetNextField +MKW_GUEST_ADDRESS(801BAC48, 801BABA8, 801BAB68) // VIGetCurrentLine +MKW_GUEST_ADDRESS(801BAD38, 801BAC98, 801BAC58) // VIGetDTVStatus +MKW_GUEST_ADDRESS(801D8D30, 801D8C90, 801D8C50) // NHTTPStartup +MKW_GUEST_ADDRESS(801D9E94, 801D9DF4, 801D9DB4) // NHTTPi_GetSystemInfoP +MKW_GUEST_ADDRESS(8020FF9C, 8020FEFC, 8020FEBC) // EGG::AsyncDisplay::endRender +MKW_GUEST_ADDRESS(80218C2C, 80218B8C, 80218B4C) // EGG::Decomp::decodeSZS +MKW_GUEST_ADDRESS(80219FB4, 80219F14, 80219ED4) // EGG::Display::copyEFBtoXFB +MKW_GUEST_ADDRESS(8021B344, 8021B2A4, 8021B264) // EGG::DrawGX::SetVtxState_switch +MKW_GUEST_ADDRESS(8021B688, 8021B5E8, 8021B5A8) +MKW_GUEST_ADDRESS(8022E2BC, 8022DF38, 8022E1DC) // EGG::LightTexture::SetupTevFinish +MKW_GUEST_ADDRESS(8023BD38, 8023B9B4, 8023BC58) // EGG::ScnRenderer::CreatePath +MKW_GUEST_ADDRESS(8023E53C, 8023E1B8, 8023E45C) // EGG::Screen::SetTVModeDefault +MKW_GUEST_ADDRESS(80242D7C, 80241EC0, 80242C9C) // EGG::TaskThread::Run +MKW_GUEST_ADDRESS(8024373C, 80242880, 8024365C) // EGG::Thread::Run +MKW_GUEST_ADDRESS(80244DE0, 80244D40, 80244D00) +MKW_GUEST_ADDRESS(80244EA0, 80244E00, 80244DC0) +MKW_GUEST_ADDRESS(802574A0, 80257180, 80256E40) +MKW_GUEST_ADDRESS(802574E0, 802571C0, 80256E80) +MKW_GUEST_ADDRESS(80257520, 80257200, 80256EC0) +MKW_GUEST_ADDRESS(80257540, 80257220, 80256EE0) +MKW_GUEST_ADDRESS(8027F820, 8027B4E0, 8027F1C0) +MKW_GUEST_ADDRESS(8029CEB0, 80298B70, 8029C850) +MKW_GUEST_ADDRESS(8029CEF8, 80298BB8, 8029C898) +MKW_GUEST_ADDRESS(802A3EE8, 8029FB80, 802A3888) +MKW_GUEST_ADDRESS(802A3EF4, 8029FB8C, 802A3894) +MKW_GUEST_ADDRESS(802A3F0C, 8029FBA4, 802A38AC) +MKW_GUEST_ADDRESS(802F81A0, 802F3E20, 802F7B20) +MKW_GUEST_ADDRESS(802F8200, 802F3E80, 802F7B80) +MKW_GUEST_ADDRESS(80343230, 8033EEB0, 80342BB0) +MKW_GUEST_ADDRESS(803434E0, 8033F160, 80342E60) +MKW_GUEST_ADDRESS(80343740, 8033F3C0, 803430C0) +MKW_GUEST_ADDRESS(803437C0, 8033F440, 80343140) +MKW_GUEST_ADDRESS(80343DC0, 8033FA40, 80343740) +MKW_GUEST_ADDRESS(80343DE4, 8033FA64, 80343764) +MKW_GUEST_ADDRESS(80344090, 8033FD10, 80343A10) +MKW_GUEST_ADDRESS(80344094, 8033FD14, 80343A14) +MKW_GUEST_ADDRESS(80344098, 8033FD18, 80343A18) +MKW_GUEST_ADDRESS(803440A4, 8033FD24, 80343A24) +MKW_GUEST_ADDRESS(803440A8, 8033FD28, 80343A28) +MKW_GUEST_ADDRESS(803440AC, 8033FD2C, 80343A2C) +MKW_GUEST_ADDRESS(80344110, 8033FD90, 80343A90) +MKW_GUEST_ADDRESS(80344710, 80340390, 80344090) +MKW_GUEST_ADDRESS(80346D20, 803429A0, 803466A0) +MKW_GUEST_ADDRESS(80347130, 80342DB0, 80346AB0) +MKW_GUEST_ADDRESS(80347498, 80343118, 80346E18) +MKW_GUEST_ADDRESS(803477B0, 80343430, 80347130) +MKW_GUEST_ADDRESS(803478B0, 80343530, 80347230) +MKW_GUEST_ADDRESS(80350864, 8034C4E4, 803501E4) +MKW_GUEST_ADDRESS(80350866, 8034C4E6, 803501E6) +MKW_GUEST_ADDRESS(80350872, 8034C4F2, 803501F2) +MKW_GUEST_ADDRESS(8035087C, 8034C4FC, 803501FC) +MKW_GUEST_ADDRESS(80350890, 8034C510, 80350210) +MKW_GUEST_ADDRESS(80385800, 80381480, 80385180) +MKW_GUEST_ADDRESS(80385802, 80381482, 80385182) +MKW_GUEST_ADDRESS(80385804, 80381484, 80385184) +MKW_GUEST_ADDRESS(80385920, 803815A0, 803852A0) // dev/fs_fd +MKW_GUEST_ADDRESS(80385928, 803815A8, 803852A8) +MKW_GUEST_ADDRESS(80385AA8, 80381728, 80385428) +MKW_GUEST_ADDRESS(80385AE0, 80381760, 80385460) +MKW_GUEST_ADDRESS(80386000, 80381C80, 80385980) // SystemManager +MKW_GUEST_ADDRESS(80386298, 80381F18, 80385C18) +MKW_GUEST_ADDRESS(80386448, 803820C8, 80385DC8) +MKW_GUEST_ADDRESS(8038644C, 803820CC, 80385DCC) +MKW_GUEST_ADDRESS(8038647C, 803820FC, 80385DFC) +MKW_GUEST_ADDRESS(80386480, 80382100, 80385E00) +MKW_GUEST_ADDRESS(80386524, 803821A4, 80385EA4) +MKW_GUEST_ADDRESS(80386528, 803821A8, 80385EA8) +MKW_GUEST_ADDRESS(80386608, 80382288, 80385F88) +MKW_GUEST_ADDRESS(80386610, 80382290, 80385F90) +MKW_GUEST_ADDRESS(80386614, 80382294, 80385F94) +MKW_GUEST_ADDRESS(80386618, 80382298, 80385F98) +MKW_GUEST_ADDRESS(8038661C, 8038229C, 80385F9C) +MKW_GUEST_ADDRESS(80386620, 803822A0, 80385FA0) +MKW_GUEST_ADDRESS(80386624, 803822A4, 80385FA4) +MKW_GUEST_ADDRESS(80386664, 803822E4, 80385FE4) +MKW_GUEST_ADDRESS(80386668, 803822E8, 80385FE8) +MKW_GUEST_ADDRESS(80386670, 803822F0, 80385FF0) +MKW_GUEST_ADDRESS(8038667C, 803822FC, 80385FFC) +MKW_GUEST_ADDRESS(803866A0, 80382320, 80386020) +MKW_GUEST_ADDRESS(803866A8, 80382328, 80386028) +MKW_GUEST_ADDRESS(803866F0, 80382370, 80386070) +MKW_GUEST_ADDRESS(80386720, 803823A0, 803860A0) +MKW_GUEST_ADDRESS(80386724, 803823A4, 803860A4) +MKW_GUEST_ADDRESS(80386725, 803823A5, 803860A5) +MKW_GUEST_ADDRESS(80386770, 803823F0, 803860F0) +MKW_GUEST_ADDRESS(80386774, 803823F4, 803860F4) +MKW_GUEST_ADDRESS(8038677C, 803823FC, 803860FC) +MKW_GUEST_ADDRESS(80386780, 80382400, 80386100) +MKW_GUEST_ADDRESS(80386784, 80382404, 80386104) +MKW_GUEST_ADDRESS(803867B0, 80382430, 80386130) +MKW_GUEST_ADDRESS(803867B1, 80382431, 80386131) +MKW_GUEST_ADDRESS(803867C0, 80382440, 80386140) +MKW_GUEST_ADDRESS(803867C4, 80382444, 80386144) +MKW_GUEST_ADDRESS(803867D0, 80382450, 80386150) +MKW_GUEST_ADDRESS(803867D8, 80382458, 80386158) +MKW_GUEST_ADDRESS(803867EC, 8038246C, 8038616C) +MKW_GUEST_ADDRESS(803867F0, 80382470, 80386170) +MKW_GUEST_ADDRESS(80386848, 803824C8, 803861C8) +MKW_GUEST_ADDRESS(803868A0, 80382520, 80386220) +MKW_GUEST_ADDRESS(803868F8, 80382578, 80386278) +MKW_GUEST_ADDRESS(80386918, 80382598, 80386298) +MKW_GUEST_ADDRESS(8038691C, 8038259C, 8038629C) +MKW_GUEST_ADDRESS(80386920, 803825A0, 803862A0) +MKW_GUEST_ADDRESS(80386934, 803825B4, 803862B4) +MKW_GUEST_ADDRESS(80386938, 803825B8, 803862B8) +MKW_GUEST_ADDRESS(8038693C, 803825BC, 803862BC) +MKW_GUEST_ADDRESS(80386940, 803825C0, 803862C0) +MKW_GUEST_ADDRESS(80386948, 803825C8, 803862C8) +MKW_GUEST_ADDRESS(803869E0, 80382660, 80386360) +MKW_GUEST_ADDRESS(80386B38, 803827B8, 803864B8) +MKW_GUEST_ADDRESS(80386B44, 803827C4, 803864C4) +MKW_GUEST_ADDRESS(80386BA0, 80382820, 80386520) +MKW_GUEST_ADDRESS(80386BA8, 80382828, 80386528) +MKW_GUEST_ADDRESS(80386BB4, 80382834, 80386534) +MKW_GUEST_ADDRESS(80386BB8, 80382838, 80386538) +MKW_GUEST_ADDRESS(80386BC0, 80382840, 80386540) +MKW_GUEST_ADDRESS(80386BE4, 80382864, 80386564) +MKW_GUEST_ADDRESS(80386F14, 80382B94, 80386894) +MKW_GUEST_ADDRESS(80386F20, 80382BA0, 803868A0) +MKW_GUEST_ADDRESS(80386F24, 80382BA4, 803868A4) +MKW_GUEST_ADDRESS(80386F60, 80382BD8, 803868E0) +MKW_GUEST_ADDRESS(80388588, 80384208, 80387F08) +MKW_GUEST_ADDRESS(8038858C, 8038420C, 80387F0C) +MKW_GUEST_ADDRESS(803886C8, 80384348, 80388048) +MKW_GUEST_ADDRESS(80388B80, 80384800, 80388500) +MKW_GUEST_ADDRESS(80388BA0, 80384820, 80388520) +MKW_GUEST_ADDRESS(80388BC0, 80384840, 80388540) +MKW_GUEST_ADDRESS(80388BE0, 80384860, 80388560) +MKW_GUEST_ADDRESS(80388DD0, 80384A48, 80388750) +MKW_GUEST_ADDRESS(80388DE0, 80384A58, 80388760) +MKW_GUEST_ADDRESS(80388DF4, 80384A6C, 80388774) +MKW_GUEST_ADDRESS(80529D68, 805258F4, 805296E8) // MovieManager::PrepareAsync +MKW_GUEST_ADDRESS(80550CC0, 8054AD68, 80550640) // THP::PlayerOpen +MKW_GUEST_ADDRESS(80550F48, 8054AFF0, 805508C8) // THP::PlayerClose +MKW_GUEST_ADDRESS(80550F9C, 8054B044, 8055091C) // THP::PlayerCalcNeedMemory +MKW_GUEST_ADDRESS(80551054, 8054B0FC, 805509D4) // THP::PlayerSetBuffer +MKW_GUEST_ADDRESS(80551378, 8054B420, 80550CF8) // THP::PlayerPrepare +MKW_GUEST_ADDRESS(80551658, 8054B700, 80550FD8) // THP::PlayerStop +MKW_GUEST_ADDRESS(80551D38, 8054BDE0, 805516B8) // THP::PlayerGetVideoInfo +MKW_GUEST_ADDRESS(805529A8, 8054CA50, 80552328) // THP::VideoDecoder +MKW_GUEST_ADDRESS(80552A74, 8054CB1C, 805523F4) // THP::VideoDecoderOnMemory +MKW_GUEST_ADDRESS(8055531C, 8054F2FC, 80554C9C) // RelProlog +MKW_GUEST_ADDRESS(805653D0, 80561050, 80564D50) +MKW_GUEST_ADDRESS(8088F400, 8088AFD0, 8088EA6C) +MKW_GUEST_ADDRESS(8088F704, 8088B2D4, 8088ED70) +MKW_GUEST_ADDRESS(8088FDB8, 8088B960, 8088F418) +MKW_GUEST_ADDRESS(808B4C20, 808B0570, 808B3D80) +MKW_GUEST_ADDRESS(809BEBA0, 809BA3E0, 809BDC00) +MKW_GUEST_ADDRESS(809BEBA4, 809BA3E4, 809BDC04) +MKW_GUEST_ADDRESS(809BEBA5, 809BA3E5, 809BDC05) +MKW_GUEST_ADDRESS(809BEBA6, 809BA3E6, 809BDC06) +MKW_GUEST_ADDRESS(809BEBA7, 809BA3E7, 809BDC07) +MKW_GUEST_ADDRESS(809BECF0, 809BA530, 809BDD50) +MKW_GUEST_ADDRESS(809C1830, 809BD070, 809C0890) +MKW_GUEST_ADDRESS(809C183C, 809BD07C, 809C089C) +MKW_GUEST_ADDRESS(809C2898, 809BDC58, 809C18F8) diff --git a/runtime/include/guest_abi/guest_region.h b/runtime/include/guest_abi/guest_region.h new file mode 100644 index 0000000..e21f955 --- /dev/null +++ b/runtime/include/guest_abi/guest_region.h @@ -0,0 +1,137 @@ +#pragma once + +// Guest addresses are named by their PAL (RMCP01) address. Which address that identity has +// depends on the region the game was translated from, which runtime/game supplies at link +// time, so one compiled runtime serves every region. +// +// MKW_GADDR(801A9E84) address of that identity in the running region +// MKW_GADDR_CT(801A9E84) same, as a constant expression; translated code only +// +// A PAL address missing from guest_address_table.inc does not compile; regenerate the table +// with tools/region/gen_guest_address_table.py. + +#include +#include + +namespace GuestRegion { + +enum class Id : uint8_t { + Pal = 0, + NtscU = 1, + NtscJ = 2, +}; +inline constexpr size_t kCount = 3; + +struct Row { + uint32_t address[kCount]; + + constexpr uint32_t In(Id region) const { return address[static_cast(region)]; } +}; + +inline constexpr Row kRows[] = { +#define MKW_GUEST_ADDRESS(pal, ntscU, ntscJ) {{0x##pal##u, 0x##ntscU##u, 0x##ntscJ##u}}, +#include "guest_abi/guest_address_table.inc" +#undef MKW_GUEST_ADDRESS +}; +inline constexpr size_t kRowCount = sizeof(kRows) / sizeof(kRows[0]); + +constexpr bool RowsAreSorted() { + for (size_t i = 1; i < kRowCount; ++i) { + if (kRows[i - 1].address[0] >= kRows[i].address[0]) { + return false; + } + } + return true; +} +static_assert(RowsAreSorted(), "guest_address_table.inc must be sorted by PAL address without duplicates"); + +constexpr const Row* Find(uint32_t pal) { + size_t lo = 0; + size_t hi = kRowCount; + while (lo < hi) { + const size_t mid = lo + (hi - lo) / 2; + if (kRows[mid].address[0] < pal) { + lo = mid + 1; + } else { + hi = mid; + } + } + return lo < kRowCount && kRows[lo].address[0] == pal ? &kRows[lo] : nullptr; +} + +constexpr const Row& RowOf(uint32_t pal) { + return Find(pal) ? *Find(pal) : throw "PAL address missing from guest_abi/guest_address_table.inc"; +} + +} // namespace GuestRegion + +// Defined by runtime/game for the translated region. +extern "C" const uint8_t kMkwGuestRegion; + +namespace GuestRegion { + +inline Id Current() noexcept { return static_cast(kMkwGuestRegion); } + +template +inline uint32_t Address() noexcept { + constexpr Row row = RowOf(Pal); + if constexpr (row.address[1] == Pal && row.address[2] == Pal) { + return Pal; + } else { + return row.In(Current()); + } +} + +// Folds to false at compile time for a constant target that no region uses for Pal. +template +inline bool Is(uint32_t target) noexcept { + constexpr Row row = RowOf(Pal); + return (target == row.address[0] || target == row.address[1] || target == row.address[2]) && + target == row.In(Current()); +} + +[[noreturn]] void FatalUnknownAddress(uint32_t pal) noexcept; + +// For hand-written registrations, which name the PAL address. +inline uint32_t Translate(uint32_t pal) noexcept { + const Id region = Current(); + if (region == Id::Pal) { + return pal; + } + const Row* row = Find(pal); + if (!row) { + FatalUnknownAddress(pal); + } + return row->In(region); +} + +struct Facts { + const char* gameId; + char letter; + uint32_t gameCode; + uint32_t viTvFormat; + uint32_t mem1ArenaLo; + // setting.txt defaults for a new NAND + const char* area; + const char* model; + const char* productCode; + const char* video; + const char* gameRegion; +}; + +inline constexpr Facts kFacts[kCount] = { + {"RMCP01", 'P', 0x524D4350u, 1u, 0x80399180u, "EUR", "RVL-001(EUR)", "LEH", "PAL", "EU"}, + {"RMCE01", 'E', 0x524D4345u, 0u, 0x80394E00u, "USA", "RVL-001(USA)", "LU", "NTSC", "US"}, + {"RMCJ01", 'J', 0x524D434Au, 0u, 0x80398B00u, "JPN", "RVL-001(JPN)", "LJ", "NTSC", "JP"}, +}; + +inline const Facts& CurrentFacts() noexcept { return kFacts[static_cast(Current())]; } + +} // namespace GuestRegion + +#define MKW_GADDR(pal) (::GuestRegion::Address<0x##pal##u>()) + +#if defined(MKW_TRANSLATED_GUEST_REGION) +#define MKW_GADDR_CT(pal) \ + (::GuestRegion::RowOf(0x##pal##u).In(static_cast<::GuestRegion::Id>(MKW_TRANSLATED_GUEST_REGION))) +#endif diff --git a/runtime/include/guest_abi/native_cpu_calls.inc b/runtime/include/guest_abi/native_cpu_calls.inc index 83fa99a..035c608 100644 --- a/runtime/include/guest_abi/native_cpu_calls.inc +++ b/runtime/include/guest_abi/native_cpu_calls.inc @@ -44,56 +44,62 @@ extern "C" void GX__SetBlendMode_8017277c(uint32_t t, uint32_t s, uint32_t d, ui extern "C" void GX__LoadPosMtxImm_8017310c(uint32_t ma, uint32_t id); extern "C" void GX__SetCurrentMtx_80173214(uint32_t id); +// Keyed by the translated region's addresses, so only translated code sees them; +// runtime calls resolve through the registry. +#if defined(MKW_TRANSLATED_GUEST_REGION) + #define MKW_KNOWN_TYPED_NATIVE(addr, fn, ...) \ -template <> struct KnownTypedNativeCpuCall { \ +template <> struct KnownTypedNativeCpuCall { \ static constexpr bool kAvailable = true; \ static void Invoke(CpuContext* cpu) { (void)cpu; fn(__VA_ARGS__); } \ } -MKW_KNOWN_TYPED_NATIVE(0x8016D3A4u, GX__SetVtxDesc_8016d3a4, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x8016DC34u, GX__ClearVtxDesc_8016dc34); -MKW_KNOWN_TYPED_NATIVE(0x8016DC68u, GX__SetVtxAttrFmt_8016dc68, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); -MKW_KNOWN_TYPED_NATIVE(0x8016E37Cu, GX__SetTexCoordGen2_8016e37c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); -MKW_KNOWN_TYPED_NATIVE(0x8016E5A4u, GX__SetNumTexGens_8016e5a4, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x8016EAB0u, GX__DrawDone_8016eab0); -MKW_KNOWN_TYPED_NATIVE(0x8016F0F0u, GX__Begin_8016f0f0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5]); -MKW_KNOWN_TYPED_NATIVE(0x8016F314u, GX__SetLineWidth_8016f314, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x8016F348u, GX__SetPointSize_8016f348, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x8016F3B8u, GX__SetCullMode_8016f3b8, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x8017054Cu, GX__SetNumChans_8017054c, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x80170570u, GX__SetChanCtrl_80170570, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8], cpu->gpr[9]); -MKW_KNOWN_TYPED_NATIVE(0x801707F8u, GX__InitTexObj_801707f8, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8], cpu->gpr[9], cpu->gpr[10]); -MKW_KNOWN_TYPED_NATIVE(0x80170A4Cu, GX__InitTexObjLOD_80170a4c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], static_cast(cpu->fpr[1].d), static_cast(cpu->fpr[2].d), static_cast(cpu->fpr[3].d), cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); -MKW_KNOWN_TYPED_NATIVE(0x80171110u, GX__InvalidateTexAll_80171110); -MKW_KNOWN_TYPED_NATIVE(0x80170F2Cu, GX__LoadTexObj_80170f2c, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80171B38u, GX__SetNumIndStages_80171b38, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x80171B58u, GX__SetTevDirect_80171b58, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x80171CE0u, GX__SetTevColorIn_80171ce0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); -MKW_KNOWN_TYPED_NATIVE(0x80171D20u, GX__SetTevAlphaIn_80171d20, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); -MKW_KNOWN_TYPED_NATIVE(0x80171D60u, GX__SetTevColorOp_80171d60, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); -MKW_KNOWN_TYPED_NATIVE(0x80171DB8u, GX__SetTevAlphaOp_80171db8, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); -MKW_KNOWN_TYPED_NATIVE(0x80171E70u, GX__SetTevColorS10_80171e70, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80171ED4u, GX__SetTevKColor_80171ed4, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80171F30u, GX__SetTevKColorSel_80171f30, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80171F80u, GX__SetTevKAlphaSel_80171f80, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80171FD0u, GX__SetTevSwapMode_80171fd0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5]); -MKW_KNOWN_TYPED_NATIVE(0x8017200Cu, GX__SetTevSwapModeTable_8017200c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); -MKW_KNOWN_TYPED_NATIVE(0x8017214Cu, GX__SetTevOrder_8017214c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6]); -MKW_KNOWN_TYPED_NATIVE(0x801722A8u, GX__SetNumTevStages_801722a8, cpu->gpr[3]); -MKW_KNOWN_TYPED_NATIVE(0x8017277Cu, GX__SetBlendMode_8017277c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6]); -MKW_KNOWN_TYPED_NATIVE(0x8017310Cu, GX__LoadPosMtxImm_8017310c, cpu->gpr[3], cpu->gpr[4]); -MKW_KNOWN_TYPED_NATIVE(0x80173214u, GX__SetCurrentMtx_80173214, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(8016D3A4, GX__SetVtxDesc_8016d3a4, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(8016DC34, GX__ClearVtxDesc_8016dc34); +MKW_KNOWN_TYPED_NATIVE(8016DC68, GX__SetVtxAttrFmt_8016dc68, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); +MKW_KNOWN_TYPED_NATIVE(8016E37C, GX__SetTexCoordGen2_8016e37c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); +MKW_KNOWN_TYPED_NATIVE(8016E5A4, GX__SetNumTexGens_8016e5a4, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(8016EAB0, GX__DrawDone_8016eab0); +MKW_KNOWN_TYPED_NATIVE(8016F0F0, GX__Begin_8016f0f0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5]); +MKW_KNOWN_TYPED_NATIVE(8016F314, GX__SetLineWidth_8016f314, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(8016F348, GX__SetPointSize_8016f348, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(8016F3B8, GX__SetCullMode_8016f3b8, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(8017054C, GX__SetNumChans_8017054c, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(80170570, GX__SetChanCtrl_80170570, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8], cpu->gpr[9]); +MKW_KNOWN_TYPED_NATIVE(801707F8, GX__InitTexObj_801707f8, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8], cpu->gpr[9], cpu->gpr[10]); +MKW_KNOWN_TYPED_NATIVE(80170A4C, GX__InitTexObjLOD_80170a4c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], static_cast(cpu->fpr[1].d), static_cast(cpu->fpr[2].d), static_cast(cpu->fpr[3].d), cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); +MKW_KNOWN_TYPED_NATIVE(80171110, GX__InvalidateTexAll_80171110); +MKW_KNOWN_TYPED_NATIVE(80170F2C, GX__LoadTexObj_80170f2c, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80171B38, GX__SetNumIndStages_80171b38, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(80171B58, GX__SetTevDirect_80171b58, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(80171CE0, GX__SetTevColorIn_80171ce0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); +MKW_KNOWN_TYPED_NATIVE(80171D20, GX__SetTevAlphaIn_80171d20, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); +MKW_KNOWN_TYPED_NATIVE(80171D60, GX__SetTevColorOp_80171d60, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); +MKW_KNOWN_TYPED_NATIVE(80171DB8, GX__SetTevAlphaOp_80171db8, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7], cpu->gpr[8]); +MKW_KNOWN_TYPED_NATIVE(80171E70, GX__SetTevColorS10_80171e70, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80171ED4, GX__SetTevKColor_80171ed4, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80171F30, GX__SetTevKColorSel_80171f30, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80171F80, GX__SetTevKAlphaSel_80171f80, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80171FD0, GX__SetTevSwapMode_80171fd0, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5]); +MKW_KNOWN_TYPED_NATIVE(8017200C, GX__SetTevSwapModeTable_8017200c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6], cpu->gpr[7]); +MKW_KNOWN_TYPED_NATIVE(8017214C, GX__SetTevOrder_8017214c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6]); +MKW_KNOWN_TYPED_NATIVE(801722A8, GX__SetNumTevStages_801722a8, cpu->gpr[3]); +MKW_KNOWN_TYPED_NATIVE(8017277C, GX__SetBlendMode_8017277c, cpu->gpr[3], cpu->gpr[4], cpu->gpr[5], cpu->gpr[6]); +MKW_KNOWN_TYPED_NATIVE(8017310C, GX__LoadPosMtxImm_8017310c, cpu->gpr[3], cpu->gpr[4]); +MKW_KNOWN_TYPED_NATIVE(80173214, GX__SetCurrentMtx_80173214, cpu->gpr[3]); #undef MKW_KNOWN_TYPED_NATIVE #define MKW_KNOWN_NATIVE_CPU_CALL(addr, fn) \ -template <> struct KnownNativeCpuCall { \ +template <> struct KnownNativeCpuCall { \ static constexpr bool kAvailable = true; \ static constexpr uint32_t kNonvolatileFprWriteMask = 0; \ static constexpr void (*Entry)(CpuContext*) = &fn; \ } -MKW_KNOWN_NATIVE_CPU_CALL(0x800847C0u, nw4r__lyt__detail__DrawQuad_800847c0); -MKW_KNOWN_NATIVE_CPU_CALL(0x80084D20u, nw4r__lyt__detail__DrawQuad_80084d20); +MKW_KNOWN_NATIVE_CPU_CALL(800847C0, nw4r__lyt__detail__DrawQuad_800847c0); +MKW_KNOWN_NATIVE_CPU_CALL(80084D20, nw4r__lyt__detail__DrawQuad_80084d20); #undef MKW_KNOWN_NATIVE_CPU_CALL + +#endif diff --git a/runtime/include/guest_function_imports.h b/runtime/include/guest_function_imports.h new file mode 100644 index 0000000..f644f97 --- /dev/null +++ b/runtime/include/guest_function_imports.h @@ -0,0 +1,13 @@ +#pragma once + +// Base translations the runtime calls directly, named by PAL identity. runtime/game binds each +// to the translated region's symbol. +// MKW_GUEST_FUNC(801A0620)(ctx); + +#include "guest_abi/cpu_context.h" + +#define MKW_GUEST_FUNC(pal) (*::mkw_guest_function_##pal) + +#define MKW_GUEST_FUNCTION_IMPORT(pal, ntscU, ntscJ) extern "C" void (*const mkw_guest_function_##pal)(CpuContext*); +#include "guest_function_imports.inc" +#undef MKW_GUEST_FUNCTION_IMPORT diff --git a/runtime/include/guest_function_imports.inc b/runtime/include/guest_function_imports.inc new file mode 100644 index 0000000..e229163 --- /dev/null +++ b/runtime/include/guest_function_imports.inc @@ -0,0 +1,10 @@ +// AUTO-GENERATED by tools/region/gen_guest_address_table.py - DO NOT EDIT. +// Base translations the runtime calls directly: MKW_GUEST_FUNCTION_IMPORT(PAL, NTSC-U, NTSC-J). +MKW_GUEST_FUNCTION_IMPORT(8012B830, 8012B790, 8012B750) // AXFXReverbStdExpCallback +MKW_GUEST_FUNCTION_IMPORT(801A0620, 801A0580, 801A0540) // InsertAlarm +MKW_GUEST_FUNCTION_IMPORT(801A1ED8, 801A1E38, 801A1DF8) // OS::SaveContext +MKW_GUEST_FUNCTION_IMPORT(801A961C, 801A957C, 801A953C) // OS::__ThreadInit +MKW_GUEST_FUNCTION_IMPORT(801AADE0, 801AAD40, 801AAD00) // OS::__TimeToSystemTime +MKW_GUEST_FUNCTION_IMPORT(801D8D30, 801D8C90, 801D8C50) // NHTTPStartup +MKW_GUEST_FUNCTION_IMPORT(801D9E94, 801D9DF4, 801D9DB4) // NHTTPi_GetSystemInfoP +MKW_GUEST_FUNCTION_IMPORT(8055531C, 8054F2FC, 80554C9C) // RelProlog diff --git a/runtime/include/hle_stubs.h b/runtime/include/hle_stubs.h index 92ea526..e3ba175 100644 --- a/runtime/include/hle_stubs.h +++ b/runtime/include/hle_stubs.h @@ -38,10 +38,12 @@ extern "C" void OS_HLE_EndDeferredGuestCallbacks(); // renaming requires updating Translator.Cli/Program.cs, RuntimeNativeGuestEffectAnalyzer.cs, // TranslatedBuildShardEmitter.cs and RuntimeNativeFunctionAbiProvider.cs together. +// addr_hex is the PAL address (see guest_abi/guest_region.h). The translator reads arg_list as +// the guest ABI, so the unused wrapper keeps it checked against the implementation. #define PPC_NATIVE_OVERRIDE(addr_hex, name, ret_type, arg_list, call_list) \ - extern "C" ret_type func_##addr_hex arg_list { return name call_list; } \ + [[maybe_unused]] static ret_type native_signature_##addr_hex arg_list { return name call_list; } \ REGISTER_NATIVE_FUNCTION(0x##addr_hex, name) #define PPC_NATIVE_OVERRIDE_VOID(addr_hex, name, arg_list, call_list) \ - extern "C" void func_##addr_hex arg_list { name call_list; } \ + [[maybe_unused]] static void native_signature_##addr_hex arg_list { name call_list; } \ REGISTER_NATIVE_FUNCTION(0x##addr_hex, name) diff --git a/runtime/include/nand_path.h b/runtime/include/nand_path.h index eb0fda8..b607a9a 100644 --- a/runtime/include/nand_path.h +++ b/runtime/include/nand_path.h @@ -1,6 +1,7 @@ #pragma once #include "runtime_config.h" +#include "guest_abi/guest_region.h" #include "nand_settings.h" #include "runtime_log.h" #include "system_bridge.h" @@ -184,7 +185,9 @@ inline std::filesystem::path DiscoverNandRootPath() { static const auto root = [] { const auto resolved = ResolveNandRootPath(); std::string error; - if (!RuntimeNandSettings::Ensure(resolved, error)) { + const auto& facts = ::GuestRegion::CurrentFacts(); + if (!RuntimeNandSettings::Ensure(resolved, error, + {facts.area, facts.model, facts.productCode, facts.video, facts.gameRegion})) { FailNandRoot(error.c_str(), RuntimeNandSettings::FilePath(resolved)); } return resolved; diff --git a/runtime/include/nand_settings.h b/runtime/include/nand_settings.h index 055f4c2..fd48dce 100644 --- a/runtime/include/nand_settings.h +++ b/runtime/include/nand_settings.h @@ -88,10 +88,20 @@ inline std::string GenerateSerial(std::time_t now) { return std::string(9 - digits.size(), '0') + digits; } -// This recompilation targets the European disc. These are Dolphin's PAL boot -// defaults; an existing setting.txt always takes precedence, in every region. -inline std::optional> EncodeNew(const std::string& serial) { - const Settings identity{{"SERNO", serial}, {"CODE", "LEH"}, {"AREA", "EUR"}, {"GAME", "EU"}}; +// Console identity for a new setting.txt; Dolphin's boot defaults for the game's region. +struct BootDefaults { + std::string area = "EUR"; + std::string model = "RVL-001(EUR)"; + std::string code = "LEH"; + std::string video = "PAL"; + std::string game = "EU"; +}; + +// An existing setting.txt always takes precedence, in every region. +inline std::optional> EncodeNew( + const std::string& serial, + const BootDefaults& defaults = BootDefaults{}) { + const Settings identity{{"SERNO", serial}, {"CODE", defaults.code}, {"AREA", defaults.area}, {"GAME", defaults.game}}; if (!HasIdentity(identity)) { return std::nullopt; } @@ -102,9 +112,15 @@ inline std::optional> EncodeNew(const std::string& seri bytes[position++] = static_cast(value) ^ static_cast(key); key = (key << 1) | (key >> 31); }; - for (const std::string& line : {std::string("AREA=EUR\r\n"), std::string("MODEL=RVL-001(EUR)\r\n"), - std::string("DVD=0\r\n"), std::string("MPCH=0x7FFE\r\n"), std::string("CODE=LEH\r\n"), - "SERNO=" + serial + "\r\n", std::string("VIDEO=PAL\r\n"), std::string("GAME=EU\r\n")}) { + for (const std::string& line : { + "AREA=" + defaults.area + "\r\n", + "MODEL=" + defaults.model + "\r\n", + std::string("DVD=0\r\n"), + std::string("MPCH=0x7FFE\r\n"), + "CODE=" + defaults.code + "\r\n", + "SERNO=" + serial + "\r\n", + "VIDEO=" + defaults.video + "\r\n", + "GAME=" + defaults.game + "\r\n"}) { for (;;) { if (position + line.size() > bytes.size()) { return std::nullopt; @@ -146,6 +162,7 @@ inline std::optional CreateScratchDirectory( // Never replace an existing file, including an unreadable or damaged one. // Publish a complete file atomically so simultaneous launches use one identity. inline bool Ensure(const std::filesystem::path& root, std::string& error, + const BootDefaults& defaults, std::time_t now = std::time(nullptr)) { const auto path = FilePath(root); std::error_code ec; @@ -163,7 +180,7 @@ inline bool Ensure(const std::filesystem::path& root, std::string& error, return false; } - const auto bytes = EncodeNew(GenerateSerial(now)); + const auto bytes = EncodeNew(GenerateSerial(now), defaults); if (!bytes) { error = "Cannot initialize NAND settings: invalid system clock"; return false; diff --git a/runtime/src/dynamic_aspect.cpp b/runtime/src/dynamic_aspect.cpp index 693f8a7..2646e0f 100644 --- a/runtime/src/dynamic_aspect.cpp +++ b/runtime/src/dynamic_aspect.cpp @@ -24,29 +24,29 @@ uint32_t g_lastEggWidth169 = 0; // EGG::Screen's static canvas records (PAL). See gx_dynamic_aspect.h for the // record layout and the anamorphic presentation model. -constexpr uint32_t kEggScreenRecord43 = 0x802A3EE8u; -constexpr uint32_t kEggScreenRecord169 = 0x802A3EF4u; -constexpr uint32_t kEggActiveScreenPtr = 0x80386F14u; +const uint32_t kEggScreenRecord43 = MKW_GADDR(802A3EE8); +const uint32_t kEggScreenRecord169 = MKW_GADDR(802A3EF4); +const uint32_t kEggActiveScreenPtr = MKW_GADDR(80386F14); -constexpr uint32_t kEggScreenProjScaleX = 0x80386F20u; -constexpr uint32_t kEggScreenProjScaleY = 0x80386F24u; +const uint32_t kEggScreenProjScaleX = MKW_GADDR(80386F20); +const uint32_t kEggScreenProjScaleY = MKW_GADDR(80386F24); -constexpr uint32_t kEggScreenAspectHandler = 0x8023E53Cu; +const uint32_t kEggScreenAspectHandler = MKW_GADDR(8023E53C); -constexpr uint32_t kMkwUpdateAllScreens = 0x805653D0u; -constexpr uint32_t kMkwGfxDrawList = 0x809C1830u; -constexpr uint32_t kSystemManagerInstance = 0x80386000u; +const uint32_t kMkwUpdateAllScreens = MKW_GADDR(805653D0); +const uint32_t kMkwGfxDrawList = MKW_GADDR(809C1830); +const uint32_t kSystemManagerInstance = MKW_GADDR(80386000); // The draw list is an nw4r::ut::List: +0x00 head, +0x04 tail, +0x08 u16 count, // +0x0A u16 link offset, with next = *(node + linkOffset + 4) (List_GetNext, // 0x800AF180). constexpr uint32_t kMkwGfxDrawListLinkOffset = 0x0Au; -constexpr uint32_t kMkwGfxOffscreenList = 0x809C183Cu; +const uint32_t kMkwGfxOffscreenList = MKW_GADDR(809C183C); constexpr uint32_t kMkwGfxOffscreenNodeScreenSlot = 0x10u; constexpr uint32_t kEggScreenVTableOffset = 0x38u; -constexpr uint32_t kEggScreenVTable = 0x802A3F0Cu; -constexpr uint32_t kMkwScreenVTable = 0x808B4C20u; +const uint32_t kEggScreenVTable = MKW_GADDR(802A3F0C); +const uint32_t kMkwScreenVTable = MKW_GADDR(808B4C20); constexpr uint32_t kEggScreenFlagsOffset = 0x34u; constexpr uint16_t kEggScreenFlagFramebufferCanvas = 0x0008u; constexpr uint16_t kEggScreenFlagKeepFrustumScale = 0x0040u; diff --git a/runtime/src/fiber_manager.cpp b/runtime/src/fiber_manager.cpp index 9eee67c..87fb7c5 100644 --- a/runtime/src/fiber_manager.cpp +++ b/runtime/src/fiber_manager.cpp @@ -46,10 +46,10 @@ std::atomic g_viRetracePendingCount{0}; namespace { constexpr uint32_t kOSCurrentContextAddr = 0x800000d4u; constexpr uint32_t kOSRunningContextAddr = 0x800000e4u; // OSGetCurrentThread reads this -constexpr uint32_t kThreadQueueArrayAddr = 0x803477b0u; -constexpr uint32_t kSchedulerPendingFlagAddr = 0x80386920u; -constexpr uint32_t kSchedulerReschedCounterAddr = 0x8038691cu; -constexpr uint32_t kSchedulerIdleFlagAddr = 0x80386918u; +const uint32_t kThreadQueueArrayAddr = MKW_GADDR(803477b0); +const uint32_t kSchedulerPendingFlagAddr = MKW_GADDR(80386920); +const uint32_t kSchedulerReschedCounterAddr = MKW_GADDR(8038691c); +const uint32_t kSchedulerIdleFlagAddr = MKW_GADDR(80386918); // OSThread structure offsets constexpr uint32_t kThreadStateOffset = 0x2C8u; @@ -584,7 +584,7 @@ void GuestFiberManager::FiberProc(void* param) CpuContextScope scope(cpu); int startDeferAttempts = 0; - while (entryPoint == 0x8024373c) { // EGG::Thread::start + while (entryPoint == MKW_GADDR(8024373c)) { // EGG::Thread::start uint32_t vtable = 0; uint32_t startFn = 0; try { diff --git a/runtime/src/guest_region.cpp b/runtime/src/guest_region.cpp new file mode 100644 index 0000000..d1ee90f --- /dev/null +++ b/runtime/src/guest_region.cpp @@ -0,0 +1,15 @@ +#include "guest_abi/guest_region.h" + +#include +#include + +namespace GuestRegion { + +void FatalUnknownAddress(uint32_t pal) noexcept { + std::fprintf(stderr, "Guest region: PAL address 0x%08X has no %s address in guest_address_table.inc\n", + pal, CurrentFacts().gameId); + std::fflush(stderr); + std::abort(); +} + +} // namespace GuestRegion diff --git a/runtime/src/hle/audio/audio.cpp b/runtime/src/hle/audio/audio.cpp index b419fa4..fd19215 100644 --- a/runtime/src/hle/audio/audio.cpp +++ b/runtime/src/hle/audio/audio.cpp @@ -21,10 +21,10 @@ namespace { constexpr uint32_t kDefaultSampleRate = 32000u; constexpr uint32_t kAudioChannels = 2u; constexpr uint32_t kBytesPerSample = 2u; -constexpr uint32_t kAIInitializedAddr = 0x80386448u; -constexpr uint32_t kAICallbackBusyAddr = 0x8038644Cu; -constexpr uint32_t kAICallbackStackSwitchAddr = 0x8038647Cu; -constexpr uint32_t kAIDmaCallbackAddr = 0x80386480u; +const uint32_t kAIInitializedAddr = MKW_GADDR(80386448); +const uint32_t kAICallbackBusyAddr = MKW_GADDR(8038644C); +const uint32_t kAICallbackStackSwitchAddr = MKW_GADDR(8038647C); +const uint32_t kAIDmaCallbackAddr = MKW_GADDR(80386480); // Max completed 3 ms DMA blocks delivered per tick. Draining several at once catches up // backlog from a long frame without letting a large stall spiral into an unbounded loop. diff --git a/runtime/src/hle/audio/ax_effects.cpp b/runtime/src/hle/audio/ax_effects.cpp index a30a4ac..ade28b5 100644 --- a/runtime/src/hle/audio/ax_effects.cpp +++ b/runtime/src/hle/audio/ax_effects.cpp @@ -3,6 +3,7 @@ #include "hle_stubs.h" #include "memory.h" #include "ppc_runtime.h" +#include "guest_function_imports.h" #include #include @@ -10,8 +11,6 @@ #include -extern "C" void func_8012B830(CpuContext* ctx); - #if defined(__clang__) // PowerPC uses discrete fmuls/fadds; a fused multiply-add would change sample rounding. #pragma clang fp contract(off) @@ -24,8 +23,8 @@ constexpr uint32_t kSamplesPerFrame = 96; constexpr uint32_t kChannels = 3; // .sdata2 constants the guest function loads through r2. -constexpr uint32_t kOneConstantAddr = 0x80388588u; // 1.0f -constexpr uint32_t kScaleConstantAddr = 0x8038858Cu; // 0.6f send pre-scale +const uint32_t kOneConstantAddr = MKW_GADDR(80388588); // 1.0f +const uint32_t kScaleConstantAddr = MKW_GADDR(8038858C); // 0.6f send pre-scale // AXFX_REVERBSTD_EXP field offsets (byte offsets into the struct in r4). constexpr uint32_t kFieldPreDelayCoef = 0x18; @@ -346,7 +345,7 @@ extern "C" void AXFXReverbStdExpCallback_8012b830(CpuContext* ctx) { try { flags = Memory::Read32(stateAddr + ReverbStd::kFieldFlags); } catch (const Memory::AccessViolation&) { - func_8012B830(ctx); + MKW_GUEST_FUNC(8012B830)(ctx); return; } if (flags != 0) { @@ -364,7 +363,7 @@ extern "C" void AXFXReverbStdExpCallback_8012b830(CpuContext* ctx) { built = false; } if (!built) { - func_8012B830(ctx); + MKW_GUEST_FUNC(8012B830)(ctx); return; } diff --git a/runtime/src/hle/audio/ax_internal.h b/runtime/src/hle/audio/ax_internal.h index 734d9ee..ab1ac55 100644 --- a/runtime/src/hle/audio/ax_internal.h +++ b/runtime/src/hle/audio/ax_internal.h @@ -4,6 +4,7 @@ // Hot accessors stay header-inline because the shipped build links runtime shards without LTO. #include "isa/big_endian.h" +#include "guest_abi/guest_region.h" #include "memory.h" #include @@ -31,21 +32,21 @@ constexpr uint32_t kMailReset = kTaskMailToDsp | 0x0002u; constexpr size_t kResamplingCoefficientCount = 0x800; constexpr uint32_t kMailContinue = kTaskMailToDsp | 0x0003u; constexpr uint32_t kAxSamplesPerFrame = 96u; -constexpr uint32_t kAxDspTaskAddr = 0x802F81A0u; -constexpr uint32_t kDspInitializedAddr = 0x80386608u; -constexpr uint32_t kDspAssertPendingAddr = 0x80386610u; -constexpr uint32_t kDspAssertTaskAddr = 0x80386614u; -constexpr uint32_t kDspCurrentTaskAddr = 0x8038661Cu; -constexpr uint32_t kDspFirstTaskAddr = 0x80386620u; -constexpr uint32_t kDspRunningTaskAddr = 0x80386624u; -constexpr uint32_t kAxIramMmemAddr = 0x8027F820u; -constexpr uint32_t kAxDramMmemAddr = 0x802F8200u; +const uint32_t kAxDspTaskAddr = MKW_GADDR(802F81A0); +const uint32_t kDspInitializedAddr = MKW_GADDR(80386608); +const uint32_t kDspAssertPendingAddr = MKW_GADDR(80386610); +const uint32_t kDspAssertTaskAddr = MKW_GADDR(80386614); +const uint32_t kDspCurrentTaskAddr = MKW_GADDR(8038661C); +const uint32_t kDspFirstTaskAddr = MKW_GADDR(80386620); +const uint32_t kDspRunningTaskAddr = MKW_GADDR(80386624); +const uint32_t kAxIramMmemAddr = MKW_GADDR(8027F820); +const uint32_t kAxDramMmemAddr = MKW_GADDR(802F8200); constexpr uint32_t kAxDramLength = 64u; constexpr uint32_t kAxDramDspAddr = 3282u; -constexpr uint32_t kAxInitCallback = 0x80126948u; -constexpr uint32_t kAxResumeCallback = 0x80126954u; -constexpr uint32_t kAxDoneCallback = 0x801269A8u; -constexpr uint32_t kAxRequestCallback = 0x801269B8u; +const uint32_t kAxInitCallback = MKW_GADDR(80126948); +const uint32_t kAxResumeCallback = MKW_GADDR(80126954); +const uint32_t kAxDoneCallback = MKW_GADDR(801269A8); +const uint32_t kAxRequestCallback = MKW_GADDR(801269B8); extern uint32_t g_axTaskPtr; diff --git a/runtime/src/hle/audio/ax_memory.cpp b/runtime/src/hle/audio/ax_memory.cpp index 588e525..4ac3358 100644 --- a/runtime/src/hle/audio/ax_memory.cpp +++ b/runtime/src/hle/audio/ax_memory.cpp @@ -68,7 +68,7 @@ void MarkDspInitialized() { void ResetDspTaskGlobals() { Memory::TryWrite32(kDspAssertPendingAddr, 0); Memory::TryWrite32(kDspAssertTaskAddr, 0); - Memory::TryWrite32(0x80386618u, 0); + Memory::TryWrite32(MKW_GADDR(80386618), 0); Memory::TryWrite32(kDspCurrentTaskAddr, 0); Memory::TryWrite32(kDspFirstTaskAddr, 0); Memory::TryWrite32(kDspRunningTaskAddr, 0); diff --git a/runtime/src/hle/audio/ax_mix.cpp b/runtime/src/hle/audio/ax_mix.cpp index 1e34694..c110c6c 100644 --- a/runtime/src/hle/audio/ax_mix.cpp +++ b/runtime/src/hle/audio/ax_mix.cpp @@ -1475,19 +1475,15 @@ void InitForAXOut(CpuContext* ctx) { Memory::Write32(g_axTaskPtr + 0x2cu, kAxResumeCallback); Memory::Write32(g_axTaskPtr + 0x30u, kAxDoneCallback); Memory::Write32(g_axTaskPtr + 0x34u, kAxRequestCallback); - if (ctx) { - const uint32_t r13 = ctx->gpr[13]; - Memory::Write32(g_axTaskPtr + 0x10u, Memory::Read16(r13 - 0x73fcu)); - Memory::Write16(g_axTaskPtr + 0x24u, Memory::Read16(r13 - 0x7400u)); - Memory::Write16(g_axTaskPtr + 0x26u, Memory::Read16(r13 - 0x73feu)); - } + // __AXOutInitDSP's ucode length and DSP init/resume vectors, then its two flags. + (void)ctx; + Memory::Write32(g_axTaskPtr + 0x10u, Memory::Read16(MKW_GADDR(80385804))); + Memory::Write16(g_axTaskPtr + 0x24u, Memory::Read16(MKW_GADDR(80385800))); + Memory::Write16(g_axTaskPtr + 0x26u, Memory::Read16(MKW_GADDR(80385802))); Instance().ConfigureFromTask(g_axTaskPtr); LinkSingleDspTask(g_axTaskPtr); - if (ctx) { - const uint32_t r13 = ctx->gpr[13]; - Memory::Write32(r13 - 0x66d8u, 1); - Memory::Write32(r13 - 0x66dcu, 0); - } + Memory::Write32(MKW_GADDR(80386528), 1); + Memory::Write32(MKW_GADDR(80386524), 0); } void Stop() { diff --git a/runtime/src/hle/esp.cpp b/runtime/src/hle/esp.cpp index 1211ea6..f8c4caa 100644 --- a/runtime/src/hle/esp.cpp +++ b/runtime/src/hle/esp.cpp @@ -12,7 +12,6 @@ #include static constexpr uint32_t MKW_TITLE_ID_HI = 0x00010004; -static constexpr uint32_t MKW_TITLE_ID_LO = 0x524D4350; // "RMCP" fallback static bool IsValidEspTitleCode(uint32_t code) { for (int shift = 24; shift >= 0; shift -= 8) { @@ -32,7 +31,7 @@ static uint32_t CurrentTitleIdLo() { } } - return MKW_TITLE_ID_LO; + return ::GuestRegion::CurrentFacts().gameCode; } // The guest asked for its title ID or data directory through a pointer we cannot diff --git a/runtime/src/hle/gx/gx_egg.cpp b/runtime/src/hle/gx/gx_egg.cpp index 4512ebe..c5d254f 100644 --- a/runtime/src/hle/gx/gx_egg.cpp +++ b/runtime/src/hle/gx/gx_egg.cpp @@ -22,8 +22,8 @@ static void EGG__DrawGX__SetVtxState_HLE(uint32_t state) { case 0: setFmt(GX_VA_POS, GX_POS_XYZ, GX_S16, 0xE); setFmt(GX_VA_NRM, GX_NRM_XYZ, GX_S16, 0xE); - setArray(GX_VA_POS, 0x802574a0u, 6); - setArray(GX_VA_NRM, 0x802574e0u, 6); + setArray(GX_VA_POS, MKW_GADDR(802574a0), 6); + setArray(GX_VA_NRM, MKW_GADDR(802574e0), 6); setDesc(GX_VA_POS, GX_INDEX8); setDesc(GX_VA_NRM, GX_INDEX8); break; @@ -45,22 +45,22 @@ static void EGG__DrawGX__SetVtxState_HLE(uint32_t state) { if (state == 7) setDesc(GX_VA_TEX0, GX_DIRECT); setFmt(GX_VA_POS, GX_POS_XY, GX_S16, 0xE); setFmt(GX_VA_NRM, GX_NRM_XYZ, GX_S16, 0xE); if (state == 7) setFmt(GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - setArray(GX_VA_POS, 0x80257520u, 4); setArray(GX_VA_NRM, 0x80388b80u, 6); + setArray(GX_VA_POS, MKW_GADDR(80257520), 4); setArray(GX_VA_NRM, MKW_GADDR(80388b80), 6); break; case 9: setDesc(GX_VA_POS, GX_INDEX8); setDesc(GX_VA_NRM, GX_INDEX8); setDesc(GX_VA_TEX0, GX_DIRECT); setFmt(GX_VA_POS, GX_POS_XYZ, GX_S16, 0xE); setFmt(GX_VA_NRM, GX_NRM_XYZ, GX_S16, 0xE); setFmt(GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); - setArray(GX_VA_POS, 0x80257540u, 6); setArray(GX_VA_NRM, 0x80388ba0u, 6); + setArray(GX_VA_POS, MKW_GADDR(80257540), 6); setArray(GX_VA_NRM, MKW_GADDR(80388ba0), 6); break; case 10: case 11: case 12: case 13: { const bool useAltPos = (state == 11 || state == 13); const bool useTex = (state == 10 || state == 11); setDesc(GX_VA_POS, GX_INDEX8); if (useTex) setDesc(GX_VA_TEX0, GX_INDEX8); - const uint32_t posBase = useAltPos ? 0x80388be0u : 0x80388bc0u; + const uint32_t posBase = useAltPos ? MKW_GADDR(80388be0) : MKW_GADDR(80388bc0); setArray(GX_VA_POS, posBase, 2); - if (useTex) setArray(GX_VA_TEX0, 0x80388be0u, 2); + if (useTex) setArray(GX_VA_TEX0, MKW_GADDR(80388be0), 2); setFmt(GX_VA_POS, GX_POS_XY, GX_U8, 0); if (useTex) setFmt(GX_VA_TEX0, GX_TEX_ST, GX_U8, 0); break; @@ -88,9 +88,13 @@ extern "C" void EGG__LightTexture__SetupTevFinish_HLE_8022e2bc(CpuContext* ctx) ++remainder; } + const uint32_t kFogOriginDefault = MKW_GADDR(80388DD0); + const uint32_t kFogOriginMode2 = MKW_GADDR(80388DF4); + const uint32_t kFogSpan = MKW_GADDR(80388DE0); const uint32_t mode = Memory::Read32(self + 0x44); - const float origin = Memory::ReadFloat32(ctx->gpr[2] + ((mode == 2) ? -25004 : -25040)); - const float span = Memory::ReadFloat32(ctx->gpr[2] + -25024); + const float origin = + Memory::ReadFloat32((mode == 2) ? kFogOriginMode2 : kFogOriginDefault); + const float span = Memory::ReadFloat32(kFogSpan); const float end = static_cast(origin + span); const float lower = static_cast(origin - span); @@ -117,8 +121,8 @@ PPC_NATIVE_OVERRIDE_VOID(8022e2bc, EGG__LightTexture__SetupTevFinish_HLE_8022e2b // ============================================================================ extern "C" void EGG__AsyncDisplay__endRender_HLE_8020ff9c(CpuContext* ctx) { - uint32_t p = ctx->gpr[3]; ctx->gpr[3] = p; ctx->lr = 0x8020FF9C; - InvokeIndirectCpu(0x80219FB4u, ctx); - InvokeIndirectCpu(0x8016ED50u, ctx); + uint32_t p = ctx->gpr[3]; ctx->gpr[3] = p; ctx->lr = MKW_GADDR(8020FF9C); + InvokeIndirectCpu(MKW_GADDR(80219FB4), ctx); + InvokeIndirectCpu(MKW_GADDR(8016ED50), ctx); } PPC_NATIVE_OVERRIDE_VOID(8020FF9C, EGG__AsyncDisplay__endRender_HLE_8020ff9c, (CpuContext* ctx), (ctx)); diff --git a/runtime/src/hle/gx/gx_fatal_stubs.cpp b/runtime/src/hle/gx/gx_fatal_stubs.cpp index 42ca4e5..0baaa0f 100644 --- a/runtime/src/hle/gx/gx_fatal_stubs.cpp +++ b/runtime/src/hle/gx/gx_fatal_stubs.cpp @@ -28,7 +28,7 @@ namespace { // index sees the literal PPC_NATIVE_OVERRIDE_VOID invocation. Hiding it inside // this macro would leave the index unable to associate an address with the stub. #define GX_FATAL_STUB(addr, sym) \ - extern "C" void gx_stub_##addr(CpuContext* ctx) { (void)ctx; HaltGX(0x##addr, sym); } + extern "C" void gx_stub_##addr(CpuContext* ctx) { (void)ctx; HaltGX(MKW_GADDR(addr), sym); } GX_FATAL_STUB(8016b49c, "__GX__DefaultTexRegionCallback_8016b49c") PPC_NATIVE_OVERRIDE_VOID(8016b49c, gx_stub_8016b49c, (CpuContext* ctx), (ctx)); GX_FATAL_STUB(8016b590, "__GX__DefaultTlutRegionCallback_8016b590") PPC_NATIVE_OVERRIDE_VOID(8016b590, gx_stub_8016b590, (CpuContext* ctx), (ctx)); diff --git a/runtime/src/hle/gx/gx_init.cpp b/runtime/src/hle/gx/gx_init.cpp index 4ab16fc..edf6f9c 100644 --- a/runtime/src/hle/gx/gx_init.cpp +++ b/runtime/src/hle/gx/gx_init.cpp @@ -25,8 +25,8 @@ extern "C" GXFifoObj* GXInit(void* base, u32 size); extern "C" uint32_t GX__Init_8016b850(uint32_t fifoBase, uint32_t fifoSize) { GX_SYNC_INLINE(); - constexpr uint32_t kFifoObjAddr = 0x80343740u; - constexpr uint32_t kGXDataAddr = 0x803437C0u; + const uint32_t kFifoObjAddr = MKW_GADDR(80343740); + const uint32_t kGXDataAddr = MKW_GADDR(803437C0); constexpr uint32_t kGXDataSize = 0x600u; GXInit(GuestToHostPtr(fifoBase, fifoSize), fifoSize); @@ -78,7 +78,6 @@ extern "C" uint32_t GX__Init_8016b850(uint32_t fifoBase, uint32_t fifoSize) } catch (...) {} __GX__SetTmemConfig_80171458(2); - RT_LOGF(RT_TAG_GX, "GX initialized, FIFO at 0x%08X (base=0x%08X size=0x%08X)\n", kFifoObjAddr, fifoBase, fifoSize); @@ -108,14 +107,14 @@ extern "C" void __GX__FifoInit_8016d180() { constexpr uint32_t kCpInterruptId = 0x11u; constexpr uint32_t kCpInterruptMask = 0x4000u; - constexpr uint32_t kCpInterruptHandlerAddr = 0x8016c668u; - constexpr uint32_t kGxCurrentThreadPtrAddr = 0x803867c4u; - constexpr uint32_t kGxThreadQueueAddr = 0x803867c0u; - constexpr uint32_t kCpuFifoObjAddr = 0x80343de4u; - constexpr uint32_t kGpFifoObjAddr = 0x80343dc0u; + const uint32_t kCpInterruptHandlerAddr = MKW_GADDR(8016c668); + const uint32_t kGxCurrentThreadPtrAddr = MKW_GADDR(803867c4); + const uint32_t kGxThreadQueueAddr = MKW_GADDR(803867c0); + const uint32_t kCpuFifoObjAddr = MKW_GADDR(80343de4); + const uint32_t kGpFifoObjAddr = MKW_GADDR(80343dc0); constexpr size_t kFifoObjSize = 0x24u; - constexpr uint32_t kFifoWrapFlagAddr = 0x803867b0u; - constexpr uint32_t kFifoWrapFlag2Addr = 0x803867b1u; + const uint32_t kFifoWrapFlagAddr = MKW_GADDR(803867b0); + const uint32_t kFifoWrapFlag2Addr = MKW_GADDR(803867b1); __OSSetInterruptHandler_801a65f8_hle(kCpInterruptId, kCpInterruptHandlerAddr); __OSUnmaskInterrupts_801a69bc_hle(kCpInterruptMask); @@ -143,9 +142,9 @@ extern "C" void __GX__PEInit_8016ee14() constexpr uint32_t kPeFinishInterruptId = 0x13u; constexpr uint32_t kPeTokenInterruptMask = 0x1000u; constexpr uint32_t kPeFinishInterruptMask = 0x2000u; - constexpr uint32_t kPeTokenHandlerAddr = 0x8016eccc; - constexpr uint32_t kPeFinishHandlerAddr = 0x8016ed94; - constexpr uint32_t kPeThreadQueueAddr = 0x803867d0u; + const uint32_t kPeTokenHandlerAddr = MKW_GADDR(8016eccc); + const uint32_t kPeFinishHandlerAddr = MKW_GADDR(8016ed94); + const uint32_t kPeThreadQueueAddr = MKW_GADDR(803867d0); __OSSetInterruptHandler_801a65f8_hle(kPeTokenInterruptId, kPeTokenHandlerAddr); __OSSetInterruptHandler_801a65f8_hle(kPeFinishInterruptId, kPeFinishHandlerAddr); @@ -181,20 +180,20 @@ extern "C" void GX__BeginDisplayList_80172e00(uint32_t la, uint32_t s) { uint32_t gd = Memory::Read32(kGXDataPtrAddr); if (!gd) return; if (Memory::Read32(gd + 0x5FCu)) GX__SetDirtyState_8016ee78(); - if (Memory::Read8(gd + 0x5F9u)) std::memcpy(Memory::GetPointer(0x80344110, 0x600), Memory::GetPointer(gd, 0x600), 0x600); - Memory::Write32(0x80344094, la + s - 4u); - Memory::Write32(0x803440AC, 0); - Memory::Write32(0x80344090, la); - Memory::Write32(0x80344098, s); - Memory::Write32(0x803440A4, la); - Memory::Write32(0x803440A8, la); + if (Memory::Read8(gd + 0x5F9u)) std::memcpy(Memory::GetPointer(MKW_GADDR(80344110), 0x600), Memory::GetPointer(gd, 0x600), 0x600); + Memory::Write32(MKW_GADDR(80344094), la + s - 4u); + Memory::Write32(MKW_GADDR(803440AC), 0); + Memory::Write32(MKW_GADDR(80344090), la); + Memory::Write32(MKW_GADDR(80344098), s); + Memory::Write32(MKW_GADDR(803440A4), la); + Memory::Write32(MKW_GADDR(803440A8), la); Memory::Write8(gd + 0x5F8u, 1u); // Mirror the guest fifo-object fields the FIFO write path consumes so // HleFifoWrite never has to read them back out of guest memory. BeginDisplayListRecording(la, s); GXFlush(); - GX__GetCPUFifo_8016cf10(0x80344710); - GX__SetCPUFifo_8016c94c(0x80344090); + GX__GetCPUFifo_8016cf10(MKW_GADDR(80344710)); + GX__SetCPUFifo_8016c94c(MKW_GADDR(80344090)); } catch (...) {} } PPC_NATIVE_OVERRIDE_VOID(80172e00, GX__BeginDisplayList_80172e00, (uint32_t la, uint32_t s), (la, s)); @@ -209,9 +208,9 @@ static void EndDisplayListInline() { extern "C" uint32_t GX__EndDisplayList_80172eb4() { try { GXFlush(); - GX__GetCPUFifo_8016cf10(0x80344090); + GX__GetCPUFifo_8016cf10(MKW_GADDR(80344090)); const uint8_t wrapped = Memory::Read8(kDlFifoAddr + kDlWrapFlagOffset); - GX__SetCPUFifo_8016c94c(0x80344710); + GX__SetCPUFifo_8016c94c(MKW_GADDR(80344710)); const uint32_t gd = Memory::Read32(kGXDataPtrAddr); if (gd) { @@ -219,7 +218,7 @@ extern "C" uint32_t GX__EndDisplayList_80172eb4() { const int32_t interruptLevel = OS__DisableInterrupts_801a65ac(); const uint32_t savedWord8 = Memory::Read32(gd + 0x08u); std::memcpy(Memory::GetPointer(gd, 0x600), - Memory::GetPointer(0x80344110, 0x600), + Memory::GetPointer(MKW_GADDR(80344110), 0x600), 0x600); Memory::Write32(gd + 0x08u, savedWord8); OS__RestoreInterrupts_801a65d4(interruptLevel); diff --git a/runtime/src/hle/gx/gx_internal.h b/runtime/src/hle/gx/gx_internal.h index 149f776..b8270a9 100644 --- a/runtime/src/hle/gx/gx_internal.h +++ b/runtime/src/hle/gx/gx_internal.h @@ -1,6 +1,7 @@ #pragma once #include "hle_stubs.h" +#include "guest_abi/guest_region.h" #include "memory.h" #include "gx_guest_write.h" #include "ppc_runtime.h" @@ -55,13 +56,13 @@ bool is_offscreen() noexcept; } // --- Constants --- -constexpr uint32_t kGXDataPtrAddr = 0x803886C8; -constexpr uint32_t kDlFifoAddr = 0x80344090; -constexpr uint32_t kDlWritePtrAddr = 0x803440A4; -constexpr uint32_t kDlCountAddr = 0x803440AC; +const uint32_t kGXDataPtrAddr = MKW_GADDR(803886C8); +const uint32_t kDlFifoAddr = MKW_GADDR(80344090); +const uint32_t kDlWritePtrAddr = MKW_GADDR(803440A4); +const uint32_t kDlCountAddr = MKW_GADDR(803440AC); constexpr uint32_t kDlWrapFlagOffset = 0x20; constexpr uint32_t kMaxTluts = 20; -constexpr uint32_t kGxDrawDoneFlagAddr = 0x803867d8; +const uint32_t kGxDrawDoneFlagAddr = MKW_GADDR(803867d8); // --- External Declarations --- extern "C" void GXInitTexObjTlut(GXTexObj* obj, u32 tlut); diff --git a/runtime/src/hle/net/network_config.cpp b/runtime/src/hle/net/network_config.cpp index 78802c0..e033eb7 100644 --- a/runtime/src/hle/net/network_config.cpp +++ b/runtime/src/hle/net/network_config.cpp @@ -2,17 +2,15 @@ #include "abi_bridge.h" #include "ppc_runtime.h" +#include "guest_function_imports.h" namespace NetworkHle { -extern "C" void func_801D8D30(CpuContext* ctx); -extern "C" void func_801D9E94(CpuContext* ctx); - static uint32_t GetNHttpSystemInfo(CpuContext* ctx, uint32_t& savedR3, uint32_t& savedR4, uint32_t& savedR5) { savedR3 = ctx->gpr[3]; savedR4 = ctx->gpr[4]; savedR5 = ctx->gpr[5]; - func_801D9E94(ctx); + MKW_GUEST_FUNC(801D9E94)(ctx); const uint32_t systemInfo = ctx->gpr[3]; ctx->gpr[3] = savedR3; ctx->gpr[4] = savedR4; @@ -47,7 +45,7 @@ extern "C" void NHTTPStartup_Reentrant_HLE_801d8d30(CpuContext* ctx) { ctx->gpr[3] = savedR3; ctx->gpr[4] = savedR4; ctx->gpr[5] = savedR5; - func_801D8D30(ctx); + MKW_GUEST_FUNC(801D8D30)(ctx); const int32_t result = static_cast(ctx->gpr[3]); if (result < 0) { diff --git a/runtime/src/hle/net/network_deferred.cpp b/runtime/src/hle/net/network_deferred.cpp index 8ed5e0e..c1627fb 100644 --- a/runtime/src/hle/net/network_deferred.cpp +++ b/runtime/src/hle/net/network_deferred.cpp @@ -1,4 +1,5 @@ #include "network_internal.h" +#include "guest_abi/guest_region.h" #include "fiber_manager.h" #include "hle/net/network.h" @@ -627,7 +628,7 @@ static bool InitializeDeferredSyncRoute(DeferredNetworkRoute& route, uint32_t wa // early scheduler setup. Capture its identity before yielding so a late // resolver result cannot wake a stale/reused stack queue after cancellation. constexpr uint32_t kOSRunningContextAddr = 0x800000E4u; - constexpr uint32_t kDefaultThreadContextAddr = 0x80347498u; + const uint32_t kDefaultThreadContextAddr = MKW_GADDR(80347498); uint32_t expectedThread = Memory::Read32(kOSRunningContextAddr); if (expectedThread == 0) { expectedThread = kDefaultThreadContextAddr; diff --git a/runtime/src/hle/os/os_alarm.cpp b/runtime/src/hle/os/os_alarm.cpp index 13d0b26..ecf8300 100644 --- a/runtime/src/hle/os/os_alarm.cpp +++ b/runtime/src/hle/os/os_alarm.cpp @@ -14,9 +14,7 @@ #include "hle/net/network.h" #include "guest_small_data.h" #include "os_internal.h" - -extern "C" void func_801AADE0(CpuContext* ctx); -extern "C" void func_801A0620(CpuContext* ctx); +#include "guest_function_imports.h" // ============================================================================ // Alarm queue helpers @@ -100,7 +98,7 @@ void SanitizeAlarmQueue(CpuContext* cpu) return; } - const uint32_t queueBase = cpu->gpr[13] - kAlarmQueueOffsetFromR13; + const uint32_t queueBase = kAlarmQueueAddr; try { const uint32_t head = ::Memory::Read32(queueBase); const uint32_t tail = ::Memory::Read32(queueBase + 4u); @@ -169,7 +167,7 @@ bool ProcessAlarmQueue(CpuContext* cpu, int maxToProcess) { AlarmProcessScope alarmProcessScope; SanitizeAlarmQueue(cpu); - const uint32_t queueBase = cpu->gpr[13] - kAlarmQueueOffsetFromR13; + const uint32_t queueBase = kAlarmQueueAddr; try { for (int i = 0; i < maxToProcess; ++i) { @@ -209,7 +207,7 @@ bool ProcessAlarmQueue(CpuContext* cpu, int maxToProcess) cpu->gpr[5] = 0; cpu->gpr[6] = 0; cpu->gpr[7] = handler; - func_801A0620(cpu); + MKW_GUEST_FUNC(801A0620)(cpu); } if (handler != 0) { @@ -309,7 +307,7 @@ extern "C" void OSSetAlarm_HLE_801a0870(CpuContext* ctx) return; } - const uint32_t queueBase = cpu->gpr[13] - kAlarmQueueOffsetFromR13; + const uint32_t queueBase = kAlarmQueueAddr; try { const uint32_t head = ::Memory::Read32(queueBase); if (head == 0) { @@ -427,7 +425,7 @@ extern "C" void OS__SetPeriodicAlarm_801a08e0(CpuContext* ctx) cpu->gpr[3] = startHi; cpu->gpr[4] = startLo; - func_801AADE0(cpu); + MKW_GUEST_FUNC(801AADE0)(cpu); Memory::Write32(alarm + 0x20u, cpu->gpr[3]); Memory::Write32(alarm + 0x24u, cpu->gpr[4]); @@ -435,7 +433,7 @@ extern "C" void OS__SetPeriodicAlarm_801a08e0(CpuContext* ctx) cpu->gpr[5] = 0; cpu->gpr[6] = 0; cpu->gpr[7] = handler; - func_801A0620(cpu); + MKW_GUEST_FUNC(801A0620)(cpu); cpu->gpr[3] = static_cast(OS__RestoreInterrupts_801a65d4(level)); } @@ -464,7 +462,7 @@ extern "C" uint32_t RFLiIsWorking_HLE_800bd860() DecrementSchedulerDisableCount(); // Now return the actual "working" status - constexpr uint32_t kRflManagerPtrAddr = 0x80386298u; + const uint32_t kRflManagerPtrAddr = MKW_GADDR(80386298); constexpr uint32_t kWorkingFlagOffset = 0x1b34u; try { diff --git a/runtime/src/hle/os/os_init.cpp b/runtime/src/hle/os/os_init.cpp index 2f5fc8f..620a7ed 100644 --- a/runtime/src/hle/os/os_init.cpp +++ b/runtime/src/hle/os/os_init.cpp @@ -17,19 +17,17 @@ #include "recomp_mod_loader.h" #include "runtime_log.h" #include "system_bridge.h" - -extern "C" void func_801A961C(CpuContext* ctx); -extern "C" void func_8055531C(CpuContext* ctx); +#include "guest_function_imports.h" extern "C" void OSInitAlarm_RecompModLateInit_801a961c(CpuContext* ctx) { - func_801A961C(ctx); + MKW_GUEST_FUNC(801A961C)(ctx); } REGISTER_NATIVE_FUNCTION_AS(0x801A961C, OSInitAlarm_RecompModLateInit_801a961c, "OSInitAlarm_RecompModLateInit_801a961c"); extern "C" void StaticRProlog_RecompModInit_8055531c(CpuContext* ctx) { RecompMod::RunMemoryInitializers(); - func_8055531C(ctx); + MKW_GUEST_FUNC(8055531C)(ctx); RecompMod::RunPostRelInitializers(); } @@ -107,13 +105,14 @@ extern "C" void HLE_SISetSamplingRate_801b3acc(uint32_t msec) // Video Interface (VI) - TV output. -// VIGetTvFormat (0x801bacd8): CRITICAL, must return 1 (VI_PAL) not 0, or PAL builds -// misbehave/panic. +// VIGetTvFormat (0x801bacd8): CRITICAL, must report the game's own TV format or it +// misbehaves/panics. extern "C" uint32_t HLE_VIGetTvFormat_801bacd8() { // VI_NTSC = 0, VI_PAL = 1, VI_MPAL = 2 - RT_LOG(RT_TAG_OS) << "HLE_VIGetTvFormat_801bacd8 called: returning VI_PAL (1)" << std::endl; - return 1; + RT_LOG(RT_TAG_OS) << "HLE_VIGetTvFormat_801bacd8 called: returning " << ::GuestRegion::CurrentFacts().viTvFormat + << std::endl; + return ::GuestRegion::CurrentFacts().viTvFormat; } REGISTER_NATIVE_FUNCTION(0x801B2DE0, SIInit_801b2de0); @@ -176,22 +175,18 @@ extern "C" uint32_t __OSInitSTM_HLE_801ab848(CpuContext* ctx) RT_LOG(RT_TAG_OS) << "__OSInitSTM_HLE_801ab848 called: initializing STM state" << std::endl; - // R13 (SDA2) holds the base for small data variables - const uint32_t r13 = cpu->gpr[13]; - if (r13 == 0) { - RT_LOG(RT_TAG_OS) << "__OSInitSTM: Warning - R13 is 0, cannot write state." << std::endl; - return 0; - } + // STM_Initialized, /dev/stm/immediate and /dev/stm/eventhook. + const uint32_t kStmInitializedAddr = MKW_GADDR(80386934); + const uint32_t kStmImmediateHandleAddr = MKW_GADDR(80386938); + const uint32_t kStmEventHookHandleAddr = MKW_GADDR(8038693C); - // Offsets from disassembly: r13-0x62cc=STM_Initialized, r13-0x62c8=/dev/stm/immediate, - // r13-0x62c4=/dev/stm/eventhook. try { // Mark STM as initialized - ::Memory::Write32(r13 - 0x62ccu, 1); + ::Memory::Write32(kStmInitializedAddr, 1); // Fake non-zero handles so callers' zero-checks pass. - ::Memory::Write32(r13 - 0x62c8u, 0x00535401); // "ST\x01" - ::Memory::Write32(r13 - 0x62c4u, 0x00535402); // "ST\x02" + ::Memory::Write32(kStmImmediateHandleAddr, 0x00535401); // "ST\x01" + ::Memory::Write32(kStmEventHookHandleAddr, 0x00535402); // "ST\x02" // Default Power/Reset callback pointers are left unset; safe since we never fire // the STM hardware interrupt that would invoke them. diff --git a/runtime/src/hle/os/os_internal.h b/runtime/src/hle/os/os_internal.h index 9b2b700..2e7eb88 100644 --- a/runtime/src/hle/os/os_internal.h +++ b/runtime/src/hle/os/os_internal.h @@ -24,7 +24,7 @@ extern std::atomic g_interrupts_enabled; // observable state, not just bookkeeping. extern std::atomic g_interrupt_mask; -constexpr uint32_t kInterruptHandlerTablePtrAddr = 0x803868f8u; +const uint32_t kInterruptHandlerTablePtrAddr = MKW_GADDR(803868f8); constexpr uint32_t kInterruptHandlerTableAddr = 0x80003040u; constexpr size_t kInterruptHandlerTableBytes = 0x80u; constexpr uint32_t kInterruptMaskLoAddr = 0x800000c4u; @@ -36,17 +36,17 @@ constexpr uint32_t kThreadListHeadAddr = 0x800000dcu; // First thread in thre constexpr uint32_t kThreadListTailAddr = 0x800000e0u; // Last added thread (tail of thread list) constexpr uint32_t kOSRunningContextAddr = 0x800000e4u; // Currently running thread context -constexpr uint32_t kDefaultThreadContextAddr = 0x80347498u; -constexpr uint32_t kIdleThreadContextAddr = 0x803478b0u; -constexpr uint32_t kThreadQueueArrayAddr = 0x803477b0u; +const uint32_t kDefaultThreadContextAddr = MKW_GADDR(80347498); +const uint32_t kIdleThreadContextAddr = MKW_GADDR(803478b0); +const uint32_t kThreadQueueArrayAddr = MKW_GADDR(803477b0); constexpr size_t kThreadQueueArrayBytes = 0x100u; -constexpr uint32_t kSwitchThreadCallbackPtrAddr = 0x80385ae0u; -constexpr uint32_t kSchedulerReschedCounterAddr = 0x8038691cu; -constexpr uint32_t kSchedulerPendingFlagAddr = 0x80386920u; +const uint32_t kSwitchThreadCallbackPtrAddr = MKW_GADDR(80385ae0); +const uint32_t kSchedulerReschedCounterAddr = MKW_GADDR(8038691c); +const uint32_t kSchedulerPendingFlagAddr = MKW_GADDR(80386920); // RVL OS uses this as the OSDisableScheduler/OSEnableScheduler nesting count. // SelectThread exits early while the count is non-zero. -constexpr uint32_t kSchedulerIdleFlagAddr = 0x80386918u; -constexpr uint32_t kAlarmQueueOffsetFromR13 = 0x6360u; +const uint32_t kSchedulerIdleFlagAddr = MKW_GADDR(80386918); +const uint32_t kAlarmQueueAddr = MKW_GADDR(803868A0); constexpr uint32_t kThreadStateOffset = 0x2C8u; constexpr uint32_t kThreadAttrOffset = 0x2CAu; diff --git a/runtime/src/hle/os/os_interrupt.cpp b/runtime/src/hle/os/os_interrupt.cpp index 29bc4c1..56f6871 100644 --- a/runtime/src/hle/os/os_interrupt.cpp +++ b/runtime/src/hle/os/os_interrupt.cpp @@ -391,14 +391,12 @@ extern "C" uint32_t OSSetPowerCallback_801ab75c(CpuContext* ctx) if (!cpu) return 0; const uint32_t newCallback = cpu->gpr[3]; - const uint32_t r13 = cpu->gpr[13]; - // Assembly defines the default callback address as (0x801b0000 - 0x43f4) - constexpr uint32_t kDefaultCallbackAddr = 0x801b0000u - 0x43f4u; // 0x801abc0c - - // Offsets from R13 (SDA2) - const uint32_t kCallbackPtrAddr = r13 - 0x62b8u; - const uint32_t kHandlerActiveAddr = r13 - 0x62c0u; + // The SDK's default power callback, the registered callback pointer and the + // "event handler registered" flag. + const uint32_t kDefaultCallbackAddr = MKW_GADDR(801ABC0C); + const uint32_t kCallbackPtrAddr = MKW_GADDR(80386948); + const uint32_t kHandlerActiveAddr = MKW_GADDR(80386940); RT_LOG(RT_TAG_OS) << "OSSetPowerCallback_801ab75c called: newCB=0x" << std::hex << newCallback << std::dec << std::endl; @@ -489,12 +487,13 @@ extern "C" int32_t IPCCltInit_80193478(CpuContext* ctx) RT_LOG(RT_TAG_OS) << "IPCCltInit_80193478 called: calling IPCInit for buffer setup" << std::endl; // Sets 0x803867EC/F0/E8 (IPC buffer lo/hi + init flag) from __OSGetIPCBufferLo/Hi. - InvokeIndirectCpu(0x80192F7Cu, ctx); + InvokeIndirectCpu(MKW_GADDR(80192F7C), ctx); // Advance the buffer lo pointer by 0x1000 (iosHeap size), matching real IPCCltInit. - uint32_t bufferLo = Memory::Read32(ctx->gpr[13] + -25620); // 0x803867EC at r13-0x6414 + const uint32_t kIpcBufferLoGlobal = MKW_GADDR(803867EC); + uint32_t bufferLo = Memory::Read32(kIpcBufferLoGlobal); uint32_t newBufLo = bufferLo + 0x1000; // Advance by 4KB for iosHeap - Memory::Write32(ctx->gpr[13] + -25620, newBufLo); + Memory::Write32(kIpcBufferLoGlobal, newBufLo); RT_LOG(RT_TAG_OS) << "IPCCltInit: IPC buffer lo advanced from 0x" << std::hex << bufferLo << " to 0x" << newBufLo << std::dec << std::endl; diff --git a/runtime/src/hle/os/os_scheduler.cpp b/runtime/src/hle/os/os_scheduler.cpp index c6bbd00..ffb0e8c 100644 --- a/runtime/src/hle/os/os_scheduler.cpp +++ b/runtime/src/hle/os/os_scheduler.cpp @@ -10,6 +10,7 @@ #include "fiber_manager.h" #include "runtime_log.h" #include "os_internal.h" +#include "guest_function_imports.h" namespace { void LinkMutexToThread(uint32_t threadPtr, uint32_t mutexPtr) @@ -119,7 +120,6 @@ static void TryInvokeSwitchCallback(uint32_t oldCtx, uint32_t newCtx, CpuContext // Forward declare for SelectThread to use extern "C" void OS__SetCurrentContext_801a1e70(uint32_t contextAddr); -extern "C" void func_801A1ED8(CpuContext* ctx); // ============================================================================ // SelectThread HLE - Thread Scheduler (Fiber-Aware) @@ -200,7 +200,7 @@ extern "C" void SelectThread_801a9c08(CpuContext* ctx) const uint16_t modeFlags = ::Memory::Read16(runningContext + 0x1A2u); if ((modeFlags & 0x0002u) == 0) { cpu->gpr[3] = runningContext; - func_801A1ED8(cpu); + MKW_GUEST_FUNC(801A1ED8)(cpu); if (cpu->gpr[3] != 0) { cpu->gpr[3] = 0; return; diff --git a/runtime/src/hle/os/os_thread.cpp b/runtime/src/hle/os/os_thread.cpp index 5de684a..d2423e6 100644 --- a/runtime/src/hle/os/os_thread.cpp +++ b/runtime/src/hle/os/os_thread.cpp @@ -73,13 +73,7 @@ int32_t ComputeThreadEffectivePriority(uint32_t threadPtr) bool IsThpVideoDecoderEntry(uint32_t entryFunc) { - switch (entryFunc) { - case 0x805529A8u: - case 0x80552A74u: - return true; - default: - return false; - } + return entryFunc == MKW_GADDR(805529A8) || entryFunc == MKW_GADDR(80552A74); } void InsertThreadIntoQueueByPriority(uint32_t queuePtr, uint32_t threadPtr, int32_t priority) @@ -216,7 +210,7 @@ void UnlockAllThreadMutexes(CpuContext* cpu, uint32_t threadPtr) } CpuContextScope scope(cpu); cpu->gpr[3] = threadPtr; - InvokeIndirectCpu(0x801A8088u, cpu); // __OSUnlockAllMutex + InvokeIndirectCpu(MKW_GADDR(801A8088), cpu); // __OSUnlockAllMutex } // Shared tail of OSExitThread/OSCancelThread: clears context, delists if detached, marks @@ -311,7 +305,7 @@ extern "C" void OSCreateThread_HLE_801a9e84(CpuContext* ctx) cpu->gpr[3] = threadPtr; cpu->gpr[4] = entryFunc; cpu->gpr[5] = alignedStack - 8; - InvokeIndirectCpu(0x801A20BCu, cpu); // OSInitContext + InvokeIndirectCpu(MKW_GADDR(801A20BC), cpu); // OSInitContext } if (IsThpVideoDecoderEntry(entryFunc)) { @@ -325,7 +319,7 @@ extern "C" void OSCreateThread_HLE_801a9e84(CpuContext* ctx) } - ::Memory::Write32(threadPtr + 0x84u, 0x801AA0F0u); // LR = OSExitThread + ::Memory::Write32(threadPtr + 0x84u, MKW_GADDR(801AA0F0)); // LR = OSExitThread ::Memory::Write32(threadPtr + 0x0Cu, entryArg); // r3 = argument // Stack info @@ -341,8 +335,8 @@ extern "C" void OSCreateThread_HLE_801a9e84(CpuContext* ctx) // Match the original OSCreateThread slow-path initialization that runs // once scheduler globals are live. THP worker threads depend on these // queue/list blocks being fully zeroed. - constexpr uint32_t kSchedulerInitFlagAddr = 0x80347130u; - constexpr uint32_t kThreadAttrSourceAddr = 0x80385AA8u; + const uint32_t kSchedulerInitFlagAddr = MKW_GADDR(80347130); + const uint32_t kThreadAttrSourceAddr = MKW_GADDR(80385AA8); if (Memory::Contains(kSchedulerInitFlagAddr, 4) && ::Memory::Read32(kSchedulerInitFlagAddr) != 0) { uint32_t srr1 = ::Memory::Read32(threadPtr + 0x19Cu); diff --git a/runtime/src/hle/sc.cpp b/runtime/src/hle/sc.cpp index bb33e01..72314e5 100644 --- a/runtime/src/hle/sc.cpp +++ b/runtime/src/hle/sc.cpp @@ -74,7 +74,7 @@ PPC_NATIVE_OVERRIDE(801B1CAC, SCGetEuRgb60Mode_HLE, uint32_t, (), ()); extern "C" uint32_t SCGetProductArea_HLE() { - return LookupProductRegion(0x8029CEB0u, 5, 13, + return LookupProductRegion(MKW_GADDR(8029CEB0), 5, 13, RuntimeConsoleIdentity::Current().area); } @@ -82,8 +82,8 @@ PPC_NATIVE_OVERRIDE(801B23A0, SCGetProductArea_HLE, uint32_t, (), ()); extern "C" uint32_t SCGetProductCode_HLE() { - // Original PAL SC storage for the six-byte CODE value. - constexpr uint32_t kProductCodeAddress = 0x803869E0u; + // Original SC storage for the six-byte CODE value. + const uint32_t kProductCodeAddress = MKW_GADDR(803869E0); const std::string& productCode = RuntimeConsoleIdentity::Current().productCode; const size_t size = productCode.size() + 1; if (!Memory::Contains(kProductCodeAddress, size)) { @@ -108,7 +108,7 @@ PPC_NATIVE_OVERRIDE(801B2460, SCGetProductSN_HLE, uint32_t, (uint32_t serialAddr extern "C" uint32_t SCGetProductGameRegion_HLE() { - return LookupProductRegion(0x8029CEF8u, 4, 4, + return LookupProductRegion(MKW_GADDR(8029CEF8), 4, 4, RuntimeConsoleIdentity::Current().gameRegion); } diff --git a/runtime/src/hle/storage/dvd.cpp b/runtime/src/hle/storage/dvd.cpp index 1acf239..6171fa7 100644 --- a/runtime/src/hle/storage/dvd.cpp +++ b/runtime/src/hle/storage/dvd.cpp @@ -1,4 +1,4 @@ -#include "hle_stubs.h" +#include "hle_stubs.h" #include "isa/big_endian.h" #include "hle/dvd_contract.h" #include "hle/runtime_parse_helpers.h" @@ -44,7 +44,7 @@ static fs::path g_dvdRoot; static std::once_flag g_dvdRootOnce; static uint32_t CurrentDiscGameCode() { - return RuntimeHle::CurrentGameCode(0x524D4350u); // RMCP + return RuntimeHle::CurrentGameCode(::GuestRegion::CurrentFacts().gameCode); } // ============================================================================ @@ -162,6 +162,21 @@ static const fs::path& GetDvdRoot() { if (!IsDvdDataRoot(path)) { FailDvdRoot("Configured DVD root is not an extracted DATA directory", path); } + std::error_code ec; + const auto bootBin = path / "sys" / "boot.bin"; + if (fs::is_regular_file(bootBin, ec)) { + std::ifstream file(bootBin, std::ios::binary); + char id[7] = {}; + if (!file.read(id, 6)) { + FailDvdRoot("Configured DVD root has an unreadable or truncated sys/boot.bin", bootBin); + } + if (std::memcmp(id, "RMC", 3) == 0 && id[3] != ::GuestRegion::CurrentFacts().letter) { + FailDvd("dvd_region_mismatch", "DVD region mismatch", + std::string("Configured DVD root has disc ID '") + id + + "', but this build was compiled for region " + ::GuestRegion::CurrentFacts().gameId + + ".\nThe extracted game assets must match the region of the compiled executable."); + } + } g_dvdRoot = path; }); @@ -749,7 +764,7 @@ extern "C" const char* DVDResolveHostPathForTest(const char* dvdPath) static void InitDvdWaitingQueues() { - constexpr uint32_t kQueueBase = 0x80343230; + const uint32_t kQueueBase = MKW_GADDR(80343230); for (uint32_t i = 0; i < 4; ++i) { const uint32_t queue = kQueueBase + (i * 8); Memory::Write32(queue + 0, queue); @@ -763,12 +778,12 @@ static void CompleteDvdCancelState() // These are the SDK DVD globals used by DVDCancelAll/__DVDPrepareReset. // The actual drive work is HLE'd, so complete pending cancel/reset waits. - Memory::Write32(0x80386664, 0); // Canceling - Memory::Write32(0x80386668, 0); // ResumeFromHere - Memory::Write32(0x80386670, 0); // PausingFlag - Memory::Write32(0x8038667C, 1); // CancelAllSync complete - Memory::Write32(0x803866A8, 1); // PrepareReset complete - Memory::Write32(0x803866F0, 0); // executing command block + Memory::Write32(MKW_GADDR(80386664), 0); // Canceling + Memory::Write32(MKW_GADDR(80386668), 0); // ResumeFromHere + Memory::Write32(MKW_GADDR(80386670), 0); // PausingFlag + Memory::Write32(MKW_GADDR(8038667C), 1); // CancelAllSync complete + Memory::Write32(MKW_GADDR(803866A8), 1); // PrepareReset complete + Memory::Write32(MKW_GADDR(803866F0), 0); // executing command block } // 0x8015EA1C -> DVDInit @@ -785,14 +800,14 @@ extern "C" void DVDInit_8015EA1C() // 1. Initialize Global Flags (Emulate OS state) // These addresses are standard OS globals for DVD context - Memory::Write8(0x80386724, 1); // Contexts initialized - Memory::Write8(0x80386725, 1); // LowInit called - Memory::Write32(0x80386720, 0); // Current context index - Memory::Write8(0x803866a0, 1); // DVDInit called flag + Memory::Write8(MKW_GADDR(80386724), 1); // Contexts initialized + Memory::Write8(MKW_GADDR(80386725), 1); // LowInit called + Memory::Write32(MKW_GADDR(80386720), 0); // Current context index + Memory::Write8(MKW_GADDR(803866a0), 1); // DVDInit called flag CompleteDvdCancelState(); // 2. Initialize DVD Context structures (prevent crashes in callbacks) - constexpr uint32_t kContextBase = 0x803434e0; + const uint32_t kContextBase = MKW_GADDR(803434e0); constexpr uint32_t kMagicValue = 0xFEEBDAED; for (int i = 0; i < 4; i++) { uint32_t ctx = kContextBase + i * 0x20; @@ -840,7 +855,7 @@ extern "C" void DVDInit_8015EA1C() BuildAndPublishRuntimeFst(); // Initialize the translated DVD filesystem so it can use the published FST. - constexpr uint32_t kDvdFsInitAddress = 0x8015DF1C; + const uint32_t kDvdFsInitAddress = MKW_GADDR(8015DF1C); if (TranslatedFunctionRegistry::FindByAddressPtr(kDvdFsInitAddress)) { InvokeIndirectCpu(kDvdFsInitAddress, &GetPersistentCpuContext()); } diff --git a/runtime/src/hle/storage/nand_api.cpp b/runtime/src/hle/storage/nand_api.cpp index f09d88e..39963ce 100644 --- a/runtime/src/hle/storage/nand_api.cpp +++ b/runtime/src/hle/storage/nand_api.cpp @@ -83,10 +83,10 @@ extern "C" int32_t NANDInit_HLE(void) { ISFS_OpenLib_Initialize(&GetPersistentCpuContext()); // NANDHomeDir is at 0x80346D20 (from ESP_GetDataDir output) - WriteGuestNandPath(0x80346D20, CurrentNandDataDir()); + WriteGuestNandPath(MKW_GADDR(80346D20), CurrentNandDataDir()); // Mark NAND as initialized (0x80386848 = 2) - Memory::Write32(0x80386848, 2); + Memory::Write32(MKW_GADDR(80386848), 2); return NAND_RESULT_OK; } diff --git a/runtime/src/hle/storage/nand_fs.cpp b/runtime/src/hle/storage/nand_fs.cpp index 4dba4f0..28c0cbd 100644 --- a/runtime/src/hle/storage/nand_fs.cpp +++ b/runtime/src/hle/storage/nand_fs.cpp @@ -78,7 +78,7 @@ void CloseFd(int32_t fd) { // ============================================================================ uint32_t CurrentMkwTitleIdLo() { - return RuntimeHle::CurrentGameCode(kNandTitleIdLo); + return RuntimeHle::CurrentGameCode(NandTitleIdLo()); } std::string CurrentNandDataDir() { diff --git a/runtime/src/hle/storage/nand_internal.h b/runtime/src/hle/storage/nand_internal.h index c143a41..ef9caac 100644 --- a/runtime/src/hle/storage/nand_internal.h +++ b/runtime/src/hle/storage/nand_internal.h @@ -45,7 +45,7 @@ // Mario Kart Wii Title ID namespace { constexpr uint32_t kNandTitleIdHi = 0x00010004; -constexpr uint32_t kNandTitleIdLo = 0x524D4350; // "RMCP" fallback +inline uint32_t NandTitleIdLo() { return ::GuestRegion::CurrentFacts().gameCode; } } // anonymous namespace // ============================================================================ diff --git a/runtime/src/hle/storage/nand_isfs.cpp b/runtime/src/hle/storage/nand_isfs.cpp index 0741989..b077605 100644 --- a/runtime/src/hle/storage/nand_isfs.cpp +++ b/runtime/src/hle/storage/nand_isfs.cpp @@ -187,7 +187,7 @@ static int32_t HandleDolphinIoctlv(uint32_t cmd, uint32_t numIn, uint32_t numOut return ISFS_EINVAL; } char productCode[8] = {}; - uint32_t discId = Memory::Contains(0x80000000u, 4u) ? Memory::Read32(0x80000000u) : kNandTitleIdLo; + uint32_t discId = Memory::Contains(0x80000000u, 4u) ? Memory::Read32(0x80000000u) : NandTitleIdLo(); productCode[0] = static_cast((discId >> 24) & 0xffu); productCode[1] = static_cast((discId >> 16) & 0xffu); productCode[2] = static_cast((discId >> 8) & 0xffu); @@ -841,15 +841,16 @@ static bool g_isfsInitialized = false; // load-bearing and must not be "tidied". Names come from the RVL IPC/ISFS // sources; only the naming changed here, never a value. namespace { -constexpr uint32_t kIsfsFdSda1Offset = 29408u; // __ISFS_fd -constexpr uint32_t kIsfsPathSda1Offset = 29400u; // __ISFS_path ("/dev/fs") -constexpr uint32_t kIpcBufferLoSda1Offset = 25620u; // IPC buffer window, low -constexpr uint32_t kIpcBufferHiSda1Offset = 25616u; // IPC buffer window, high -constexpr uint32_t kIpcArenaLoSda1Offset = 25732u; // __IPCArenaLo -constexpr uint32_t kIpcArenaHiSda1Offset = 25728u; // __IPCArenaHi -constexpr uint32_t kIsfsHeapHandleSda1Offset = 25724u; // ISFS heap handle -constexpr uint32_t kIsfsHeapBaseSda1Offset = 25740u; // ISFS heap base address -constexpr uint32_t kIsfsHeapInitializedSda1Offset = 25744u; // ISFS heap created flag +// The ISFS client's small-data globals. +const uint32_t kIsfsFdGlobal = MKW_GADDR(80385920); // __ISFS_fd +const uint32_t kIsfsPathGlobal = MKW_GADDR(80385928); // __ISFS_path ("/dev/fs") +const uint32_t kIpcBufferLoGlobal = MKW_GADDR(803867EC); // IPC buffer window, low +const uint32_t kIpcBufferHiGlobal = MKW_GADDR(803867F0); // IPC buffer window, high +const uint32_t kIpcArenaLoGlobal = MKW_GADDR(8038677C); // __IPCArenaLo +const uint32_t kIpcArenaHiGlobal = MKW_GADDR(80386780); // __IPCArenaHi +const uint32_t kIsfsHeapHandleGlobal = MKW_GADDR(80386784); // ISFS heap handle +const uint32_t kIsfsHeapBaseGlobal = MKW_GADDR(80386774); // ISFS heap base address +const uint32_t kIsfsHeapInitializedGlobal = MKW_GADDR(80386770); // ISFS heap created flag } // namespace static void WriteGuestString(uint32_t address, const char* value) { @@ -879,51 +880,36 @@ int32_t ISFS_OpenLib_Initialize(CpuContext* ctx) { return ISFS_OK; } - const uint32_t r13 = ctx->gpr[13]; - if (r13 == 0) { - return ISFS_OK; - } + WriteGuestString(kIsfsPathGlobal, "/dev/fs"); - const uint32_t isfsFdGlobal = r13 - kIsfsFdSda1Offset; - const uint32_t isfsPathGlobal = r13 - kIsfsPathSda1Offset; - const uint32_t ipcBufferLoGlobal = r13 - kIpcBufferLoSda1Offset; - const uint32_t ipcBufferHiGlobal = r13 - kIpcBufferHiSda1Offset; - const uint32_t ipcArenaLoGlobal = r13 - kIpcArenaLoSda1Offset; - const uint32_t ipcArenaHiGlobal = r13 - kIpcArenaHiSda1Offset; - const uint32_t isfsHeapGlobal = r13 - kIsfsHeapHandleSda1Offset; - const uint32_t isfsHeapBaseGlobal = r13 - kIsfsHeapBaseSda1Offset; - const uint32_t isfsHeapInitializedGlobal = r13 - kIsfsHeapInitializedSda1Offset; - - WriteGuestString(isfsPathGlobal, "/dev/fs"); - - if (Memory::Contains(isfsFdGlobal, 4)) { - Memory::Write32(isfsFdGlobal, static_cast(ISFS_DEV_FD)); + if (Memory::Contains(kIsfsFdGlobal, 4)) { + Memory::Write32(kIsfsFdGlobal, static_cast(ISFS_DEV_FD)); } // The heap bring-up below reads and writes all seven IPC globals, so it only // runs when every one of them is inside guest memory. - for (const uint32_t global : {ipcBufferLoGlobal, ipcBufferHiGlobal, ipcArenaLoGlobal, - ipcArenaHiGlobal, isfsHeapGlobal, isfsHeapBaseGlobal, - isfsHeapInitializedGlobal}) { + for (const uint32_t global : {kIpcBufferLoGlobal, kIpcBufferHiGlobal, kIpcArenaLoGlobal, + kIpcArenaHiGlobal, kIsfsHeapHandleGlobal, kIsfsHeapBaseGlobal, + kIsfsHeapInitializedGlobal}) { if (!Memory::Contains(global, 4)) { return ISFS_OK; } } - uint32_t ipcLo = Memory::Read32(ipcBufferLoGlobal); - uint32_t ipcHi = Memory::Read32(ipcBufferHiGlobal); + uint32_t ipcLo = Memory::Read32(kIpcBufferLoGlobal); + uint32_t ipcHi = Memory::Read32(kIpcBufferHiGlobal); if (ipcLo == 0 || ipcHi == 0 || ipcLo >= ipcHi) { return ISFS_OK; } - if (Memory::Read32(isfsHeapInitializedGlobal) == 0) { - Memory::Write32(ipcArenaLoGlobal, ipcLo); - Memory::Write32(ipcArenaHiGlobal, ipcHi); + if (Memory::Read32(kIsfsHeapInitializedGlobal) == 0) { + Memory::Write32(kIpcArenaLoGlobal, ipcLo); + Memory::Write32(kIpcArenaHiGlobal, ipcHi); const uint32_t heapBase = (ipcLo + 31u) & ~31u; const uint32_t heapSize = 5440u; if (heapBase + heapSize <= ipcHi) { - Memory::Write32(isfsHeapBaseGlobal, heapBase); + Memory::Write32(kIsfsHeapBaseGlobal, heapBase); const uint32_t savedR3 = ctx->gpr[3]; const uint32_t savedR4 = ctx->gpr[4]; @@ -932,21 +918,21 @@ int32_t ISFS_OpenLib_Initialize(CpuContext* ctx) { ctx->gpr[3] = heapBase; ctx->gpr[4] = heapSize; - ctx->lr = 0x80169BCCu; - InvokeDirectCpu<0x801949B8u>(ctx); + ctx->lr = MKW_GADDR(80169BCC); + InvokeIndirectCpu(MKW_GADDR(801949B8), ctx); const uint32_t heapHandle = ctx->gpr[3]; ctx->gpr[3] = heapBase + heapSize; - ctx->lr = 0x80169BCCu; - InvokeDirectCpu<0x80193040u>(ctx); + ctx->lr = MKW_GADDR(80169BCC); + InvokeIndirectCpu(MKW_GADDR(80193040), ctx); ctx->gpr[3] = savedR3; ctx->gpr[4] = savedR4; ctx->gpr[5] = savedR5; ctx->lr = savedLr; - Memory::Write32(isfsHeapGlobal, heapHandle); - Memory::Write32(isfsHeapInitializedGlobal, 1u); + Memory::Write32(kIsfsHeapHandleGlobal, heapHandle); + Memory::Write32(kIsfsHeapInitializedGlobal, 1u); } } diff --git a/runtime/src/hle/storage/riivolution.cpp b/runtime/src/hle/storage/riivolution.cpp index 7fddf83..00659d0 100644 --- a/runtime/src/hle/storage/riivolution.cpp +++ b/runtime/src/hle/storage/riivolution.cpp @@ -6,6 +6,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "hle/storage/riivolution.h" +#include "guest_abi/guest_region.h" #include "hle/riivolution_contract.h" #include "hle/runtime_parse_helpers.h" @@ -46,11 +47,9 @@ std::optional RiivoReadFile(const fs::path& path) { return buffer.str(); } -// Six-character game ID ("RMCP01") from guest low memory, with the same RMCP -// fallback the rest of the storage HLE uses for boots that have not written -// the disc header yet. +// Six-character game ID from guest low memory, falling back to the translated game's. std::string RiivoGameId() { - const uint32_t code = RuntimeHle::CurrentGameCode(0x524D4350u); // "RMCP" + const uint32_t code = RuntimeHle::CurrentGameCode(::GuestRegion::CurrentFacts().gameCode); std::string id(6, '\0'); id[0] = static_cast((code >> 24) & 0xffu); id[1] = static_cast((code >> 16) & 0xffu); diff --git a/runtime/src/hle/task_thread.cpp b/runtime/src/hle/task_thread.cpp index dc4810d..5dc9b54 100644 --- a/runtime/src/hle/task_thread.cpp +++ b/runtime/src/hle/task_thread.cpp @@ -20,7 +20,7 @@ constexpr uint32_t kJobSize = 0x18u; bool ShouldRetryThpPrepareAfterClose(uint32_t callback, uint32_t arg, uint32_t result) { - if (callback != 0x80529D68u || result != 0) { + if (callback != MKW_GADDR(80529D68) || result != 0) { return false; } if (arg == 0 || !Memory::Contains(arg + 0xACu, 4)) { @@ -30,11 +30,11 @@ bool ShouldRetryThpPrepareAfterClose(uint32_t callback, uint32_t arg, uint32_t r if (state != 0) { return false; } - if (!Memory::Contains(0x809BECF0u, 4) || !Memory::Contains(0x809BEBA0u, 4)) { + if (!Memory::Contains(MKW_GADDR(809BECF0), 4) || !Memory::Contains(MKW_GADDR(809BEBA0), 4)) { return false; } - const uint32_t thpInit = Memory::Read32(0x809BECF0u); - const uint32_t thpOpen = Memory::Read32(0x809BEBA0u); + const uint32_t thpInit = Memory::Read32(MKW_GADDR(809BECF0)); + const uint32_t thpOpen = Memory::Read32(MKW_GADDR(809BEBA0)); return thpInit != 0 && thpOpen != 0; } @@ -52,23 +52,23 @@ uint32_t RunMovieManagerPrepareAsync(uint32_t manager, CpuContext* cpu) CpuContextScope scope(cpu); cpu->gpr[3] = manager + 0x28u; cpu->gpr[4] = 0; - InvokeIndirectCpu(0x80550CC0u, cpu); + InvokeIndirectCpu(MKW_GADDR(80550CC0), cpu); return cpu->gpr[3]; }; uint32_t openResult = callThpPlayerOpen(); - if (openResult == 0 && ShouldRetryThpPrepareAfterClose(0x80529D68u, manager, 0)) { + if (openResult == 0 && ShouldRetryThpPrepareAfterClose(MKW_GADDR(80529D68), manager, 0)) { { CpuContextScope scope(cpu); - InvokeIndirectCpu(0x80551658u, cpu); // THP__PlayerStop - InvokeIndirectCpu(0x80550F48u, cpu); // THP__PlayerClose + InvokeIndirectCpu(MKW_GADDR(80551658), cpu); // THP__PlayerStop + InvokeIndirectCpu(MKW_GADDR(80550F48), cpu); // THP__PlayerClose } - if (Memory::Contains(0x809BEBA0u, 8) && Memory::Read32(0x809BEBA0u) != 0) { - Memory::Write32(0x809BEBA0u, 0); - Memory::Write8(0x809BEBA4u, 0); - Memory::Write8(0x809BEBA5u, 0); - Memory::Write8(0x809BEBA6u, 0); - Memory::Write8(0x809BEBA7u, 0); + if (Memory::Contains(MKW_GADDR(809BEBA0), 8) && Memory::Read32(MKW_GADDR(809BEBA0)) != 0) { + Memory::Write32(MKW_GADDR(809BEBA0), 0); + Memory::Write8(MKW_GADDR(809BEBA4), 0); + Memory::Write8(MKW_GADDR(809BEBA5), 0); + Memory::Write8(MKW_GADDR(809BEBA6), 0); + Memory::Write8(MKW_GADDR(809BEBA7), 0); } openResult = callThpPlayerOpen(); } @@ -81,8 +81,8 @@ uint32_t RunMovieManagerPrepareAsync(uint32_t manager, CpuContext* cpu) { CpuContextScope scope(cpu); cpu->gpr[3] = manager + 0x10u; - InvokeIndirectCpu(0x80551D38u, cpu); // THP__PlayerGetVideoInfo - InvokeIndirectCpu(0x80550F9Cu, cpu); // THP__PlayerCalcNeedMemory + InvokeIndirectCpu(MKW_GADDR(80551D38), cpu); // THP__PlayerGetVideoInfo + InvokeIndirectCpu(MKW_GADDR(80550F9C), cpu); // THP__PlayerCalcNeedMemory } const uint32_t needMemory = cpu->gpr[3]; Memory::Write32(manager + 0x20u, needMemory); @@ -92,18 +92,18 @@ uint32_t RunMovieManagerPrepareAsync(uint32_t manager, CpuContext* cpu) { CpuContextScope scope(cpu); cpu->gpr[3] = setBufferArg; - InvokeIndirectCpu(0x80551054u, cpu); // THP__PlayerSetBuffer + InvokeIndirectCpu(MKW_GADDR(80551054), cpu); // THP__PlayerSetBuffer } const uint32_t mode = Memory::Read32(manager + 0xA8u); - const uint32_t audioSystem = Memory::Read32(0x8088FDB8u + (mode << 2)); + const uint32_t audioSystem = Memory::Read32(MKW_GADDR(8088FDB8) + (mode << 2)); uint32_t prepareResult = 0; { CpuContextScope scope(cpu); cpu->gpr[3] = Memory::Read32(manager + 0x24u); cpu->gpr[4] = audioSystem; cpu->gpr[5] = 0; - InvokeIndirectCpu(0x80551378u, cpu); // THP__PlayerPrepare + InvokeIndirectCpu(MKW_GADDR(80551378), cpu); // THP__PlayerPrepare prepareResult = cpu->gpr[3]; } if (prepareResult != 0) { @@ -162,7 +162,7 @@ extern "C" void TaskThread_run_HLE_80242d7c(CpuContext* ctx) { cpu->gpr[3] = taskThread + kTaskMessageQueueOffset; cpu->gpr[4] = outMsgPtr; cpu->gpr[5] = 1; // OS_MESSAGE_BLOCK - InvokeIndirectCpu(0x801A7424u, cpu); // OSReceiveMessage + InvokeIndirectCpu(MKW_GADDR(801A7424), cpu); // OSReceiveMessage } const uint32_t job = Memory::Read32(outMsgPtr); @@ -176,7 +176,7 @@ extern "C" void TaskThread_run_HLE_80242d7c(CpuContext* ctx) { if (callback != 0) { CpuContextScope scope(cpu); - if (callback == 0x80529D68u) { + if (callback == MKW_GADDR(80529D68)) { RunMovieManagerPrepareAsync(arg, cpu); } else { cpu->gpr[3] = arg; @@ -198,7 +198,7 @@ extern "C" void TaskThread_run_HLE_80242d7c(CpuContext* ctx) { cpu->gpr[3] = doneQueue; cpu->gpr[4] = token; cpu->gpr[5] = 0; // OS_MESSAGE_NOBLOCK - InvokeIndirectCpu(0x801A735Cu, cpu); // OSSendMessage + InvokeIndirectCpu(MKW_GADDR(801A735C), cpu); // OSSendMessage } } } diff --git a/runtime/src/hle/vi.cpp b/runtime/src/hle/vi.cpp index 4ae7ade..e0a160d 100644 --- a/runtime/src/hle/vi.cpp +++ b/runtime/src/hle/vi.cpp @@ -133,22 +133,22 @@ ViState g_vi; // Guest-side state addresses used by the SDK's VI globals. -constexpr uint32_t kViInitializedFlagAddr = 0x80386b38; -constexpr uint32_t kViTvFormatAddr = 0x80386ba8; -constexpr uint32_t kViRenderWidthAddr = 0x80350864; -constexpr uint32_t kViRenderHeightAddr = 0x80350866; -constexpr uint32_t kViXfbWidthAddr = 0x80350872; -constexpr uint32_t kViXfbHeightAddr = 0x8035087c; -constexpr uint32_t kViRetraceCountAddr = 0x80386be4; // matches VIWaitForRetrace/handler -constexpr uint32_t kViTimingGuardAddr = 0x80386b44; -constexpr uint32_t kViPreRetraceCallback = 0x80386bb8; -constexpr uint32_t kViPostRetraceCallback = 0x80386bb4; -constexpr uint32_t kViNextFrameBufferAddr = 0x80386ba0; -constexpr uint32_t kViNextFrameBufferHwAddr = 0x80350890; -constexpr uint32_t kViRetraceQueueAddr = 0x80386bc0; // Thread queue for VIWaitForRetrace +const uint32_t kViInitializedFlagAddr = MKW_GADDR(80386b38); +const uint32_t kViTvFormatAddr = MKW_GADDR(80386ba8); +const uint32_t kViRenderWidthAddr = MKW_GADDR(80350864); +const uint32_t kViRenderHeightAddr = MKW_GADDR(80350866); +const uint32_t kViXfbWidthAddr = MKW_GADDR(80350872); +const uint32_t kViXfbHeightAddr = MKW_GADDR(8035087c); +const uint32_t kViRetraceCountAddr = MKW_GADDR(80386be4); // matches VIWaitForRetrace/handler +const uint32_t kViTimingGuardAddr = MKW_GADDR(80386b44); +const uint32_t kViPreRetraceCallback = MKW_GADDR(80386bb8); +const uint32_t kViPostRetraceCallback = MKW_GADDR(80386bb4); +const uint32_t kViNextFrameBufferAddr = MKW_GADDR(80386ba0); +const uint32_t kViNextFrameBufferHwAddr = MKW_GADDR(80350890); +const uint32_t kViRetraceQueueAddr = MKW_GADDR(80386bc0); // Thread queue for VIWaitForRetrace // EGG::BaseSystem::sSystem pointer - must be non-null before post-retrace callback is valid -constexpr uint32_t kEggSSystemAddr = 0x80386F60; +const uint32_t kEggSSystemAddr = MKW_GADDR(80386F60); std::chrono::microseconds IntervalForFormat(uint32_t tvFormat) { // NTSC-ish defaults to 60 Hz; PAL uses 50 Hz. diff --git a/runtime/src/music_attenuation.cpp b/runtime/src/music_attenuation.cpp index d03c3cf..ad031c1 100644 --- a/runtime/src/music_attenuation.cpp +++ b/runtime/src/music_attenuation.cpp @@ -1,4 +1,5 @@ #include "music_attenuation.h" +#include "guest_abi/guest_region.h" #include "memory.h" @@ -28,7 +29,7 @@ namespace MusicAttenuation { namespace { -constexpr uint32_t kSoundManagerPointer = 0x809C2898u; +const uint32_t kSoundManagerPointer = MKW_GADDR(809C2898); constexpr uint32_t kArchivePlayerOffset = 0x5BCu; constexpr uint32_t kSoundPlayersOffset = 0x34u; constexpr uint32_t kSoundPlayerVolumeOffset = 0x2Cu; diff --git a/runtime/src/recomp_mod_loader.cpp b/runtime/src/recomp_mod_loader.cpp index 104ff0d..61637ff 100644 --- a/runtime/src/recomp_mod_loader.cpp +++ b/runtime/src/recomp_mod_loader.cpp @@ -1,4 +1,5 @@ #include "recomp_mod_loader.h" +#include "guest_abi/guest_region.h" #include #include @@ -198,8 +199,8 @@ bool IsKnownBaseRelLoaderWrite(const ExecutableRange& range) { // The game copies and relocates REL sections before executing them. Those // writes are normal loading/linking, not runtime code patches. - return (cpu->lr >= 0x8000A000u && cpu->lr < 0x8000A400u) || - (cpu->lr >= 0x801A6000u && cpu->lr < 0x801A7000u); + return (cpu->lr >= MKW_GADDR(8000A000) && cpu->lr < MKW_GADDR(8000A400)) || + (cpu->lr >= MKW_GADDR(801A6000) && cpu->lr < MKW_GADDR(801A7000)); } } // namespace diff --git a/runtime/src/system_bridge.cpp b/runtime/src/system_bridge.cpp index c67eb8a..18ca7c6 100644 --- a/runtime/src/system_bridge.cpp +++ b/runtime/src/system_bridge.cpp @@ -334,8 +334,8 @@ void SystemBridge::Initialize() { // These set up vtables and other critical infrastructure RT_LOG(RT_TAG_RUNTIME) << "Running static constructors for main DOL..." << std::endl; - const uint32_t dolCtorStart = 0x80244DE0; - const uint32_t dolCtorEnd = 0x80244EA0; + const uint32_t dolCtorStart = MKW_GADDR(80244DE0); + const uint32_t dolCtorEnd = MKW_GADDR(80244EA0); int dolCount = 0; for (uint32_t addr = dolCtorStart; addr < dolCtorEnd; addr += 4) { @@ -374,8 +374,8 @@ void SystemBridge::Initialize() { RT_LOG(RT_TAG_RUNTIME) << "Running static constructors for StaticR.rel..." << std::endl; // Define range for StaticR.rel .ctors - const uint32_t ctorStart = 0x8088f400; - const uint32_t ctorEnd = 0x8088f704; + const uint32_t ctorStart = MKW_GADDR(8088f400); + const uint32_t ctorEnd = MKW_GADDR(8088f704); int count = 0; for (uint32_t addr = ctorStart; addr < ctorEnd; addr += 4) { @@ -484,7 +484,7 @@ void SystemBridge::SeedLowMemDefaults(const Memory::Config& config) { }; std::vector entries; - constexpr uint32_t kMem1ArenaLoDefault = 0x80399180u; + const uint32_t kMem1ArenaLoDefault = ::GuestRegion::CurrentFacts().mem1ArenaLo; uint32_t mem1ArenaHiDefault = 0x817f0520u; constexpr uint32_t kBusClockHz = static_cast(TimeBaseContract::kBusClockHz); @@ -508,10 +508,10 @@ void SystemBridge::SeedLowMemDefaults(const Memory::Config& config) { // Retro Rewind reads the region byte directly from here while building its // Retro-WFC payload URL, and OSGetAppGamename reads the app code mirrors // at 0x80003180/0x80003194 while building NAS auth fields. - entries.push_back({0x80000000u, 0x524D4350u, "Disc game code"}); // RMCP + entries.push_back({0x80000000u, ::GuestRegion::CurrentFacts().gameCode, "Disc game code"}); entries.push_back({0x80000004u, 0x30310100u, "Disc maker/id"}); // 01 + disc 1 - entries.push_back({0x80003180u, 0x524D4350u, "OS app game code"}); // RMCP - entries.push_back({0x80003194u, 0x524D4350u, "OS app gamename"}); // RMCP + entries.push_back({0x80003180u, ::GuestRegion::CurrentFacts().gameCode, "OS app game code"}); + entries.push_back({0x80003194u, ::GuestRegion::CurrentFacts().gameCode, "OS app gamename"}); if (RuntimeProduct::IsRetroRewind()) { entries.push_back({0x800017D8u, 0x00000001u, "Retro Rewind recomp runtime marker", true}); } diff --git a/runtime/tests/nand_settings_tests.cpp b/runtime/tests/nand_settings_tests.cpp index 3231911..9018a09 100644 --- a/runtime/tests/nand_settings_tests.cpp +++ b/runtime/tests/nand_settings_tests.cpp @@ -91,7 +91,7 @@ int main() { Require(settings && RuntimeNandSettings::HasIdentity(*settings)); Require(settings->at("SERNO") == "987654321" && settings->at("CODE") == "LU"); Require(settings->at("AREA") == "USA" && settings->at("GAME") == "US"); - Require(Ensure(root, error, 1800000123), "Existing imported NAND must work"); + Require(Ensure(root, error, {}, 1800000123), "Existing imported NAND must work"); std::array after{}; { std::ifstream input(path, std::ios::binary); @@ -112,11 +112,11 @@ int main() { std::filesystem::resize_file(path, 128); Require(!RuntimeNandSettings::Read(root)); const auto damaged = ReadBytes(path); - Require(!Ensure(root, error, 1800000123), "Do not replace a truncated identity"); + Require(!Ensure(root, error, {}, 1800000123), "Do not replace a truncated identity"); Require(ReadBytes(path) == damaged, "Damaged file must remain untouched"); const auto fresh = root / "fresh"; - Require(Ensure(fresh, error, 1800000123), "Missing setting.txt must initialize"); + Require(Ensure(fresh, error, {}, 1800000123), "Missing setting.txt must initialize"); const auto generated = Read(fresh); Require(generated && HasIdentity(*generated), "Generated file must be readable"); Require(generated->at("SERNO") == "800000123", "Persist Dolphin-generated serial"); @@ -127,13 +127,23 @@ int main() { "Complete Dolphin boot settings"); const auto firstBoot = ReadBytes(FilePath(fresh)); Require(firstBoot.size() == 256 && firstBoot.back() == 0, "Dolphin buffer size and raw zero padding"); - Require(Ensure(fresh, error, 1900000999), "Second boot"); + Require(Ensure(fresh, error, {}, 1900000999), "Second boot"); Require(ReadBytes(FilePath(fresh)) == firstBoot, "Second boot must not change any bytes"); + const auto freshNtsc = root / "fresh-ntsc"; + const BootDefaults ntscDefaults{"USA", "RVL-001(USA)", "LU", "NTSC", "US"}; + Require(Ensure(freshNtsc, error, ntscDefaults, 1800000123), "Regional setting.txt must initialize"); + const auto generatedNtsc = Read(freshNtsc); + Require(generatedNtsc && HasIdentity(*generatedNtsc), "Generated NTSC file must be readable"); + Require(generatedNtsc->at("CODE") == "LU" && generatedNtsc->at("AREA") == "USA" && + generatedNtsc->at("GAME") == "US", "NTSC first-boot fields"); + Require(generatedNtsc->at("MODEL") == "RVL-001(USA)" && generatedNtsc->at("VIDEO") == "NTSC", + "Complete NTSC boot settings"); + const auto blocked = root / "blocked"; { std::ofstream output(blocked); output << "file obstructing NAND directory"; } - Require(!Ensure(blocked, error, 1800000123), "Write failure must not return an ephemeral identity"); - Require(!Ensure(root / "bad-clock", error, -1), "Clock failure must not initialize"); + Require(!Ensure(blocked, error, {}, 1800000123), "Write failure must not return an ephemeral identity"); + Require(!Ensure(root / "bad-clock", error, {}, -1), "Clock failure must not initialize"); const auto concurrent = root / "concurrent"; std::array results{}; @@ -141,14 +151,14 @@ int main() { for (size_t i = 0; i < results.size(); ++i) { workers.emplace_back([&, i] { std::string detail; - results[i] = Ensure(concurrent, detail, 1800000001 + i); + results[i] = Ensure(concurrent, detail, {}, 1800000001 + i); }); } for (auto& worker : workers) worker.join(); for (const bool result : results) Require(result, "Concurrent boot must read the persisted winner"); const auto winner = ReadBytes(FilePath(concurrent)); Require(Read(concurrent) && HasIdentity(*Read(concurrent)), "Concurrent boot must persist valid settings"); - Require(Ensure(concurrent, error, 1900000999), "Boot after concurrent initialization"); + Require(Ensure(concurrent, error, {}, 1900000999), "Boot after concurrent initialization"); Require(ReadBytes(FilePath(concurrent)) == winner, "Concurrent winner must remain stable"); // Independently decode as Nintendo does: stop at the first encoded NUL. diff --git a/tools/region/gen_guest_address_table.py b/tools/region/gen_guest_address_table.py new file mode 100644 index 0000000..09e096d --- /dev/null +++ b/tools/region/gen_guest_address_table.py @@ -0,0 +1,182 @@ +#!/usr/bin/env python3 +"""Generate runtime/include/guest_abi/guest_address_table.inc and runtime/include/guest_function_imports.inc. + +The runtime names every guest address by its PAL (RMCP01) address. This scans the runtime for +those identities and writes one row per identity with its NTSC-U and NTSC-J address: + + MKW_GUEST_ADDRESS(, , ) + +Identities the runtime calls through MKW_GUEST_FUNC also get a MKW_GUEST_FUNCTION_IMPORT row. + +Code addresses go through each region's chunk table (projects//region_port.json) and must +be a function entry in that region's validated MAP.txt, or sit at the same offset inside the same +validated function. Data addresses come from projects//data_addresses.txt. An identity +that does not resolve aborts the generation. + +Usage: python -I tools/region/gen_guest_address_table.py +""" +import bisect +import json +import os +import re +import sys + +ROOT = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..")) +RUNTIME = os.path.join(ROOT, "runtime") +OUT = os.path.join(RUNTIME, "include", "guest_abi", "guest_address_table.inc") +IMPORTS_OUT = os.path.join(RUNTIME, "include", "guest_function_imports.inc") + +PAL_TEXT = [(0x80004000, 0x80006460), (0x800072C0, 0x80244DE0), (0x805103B4, 0x8088F400)] + +# Column order is the GuestRegion::Id order in guest_abi/guest_region.h. +REGIONS = ["mkwii-ntsc-u", "mkwii-ntsc-j"] + +HEX = r"([0-9A-Fa-f]{8})(?![0-9A-Fa-f])" +TOKEN_PATTERNS = [re.compile(p) for p in ( + r"PPC_NATIVE_OVERRIDE(?:_VOID)?\s*\(\s*" + HEX, + r"GX_FATAL_STUB\s*\(\s*" + HEX, + r"MKW_GADDR\s*\(\s*" + HEX, + r"MKW_GADDR_CT\s*\(\s*" + HEX, + r"MKW_GUEST_FUNC\s*\(\s*" + HEX, + r"MKW_KNOWN_TYPED_NATIVE\s*\(\s*" + HEX, + r"MKW_KNOWN_NATIVE_CPU_CALL\s*\(\s*" + HEX, + r"REGISTER_NATIVE_FUNCTION(?:_AS)?\s*\(\s*0x" + HEX, + r"REGISTER_TRANSLATED_FUNCTION\s*\(\s*0x" + HEX, + r"GuestRegion::(?:Is|Address)<0x" + HEX, +)] +IMPORT_PATTERN = re.compile(r"MKW_GUEST_FUNC\s*\(\s*" + HEX) +COMMENTS = re.compile(r"//[^\n]*|/\*.*?\*/", re.S) +LABEL_NAME = re.compile(r"(_switch$|_caseD_|^0x)") + + +def scan_identities(): + found, imports = set(), set() + for directory, _, files in os.walk(RUNTIME): + if directory.startswith(os.path.join(RUNTIME, "third_party")): + continue + for name in files: + path = os.path.join(directory, name) + if not name.endswith((".cpp", ".h", ".hpp", ".inc")) or path in (OUT, IMPORTS_OUT): + continue + with open(path, encoding="utf-8", errors="replace") as f: + text = COMMENTS.sub("", f.read()) + for pattern in TOKEN_PATTERNS: + found.update(int(m.group(1), 16) for m in pattern.finditer(text)) + imports.update(int(m.group(1), 16) for m in IMPORT_PATTERN.finditer(text)) + return sorted(found), sorted(imports) + + +def is_text(address): + return any(start <= address < end for start, end in PAL_TEXT) + + +def load_map(path): + entries = [] + with open(path, encoding="utf-8") as f: + for line in f: + line = line.strip() + if line and not line.startswith("#"): + address, _, name = line.partition(" ") + entries.append((int(address, 16), name.strip())) + entries.sort() + return entries + + +def load_chunks(project): + with open(os.path.join(ROOT, "projects", project, "region_port.json"), encoding="utf-8") as f: + return [tuple(int(v, 16) for v in chunk) for chunk in json.load(f)["chunks"]] + + +def load_data_table(project): + table = {} + with open(os.path.join(ROOT, "projects", project, "data_addresses.txt"), encoding="utf-8") as f: + for line in f: + parts = line.split("#", 1)[0].split() + if len(parts) >= 2 and parts[1] != "?": + table[int(parts[0], 16)] = int(parts[1], 16) + return table + + +def containing_function(entries, addresses, address): + i = bisect.bisect_right(addresses, address) - 1 + while i >= 0 and LABEL_NAME.search(entries[i][1]): + i -= 1 + if i < 0: + return None, None + return entries[i][1], address - entries[i][0] + + +def port_region(project, identities, pal_entries): + chunks = load_chunks(project) + data = load_data_table(project) + target_entries = load_map(os.path.join(ROOT, "projects", project, "MAP.txt")) + target_starts = {a for a, _ in target_entries} + target_by_name = {} + for address, name in target_entries: + target_by_name.setdefault(name, address) + pal_addresses = [a for a, _ in pal_entries] + + mapping, problems = {}, [] + for pal in identities: + if not is_text(pal): + if pal in data: + mapping[pal] = data[pal] + else: + problems.append(f"{pal:08X}: data address missing from projects/{project}/data_addresses.txt") + continue + ported = next((pal - s + d for s, e, d in chunks if s <= pal < e), None) + if ported is None: + problems.append(f"{pal:08X}: code address outside every chunk") + continue + if ported not in target_starts: + name, offset = containing_function(pal_entries, pal_addresses, pal) + start = target_by_name.get(name) if name else None + if start is None or start + offset != ported: + problems.append(f"{pal:08X} -> {ported:08X}: not a validated entry of {project}/MAP.txt " + f"(containing function {name} not confirmed at the same offset)") + continue + mapping[pal] = ported + return mapping, problems + + +def write(path, macro, header, rows, columns, names): + lines = ["// AUTO-GENERATED by tools/region/gen_guest_address_table.py - DO NOT EDIT."] + header + for pal in rows: + row = ", ".join([f"{pal:08X}"] + [f"{column[pal]:08X}" for column in columns]) + name = names.get(pal) + lines.append(f"{macro}({row})" + (f" // {name}" if name and not name.startswith("0x") else "")) + with open(path, "w", encoding="utf-8", newline="\n") as f: + f.write("\n".join(lines) + "\n") + + +def main(): + identities, imports = scan_identities() + pal_entries = load_map(os.path.join(ROOT, "projects", "mkwii", "MAP.txt")) + names = dict(pal_entries) + columns, failed = [], False + for project in REGIONS: + mapping, problems = port_region(project, identities, pal_entries) + if problems: + failed = True + print(f"{project}: {len(problems)} identities did not resolve:") + for problem in problems: + print(" " + problem) + columns.append(mapping) + if failed: + return 1 + + write(OUT, "MKW_GUEST_ADDRESS", [ + "// PAL identity -> address in each region: MKW_GUEST_ADDRESS(PAL, NTSC-U, NTSC-J).", + "// Sorted by PAL address; guest_abi/guest_region.h relies on that.", + ], identities, columns, names) + write(IMPORTS_OUT, "MKW_GUEST_FUNCTION_IMPORT", [ + "// Base translations the runtime calls directly: MKW_GUEST_FUNCTION_IMPORT(PAL, NTSC-U, NTSC-J).", + ], imports, columns, names) + code = sum(1 for a in identities if is_text(a)) + print(f"wrote {len(identities)} identities ({code} code, {len(identities) - code} data), " + f"{len(imports)} function imports") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/region/port_data_addresses.py b/tools/region/port_data_addresses.py new file mode 100644 index 0000000..697b0b7 --- /dev/null +++ b/tools/region/port_data_addresses.py @@ -0,0 +1,548 @@ +#!/usr/bin/env python3 +""" +port_data_addresses.py - port the PAL data-global addresses named by the WiiCompiled runtime to +another region, and prove each one from that region's own executables. + +The NTSC-U table (projects/mkwii-ntsc-u/data_addresses.txt) was built by hand: for each PAL global +it records the NTSC-U address together with the instruction that references it. This ports the +same set to a new region without repeating that by hand, and without guessing: + + 1. Recover the PAL address of the referencing instruction by inverting the PAL->E chunk table. + 2. Map that PAL code address into the target region with the target's chunk table. + 3. Disassemble the instruction actually present there and recompute the address it forms + (lis/addi, lis/ori, or a d-form displacement off r13/r2). + 4. Independently chunk-port the PAL *data* address, and accept only when the two agree. + +Steps 3 and 4 are independent derivations, so agreement is the proof. Anything that does not +decode, or where the two disagree, is written out as unresolved rather than guessed at. + +Where the chunk table is not instruction-exact (it is function-granular, so a function that +changed length between regions throws off every address inside it), a second, independent method +takes over: masked instruction matching. The compiled instruction stream for the same SDK source +is identical between regions apart from the fields that legitimately move - SDA displacements, +branch targets and lis high halves. Mask exactly those out and the window around a reference site +becomes a signature; if it occurs exactly once in the target region's code, that occurrence is +the same instruction, and the displacement read from it is that region's address for the global. +A unique match is the proof, so zero matches or several are reported rather than guessed at. +REL address halves are resolved through the region's import relocation table. Explicit PAL +base/field instructions and immutable indexed records replace the old offset guesses. The source +and target must match the clean project hashes; --reference-region P uses PAL in place of US. +Plain Python 3 stdlib. Deterministic output. +""" +import argparse, hashlib, os, re, struct, sys +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +import port_map as pm + +ROOT = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..")) +D_FORM = frozenset((32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)) +SDA = pm.SDA_BASES + + +def invert(chunks): + return [(d, d + (e - s), s) for s, e, d in chunks] + + +def port(chunks, addr): + for s, e, d in chunks: + if s <= addr < e: + return addr - s + d + return None + + +class Image: + """Flat reader over one region's DOL sections plus its REL text/data, by guest address.""" + + def __init__(self, region, disc_root): + self.spans = [] + disc = os.path.join(disc_root, f"RMC{region}01") + dol = open(os.path.join(disc, "sys", "main.dol"), "rb").read() + project = "mkwii" if region == "P" else pm.PROJECT_DIR[region] + manifest = open(os.path.join(ROOT, "projects", project, "recomp.yml")).read() + pins = re.findall(r"^ sha256: ([0-9a-f]{64})$", manifest, re.MULTILINE) + if len(pins) != 2: + raise ValueError(f"Expected DOL and REL SHA-256 pins for RMC{region}01") + if hashlib.sha256(dol).hexdigest() != pins[0]: + raise ValueError(f"RMC{region}01 main.dol does not match the clean project hash") + off = struct.unpack(">18I", dol[0:72]); addr = struct.unpack(">18I", dol[72:144]) + size = struct.unpack(">18I", dol[144:216]) + # The DOL header lays out 7 text sections then 11 data sections; only the text ones + # carry instructions the masked matcher may treat as such. + for i in range(18): + if size[i]: + self.spans.append((addr[i], addr[i] + size[i], dol[off[i]:off[i] + size[i]], i < 7)) + rel = open(os.path.join(disc, "files", "rel", "StaticR.rel"), "rb").read() + if hashlib.sha256(rel).hexdigest() != pins[1]: + raise ValueError(f"RMC{region}01 StaticR.rel does not match the clean project hash") + load = pm.REL_LOAD_ADDRESS[region] + n = struct.unpack(">I", rel[0x0C:0x10])[0] + info = struct.unpack(">I", rel[0x10:0x14])[0] + for i in range(n): + o, ln = struct.unpack(">II", rel[info + i * 8:info + i * 8 + 8]) + is_text = bool(o & 1) # the REL section table keeps the executable bit in bit 0 + o &= ~3 + if ln and o: + self.spans.append((load + o, load + o + ln, rel[o:o + ln], is_text)) + # REL immediates are placeholders until the loader applies the import table. + # Decode addresses from that table, not from the zero halves on disc. + bss = next(s for name, s, _e in pm.REL_SECTIONS[region] if name == "bss") + linked = pm.parse_rel(os.path.join(disc, "files", "rel", "StaticR.rel"), load, bss) + self.relocated_words = {} + self.address_low_sites = set() + for relocation in linked.relocations: + if relocation.module not in (0, linked.module_id): + continue + if relocation.type not in (pm.R_PPC_ADDR16_LO, pm.R_PPC_ADDR16_HI, pm.R_PPC_ADDR16_HA): + continue + a = relocation.site & ~3 + if relocation.site & 3 != 2 or not any( + executable and start <= a < end for start, end, _data, executable in self.spans): + continue + w = self.word(a) + if w is None: + raise ValueError(f"REL relocation at unmapped instruction {a:08X}") + target = relocation.target + half = (target if relocation.type == pm.R_PPC_ADDR16_LO else + target >> 16 if relocation.type == pm.R_PPC_ADDR16_HI else + (target + 0x8000) >> 16) + self.relocated_words[a] = (w & 0xFFFF0000) | (half & 0xFFFF) + self.address_low_sites.add(a) + # Also mask the low half of DOL lis/addi address materialization when matching. + for s, _e, data, executable in self.spans: + if not executable: + continue + words = struct.unpack(f">{len(data) // 4}I", data[:len(data) // 4 * 4]) + for i, w in enumerate(words): + if w >> 26 != 15 or (w >> 16) & 31: + continue + rt = (w >> 21) & 31 + for j in range(i + 1, min(i + 33, len(words))): + nxt = words[j] + op, nrt, ra = nxt >> 26, (nxt >> 21) & 31, (nxt >> 16) & 31 + if ra == rt and (op in D_FORM or (op == 14 and nrt == rt)): + imm = nxt & 0xFFFF + value = ((w & 0xFFFF) << 16) + (imm - 0x10000 if imm & 0x8000 else imm) + if 0x80000000 <= value < 0x82000000: + self.address_low_sites.add(s + j * 4) + break + if rt in gpr_writes(nxt): + break + + def normalized_word(self, a): + w = self.word(a) + if w is None: + return None + return w & 0xFFFF0000 if a in self.address_low_sites else _norm(w) + + def normalized(self): + """The code spans as masked instruction words, computed once.""" + if getattr(self, "_normalized", None) is None: + out = [] + for s, e, b, is_text in self.spans: + if not is_text: # data sections carry no instructions + continue + n = (e - s) // 4 + if n: + out.append((s, [self.normalized_word(s + 4 * i) for i in range(n)])) + self._normalized = out + return self._normalized + + def index(self): + """Masked word -> [(span, instruction index)], so a signature can be probed directly.""" + if getattr(self, "_index", None) is None: + idx = {} + for si, (_base, words) in enumerate(self.normalized()): + for i, w in enumerate(words): + idx.setdefault(w, []).append((si, i)) + self._index = idx + return self._index + + def word(self, a): + if a in getattr(self, "relocated_words", {}): + return self.relocated_words[a] + for s, e, b, _is_text in self.spans: + if s <= a < e - 3: + return struct.unpack(">I", b[a - s:a - s + 4])[0] + return None + + +def _norm(w): + """One instruction with the fields that legitimately differ between regions masked out.""" + op, ra = w >> 26, (w >> 16) & 31 + if op == 18: # b/bl: displacement differs + return w & 0xFC000003 + if op == 16: # bc: keep BO/BI, drop the displacement + return w & 0xFFFF0000 + if op == 15: # lis: high half differs + return w & 0xFFFF0000 + if (op in D_FORM or op == 14) and ra in (2, 13): # the SDA displacement we are solving for + return w & 0xFFFF0000 + return w + + +def matched_site(src_img, src_site, dst_img): + """dst_img's counterpart of src_img@src_site, found by masked instruction matching. + + Returns (address, half_window) for a unique match, else (None, None). Widening windows are + tried in turn: the narrowest that matches exactly once is the least likely to be thrown off + by an unrelated edit nearby, and a wider one rescues a site whose neighbourhood is generic.""" + for half in (10, 16, 24): + sig = [src_img.normalized_word(src_site + 4 * k) for k in range(-half, half + 1)] + if any(w is None for w in sig): + continue + # Probe on the rarest instruction in the window, not the first: a common prologue word + # would mean re-checking most of the image for every site. + idx = dst_img.index() + probe = min(range(len(sig)), key=lambda i: len(idx.get(sig[i], ()))) + hits = [] + for si, i in idx.get(sig[probe], ()): + base, words = dst_img.normalized()[si] + j = i - probe + if j < 0 or j + len(sig) > len(words): + continue + if words[j:j + len(sig)] == sig: + hits.append(base + 4 * (j + half)) + if len(hits) > 1: + break + if len(hits) == 1: + return hits[0], half + return None, None + + +def formed_address(img, a, sda13, sda2): + """The data address the instruction at `a` forms, or None if it forms none.""" + w = img.word(a) + if w is None: + return None + op, rt, ra, imm = w >> 26, (w >> 21) & 31, (w >> 16) & 31, w & 0xFFFF + simm = imm - 0x10000 if imm & 0x8000 else imm + if op == 15 and ra == 0: + # lis rT,hi forms only the high half. The low half arrives in a later instruction, and + # not always the next one: it may be addi/ori into the same register, or a d-form access + # that carries the displacement (lis r3,0x8035; lwz r4,0x1E4(r3)). Scan forward for the + # first instruction that consumes rT, and give up rather than return a bare high half - + # 0x80340000 is not an address anybody named. + for k in range(1, 33): + nxt = img.word(a + 4 * k) + if nxt is None: + return None + nop, nrt, nra, nimm = nxt >> 26, (nxt >> 21) & 31, (nxt >> 16) & 31, nxt & 0xFFFF + nsimm = nimm - 0x10000 if nimm & 0x8000 else nimm + if nop == 14 and nrt == rt and nra == rt: # addi rT,rT,lo + return ((imm << 16) + nsimm) & 0xFFFFFFFF + if nop == 24 and nrt == rt and nra == rt: # ori rT,rT,lo + return (imm << 16) | nimm + if nop in D_FORM and nra == rt: # lwz/stw/... lo(rT) + return ((imm << 16) + nsimm) & 0xFFFFFFFF + if rt in gpr_writes(nxt): # rT clobbered: sequence ended + return None + return None + if op in D_FORM or op == 14: + if ra == 13: + return (sda13 + simm) & 0xFFFFFFFF + if ra == 2: + return (sda2 + simm) & 0xFFFFFFFF + return None + + +# Explicit object references, not nearest-neighbour arithmetic. Each field is named by +# its PAL base materialization and its own addi/load/store instruction. These sites come +# from the NTSC-U evidence table inverted through CHUNKS_E and calibrated on clean PAL. +FIELD_REFERENCES = { + 0x802574A0: (0x8021B310, 0x8021B314, 0x8021B378, 0x80257480, 31, None), + 0x802574E0: (0x8021B310, 0x8021B314, 0x8021B388, 0x80257480, 31, None), + 0x80257520: (0x8021B310, 0x8021B314, 0x8021B514, 0x80257480, 31, None), + 0x80257540: (0x8021B310, 0x8021B314, 0x8021B5A4, 0x80257480, 31, None), + 0x809C183C: (0x80565270, 0x80565278, 0x80565288, 0x809C1830, 5, None), + 0x809BEBA0: (0x80550CD4, 0x80550CDC, 0x80550CFC, 0x809BEB00, 30, 0x80550CF8), + 0x809BEBA4: (0x80550CD4, 0x80550CDC, 0x80550F14, 0x809BEB00, 30, 0x80550CF8), + 0x809BEBA5: (0x80550CD4, 0x80550CDC, 0x80550F0C, 0x809BEB00, 30, 0x80550CF8), + 0x809BEBA6: (0x80550CD4, 0x80550CDC, 0x80550F18, 0x809BEB00, 30, 0x80550CF8), + 0x809BEBA7: (0x80550CD4, 0x80550CDC, 0x80550E1C, 0x809BEB00, 30, 0x80550CF8), +} + + +def gpr_writes(w): + """Conservative integer-register writes for the instructions in these reference windows.""" + op, rt, ra = w >> 26, (w >> 21) & 31, (w >> 16) & 31 + writes = set() + if op in (7, 8, 12, 13, 14, 15, 32, 33, 34, 35, 40, 41, 42, 43): + writes.add(rt) + if op == 46: # lmw + writes.update(range(rt, 32)) + if op in (20, 21, 23, 24, 25, 26, 27, 28, 29): + writes.add(ra) + if op in (33, 35, 37, 39, 41, 43, 45, 49, 51, 53, 55): + writes.add(ra) + if op == 31: + xo = (w >> 1) & 1023 + if xo in (55, 119, 183, 247, 311, 375, 439, 567, 631, 695, 759): + writes.add(ra) # indexed update forms also replace their base register + # compares, stores, cache/barrier operations, mtspr and mtcrf don't define a GPR. + if xo not in (0, 32, 144, 150, 151, 183, 215, 247, 407, 439, 467, + 535, 567, 599, 631, 663, 695, 727, 759, + 54, 86, 246, 278, 598, 854, 982, 1014): + if xo in (24, 26, 28, 60, 124, 284, 316, 412, 444, 476, 536, 792, 824, 922, 954): + writes.add(ra) + else: + writes.add(rt) + if op in (16, 18) and w & 1: + writes.update(range(3, 13)) # ABI caller-clobbered registers + return writes + + +def verified_field(pal, source, target, region): + if pal not in FIELD_REFERENCES: + return None, None + base_site, base_end, field_site, expected_base, field_reg, move_site = FIELD_REFERENCES[pal] + sites = [base_site, base_end, field_site] + ([move_site] if move_site else []) + mapped = {} + for site in sites: + hit, _half = matched_site(source, site, target) + if hit is None: + return None, None + mapped[site] = hit + if formed_address(source, base_site, *SDA["P"]) != expected_base: + return None, None + base = formed_address(target, mapped[base_site], *SDA[region]) + if base is None: + return None, None + base_reg = (source.word(base_site) >> 21) & 31 + if (target.word(mapped[base_site]) >> 21) & 31 != base_reg: + return None, None + if mapped[base_end] - mapped[base_site] != base_end - base_site: + return None, None + # The low-half assignment and optional base copy must retain the same instruction shape. + if source.word(base_end) & 0xFFFF0000 != target.word(mapped[base_end]) & 0xFFFF0000: + return None, None + start, target_start, tracked = base_end, mapped[base_end], base_reg + if move_site: + expected_move = (14 << 26) | (field_reg << 21) | (base_reg << 16) + if source.word(move_site) != expected_move or target.word(mapped[move_site]) != expected_move: + return None, None + # Check the materialized register survives until its explicit copy. + for image, lo, hi in ((source, base_end, move_site), + (target, mapped[base_end], mapped[move_site])): + if any(base_reg in gpr_writes(image.word(a)) for a in range(lo + 4, hi, 4)): + return None, None + start, target_start, tracked = move_site, mapped[move_site], field_reg + for image, lo, hi in ((source, start, field_site), (target, target_start, mapped[field_site])): + if hi <= lo or any(tracked in gpr_writes(image.word(a)) for a in range(lo + 4, hi, 4)): + return None, None + w, tw = source.word(field_site), target.word(mapped[field_site]) + displacement = w & 0xFFFF + displacement -= 0x10000 if displacement & 0x8000 else 0 + if (w != tw or w >> 26 not in D_FORM | {14} or (w >> 16) & 31 != field_reg + or expected_base + displacement != pal): + return None, None + return base + displacement, (f"base @{mapped[base_site]:08X} -> 0x{base:08X}; " + f"field @{mapped[field_site]:08X} word {tw:08X} " + f"(unique PAL instruction matches; register r{field_reg} preserved)") + + +def verified_record(pal, source, target, region): + if pal != 0x802A3EF4: + return None, None + base_site, stride_site, expected_base = 0x8023E574, 0x8023E56C, 0x802A3EE8 + base_hit, _ = matched_site(source, base_site, target) + stride_hit, _ = matched_site(source, stride_site, target) + if base_hit is None or stride_hit is None: + return None, None + if formed_address(source, base_site, *SDA["P"]) != expected_base: + return None, None + base = formed_address(target, base_hit, *SDA[region]) + if base is None or source.word(stride_site) != 0x1C80000C or target.word(stride_hit) != 0x1C80000C: + return None, None + # The two immutable canvas records must reproduce PAL byte-for-byte in the target. + if any(source.word(expected_base + k) != target.word(base + k) for k in range(0, 24, 4)): + return None, None + return base + 12, (f"table @{base_hit:08X} -> 0x{base:08X}; stride @{stride_hit:08X} " + "mulli r4,r0,12; both 12-byte records equal PAL") + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument("--region", required=True, choices=["J"], + help="target region letter: J (NTSC-J)") + ap.add_argument("--disc-root", required=True, + help="directory holding the extracted discs as RMC?01/ (sys/main.dol and " + "files/rel/StaticR.rel under each); the reference disc and target are read") + ap.add_argument("--reference-region", choices=["P", "E"], default="E", + help="reference disc: PAL or NTSC-U; the evidence table remains NTSC-U") + ap.add_argument("--source-table", + default=os.path.join(ROOT, "projects", pm.PROJECT_DIR["E"], "data_addresses.txt")) + ap.add_argument("--out", default=None) + args = ap.parse_args() + region = args.region + out = args.out or os.path.join(ROOT, "projects", pm.PROJECT_DIR[region], "data_addresses.txt") + with open(args.source_table) as source: + source_lines = source.readlines() + pal_proof_globals = {f"{a:08X}" for a in FIELD_REFERENCES} | {"802A3EF4"} + pal_required = any(parts[0].upper() in pal_proof_globals + for line in source_lines if (parts := line.split("#", 1)[0].split())) + pal_disc = os.path.join(args.disc_root, "RMCP01") + if pal_required and not all(os.path.isfile(os.path.join(pal_disc, path)) + for path in ("sys/main.dol", "files/rel/StaticR.rel")): + ap.error("FIELD/RECORD proofs require clean PAL inputs: " + "RMCP01/sys/main.dol and RMCP01/files/rel/StaticR.rel under --disc-root") + + inv_e = invert(pm.CHUNKS_E) + dst = pm.CHUNK_TABLES[region] + img = Image(region, args.disc_root) + reference = args.reference_region + reference_image = Image(reference, args.disc_root) + sda13, sda2 = SDA[region] + reference_sda13, reference_sda2 = SDA[reference] + + # Globals that are section boundaries rather than referenced objects. The PAL start address + # maps to the target's start address for the same named section, which the section tables + # (themselves read out of the shipped executables) state directly. + boundaries = {} + for tbl, pal_tbl in ((pm.DOL_SECTIONS[region], pm.DOL_SECTIONS["P"]), + (pm.REL_SECTIONS[region], pm.REL_SECTIONS["P"])): + for (name, start, _end), (pname, pstart, _pe) in zip(tbl, pal_tbl): + if name == pname: + boundaries[pstart] = (start, name) + + # Field/record proofs need PAL itself, never a presumed offset between allocations. + pal_image = reference_image if reference == "P" else (Image("P", args.disc_root) + if os.path.exists(os.path.join(pal_disc, "sys", "main.dol")) else None) + + rows, proven, unresolved = [], 0, 0 + for line in source_lines: + body = line.split("#", 1)[0].strip() + if not body: + continue + parts = body.split() + if len(parts) < 3 or parts[1] == "?": + continue + pal, e_addr, evidence = int(parts[0], 16), int(parts[1], 16), " ".join(parts[2:]) + cand = port(dst, pal) + # Every "@xxxxxxxx" in the evidence is a reference site, including the "Name@addr" form. + sites = [int(h, 16) for h in re.findall(r"@([0-9A-Fa-f]{8})\b", evidence)] + if reference == "P": + sites = [mapped for a in sites if (mapped := port(inv_e, a)) is not None] + reference_address = pal if reference == "P" else e_addr + # The chunk-table port is the candidate. Disassembly only ever CONFIRMS it: a reference + # site can form some other object's address (the evidence lists several sites, and a + # function forms many addresses), so letting a decode override the candidate produced + # nonsense like 0x00000000. Confirmation is agreement, never substitution. + # Calibrate on the selected clean reference disc: a cited site must form its known + # address for this global (the E table address, or the PAL identity). A site that + # forms a different object is ignored; unique instruction matching must also confirm + # the target code site before its decoded address is accepted. + calibrated = [a for a in sites + if formed_address(reference_image, a, reference_sda13, reference_sda2) == reference_address] + + note, got = "no-reference-site", None + seen = [] + for site_ref in calibrated: + site_pal = site_ref if reference == "P" else port(inv_e, site_ref) + site_r = port(dst, site_pal) if site_pal is not None else None + if site_r is None: + continue + # A function-granular code port is not sufficient inside a resized function. + # Require the calibrated instruction's unique signature to identify this site. + hit, _half = matched_site(reference_image, site_ref, img) + if hit != site_r: + continue + formed = formed_address(img, site_r, sda13, sda2) + if formed is not None: + got, note = formed, f"{site_r:08X} (calibrated on {reference}@{site_ref:08X})" + break + for site_ref in ([] if got is not None else sites): + site_pal = site_ref if reference == "P" else port(inv_e, site_ref) + site_r = port(dst, site_pal) if site_pal is not None else None + if site_r is None: + continue + formed = formed_address(img, site_r, sda13, sda2) + if formed is None: + continue + seen.append((site_r, formed)) + if cand is not None and formed == cand: + got, note = formed, f"{site_r:08X}" + break + if got is None and seen: + note = "; ".join(f"{a:08X} forms 0x{v:08X}" for a, v in seen[:3]) + + # Masked instruction matching. Used only where the steps above did not confirm an + # address, because they are cheaper; this one does not depend on the chunk table being + # instruction-exact, so it is what resolves globals inside functions whose length + # changed between regions. Calibrated sites first, for the same reason as above. + match_addr, match_note = None, None + if got is None: + # Calibrated sites only. An uncalibrated site forms some other object - the GX + # globals are reached through a pointer cell, so the site loads the cell, not the + # object - and matching it would resolve the wrong address with full confidence. + for site_ref in calibrated: + hit, half = matched_site(reference_image, site_ref, img) + if hit is None: + continue + formed = formed_address(img, hit, sda13, sda2) + if formed is None: + continue + match_addr = formed + match_note = f"{hit:08X} (unique +-{half} masked match of {reference}@{site_ref:08X})" + break + if pal in boundaries: + tgt, sname = boundaries[pal] + rows.append(f"{pal:08X} {tgt:08X} SECTION .{sname} start (from the region section table)") + proven += 1 + elif got is not None and cand is not None and got == cand: + rows.append(f"{pal:08X} {cand:08X} PROVEN @{note} forms 0x{got:08X} (chunk port agrees)") + proven += 1 + elif got is not None: + rows.append(f"{pal:08X} {got:08X} CALIBRATED @{note} forms 0x{got:08X}" + f" (chunk port {'said 0x%08X' % cand if cand is not None else 'has no mapping'})") + proven += 1 + elif match_addr is not None: + agree = ("chunk port agrees" if cand == match_addr else + f"chunk port {'said 0x%08X' % cand if cand is not None else 'has no mapping'}") + rows.append(f"{pal:08X} {match_addr:08X} MATCHED @{match_note}" + f" forms 0x{match_addr:08X} ({agree})") + proven += 1 + elif cand is not None: + rows.append(f"{pal:08X} {cand:08X} CHUNK-ONLY (no reference site confirmed it: {note})") + else: + field, field_note = verified_field(pal, pal_image, img, region) if pal_image else (None, None) + record, record_note = verified_record(pal, pal_image, img, region) if pal_image else (None, None) + if field is not None: + rows.append(f"{pal:08X} {field:08X} FIELD {field_note}") + proven += 1 + elif record is not None: + rows.append(f"{pal:08X} {record:08X} RECORD {record_note}") + proven += 1 + else: + rows.append(f"{pal:08X} ? UNRESOLVED ({note}; no binary-backed field/record proof)") + unresolved += 1 + + header = [ + f"# RMC{region}01 addresses for the PAL (RMCP01) data globals named by the WiiCompiled runtime.", + f"# Generated by tools/region/port_data_addresses.py --region {region} --reference-region {reference}; do not edit by hand.", + "# Format: ", + "# PROVEN - the instruction at the ported reference site forms exactly this address,", + "# and the independent chunk-table port of the PAL address agrees.", + "# CALIBRATED - the reference site reproduces the known reference-disc address for this", + "# global, so its decode in this region is trusted even where the chunk", + "# table has no mapping.", + "# MATCHED - the reference site's instruction window, with the fields that legitimately", + "# differ between regions masked out, occurs exactly once in this region's", + "# code; the displacement was read from that instruction. Used where the", + "# chunk table is not instruction-exact inside a function.", + "# FIELD - uniquely matched PAL base and field instructions, with the base register", + "# preserved and the target's own displacement decoded (including REL relocations).", + "# RECORD - a verified table base, target indexing stride and matching immutable records.", + "# SECTION - a section boundary, taken from the region section table.", + "# CHUNK-ONLY - chunk-table port only; no reference site formed exactly this address.", + f"# Small-data bases: RMC{region}01 r13=0x{sda13:08X} r2=0x{sda2:08X}.", + f"# Totals: {proven} confirmed, {len(rows) - proven - unresolved} chunk-only, {unresolved} unresolved.", + ] + os.makedirs(os.path.dirname(out), exist_ok=True) + open(out, "w").write("\n".join(header + rows) + "\n") + print(f"{region}: {len(rows)} globals -> {proven} confirmed, " + f"{len(rows) - proven - unresolved} chunk-only, {unresolved} unresolved -> {out}") + return 1 if unresolved else 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/region/port_map.py b/tools/region/port_map.py new file mode 100644 index 0000000..3ff0204 --- /dev/null +++ b/tools/region/port_map.py @@ -0,0 +1,1909 @@ +#!/usr/bin/env python3 +""" +port_map.py - port the Mario Kart Wii PAL (RMCP01) function map used by the WiiCompiled +static recompiler to another retail region (NTSC-U RMCE01 or NTSC-J RMCJ01) +and validate every ported entry against that region's own executables (sys/main.dol + +files/rel/StaticR.rel). + +Nothing here guesses: every address that ends up in the output map carries a verdict that +was computed from the target region's binaries (call targets, relocation targets, +exception-table records, function-pointer tables, or at least a terminator/prologue shape). + +Plain Python 3 stdlib only. Output is deterministic (no timestamps, sorted everywhere). + +Method (see MAP_REPORT.md for the numbers of a given run): + A. Build the evidence set K of target function entry points proven by the binaries: + - DOL text: `bl` targets (strong), `b` targets (weak), lis/addi(ori) pairs that + materialise a code address (medium), the DOL entry point (strong). + - DOL extabindex: {function start, size, extab ptr} records (strong). + - DOL data/rodata/ctors/dtors/sdata/sdata2: 32-bit words pointing into DOL or REL + text (medium; runs that look like switch jump tables are excluded). + - REL: text-section `bl`/`b` targets resolved at link time, R_PPC_REL24 relocations + whose site instruction is `bl` (strong) / `b` (weak), R_PPC_ADDR32 relocations into + text (medium; jump-table-like runs excluded), R_PPC_ADDR16_LO/HI/HA relocations into + text (medium), and the REL prolog/epilog/unresolved entry points (strong). + B. Port every PAL entry through the community-validated mkw-sp chunk table and classify the + result: PROVEN (strong evidence) / REFERENCED (medium) / PLAUSIBLE (predecessor is a + terminator and the word decodes as a first instruction) / UNVERIFIED (never emitted). + Refinements, all driven by the binary: + - data-pointer runs that look like switch jump tables (short span, no strong entry + inside) do not count as function-pointer references; + - a conditional-branch target lies inside a function, so it vetoes REFERENCED/PLAUSIBLE + for entries that claim to be functions; + - the PAL map carries Ghidra-style labels: `*_caseD_N`-style case labels are confirmed by + a jump-table reference at the ported address, `*_switch` dispatch sites (and unnamed + entries at such sites) by a `mtctr`+`bctr` pair. + C. Entries the chunk table cannot port: IDENTITY below 0x80004000, else INTERPOLATED when + the PAL gap and the target gap between the nearest PROVEN neighbours hold the same number + of entries, else DROPPED. + D. Verify the CodeWarrior save/restore thunk families the recompiler resolves by name. + E. Emit MAP.txt sorted by target address, deduplicated, parseable by FunctionMap.cs. + H. Append every target entry point K proves that no ported PAL entry covers (bl targets, + .ctors/.dtors entries, REL prolog/epilog/unresolved, extabindex records, function-pointer + tables) as unnamed placeholder entries, reported per evidence class. + F. Emit region_port.json with the vendored chunk table for other tooling. + G. Emit MAP_REPORT.md. + +Usage: + port_map.py --region E --disc-root DIR # DIR/RMCE01/sys/main.dol, DIR/RMCE01/files/rel/StaticR.rel + port_map.py --region K --dol main.dol --rel StaticR.rel +""" + +from __future__ import annotations + +import argparse +import array +import bisect +import collections +import hashlib +import json +import os +import re +import struct +import sys +from dataclasses import dataclass, field +from typing import Dict, List, Optional, Tuple + +TOOL_ID = "tools/region/port_map.py" + +# --------------------------------------------------------------------------------------- +# Region constants +# --------------------------------------------------------------------------------------- +# Section layouts and the chunk table below are vendored from the MKW-SP project +# (https://github.com/mkw-sp/mkw-sp, port.py, MIT license). The chunk table maps PAL +# (RMCP01) addresses to NTSC-U (RMCE01) addresses: if src_start <= a < src_end then +# a - src_start + dst_start. +# +# Copyright (c) 2021-2023 Pablo Stebler. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of this software +# and associated documentation files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or +# substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING +# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +REL_LOAD_ADDRESS = {"P": 0x805102E0, "E": 0x8050BF60, "J": 0x8050FC60} +# Small-data bases (r13 _SDA_BASE_, r2 _SDA2_BASE_) each region's __init_registers installs. +SDA_BASES = {"P": (0x8038CC00, 0x8038EFA0), "E": (0x80388880, 0x8038AC20), + "J": (0x8038C580, 0x8038E920)} + +# Output project directory per destination region. +PROJECT_DIR = {"E": "mkwii-ntsc-u", "J": "mkwii-ntsc-j"} +# Display name and game ID of each target region, for the map header and the report. +REGION_NAME = {"E": ("NTSC-U", "RMCE01"), "J": ("NTSC-J", "RMCJ01")} + +DOL_SECTIONS = { + "P": [ + ("init", 0x80004000, 0x80006460), + ("extab", 0x80006460, 0x80006A20), + ("extabindex", 0x80006A20, 0x800072C0), + ("text", 0x800072C0, 0x80244DE0), + ("ctors", 0x80244DE0, 0x80244EA0), + ("dtors", 0x80244EA0, 0x80244EC0), + ("rodata", 0x80244EC0, 0x80258580), + ("data", 0x80258580, 0x802A4040), + ("bss", 0x802A4080, 0x80384C00), + ("sdata", 0x80384C00, 0x80385FC0), + ("sbss", 0x80385FC0, 0x80386FA0), + ("sdata2", 0x80386FA0, 0x80389140), + ("sbss2", 0x80389140, 0x8038917C), + ], + "E": [ + ("init", 0x80004000, 0x80006460), + ("extab", 0x80006460, 0x80006A20), + ("extabindex", 0x80006A20, 0x800072C0), + ("text", 0x800072C0, 0x80244D40), + ("ctors", 0x80244D40, 0x80244E00), + ("dtors", 0x80244E00, 0x80244E20), + ("rodata", 0x80244E40, 0x80258260), + ("data", 0x80258260, 0x8029FD00), + ("bss", 0x8029FD00, 0x80380880), + ("sdata", 0x80380880, 0x80381C40), + ("sbss", 0x80381C40, 0x80382C20), + ("sdata2", 0x80382C20, 0x80384DC0), + ("sbss2", 0x80384DC0, 0x80384DFC), + ], + "J": [ + ("init", 0x80004000, 0x80006460), + ("extab", 0x80006460, 0x80006A20), + ("extabindex", 0x80006A20, 0x800072C0), + ("text", 0x800072C0, 0x80244D00), + ("ctors", 0x80244D00, 0x80244DC0), + ("dtors", 0x80244DC0, 0x80244DE0), + ("rodata", 0x80244E00, 0x80257F20), + ("data", 0x80257F20, 0x802A39E0), + ("bss", 0x802A3A00, 0x80384580), + ("sdata", 0x80384580, 0x80385940), + ("sbss", 0x80385940, 0x80386920), + ("sdata2", 0x80386920, 0x80388AC0), + ("sbss2", 0x80388AC0, 0x80388AFC), + ], +} + +REL_SECTIONS = { + "P": [ + ("text", 0x805103B4, 0x8088F400), + ("ctors", 0x8088F400, 0x8088F704), + ("dtors", 0x8088F704, 0x8088F710), + ("rodata", 0x8088F720, 0x808B2BD0), + ("data", 0x808B2BD0, 0x808DD3D4), + ("bss", 0x809BD6E0, 0x809C4F90), + ], + "E": [ + ("text", 0x8050C034, 0x8088AFD0), + ("ctors", 0x8088AFD0, 0x8088B2D4), + ("dtors", 0x8088B2D4, 0x8088B2E0), + ("rodata", 0x8088B2E0, 0x808AE520), + ("data", 0x808AE520, 0x808D8C7C), + ("bss", 0x809B8F20, 0x809C07D0), + ], + "J": [ + ("text", 0x8050FD34, 0x8088EA6C), + ("ctors", 0x8088EA6C, 0x8088ED70), + ("dtors", 0x8088ED70, 0x8088ED7C), + ("rodata", 0x8088ED80, 0x808B1D30), + ("data", 0x808B1D30, 0x808DC524), + ("bss", 0x809BC740, 0x809C3FF0), + ], +} + +# PAL -> NTSC-U chunk table: (src_start, src_end, dst_start). +# Vendored from the mkw-sp project, port.py (CHUNKS['E']), MIT license. +CHUNKS_E = [ + (0x80004000, 0x80008030, 0x80004000), (0x8000808C, 0x8000ADBC, 0x8000804C), (0x8000AF24, 0x8000B6B4, 0x8000AE84), + (0x8000B6B4, 0x8000C174, 0x80021048), (0x8000C174, 0x80021BA8, 0x8000B614), (0x80021BA8, 0x80225F1C, 0x80021B08), + (0x802261F8, 0x802402E0, 0x80225E74), (0x802402E0, 0x80240E18, 0x802441FC), (0x80240E18, 0x80244DD4, 0x8023FF5C), + (0x802A4080, 0x80384C18, 0x8029FD00), (0x80385908, 0x8038590C, 0x80381588), (0x80385FC0, 0x80386008, 0x80381C40), + (0x80386638, 0x80386644, 0x803822B8), (0x80386F48, 0x80386F90, 0x80382BC0), (0x805103B4, 0x80510A90, 0x8050C034), + (0x80510B84, 0x8052D298, 0x8050C710), (0x8052D298, 0x8052D96C, 0x8054F800), (0x8052D96C, 0x8053D97C, 0x80528E24), + (0x8053D97C, 0x8053E370, 0x8054FED4), (0x8053E370, 0x8054FB2C, 0x80538E34), (0x8054FB2C, 0x80550548, 0x805508C8), + (0x80550548, 0x805537CC, 0x8054A5F0), (0x80553894, 0x8055572C, 0x8054D874), (0x8055572C, 0x8056AB6C, 0x805513AC), + (0x8056AB6C, 0x8056B63C, 0x805AE0E8), (0x8056B63C, 0x80574030, 0x805667EC), (0x80574030, 0x805758AC, 0x805AEBB8), + (0x80575A44, 0x80583F2C, 0x8056F1E0), (0x80583F2C, 0x8059B5A4, 0x8057D708), (0x8059B5A4, 0x8059EAA4, 0x805B058C), + (0x8059EAA4, 0x805A0558, 0x80594D80), (0x805A068C, 0x805A1478, 0x805B3AC8), (0x805A1488, 0x805A1864, 0x805B48B4), + (0x805A1864, 0x805A9EDC, 0x8059682C), (0x805A9EDC, 0x805AB574, 0x8059EEAC), (0x805AB574, 0x805ABC90, 0x805A0604), + (0x805ABC90, 0x805ADD98, 0x805A0D28), (0x805ADD98, 0x805B9010, 0x805A2E70), (0x805B9010, 0x805B9300, 0x805B4C90), + (0x805B9300, 0x805BAB40, 0x8061F7F4), (0x805BAB40, 0x805BB2B8, 0x805B4F80), (0x805BB2B8, 0x805BD2D8, 0x80621034), + (0x805BD2D8, 0x805BD2E4, 0x805B695C), (0x805BD2E4, 0x805BD39C, 0x80623054), (0x805BD39C, 0x805BE600, 0x805B56F8), + (0x805BE600, 0x805BE61C, 0x805B6968), (0x805BE66C, 0x805BE7F4, 0x8062310C), (0x805BE7F4, 0x805BE84C, 0x805B76D0), + (0x805BE84C, 0x805BED68, 0x80623294), (0x805BED68, 0x805BED74, 0x805B7420), (0x805BED74, 0x805BF2D8, 0x806237B0), + (0x805BF2D8, 0x805BF2DC, 0x805B919C), (0x805BF3CC, 0x805BFE1C, 0x805B69D0), (0x805BFE1C, 0x805C00C0, 0x805B742C), + (0x805C00C0, 0x805C1B34, 0x805B7728), (0x805C1B34, 0x805C35F8, 0x805B91A0), (0x805C35F8, 0x805C3BCC, 0x80623E08), + (0x805C3BCC, 0x805C4768, 0x805BAC64), (0x805C4768, 0x805C579C, 0x806243DC), (0x805C57B0, 0x805CADDC, 0x805BB800), + (0x805CADDC, 0x805CC0A8, 0x80625424), (0x805CC1B4, 0x805CD94C, 0x80626758), (0x805CD94C, 0x805D1888, 0x805C0E2C), + (0x805D1888, 0x805D1E84, 0x80627EF0), (0x805D1E84, 0x805D7F78, 0x805C4D68), (0x805D7F78, 0x805DBFDC, 0x806284EC), + (0x805DC034, 0x805DE838, 0x8062C550), (0x805DE838, 0x805DE844, 0x805E4438), (0x805DE844, 0x805E0C38, 0x8062ED54), + (0x805E0C38, 0x805E6B50, 0x805CAE5C), (0x805E6B50, 0x805E7460, 0x80631148), (0x805E7460, 0x805EA780, 0x805D0D74), + (0x805EA780, 0x805EEB68, 0x80631A58), (0x805EEB68, 0x805F2D24, 0x805D4094), (0x805F2D24, 0x805F8B34, 0x80635E40), + (0x805F8B34, 0x805FB5BC, 0x805D8250), (0x805FB5BC, 0x805FB820, 0x8063BC50), (0x805FB820, 0x805FD518, 0x805DACD8), + (0x805FD518, 0x806012B0, 0x8063BEB4), (0x806012B0, 0x80608D18, 0x805DC9D0), (0x80608D18, 0x8060A72C, 0x805E4444), + (0x8060A72C, 0x8061186C, 0x8063FC4C), (0x8061186C, 0x80616844, 0x805E5E58), (0x80616844, 0x8061AE6C, 0x80646D8C), + (0x8061AE6C, 0x8061E898, 0x805EAE30), (0x8061E898, 0x8061F6E8, 0x8064B3B4), (0x8061F6E8, 0x80620CB4, 0x805EE85C), + (0x80620D7C, 0x80634F48, 0x805EFEC8), (0x80634F48, 0x80637494, 0x806040B0), (0x80637494, 0x80637514, 0x806066A4), + (0x80637514, 0x80637A30, 0x8064C204), (0x80637AC0, 0x8063BCF8, 0x80606720), (0x8063BE40, 0x806453E4, 0x8060AA20), + (0x806453E4, 0x806467D4, 0x8064C78C), (0x806467D4, 0x8064A3F4, 0x80613FC4), (0x8064A3F4, 0x8064AEE4, 0x8064DB7C), + (0x8064AEF8, 0x80651BEC, 0x80617BE4), (0x80651BEC, 0x80652300, 0x8064E66C), (0x80652300, 0x80653208, 0x8061E8EC), + (0x80653208, 0x8065B354, 0x8064ED80), (0x8065B4E8, 0x8065C0EC, 0x80656ECC), (0x8065C0EC, 0x8065FA14, 0x8065CD74), + (0x8065FA4C, 0x8065FE4C, 0x80657AD0), (0x8065FE4C, 0x80662778, 0x80657F10), (0x80662778, 0x80663194, 0x80660694), + (0x80663194, 0x80665538, 0x8065A83C), (0x80665538, 0x80668814, 0x80673188), (0x80668814, 0x8067906C, 0x806610B0), + (0x8067906C, 0x80679380, 0x80676464), (0x80679380, 0x8067AC00, 0x80671908), (0x8067AC00, 0x806BF4C8, 0x80676778), + (0x806BF4C8, 0x806BFB14, 0x806E20A8), (0x806BFB14, 0x806C050C, 0x806BB040), (0x806C050C, 0x806C35A8, 0x806E26F4), + (0x806C35A8, 0x806C3AA4, 0x806BBA38), (0x806C3AA4, 0x806C4ED4, 0x806E5790), (0x806C4EF0, 0x806C63A8, 0x806E6BC0), + (0x806C63B0, 0x806C6B44, 0x806E8078), (0x806C6B44, 0x806CCE90, 0x806BBF50), (0x806CCE90, 0x806CE820, 0x806E880C), + (0x806CE828, 0x806D02BC, 0x806C229C), (0x806D02BC, 0x806D28F4, 0x806EA19C), (0x806D2908, 0x806D5C5C, 0x806C3D38), + (0x806D5C60, 0x806D5ED8, 0x806EC7D4), (0x806D5ED8, 0x806DA914, 0x806C7098), (0x806DA914, 0x806DB184, 0x806ECA58), + (0x806DB184, 0x806DDA84, 0x806CBAD4), (0x806DDA84, 0x806DEB40, 0x806ED2C8), (0x806DEB40, 0x806DF7D0, 0x806CE3D4), + (0x806DF7D0, 0x806DFD14, 0x806EE384), (0x806DFD14, 0x806E3A8C, 0x806CF064), (0x806E3A8C, 0x806E3E20, 0x806EE8C8), + (0x806E3E20, 0x806E95B0, 0x806D2DDC), (0x806E95B0, 0x806EC7C0, 0x806EEC5C), (0x806EC7C0, 0x806ED53C, 0x806D8564), + (0x806ED53C, 0x806F62FC, 0x806D92E8), (0x806F62FC, 0x806F7698, 0x806F1E74), (0x806F77C4, 0x806F7A54, 0x80713A78), + (0x806F7AA8, 0x806F8220, 0x80713D08), (0x806F8220, 0x806F8934, 0x806F3210), (0x806F8934, 0x806FA3FC, 0x806F3978), + (0x806FA3FC, 0x806FE240, 0x806F5494), (0x806FE240, 0x806FE9E0, 0x806F9330), (0x806FE9E0, 0x807001A4, 0x80714480), + (0x80700230, 0x80700474, 0x80715C44), (0x80700474, 0x8070E7B8, 0x806F9AD0), (0x8070E7B8, 0x8070F8B8, 0x80715E88), + (0x8070F8B8, 0x807179C4, 0x80707E14), (0x807179C4, 0x80717E34, 0x8070FFAC), (0x80717E34, 0x807182E8, 0x80716F88), + (0x807182E8, 0x8071B86C, 0x8071041C), (0x8071B86C, 0x80726574, 0x8071743C), (0x80726574, 0x8072820C, 0x8073C5DC), + (0x8072821C, 0x807285C8, 0x8073E274), (0x807285CC, 0x80729338, 0x8073E620), (0x80729350, 0x80729B88, 0x80722144), + (0x80729B88, 0x8072A894, 0x80722984), (0x8072A894, 0x8072B95C, 0x80723698), (0x8072B95C, 0x8072DE64, 0x80724770), + (0x8072DFCC, 0x8072FF60, 0x8073F390), (0x8072FF78, 0x80730198, 0x80741324), (0x80730198, 0x80730A80, 0x80726DE8), + (0x80730B40, 0x80731960, 0x80741544), (0x80731960, 0x80735948, 0x807277A8), (0x80735948, 0x80738DB8, 0x80742364), + (0x80738DB8, 0x8073C54C, 0x8072B790), (0x8073C54C, 0x8073EDF0, 0x807457D4), (0x8073EDF0, 0x8074C4A8, 0x8072EF24), + (0x8074C4A8, 0x8074D5B8, 0x8076CEAC), (0x8074D5B8, 0x807519C8, 0x80748078), (0x807519C8, 0x80754104, 0x8076DFBC), + (0x80754104, 0x80758BDC, 0x8074C488), (0x80758BDC, 0x8075DB24, 0x807706F8), (0x8075DB3C, 0x8075E78C, 0x80750F60), + (0x8075E78C, 0x8075EAFC, 0x80775658), (0x8075EAFC, 0x80765C94, 0x80751BB0), (0x80765C94, 0x807678F4, 0x807759C8), + (0x807678F4, 0x80768D20, 0x80758D48), (0x80768D20, 0x807693EC, 0x80777628), (0x8076960C, 0x8076C85C, 0x80777E68), + (0x8076C85C, 0x8076EBDC, 0x8075A174), (0x8076EBE0, 0x8076F2DC, 0x8077B0B8), (0x8076F2DC, 0x807726C4, 0x8075C4F4), + (0x80772704, 0x80773C14, 0x8077B7B8), (0x80773C1C, 0x8077439C, 0x8075F8DC), (0x807743A0, 0x807787F0, 0x8076010C), + (0x807787F0, 0x8077902C, 0x8077CD10), (0x8077902C, 0x8077CE88, 0x8076455C), (0x8077CEC8, 0x8077DF24, 0x8077D54C), + (0x8077DF24, 0x807829D8, 0x807683F8), (0x807829D8, 0x80787D84, 0x8077E5A8), (0x80787D84, 0x8078C960, 0x807D031C), + (0x8078C960, 0x807A81B4, 0x80783954), (0x807A81B4, 0x807A9D70, 0x807D4F74), (0x807A9EB8, 0x807AF140, 0x8079F210), + (0x807AF140, 0x807B2EF8, 0x807D6B94), (0x807B2EF8, 0x807D976C, 0x807A4498), (0x807D976C, 0x807D9B80, 0x807DA94C), + (0x807D9B98, 0x807DA5C0, 0x807CAD0C), (0x807DA5C0, 0x807DBCCC, 0x807DAD78), (0x807DBCCC, 0x807DC8C8, 0x807CB734), + (0x807DC950, 0x807E093C, 0x807CC330), (0x807E093C, 0x807E2520, 0x8083C6F0), (0x807E259C, 0x807E5610, 0x807DC50C), + (0x807E5654, 0x807E6414, 0x807DF5E4), (0x807E6414, 0x807E9C44, 0x8083E33C), (0x807E9C50, 0x807EDD98, 0x807E03A4), + (0x807EDD98, 0x807EE23C, 0x80841B6C), (0x807EE250, 0x807EE468, 0x807E44EC), (0x807EE474, 0x807EEA14, 0x80842010), + (0x807EEA14, 0x807EF9F4, 0x807E4704), (0x807EFD0C, 0x807F76EC, 0x807E56E4), (0x807F76EC, 0x807F7BA4, 0x808428E8), + (0x807F7BC4, 0x807F890C, 0x807ED0C4), (0x807F8968, 0x807F9280, 0x80842DA0), (0x807F9580, 0x807FAB58, 0x808438A0), + (0x807FAB58, 0x807FEB68, 0x807EDF98), (0x807FEB68, 0x807FFAE0, 0x80844E78), (0x807FFB20, 0x80805A0C, 0x807F1FA8), + (0x80805A0C, 0x8080761C, 0x80845DF0), (0x8080761C, 0x80809448, 0x807F7ED4), (0x80809448, 0x8080AD20, 0x80847A00), + (0x8080AD20, 0x80811E48, 0x807F9D00), (0x80811E48, 0x80813BD4, 0x808492D8), (0x80813BD4, 0x8081E284, 0x80800E28), + (0x8081E284, 0x8081EFEC, 0x8084B064), (0x8081EFEC, 0x8082E540, 0x8080B4D8), (0x8082E540, 0x8082E854, 0x8084BDCC), + (0x8082E854, 0x8082F408, 0x8081AA2C), (0x8082F408, 0x808334A0, 0x8084C0E0), (0x808334E0, 0x80833B00, 0x8081B5E0), + (0x80833B00, 0x80838E4C, 0x8081BC08), (0x80838E60, 0x8083B0C0, 0x808501B8), (0x8083B0CC, 0x8083CB44, 0x80820F54), + (0x8083CB44, 0x8083D42C, 0x80852424), (0x8083D42C, 0x80842334, 0x808229CC), (0x80842340, 0x808447AC, 0x80852D0C), + (0x808447AC, 0x8084A9A0, 0x808278D4), (0x8084A9A0, 0x8084D0DC, 0x80855184), (0x8084D0DC, 0x80851D2C, 0x8082DAC8), + (0x80851D38, 0x80852C60, 0x808578C0), (0x80852C60, 0x80853CA4, 0x80832718), (0x80853CA4, 0x808551EC, 0x808587F4), + (0x808551EC, 0x8085C3CC, 0x8083375C), (0x8085C3CC, 0x8085E674, 0x80859D3C), (0x8085E674, 0x8085F0AC, 0x8083A950), + (0x8085F0AC, 0x8085FFD4, 0x8085BFE4), (0x8085FFD4, 0x80860F2C, 0x8083B388), (0x80860F2C, 0x80862E24, 0x8085CF0C), + (0x80863234, 0x8086708C, 0x8085EE04), (0x8086708C, 0x808676E0, 0x80864D38), (0x808676E0, 0x808697BC, 0x80862C5C), + (0x808697BC, 0x8086A254, 0x8086538C), (0x8086A254, 0x8086C098, 0x808766F4), (0x8086C108, 0x8086C988, 0x80878538), + (0x8086CA40, 0x80872CA4, 0x80878DB8), (0x80872CA4, 0x808739B0, 0x80865E24), (0x808739B0, 0x80875454, 0x80866BE8), + (0x80875454, 0x8088344C, 0x808686FC), (0x8088344C, 0x8088F400, 0x8087F01C), (0x80895238, 0x808952B8, 0x8088F940), + (0x808913C0, 0x808913C4, 0x8088CF78), (0x808AD3C4, 0x808AD3C8, 0x808A7304), (0x808B3984, 0x808B3988, 0x808AF134), + (0x808B5B1C, 0x808B5B20, 0x808B125C), (0x808B5C78, 0x808B5C7C, 0x808B13B8), (0x808BB034, 0x808BB098, 0x808B4F3C), + (0x808CB550, 0x808CB554, 0x808C6048), (0x808D3698, 0x808D369C, 0x808D5148), (0x808D36CC, 0x808D36D0, 0x808D517C), + (0x808D36D4, 0x808D36D8, 0x808D5184), (0x808D3744, 0x808D3748, 0x808D51F4), (0x808D374C, 0x808D3750, 0x808D51FC), + (0x808D3E14, 0x808D3E18, 0x808CEEAC), (0x808DA070, 0x808DA080, 0x808D3E50), (0x808DA318, 0x808DA368, 0x808D3F60), + (0x809BD6E8, 0x809BD74C, 0x809B8F28), (0x809C1830, 0x809C1834, 0x809BD070), (0x809C1874, 0x809C1878, 0x809BD0B4), + (0x809C18F8, 0x809C18FC, 0x809BD110), (0x809C1988, 0x809C198C, 0x809BD378), (0x809C19A0, 0x809C19BC, 0x809BD180), + (0x809C1E38, 0x809C1E3C, 0x809BD508), (0x809C21D0, 0x809C21D4, 0x809BDA10), (0x809C21D8, 0x809C21DC, 0x809BDA18), + (0x809C2328, 0x809C232C, 0x809BDB60), (0x809C27F0, 0x809C27FC, 0x809BDBB0), (0x809C282C, 0x809C2854, 0x809BDBEC), + (0x809C28B8, 0x809C28BC, 0x809BE0F8), (0x809C2BE8, 0x809C2BEC, 0x809BE398), (0x809C2EF0, 0x809C2EF4, 0x809BE730), + (0x809C2F38, 0x809C2F40, 0x809BE740), (0x809C2F44, 0x809C2F48, 0x809BE74C), (0x809C3618, 0x809C361C, 0x809BEE20), + (0x809C38B8, 0x809C38BC, 0x809BF0B0), (0x809C4330, 0x809C4334, 0x809BFAF0), (0x809C4680, 0x809C4684, 0x809BFDC0), + (0x809C4740, 0x809C474C, 0x809BFF90), (0x809C496C, 0x809C4970, 0x809C014C), +] +# PAL -> NTSC-J chunk table. Vendored from mkw-sp port.py (CHUNKS['J']), MIT license. +CHUNKS_J = [ + (0x80004000, 0x80008024, 0x80004000), (0x800080E8, 0x8000ADC0, 0x80008044), (0x8000AF08, 0x80021BAC, 0x8000AE2C), + (0x80021BAC, 0x80244DE0, 0x80021ACC), (0x802A4080, 0x8038917C, 0x802A3A00), (0x805103B4, 0x805CC0A8, 0x8050FD34), + (0x805CC1B4, 0x805FA33C, 0x805CBA90), (0x805FA344, 0x805FF6E8, 0x805F9C20), (0x805FFD70, 0x806003E8, 0x805FF528), + (0x80600C78, 0x80620CB4, 0x806003EC), (0x80620D7C, 0x80637A24, 0x806204C8), (0x80637A80, 0x8063BCF8, 0x8063716C), + (0x8063BE40, 0x8088F400, 0x8063B4AC), (0x808913C0, 0x808913C4, 0x80890A10), (0x80895238, 0x808952B8, 0x80894888), + (0x808AD3C4, 0x808AD3C8, 0x808AC524), (0x808B3984, 0x808B3988, 0x808B2AE4), (0x808B5B1C, 0x808B5B20, 0x808B4C7C), + (0x808B5C78, 0x808B5C7C, 0x808B4DD8), (0x808BB034, 0x808BB098, 0x808BA184), (0x808CB550, 0x808CB554, 0x808CA6A0), + (0x808D3698, 0x808D369C, 0x808D27E8), (0x808D36CC, 0x808D36D0, 0x808D281C), (0x808D36D4, 0x808D36D8, 0x808D2824), + (0x808D3744, 0x808D3748, 0x808D2894), (0x808D374C, 0x808D3750, 0x808D289C), (0x808D3E14, 0x808D3E18, 0x808D2F64), + (0x808DA070, 0x808DA080, 0x808D91C0), (0x808DA318, 0x808DA368, 0x808D9468), (0x809BD6E8, 0x809BD74C, 0x809BC748), + (0x809C1830, 0x809C1834, 0x809C0890), (0x809C1874, 0x809C1878, 0x809C08D4), (0x809C18F8, 0x809C18FC, 0x809C0958), + (0x809C1988, 0x809C198C, 0x809C09E8), (0x809C19A0, 0x809C19BC, 0x809C0A00), (0x809C1E38, 0x809C1E3C, 0x809C0E98), + (0x809C21D0, 0x809C21D4, 0x809C1230), (0x809C21D8, 0x809C21DC, 0x809C1238), (0x809C2328, 0x809C232C, 0x809C1388), + (0x809C27F0, 0x809C27FC, 0x809C1850), (0x809C282C, 0x809C2854, 0x809C188C), (0x809C28B8, 0x809C28BC, 0x809C1918), + (0x809C2BE8, 0x809C2BEC, 0x809C1C48), (0x809C2EF0, 0x809C2EF4, 0x809C1F50), (0x809C2F38, 0x809C2F40, 0x809C1F98), + (0x809C2F44, 0x809C2F48, 0x809C1FA4), (0x809C3618, 0x809C361C, 0x809C2678), (0x809C38B8, 0x809C38BC, 0x809C2918), + (0x809C4330, 0x809C4334, 0x809C3390), (0x809C4680, 0x809C4684, 0x809C36E0), (0x809C4740, 0x809C474C, 0x809C37A0), + (0x809C496C, 0x809C4970, 0x809C39CC), +] + + +CHUNK_TABLES = {"E": CHUNKS_E, "J": CHUNKS_J} + +# Which region this run is porting to. Set once by main() from --region; the section tables and +# chunk table are then selected from it, so nothing below hardcodes a destination region. +TARGET = "E" +# Set with TARGET in main(): the target region's display name and game ID. +TN, TI = REGION_NAME[TARGET] + + +def dol_secs(): + return DOL_SECTIONS[TARGET] + + +def rel_secs(): + return REL_SECTIONS[TARGET] + + +LOW_MEMORY_LIMIT = 0x80004000 # below this: exception vectors / runtime-copied code +REL_MODULE_ID = 1 +INIT_REGISTERS_SYMBOL = "__init_registers" +INIT_REGISTERS_PAL = 0x80006210 + +# Save/restore thunk families resolved by name in GuestSaveRestoreThunks.cs: +# (prefix, mnemonic, primary opcode, bytes per register) +THUNK_FAMILIES = [ + ("_save_gpr_", "stw", 36, 4), + ("_rest_gpr_", "lwz", 32, 4), + ("_save_fpr_", "stfd", 54, 8), + ("_rest_fpr_", "lfd", 50, 8), +] + +# REL relocation types +R_PPC_NONE, R_PPC_ADDR32, R_PPC_ADDR24, R_PPC_ADDR16 = 0, 1, 2, 3 +R_PPC_ADDR16_LO, R_PPC_ADDR16_HI, R_PPC_ADDR16_HA = 4, 5, 6 +R_PPC_REL24, R_PPC_REL14 = 10, 11 +R_DOLPHIN_NOP, R_DOLPHIN_SECTION, R_DOLPHIN_END, R_DOLPHIN_MRKREF = 201, 202, 203, 204 + +# Evidence flags +F_BL = 1 # target of a `bl` (DOL/REL scan or REL24 relocation) strong +F_EXTAB = 2 # function start recorded in the DOL extabindex strong +F_ENTRY = 4 # DOL entry point / REL prolog, epilog, unresolved strong +F_PTR = 8 # 32-bit data word / ADDR32 relocation pointing at it medium +F_HIADDR = 16 # lis/addi(ori) pair or ADDR16_HA/LO relocation medium +F_B = 32 # target of an unconditional `b` weak +F_JT = 64 # pointer from a run that looks like a switch jump table (diagnostic only) +F_BC = 128 # target of a conditional branch: inside a function negative signal +F_CTOR = 256 # entry of a .ctors/.dtors table (DOL or REL) strong +STRONG = F_BL | F_EXTAB | F_ENTRY | F_CTOR +MEDIUM = F_PTR | F_HIADDR + +FLAG_NAMES = [ + (F_BL, "bl"), (F_EXTAB, "extab"), (F_ENTRY, "entry"), (F_CTOR, "ctor"), (F_PTR, "ptr"), + (F_HIADDR, "hiaddr"), (F_B, "b"), (F_JT, "jt"), (F_BC, "bc"), +] + +# Evidence classes that qualify an NTSC-U address, on their own, for the output map when no +# ported PAL entry covers it (step H): (label, source tag, strength). Medium-strength classes +# additionally need the structural check (no conditional-branch target, terminator before, +# decodable first instruction) because no PAL entry vouches for them. +ADDITION_CLASSES = [ + ("ctors/dtors table entry (DOL)", ("ctor:dol", "dtor:dol"), "strong"), + ("ctors/dtors table entry (REL)", ("ctor:rel", "dtor:rel"), "strong"), + ("REL prolog/epilog/unresolved", ("entry:rel",), "strong"), + ("DOL entry point", ("entry:dol",), "strong"), + ("bl target (DOL text)", ("bl:dol",), "strong"), + ("bl target (REL R_PPC_REL24 relocation into the DOL)", ("bl:rel24",), "strong"), + ("bl target (REL text, link-resolved)", ("bl:rel",), "strong"), + ("extabindex function record", ("extab",), "strong"), + ("pointer-referenced text address (DOL data word)", ("ptr:dol",), "medium"), + ("pointer-referenced text address (REL R_PPC_ADDR32)", ("ptr:rel",), "medium"), +] + +EMITTED_VERDICTS = ("PROVEN", "REFERENCED", "PLAUSIBLE", "IDENTITY", "INTERPOLATED") +VERDICT_ORDER = ("PROVEN", "REFERENCED", "PLAUSIBLE", "IDENTITY", "INTERPOLATED", + "UNVERIFIED", "DROPPED") + + +# --------------------------------------------------------------------------------------- +# PowerPC helpers +# --------------------------------------------------------------------------------------- +def opcd(w: int) -> int: + return w >> 26 + + +def reg_d(w: int) -> int: + return (w >> 21) & 31 + + +def reg_a(w: int) -> int: + return (w >> 16) & 31 + + +def reg_b(w: int) -> int: + return (w >> 11) & 31 + + +def xo10(w: int) -> int: + return (w >> 1) & 0x3FF + + +def simm(w: int) -> int: + v = w & 0xFFFF + return v - 0x10000 if v & 0x8000 else v + + +def uimm(w: int) -> int: + return w & 0xFFFF + + +def branch_target(site: int, w: int) -> int: + """Target of an I-form branch (primary opcode 18) located at `site`.""" + li = w & 0x03FFFFFC + if li & 0x02000000: + li -= 0x04000000 + if w & 2: # AA + return li & 0xFFFFFFFF + return (site + li) & 0xFFFFFFFF + + +VALID_PRIMARY_OPCODES = frozenset([ + 3, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 59, 60, 61, 63, +]) + + +def is_terminator(w: int) -> bool: + """Function terminator or padding: blr, b/ba, bctr, rfi, 0, nop.""" + if w in (0x4E800020, 0x4E800420, 0x4C000064, 0x00000000, 0x60000000): + return True + return opcd(w) == 18 and (w & 1) == 0 + + +def first_insn_quality(w: int) -> str: + """'strong' for a typical first instruction, 'valid' for any decodable one, else 'invalid'.""" + op = opcd(w) + if op not in VALID_PRIMARY_OPCODES: + return "invalid" + if op == 37 and reg_d(w) == 1 and reg_a(w) == 1 and simm(w) < 0: # stwu r1,-N(r1) + return "strong" + if w == 0x7C0802A6: # mflr r0 + return "strong" + if op in (14, 15) and reg_a(w) == 0: # li / lis + return "strong" + if op in (14, 32, 34, 36, 40, 42, 44, 46, 47, 48, 50, 52, 54, 10, 11, 7, 8, 12, 20, 21, 28): + return "strong" # addi/lwz/lbz/stw/... cmp* + if op == 31 and xo10(w) in (444, 0, 32, 339, 467, 23, 87, 40, 266, 10, 8, 24, 792, 824, 28, 60, 124, 316): + return "strong" # or/cmp/mfspr/lwzx/subf/add/... + if op == 18: # b / bl (thunks, tail jumps) + return "strong" + if w == 0x4E800020: # bare blr + return "strong" + if op == 63 and xo10(w) in (72, 0, 32, 12): # fmr / fcmpu / fcmpo / frsp + return "strong" + return "valid" + + +def decode_simple(w: int) -> str: + """Tiny disassembler for the instructions the report needs to show.""" + op = opcd(w) + if op == 36: + return f"stw r{reg_d(w)},{simm(w)}(r{reg_a(w)})" + if op == 32: + return f"lwz r{reg_d(w)},{simm(w)}(r{reg_a(w)})" + if op == 54: + return f"stfd f{reg_d(w)},{simm(w)}(r{reg_a(w)})" + if op == 50: + return f"lfd f{reg_d(w)},{simm(w)}(r{reg_a(w)})" + if op == 37: + return f"stwu r{reg_d(w)},{simm(w)}(r{reg_a(w)})" + if op == 15: + return f"lis r{reg_d(w)},0x{uimm(w):04x}" if reg_a(w) == 0 else f"addis r{reg_d(w)},r{reg_a(w)},0x{uimm(w):04x}" + if op == 14: + return f"li r{reg_d(w)},{simm(w)}" if reg_a(w) == 0 else f"addi r{reg_d(w)},r{reg_a(w)},{simm(w)}" + if op == 24: + return f"ori r{reg_a(w)},r{reg_d(w)},0x{uimm(w):04x}" + if w == 0x4E800020: + return "blr" + if w == 0x4E800420: + return "bctr" + if w == 0x4C000064: + return "rfi" + if w == 0x60000000: + return "nop" + if w == 0x7C0802A6: + return "mflr r0" + if w == 0x7C0803A6: + return "mtlr r0" + if op == 18: + return ("bl" if w & 1 else "b") + (" (abs)" if w & 2 else "") + if op == 16: + return "bc" + if op == 31 and xo10(w) == 444 and reg_d(w) == reg_b(w): + return f"mr r{reg_a(w)},r{reg_d(w)}" + if op == 11: + return f"cmpwi cr{reg_d(w) >> 2},r{reg_a(w)},{simm(w)}" + if op == 10: + return f"cmplwi cr{reg_d(w) >> 2},r{reg_a(w)},{uimm(w)}" + if op == 0: + return ".long 0" + return f"op{op}" + + +# --------------------------------------------------------------------------------------- +# Binary images +# --------------------------------------------------------------------------------------- +@dataclass +class Section: + module: str # 'dol' | 'rel' + name: str + index: int + start: int + size: int + data: bytes + executable: bool + + @property + def end(self) -> int: + return self.start + self.size + + +def be_words(data: bytes) -> array.array: + words = array.array("I", data[: len(data) // 4 * 4]) + if words.itemsize != 4: + words = array.array("L", data[: len(data) // 4 * 4]) + assert words.itemsize == 4, "no 4-byte unsigned array type available" + if sys.byteorder == "little": + words.byteswap() + return words + + +class Memory: + """Read-only view of the loaded sections of both modules.""" + + def __init__(self) -> None: + self.sections: List[Section] = [] + self._starts: List[int] = [] + self._text_ranges: List[Tuple[int, int]] = [] + self.text_starts: set = set() + + def add(self, sec: Section) -> None: + if sec.size == 0 or not sec.data: + return + self.sections.append(sec) + self.sections.sort(key=lambda s: s.start) + self._starts = [s.start for s in self.sections] + if sec.executable: + self._text_ranges.append((sec.start, sec.end)) + self._text_ranges.sort() + self.text_starts.add(sec.start) + + def section_at(self, addr: int) -> Optional[Section]: + i = bisect.bisect_right(self._starts, addr) - 1 + if i < 0: + return None + sec = self.sections[i] + return sec if sec.start <= addr < sec.end else None + + def read_u32(self, addr: int) -> Optional[int]: + sec = self.section_at(addr) + if sec is None or addr + 4 > sec.end: + return None + off = addr - sec.start + return int.from_bytes(sec.data[off:off + 4], "big") + + def in_text(self, addr: int) -> bool: + for s, e in self._text_ranges: + if s <= addr < e: + return True + return False + + @property + def text_ranges(self) -> List[Tuple[int, int]]: + return list(self._text_ranges) + + +@dataclass +class Dol: + path: str + sha256: str + sections: List[Section] + bss_addr: int + bss_size: int + entry: int + + +def parse_dol(path: str) -> Dol: + with open(path, "rb") as f: + data = f.read() + if len(data) < 0x100: + raise SystemExit(f"{path}: too small to be a DOL") + offs = struct.unpack(">18I", data[0:72]) + addrs = struct.unpack(">18I", data[72:144]) + sizes = struct.unpack(">18I", data[144:216]) + bss_addr, bss_size, entry = struct.unpack(">3I", data[216:228]) + sections: List[Section] = [] + for i in range(18): + if sizes[i] == 0: + continue + if offs[i] + sizes[i] > len(data): + raise SystemExit(f"{path}: DOL section {i} runs past end of file") + sections.append(Section( + module="dol", name=("text%d" % i if i < 7 else "data%d" % (i - 7)), index=i, + start=addrs[i], size=sizes[i], data=data[offs[i]:offs[i] + sizes[i]], executable=i < 7)) + return Dol(path, hashlib.sha256(data).hexdigest(), sections, bss_addr, bss_size, entry) + + +@dataclass +class Relocation: + module: int # 0 = DOL (absolute addend), otherwise module id of the target + site: int # address of the relocated field + type: int + section: int # target section (in the target module) + addend: int + target: int # resolved target address + + +@dataclass +class Rel: + path: str + sha256: str + module_id: int + version: int + load_address: int + sections: List[Section] + section_base: Dict[int, int] + prolog: int + epilog: int + unresolved: int + relocations: List[Relocation] + reloc_type_counts: Dict[Tuple[int, int], int] + bss_size: int + fix_size: int + header: Dict[str, int] + + +def parse_rel(path: str, load_address: int, bss_address: int) -> Rel: + with open(path, "rb") as f: + data = f.read() + if len(data) < 0x40: + raise SystemExit(f"{path}: too small to be a REL") + fields = struct.unpack(">IIIIIIIIIIIIBBBBIII", data[0:0x40]) + names = ["id", "next", "prev", "numSections", "sectionInfoOffset", "nameOffset", "nameSize", + "version", "bssSize", "relOffset", "impOffset", "impSize", "prologSection", + "epilogSection", "unresolvedSection", "bssSection", "prolog", "epilog", "unresolved"] + h = dict(zip(names, fields)) + if h["version"] >= 2: + h["align"], h["bssAlign"] = struct.unpack(">II", data[0x40:0x48]) + if h["version"] >= 3: + h["fixSize"] = struct.unpack(">I", data[0x48:0x4C])[0] + + sections: List[Section] = [] + section_base: Dict[int, int] = {} + so = h["sectionInfoOffset"] + for i in range(h["numSections"]): + off, size = struct.unpack(">II", data[so + 8 * i:so + 8 * i + 8]) + executable = bool(off & 1) + off &= ~1 + if size == 0: + continue + if off == 0: + # .bss: no file contents, allocated by the game at runtime. + section_base[i] = bss_address + sections.append(Section("rel", "bss", i, bss_address, size, b"", False)) + continue + if off + size > len(data): + raise SystemExit(f"{path}: REL section {i} runs past end of file") + section_base[i] = load_address + off + name = "text" if executable else "sec%d" % i + sections.append(Section("rel", name, i, load_address + off, size, data[off:off + size], executable)) + + # imports + relocations + relocations: List[Relocation] = [] + type_counts: Dict[Tuple[int, int], int] = collections.Counter() + imp_off, imp_size = h["impOffset"], h["impSize"] + for k in range(imp_size // 8): + module, rel_off = struct.unpack(">II", data[imp_off + 8 * k:imp_off + 8 * k + 8]) + pos = rel_off + cur_section: Optional[int] = None + cur_offset = 0 + while True: + if pos + 8 > len(data): + raise SystemExit(f"{path}: relocation table for module {module} runs past end of file") + off, rtype, rsec, addend = struct.unpack(">HBBI", data[pos:pos + 8]) + pos += 8 + type_counts[(module, rtype)] += 1 + if rtype == R_DOLPHIN_END: + break + if rtype == R_DOLPHIN_SECTION: + cur_section = rsec + cur_offset = 0 + continue + cur_offset += off + if rtype == R_DOLPHIN_NOP: + continue + if cur_section is None or cur_section not in section_base: + raise SystemExit(f"{path}: relocation before any R_DOLPHIN_SECTION (module {module})") + site = section_base[cur_section] + cur_offset + if module == 0: + target = addend + elif module == h["id"]: + if rsec not in section_base: + raise SystemExit(f"{path}: relocation targets unknown section {rsec}") + target = section_base[rsec] + addend + else: + target = addend # foreign module: unknown base, keep raw addend + relocations.append(Relocation(module, site, rtype, rsec, addend, target & 0xFFFFFFFF)) + + text_base = section_base.get(h["prologSection"], load_address) + return Rel( + path=path, sha256=hashlib.sha256(data).hexdigest(), module_id=h["id"], version=h["version"], + load_address=load_address, sections=sections, section_base=section_base, + prolog=text_base + h["prolog"], epilog=section_base.get(h["epilogSection"], load_address) + h["epilog"], + unresolved=section_base.get(h["unresolvedSection"], load_address) + h["unresolved"], + relocations=relocations, reloc_type_counts=dict(type_counts), bss_size=h["bssSize"], + fix_size=h.get("fixSize", 0), header=h) + + +# --------------------------------------------------------------------------------------- +# Evidence set K +# --------------------------------------------------------------------------------------- +class Evidence: + def __init__(self, mem: Memory) -> None: + self.mem = mem + self.flags: Dict[int, int] = collections.defaultdict(int) + self.sources: Dict[int, set] = collections.defaultdict(set) # addr -> evidence source tags + self.stats: Dict[str, int] = collections.OrderedDict() + self.jump_table_runs: List[Tuple[str, int, int, int, int]] = [] # (module, site, len, min, max) + self._strong_sorted: List[int] = [] + + def bump(self, key: str, n: int = 1) -> None: + self.stats[key] = self.stats.get(key, 0) + n + + def add(self, addr: int, flag: int, source: Optional[str] = None) -> None: + self.flags[addr] |= flag + if source is not None: + self.sources[addr].add(source) + + def accepts_target(self, addr: int) -> bool: + """Code targets we record: any text section, or the low-memory vector area.""" + return self.mem.in_text(addr) or (0x80000000 <= addr < LOW_MEMORY_LIMIT) + + def finalize_strong(self) -> None: + self._strong_sorted = sorted(a for a, f in self.flags.items() if f & STRONG) + + @property + def strong_sorted(self) -> List[int]: + return self._strong_sorted + + def strong_in_range(self, lo: int, hi: int) -> List[int]: + """Strong entries with lo <= a <= hi.""" + i = bisect.bisect_left(self._strong_sorted, lo) + j = bisect.bisect_right(self._strong_sorted, hi) + return self._strong_sorted[i:j] + + def flag_names(self, addr: int) -> str: + f = self.flags.get(addr, 0) + return "+".join(n for bit, n in FLAG_NAMES if f & bit) or "-" + + def is_strong(self, addr: int) -> bool: + return bool(self.flags.get(addr, 0) & STRONG) + + # -- text scans --------------------------------------------------------------------- + def scan_text(self, sec: Section, reloc_sites: frozenset, scan_hiaddr: bool) -> None: + words = be_words(sec.data) + base = sec.start + n = len(words) + bl_n = b_n = hi_n = bc_n = 0 + for i in range(n): + w = words[i] + op = w >> 26 + if op == 16: + # bc: skip "branch always" encodings (BO 1z1zz) and bcl; the rest are intra-function + bo = (w >> 21) & 31 + if (bo & 0x14) == 0x14 or (w & 1): + continue + bd = w & 0xFFFC + if bd & 0x8000: + bd -= 0x10000 + tgt = (bd if w & 2 else base + 4 * i + bd) & 0xFFFFFFFF + if self.mem.in_text(tgt): + self.add(tgt, F_BC) + bc_n += 1 + continue + if op == 18: + site = base + 4 * i + if site in reloc_sites: + continue + tgt = branch_target(site, w) + if not self.accepts_target(tgt): + self.bump(f"{sec.module}.{sec.name}: branch targets outside text (ignored)") + continue + if w & 1: + if tgt == site + 4: + self.bump(f"{sec.module}.{sec.name}: `bl` to the next instruction (PC load, ignored)") + continue + self.add(tgt, F_BL, f"bl:{sec.module}") + bl_n += 1 + else: + self.add(tgt, F_B) + b_n += 1 + elif scan_hiaddr and op == 15 and ((w >> 16) & 31) == 0: + rd = (w >> 21) & 31 + hi = w & 0xFFFF + for j in range(1, 5): + if i + j >= n: + break + w2 = words[i + j] + op2 = w2 >> 26 + if op2 == 14 and ((w2 >> 16) & 31) == rd: # addi rd,rd,lo + val = ((hi << 16) + simm(w2)) & 0xFFFFFFFF + elif op2 == 24 and ((w2 >> 16) & 31) == rd and ((w2 >> 21) & 31) == rd: # ori rd,rd,lo + val = ((hi << 16) | (w2 & 0xFFFF)) & 0xFFFFFFFF + elif op2 == 15 and ((w2 >> 21) & 31) == rd: # rd overwritten + break + else: + continue + if self.mem.in_text(val): + self.add(val, F_HIADDR) + hi_n += 1 + break + self.bump(f"{sec.module}.{sec.name}: bl sites", bl_n) + self.bump(f"{sec.module}.{sec.name}: b sites", b_n) + self.bump(f"{sec.module}.{sec.name}: conditional-branch targets (negative signal)", bc_n) + if scan_hiaddr: + self.bump(f"{sec.module}.{sec.name}: lis/addi code-address pairs", hi_n) + + # -- pointer runs ------------------------------------------------------------------- + def flush_pointer_run(self, module: str, run: List[Tuple[int, int]]) -> None: + if not run: + return + targets = [t for _, t in run] + lo, hi = min(targets), max(targets) + jump_table_like = ( + len(run) >= 2 + and hi - lo <= 0x8000 + and not self.strong_in_range(lo, hi) + ) + if jump_table_like: + self.jump_table_runs.append((module, run[0][0], len(run), lo, hi)) + for t in targets: + self.add(t, F_JT) + self.bump(f"{module}: pointer runs classified as jump tables (words)", len(run)) + else: + for t in targets: + self.add(t, F_PTR, f"ptr:{module}") + self.bump(f"{module}: function-pointer words", len(run)) + + def scan_data_pointers(self, sec: Section) -> None: + words = be_words(sec.data) + run: List[Tuple[int, int]] = [] + for i in range(len(words)): + w = words[i] + if self.mem.in_text(w): + run.append((sec.start + 4 * i, w)) + else: + self.flush_pointer_run("dol", run) + run = [] + self.flush_pointer_run("dol", run) + + def scan_extabindex(self, sec: Section, extab: Tuple[int, int]) -> Tuple[int, int]: + words = be_words(sec.data) + good = bad = 0 + for i in range(0, len(words) - 2, 3): + fstart, fsize, eptr = words[i], words[i + 1], words[i + 2] + if self.mem.in_text(fstart) and 0 < fsize < 0x100000 and (fsize & 3) == 0 \ + and extab[0] <= eptr < extab[1]: + self.add(fstart, F_EXTAB, "extab") + good += 1 + elif fstart == 0 and fsize == 0 and eptr == 0: + continue + else: + bad += 1 + self.bump("dol.extabindex: function records", good) + self.bump("dol.extabindex: non-record words (footer/padding)", bad) + return good, bad + + def scan_rel_relocations(self, rel: Rel) -> None: + addr32: List[Tuple[int, int]] = [] + bl_n = b_n = hi_n = 0 + for r in rel.relocations: + if r.type == R_PPC_REL24: + w = self.mem.read_u32(r.site) + if w is None or opcd(w) != 18: + self.bump("rel: REL24 relocations on a non-branch word (ignored)") + continue + if not self.accepts_target(r.target): + self.bump("rel: REL24 targets outside text (ignored)") + continue + if w & 1: + if r.target == r.site + 4: + self.bump("rel: REL24 `bl` to the next instruction (ignored)") + continue + self.add(r.target, F_BL, "bl:rel24") + bl_n += 1 + else: + self.add(r.target, F_B) + b_n += 1 + elif r.type == R_PPC_ADDR32: + if self.mem.in_text(r.target): + addr32.append((r.site, r.target)) + elif r.type in (R_PPC_ADDR16_LO, R_PPC_ADDR16_HI, R_PPC_ADDR16_HA): + if self.mem.in_text(r.target): + self.add(r.target, F_HIADDR) + hi_n += 1 + self.bump("rel: REL24 bl relocations", bl_n) + self.bump("rel: REL24 b relocations", b_n) + self.bump("rel: ADDR16_LO/HI/HA relocations into text", hi_n) + addr32.sort() + run: List[Tuple[int, int]] = [] + for site, tgt in addr32: + if run and site != run[-1][0] + 4: + self.flush_pointer_run("rel", run) + run = [] + run.append((site, tgt)) + self.flush_pointer_run("rel", run) + self.bump("rel: ADDR32 relocations into text", len(addr32)) + + + def scan_ctor_tables(self, dol: Dol, rel: Rel) -> None: + """Every entry of the .ctors/.dtors tables is called by the runtime (DOL: __init_cpp / + __destroy_global_chain, REL: _prolog/_epilog), so each one is a proven function entry.""" + dol_tables = {dol_secs()[4][1]: "ctor:dol", dol_secs()[5][1]: "dtor:dol"} + for sec in dol.sections: + tag = dol_tables.get(sec.start) + if tag is None: + continue + n = 0 + for w in be_words(sec.data): + if self.mem.in_text(w): + self.add(w, F_CTOR, tag) + n += 1 + self.bump(f"dol.{'ctors' if tag == 'ctor:dol' else 'dtors'}: table entries", n) + rel_tables = {"ctors": "ctor:rel", "dtors": "dtor:rel"} + for name, start, end in rel_secs(): + tag = rel_tables.get(name) + if tag is None: + continue + targets = set() + for r in rel.relocations: + if r.type == R_PPC_ADDR32 and start <= r.site < end and self.mem.in_text(r.target): + self.add(r.target, F_CTOR, tag) + targets.add(r.target) + self.bump(f"rel.{name}: table entries (unique targets)", len(targets)) + + +def build_evidence(mem: Memory, dol: Dol, rel: Rel) -> Evidence: + ev = Evidence(mem) + reloc_sites = frozenset(r.site for r in rel.relocations if r.type == R_PPC_REL24) + # strong sources first + for sec in dol.sections: + if sec.executable: + ev.scan_text(sec, frozenset(), scan_hiaddr=True) + for sec in rel.sections: + if sec.executable: + ev.scan_text(sec, reloc_sites, scan_hiaddr=False) + ev.add(dol.entry, F_ENTRY, "entry:dol") + for a in (rel.prolog, rel.epilog, rel.unresolved): + ev.add(a, F_ENTRY, "entry:rel") + ev.scan_ctor_tables(dol, rel) + extab = next((s for s in dol.sections if s.start == dol_secs()[1][1]), None) + extabindex = next((s for s in dol.sections if s.start == dol_secs()[2][1]), None) + if extab is not None and extabindex is not None: + ev.scan_extabindex(extabindex, (extab.start, extab.end)) + # Relocations in two passes: the strong (REL24) ones first, so that jump-table detection + # for the medium (ADDR32) runs sees the complete strong set. + strong_relocs = Rel(**{**rel.__dict__, "relocations": [r for r in rel.relocations if r.type == R_PPC_REL24]}) + ev.scan_rel_relocations(strong_relocs) + ev.finalize_strong() + medium_relocs = Rel(**{**rel.__dict__, "relocations": [r for r in rel.relocations if r.type != R_PPC_REL24]}) + ev.scan_rel_relocations(medium_relocs) + for sec in dol.sections: + if not sec.executable and sec is not extab and sec is not extabindex: + ev.scan_data_pointers(sec) + ev.finalize_strong() + return ev + + +# --------------------------------------------------------------------------------------- +# PAL map and chunk table +# --------------------------------------------------------------------------------------- +@dataclass +class Entry: + index: int + line: int + pal: int + name: str + named: bool + ntsc: Optional[int] = None + method: str = "none" # chunk | identity | interp | none + verdict: str = "" # see VERDICT_ORDER + evidence: str = "-" # evidence flags at the NTSC address + quality: str = "" # first-instruction quality at the NTSC address + note: str = "" + + @property + def module(self) -> str: + if self.pal < LOW_MEMORY_LIMIT: + return "low" + return "dol" if self.pal < REL_LOAD_ADDRESS["P"] - 0x1000 else "rel" + + @property + def display_name(self) -> str: + return self.name if self.named else f"0x{self.pal:08x}" + + +def load_pal_map(path: str) -> List[Entry]: + entries: List[Entry] = [] + with open(path, "r", encoding="utf-8") as f: + for lineno, raw in enumerate(f, 1): + line = raw.strip() + if not line or line.startswith("#"): + continue + parts = line.split(None, 1) + try: + addr = int(parts[0], 16) + except ValueError: + raise SystemExit(f"{path}:{lineno}: '{raw.rstrip()}' does not start with a hex address") + name = parts[1].strip() if len(parts) > 1 else "" + named = bool(name) and not name.lower().startswith("0x") + entries.append(Entry(index=len(entries), line=lineno, pal=addr, name=name if named else "", named=named)) + if not entries: + raise SystemExit(f"{path}: no entries") + entries.sort(key=lambda e: (e.pal, e.index)) + for i, e in enumerate(entries): + e.index = i + return entries + + +class ChunkTable: + def __init__(self, chunks: List[Tuple[int, int, int]]) -> None: + self.chunks = sorted(chunks) + self.starts = [c[0] for c in self.chunks] + self.problems: List[str] = [] + prev_end = 0 + for s, e, d in self.chunks: + if e <= s: + self.problems.append(f"empty chunk {s:#x}-{e:#x}") + if s < prev_end: + self.problems.append(f"chunk {s:#x}-{e:#x} overlaps the previous chunk") + if (d - s) % 4: + self.problems.append(f"chunk {s:#x}-{e:#x} has a non-word delta") + prev_end = max(prev_end, e) + + def find(self, a: int) -> Optional[Tuple[int, int, int]]: + i = bisect.bisect_right(self.starts, a) - 1 + if i >= 0 and self.chunks[i][0] <= a < self.chunks[i][1]: + return self.chunks[i] + return None + + def port(self, a: int) -> Optional[int]: + c = self.find(a) + return None if c is None else a - c[0] + c[2] + + +# --------------------------------------------------------------------------------------- +# Classification +# --------------------------------------------------------------------------------------- +# Label suffixes seen in the PAL map: _caseD_64, _caseD_-14, ::case_0, _Case_0, _case3, _case5a, +# _2case5a, _caseDefault, _case2D_1, _loop, _switch, ::switch, _Switch, _switch2D ... +CASE_LABEL_RE = re.compile(r"(?:_|::)[0-9]*(?:[Cc]ase(?:D|Default|2D)?|[Ll]oop|[Dd]efault)(?:[_-]?-?[0-9a-fA-F]+)?$") +SWITCH_LABEL_RE = re.compile(r"(?:_|::)(?:switch[0-9A-Za-z]*|Switch)$") + + +def entry_kind(name: str) -> str: + """What a PAL map entry claims to be, from its (Ghidra-style) name.""" + if not name: + return "function" + if name.startswith("switchdataD_"): + return "data" # the jump table itself (not code) + if SWITCH_LABEL_RE.search(name): + return "switch" # the `bctr` of a switch dispatch + if CASE_LABEL_RE.search(name): + return "case" # switch case label / branch label inside a function + return "function" + + +def is_mtctr(w: int) -> bool: + return (w & 0xFC1FFFFF) == 0x7C0903A6 + + +def classify_address(ev: Evidence, mem: Memory, a: int, kind: str = "function") -> Tuple[str, str, str]: + """Return (verdict, evidence-flags, first-instruction quality) for an NTSC address. + + `kind` is what the PAL entry claims to be. A case label is confirmed by a jump-table reference at + the ported address. A `mtctr`+`bctr` pair at the address confirms a switch dispatch site (the PAL + map carries those, named `*_switch` or unnamed). A conditional-branch target can only lie inside a + function, so it vetoes the medium/plausible verdicts for entries that claim to be functions.""" + flags = ev.flag_names(a) + w = mem.read_u32(a) + quality = first_insn_quality(w) if w is not None else "n/a" + f = ev.flags.get(a, 0) + if f & STRONG: + return "PROVEN", flags, quality + if kind == "case" and mem.in_text(a): + if f & (F_JT | F_PTR): + return "REFERENCED", flags, quality # jump-table target, exactly what a case label is + if f & (F_B | F_BC) and w is not None and quality != "invalid": + return "PLAUSIBLE", flags, quality # branch target inside a function: a label + if w == 0x4E800420: + prev = mem.read_u32(a - 4) + if prev is not None and is_mtctr(prev): + return "PLAUSIBLE", (flags + "+mtctr/bctr") if flags != "-" else "mtctr/bctr", quality + inside_function = bool(f & F_BC) and kind == "function" + if f & MEDIUM: + return ("UNVERIFIED" if inside_function else "REFERENCED"), flags, quality + if not mem.in_text(a) or w is None: + return "UNVERIFIED", flags, quality + if quality == "invalid" or inside_function: + return "UNVERIFIED", flags, quality + if a in mem.text_starts: + return "PLAUSIBLE", flags, quality + prev = mem.read_u32(a - 4) + if prev is not None and is_terminator(prev): + return "PLAUSIBLE", flags, quality + return "UNVERIFIED", flags, quality + + +def port_entries(entries: List[Entry], table: ChunkTable, ev: Evidence, mem: Memory) -> None: + for e in entries: + if e.pal < LOW_MEMORY_LIMIT: + e.ntsc = e.pal + e.method = "identity" + e.verdict = "IDENTITY" + v, e.evidence, e.quality = classify_address(ev, mem, e.ntsc) + e.note = f"low memory, binary evidence: {v}" + continue + p = table.port(e.pal) + if p is None: + e.method = "none" + e.verdict = "UNPORTED" + continue + e.ntsc = p + e.method = "chunk" + e.verdict, e.evidence, e.quality = classify_address(ev, mem, p, entry_kind(e.name)) + if e.verdict == "UNVERIFIED": + e.note = describe_unverified(ev, mem, p) + + +def describe_unverified(ev: Evidence, mem: Memory, a: int) -> str: + if not mem.in_text(a): + sec = mem.section_at(a) + return "not in a text section" + (f" ({sec.module}.{sec.name})" if sec else " (unmapped)") + w = mem.read_u32(a) + prev = mem.read_u32(a - 4) + text = f"prev={prev:08x} ({decode_simple(prev)}) word={w:08x} ({decode_simple(w)})" + if ev.flags.get(a, 0) & F_BC: + text = "conditional-branch target (inside a function); " + text + nxt = ev.strong_in_range(a + 4, a + 64) + if nxt: + text += f"; next proven start at +{nxt[0] - a:#x}" + return text + + +@dataclass +class GapResult: + pal_lo: int + pal_hi: int + ntsc_lo: int + ntsc_hi: int + unported: int + candidates: int + outcome: str + + +def interpolate_unported(entries: List[Entry], ev: Evidence, mem: Memory) -> List[GapResult]: + """Step C.2: assign unported entries between two PROVEN chunk-ported neighbours to the + strong K entries inside the corresponding NTSC gap when the counts match.""" + proven_idx = [e.index for e in entries if e.method == "chunk" and e.verdict == "PROVEN"] + ported_sorted = sorted((e.ntsc, e.index) for e in entries if e.ntsc is not None and e.method == "chunk") + ported_addrs = [a for a, _ in ported_sorted] + gaps: Dict[Tuple[int, int], List[int]] = collections.OrderedDict() + for e in entries: + if e.method != "none": + continue + k = bisect.bisect_right(proven_idx, e.index) + if k == 0 or k >= len(proven_idx): + continue + key = (proven_idx[k - 1], proven_idx[k]) + gaps.setdefault(key, []).append(e.index) + + results: List[GapResult] = [] + for (j, k), unported in gaps.items(): + lo, hi = entries[j], entries[k] + nlo, nhi = lo.ntsc, hi.ntsc + assert nlo is not None and nhi is not None + res = GapResult(lo.pal, hi.pal, nlo, nhi, len(unported), 0, "") + if nhi <= nlo: + res.outcome = "rejected: NTSC neighbours not ascending (chunk reordering)" + results.append(res) + continue + inside = [entries[i] for i in range(j + 1, k)] + # contamination: chunk-ported entries from outside the PAL gap landing inside the NTSC gap + a = bisect.bisect_right(ported_addrs, nlo) + b = bisect.bisect_left(ported_addrs, nhi) + contaminated = [idx for _, idx in ported_sorted[a:b] if not (j < idx < k)] + if contaminated: + res.outcome = f"rejected: {len(contaminated)} entries from other chunks land inside the NTSC gap" + results.append(res) + continue + ported_inside = [e for e in inside if e.method == "chunk"] + if any(not (nlo < e.ntsc < nhi) for e in ported_inside): + res.outcome = "rejected: a ported entry inside the PAL gap lies outside the NTSC gap" + results.append(res) + continue + claimed = {e.ntsc for e in ported_inside} + candidates = [x for x in ev.strong_in_range(nlo + 4, nhi - 4) if x not in claimed] + res.candidates = len(candidates) + if len(candidates) != len(unported): + res.outcome = "rejected: count mismatch" + results.append(res) + continue + assignment = dict(zip(unported, candidates)) + seq = [] + for e in inside: + seq.append(assignment[e.index] if e.index in assignment else e.ntsc) + if any(seq[i] >= seq[i + 1] for i in range(len(seq) - 1)): + res.outcome = "rejected: assignment would break monotonic order" + results.append(res) + continue + for idx, addr in assignment.items(): + e = entries[idx] + e.ntsc = addr + e.method = "interp" + e.verdict = "INTERPOLATED" + _, e.evidence, e.quality = classify_address(ev, mem, addr) + e.note = f"gap {lo.pal:08x}..{hi.pal:08x} -> {nlo:08x}..{nhi:08x} ({len(unported)} entries)" + res.outcome = "accepted" + results.append(res) + return results + + +def finish_unported(entries: List[Entry]) -> None: + for e in entries: + if e.method == "none": + e.verdict = "DROPPED" + if not e.note: + e.note = "outside every chunk; no interpolation gap" + + +# --------------------------------------------------------------------------------------- +# Special checks +# --------------------------------------------------------------------------------------- +def thunk_expected(opcode: int, reg: int, step: int) -> int: + return ((opcode << 26) | (reg << 21) | (11 << 16) | ((-(step * (32 - reg))) & 0xFFFF)) & 0xFFFFFFFF + + +def check_thunks(entries: List[Entry], mem: Memory) -> List[dict]: + by_name: Dict[str, Entry] = {} + for e in entries: + if e.named and e.name not in by_name: + by_name[e.name] = e + results = [] + for prefix, mnemonic, opcode, step in THUNK_FAMILIES: + members = [] + for name, e in by_name.items(): + if name.startswith(prefix): + suffix = name[len(prefix):] + if suffix.isdigit(): + members.append((int(suffix), e)) + members.sort() + rows = [] + family_ok = True + for reg, e in members: + expected = thunk_expected(opcode, reg, step) + actual = mem.read_u32(e.ntsc) if e.ntsc is not None else None + ok = actual == expected and e.verdict in EMITTED_VERDICTS + family_ok &= ok + rows.append({ + "name": e.name, "pal": e.pal, "ntsc": e.ntsc, "verdict": e.verdict, + "expected": expected, "actual": actual, + "decoded": decode_simple(actual) if actual is not None else "n/a", "ok": ok, + }) + run_ok = True + run_note = "" + if len(members) >= 2: + first_reg, first = members[0] + last_reg, last = members[-1] + if first.ntsc is not None and last.ntsc is not None: + if last.ntsc != first.ntsc + 4 * (last_reg - first_reg): + run_ok = False + run_note = "family is not a four-byte-per-register run (FunctionMap.ResolveRange would throw)" + # full run: registers first..31 must all decode as expected + for reg in range(first_reg, 32): + a = first.ntsc + 4 * (reg - first_reg) + w = mem.read_u32(a) + if w != thunk_expected(opcode, reg, step): + run_ok = False + run_note = f"register {reg} at {a:08x} decodes as {decode_simple(w) if w is not None else 'n/a'}" + break + else: + run_ok = False + run_note = "fewer than two named members" + results.append({"prefix": prefix, "mnemonic": mnemonic, "rows": rows, "family_ok": family_ok and run_ok, + "run_note": run_note}) + return results + + +def read_sda_bases(entries: List[Entry], mem: Memory) -> dict: + init = next((e for e in entries if e.named and e.name == INIT_REGISTERS_SYMBOL), None) + result = {"symbol": INIT_REGISTERS_SYMBOL, "pal": None, "ntsc": None, "values": {}, "listing": [], "status": ""} + if init is None or init.ntsc is None: + result["status"] = "symbol not found or not ported" + return result + result["pal"] = init.pal + result["ntsc"] = init.ntsc + pending: Dict[int, int] = {} + values: Dict[int, int] = {} + for i in range(48): + a = init.ntsc + 4 * i + w = mem.read_u32(a) + if w is None: + break + result["listing"].append((a, w, decode_simple(w))) + op = opcd(w) + if op == 15 and reg_a(w) == 0: # lis rD, hi + pending[reg_d(w)] = uimm(w) << 16 + elif op == 24 and reg_a(w) == reg_d(w) and reg_d(w) in pending: # ori rX,rX,lo + values[reg_a(w)] = (pending.pop(reg_a(w)) | uimm(w)) & 0xFFFFFFFF + elif op == 14 and reg_a(w) == reg_d(w) and reg_a(w) != 0 and reg_d(w) in pending: # addi rX,rX,lo + values[reg_a(w)] = (pending.pop(reg_a(w)) + simm(w)) & 0xFFFFFFFF + if w == 0x4E800020: + break + result["values"] = {f"r{r}": v for r, v in sorted(values.items())} + r13 = values.get(13) + r2 = values.get(2) + checks = [] + for reg, val in (("r13", r13), ("r2", r2)): + exp = SDA_BASES[TARGET][0 if reg == "r13" else 1] + if val is None: + checks.append(f"{reg}: not found") + elif val == exp: + checks.append(f"{reg}=0x{val:08X} (matches expectation)") + else: + checks.append(f"{reg}=0x{val:08X} (EXPECTED 0x{exp:08X})") + result["status"] = "; ".join(checks) + return result + + +# --------------------------------------------------------------------------------------- +# Output +# --------------------------------------------------------------------------------------- +def dedupe(entries: List[Entry]) -> Tuple[List[Entry], List[List[Entry]]]: + emitted = [e for e in entries if e.verdict in EMITTED_VERDICTS] + groups: Dict[int, List[Entry]] = collections.OrderedDict() + for e in sorted(emitted, key=lambda e: (e.ntsc, e.index)): + groups.setdefault(e.ntsc, []).append(e) + kept: List[Entry] = [] + collisions: List[List[Entry]] = [] + for addr, group in groups.items(): + if len(group) == 1: + kept.append(group[0]) + continue + collisions.append(group) + named = [e for e in group if e.named] + winner = named[0] if named else group[0] + for e in group: + if e is not winner: + e.verdict = "DROPPED" + e.note = f"collision at {addr:08x}; kept '{winner.display_name}' (PAL {winner.pal:08x})" + kept.append(winner) + return kept, collisions + + +@dataclass +class AdditionStats: + per_class: "collections.OrderedDict[str, int]" + per_class_addrs: Dict[str, List[int]] + rejected_medium: int = 0 # pointer-referenced only, failed the structural check + skipped_weak: int = 0 # only hiaddr / b / jt evidence: not eligible + strong_bc_anomalies: int = 0 # strong evidence but also a conditional-branch target + ctor_total: Dict[str, int] = field(default_factory=dict) + ctor_missing: Dict[str, int] = field(default_factory=dict) + + +def binary_additions(ev: Evidence, mem: Memory, covered: set) -> Tuple[List[Entry], AdditionStats]: + """Step H: every NTSC-U entry point the binaries prove that no ported PAL entry covers is added + as an unnamed placeholder entry. Strong classes are taken as they are; medium ones (function + pointer tables) must also look like a function start structurally.""" + stats = AdditionStats(collections.OrderedDict((label, 0) for label, _, _ in ADDITION_CLASSES), + {label: [] for label, _, _ in ADDITION_CLASSES}) + for table in ("ctor:dol", "dtor:dol", "ctor:rel", "dtor:rel"): + addrs = sorted(a for a, tags in ev.sources.items() if table in tags) + stats.ctor_total[table] = len(addrs) + stats.ctor_missing[table] = sum(1 for a in addrs if a not in covered) + added: List[Entry] = [] + for a in sorted(ev.flags): + if a in covered: + continue + f = ev.flags[a] + tags = ev.sources.get(a, set()) + chosen = None + for label, srcs, strength in ADDITION_CLASSES: + if any(t in tags for t in srcs): + chosen = (label, strength) + break + if chosen is None: + stats.skipped_weak += 1 + continue + label, strength = chosen + w = mem.read_u32(a) + if strength == "medium": + prev = mem.read_u32(a - 4) + ok = (mem.in_text(a) and w is not None and not (f & F_BC) + and first_insn_quality(w) != "invalid" + and (a in mem.text_starts or (prev is not None and is_terminator(prev)))) + if not ok: + stats.rejected_medium += 1 + continue + elif f & F_BC: + stats.strong_bc_anomalies += 1 + stats.per_class[label] += 1 + stats.per_class_addrs[label].append(a) + added.append(Entry(index=-1, line=0, pal=a, name="", named=False, ntsc=a, method="binary", + verdict="ADDED", evidence=ev.flag_names(a), + quality=first_insn_quality(w) if w is not None else "n/a", note=label)) + return added, stats + + +def write_if_changed(path: str, text: str) -> bool: + os.makedirs(os.path.dirname(os.path.abspath(path)), exist_ok=True) + if os.path.exists(path): + with open(path, "r", encoding="utf-8", newline="") as f: + if f.read() == text: + return False + with open(path, "w", encoding="utf-8", newline="\n") as f: + f.write(text) + return True + + +def write_map(path: str, kept: List[Entry], counts: Dict[str, int], pal_map: str) -> None: + os.makedirs(os.path.dirname(os.path.abspath(path)), exist_ok=True) + lines = [ + f"# {TN} ({TI}) function map, ported from {pal_map} (PAL RMCP01) by {TOOL_ID}.", + f"# Every entry was validated against the {TI} main.dol/StaticR.rel; see MAP_REPORT.md next to this file.", + "# Verdicts: " + ", ".join(f"{k}={counts.get(k, 0)}" for k in EMITTED_VERDICTS) + + f", ADDED={counts.get('ADDED', 0)} (binary-proven entries no PAL entry covers); entries={len(kept)}", + ] + for e in sorted(kept, key=lambda e: e.ntsc): + lines.append(f"{e.ntsc:08x} {e.name if e.named else f'0x{e.ntsc:08x}'}") + write_if_changed(path, "\n".join(lines) + "\n") + + +def write_json(path: str, table: ChunkTable, dol: Dol, rel: Rel) -> None: + os.makedirs(os.path.dirname(os.path.abspath(path)), exist_ok=True) + payload = collections.OrderedDict() + payload["source_region"] = "P" + payload["target_region"] = TARGET + payload["generator"] = TOOL_ID + payload["attribution"] = "chunk table and section layouts vendored from the mkw-sp project (port.py, MIT license)" + payload["port_rule"] = "if src_start <= a < src_end then a - src_start + dst_start" + payload["address_format"] = "hex strings" + payload["chunks"] = [[f"0x{s:08X}", f"0x{e:08X}", f"0x{d:08X}"] for s, e, d in table.chunks] + payload["rel_load_address"] = {r: f"0x{a:08X}" for r, a in REL_LOAD_ADDRESS.items()} + payload["dol_sections"] = { + r: [{"name": n, "start": f"0x{s:08X}", "end": f"0x{e:08X}"} for n, s, e in secs] + for r, secs in DOL_SECTIONS.items() + } + payload["rel_sections"] = { + r: [{"name": n, "start": f"0x{s:08X}", "end": f"0x{e:08X}"} for n, s, e in secs] + for r, secs in REL_SECTIONS.items() + } + payload["validated_against"] = { + "dol": {"path": os.path.basename(dol.path), "sha256": dol.sha256, "entry": f"0x{dol.entry:08X}"}, + "rel": {"path": os.path.basename(rel.path), "sha256": rel.sha256, "module_id": rel.module_id, + "prolog": f"0x{rel.prolog:08X}", "epilog": f"0x{rel.epilog:08X}", "unresolved": f"0x{rel.unresolved:08X}"}, + } + write_if_changed(path, json.dumps(payload, indent=2) + "\n") + + +def layout_check(dol: Dol, rel: Rel) -> List[str]: + """Compare the parsed target binaries with the vendored mkw-sp layout for that region.""" + notes = [] + parsed = {s.start: s for s in dol.sections} + for name, start, end in dol_secs(): + if name in ("bss", "sbss", "sbss2"): + continue + s = parsed.get(start) + if s is None: + notes.append(f"DOL {name}: expected a section at {start:08x}, none parsed") + elif s.end != end: + notes.append(f"DOL {name}: parsed {s.start:08x}-{s.end:08x}, table says {start:08x}-{end:08x}") + else: + notes.append(f"DOL {name}: {start:08x}-{end:08x} OK") + if dol.bss_addr != dol_secs()[8][1]: + notes.append(f"DOL bss: header says {dol.bss_addr:08x}, table says {dol_secs()[8][1]:08x}") + parsed_rel = {s.start: s for s in rel.sections} + for name, start, end in rel_secs(): + s = parsed_rel.get(start) + if s is None: + notes.append(f"REL {name}: expected a section at {start:08x}, none parsed") + elif s.end != end: + notes.append(f"REL {name}: parsed {s.start:08x}-{s.end:08x}, table says {start:08x}-{end:08x}") + else: + notes.append(f"REL {name}: {start:08x}-{end:08x} OK") + return notes + + +def label_class_rows(entries: List[Entry]) -> List[List[str]]: + classes: Dict[str, collections.Counter] = collections.OrderedDict( + (k, collections.Counter()) for k in ("case", "switch", "data")) + for e in entries: + k = entry_kind(e.name) + if k in classes: + classes[k][e.verdict] += 1 + rows = [] + for k, c in classes.items(): + rows.append([k, sum(c.values())] + [c.get(v, 0) for v in VERDICT_ORDER]) + return rows + + +def extent_check(entries: List[Entry], kept: List[Entry], table: ChunkTable) -> Tuple[int, List[List[str]], int]: + """For chunk-ported entries whose PAL successor is not ported by the same chunk (chunk tails and + entries next to holes), compare the PAL extent (distance to the next PAL entry) with the NTSC-U + extent (distance to the next emitted entry). Inside a chunk the two are equal by construction, + so a mismatch here marks exactly the places where the chunk table's edges may be sloppy.""" + kept_addrs = sorted(e.ntsc for e in kept) + rows: List[List[str]] = [] + unnamed_mismatch = checked = 0 + for i, e in enumerate(entries): + if e.method != "chunk" or e.verdict not in EMITTED_VERDICTS or i + 1 >= len(entries): + continue + s = entries[i + 1] + if s.method == "chunk" and table.find(s.pal) == table.find(e.pal): + continue + checked += 1 + ext_pal = s.pal - e.pal + j = bisect.bisect_right(kept_addrs, e.ntsc) + ext_ntsc = kept_addrs[j] - e.ntsc if j < len(kept_addrs) else None + if ext_ntsc == ext_pal: + continue + if e.named: + rows.append([hx(e.pal), e.display_name, hx(e.ntsc), e.verdict, f"{ext_pal:#x}", + f"{ext_ntsc:#x}" if ext_ntsc is not None else "-", f"{s.display_name} ({s.verdict})"]) + else: + unnamed_mismatch += 1 + return checked, rows, unnamed_mismatch + + +def md_table(header: List[str], rows: List[List[str]]) -> List[str]: + out = ["| " + " | ".join(header) + " |", "|" + "|".join("---" for _ in header) + "|"] + for r in rows: + out.append("| " + " | ".join(str(c).replace("|", "\\|") for c in r) + " |") + return out + + +def hx(a: Optional[int]) -> str: + return "-" if a is None else f"{a:08x}" + + +def write_report(path: str, args: argparse.Namespace, dol: Dol, rel: Rel, table: ChunkTable, ev: Evidence, + entries: List[Entry], kept: List[Entry], collisions: List[List[Entry]], gaps: List[GapResult], + thunks: List[dict], sda: dict, added: List[Entry], add_stats: AdditionStats) -> str: + L: List[str] = [] + counts = collections.Counter(e.verdict for e in entries) + per_module: Dict[str, collections.Counter] = collections.defaultdict(collections.Counter) + for e in entries: + per_module[e.module][e.verdict] += 1 + emitted_counts = collections.Counter(e.verdict for e in kept) + L.append(f"# {TN} ({TI}) function map port report") + L.append("") + L.append(f"Generated by `{TOOL_ID}`. Deterministic; no timestamps.") + L.append("") + L.append("## Summary") + L.append("") + L.append(f"- PAL map: `{repo_relative(args.pal_map)}` ({len(entries)} entries, {sum(1 for e in entries if e.named)} named)") + L.append(f"- {TN} DOL: `{os.path.basename(dol.path)}` sha256 `{dol.sha256}` entry `0x{dol.entry:08X}`") + L.append(f"- {TN} REL: `{os.path.basename(rel.path)}` sha256 `{rel.sha256}` load `0x{rel.load_address:08X}` " + f"(module {rel.module_id}, v{rel.version}, prolog `0x{rel.prolog:08X}`, epilog `0x{rel.epilog:08X}`, " + f"unresolved `0x{rel.unresolved:08X}`)") + L.append(f"- Chunk table: {len(table.chunks)} PAL->{TN} chunks (mkw-sp port.py, MIT)" + + (f"; problems: {'; '.join(table.problems)}" if table.problems else "; no overlaps, all deltas word-aligned")) + L.append(f"- Output map: `{repo_relative(args.out_map)}` with **{len(kept)}** entries " + f"({sum(1 for e in kept if e.named)} named); `{repo_relative(args.out_json)}` carries the chunk table.") + L.append("") + L.append("### Verdict totals (all PAL entries)") + L.append("") + rows = [] + for v in VERDICT_ORDER: + rows.append([v, counts.get(v, 0), per_module["low"].get(v, 0), per_module["dol"].get(v, 0), + per_module["rel"].get(v, 0), "yes" if v in EMITTED_VERDICTS else "no"]) + rows.append(["total", len(entries), sum(per_module["low"].values()), sum(per_module["dol"].values()), + sum(per_module["rel"].values()), ""]) + L += md_table(["verdict", "entries", "low-mem", "DOL", "REL", "emitted"], rows) + L.append("") + L.append("Emitted after deduplication: " + ", ".join(f"{v}={emitted_counts.get(v, 0)}" for v in EMITTED_VERDICTS) + + f"; total {len(kept)} ported entries, plus {len(added)} binary-proven entries no PAL entry covers " + f"(section below) = **{len(kept) + len(added)}** lines in MAP.txt. UNVERIFIED and DROPPED entries are " + f"never written to MAP.txt.") + L.append("") + L.append(f"### Binary-proven entries added (step H: {TN} entry points no ported PAL entry covers)") + L.append("") + L.append("Emitted as unnamed placeholders (`hexaddr 0xhexaddr`). Strong classes are taken as proven; the " + "pointer-referenced classes must also pass the structural check (not a conditional-branch target, " + "terminator before, decodable first instruction) because no PAL entry vouches for them. Each address " + "is counted once, under the first class that applies.") + L.append("") + L += md_table(["evidence class", "added"], [[k, v] for k, v in add_stats.per_class.items()] + + [["total added", len(added)]]) + L.append("") + ctor_labels = {"ctor:dol": "DOL .ctors", "dtor:dol": "DOL .dtors", "ctor:rel": "REL .ctors", "dtor:rel": "REL .dtors"} + L.append("Constructor/destructor tables: " + + "; ".join(f"{ctor_labels[t]} {add_stats.ctor_total.get(t, 0)} entries, " + f"{add_stats.ctor_missing.get(t, 0)} previously missing from the map" + for t in ("ctor:dol", "dtor:dol", "ctor:rel", "dtor:rel")) + ".") + L.append(f"Not added: {add_stats.rejected_medium} pointer-referenced addresses that failed the structural check " + f"(jump-table targets and similar), {add_stats.skipped_weak} addresses with only weak evidence " + f"(conditional/unconditional branch targets, lis/addi pairs, jump-table-like runs). Strong additions " + f"that are also a conditional-branch target: {add_stats.strong_bc_anomalies}.") + L.append("") + for label, addrs in add_stats.per_class_addrs.items(): + if not addrs: + continue + L.append(f"{label} ({len(addrs)}):") + L.append("") + L.append("```text") + for i in range(0, len(addrs), 12): + L.append(" ".join(f"{a:08x}" for a in addrs[i:i + 12])) + L.append("```") + L.append("") + strong_q = collections.Counter() + for e in kept: + strong_q[(e.verdict, e.quality)] += 1 + L.append("First-instruction quality of emitted entries (strong = typical prologue/first instruction, " + "valid = any decodable instruction): " + + ", ".join(f"{v}/{q}={n}" for (v, q), n in sorted(strong_q.items()))) + L.append("") + dropped_n = counts.get("DROPPED", 0) + unv_n = counts.get("UNVERIFIED", 0) + L.append("### Reading the numbers") + L.append("") + L.append(f"- {counts.get('PROVEN', 0) + counts.get('REFERENCED', 0)} of {len(entries)} entries land on an address the " + f"{TN} binaries reference as code (call target, exception-table record, entry point, function-pointer " + f"table, jump table for case labels); {counts.get('PLAUSIBLE', 0)} more sit right after a function " + f"terminator (or are verified switch dispatch sites) with a decodable first instruction.") + L.append(f"- {unv_n} UNVERIFIED entries are withheld: see the per-class breakdown in the Unverified section. None of " + f"the no-evidence ones lies near a chunk edge; they are surrounded by validated neighbours inside their " + f"chunk, which points at PAL-map noise (mid-function addresses, round addresses, names misplaced by one " + f"instruction) rather than at the chunk table.") + L.append(f"- {dropped_n} DROPPED entries: jump tables and other data symbols the PAL map carries, PAL-only code " + f"regions with no {TN} counterpart, and chunk-table holes with no interpolation gap.") + L.append(f"- The PAL project uses sda_base/sda2_base 0x8038CC00/0x8038EFA0; the {TN} values read below are the " + f"ones an {TN} project must configure.") + L.append("") + L.append("### Non-function labels carried by the PAL map") + L.append("") + L.append("The PAL map contains Ghidra-style labels that are not function starts: `*_caseD_N` switch case " + "labels (validated here by a jump-table reference at the ported address), `*_switch` dispatch " + "points (validated as `mtctr`+`bctr`), and `switchdataD_*` jump tables (data, never code). " + "They are ported with the same rules; the verdict spread per class:") + L.append("") + L += md_table(["class", "entries"] + list(VERDICT_ORDER), label_class_rows(entries)) + L.append("") + checked, ext_rows, ext_unnamed = extent_check(entries, kept, table) + L.append("### Chunk-edge extent check") + L.append("") + L.append(f"{checked} emitted chunk-ported entries sit at a chunk edge (their PAL successor is not ported by the " + f"same chunk). For these the PAL extent (distance to the next PAL entry) was compared with the " + f"{TN} extent (distance to the next emitted entry): {len(ext_rows)} named and {ext_unnamed} unnamed " + f"entries differ. A difference means the function's size changed, the successor was dropped, or the " + f"chunk edge is sloppy; the address is still a verified entry point, but for named entries the name " + f"deserves a second look.") + L.append("") + if ext_rows: + L += md_table(["PAL", "name", f"{TN}", "verdict", "PAL extent", f"{TN} extent", "PAL successor"], ext_rows) + L.append("") + + L.append(f"### SDA bases read from the {TN} `__init_registers`") + L.append("") + L.append(f"- `{sda['symbol']}` PAL `{hx(sda['pal'])}` -> {TN} `{hx(sda['ntsc'])}`") + L.append(f"- Result: **{sda['status']}**") + if sda["values"]: + L.append("- All lis/ori(addi) register values materialised in the function: " + + ", ".join(f"{r}=0x{v:08X}" for r, v in sda["values"].items())) + L.append("") + if sda["listing"]: + L.append("```text") + for a, w, d in sda["listing"]: + L.append(f"{a:08x} {w:08x} {d}") + L.append("```") + L.append("") + + L.append("### Save/restore thunk families (resolved by name in GuestSaveRestoreThunks.cs)") + L.append("") + for fam in thunks: + status = "OK" if fam["family_ok"] else "PROBLEM" + L.append(f"**`{fam['prefix']}N`** ({fam['mnemonic']} rN,-off(r11)): {status}" + + (f" - {fam['run_note']}" if fam["run_note"] else " - full run to r31 verified")) + L.append("") + L += md_table(["name", "PAL", f"{TN}", "verdict", "expected", "actual", "decoded", "ok"], + [[r["name"], hx(r["pal"]), hx(r["ntsc"]), r["verdict"], f"{r['expected']:08x}", + hx(r["actual"]), r["decoded"], "yes" if r["ok"] else "NO"] for r in fam["rows"]]) + L.append("") + + L.append(f"## Evidence set K ({TN} function entry points proven by the binaries)") + L.append("") + strong_n = sum(1 for f in ev.flags.values() if f & STRONG) + medium_only = sum(1 for f in ev.flags.values() if (f & MEDIUM) and not (f & STRONG)) + b_only = sum(1 for f in ev.flags.values() if f == F_B) + jt_only = sum(1 for f in ev.flags.values() if f == F_JT) + L.append(f"- Strong (bl target / extabindex record / entry point): **{strong_n}** addresses") + L.append(f"- Medium only (function-pointer word, ADDR32/ADDR16 relocation, lis/addi pair): **{medium_only}** addresses") + L.append(f"- Weak only (`b` target, not used for verdicts): {b_only} addresses") + L.append(f"- Jump-table-like pointer runs (excluded from REFERENCED): {len(ev.jump_table_runs)} runs, " + f"{jt_only} addresses referenced only from them") + L.append("") + L += md_table(["source", "count"], [[k, v] for k, v in ev.stats.items()]) + L.append("") + L.append("REL relocation type counts (module, type): " + + ", ".join(f"({m},{t})={n}" for (m, t), n in sorted(rel.reloc_type_counts.items()))) + L.append("") + + L.append("## Binary layout check (parsed headers vs vendored mkw-sp table)") + L.append("") + for n in layout_check(dol, rel): + L.append(f"- {n}") + L.append("") + + L.append("## Interpolation gaps (step C.2)") + L.append("") + if gaps: + L += md_table(["PAL gap", f"{TN} gap", "unported", "K candidates", "outcome"], + [[f"{g.pal_lo:08x}..{g.pal_hi:08x}", f"{g.ntsc_lo:08x}..{g.ntsc_hi:08x}", g.unported, + g.candidates, g.outcome] for g in gaps]) + else: + L.append("No gaps needed interpolation.") + L.append("") + interp = [e for e in entries if e.verdict == "INTERPOLATED"] + if interp: + L.append("Interpolated entries:") + L.append("") + L += md_table(["PAL", "name", f"{TN}", "evidence", "gap"], + [[hx(e.pal), e.display_name, hx(e.ntsc), e.evidence, e.note] for e in interp]) + L.append("") + + L.append(f"## Collisions (two PAL entries porting to one {TN} address)") + L.append("") + L.append("The named entry is kept (both PAL entries are functions, so the address is a real entry point either " + "way; only the name is in question). Extents are the distance to the next PAL entry / next emitted " + f"{TN} entry: the PAL entry whose extent matches the {TN} extent is the likelier owner of the address.") + L.append("") + if collisions: + kept_addrs = sorted(e.ntsc for e in kept) + rows = [] + for group in collisions: + kept_e = next(e for e in group if e.verdict in EMITTED_VERDICTS) + addr = group[0].ntsc + j = bisect.bisect_right(kept_addrs, addr) + ext_ntsc = f"{kept_addrs[j] - addr:#x}" if j < len(kept_addrs) else "-" + parts = [] + for e in group: + ext_pal = f"{entries[e.index + 1].pal - e.pal:#x}" if e.index + 1 < len(entries) else "-" + parts.append(f"{e.display_name} (PAL {e.pal:08x}, {e.method}, extent {ext_pal})") + rows.append([hx(addr), "; ".join(parts), ext_ntsc, kept_e.display_name]) + L += md_table([f"{TN}", "PAL entries", f"{TN} extent", "kept"], rows) + else: + L.append("None.") + L.append("") + + dropped = [e for e in entries if e.verdict == "DROPPED"] + L.append(f"## Dropped entries ({len(dropped)})") + L.append("") + if dropped: + L += md_table(["PAL", "name", "reason"], [[hx(e.pal), e.display_name, e.note] for e in dropped]) + else: + L.append("None.") + L.append("") + + unv = [e for e in entries if e.verdict == "UNVERIFIED"] + L.append(f"## Unverified entries ({len(unv)}; ported by the chunk table but not confirmed by the binary, not emitted)") + L.append("") + sub = collections.Counter() + for e in unv: + if "not in a text section" in e.note: + sub["outside text (data symbols)"] += 1 + elif "conditional-branch target" in e.note and ("jt" in e.evidence or "ptr" in e.evidence): + sub["conditional-branch target that is also jump-table referenced (a case label without a label name)"] += 1 + elif "conditional-branch target" in e.note: + sub["conditional-branch target (inside a function)"] += 1 + elif "word=00000000" in e.note: + sub["lands on a padding word (real function usually at +4)"] += 1 + elif "jt" in e.evidence or "ptr" in e.evidence: + sub["jump-table referenced but named/unnamed as a function"] += 1 + else: + sub["no evidence, predecessor is not a terminator"] += 1 + for k, v in sorted(sub.items()): + L.append(f"- {k}: {v}") + L.append("") + if unv: + L += md_table(["PAL", "name", f"{TN}", "evidence", "detail"], + [[hx(e.pal), e.display_name, hx(e.ntsc), e.evidence, e.note] for e in unv]) + else: + L.append("None.") + L.append("") + + ident = [e for e in entries if e.verdict == "IDENTITY"] + L.append(f"## Identity (low-memory) entries ({len(ident)})") + L.append("") + L.append("Below 0x80004000 the PAL address is kept unchanged. These addresses are outside every DOL/REL " + f"section, so the binaries cannot vouch for them; the evidence column shows whether any {TN} code " + "branches to them.") + L.append("") + if ident: + L += md_table(["address", "name", "binary evidence"], + [[hx(e.pal), e.display_name, f"{e.note} ({e.evidence})"] for e in ident]) + L.append("") + + while L and L[-1] == "": + L.pop() + text = "\n".join(L) + "\n" + write_if_changed(path, text) + return text + + +# --------------------------------------------------------------------------------------- +# main +# --------------------------------------------------------------------------------------- +def repo_root() -> str: + return os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..")) + + +def repo_relative(path: str) -> str: + """A path as it should read in a committed report: relative to the repository, forward slashes.""" + return os.path.relpath(os.path.abspath(path), repo_root()).replace(os.sep, "/") + + +def default_paths(region: str = "E") -> dict: + repo = repo_root() + return { + "pal_map": os.path.join(repo, "projects", "mkwii", "MAP.txt"), + "out_map": os.path.join(repo, "projects", PROJECT_DIR[region], "MAP.txt"), + "out_report": os.path.join(repo, "projects", PROJECT_DIR[region], "MAP_REPORT.md"), + "out_json": os.path.join(repo, "projects", PROJECT_DIR[region], "region_port.json"), + } + + +def main(argv: Optional[List[str]] = None) -> int: + global TARGET, TN, TI + pre = argparse.ArgumentParser(add_help=False) + pre.add_argument("--region", choices=sorted(CHUNK_TABLES), default="E", + help=f"target region letter: E ({TN}) or J (NTSC-J)") + known, _ = pre.parse_known_args(argv) + TARGET = known.region + TN, TI = REGION_NAME[TARGET] + d = default_paths(TARGET) + ap = argparse.ArgumentParser( + parents=[pre], + description="Port the PAL MKWii function map to another region with binary validation.") + ap.add_argument("--pal-map", default=d["pal_map"]) + ap.add_argument("--disc-root", help="directory holding the extracted discs as RMC?01/ " + "(sys/main.dol and files/rel/StaticR.rel under each); the target's pair is used") + ap.add_argument("--dol", help=f"{TN} sys/main.dol (overrides --disc-root)") + ap.add_argument("--rel", help=f"{TN} files/rel/StaticR.rel (overrides --disc-root)") + ap.add_argument("--rel-load", default=None, help="target REL load address (default: the region's)") + ap.add_argument("--out-map", default=d["out_map"]) + ap.add_argument("--out-report", default=d["out_report"]) + ap.add_argument("--out-json", default=d["out_json"]) + ap.add_argument("--quiet", action="store_true") + args = ap.parse_args(argv) + if args.disc_root: + disc = os.path.join(args.disc_root, f"RMC{TARGET}01") + args.dol = args.dol or os.path.join(disc, "sys", "main.dol") + args.rel = args.rel or os.path.join(disc, "files", "rel", "StaticR.rel") + if not (args.dol and args.rel): + ap.error("give --disc-root, or both --dol and --rel") + + rel_load = int(args.rel_load, 16) if args.rel_load else REL_LOAD_ADDRESS[TARGET] + dol = parse_dol(args.dol) + rel = parse_rel(args.rel, rel_load, rel_secs()[5][1]) + mem = Memory() + for s in dol.sections: + mem.add(s) + for s in rel.sections: + mem.add(s) + + ev = build_evidence(mem, dol, rel) + table = ChunkTable(CHUNK_TABLES[TARGET]) + entries = load_pal_map(args.pal_map) + + port_entries(entries, table, ev, mem) + gaps = interpolate_unported(entries, ev, mem) + finish_unported(entries) + kept, collisions = dedupe(entries) + + thunks = check_thunks(entries, mem) + sda = read_sda_bases(entries, mem) + + added, add_stats = binary_additions(ev, mem, {e.ntsc for e in kept}) + counts = collections.Counter(e.verdict for e in kept) + counts["ADDED"] = len(added) + write_map(args.out_map, kept + added, counts, + os.path.relpath(args.pal_map, os.path.dirname(os.path.abspath(args.out_map))).replace(os.sep, "/")) + write_json(args.out_json, table, dol, rel) + report = write_report(args.out_report, args, dol, rel, table, ev, entries, kept, collisions, gaps, thunks, sda, + added, add_stats) + if not args.quiet: + # print the summary section (up to the evidence section) + cut = report.find("## Evidence set K") + sys.stdout.write(report[:cut] if cut > 0 else report) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/region/test_port_data_addresses.py b/tools/region/test_port_data_addresses.py new file mode 100644 index 0000000..f026396 --- /dev/null +++ b/tools/region/test_port_data_addresses.py @@ -0,0 +1,110 @@ +"""Binary-free regression tests: python3 -m unittest discover -s tools/region.""" +import unittest +import contextlib +import io +import tempfile +from pathlib import Path +from unittest.mock import patch + +import port_data_addresses as porter + + +class Words: + def __init__(self, words): + self.words = words + + def word(self, address): + return self.words.get(address, 0x60000000) # nop + + +class AddressProofTests(unittest.TestCase): + def test_missing_pal_proof_inputs_fail_before_loading_or_overwriting(self): + with tempfile.TemporaryDirectory() as directory: + table = Path(directory, "source.txt") + table.write_text("802574A0 80257420 fixture\n") + output = Path(directory, "output.txt") + output.write_text("existing table\n") + errors = io.StringIO() + args = ["porter", "--region", "J", "--disc-root", directory, + "--source-table", str(table), "--out", str(output)] + with patch("sys.argv", args), patch.object(porter, "Image") as image, \ + contextlib.redirect_stderr(errors), self.assertRaises(SystemExit) as failure: + porter.main() + self.assertEqual(2, failure.exception.code) + self.assertIn("FIELD/RECORD proofs require clean PAL inputs", errors.getvalue()) + image.assert_not_called() + self.assertEqual("existing table\n", output.read_text()) + + def test_lis_low_half_can_be_delayed_beyond_eight_instructions(self): + image = Words({0x1000: 0x3CC08012, 0x1028: 0x38C66954}) + self.assertEqual(0x80126954, porter.formed_address(image, 0x1000, 0, 0)) + + def test_register_clobber_ends_lis_sequence(self): + image = Words({0x1000: 0x3CC08012, 0x1004: 0x38C00000, 0x1028: 0x38C66954}) + self.assertIsNone(porter.formed_address(image, 0x1000, 0, 0)) + + def test_signed_low_half_and_lha_address(self): + image = Words({0x1000: 0x3C60809B, 0x1004: 0xA863D140}) + self.assertEqual(0x809AD140, porter.formed_address(image, 0x1000, 0, 0)) + + def test_branch_signatures_retain_link_and_absolute_flags(self): + self.assertNotEqual(porter._norm(0x48000001), porter._norm(0x48000000)) + self.assertNotEqual(porter._norm(0x48000002), porter._norm(0x48000000)) + + def field_images(self): + source = Words({0x8021B310: 0x3FE08025, 0x8021B314: 0x3BFF7480, + 0x8021B378: 0x389F0020}) + target = Words({0x8021C310: 0x3FE08025, 0x8021C314: 0x3BFF7240, + 0x8021C378: 0x389F0020}) + return source, target + + def prove_field(self, source, target): + with patch.object(porter, "matched_site", side_effect=lambda _s, a, _t: (a + 0x1000, 10)): + return porter.verified_field(0x802574A0, source, target, "J") + + def test_field_uses_target_base_and_actual_field_instruction(self): + value, evidence = self.prove_field(*self.field_images()) + self.assertEqual(0x80257260, value) + self.assertIn("389F0020", evidence) + + def test_field_rejects_changed_displacement(self): + source, target = self.field_images() + target.words[0x8021C378] = 0x389F0040 + self.assertIsNone(self.prove_field(source, target)[0]) + + def test_field_rejects_intervening_register_clobber(self): + source, target = self.field_images() + target.words[0x8021C320] = 0x3BE00000 # li r31,0 + self.assertIsNone(self.prove_field(source, target)[0]) + + def test_field_rejects_non_unique_signature(self): + with patch.object(porter, "matched_site", return_value=(None, None)): + self.assertIsNone(porter.verified_field(0x802574A0, *self.field_images(), "J")[0]) + + def test_indexed_update_store_clobbers_its_base(self): + stwux = (31 << 26) | (4 << 21) | (31 << 16) | (3 << 11) | (183 << 1) + self.assertEqual({31}, porter.gpr_writes(stwux)) + + def test_unknown_field_has_no_nearest_neighbour_fallback(self): + self.assertEqual((None, None), porter.verified_field(0x802574A4, *self.field_images(), "J")) + + def test_record_requires_target_stride_and_record_bytes(self): + source = Words({0x8023E574: 0x3CA0802A, 0x8023E580: 0x38A53EE8, + 0x8023E56C: 0x1C80000C}) + target = Words({0x8023F574: 0x3CA08029, 0x8023F580: 0x38A51EE8, + 0x8023F56C: 0x1C80000C}) + records = (0x026001E0, 0x3F86BCA2, 0x3F800000, 0x034001E0, 0x3F44EC4F, 0x3F800000) + for i, word in enumerate(records): + source.words[0x802A3EE8 + i * 4] = word + target.words[0x80291EE8 + i * 4] = word + with patch.object(porter, "matched_site", side_effect=lambda _s, a, _t: (a + 0x1000, 10)): + self.assertEqual(0x80291EF4, porter.verified_record(0x802A3EF4, source, target, "J")[0]) + target.words[0x80291EF4] ^= 1 + self.assertIsNone(porter.verified_record(0x802A3EF4, source, target, "J")[0]) + target.words[0x80291EF4] ^= 1 + target.words[0x8023F56C] = 0x1C800018 # changed record stride + self.assertIsNone(porter.verified_record(0x802A3EF4, source, target, "J")[0]) + + +if __name__ == "__main__": + unittest.main() diff --git a/translator/src/Translator.Cli/Program.cs b/translator/src/Translator.Cli/Program.cs index db6ba74..df7f966 100644 --- a/translator/src/Translator.Cli/Program.cs +++ b/translator/src/Translator.Cli/Program.cs @@ -68,8 +68,8 @@ var canonicalIrStore = new CanonicalIrStore(); // recursive ABI cache in one stable pass, exactly like translate-mod does. var inferredGuestAbi = new Lazy(() => new InferredGuestFunctionAbiProvider(image.Value, canonicalIrStore)); -var runtimeNativeIndex = new Lazy(() => RuntimeNativeIndexBuilder.Resolve( - RequireProject().Runtime.NativeRegistrationRoot, RequireProject().Runtime.NativeIndex, Console.Error)); +var runtimeNativeIndex = new Lazy(() => ResolveRegionalNativeIndex( + RequireProject().Runtime.NativeRegistrationRoot, RequireProject().Runtime.NativeIndex)); // Void-stub signatures are only trusted as declared guest ABIs when the stub // lives under runtime.native_abi_directories (the vetted set); everywhere else // the C++ signature is documentation and the inferred ABI stays authoritative. @@ -217,6 +217,18 @@ int RunCheckBaseModAwareness(string[] argsTail) return 0; } +// The runtime registers natives by PAL address; translated code needs the project region's. +RuntimeNativeIndex ResolveRegionalNativeIndex(string nativeSourceDirectory, string? indexPath) +{ + var index = RuntimeNativeIndexBuilder.Resolve(nativeSourceDirectory, indexPath, Console.Error); + var region = GuestRegions.FromGameId(project?.Identity.GameId); + var tablePath = GuestAddressTable.DefaultPath(nativeSourceDirectory); + // A runtime without a table can only be built for PAL. + if (region == GuestRegion.Pal && !File.Exists(tablePath)) + return index; + return index.ForRegion(GuestAddressTable.Load(tablePath), region); +} + int RunEmitBuildShards(string[] argsTail) { var baseMetadata = OptionValue(argsTail, "--base-metadata") ?? Path.Combine(root, "generated", "base_translation_output.json"); @@ -237,7 +249,7 @@ int RunEmitBuildShards(string[] argsTail) : Path.GetFullPath(nativeIndexOption); if (!Directory.Exists(nativeSourcePath) && !File.Exists(nativeIndexPath)) throw new DirectoryNotFoundException(nativeSourcePath); - var nativeIndex = RuntimeNativeIndexBuilder.Resolve(nativeSourcePath, nativeIndexPath, Console.Error); + var nativeIndex = ResolveRegionalNativeIndex(nativeSourcePath, nativeIndexPath); var result = TranslatedBuildShardEmitter.Emit(new TranslatedBuildShardOptions( Path.GetFullPath(baseMetadata), Path.GetFullPath(baseFunctions), @@ -245,7 +257,8 @@ int RunEmitBuildShards(string[] argsTail) nativeSourcePath, string.IsNullOrWhiteSpace(resolvedProfile) ? null : Path.GetFullPath(resolvedProfile), string.IsNullOrWhiteSpace(retroCpp) ? null : Path.GetFullPath(retroCpp), - NativeIndex: nativeIndex)); + NativeIndex: nativeIndex, + Region: GuestRegions.FromGameId(project?.Identity.GameId))); Console.WriteLine("[translator] emitted stable translated build graph"); Console.WriteLine($" base functions: {result.BaseFunctionCount:N0}"); Console.WriteLine($" shared base functions: {result.SharedBaseFunctionCount:N0}"); @@ -402,7 +415,8 @@ int RunValidateRetroWfcPayload(string[] argsTail) try { - WiiCompiled.Setup.Common.RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(directory); + WiiCompiled.Setup.Common.RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(directory, + gameId: OptionValue(argsTail, "--game-id")!); Console.WriteLine("[translator] Retro WFC payload signature validated."); return 0; } @@ -1743,6 +1757,12 @@ int RunTranslateModCore(string[] argsTail, string? outputDirectoryOverride) var modName = OptionValue(argsTail, "--mod-name") ?? (!string.IsNullOrWhiteSpace(modRoot) ? Path.GetFileName(Path.GetFullPath(modRoot)) : "Pulsar Mod"); var region = OptionValue(argsTail, "--region") ?? profile?.Region ?? "P"; + if (project?.Identity.Region is { } projectRegion && + !string.Equals(region, projectRegion, StringComparison.OrdinalIgnoreCase)) + { + Console.Error.WriteLine($"[translator] --region {region} does not match the project's region {projectRegion}."); + return 1; + } var moduleGuestBase = OptionValue(argsTail, "--module-guest-base") is { } moduleBaseText ? ParseAddress(moduleBaseText) : profile?.ModuleGuestBase ?? 0x81700000u; @@ -1754,6 +1774,16 @@ int RunTranslateModCore(string[] argsTail, string? outputDirectoryOverride) var pul = KamekPulFile.Load(codePul); var selected = pul.SelectRegion(region); + if (string.Equals(profile?.Name, "retro-rewind", StringComparison.OrdinalIgnoreCase)) + { + var corrected = RetroRewindRegionPatches.CorrectUsVoiceHook(selected, project?.Identity.GameId, image.Value); + if (!ReferenceEquals(corrected, selected)) + Console.WriteLine("[translator] Corrected Retro Rewind US voice vtable hook: 0x808DBCD8 -> 0x808D7580."); + var esrb = RetroRewindRegionPatches.ApplyUsEsrbSkip(corrected, project?.Identity.GameId, image.Value); + if (!ReferenceEquals(esrb, corrected)) + Console.WriteLine("[translator] Applied Retro Rewind's NTSC-U ESRB skip statically at 0x80604094."); + selected = esrb; + } if (requestedRetroWfc && profile?.RetroWfcLegacyBootstrapHook is { } legacyBootstrapHook) { selected = RetroWfcBootstrapSuppressor.Suppress(selected, legacyBootstrapHook); @@ -3656,7 +3686,8 @@ static (string? Positional, CommandOption[] Options)? CommandSpec(string command }), "validate-retro-wfc-payload" => (null, new CommandOption[] { - new("--directory", "directory", Required: true) + new("--directory", "directory", Required: true), + new("--game-id", "id", Required: true) }), "emit-base-manifest" => (null, new CommandOption[] { diff --git a/translator/src/Translator.Core/Build/TranslatedBuildShardEmitter.cs b/translator/src/Translator.Core/Build/TranslatedBuildShardEmitter.cs index de8c42a..c8fcd74 100644 --- a/translator/src/Translator.Core/Build/TranslatedBuildShardEmitter.cs +++ b/translator/src/Translator.Core/Build/TranslatedBuildShardEmitter.cs @@ -18,7 +18,8 @@ public sealed record TranslatedBuildShardOptions( int BaseShardCount = 72, int ModShardCount = 48, int RegistrationShardCount = 16, - RuntimeNativeIndex? NativeIndex = null); + RuntimeNativeIndex? NativeIndex = null, + GuestRegion Region = GuestRegion.Pal); /// /// Per-shard compile-cost spread for one partition. Frozen membership does not @@ -247,6 +248,7 @@ public static partial class TranslatedBuildShardEmitter WriteCMakeManifest( cmakeManifestPath, outputRoot, + options.Region, commonBase.Length, portableCommonBase.Length, activeBase.Length, @@ -1039,6 +1041,7 @@ public static partial class TranslatedBuildShardEmitter private static void WriteCMakeManifest( string path, string outputRoot, + GuestRegion region, int sharedBaseCount, int portableSharedBaseCount, int activeBaseCount, @@ -1053,6 +1056,7 @@ public static partial class TranslatedBuildShardEmitter var output = new StringBuilder(); output.AppendLine("# Translator-owned stable shard graph; do not edit."); output.AppendLine($"set(MKW_TRANSLATED_SHARD_ROOT \"{CMakePath(outputRoot)}\")"); + output.AppendLine($"set(MKW_TRANSLATED_GUEST_REGION {(int)region})"); output.AppendLine($"set(MKW_BASE_FUNCTION_COUNT {activeBaseCount})"); output.AppendLine($"set(MKW_SHARED_BASE_FUNCTION_COUNT {sharedBaseCount})"); output.AppendLine($"set(MKW_PORTABLE_SHARED_BASE_FUNCTION_COUNT {portableSharedBaseCount})"); diff --git a/translator/src/Translator.Core/GuestAddressTable.cs b/translator/src/Translator.Core/GuestAddressTable.cs new file mode 100644 index 0000000..c0e3d40 --- /dev/null +++ b/translator/src/Translator.Core/GuestAddressTable.cs @@ -0,0 +1,80 @@ +using System.Text.RegularExpressions; + +namespace Translator.Core; + +/// Column order of runtime/include/guest_abi/guest_address_table.inc. +public enum GuestRegion +{ + Pal = 0, + NtscU = 1, + NtscJ = 2, +} + +public static class GuestRegions +{ + /// + /// The runtime region for a project's game id. Mario Kart Wii releases without a column in + /// the address table are rejected; any other game has no region-specific runtime addresses. + /// + public static GuestRegion FromGameId(string? gameId) => gameId?.ToUpperInvariant() switch + { + "RMCE01" => GuestRegion.NtscU, + "RMCJ01" => GuestRegion.NtscJ, + "RMCP01" => GuestRegion.Pal, + { } id when id.StartsWith("RMC", StringComparison.Ordinal) => + throw new InvalidDataException($"Mario Kart Wii release '{gameId}' is not supported."), + _ => GuestRegion.Pal, + }; +} + +/// +/// The runtime names guest addresses by their PAL address. This is the table it resolves them +/// through, read from the same file the C++ includes. +/// +public sealed partial class GuestAddressTable +{ + private readonly Dictionary _rows; + + private GuestAddressTable(Dictionary rows, string sourcePath) + { + _rows = rows; + SourcePath = sourcePath; + } + + public string SourcePath { get; } + + public int Count => _rows.Count; + + /// The table beside a runtime whose native sources live in . + public static string DefaultPath(string nativeSourceDirectory) => + Path.GetFullPath(Path.Combine(nativeSourceDirectory, "..", "include", "guest_abi", "guest_address_table.inc")); + + public static GuestAddressTable Load(string path) + { + if (!File.Exists(path)) + throw new FileNotFoundException("The runtime's guest address table was not found.", path); + var rows = new Dictionary(); + foreach (var line in File.ReadLines(path)) + { + var match = RowPattern().Match(line); + if (!match.Success) continue; + var pal = Convert.ToUInt32(match.Groups["pal"].Value, 16); + if (!rows.TryAdd(pal, [pal, Convert.ToUInt32(match.Groups["u"].Value, 16), Convert.ToUInt32(match.Groups["j"].Value, 16)])) + throw new InvalidDataException($"{path} lists PAL address 0x{pal:X8} twice."); + } + if (rows.Count == 0) + throw new InvalidDataException($"{path} has no MKW_GUEST_ADDRESS rows."); + return new GuestAddressTable(rows, path); + } + + public uint Map(uint pal, GuestRegion region) + { + if (_rows.TryGetValue(pal, out var row)) + return row[(int)region]; + throw new InvalidDataException( + $"PAL address 0x{pal:X8} is missing from {SourcePath}; regenerate it with tools/region/gen_guest_address_table.py."); + } + + [GeneratedRegex(@"^\s*MKW_GUEST_ADDRESS\(\s*(?[0-9A-Fa-f]{8})\s*,\s*(?[0-9A-Fa-f]{8})\s*,\s*(?[0-9A-Fa-f]{8})\s*\)", RegexOptions.CultureInvariant)] + private static partial Regex RowPattern(); +} diff --git a/translator/src/Translator.Core/Mods/Mkwii/RetroRewindRegionPatches.cs b/translator/src/Translator.Core/Mods/Mkwii/RetroRewindRegionPatches.cs new file mode 100644 index 0000000..10468a2 --- /dev/null +++ b/translator/src/Translator.Core/Mods/Mkwii/RetroRewindRegionPatches.cs @@ -0,0 +1,101 @@ +using System.Buffers.Binary; +using Translator.Core.Loading; +using Translator.Core.Parsing.Kamek; + +namespace Translator.Core.Mods.Mkwii; + +public static class RetroRewindRegionPatches +{ + private const uint PalVoiceHook = 0x808DBCD8; + private const uint UsVoiceHook = 0x808D7580; + + // CustomCharacterVoice.cpp's HoldRosalinaLumaSound pointer retains its PAL address + // in the shipped US chunk. The clean US REL's relocated vtable identifies the slot; + // these surrounding entries distinguish it from other tables using HoldSoundLimited. + private static readonly (uint Address, uint Target)[] UsVoiceTable = + [ + (0x808D7540, 0x806FC03C), + (0x808D7544, 0x806FBC94), + (0x808D7570, 0x806FBC3C), + (0x808D7574, 0x806FBC34), + (0x808D7578, 0x806FA3A8), + (0x808D757C, 0x806FAA04), + (UsVoiceHook, 0x806FAB44), + (0x808D7584, 0x806FAD58), + (0x808D7588, 0x806FA7B0), + (0x808D758C, 0x806FA83C), + (0x808D7590, 0x806FA8D0), + (0x808D75BC, 0x808611E8), + (0x808D75C0, 0x806FA824) + ]; + + public static KamekChunk CorrectUsVoiceHook(KamekChunk chunk, string? gameId, ProgramImage image) + { + if (!string.Equals(gameId, "RMCE01", StringComparison.OrdinalIgnoreCase)) + return chunk; + + var matching = chunk.Commands.Where(c => c.AddressIsAbsolute && c.Address == PalVoiceHook).ToArray(); + if (matching.Length == 0) + return chunk; + if (matching.Length != 1 || matching[0].Id != KamekCommandId.Addr32 || + matching[0].Arguments.Count != 1 || matching[0].Arguments[0] >= chunk.CodeSize || + chunk.Commands.Any(c => c.AddressIsAbsolute && c.Address == UsVoiceHook)) + throw new InvalidDataException("Unexpected Retro Rewind US voice hook commands; cannot correct the PAL address."); + + foreach (var (address, target) in UsVoiceTable) + { + if (!image.Contains(address, 4) || + BinaryPrimitives.ReadUInt32BigEndian(image.Memory.AsSpan(image.GetOffset(address, 4), 4)) != target) + throw new InvalidDataException($"Retro Rewind US voice vtable check failed at 0x{address:X8}."); + } + + return new KamekChunk(chunk.Index, chunk.FileOffset, chunk.BssSize, chunk.CodeSize, + chunk.CtorStart, chunk.CtorEnd, chunk.ChunkSize, chunk.CodeBlob, + chunk.Commands.Select(c => ReferenceEquals(c, matching[0]) ? c with { Address = UsVoiceHook } : c).ToArray()); + } + + private const uint EsrbBranchSite = 0x80604094; + private const uint EsrbOriginalInstruction = 0x3C608038; + private const uint EsrbSkipBranch = 0x4800001C; + private const int EsrbStoreIndex = 7; + + // PulsarSystem.cpp's removeESRB boot hook: if (region == 'E') *(u32*)0x80604094 = 0x4800001C. + private static readonly uint[] EsrbBootHook = + [ + 0x3C608000, 0x88030003, 0x2C000045, 0x4C820020, 0x3C804800, 0x3C608060, 0x3804001C, 0x90034094, 0x4E800020 + ]; + + /// + /// Translated code cannot be rewritten at run time, so the pack's NTSC-U ESRB skip becomes a + /// static patch and its run-time store a nop. + /// + public static KamekChunk ApplyUsEsrbSkip(KamekChunk chunk, string? gameId, ProgramImage image) + { + if (!string.Equals(gameId, "RMCE01", StringComparison.OrdinalIgnoreCase)) + return chunk; + + var sites = new List(); + for (var offset = 0; offset + EsrbBootHook.Length * 4 <= chunk.CodeBlob.Length; offset += 4) + { + var match = true; + for (var i = 0; i < EsrbBootHook.Length && match; i++) + match = BinaryPrimitives.ReadUInt32BigEndian(chunk.CodeBlob.AsSpan(offset + i * 4, 4)) == EsrbBootHook[i]; + if (match) + sites.Add(offset); + } + if (sites.Count == 0) + return chunk; + if (sites.Count != 1 || chunk.Commands.Any(c => c.AddressIsAbsolute && c.Address == EsrbBranchSite)) + throw new InvalidDataException("Unexpected Retro Rewind ESRB skip; cannot apply it statically."); + if (!image.Contains(EsrbBranchSite, 4) || + BinaryPrimitives.ReadUInt32BigEndian(image.Memory.AsSpan(image.GetOffset(EsrbBranchSite, 4), 4)) != EsrbOriginalInstruction) + throw new InvalidDataException($"Retro Rewind ESRB skip target check failed at 0x{EsrbBranchSite:X8}."); + + var code = chunk.CodeBlob.ToArray(); + BinaryPrimitives.WriteUInt32BigEndian(code.AsSpan(sites[0] + EsrbStoreIndex * 4, 4), 0x60000000); + var branch = new KamekCommand(-1, ((uint)KamekCommandId.Write32 << 24) | 0xFFFFFE, KamekCommandId.Write32, + true, EsrbBranchSite, [EsrbSkipBranch]); + return new KamekChunk(chunk.Index, chunk.FileOffset, chunk.BssSize, chunk.CodeSize, + chunk.CtorStart, chunk.CtorEnd, chunk.ChunkSize, code, chunk.Commands.Append(branch).ToArray()); + } +} diff --git a/translator/src/Translator.Core/RuntimeNativeIndex.cs b/translator/src/Translator.Core/RuntimeNativeIndex.cs index 2575d08..33f13e6 100644 --- a/translator/src/Translator.Core/RuntimeNativeIndex.cs +++ b/translator/src/Translator.Core/RuntimeNativeIndex.cs @@ -43,6 +43,22 @@ public sealed record RuntimeNativeIndex( .Select(static entry => entry.Address).ToHashSet(); return new RuntimeNativeGuestEffectSet(contracts, precise, conservative); } + + /// + /// The index is keyed by the PAL addresses the runtime sources name; this is the same index + /// keyed by 's addresses. Every address must be in the table, PAL too. + /// + public RuntimeNativeIndex ForRegion(GuestAddressTable table, GuestRegion region) => new( + Registrations.Select(entry => entry with { Address = table.Map(entry.Address, region) }).ToArray(), + VoidStubAbis.Select(entry => entry with { Address = table.Map(entry.Address, region) }).ToArray(), + Effects.Select(entry => entry with + { + Address = table.Map(entry.Address, region), + Contract = entry.Contract with + { + DirectCallTargets = entry.Contract.DirectCallTargets.Select(target => table.Map(target, region)).ToArray() + } + }).ToArray()); } public static class RuntimeNativeIndexBuilder diff --git a/translator/tests/Translator.Tests/GuestAddressTableTests.cs b/translator/tests/Translator.Tests/GuestAddressTableTests.cs new file mode 100644 index 0000000..9b9f8f9 --- /dev/null +++ b/translator/tests/Translator.Tests/GuestAddressTableTests.cs @@ -0,0 +1,119 @@ +using Translator.Core; +using Translator.Core.Analysis; +using Xunit; + +namespace Translator.Tests; + +public sealed class GuestAddressTableTests +{ + [Theory] + [InlineData("RMCP01", GuestRegion.Pal)] + [InlineData("RMCE01", GuestRegion.NtscU)] + [InlineData("rmcj01", GuestRegion.NtscJ)] + [InlineData("RECOMPGEN", GuestRegion.Pal)] + [InlineData(null, GuestRegion.Pal)] + public void RegionFollowsTheGameId(string? gameId, GuestRegion expected) => + Assert.Equal(expected, GuestRegions.FromGameId(gameId)); + + [Theory] + [InlineData("RMCK01")] + [InlineData("RMCP02")] + public void UnsupportedMarioKartReleasesAreRejected(string gameId) => + Assert.Throws(() => GuestRegions.FromGameId(gameId)); + + [Fact] + public void MapsEachColumnAndRejectsUnknownAndDuplicateRows() + { + WithTable(""" + // comment + MKW_GUEST_ADDRESS(801A9E84, 801A9DE4, 801A9DA4) // OSCreateThread + MKW_GUEST_ADDRESS(80386664, 80382304, 80385FE4) + """, table => + { + Assert.Equal(2, table.Count); + Assert.Equal(0x801A9E84u, table.Map(0x801A9E84, GuestRegion.Pal)); + Assert.Equal(0x801A9DE4u, table.Map(0x801A9E84, GuestRegion.NtscU)); + Assert.Equal(0x80385FE4u, table.Map(0x80386664, GuestRegion.NtscJ)); + Assert.Throws(() => table.Map(0x80000000, GuestRegion.Pal)); + }); + WithTable(""" + MKW_GUEST_ADDRESS(801A9E84, 801A9DE4, 801A9DA4) + MKW_GUEST_ADDRESS(801a9e84, 801A9DE4, 801A9DA4) + """, _ => { }, expectFailure: true); + WithTable("// no rows\n", _ => { }, expectFailure: true); + } + + [Fact] + public void IndexForRegionRekeysEveryEntry() + { + var contract = new GuestAbiContract(0, 0, 0, 0, 0, 0, 0, 0, false, false, false, false, false, false, + GuestCallBoundaryFlags.None, [0x80386664u]); + var index = new RuntimeNativeIndex( + [new RuntimeNativeRegistration(0x801A9E84, "OSCreateThread_HLE", "os.cpp", false, true)], + [new RuntimeNativeAbiEntry(0x801A9E84, ["r3"], [])], + [new RuntimeNativeEffectEntry(0x801A9E84, contract, true)]); + WithTable(""" + MKW_GUEST_ADDRESS(801A9E84, 801A9DE4, 801A9DA4) + MKW_GUEST_ADDRESS(80386664, 80382304, 80385FE4) + """, table => + { + var ntscU = index.ForRegion(table, GuestRegion.NtscU); + Assert.Equal(0x801A9DE4u, ntscU.Registrations.Single().Address); + Assert.Equal("OSCreateThread_HLE", ntscU.Registrations.Single().Symbol); + Assert.Equal(0x801A9DE4u, ntscU.VoidStubAbis.Single().Address); + Assert.Equal(0x801A9DE4u, ntscU.Effects.Single().Address); + Assert.Equal([0x80382304u], ntscU.Effects.Single().Contract.DirectCallTargets); + Assert.Equal(0x801A9E84u, index.ForRegion(table, GuestRegion.Pal).Registrations.Single().Address); + }); + } + + // Every address the runtime registers must have a row, or a regional build cannot place it. + [Fact] + public void RepositoryTableCoversEveryRuntimeRegistration() + { + var root = ProjectPathsForTests.FindRepositoryRoot(); + var sources = Path.Combine(root, "runtime", "src"); + var table = GuestAddressTable.Load(GuestAddressTable.DefaultPath(sources)); + var index = RuntimeNativeIndexBuilder.Build(sources); + Assert.NotEmpty(index.Registrations); + foreach (var region in Enum.GetValues()) + Assert.Equal(index.Registrations.Length, index.ForRegion(table, region).Registrations.Length); + } + + // Distinct PAL identities must stay distinct and in the same order in every region. + [Fact] + public void RepositoryTableIsInjectiveAndOrderedPerRegion() + { + var root = ProjectPathsForTests.FindRepositoryRoot(); + var path = Path.Combine(root, "runtime", "include", "guest_abi", "guest_address_table.inc"); + var rows = File.ReadLines(path) + .Where(static line => line.StartsWith("MKW_GUEST_ADDRESS(", StringComparison.Ordinal)) + .Select(static line => line["MKW_GUEST_ADDRESS(".Length..line.IndexOf(')')] + .Split(',').Select(static value => Convert.ToUInt32(value.Trim(), 16)).ToArray()) + .ToArray(); + Assert.NotEmpty(rows); + for (var column = 0; column < 3; column++) + { + for (var i = 1; i < rows.Length; i++) + Assert.True(rows[i - 1][column] < rows[i][column], + $"column {column} row {i}: 0x{rows[i - 1][column]:X8} >= 0x{rows[i][column]:X8}"); + } + } + + private static void WithTable(string contents, Action check, bool expectFailure = false) + { + var path = Path.Combine(Path.GetTempPath(), $"mkw-guest-table-{Guid.NewGuid():N}.inc"); + File.WriteAllText(path, contents); + try + { + if (expectFailure) + Assert.Throws(() => GuestAddressTable.Load(path)); + else + check(GuestAddressTable.Load(path)); + } + finally + { + File.Delete(path); + } + } +} diff --git a/translator/tests/Translator.Tests/KamekPulFileTests.cs b/translator/tests/Translator.Tests/KamekPulFileTests.cs index 7444651..1cb187c 100644 --- a/translator/tests/Translator.Tests/KamekPulFileTests.cs +++ b/translator/tests/Translator.Tests/KamekPulFileTests.cs @@ -1,4 +1,5 @@ using System.Buffers.Binary; +using Translator.Core.Mods.Mkwii; using Translator.Core.Parsing.Kamek; using Xunit; @@ -78,8 +79,11 @@ public class KamekPulFileTests Assert.Throws(() => KamekPpcEncoding.EncodeBranch(0x8053369C, 0x8053369D, link: false)); } - [Fact] - public void ParsesBundledRetroRewindCodePulWhenPresent() + [Theory] + [InlineData("P", 0x800ED6E8u)] + [InlineData("E", 0x800ED648u)] + [InlineData("J", 0x800ED608u)] + public void ParsesBundledRetroRewindCodePulWhenPresent(string region, uint bootstrapHook) { var repoRoot = ProjectPathsForTests.FindRepositoryRoot(); var codePul = Path.Combine(repoRoot, "PulsarPacks", "completed", "RetroRewind", "RetroRewind6", "Binaries", "Code.pul"); @@ -89,7 +93,7 @@ public class KamekPulFileTests } var pul = KamekPulFile.Load(codePul); - var chunk = pul.SelectRegion("P"); + var chunk = pul.SelectRegion(region); Assert.True(pul.IsCombined); Assert.Equal(3, pul.Chunks.Count); @@ -102,6 +106,9 @@ public class KamekPulFileTests Assert.NotEmpty(chunk.Commands); Assert.Equal(chunk.Commands.Count, chunk.RelativeCommandCount + chunk.AbsoluteCommandCount); Assert.Equal(chunk.Commands.Count, chunk.CommandCounts.Values.Sum()); + var lowered = RetroWfcBootstrapSuppressor.Suppress(chunk, bootstrapHook); + Assert.Equal(chunk.Commands.Count - 1, lowered.Commands.Count); + Assert.DoesNotContain(lowered.Commands, command => command.AddressIsAbsolute && command.Address == bootstrapHook); } private static byte[] BuildChunk(uint bssSize, byte[] code, byte[][] commands, diff --git a/translator/tests/Translator.Tests/RegionalRetroRewindTests.cs b/translator/tests/Translator.Tests/RegionalRetroRewindTests.cs new file mode 100644 index 0000000..08d1226 --- /dev/null +++ b/translator/tests/Translator.Tests/RegionalRetroRewindTests.cs @@ -0,0 +1,114 @@ +using System.Buffers.Binary; +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; +using Translator.Cli.Configuration; +using Translator.Core.Mods.Mkwii; +using Translator.Core.Parsing.Kamek; +using PayloadFiles = WiiCompiled.Setup.Common.RetroWfcPayload; + +namespace Translator.Tests; + +public sealed class RegionalRetroRewindTests +{ + [Theory] + [InlineData("mkwii", "RMCP01", "P", 0x800ED6E8u, 0x80601C60u, 0x4BD977A4u)] + [InlineData("mkwii-ntsc-u", "RMCE01", "E", 0x800ED648u, 0x805DD380u, 0x4BDB7D04u)] + [InlineData("mkwii-ntsc-j", "RMCJ01", "J", 0x800ED608u, 0x806013D4u, 0x4BD979B0u)] + public void RetailProfileUsesMatchingRegionAndSuppressesItsBootstrap( + string directory, string gameId, string region, uint hook, uint integritySite, uint expectedBranch) + { + var root = ProjectPathsForTests.FindRepositoryRoot(); + var source = File.ReadAllText(Path.Combine(root, "projects", directory, "recomp.yml")); + var expectedDolHash = Regex.Match(source, @"sha256: ([0-9a-f]{64})").Groups[1].Value; + var scratch = Path.Combine(Path.GetTempPath(), $"retro-profile-{Guid.NewGuid():N}"); + Directory.CreateDirectory(scratch); + TranslationProjectConfig project; + try + { + // Keep this suite binary-free: substitute only the retail input paths and hashes. + // The profile block, including its original compatibility pins, is read unchanged. + var input = Path.Combine(scratch, "input.bin"); + File.WriteAllBytes(input, new byte[0x100]); + var hash = Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(input))).ToLowerInvariant(); + source = source.Replace("workspace_root: ../..", $"workspace_root: {root}") + .Replace("path: Assets/main.dol", $"path: {input}") + .Replace("path: Assets/StaticR.rel", $"path: {input}"); + source = Regex.Replace(source, @"(?m)^ sha256: [0-9a-f]{64}\r?$", $" sha256: {hash}"); + var manifest = Path.Combine(scratch, "recomp.yml"); + File.WriteAllText(manifest, source); + project = TranslationProjectConfig.Load(manifest); + } + finally { Directory.Delete(scratch, true); } + var profile = project.Profiles["retro-rewind"]; + Assert.True(profile.Enabled); + Assert.Equal(gameId, profile.RequiresGameId); + Assert.Equal(expectedDolHash, profile.RequiresDolSha256); + Assert.Equal(region, profile.Region); + Assert.Equal(PayloadFiles.PayloadUri(gameId), profile.RetroWfcPayload); + Assert.Equal(hook, profile.RetroWfcLegacyBootstrapHook); + + // The pack checks the static branch bytes at Page::IncrementDuration + 0x18. + // Its hook is module offset 0x124. A PAL link base in an NTSC profile translates + // successfully but fails this check at boot, so pin the actual expected opcode. + Assert.Equal(expectedBranch, KamekPpcEncoding.EncodeBranch( + integritySite, profile.ModuleLinkBase!.Value + 0x124u, link: false)); + + // A combined pack has a different absolute hook in each regional chunk. + // Selecting a region and suppressing a PAL hook in it must not succeed. + var bootstrap = new KamekCommand(0, 0, KamekCommandId.Branch, true, hook, [0x100u]); + var chunk = new KamekChunk(0, 0, 0, 4, 0, 0, 4, new byte[4], [bootstrap]); + Assert.Empty(RetroWfcBootstrapSuppressor.Suppress(chunk, profile.RetroWfcLegacyBootstrapHook!.Value).Commands); + if (region != "P") + Assert.Throws(() => RetroWfcBootstrapSuppressor.Suppress(chunk, 0x800ED6E8u)); + } + + [Theory] + [InlineData("RMCP01")] + [InlineData("RMCE01")] + [InlineData("RMCJ01")] + public void StagedPayloadRequiresValidSignatureAndMatchingGame(string gameId) + { + var root = Path.Combine(Path.GetTempPath(), $"retro-region-{Guid.NewGuid():N}"); + try + { + var path = Path.Combine(root, PayloadFiles.PayloadRelativePath(gameId)); + Directory.CreateDirectory(Path.GetDirectoryName(path)!); + using var rsa = RSA.Create(2048); + var key = rsa.ExportParameters(false); + var image = new byte[0x150]; + "WWFC/Payload"u8.CopyTo(image); + BinaryPrimitives.WriteUInt32BigEndian(image.AsSpan(0x0C), (uint)image.Length); + Encoding.ASCII.GetBytes(PayloadFiles.PayloadGame(gameId)).CopyTo(image, 0x138); + Sign(); + Assert.Equal(path, PayloadFiles.ResolveRetroWfcPayloadFile(root, gameId, key)); + + image[^1] ^= 1; + File.WriteAllBytes(path, image); + Assert.Throws(() => PayloadFiles.ResolveRetroWfcPayloadFile(root, gameId, key)); + + // Even a correctly signed payload renamed to this region's filename is rejected. + Encoding.ASCII.GetBytes(gameId == "RMCP01" ? "RMCED00" : "RMCPD00").CopyTo(image, 0x138); + Sign(); + Assert.Throws(() => PayloadFiles.ResolveRetroWfcPayloadFile(root, gameId, key)); + + void Sign() + { + rsa.SignData(image.AsSpan(0x110), HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1) + .CopyTo(image.AsSpan(0x10)); + File.WriteAllBytes(path, image); + } + } + finally { if (Directory.Exists(root)) Directory.Delete(root, true); } + } + + [Theory] + [InlineData("https://rwfc.net/api/wfc/payload?g=RMCED00")] + [InlineData("https://rwfc.net/api/wfc/payload?g=RMCJD00")] + public void OnlyExactRegionalDownloadEndpointsAreAccepted(string uri) + { + PayloadFiles.ValidateRetroWfcPayloadUri(uri); + Assert.Throws(() => PayloadFiles.ValidateRetroWfcPayloadUri(uri + "&extra=1")); + Assert.Throws(() => PayloadFiles.ValidateRetroWfcPayloadUri(uri.Replace("https:", "http:"))); + } +} diff --git a/translator/tests/Translator.Tests/RetroRewindRegionPatchesTests.cs b/translator/tests/Translator.Tests/RetroRewindRegionPatchesTests.cs new file mode 100644 index 0000000..4289946 --- /dev/null +++ b/translator/tests/Translator.Tests/RetroRewindRegionPatchesTests.cs @@ -0,0 +1,153 @@ +using System.Buffers.Binary; +using Translator.Core.Loading; +using Translator.Core.Mods.Mkwii; +using Translator.Core.Parsing.Kamek; + +namespace Translator.Tests; + +public sealed class RetroRewindRegionPatchesTests +{ + [Fact] + public void CorrectsOnlyTheStaleUsPointerAndPreservesItsModuleTarget() + { + var hook = Command(KamekCommandId.Addr32, 0x808DBCD8); + var other = Command(KamekCommandId.Branch, 0x807B9F34); + var chunk = Chunk(hook, other); + var corrected = RetroRewindRegionPatches.CorrectUsVoiceHook(chunk, "RMCE01", VoiceImage()); + + Assert.Equal(0x808D7580u, corrected.Commands[0].Address); + Assert.Equal(hook.Arguments, corrected.Commands[0].Arguments); + Assert.Same(other, corrected.Commands[1]); + Assert.Equal(0x808DBCD8u, chunk.Commands[0].Address); + Assert.Same(chunk.CodeBlob, corrected.CodeBlob); + } + + [Theory] + [InlineData("RMCP01")] + [InlineData("RMCJ01")] + public void LeavesOtherRegionsUntouched(string gameId) + { + var chunk = Chunk(Command(KamekCommandId.Addr32, 0x808DBCD8)); + Assert.Same(chunk, RetroRewindRegionPatches.CorrectUsVoiceHook(chunk, gameId, VoiceImage())); + } + + [Fact] + public void AcceptsAnAlreadyCorrectedPackWithoutRewritingIt() + { + var chunk = Chunk(Command(KamekCommandId.Addr32, 0x808D7580)); + Assert.Same(chunk, RetroRewindRegionPatches.CorrectUsVoiceHook(chunk, "RMCE01", VoiceImage())); + } + + [Theory] + [InlineData(0x808D7540u)] + [InlineData(0x808D7580u)] + [InlineData(0x808D75C0u)] + public void RejectsTheCorrectionWhenTheVtableDoesNotMatch(uint address) + { + var image = VoiceImage(); + image.Memory[image.GetOffset(address)] ^= 1; + Assert.Throws(() => RetroRewindRegionPatches.CorrectUsVoiceHook( + Chunk(Command(KamekCommandId.Addr32, 0x808DBCD8)), "RMCE01", image)); + } + + [Theory] + [InlineData(KamekCommandId.Write32)] + [InlineData(KamekCommandId.Branch)] + public void RejectsAnUnexpectedCommandAtThePalAddress(KamekCommandId id) + { + Assert.Throws(() => RetroRewindRegionPatches.CorrectUsVoiceHook( + Chunk(Command(id, 0x808DBCD8)), "RMCE01", VoiceImage())); + } + + [Fact] + public void RejectsDuplicateOrConflictingHooks() + { + var hook = Command(KamekCommandId.Addr32, 0x808DBCD8); + foreach (var other in new[] { hook, Command(KamekCommandId.Addr32, 0x808D7580) }) + Assert.Throws(() => RetroRewindRegionPatches.CorrectUsVoiceHook( + Chunk(hook, other), "RMCE01", VoiceImage())); + } + + private static readonly uint[] EsrbHook = + [0x3C608000, 0x88030003, 0x2C000045, 0x4C820020, 0x3C804800, 0x3C608060, 0x3804001C, 0x90034094, 0x4E800020]; + + [Fact] + public void AppliesTheUsEsrbSkipStaticallyAndDropsTheStore() + { + var chunk = EsrbChunk(0x40); + var patched = RetroRewindRegionPatches.ApplyUsEsrbSkip(chunk, "RMCE01", EsrbImage(0x3C608038)); + + var write = Assert.Single(patched.Commands); + Assert.Equal(KamekCommandId.Write32, write.Id); + Assert.True(write.AddressIsAbsolute); + Assert.Equal(0x80604094u, write.Address); + Assert.Equal([0x4800001Cu], write.Arguments); + Assert.Equal(0x60000000u, BinaryPrimitives.ReadUInt32BigEndian(patched.CodeBlob.AsSpan(0x40 + 7 * 4, 4))); + Assert.Equal(0x90034094u, BinaryPrimitives.ReadUInt32BigEndian(chunk.CodeBlob.AsSpan(0x40 + 7 * 4, 4))); + } + + [Theory] + [InlineData("RMCP01")] + [InlineData("RMCJ01")] + public void LeavesTheEsrbHookAloneOutsideNtscU(string gameId) + { + var chunk = EsrbChunk(0x40); + Assert.Same(chunk, RetroRewindRegionPatches.ApplyUsEsrbSkip(chunk, gameId, EsrbImage(0x3C608038))); + } + + [Fact] + public void LeavesAPackWithoutTheEsrbHookAlone() + { + var chunk = Chunk(); + Assert.Same(chunk, RetroRewindRegionPatches.ApplyUsEsrbSkip(chunk, "RMCE01", EsrbImage(0x3C608038))); + } + + [Fact] + public void RejectsAnUnexpectedEsrbTargetOrDuplicateHook() + { + Assert.Throws(() => + RetroRewindRegionPatches.ApplyUsEsrbSkip(EsrbChunk(0x40), "RMCE01", EsrbImage(0x4800001C))); + var twice = EsrbChunk(0x40); + for (var i = 0; i < EsrbHook.Length; i++) + BinaryPrimitives.WriteUInt32BigEndian(twice.CodeBlob.AsSpan(0x100 + i * 4, 4), EsrbHook[i]); + Assert.Throws(() => + RetroRewindRegionPatches.ApplyUsEsrbSkip(twice, "RMCE01", EsrbImage(0x3C608038))); + } + + private static KamekChunk EsrbChunk(int offset) + { + var chunk = Chunk(); + for (var i = 0; i < EsrbHook.Length; i++) + BinaryPrimitives.WriteUInt32BigEndian(chunk.CodeBlob.AsSpan(offset + i * 4, 4), EsrbHook[i]); + return chunk; + } + + private static ProgramImage EsrbImage(uint instruction) + { + var memory = new byte[4]; + BinaryPrimitives.WriteUInt32BigEndian(memory, instruction); + var range = AddressRange.FromStartAndSize(0x80604094, 4); + return new ProgramImage(memory, range, default, range, "fixture", range.Start); + } + + private static KamekCommand Command(KamekCommandId id, uint address) => + new(0, 0, id, true, address, [0x100u]); + + private static KamekChunk Chunk(params KamekCommand[] commands) => + new(1, 0, 0x20, 0x200, 0, 0, 0x220, new byte[0x200], commands); + + private static ProgramImage VoiceImage() + { + var memory = new byte[0x84]; + uint[] entries = + [ + 0x806FC03C, 0x806FBC94, 0x806FBC3C, 0x806FBC34, 0x806FA3A8, 0x806FAA04, + 0x806FAB44, 0x806FAD58, 0x806FA7B0, 0x806FA83C, 0x806FA8D0, 0x808611E8, 0x806FA824 + ]; + int[] offsets = [0, 4, 0x30, 0x34, 0x38, 0x3C, 0x40, 0x44, 0x48, 0x4C, 0x50, 0x7C, 0x80]; + for (var i = 0; i < entries.Length; i++) + BinaryPrimitives.WriteUInt32BigEndian(memory.AsSpan(offsets[i], 4), entries[i]); + var range = AddressRange.FromStartAndSize(0x808D7540, (uint)memory.Length); + return new ProgramImage(memory, range, default, range, "fixture", range.Start); + } +} diff --git a/translator/tests/Translator.Tests/RetroWfcPayloadLoweringTests.cs b/translator/tests/Translator.Tests/RetroWfcPayloadLoweringTests.cs index e5fe310..b66684e 100644 --- a/translator/tests/Translator.Tests/RetroWfcPayloadLoweringTests.cs +++ b/translator/tests/Translator.Tests/RetroWfcPayloadLoweringTests.cs @@ -8,6 +8,25 @@ namespace Translator.Tests; public class RetroWfcPayloadLoweringTests { + [Theory] + [InlineData("RMCP01", "P", "RMCPD00")] + [InlineData("RMCE01", "E", "RMCED00")] + [InlineData("RMCJ01", "J", "RMCJD00")] + public void PayloadMustMatchBaseDiscRegion(string gameId, string region, string payloadGame) + { + var payload = BuildSharedPayloadFixture(); + payload.AsSpan(0x138, 12).Clear(); + Encoding.ASCII.GetBytes(payloadGame).CopyTo(payload, 0x138); + var manifest = TestManifest() with { GameId = gameId, Region = region }; + var result = RetroWfcPayload.Parse(payload, manifest, 0x81800000u, 0x2000u); + Assert.Equal(payloadGame, result.Summary.Game); + Assert.True(result.LoweringPlan.IsPlannable); + + var wrongRegion = manifest with { GameId = gameId == "RMCP01" ? "RMCE01" : "RMCP01" }; + Assert.Throws(() => + RetroWfcPayload.Parse(payload, wrongRegion, 0x81800000u, 0x2000u)); + } + [Fact] public void SharedPayloadDescriptorDrivesRelocationAndStaticLowering() { @@ -35,28 +54,32 @@ public class RetroWfcPayloadLoweringTests Assert.Equal("moduleFunction", pointer.TargetKind); } - [Fact] - public void ProductionPayloadValidatesAndTranslatesEverySupportedPatch() + [Theory] + [InlineData("RMCP01", "P", "RMCPD00")] + [InlineData("RMCE01", "E", "RMCED00")] + [InlineData("RMCJ01", "J", "RMCJD00")] + public void ProductionPayloadValidatesAndTranslatesEverySupportedPatch( + string gameId, string region, string payloadGame) { var payloadRoot = Path.Combine( AppContext.BaseDirectory, "TestAssets", "RetroWfcPayload"); - WiiCompiled.Setup.Common.RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(payloadRoot); + WiiCompiled.Setup.Common.RetroWfcPayload.ValidateStagedRetroWfcPayloadDirectory(payloadRoot, gameId: gameId); var payloadPath = Path.Combine( payloadRoot, "binary", - "payload.RMCPD00.bin"); + $"payload.{payloadGame}.bin"); var payload = File.ReadAllBytes(payloadPath); var result = RetroWfcPayload.Parse( payload, - ProductionPayloadManifest(), + ProductionPayloadManifest() with { GameId = gameId, Region = region }, 0x81800000u, 0x00200000u, - "TestAssets/RetroWfcPayload/binary/payload.RMCPD00.bin"); + $"TestAssets/RetroWfcPayload/binary/payload.{payloadGame}.bin"); - Assert.Equal("RMCPD00", result.Summary.Game); + Assert.Equal(payloadGame, result.Summary.Game); Assert.Equal(payload.Length, result.Summary.PayloadImageSize); Assert.True(result.LoweringPlan.IsPlannable); Assert.Empty(result.LoweringPlan.Issues); diff --git a/translator/tests/Translator.Tests/TestAssets/RetroWfcPayload/binary/payload.RMCED00.bin b/translator/tests/Translator.Tests/TestAssets/RetroWfcPayload/binary/payload.RMCED00.bin new file mode 100644 index 0000000000000000000000000000000000000000..19ef7caa5da3cc7803a3b3990f2047bdf6132e17 GIT binary patch literal 28992 zcmeHweSB2ao%fk!fJq!6c4HeL$V5U-Fyf%7lNZ870v$+z2#KHu$&d^rKKh=3xY5zwHQxAWwV%?>WZ?e4F?s;+kOA~(oFP}X1vl%mdCy#Fa z=XuLI9zL`ox!XPVU+(OIhe_{NC@Lc=SL2_eXi- zUc3L5fv=4!dwKl>C4U+H#YuNQmgi~s#q~+wet&1(tJamjoj&g8Kf85LVe9S*li%nq zKl#m*d&l3Af8n8+N2?d#l%8k(hdWBP-`Scw`dNEp=Z$anKeK#Q@DH=6j(z_7IbD;d zy?66JedEu4xBq0(E84T6I`Qd0v6y06x@hjae5ccxonS%N0U@m2s*FZIOI(={_H9DU zJtst75<0H8QEwNbHeU0#Y||!9?bQhs!@ZzXBkGhLeY)G>^C2wNNfr)JGHWiw!=3$YOJ9-gk3H`-2ZZ5MbxtF3;#L3{E|8}`7tA5IgZ2)NygHTRxH-vw>sSIPhz zXIMA|B?X0hWoi?rIkj=EZf)!oju&da%ss$yg|^1lkJ_o(U&}{-35pNr6sY%T6I?5_ z30XM*!XKg!dlp^LCMDNk-&xqJSo6Mn4&{On)q^OzPztpN@2k{Se+y^3cdusuCrz{a zomhVu<)>Q0Hxo6Br(YX?F%|7!X!heLan=TH!aO(HzZIfj49YYVoT~uq3b0SX{V0#1 z1W~r5{8)&>7?kV4lLYLUp>2BL7}__WU~OS3$~tXwGR{zlHH8O&%L>##LOF~1z->{Y z<|_fti|)i&GwN!Thf$tH`5FrLS@b*#&b_Etvy453`W+z_V~@piP^z@atIvX$m7v2# z!01KaKcYONjkVxRi=PFr`%wQg%0X?S&#t*{=tPb4Eau#|P|l#dhl2G>tSIBO8E@qP zR+l#MhRxcy>l(J79Sn?I^`q3C(QjYQsl%Hs0GiGV_H;&^O zu#3R|qWRhvZt6tcrF|jAj~Y1DV7z9plDl=qs8=YNTUUu1{H^In89)KO1n6b)pcJAM zpy()d{E*QIb%SQ5-0#C~1Iw4mDs_17 zVqbw`MX{p*znVmpWE9|5lZujo;zG$s@t_o<6r-#_DMhJ3sYC&wnr0L~N&uw;r3+;T zN;k?b8?2eO<`UYOIExUfeL6=77jQA!Yh$t21=vP=+_Qjt_sOU>aQ7rdwa*IimF`G; z^2TjKWC3TaN72Up3g=(v#-mlXuU`guV-q9o$%}TOZAaTC$0z3jpRs(j+N@ZA<8Ql# zm{0uds{O0YXk(4h9)H7Lw27}>t{-;>)w+DNt@ux9zC4^~W;4f8gl0dj0X{}BItuM^ z52Oh(eiqtx)n0-5<4a{5zqGM;xiBA3m{0nReQXf>C9@+|uHR6M`5kE5t!$6I`6Alg zY{Pg6?fMtD;}L6wRgSMo*oN^#9GCdo{{UXtu|`>h6K1#QwwhuhyB6e5}X8}q-5vrYs|w28kjgm(Nv zH0@R(sQL2Uz#qk+r|-@rA#OSsX?wf#F&{iP=6g5wVm^3av=hdkM7xG<$)9DTPNChw zwuSq(Waq$UNq83Scklc?XiIo-yli)3D)F<*_VV8VH~V?nmh(lk;t7F-~|^ z9Y4^GEl!ys&V)9@n1_{r(d__bl!h zotyntI>XsB1Cx%s1A#OCz*Fz~vvqyY-KOu)^oq1l`x$>|*SmhqIcDw!T+d}Xga~Yk z-5s3k*_RP7gu4xUr3=eFLchRs6qk<~iaOhe;i=$TtgwdX3j4!13rnDKDe03C^c2kq zPG1Na(sjztVhwWhIp(@vvFvx9vF^x>9W@vj?Q**{k^JbFg|);XEbg89g<$%`#4TS| z^bL%5bKJr4;DV$XC2l$Ad~o5!#NdJnGjOf}kGR{)IfZU<4{MJQ4Iq_p!FDfyZcMAI zR~pA6(odcbV?s1K>Kh~GK(;&{kqtZ8RD`qaH_rn3 z5J!#*k8z%2o`C|0j863ShDb9D`<7HXO6ID#EBTl zbAM(E&ejbb&~Uz~1(4~9wK$VgJ0kYXb}wC|{Z{Pd`Me9~F5HqQG9Zg7l0G~2ZooOn zJxkK9(5;r+@_O{m==-tRmy+IcTcCVGf(v?%eVeHRl#k9Haedk-p+WZ&z?Wp#4w2{) z6Z(RkF}pK2>;1t^O6EDwHA*A~rU-W-XvZ~+!os2EiNwgfDdLM60?|9>pti8qri@AE zUN}c0&X7df73h~vhmObY4zy14bBukikg#Fzr`X?qS|mf(lG=N)#v)SX97ESb=VEqy z#Ec(?&W)TGJ;!x8CINHG$T!#~n-;QccHxW#`rt>D3&4~vxu~FJtvZgOQa3j8ML(r0f%Ey^@#7o`uMBpva;)8 zQ3IK@1k;n80;Na#JK`}=qc!HLg?%#;PKrW z@gXk2?>uRycu_wKxSXSWfv+j##gQIiryN7xk^@gkTugoxW6osII05w}+6&-PlrdRM zmCs?354;LZ+lA*M+Lh3=@A}QY&^r_HEM}FYztswxpO`rp_5yIy;zg{xM?VOBlS-zJ z8S;p`P6$y)|NmKWE4vDArNAx54f)JmslRXR69fGJyLj%6!ZQ^)jt_z7fN5Kgcq8;n zHSH;AVakkvU8Ve50K=hd>7A!2OQaRXDAUD?=Yn;Tl(U_BANnPa6>kTR;=J&2`a$%& zvyX^z*&*?T_Dw=`K7|s5@86W2k;$zT#}-|NHyHh&Lg7;@!=%-u`*!n^^%iNo_j+-dtv z`lMOK-BQM)XvA}aPNs}`HcgefWq}-DMyFZ(O&Ww3q$f{aC{_g1mnL>ri3bAZ)BVu# zS;ggV(H~t-tC+z)r?**b=yzv7AS_t} zi0zWj4Yj?F%tN=Z-1pAt+(43t`d}wa*n|G?UDq{y{X58ffG%Ip5*FIK5~vM_d83{#|&{!a83c?I_2Iw z^_KnVe+dhC z1bG{($(STYVXQZMhkjxC4%~5)MGWBY1x?1nM(;uYpN;-l^lt-xYJMi>XJY;Y=uueT zkFiR{j}K;>`~WSsV~-DosALRqRht=j@fLskv*6#OMr;i}X1_FQfc}tor1qz^(vXVh zq>SM_Ng*F%V2sK5*chXI^$2GGdliq^3-OrY-=ghv8RS{Ow(_1(A@y*lNZ5|H0mmJ9 zM$F1|Lmu_FTAx^exle1AnRA5mi4^$$9`M&81fHpX>3~u5fbZ8_p8RmyC#8lpR<1 zuw1Rn+|P`U%ox;+KOqOm*Q`1C8R2a+;Q>EsXF!{C(8p1*9}eyz;U5*Y_S3k_BMxI8 z0ef@;cgD~f_A10)GM=ChBHfNaFU?qo^uxVHXyw91K9G*&i4lis=Kk$NS^&J+j&T9H zO8$^9TaO@rF{Eu~Kk3RbvmZFX(%lNV_Z|O?=iOoMcWwIVvjETk8R2!C@IEK~`V{?c zbz?6(_DV8+2xxT-^gCtH?|e3BDP@^-VeX9g9Ca7oMLA|^f8LUVd&f%Pu!pvReOpq* zuJCL*UJ=0&?a-rVAg2?4iaFAbM8@VQK7r1QFqTTbn`6NBoJVAA7NVl;T68gW47}P4 zf6X|acAs(aH0ZG93G}HmXA}ZXBI6OBneZq#h^b@_4eJsRBPa6wfGOh_$YScIxj4&> z+WwM-Z?%>zgs)-lW#K)@eW*Jq?D9C+(SG`P^7d-Es;YG4Y#1j`mGMkJ*Kj`W!+r2! z2jIW<1=Ghg1BXP|>O<%|NWT_X=a~@|2knYlxBV*XI-=L{egqmEi&|6RDs$fyC@*v} z&xEn!lyosRDmKgqPF#~C#A@dMWG+p{cb14=Wn^o}$x$AZEL<7ewh2FFG7vjW`a-rhf4_YvGh;m}^$xho0|CE^}n(r5#5Ol{g^2 zV7x@ypGBKIPFvp2T*mamY|u6k{P#rIiyNe`3LthsoE!+A+Q-~o`;A&}am8D$;MGtl zPUT_eQWBNy7wTvVWQA^G z>^u(mX@EZ(@F8c~kd_d>nfZ_#zJz!=k+j)@HfYa%8c6f7O?YG<-UqBqcjhwBzbRJC zmU&ae)2Nx(?Q1_1dm%XI;zq!A;Q2i7?5GEfK0BVz;n^?!M*O+!7C&?O22K~v{WD^99kK~~ zWQ88%J<6L9I0`^T@+8Zw1|_4Fvw$b>DudHNj{zZ8?*BC2w;v8$ z+lRtQkR@dcai?#8I?Q-aU{9MF%Sn24Ge;DL4^gxN&y`gOsJ>hQCH^SC29$-%32=fu7Bkb@5 z+{gBZ9||X5?LJ0dcP-zDF)Q{yi+U7l`q9y-Pof@!`UGm+WAtOF8H*o69gq3|>g!PN zMQumD3-vhEJ5ba2Z$o`O>dmPC0d)sz*b_Z~`Ucd^pohbxC)yS0=e?*@hzCgnn;943 zJwd+_6AhYr+uj;Z4QIoK#5risn7`XazaZrd`9AtL>NUoa&>w^P?AA{tk1l$|)cx78 z`!2*=l23D)vyGhqTek`HODitteKu)^;U8_`>B8E+!{U~4RgSVrfIl2t<%Tmtu;+}e zcplm;+UE9LZFBoWVW(?A*TWMKWA!r58oyWW$yjcIk|p$g4}BK4p)7oDq4QtDZ6EnrGy>jWc5J zO5$enPT~aIfR~IP*$;dwv3HHRH|P(UxRj2)T^Q@Y^JF~d;2Csd%rlfA#QmT8{ueTn zs)4WMHDEdn-a0O~OMu@CxRj@JsHtlMfWO1kEg4fCjrjgVBWGsBRAIMyHWM!W%gB3> zz5?)g|M?7ew{X4*4>b8acdZZMV{q3>NfcrQ@4Oc>r|R!hFR1sl@jM6Z0`x!Dh?~#S z9>5mZL0=Ez*L~O0`^PaW$vYt42aBHB!WxJhaKo?W1J8WMKU!xaM9GFRdKFFvB!x(ax#Smy5v2`l;rvSH7Hak0Bg(vaJ=Nt;pjgXtnZ`>VQ+ zxF`nk&^h2EZ93jX-3VEIZ*q<(gj^MdVqftGXD>|bSs-jB3rGL%`>26O(GNo6b`yvF zc+TE|e2^{*A%_V)fE{J?cVtcjAKbtRdJ~9GbAuO&u!ZtHE%xVq;CwK)XkRe3XkVz) zBl4cs&j+g9MT@$H17oLnzD*0D6Y;orA@>(3_Y{$r1`p2(ao;ZZ=cv1c)wrWuGXlT9 z!=K#)K5dja;|t771`geV+()cVIbzHK8&(=B|FvIxI=mu#0CoWKLYpJ~qV&_@GTI^Y zywIhM&`mpJJ!$JZuvxj`3g;mh{^w37gsiXlLsQ>~%r)Zc8o;h(+#q8d>@{MKHqcr6 zc6|cwn0Ox*uHm~nS8t4vaYWSK!!bk*X^{-L4dC5(sK2lY*JpaIX&y0oZ*jTEk+MH$ z65pRAZ&IRdOZm@>rX0U?)YhxyIL?mvWyx|~+|Ib4a!h;D<+U9ook$~Bw?&gNENF?G z^S@%hB+hY#VveJIH2ikBIn!a$&@Z;ki8+=zC#E-ea{=>97R5>33>1fVqREG{dd4`hzlZy^KKosNrY?ShJr|+v2%h;W z@Ois7JjY^%ofKW+G0rV1V`hOa4g+rBa=4(yo-p*Ib^&tq>izSn@Ep-ApLgmfvhbc4 zu-&b(?S%b9B?J0_tT~o^^yjor{W|-fGWvIb{#up}Kie&0TF<LC4#s%0p0Oat`S{OSc{ac7?|7E|@KYcE z2JMNI+t#^T0sG^hWzUJxAUn6BKc4o+<+W{nBE|NttlwHRjDHXPq>-SUqkRQz#yb+sk+P5X$HqJ#&!NxYdH?f9UomLD4Y(To{$!e>IqbA1W`GaBEWqaj z#@sZ_o7S4Y)vx&W@kg>>>aE0c2XHGh@Z65)V!)UL7|#Jlrkbmt0t}Onz1iMaCwxJ= z>{C1(M0*0;A$-dLUb)bYgWO+~_D1GzEgtHQX}@Sgpd$&!zTMzeKkp>SUtDM((n{&q z_ zTWw~n3wyUG90xnPKv;Y5&Ds`=)%N`qYXbU9x8zyv!+1;IRitd?NAI-{h4+32Tj|J% zjgfIO?IG=A5H=C?*+bi{>}67yw3YZ~DroiW3&guY3;3DJBI#%7cR-sD4S&;*Z=0QF zOn~n}#xq7ajC->g7tq)6JviS>;Ed-3A7@KDiWq=C=3wCW*^B`WU2dB&*2@@F>D8aY z8sY`aJ4QOU5k6vvwxcRf!Pw!m#SMS<@NDg8k^4^-R?-eMJ08Ft)uijzONddXB#}mG z#ECc%PwahSq)irXkN8qP?rkEg7n!E?FP+F5koj0!_GIYzKk9nu;=z4*|HJPp?8^69 z1Yq@PUiq%*DZuvxT96k>$9+wHbMW@7hOXE%@YOqP+C{Dhjt2lEIecUIXGj4>C+7;kqIPsm3y=G+aQCgPk{w39H-_gflpvU3e`uNU~9to4^4C#HQ#*xYSH z1A$5V-Ha2nK{t1|=#==bLF~~Q?r(jS_ERqe+&Knb33Bf+?xfxF4x5UxBgPoMNdnGc zy&Ge^*V-^P#u!U7#yT*DyYA3=jD5)%OE$(TF^2o^P+#lCi~BOZgfk%y2|pAbSpH5z z7U@LW&-b2z;P1@$p6dOXk-K1QV#vwaXgLAQ?aWVxcKkRI`{LYsH~4ujgmaocAUZ~Z z-P>dEe1BfgP#SoS_lQ^WJUUhn#37D!BL*;ZHuSh#xStmG+a3p94~v96#J=jO)kG7u1_f&ZA#at2YHOXCoU7-KJ6zF=g>sevZ z&^GR3=66>~ct7pJ4etZNs<6uYop<=V5yIp*dW_km%|WcDtwZ}#w$wG^9VnOi zPU+i#=dLj1ma!1xADgxZx&zulCq;q&!RzR^q2Ee=5l*P$*Ak9`@xk-PIxE-6xzuOQ z+p#c_Im|%E@37w=nGcBr963jO9yN1bt>KH>Pt|<@KB&)(`M@s=XohcG_&v`TJ|zFJ z9(S;X{Ql{<8M_|IQ{T;jemUez7xI)mA845jTD^&H#6E!SsG!}$JEo*;FTTylLyrG6 zd`k+xtHb=@RD2&BCuQD^JlUXYK#bL%ZWEA!gb==qBM-KM7h6H&t$Fgj;G>4`PQrTr zp_PqrfUgU<=4)@aSpfq+wao??h71hdD`f(CQS{rn2VrA8UdhOi{LTci;{Gu3GW-ip zy#RM%*b3Z(C7;8V1m#;SsZw_6Tb`ACzChXJcceT&^zJvLFW>ccc`fka@Y|rT*4ma} z(m0&kmZ4koeNi+1>LZGJ!2Rwz}9={!b z&lA{|aw%f(j-M@yCfztg;9b7k)pg;oJUzD-8dg>QzP@_ zo!|oE*tRszk@@eadv&Ha2KU@?$MH8idte(PIjXC_7ii01oM7mCGM@SEF~0*qjM?S{ zo)-CihGpb;nTs`kdpe)_p9uWo$4|?=lo9JC7I%yp`S%dHZL?%f=O|+61;}ZnJN6-e zFP@mHa#5&bkk2u`>zsEUu)9qi%fR2^97ev!fL%fQNtr^gjPL^lJckSBYHko@OooRby4F4j0ogwRHJ_7R!Wna`hS9gNt z@_C!!kqp?K@Q21bg|;H*yeP|rpAkD~<2yyr8F6J>F~;z1t{OvoMW!1$lMQ(1ScMo8 zXTf(wB2Tk4N8$wLQluRGX#wxWyc2WXefTD7E7st-)Px7TD=x>oK>x#O6OCuH zM>sqe{8X7oT-OC&CCGbqy6VUIj?)hDj-l>@ZDpjXsfVOH;#SnuqIi?RE9i9^5{E-6Zn+! z{)GLcZHVyr>9&A;ZvcCv$bfDHZVvbO`So6R1Oo zf41{Z#C?n$U8mL|Y%=Gf0sju%e_uizf9RHtd1!|ootTLCX#BnqcN@!&@I!6d)!suX zyx!T={uJ|rZ5{Id3_h4=KwszOeSAOX1zt~}=6O6KZZPnSqo}yU^5cpQkLY@a=M%;3 z<9mtdeiy#W!uts;Vh3w5$5T|2Zuzk<-6OW-Nd4%D-j{Qu-)m%}jrgiGdatq$dH?Cc zy><%jFU`f9I&zCUthq(c?@9Ef=ODiaxGROdWWk=ql7-rh!SrP~+f=_Vy^LeT#a@!m zxq&z@bTLHNi&=-q&im~p5RQriVti1=yP0SkPC z%aFZ%$^!hP6EUI%-w@c4^YEZ;N1entk}}fOBOF~vMQYb+k+#JmGBBP1yXpokzHe(# zwgqu}87_UetG5F_WZ!MdKHlS4;nSFZs-=tqzkb8_sCPTaKLU<}b`&un^8q<3{?-rR z`4HxRh&mtjd9K^;g?z@z_d=dx780 z-gK`^@#eouC<}_dqwUZak+}eVFuu=?J4-@v&ceuD8{a@sKev-ssQaM5p#RWj)RgfK zA!hUYk3DAm@Y3l>4yqLN+!#25zcKp_?tzRQjK4DjZ|RHoM|>>5D~Nj63A|Q##3)Y& z{>T|QuTz_*Nq!7LK2IP%8I5nDj-ija^GoPE7%mlk_;$p~Z&g4C%HS#E&T$~xj{yJ8 zSjTVRuZJ(y0P8xy^0(z`W#O3y&v)vTkB>r*8}_~JZLM$l3;6c?uy(3-bUX4RZ3kPA z{lMS)eC%%I+wECPbv;|)25)>PG#lTgc+-Ep0Xk|6Bz3ugd-C!)d@r8BypEpGwm~1{ zdcZkE7_Gi1{o(%_Uf;F_cg14i%Gx&C)t&_#mj!z|{SC%Z`vY-)H)?xe!ge?0rB{=fv}k9LB$ak8%)bRFn?M0_y{-ifQidjKCWPwWPsI()UhEASfr#&9>};8Ey! z1@(@ybLj-+M&9jU2WElixL1i$!Ooc7;mu#(Vg5}U?m5cO<1Dz}z{g(*0_N))o?R)H zh>!m(unMDK$ryU;X^WkC72aC`6L;1N>5T0G_a)p@@Gdyk4tUaT1GjwO<{rjv+Qle% z($60W0}tkDjK8Ne;3gO7fBIK>k7TT%;C~PB;ag+6@z(^+*kd?Oh>A&=?=kHcV0?qN zsz5&zhOG}F#|YiQ{dz6t;5~!NGq%b5PqeH9=Oo$!?1d;f3-QlTz zK*V`?PrVBAbW;8e=ZLsLJC)O|%^*J1ud?R`-H@qMBlks~K<;Zf2CD-9_j&dm`ZMBYVS*Vq^N|4iinhwn>QyN|(FCgM9%8}>U(U)c-$jJD{5Kj3$BsI4eA^jR_I z9Q>+{V`e{UJ4ymdBIld;sSNx(0P^oI8M}mqBV`)?-nKl=8Q4_l3_P0V3{HiwL*9Ea z?sYDoK7c%o2(%|T&A#v(uxIb;huW^wd)sc&kF^!($J?s)6K!AD``W&%pKNQK65A+NQOoz;eE~ss?}nc&)G50Vq}F zK1aE)vAJqZRk^p>2h=O#F>gWLdT&h?5V>MTyjc7dv9!Lv`PR94;?_mW{_12$RZ~-o zuaOXkcW$a$Tj%h$G*<$RYG0k&GOs8Kkhh^B8mVZ6E*py4;8TgpeZ9>sjlRD|S#lc_ z72Rs zh%a5r!)kBEDm9(F8g8v3zoX87O}OQizVhm(mRd(`Ra33Exx5l^i%JS_k6LS>!%ZD& z%^Mqh;HX5w;q*^if%(JC9WmACZ}62jLpC_gu@-8iFh!+8)uZ)*NP2QRkgL4Sm6V>Wne{(+ zdCQb~aVF1*HRSp#xmrHS^{TVd+eCZk^RKG$))^|`^Vig`t*SG$VDXaT1#{;a7SH&1 z@*IHBR8?OG!Ji@j7cVNCn;WujyRFW98QX62mIK9mm)@S`C{kL}L>~9 z4)1{V0>l~Qk(>$Q`Km~~>ZPVYbk)Gn1TVL1gg{o1)DIUJYw5IgGzHm)_ zqoZg+zG3Ag{DNVyQl+pHDTSRJ8|zydn|w8EfbPgOb8G6GFt5D6t`17W!;b`P2p1HO zqDX)q%m_ri1oXk%kb1A&qRraaFF%ZG(7BE`|e z(ei6d(Dk3qLV<7lSpek(NE83+fQRDAn&HKRr zeeC}}=D&}*e@aDN6mIW$R9IrHabs+;*NwK1jUPWwIA`8|$E-W=y4#iMU0q(`TZ3zj zuvqXv4+;uOn;5C1?}xv0lK!RJGkyBSaMVkw@RMI)Xa zm{BEe74z}iA?Bi|4*&VEq8UAGr3m5tKh8ntubh8z{@VE?=W*w^oSJi)bH20Mx!l=` zvP!pLw*@f-gLO?BES=MapV(V9|cUos(a~Ch^Z<&d6IZ(XV!z*ggPPqm@6-OM9Krd)h zNBr>HE1$@jcSdmLolk*t8oQd@G&w_FUMZ!IK}P=;IaSzwUMcx9?7J+tgEea*VfpMOK>t+Ch z{K)>wuF+x>@_ll~YPqHYb0|yk;t@R6Vsu&5zO*`oM$8-WRA*pv57yF>5}KOPgw?c< z?4gAq{te=+ferf_vD$}O%@Q{cFm*^D(+K^qLZSB}{toHiIM1%RJX+Fo8-g;I2XM*`P*!Rg2`N+2VRDzxK8p%?^B*2wdd?~I2iQB62courtI6|j=j zBWEe)l;w?pK`tWmV4HDQ!gga3TM z-GPyJ@I(#rVs9m7Ef{S^eZ--74)8p6&;==7A?>N4*)!Vo z4WKJEg1WCb#r6iQjQEN!oXN)4yiq#Tk~q(haYG*?n434aa#Q!7Xtm(i2EsZB) zpI1s4>p!EYb1ToSXv>I#7Ksw9Jgky6uiR^`0huQ%$1Ga4ddVr$f%i79;=NSeSP4ma za=<8TB6}QB5}Po4epgIP3-71AHm*~EUq%?LXA-8VwC299B@uK&P@7I zpW-FI6n1OnxQfXLiMCJqL29pQ6-ljf<2;lc%AJy(_$c@ad&Y}OHmIMlt1I<#hSR-pj z1nV$H`Vwaq1M!LR7e^Q^nRt-1(3wqP-mWlqrLH(iey;pPb;Z(Wv`fqWwD|YS)0UL2 zonHIN((e0%%idVuQTA%h(Z$z^_$8qhjI8fq@8UE5LyN^XHZ(mCTYp6s;YR`C=-aio zn{m~?LS^R|ZS8Zu@Z4*NzFzp~<$>2$2*=M$zlZqgUy2X(bH#x_A6)rnsfh30`+qk_ zW?_|@#Zmk}JUHH5@p>=fw}r3f|KOO2Hz6HLf3*(~&c1qJuMII5r7m(~l@itYnz?j(SV0#e-gz^QZ(zPg}-XC>!JzZMM&Hzl{4DP%{ef zV(xnwYZmJkLDau(vmY^xIyUm@bZ;Y>^(o}=?LIf`f2n=m&E@nQ~U zbKH&g-FRZ#WxYejoERrQfXx|BKysmY@cT}=htrBr=m16Kd}d+ITHF?$?^xuJ= zdocHItd_YUtW_9h84z+XJ03eYt#?VNcOvf1#=bm50e&MY#_wnh)Tqlkk8@C%Yhsjq zkF*q5@}KnQO&(gt7#EbQMXjXb9%+02)6hrKzglvDHjDO@v&l2FA}7TljrE2$!GTDphPPme?GQToagQfp}+RlK1h?`Us3>?^s3aOhhIf#<7` zEn3`K@kbQpWk_?vRP&WjB>j}VWfZ7xAM{Ve*TjeULlucA`h1o+M8z8o;y;ACIheke zv>`Tx%`Ax-dyoq3SEDNWD92eyU(TZaAdSek7FmB<9Kr~PbX0rLquq+N+=Ebf5=9@L zAJz_iCJuE5&MHzGiHo9^8K=~P+h&vk$54i%;TsrK#!vhXA>zA*uveNrXzxPVgT5TZ zzl=c016oNHy%F|s)Jj=o%tk#?^2<9MeP$NuG4GnA3K~zvh=Cf%+t6Pqh;b`~_+qgTHy*?k{5u>X%_#UjM`$R$DD1z8 z|Bnnm3eLau-_XX-GW0LQ+GUR!?U(U9fX{IadKJ4>KYtfD4nK2U@lKRKs=ksN@i+MS zD1gtOk{3`e;3}Q0+V|au=Vp|rjkd8rTgziqAAfV*a>(`a2GzIxJ9vH@|4v1jYOfeX z%5XEBsYA6N*o$Ytdhm;?{a~l6`TIfaZ~kyyX(Rq!A>&*tL4$|zCEP0G|HrCqn-Jb_ z3$c2iT2X#nh>9xhX*tj5u1<$%8PFK!+qighbFr$e0Wy=4l=<*qO|o zB)UQAZV=jHMGcA+Tgp`M%G&H+1phIkRpk@vW|F^i>IQpXZxjf9t@h*5I3WUsL(JIhpqUh6n5K zTr}_HIaS~K!P2E?Bd@-HtFQFh&p!R__kYy&uIJlvzUQ+)`{Of%-V0eprY`rx5iCdew$ReZpj2PdwGHCvJ1=W50h+7fT0p_no>Bb!YX*Uh77ETHkbq zTaUcFO^@t9hA}T;>zDs&y6!Gt3z!)~6awCTQ}xe(eL8TJ2ytyM+Ae+B$O^QfFXKwl z&eW@3>C*2GY5M2Cu|=K0fV?KDJ%xVSJ(>TUWscd|Y%>l~iH zhdu{zozW+xWCAZ}t}E63Db*-VLevhRfS0w!`j@`FO~3nrR?xFucYf2OJ6D~-`n@PW z(i8vnh;Ca{pa7M!M=-L z5TZB^i^l?*c7LQ2zi0cx%D;c}cpz2XxK5 z8Dp)eYfB1K0eo zqdcjPv28&8G-Ta_`rlD@>*K2q>F$Nys6pp^&iy&c36wveVEqE{e!*D%hO2S`t4AMy zWwAc~D(s&>qbqb-FPMNi*C{=v?$ZVqd{Mt*qz82+%2!Zc)yG_SR(HP9jc33vf&5G6 z=%4w#7j=*RnN&Aw&{TI2WxLY5drMI-Q95^THR?Ky9Yg6y0lx(JWy5+~F-i#v=G!pe z2A41F-HDJ~PW-VaW0$wfP)dF5^ z9ZC~QD@qWh8)XB^MwCq`TTr&409WlUl-($MP!6CRL^*_V1f?J4G|Cy2vnT_=D^Tnx zP885rmxPjn0@~`*P%=^6CJroB@LZ*oj~ix6MzjkYJQ25s3` zgY_u-*q?Pnh8{fHW&4Un7#oumZBLvB`o}oYcF6IGo&mJ^Xm{AL{_0;>2r-BBIaT{- z#b^Vk*}nYBIZ@2?0M3y;7d?4vn<#WilUxnH}3@DjCt%ttZlOB{Jvh(yxw zbaK4vkt1k>2D6>`uN%<@4A6sLy8ofC39%43M4Z|F*Wv9o|8ZV>N3;!-)*t@U86nao z@9e4#{1f^CPnhjPLX7VnYDa>YUmnxOa|-dB^CL?zA287-{r>;y6(V6bnoc_i)cxV< zpx-0ga=Zz+KMxt1{H=QZ0OoIx&aZkNa}!IW?ZnGBpk2qdl+U8VUbMT|wh`V+aTY#H z!m|0>3nY2MJL9Bj`*$aRFODe7n%^O z20r0h`$g9F#jXw3Ojvy}-1!|MEs}x#f(FzM3r;A*qQkC5@^lBs`!LTMkD+l%ES@aQ z7>vbpcSdqv>^>t)btm^oIFSS)LKzk zSj0gZL8~Y-jFT44nRcN8{!z+)U#f5h@1GEW+%t1D;Q&kr>cpIr#y}3%<>)BA;KyA@ zcVta94u{f;0%aK^^U_C)(VmD%M&FZWdqjRjc-#*e&xU{dVSqSGyGG{ae3`*;#*M)V z2R*^yi9qo2cLO0OlO9aDmoSS(*^RHSt?Rv%EVp6NK<| z09S^v-6o7P+(&8UsKJ=MosCR}+~S2jGD|q`yH?nO)eFg=#E`dST4-t^bjUEMJM(qu z&8L{_e%ZFueZsyeD}Ka4aHQMg(M8Gw*9d!=CTyOkj5DE(@k#5hQTz>#^l)6`cxZ0& zv@(yJb2?NwJ}ESJ+%)W~-z#plb55~G+{W4~L=#vg-0fYR(2Sah1Ksj^MGpL6O9}R})7lI4L+slxyykvNxgYY% z@&)&KDKpRteSwbKJe!sM0A2}g3ou>O!?MD2?cmjs%`=5PbF_$qJ|D|U#ol^h13LCM zxd=Kvz8-sW>HEaC8J>mn^k0kZ+@G&-R^hsQkqKQ)mHc_i=mnhJ#95YMhi$dpkiXej zi@q1EzSNAi8-kVN65X(K;BBQ1P(Qjii!0Jc2pzVU2)U%VH;E*#7VzYs9G{WAJg&D8-zK;Bg}A3G^4Br6hBrm@J4a% zuMIFXlckKEqq1I}nX@5Y(-u*IKrySP>ASPYN2 zZ}7>|G4Gnm(za~S%}x3(wWytHb2$5%6`o$yYDS4{qcH&H#!@4%%7 z^%8k;aN}g^rW@m>IsMAtLN|x>v%|)7NQ{1dpkjK5&4GST&RxQm-H+TZ`P5*?>$rL7 z6}CIx8JQPM_R=1lgb9CeEON_bO%HzqHy_~3!`Z?{f4BItk$KZ5h@{0cM&`laEXjXF zIMXMH&*VpJ4%j#ITP=Me+u|I3O_A~bo8%+)3S-@CvPB%=jKcU)$bU&$Mq+kos&^W7 z$Mj1Y@CL9~=GS$ApRV8|U(v)UU&aLF%*R}18KVX{Cp5E&a9tAjQ^pn(cW`L#>0xtW zA9WG%820X7d}3r?NRJ@jz41^C9*(oO;Z5g6;s z*<_qqya{KV6cGpb+rg7D@X_1Q|7Wv59{n3YpPHYA`B|7h4t5kVc4Dkr$>Y5lmOQ|V zjlhAkeKm7{i~7vq53dV!J`MRjVCL44W6p~s`WX*-M(TV*FAuAHPU;x;lN|OV2gaDp zkIgaqSFdmdfva>FF63ioe2ewZ70_n^-^z1Bm9)dBMB+xYO*o$5lVW<72l{CIy#3L+ znEQlYoi$Uq9!*8;-wgR`Lg1P9mjM`ckG&)1azKa`M`H22bzzT<5!6%Idm_)5G4Y}l z`)ndj+-qlzNaG%vD+6|G&_5xt{)DivgRgW${^$$f%p}%7Eu4TKhkn{!um|*`*7dM( zM`JMHkOtzk_=q`O7Cbz66OIXEEnz4g+~C4q9N0_rzGPV5qWrizhvn%#7CtLKvT{%> z|AZdkzGnIEPY7>=1rPK|KLg&Jf<2Ca|Imm-!rw0(oyT#OM;^v|1mNff?aZNd;3@_# znNKhVk#GB8msYMr{^8sr^h)8T9LPt?#LUBV3xDUJ9)xT*VqAc)Qa+T+`hB>+7}VFY zpM2$*)ejor>8^*~`wxD?{cf`GU7CN!bifOILU_Fvyidu$!-{{`dw|OcT*+1p0j~~# ze@9LJoz4L-r7n{%ygTDLN1cVYP>)$UpS9)U+;KN(*hb&LzICZ$OJs%|uZq%$cKCr4 z(9>~0!W`*GqGL0aoWSRK7)ztvtufGg$}2M03Q<*YDZW@X23c)Kyk;Ixzt6mQ3T)W+ zDEic%Gm8NyiTMckOnB5ASm4I;j^b&wZ~A zV|%D4rktGg&4|ARkd=&mlznK%xgC@XWda$baFB&&v`Y`X{1@mVAM8((P^A4Rq53)LnxOg}`=O+QZT|Ywjluz-iH+B#oc#fEy zeiD0V2La0zH37*UeWEBcm z$UAoj@7Dj5Hxejl)Hv3@_4k?xA>C+@%Hz4x`A zEXb@nlrbw%x^HA2?+>Y;*xxboF1TrO)aRJ`n5cKcXTj$|Zc`#Na6ZWpOTsS}Cat+! z+==tTUBLvI>+)`}|2&_C*l_JpA(m~Ar8AbsD1ERKp7A0nfbYQhC*`)J?t_4z4)`Mh zA9|(_>WPtSc^`7+=a4TakvHqm2JeZdi9C-ugje?AeZburt~}oJuZb5k{se?r8odLezc~M0f$1x7FRE+}JUeaXX1HsP_MK&)$^VPo!wl}SVkdKfA$?d{ zup#xss6M#+>|)<$yLsnfPsursI7VO8Y383>t_$!k-=yiBg+DXiFrb_8M|RjT-qR@E zAJE$)@*a6e=k4J8l!2gcd=hkBJUR*)- z8KV!nG}5}iL3^hV<-Gfl`QQvqUt`JAm(hBI6&vB}m=EwyU?1-z$Vd3$aX63dj4X|$ zTP@H_`!}Gz0`*$dpGDn;8veuxqP`M!EBK*V{6xD7{X7?y3-KlLz+vS@cu#Q5%!vjp zyX|a`q(ySzLq==#XS~1L!nh#y4EKGEZ?tQSC8IwM^~v=gN*SH=ipe{3;P>6gx1^kA z@y<4W9DLmx@GrfzlIPjvX=Z$MM5YRR=O&v+=2f}MCjtIYZj~3w48xx@x8i>2v*?>U z^YpcyOCv6KzhOkiA;;=to^|e{;8xFF~i%x5AMiI>wk30_{n6N;WZs#XIaS1C?ahMA_%i$)WGn$Zo_{{U z*)39F!2?e|%~|U#Vhqk&sYyaC;hFbL)@0+4vH}mF`^at<-PVm=@ z{B_5r>^^HY?o2h@zd-M96T-p!>resm;91NAWFC6@VsnC>(eX2&%L}^tEL+`sT%?$` zTEO>Kw8xwiI8P#9WsVrSwJ0#tqsucO-Uo}#GlV@jy5EDiS^zo=nE&YQky7Y-Uk6|@ z#&p^cD^o>UXTC`9^odNoi*e!o&-Bjy!VQ_^A{KdyjKAs7jpFu`Ka_VC7QgAc;eP{& zw|dqxy#K{V6zi9PjwOo%Jz-%-Uw;n#S!i_p*0OZm?K-5-sCa&=NXYrJVIVJxLq2p0 z^hlqMcTrbESN||ER}@39io@|Q2SPInlQz#4jy>)(OT%8OLF_Q3H!b38F@e>o7I{6=)HnP1ldb~W<`nd1Q0FdQA=vyAP=IGi!@ zJ}OejcXjT*I3e?h7~DfSL>zgM0=P|(-8X2z@CjFB`RwUlF>!lorO1`KKXU@#pX1)7 zOy7|DmvfdLzqsGgr}TKV6Zy-6#fG?vc|Y}-{-np}*iAl>NA6ymE^}D$5_iu334F<% z;||9iM0Uy=@)q|| ztMkEIQX1iLd?XZwImr@hWi6Lt6`-_%i7ERefZp z%?>{)dLpA->rzKe2VXQ3Zt#4#;KjBG?4y1z?&#I~=cAFCqE9|QWgN=JdtSiyw8wW6 z_V<(y7`w7(+6vI0+dlbW_CId+Zvy}IYy)w&SH!iS_#wtVlIKC>!aC;P0(*LkG@A44 zNH_ZarO5c@_fS6qn%(>+fc@y(oQXJ!zTEr{TLJfkIu|&)awZA#cNFar`~NQCd2ol0 zv2OIo1J=Kx|53Bwkqz5Ne{Or#WBBf1lsEfH8*-cv{+ylf2+01fr`eA<^}#RE9#6e( zpS2#aKX@}|W}FV)xgPxq^fzvwWBsG4jz_Y8ZPPLS9rTk&f_jeje#l3#-Tw0PY=1Y5 ze1kH|jJL@%kSBt7B$y+0AMcONd4B4Zgd=tLgVlg*b3;dr<_DuR>>VZ3AcUZYD z{N1+5X!y~&!oC^btgW-z9p6p0C!)W6UB2BpM7NAxCCXR+?GK%Uk?o(rS8AE@aWYS) zKcrs_!6$-0+vvNMzfA6tz7pR|h3wuP!2}O@fjCoLBI69>4tR6cj5o*dZL`bD3GhA0 z<;+p`;@oWI1&lR(56<@z*yHKo2RYJ@A_riM*&Y0C4s(D#=ldp%^)UxkcJ-%-j(h?0 z4v^0sgpb^zW52qmVD9kA@`gWqxwp=fxcg5NcJdB9I~c?n)#B^=kC3BGN+yreNfT)x zoxpu)xK9=yulQU6&TS&Q4>wI2pF5P@FYjX=ITK;yUpI{Kx!pVP{)gXHI92Sk3BWq6 z`{cW##{u6PY{R`s2F`2pn}c7yV%mx`6JNc{Xmjj#dY+8zGy56R!77vb-2xwrPnY2-LvxI4Sngn|7_7|hFF|Y?L{cY>std3}@ZJ(-`}lIhJCMRbve2-@(J}=g#fO{2ca#JS4I-(!cnf#BB13 zzMt*J~GxP3(xrwPKCu8*lFgNmkGQ8=9B;duqjb6y}R2ciTVnA$;1i!b< zl=;s5&4cNXIo=~)DD&7{JvbV9qz5^GX|v&nJi_yYaNh6`__|jl<};tIFmp_m>mTOa zU=>QGvTOXEMjh-pnm3Y<`!+}O`%HdU!~EWj_$7T6;uP~C?By(cm4L6Z<9jstDtSNP zryhHd7ph$BgO6~wNvFMe@o5k6$or%9$MHQC-h1(`26X#{wEc-p5lI5*mShb zvzYbWRWjaByK%zX0~qpNH!@k+<@wGx^xX(y@*6$oY|`f-SJUrB`=cCbYot3^DepUF zYy+KJBG6mrLdbs{`Zm}Ocn6ylMaFxtqu+skJLN?<;i_LqI10vl&zkG(TqEbwo;hz* zVG{2!gI&J?zTfjcWHjK&Ir_7xdFRz0Ij8?fod*zu4qG`NvZVvp*rCfS&Ps#m(mnq=YPw|b|d+;4q^m};6l$_(kw;B1k<3Enr zl8W!@Fh4XI-^Y%YI`6?f*?_xWjM1Oy5YU0dFuseU4Aw&y>%rso`SQKs17_?_#`+X5 z&Xa@#dflM4K>t;T9WW46I~;&v>cHUbQYUaPihd_?5H`jWl#UF_?@W*@?u>vgGrnNg zb8!}iufRE2$~j_7RI$aDCUu9gI2@%R)n>*w+w@D(V13IP8b2!#$|`~{ z8=Q9udXl5`EH&xLcq0(@BKEC-k9ZI{heg}m*fW96^wrgBvu2r8@QwQ0sCw=`3+}}%~o&`z9h$f<7@GSXLItIoUk>A!ayo`fVZyI)m@e4eLBwWc=|N z;_Yn5yBqijyx%^``#I>EMqk0ZVdjhB4?akGbeT<9wD9{;mA?(#$a&ON@{RMcHZ3|& zo(aw%kL^h39C`m8bFR+v#o?Sg_8|UdXB&J&^p5J{?*%$CnJ1X`o`Pq7d(7_ukYjeZ zK&MT9pJ5yRUFLk9-=5Cl{ZABr=|jimy_A{jC6#uK8vgeXc^%W`oz8yb&~tI8k)iFt z{k?c}vbu{x9f$iI^SjR3rvbayvawA39nN0d_n5G&$Umu5xU-<2<2U2fWzr0Omy_ns zr5#@69>wU3-s#~z9`7gIxIa#jd&YO|`rZzC_e4I^_sAUnhlq8iu3PsJm{%qG~X$7l<>}rx=i?)@dFONQv{!pS9X+Q4BzIeF|?Otd2na43hx|i zkV9fG_>M^A>$cWtp1`{lsRw_W%X2Z$#9Vg=zKL3oHFz$!;DPR{^XV=!{`T~BM;}s@O5uT-9_dlUSwX=`SZdfuxG*pjZr!6?Pxu}4|{vD$oTz#vR~TAF#NiD z&kEiV4)=vPRpAwv^*~mM@?4#v`mw)*^g}#jsPkY)1$k=OA^DEH6=&$dUhE(D*@MhO zBV*ZS@C$whYf@xRW$JVE9{nld z0zKtCKLMZg4N)0C(GisI4d8E-UJSf~eI*m8S0o$~;x^uY58;YL@4r*lq#-|n4dH!b zB5ery&qkh!h{wF6>(;x3L*BXQpuY>}-xra`@40SuKHA|2#wX!D8ow{Z*~Ydhvb00L z*n22N*E?%EALspGN0&T5Lk`v+(ARx_AK%aUK-Z(FxgW0>JrI0SD=F==y-?NV6+KUK zf1;Fqd@m8(@5Xmoct2rB?qCn)dP~YOY%lmTykcFhw2!V>yqp{RULyx>v$}8=%=aoFWEy74UYCfkI?6sfxiIrW!N=5JAo7LNd`}u@RR-z;p6_n=mmV_jDy|K+8*daG)}`0 z*bp1srtTF`7Z4|1$PsP$hQNV44=>tI)XB^vsUtm`h1RoQr1cyZ>FaDF6XS{Ss~*7O z`?efH|R9|1?BA4Lwx`+!`P ze;d2-ya)5oqAoyvn(H?Dpr51Vd!aPcT$^sL)g#D>xt@L$^Ea4n!Z>3-6Ar(l=x4lv z{iW^mLBHXj`E3GYOHMz}(x*Hg+(XU~CcVw=kw|;KzuQEsDdsuu+r0=s8f`N{9__m zYzKYU`ZAtKRjYg( zykdkm6My84JFlZ_rbu}VLO%~7KN*Q{p$?#rcjq6WZ+E0z9LBdJc7Ce@K2QgbnrDt( zv2g_Suf;lk1Ahf#sSa3|0alw0&eJ z?ngRyw;y;u(Ee=vR@}Ecvlkjhj=%}t{7z^FzDx0Cys!#3>If$HctCr~;?ekCJdyW0 zMqPQv>h z%YOmJSLmyXj1v*~`Y`SoVLLcqufQCMl9fU?0X+fjSUSJh=VR+kIb&Hkpw=GJmFme(}+@NbGN#y=Fb zZ0`Iy3pD&>Yhp^v!r3JY7M5z)PHDL|Tbt67Ah4{Z)rWs`jM(H#kjO0o}aRe5srk=wSdaNq0Szsj{ZA zt;OUPR+ZOPmXmI8V@qp;ub!IMqFtYd-wC1ts_$>8YFq`aoYvrP6)Re%HP!i6PitPa zyi#>wMN8A_X_bxjVpUB|eLW^t`2lVbMA71_^=pe-8=HMA{EPg}EB(z{*}`IJW7K?N zfW7(w5#p1RzgP__3K~~6@E?BrBy-D}EOoS+1f%sG+`xp zE4_oVu#3;kuWR);W1{3SXyt+gQD9p7;+h&!4sWm=MqC5Uq_Sdn<;n&4Td=JmGiz+} zH)yjLDf8k??h$J!^<{Fke3I)`XSJ_|{>~p*R_ALlO~49%l&zI0t7)Nu+_M_Ku;Kc8 zUkf&`!FvJXG|EWM1oQkgWL|AeWv$lO4328)Q>rpjwONe~tv;9Q74toN0NUK#)P*y1#@lWviam(F`rv$MO&#j^v z&l+abi0j21{MN)Q^fcf3w}4Cy$W@eZ2QDLpvaF_>fc$#)eWLe!mGk;pQx1- ztpp4|C~v*wYQMyN9P53e8kn0=6F2*P=Dt?qsS0D4qTrNVLF#?LL{4x8c^A8a(1-7{ z4eQ!48zDjBs{{q4oHDrNe(!#-q`WO%^6*RBQ}$%MeWlRecE7ac$GgSd+lA2f7Q9`) z|HijVcO}1a@TKoPcksEB!>EYm_r1VG8T)OQqh2XiLnh>+Nx41Mev>`Vek00s`wV-L zJxgflnawty^6aEu7Ck@rh&`Q#dT)2G%)pZJ~B%zsQ5hh*?cw2)GuXQ1wV4<7O`N|9@gtD*9l z&^KJg3rG3C<0^BlRX!447yr3BTyy4&rCVKHu7_5hh3{PMTHva{tOD51oq$9SLZ7ix zT5?^~!_b4D@0l%c-ij5p`xg9emMfdZG>NZ7dRm_x;p}F31p37lDAWiIB`sz7+zVsA@}0wV zB>}L=eW0tMG{VNYG=dArHd%9lr2UI{svg=^68RaA| zUh9477~C^2dvGmRRw6GX8X08f_7{ZsDDhp164*iVDxn9LQhlH8+Y zspZt=)qp_h;}0${SMf#pr28d5s0Z`|!|l(qKtfLdM2-*nq&BQkyrwr{mQ;uT{GeUK z$UAtV1^IwmX;~XaThZT)nVe5=Vp#ww1Gi)B{sib$ZF(d=TbM1IPXH$x0qcCbtCzM! z?kMU?FpIocjvjgeK3iUb+*4T$?ZvV^=?^Z*k%wm=cj9C2NtBAKaQ-8%0_4s=b)7~= z{rbOsw6GT$^;CAp~N*C6}pm6exORz`U$U(yDcgu^IN9fgnynDoWe zO3H0{bcDJ}J-Zh3Nu9#0A|W*ZRs!v)l{$Q}lgatn8Zjsy6aWu(k-lOMcF_PR^en`t zq7wJs1`Nc^nT&w+$BYov-3CFrt=P%^(wfvB=3t!KOnz|f5J$-Q23SLz%+r>`c2`IY zv|0LI1(g=gs7XB}ugHfQ$!V^nP7?ld{HIosH!9AOyX@mGl6DFY%N;7bi zcl7j^riqbE*`YcsGFnmM7jj$ibvAaZq|S3CdMwMHo^@`2|zuHv~=omdG;MRJ9W z&k7!+0%fh@H9gVL8IiPJng_Sbl@@i3nfC)XHH)h(zR)7nzL=$H&;!n?#Gc7N+Eap* zm!fWk99KCRA<_4#I7sWYydt?(Y3_%bL%mbFlMn-6QO|r)=?3jnc~WX7Wn^V+giT4r zV&}NZ`x>QYERwUW^Y0K>V$aR7R!99)yx~syOpYjR?$)7wcrrjNo33 zk-wx_2eyOBNlJENo^?gr_TvU1%#>*;^`3)K)EgQvYbtpXUE|ar%Oa6;ta! zT-bYOXwe%hyDDC(+duy@k+2}#hLM$B?45riuxGyb%Bq%U;p;EBMfgEbXot6K?`2-K zqgeSlW?MU4&pq=Rvajd<_EP_AON91T`FD^%{lC&($GBqGpLgH=({ho}xBdHTqqDF| z&En{51w#AjlGpo?zZJex@caRhU_siG@ycO9IQh!1?GEH@$wGUrJDSxAaThd)`64Ap zUR}rsD;_DGXB<(USm`j&9gVhjn-{(6&Z8OJ3wZo4-rETnOmFwtlIG>hUi`A=b?RZjD z(XK7*$8EHa`_Z0&mCyoYk<*bU=Ga}x_==JL4c)}#<2m-8CRfSK{&~#JM!uMf*&O$v zeJh^WcH6%ob54wt9>C@d7a+M&y!d^y#No2z6FNXqcRtgxW)@buiESp$NZ`72|g-1!~l7pUpWaylY~Xe4F$X z7s{Xf=Sdz`#vB)%t4FQ0;x_4f{$koA`Cls~K%Yf_%Gs19r3$IrmZ4n>xv7(D8|JjZ z*8S+CZ($b06|~c4{N@>t9#>f~{YI^*0Sv-buoWKqA?D^okm!M^7o5kemL5RG5H*un z)LKSeQpZ~~W)o_rTCebMrj_Tbvw1!|mAY?G`SFE3Q{0&a3at3SjF-{Q%3qiRl3&cL zhsPUotPSU9%S)<^o1X4I^fThndX&9#hqPMyN0o1=%sV#P4#i5YAsogQLg49y$L{h`W46n{QR9-{J%Chi{lnX# z&!VBhq*-N3!)a06vhtKhNZZO%5Ev>@bbJGY%KS;#Bt$~55YB3=2kk8=+t8Pb{FfOB zWk4^fvNysW%37(5%-LusN`HBVW6aD3KW1NYR6*mem@&}ec={TCU)3n%zp`e<5oV>- zZuxUrg%F?JCB$c{@Xrk3Z$&Q86k_ZWA+9PF;_BU)f`5lYq?-lb=Lj984~6~b@c)q! zK*9bO{upiiEJFVxtX=e=*?tMn{rDW$* zQ}!In862fkRQrxQ@Z5^>gxNOnv$Z%*_3<~?Erwn%Zc=@Vzk%mp;oqsKQ0*lHxH4Re zV5+J1UEA>tSYNtIwZGJ@YX1Hb@LNAzSKf?&SIFGg-QdAed~X00au^Y=eF@J|l>lLP-C2mU{Eg@Y^r literal 0 HcmV?d00001 diff --git a/translator/tests/Translator.Tests/TranslatedBuildShardEmitterTests.cs b/translator/tests/Translator.Tests/TranslatedBuildShardEmitterTests.cs index 384c742..b8b1a27 100644 --- a/translator/tests/Translator.Tests/TranslatedBuildShardEmitterTests.cs +++ b/translator/tests/Translator.Tests/TranslatedBuildShardEmitterTests.cs @@ -100,8 +100,10 @@ public sealed class TranslatedBuildShardEmitterTests var options = new TranslatedBuildShardOptions( metadataPath, functions, output, native, - resolvedPath, mod, BaseShardCount: 2, ModShardCount: 1, RegistrationShardCount: 1); + resolvedPath, mod, BaseShardCount: 2, ModShardCount: 1, RegistrationShardCount: 1, + Region: GuestRegion.NtscJ); var first = TranslatedBuildShardEmitter.Emit(options); + Assert.Contains("set(MKW_TRANSLATED_GUEST_REGION 2)", File.ReadAllText(first.CMakeManifestPath)); Assert.Equal(1, first.SharedBaseFunctionCount); Assert.Equal(1, first.ProfileSensitiveTargetCount); Assert.Equal(1, first.ProfileSensitiveCallerCount); diff --git a/translator/tests/Translator.Tests/Translator.Tests.csproj b/translator/tests/Translator.Tests/Translator.Tests.csproj index dccdafe..ea97250 100644 --- a/translator/tests/Translator.Tests/Translator.Tests.csproj +++ b/translator/tests/Translator.Tests/Translator.Tests.csproj @@ -30,7 +30,7 @@ - +