mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Finish labelling most functions in audio.c + camera.c (#431)
* name some camera things * yea there * lots of audio * match a func * better * x * egg * all but one func in audio.c nopw * audio looks good for now * Update audio.c * correct taj thing * fix warnings * Update audiosfx.h * Update README.md
This commit is contained in:
@@ -1,181 +1,181 @@
|
||||
# Diddy Kong Racing
|
||||
|
||||
This repo contains a work-in-progress decompilation of Diddy Kong Racing for the N64. You will need to have a original copy of the ROM to extract the game's assets.
|
||||
|
||||
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
|
||||
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of October 31, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 63.02%
|
||||
|
||||
    Documentation progress: 34.35%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
|
||||
## Dependencies
|
||||
|
||||
* `libcapstone-dev`
|
||||
* `gcc`, Version 8.0 or higher
|
||||
* `make`, Version 4.2 or higher
|
||||
* `python3`
|
||||
* `wget`
|
||||
|
||||
`sudo apt install build-essential pkg-config git python3 wget libcapstone-dev`
|
||||
|
||||
### binutils
|
||||
|
||||
You are not required to install a binutils package, but it does speed up the initial setup if you do have it installed.
|
||||
|
||||
* Ubuntu/Debian (x86): `sudo apt install binutils-mips-linux-gnu`
|
||||
|
||||
## Setup / Building
|
||||
1. Install the dependencies
|
||||
2. Place the ROM file within the `baseroms` directory.
|
||||
**a.** The name of the ROM file does not matter, but it must end with one of these extensions: `.z64`, `.v64`, `.n64`, or `.rom`. It will be detected automatically from an md5 checksum.
|
||||
**b.** If you use a byte-swapped or little-endian ROM, then it will automatically be converted to a big-endian (.z64) ROM file.
|
||||
3. Run `make` in the main directory.
|
||||
**a.** Use the `-jN` argument to use `N` number of threads to speed up building. For example, if you have a system with 4 cores / 4 threads, you should do `make -j4`.
|
||||
|
||||
### Building on MacOS
|
||||
1. `brew install gcc capstone coreutils`
|
||||
2. Put GNU-coreutils `bin` on path using by adding `PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"` to your shell rcfile (or update any GNU-util usage in `Makefile` and `tools/Makefile` to use the `g`-prefixed versions).
|
||||
3. Download latest `macos` build of `ido-static-recomp` from [here](https://github.com/decompals/ido-static-recomp/releases/), and add `cp` the binaries to `tools/ido-static-recomp/build5.3/out`.
|
||||
4. Take a look at [this gist](https://gist.github.com/tonyspumoni/fc1b4c9217c5f2821a9fc4cbf69b51ef) to see what other updates are needed to get the build to pass, and apply them if they are relevant to your environment. You may need to add specific `-I` and `-L` flags to get things like `openssl` and `gcc-12` includes/libs included.
|
||||
5. `make` from repository root should work now.
|
||||
|
||||
## Modding
|
||||
If you are modifying the code in the repo, then you should add `NON_MATCHING=1` to the make command.
|
||||
Example: `make NON_MATCHING=1 -j4`
|
||||
|
||||
The `NON_MATCHING` define will include the functions that don't exactly match one-to-one, but should be no different functionality-wise. If you do notice any bugs that occur in a `NON_MATCHING` build that are not in the vanilla game, then please file an issue describing the bug. It would be helpful if you can track down which function is causing the bug, but that is not required.
|
||||
|
||||
## Style Guide
|
||||
|
||||
The style guide for the project can be found here: https://docs.google.com/document/d/1euQf8nwynGcCZL1MfoMaLs-XRvx3ejjj8fIfykUZ-NQ
|
||||
|
||||
If you see variables/functions/structs/etc. that doesn't follow these rules, then file an issue and we'll try to fix them.
|
||||
|
||||
## Scripts
|
||||
|
||||
There are some useful scripts that should be kept in mind when working on this repo.
|
||||
|
||||
---
|
||||
|
||||
#### `./extract.sh <version>`
|
||||
|
||||
This script will extract all the assets from a DKR ROM and place them into `/assets/` folder according to the config file within the `/extract-ver/` folder. The version parameter should either be `us_1.0`, `us_1.1`, `eu_1.0`, `eu_1.1`, or `jp`.
|
||||
|
||||
Example: `./extract.sh us_1.0`
|
||||
|
||||
---
|
||||
|
||||
#### `./diff.sh <function_name>`
|
||||
|
||||
Compares the assembly output of a function from a built ROM to the base ROM. Useful for decompiling.
|
||||
|
||||
Example: `./diff.sh menu_init`
|
||||
|
||||
---
|
||||
|
||||
#### `./rename.sh <old_name> <new_name>`
|
||||
|
||||
This script will rename an existing symbol, file name, and/or folder name within the repo with a new one.
|
||||
|
||||
Example: `./rename.sh D_A4001000 SP_IMEM`
|
||||
|
||||
---
|
||||
|
||||
#### `./get_symbol.sh <ram_address>|<symbol>`
|
||||
|
||||
Given either a RAM address or symbol, returns its `(symbol, address)` pairing as defined in `/build/us_1.0/dkr.map`. If specified, the RAM address must be in base 16. The `0x` prefix is not required.
|
||||
|
||||
Example:
|
||||
```
|
||||
./get_symbol.sh 0xA4001000
|
||||
0xA4001000 = SP_IMEM
|
||||
|
||||
./get_symbol.sh osCicId
|
||||
0x80000310 = osCicId
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `./score.sh`
|
||||
|
||||
Prints out the current completion percentage of the decomp. You do need to have an `OK` build for this to work properly.
|
||||
|
||||
The scoring is split into 2 sections:
|
||||
1. Assembly to C Decompilation (Adventure One)
|
||||
2. Cleanup and Documentation (Adventure Two)
|
||||
|
||||
Show scores for Adventure One & Adventure Two: `./score.sh`
|
||||
Show score for Adventure One only: `./score.sh -a 1`
|
||||
Show score for Adventure Two only: `./score.sh -a 2`
|
||||
Show top 10 files remaining: `./score.sh -t 10`
|
||||
|
||||
To make progress in Adventure 2, a function must be properly named (must not start with `func_`) and also include a doxygen comment above it.
|
||||
|
||||
For example:
|
||||
```c
|
||||
/**
|
||||
* Returns 1 if Drumstick is avaliable to use, or 0 if not.
|
||||
*/
|
||||
s32 is_drumstick_unlocked(void) {
|
||||
return gActiveMagicCodes & 2;
|
||||
}
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of October 31st, 2023, this is our current score:
|
||||
```
|
||||
========================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
--------------------------- 63.02% Complete ----------------------------
|
||||
# Decompiled functions: 1660
|
||||
# GLOBAL_ASM remaining: 185
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 52
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 30/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
------------------------------------------------------------------------
|
||||
We are participating in the Trophy Race of Sherbet Island. (Round Three)
|
||||
========================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
--------------------------- 34.35% Complete ----------------------------
|
||||
# Documented functions: 761
|
||||
# Undocumented remaining: 807
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 1/4, Wizpig Amulets: 1/4
|
||||
------------------------------------------------------------------------
|
||||
We are battling in Icicle Pyramid. (2 opponents remain)
|
||||
========================================================================
|
||||
```
|
||||
<!-- README_SCORE_END -->
|
||||
|
||||
---
|
||||
|
||||
## TODO list
|
||||
|
||||
### Major
|
||||
|
||||
What should be focused on.
|
||||
|
||||
* Decompiling the non-matching asm files into matching C functions.
|
||||
* Documenting variables & functions
|
||||
|
||||
### Minor
|
||||
|
||||
What can be done, but not essential.
|
||||
|
||||
* Figuring out the formats for the assets in the /assets/ folder.
|
||||
* Creating tools to modify assets
|
||||
|
||||
### Future
|
||||
|
||||
These features won't be complete anytime soon.
|
||||
|
||||
* Add support for the other 4 versions.
|
||||
# Diddy Kong Racing
|
||||
|
||||
This repo contains a work-in-progress decompilation of Diddy Kong Racing for the N64. You will need to have a original copy of the ROM to extract the game's assets.
|
||||
|
||||
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
|
||||
|
||||
<!-- README_SCORE_SUMMARY_BEGIN -->
|
||||
As of October 31, 2023, this is our current score:
|
||||
|
||||
    Decomp progress: 63.04%
|
||||
|
||||
    Documentation progress: 35.21%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
|
||||
## Dependencies
|
||||
|
||||
* `libcapstone-dev`
|
||||
* `gcc`, Version 8.0 or higher
|
||||
* `make`, Version 4.2 or higher
|
||||
* `python3`
|
||||
* `wget`
|
||||
|
||||
`sudo apt install build-essential pkg-config git python3 wget libcapstone-dev`
|
||||
|
||||
### binutils
|
||||
|
||||
You are not required to install a binutils package, but it does speed up the initial setup if you do have it installed.
|
||||
|
||||
* Ubuntu/Debian (x86): `sudo apt install binutils-mips-linux-gnu`
|
||||
|
||||
## Setup / Building
|
||||
1. Install the dependencies
|
||||
2. Place the ROM file within the `baseroms` directory.
|
||||
**a.** The name of the ROM file does not matter, but it must end with one of these extensions: `.z64`, `.v64`, `.n64`, or `.rom`. It will be detected automatically from an md5 checksum.
|
||||
**b.** If you use a byte-swapped or little-endian ROM, then it will automatically be converted to a big-endian (.z64) ROM file.
|
||||
3. Run `make` in the main directory.
|
||||
**a.** Use the `-jN` argument to use `N` number of threads to speed up building. For example, if you have a system with 4 cores / 4 threads, you should do `make -j4`.
|
||||
|
||||
### Building on MacOS
|
||||
1. `brew install gcc capstone coreutils`
|
||||
2. Put GNU-coreutils `bin` on path using by adding `PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"` to your shell rcfile (or update any GNU-util usage in `Makefile` and `tools/Makefile` to use the `g`-prefixed versions).
|
||||
3. Download latest `macos` build of `ido-static-recomp` from [here](https://github.com/decompals/ido-static-recomp/releases/), and add `cp` the binaries to `tools/ido-static-recomp/build5.3/out`.
|
||||
4. Take a look at [this gist](https://gist.github.com/tonyspumoni/fc1b4c9217c5f2821a9fc4cbf69b51ef) to see what other updates are needed to get the build to pass, and apply them if they are relevant to your environment. You may need to add specific `-I` and `-L` flags to get things like `openssl` and `gcc-12` includes/libs included.
|
||||
5. `make` from repository root should work now.
|
||||
|
||||
## Modding
|
||||
If you are modifying the code in the repo, then you should add `NON_MATCHING=1` to the make command.
|
||||
Example: `make NON_MATCHING=1 -j4`
|
||||
|
||||
The `NON_MATCHING` define will include the functions that don't exactly match one-to-one, but should be no different functionality-wise. If you do notice any bugs that occur in a `NON_MATCHING` build that are not in the vanilla game, then please file an issue describing the bug. It would be helpful if you can track down which function is causing the bug, but that is not required.
|
||||
|
||||
## Style Guide
|
||||
|
||||
The style guide for the project can be found here: https://docs.google.com/document/d/1euQf8nwynGcCZL1MfoMaLs-XRvx3ejjj8fIfykUZ-NQ
|
||||
|
||||
If you see variables/functions/structs/etc. that doesn't follow these rules, then file an issue and we'll try to fix them.
|
||||
|
||||
## Scripts
|
||||
|
||||
There are some useful scripts that should be kept in mind when working on this repo.
|
||||
|
||||
---
|
||||
|
||||
#### `./extract.sh <version>`
|
||||
|
||||
This script will extract all the assets from a DKR ROM and place them into `/assets/` folder according to the config file within the `/extract-ver/` folder. The version parameter should either be `us_1.0`, `us_1.1`, `eu_1.0`, `eu_1.1`, or `jp`.
|
||||
|
||||
Example: `./extract.sh us_1.0`
|
||||
|
||||
---
|
||||
|
||||
#### `./diff.sh <function_name>`
|
||||
|
||||
Compares the assembly output of a function from a built ROM to the base ROM. Useful for decompiling.
|
||||
|
||||
Example: `./diff.sh menu_init`
|
||||
|
||||
---
|
||||
|
||||
#### `./rename.sh <old_name> <new_name>`
|
||||
|
||||
This script will rename an existing symbol, file name, and/or folder name within the repo with a new one.
|
||||
|
||||
Example: `./rename.sh D_A4001000 SP_IMEM`
|
||||
|
||||
---
|
||||
|
||||
#### `./get_symbol.sh <ram_address>|<symbol>`
|
||||
|
||||
Given either a RAM address or symbol, returns its `(symbol, address)` pairing as defined in `/build/us_1.0/dkr.map`. If specified, the RAM address must be in base 16. The `0x` prefix is not required.
|
||||
|
||||
Example:
|
||||
```
|
||||
./get_symbol.sh 0xA4001000
|
||||
0xA4001000 = SP_IMEM
|
||||
|
||||
./get_symbol.sh osCicId
|
||||
0x80000310 = osCicId
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `./score.sh`
|
||||
|
||||
Prints out the current completion percentage of the decomp. You do need to have an `OK` build for this to work properly.
|
||||
|
||||
The scoring is split into 2 sections:
|
||||
1. Assembly to C Decompilation (Adventure One)
|
||||
2. Cleanup and Documentation (Adventure Two)
|
||||
|
||||
Show scores for Adventure One & Adventure Two: `./score.sh`
|
||||
Show score for Adventure One only: `./score.sh -a 1`
|
||||
Show score for Adventure Two only: `./score.sh -a 2`
|
||||
Show top 10 files remaining: `./score.sh -t 10`
|
||||
|
||||
To make progress in Adventure 2, a function must be properly named (must not start with `func_`) and also include a doxygen comment above it.
|
||||
|
||||
For example:
|
||||
```c
|
||||
/**
|
||||
* Returns 1 if Drumstick is avaliable to use, or 0 if not.
|
||||
*/
|
||||
s32 is_drumstick_unlocked(void) {
|
||||
return gActiveMagicCodes & 2;
|
||||
}
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of November 2nd, 2023, this is our current score:
|
||||
```
|
||||
========================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
--------------------------- 63.04% Complete ----------------------------
|
||||
# Decompiled functions: 1661
|
||||
# GLOBAL_ASM remaining: 184
|
||||
# NON_MATCHING functions: 14
|
||||
# NON_EQUIVALENT WIP functions: 52
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 30/47, Keys: 3/4, Trophies: 2/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
------------------------------------------------------------------------
|
||||
We are participating in the Trophy Race of Sherbet Island. (Round Three)
|
||||
========================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
--------------------------- 35.21% Complete ----------------------------
|
||||
# Documented functions: 825
|
||||
# Undocumented remaining: 743
|
||||
----------------------------- Game Status ------------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 2/4, Wizpig Amulets: 1/4
|
||||
------------------------------------------------------------------------
|
||||
We are collecting silver coins in Everfrost Peak. (2/8 silver coins)
|
||||
========================================================================
|
||||
```
|
||||
<!-- README_SCORE_END -->
|
||||
|
||||
---
|
||||
|
||||
## TODO list
|
||||
|
||||
### Major
|
||||
|
||||
What should be focused on.
|
||||
|
||||
* Decompiling the non-matching asm files into matching C functions.
|
||||
* Documenting variables & functions
|
||||
|
||||
### Minor
|
||||
|
||||
What can be done, but not essential.
|
||||
|
||||
* Figuring out the formats for the assets in the /assets/ folder.
|
||||
* Creating tools to modify assets
|
||||
|
||||
### Future
|
||||
|
||||
These features won't be complete anytime soon.
|
||||
|
||||
* Add support for the other 4 versions.
|
||||
|
||||
@@ -4,33 +4,33 @@ glabel func_80008040
|
||||
/* 008C48 80008048 3C048012 */ lui $a0, %hi(D_80119C40) # $a0, 0x8012
|
||||
/* 008C4C 8000804C 24849C40 */ addiu $a0, %lo(D_80119C40) # addiu $a0, $a0, -0x63c0
|
||||
/* 008C50 80008050 00002825 */ move $a1, $zero
|
||||
/* 008C54 80008054 0C00084A */ jal func_80002128
|
||||
/* 008C54 80008054 0C00084A */ jal sound_table_properties
|
||||
/* 008C58 80008058 00003025 */ move $a2, $zero
|
||||
/* 008C5C 8000805C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff
|
||||
/* 008C60 80008060 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
|
||||
/* 008C64 80008064 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 008C68 80008068 240405A0 */ li $a0, 1440
|
||||
/* 008C6C 8000806C 3C068012 */ lui $a2, %hi(D_80119C48) # $a2, 0x8012
|
||||
/* 008C70 80008070 24C69C48 */ addiu $a2, %lo(D_80119C48) # addiu $a2, $a2, -0x63b8
|
||||
/* 008C6C 8000806C 3C068012 */ lui $a2, %hi(gSoundMaskHeap) # $a2, 0x8012
|
||||
/* 008C70 80008070 24C69C48 */ addiu $a2, %lo(gSoundMaskHeap) # addiu $a2, $a2, -0x63b8
|
||||
/* 008C74 80008074 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff
|
||||
/* 008C78 80008078 ACC20000 */ sw $v0, ($a2)
|
||||
/* 008C7C 8000807C 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
|
||||
/* 008C80 80008080 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 008C84 80008084 240400A0 */ li $a0, 160
|
||||
/* 008C88 80008088 3C018012 */ lui $at, %hi(D_80119C50) # $at, 0x8012
|
||||
/* 008C88 80008088 3C018012 */ lui $at, %hi(gSoundMaskHeapFree) # $at, 0x8012
|
||||
/* 008C8C 8000808C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff
|
||||
/* 008C90 80008090 AC229C50 */ sw $v0, %lo(D_80119C50)($at)
|
||||
/* 008C90 80008090 AC229C50 */ sw $v0, %lo(gSoundMaskHeapFree)($at)
|
||||
/* 008C94 80008094 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff
|
||||
/* 008C98 80008098 0C01C327 */ jal allocate_from_main_pool_safe
|
||||
/* 008C9C 8000809C 240400A0 */ li $a0, 160
|
||||
/* 008CA0 800080A0 3C018012 */ lui $at, %hi(D_80119C44) # $at, 0x8012
|
||||
/* 008CA4 800080A4 AC229C44 */ sw $v0, %lo(D_80119C44)($at)
|
||||
/* 008CA8 800080A8 3C068012 */ lui $a2, %hi(D_80119C48) # $a2, 0x8012
|
||||
/* 008CAC 800080AC 3C01800E */ lui $at, %hi(D_800DC6E0) # $at, 0x800e
|
||||
/* 008CA0 800080A0 3C018012 */ lui $at, %hi(gSoundMaskHeapUsed) # $at, 0x8012
|
||||
/* 008CA4 800080A4 AC229C44 */ sw $v0, %lo(gSoundMaskHeapUsed)($at)
|
||||
/* 008CA8 800080A8 3C068012 */ lui $a2, %hi(gSoundMaskHeap) # $a2, 0x8012
|
||||
/* 008CAC 800080AC 3C01800E */ lui $at, %hi(gUsedMasks) # $at, 0x800e
|
||||
/* 008CB0 800080B0 3C028012 */ lui $v0, %hi(D_8011A6D8) # $v0, 0x8012
|
||||
/* 008CB4 800080B4 3C038012 */ lui $v1, %hi(D_80119C58) # $v1, 0x8012
|
||||
/* 008CB8 800080B8 24C69C48 */ addiu $a2, %lo(D_80119C48) # addiu $a2, $a2, -0x63b8
|
||||
/* 008CBC 800080BC A420C6E0 */ sh $zero, %lo(D_800DC6E0)($at)
|
||||
/* 008CB8 800080B8 24C69C48 */ addiu $a2, %lo(gSoundMaskHeap) # addiu $a2, $a2, -0x63b8
|
||||
/* 008CBC 800080BC A420C6E0 */ sh $zero, %lo(gUsedMasks)($at)
|
||||
/* 008CC0 800080C0 24639C58 */ addiu $v1, %lo(D_80119C58) # addiu $v1, $v1, -0x63a8
|
||||
/* 008CC4 800080C4 2442A6D8 */ addiu $v0, %lo(D_8011A6D8) # addiu $v0, $v0, -0x5928
|
||||
.L800080C8:
|
||||
|
||||
@@ -5,11 +5,11 @@ glabel D_800E4F10
|
||||
.text
|
||||
glabel func_80008174
|
||||
/* 008D74 80008174 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 008D78 80008178 3C038012 */ lui $v1, %hi(D_80119C4C) # $v1, 0x8012
|
||||
/* 008D7C 8000817C 3C048012 */ lui $a0, %hi(D_80119C48) # $a0, 0x8012
|
||||
/* 008D78 80008178 3C038012 */ lui $v1, %hi(gFreeMasks) # $v1, 0x8012
|
||||
/* 008D7C 8000817C 3C048012 */ lui $a0, %hi(gSoundMaskHeap) # $a0, 0x8012
|
||||
/* 008D80 80008180 300200FF */ andi $v0, $zero, 0xff
|
||||
/* 008D84 80008184 24639C4C */ addiu $v1, %lo(D_80119C4C) # addiu $v1, $v1, -0x63b4
|
||||
/* 008D88 80008188 8C849C48 */ lw $a0, %lo(D_80119C48)($a0)
|
||||
/* 008D84 80008184 24639C4C */ addiu $v1, %lo(gFreeMasks) # addiu $v1, $v1, -0x63b4
|
||||
/* 008D88 80008188 8C849C48 */ lw $a0, %lo(gSoundMaskHeap)($a0)
|
||||
/* 008D8C 8000818C 28410028 */ slti $at, $v0, 0x28
|
||||
/* 008D90 80008190 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 008D94 80008194 AFB60038 */ sw $s6, 0x38($sp)
|
||||
@@ -23,8 +23,8 @@ glabel func_80008174
|
||||
/* 008DB4 800081B4 E7B4001C */ swc1 $f20, 0x1c($sp)
|
||||
/* 008DB8 800081B8 1020000E */ beqz $at, .L800081F4
|
||||
/* 008DBC 800081BC A0600000 */ sb $zero, ($v1)
|
||||
/* 008DC0 800081C0 3C058012 */ lui $a1, %hi(D_80119C50) # $a1, 0x8012
|
||||
/* 008DC4 800081C4 24A59C50 */ addiu $a1, %lo(D_80119C50) # addiu $a1, $a1, -0x63b0
|
||||
/* 008DC0 800081C0 3C058012 */ lui $a1, %hi(gSoundMaskHeapFree) # $a1, 0x8012
|
||||
/* 008DC4 800081C4 24A59C50 */ addiu $a1, %lo(gSoundMaskHeapFree) # addiu $a1, $a1, -0x63b0
|
||||
.L800081C8:
|
||||
/* 008DC8 800081C8 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 008DCC 800081CC 00027880 */ sll $t7, $v0, 2
|
||||
@@ -38,15 +38,15 @@ glabel func_80008174
|
||||
/* 008DEC 800081EC 1420FFF6 */ bnez $at, .L800081C8
|
||||
/* 008DF0 800081F0 A0690000 */ sb $t1, ($v1)
|
||||
.L800081F4:
|
||||
/* 008DF4 800081F4 3C14800E */ lui $s4, %hi(D_800DC6E0) # $s4, 0x800e
|
||||
/* 008DF8 800081F8 2694C6E0 */ addiu $s4, %lo(D_800DC6E0) # addiu $s4, $s4, -0x3920
|
||||
/* 008DF4 800081F4 3C14800E */ lui $s4, %hi(gUsedMasks) # $s4, 0x800e
|
||||
/* 008DF8 800081F8 2694C6E0 */ addiu $s4, %lo(gUsedMasks) # addiu $s4, $s4, -0x3920
|
||||
/* 008DFC 800081FC 968B0000 */ lhu $t3, ($s4)
|
||||
/* 008E00 80008200 244AFFFF */ addiu $t2, $v0, -1
|
||||
/* 008E04 80008204 A06A0000 */ sb $t2, ($v1)
|
||||
/* 008E08 80008208 19600014 */ blez $t3, .L8000825C
|
||||
/* 008E0C 8000820C 00008825 */ move $s1, $zero
|
||||
/* 008E10 80008210 3C128012 */ lui $s2, %hi(D_80119C44) # $s2, 0x8012
|
||||
/* 008E14 80008214 26529C44 */ addiu $s2, %lo(D_80119C44) # addiu $s2, $s2, -0x63bc
|
||||
/* 008E10 80008210 3C128012 */ lui $s2, %hi(gSoundMaskHeapUsed) # $s2, 0x8012
|
||||
/* 008E14 80008214 26529C44 */ addiu $s2, %lo(gSoundMaskHeapUsed) # addiu $s2, $s2, -0x63bc
|
||||
/* 008E18 80008218 00008025 */ move $s0, $zero
|
||||
.L8000821C:
|
||||
/* 008E1C 8000821C 8E4C0000 */ lw $t4, ($s2)
|
||||
@@ -97,7 +97,7 @@ glabel func_80008174
|
||||
.L800082C4:
|
||||
/* 008EC4 800082C4 16C20003 */ bne $s6, $v0, .L800082D4
|
||||
/* 008EC8 800082C8 00000000 */ nop
|
||||
/* 008ECC 800082CC 0C000638 */ jal func_800018E0
|
||||
/* 008ECC 800082CC 0C000638 */ jal music_jingle_stop
|
||||
/* 008ED0 800082D0 00000000 */ nop
|
||||
.L800082D4:
|
||||
/* 008ED4 800082D4 AE200178 */ sw $zero, 0x178($s1)
|
||||
|
||||
@@ -32,16 +32,16 @@ glabel func_80008438
|
||||
/* 00909C 8000849C 00402025 */ move $a0, $v0
|
||||
/* 0090A0 800084A0 0C01A75F */ jal get_cutscene_camera_segment
|
||||
/* 0090A4 800084A4 AFA200B0 */ sw $v0, 0xb0($sp)
|
||||
/* 0090A8 800084A8 3C15800E */ lui $s5, %hi(D_800DC6E0) # $s5, 0x800e
|
||||
/* 0090AC 800084AC 26B5C6E0 */ addiu $s5, %lo(D_800DC6E0) # addiu $s5, $s5, -0x3920
|
||||
/* 0090A8 800084A8 3C15800E */ lui $s5, %hi(gUsedMasks) # $s5, 0x800e
|
||||
/* 0090AC 800084AC 26B5C6E0 */ addiu $s5, %lo(gUsedMasks) # addiu $s5, $s5, -0x3920
|
||||
/* 0090B0 800084B0 96AE0000 */ lhu $t6, ($s5)
|
||||
/* 0090B4 800084B4 AFA200AC */ sw $v0, 0xac($sp)
|
||||
/* 0090B8 800084B8 19C00187 */ blez $t6, .L80008AD8
|
||||
/* 0090BC 800084BC AFA00260 */ sw $zero, 0x260($sp)
|
||||
/* 0090C0 800084C0 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0090C4 800084C4 3C168012 */ lui $s6, %hi(D_80119C44) # $s6, 0x8012
|
||||
/* 0090C4 800084C4 3C168012 */ lui $s6, %hi(gSoundMaskHeapUsed) # $s6, 0x8012
|
||||
/* 0090C8 800084C8 4481D000 */ mtc1 $at, $f26
|
||||
/* 0090CC 800084CC 26D69C44 */ addiu $s6, %lo(D_80119C44) # addiu $s6, $s6, -0x63bc
|
||||
/* 0090CC 800084CC 26D69C44 */ addiu $s6, %lo(gSoundMaskHeapUsed) # addiu $s6, $s6, -0x63bc
|
||||
/* 0090D0 800084D0 0000A025 */ move $s4, $zero
|
||||
/* 0090D4 800084D4 27B700A8 */ addiu $s7, $sp, 0xa8
|
||||
/* 0090D8 800084D8 24120001 */ li $s2, 1
|
||||
@@ -129,11 +129,11 @@ glabel func_80008438
|
||||
/* 009210 80008610 9226000E */ lbu $a2, 0xe($s1)
|
||||
/* 009214 80008614 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 009218 80008618 0006CA00 */ sll $t9, $a2, 8
|
||||
/* 00921C 8000861C 0C00127E */ jal func_800049F8
|
||||
/* 00921C 8000861C 0C00127E */ jal sound_event_update
|
||||
/* 009220 80008620 03203025 */ move $a2, $t9
|
||||
/* 009224 80008624 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 009228 80008628 8EE60000 */ lw $a2, ($s7)
|
||||
/* 00922C 8000862C 0C00127E */ jal func_800049F8
|
||||
/* 00922C 8000862C 0C00127E */ jal sound_event_update
|
||||
/* 009230 80008630 24050010 */ li $a1, 16
|
||||
/* 009234 80008634 8FA800AC */ lw $t0, 0xac($sp)
|
||||
/* 009238 80008638 4600A306 */ mov.s $f12, $f20
|
||||
@@ -147,7 +147,7 @@ glabel func_80008438
|
||||
/* 009258 80008658 24060040 */ li $a2, 64
|
||||
.L8000865C:
|
||||
/* 00925C 8000865C 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 009260 80008660 0C00127E */ jal func_800049F8
|
||||
/* 009260 80008660 0C00127E */ jal sound_event_update
|
||||
/* 009264 80008664 24050004 */ li $a1, 4
|
||||
/* 009268 80008668 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 00926C 8000866C 8E250000 */ lw $a1, ($s1)
|
||||
@@ -385,11 +385,11 @@ glabel func_80008438
|
||||
/* 0095C8 800089C8 24050008 */ li $a1, 8
|
||||
/* 0095CC 800089CC E7A40098 */ swc1 $f4, 0x98($sp)
|
||||
/* 0095D0 800089D0 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 0095D4 800089D4 0C00127E */ jal func_800049F8
|
||||
/* 0095D4 800089D4 0C00127E */ jal sound_event_update
|
||||
/* 0095D8 800089D8 00000000 */ nop
|
||||
/* 0095DC 800089DC 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 0095E0 800089E0 8FA60098 */ lw $a2, 0x98($sp)
|
||||
/* 0095E4 800089E4 0C00127E */ jal func_800049F8
|
||||
/* 0095E4 800089E4 0C00127E */ jal sound_event_update
|
||||
/* 0095E8 800089E8 24050010 */ li $a1, 16
|
||||
/* 0095EC 800089EC 8FAB00B0 */ lw $t3, 0xb0($sp)
|
||||
/* 0095F0 800089F0 24010001 */ li $at, 1
|
||||
@@ -399,7 +399,7 @@ glabel func_80008438
|
||||
.L80008A00:
|
||||
/* 009600 80008A00 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 009604 80008A04 8FA60250 */ lw $a2, 0x250($sp)
|
||||
/* 009608 80008A08 0C00127E */ jal func_800049F8
|
||||
/* 009608 80008A08 0C00127E */ jal sound_event_update
|
||||
/* 00960C 80008A0C 24050004 */ li $a1, 4
|
||||
/* 009610 80008A10 8E240018 */ lw $a0, 0x18($s1)
|
||||
/* 009614 80008A14 92250021 */ lbu $a1, 0x21($s1)
|
||||
@@ -741,12 +741,12 @@ glabel func_80008438
|
||||
/* 009AF0 80008EF0 8FA60254 */ lw $a2, 0x254($sp)
|
||||
/* 009AF4 80008EF4 24050008 */ li $a1, 8
|
||||
/* 009AF8 80008EF8 00064A00 */ sll $t1, $a2, 8
|
||||
/* 009AFC 80008EFC 0C00127E */ jal func_800049F8
|
||||
/* 009AFC 80008EFC 0C00127E */ jal sound_event_update
|
||||
/* 009B00 80008F00 01203025 */ move $a2, $t1
|
||||
/* 009B04 80008F04 8FAA0088 */ lw $t2, 0x88($sp)
|
||||
/* 009B08 80008F08 8FA60090 */ lw $a2, 0x90($sp)
|
||||
/* 009B0C 80008F0C 8D440178 */ lw $a0, 0x178($t2)
|
||||
/* 009B10 80008F10 0C00127E */ jal func_800049F8
|
||||
/* 009B10 80008F10 0C00127E */ jal sound_event_update
|
||||
/* 009B14 80008F14 24050010 */ li $a1, 16
|
||||
/* 009B18 80008F18 8FAB00B0 */ lw $t3, 0xb0($sp)
|
||||
/* 009B1C 80008F1C 24010001 */ li $at, 1
|
||||
@@ -757,7 +757,7 @@ glabel func_80008438
|
||||
/* 009B2C 80008F2C 8FAE0088 */ lw $t6, 0x88($sp)
|
||||
/* 009B30 80008F30 8FA60250 */ lw $a2, 0x250($sp)
|
||||
/* 009B34 80008F34 8DC40178 */ lw $a0, 0x178($t6)
|
||||
/* 009B38 80008F38 0C00127E */ jal func_800049F8
|
||||
/* 009B38 80008F38 0C00127E */ jal sound_event_update
|
||||
/* 009B3C 80008F3C 24050004 */ li $a1, 4
|
||||
/* 009B40 80008F40 8FAD0088 */ lw $t5, 0x88($sp)
|
||||
/* 009B44 80008F44 00000000 */ nop
|
||||
@@ -812,25 +812,25 @@ glabel func_80008438
|
||||
/* 009BF8 80008FF8 00000000 */ nop
|
||||
/* 009BFC 80008FFC 15A00011 */ bnez $t5, .L80009044
|
||||
/* 009C00 80009000 00000000 */ nop
|
||||
/* 009C04 80009004 0C000660 */ jal func_80001980
|
||||
/* 009C04 80009004 0C000660 */ jal music_jingle_current
|
||||
/* 009C08 80009008 00000000 */ nop
|
||||
/* 009C0C 8000900C 8FAF0244 */ lw $t7, 0x244($sp)
|
||||
/* 009C10 80009010 93A40247 */ lbu $a0, 0x247($sp)
|
||||
/* 009C14 80009014 11E20003 */ beq $t7, $v0, .L80009024
|
||||
/* 009C18 80009018 00000000 */ nop
|
||||
/* 009C1C 8000901C 0C0005E1 */ jal func_80001784
|
||||
/* 009C1C 8000901C 0C0005E1 */ jal music_jingle_play_safe
|
||||
/* 009C20 80009020 00000000 */ nop
|
||||
.L80009024:
|
||||
/* 009C24 80009024 93A4024F */ lbu $a0, 0x24f($sp)
|
||||
/* 009C28 80009028 0C0006C3 */ jal sfxSetRelativeVolume
|
||||
/* 009C28 80009028 0C0006C3 */ jal music_jingle_volume_set
|
||||
/* 009C2C 8000902C 00000000 */ nop
|
||||
/* 009C30 80009030 93A4024B */ lbu $a0, 0x24b($sp)
|
||||
/* 009C34 80009034 0C0006D6 */ jal sfxSetPan
|
||||
/* 009C34 80009034 0C0006D6 */ jal music_jingle_pan_set
|
||||
/* 009C38 80009038 00000000 */ nop
|
||||
/* 009C3C 8000903C 10000004 */ b .L80009050
|
||||
/* 009C40 80009040 8FA5026C */ lw $a1, 0x26c($sp)
|
||||
.L80009044:
|
||||
/* 009C44 80009044 0C000638 */ jal func_800018E0
|
||||
/* 009C44 80009044 0C000638 */ jal music_jingle_stop
|
||||
/* 009C48 80009048 00000000 */ nop
|
||||
/* 009C4C 8000904C 8FA5026C */ lw $a1, 0x26c($sp)
|
||||
.L80009050:
|
||||
|
||||
@@ -110,7 +110,7 @@ glabel func_80009B7C
|
||||
/* 00A910 80009D10 24050100 */ li $a1, 256
|
||||
/* 00A914 80009D14 10800004 */ beqz $a0, .L80009D28
|
||||
/* 00A918 80009D18 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
/* 00A91C 80009D1C 0C00127E */ jal func_800049F8
|
||||
/* 00A91C 80009D1C 0C00127E */ jal sound_event_update
|
||||
/* 00A920 80009D20 02A03025 */ move $a2, $s5
|
||||
/* 00A924 80009D24 8FBF0064 */ lw $ra, 0x64($sp)
|
||||
.L80009D28:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -824,19 +824,19 @@ glabel L80003C8C
|
||||
/* 004C38 80004038 00408025 */ move $s0, $v0
|
||||
/* 004C3C 8000403C 86260034 */ lh $a2, 0x34($s1)
|
||||
/* 004C40 80004040 00402025 */ move $a0, $v0
|
||||
/* 004C44 80004044 0C00127E */ jal func_800049F8
|
||||
/* 004C44 80004044 0C00127E */ jal sound_event_update
|
||||
/* 004C48 80004048 24050008 */ li $a1, 8
|
||||
/* 004C4C 8000404C 9226003C */ lbu $a2, 0x3c($s1)
|
||||
/* 004C50 80004050 02002025 */ move $a0, $s0
|
||||
/* 004C54 80004054 0C00127E */ jal func_800049F8
|
||||
/* 004C54 80004054 0C00127E */ jal sound_event_update
|
||||
/* 004C58 80004058 24050004 */ li $a1, 4
|
||||
/* 004C5C 8000405C 9226003D */ lbu $a2, 0x3d($s1)
|
||||
/* 004C60 80004060 02002025 */ move $a0, $s0
|
||||
/* 004C64 80004064 0C00127E */ jal func_800049F8
|
||||
/* 004C64 80004064 0C00127E */ jal sound_event_update
|
||||
/* 004C68 80004068 24050100 */ li $a1, 256
|
||||
/* 004C6C 8000406C 8E26002C */ lw $a2, 0x2c($s1)
|
||||
/* 004C70 80004070 02002025 */ move $a0, $s0
|
||||
/* 004C74 80004074 0C00127E */ jal func_800049F8
|
||||
/* 004C74 80004074 0C00127E */ jal sound_event_update
|
||||
/* 004C78 80004078 24050010 */ li $a1, 16
|
||||
.L8000407C:
|
||||
/* 004C7C 8000407C 96A20000 */ lhu $v0, ($s5)
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
glabel func_800048D8
|
||||
/* 0054D8 800048D8 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 0054DC 800048DC AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0054E0 800048E0 309200FF */ andi $s2, $a0, 0xff
|
||||
/* 0054E4 800048E4 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0054E8 800048E8 AFA40050 */ sw $a0, 0x50($sp)
|
||||
/* 0054EC 800048EC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0054F0 800048F0 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0054F4 800048F4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0054F8 800048F8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0054FC 800048FC 0C03268C */ jal osSetIntMask
|
||||
/* 005500 80004900 24040001 */ li $a0, 1
|
||||
/* 005504 80004904 3C10800E */ lui $s0, %hi(D_800DC6B0) # $s0, 0x800e
|
||||
/* 005508 80004908 8E10C6B0 */ lw $s0, %lo(D_800DC6B0)($s0)
|
||||
/* 00550C 8000490C AFA2004C */ sw $v0, 0x4c($sp)
|
||||
/* 005510 80004910 12000016 */ beqz $s0, .L8000496C
|
||||
/* 005514 80004914 02408825 */ move $s1, $s2
|
||||
/* 005518 80004918 3C13800E */ lui $s3, %hi(gAlSndPlayerPtr) # $s3, 0x800e
|
||||
/* 00551C 8000491C 2673C6BC */ addiu $s3, %lo(gAlSndPlayerPtr) # addiu $s3, $s3, -0x3944
|
||||
/* 005520 80004920 27B4003C */ addiu $s4, $sp, 0x3c
|
||||
/* 005524 80004924 2412FFEF */ li $s2, -17
|
||||
/* 005528 80004928 240E0400 */ li $t6, 1024
|
||||
.L8000492C:
|
||||
/* 00552C 8000492C A7AE003C */ sh $t6, 0x3c($sp)
|
||||
/* 005530 80004930 AFB00040 */ sw $s0, 0x40($sp)
|
||||
/* 005534 80004934 9202003E */ lbu $v0, 0x3e($s0)
|
||||
/* 005538 80004938 02802825 */ move $a1, $s4
|
||||
/* 00553C 8000493C 00517824 */ and $t7, $v0, $s1
|
||||
/* 005540 80004940 162F0006 */ bne $s1, $t7, .L8000495C
|
||||
/* 005544 80004944 0052C024 */ and $t8, $v0, $s2
|
||||
/* 005548 80004948 A218003E */ sb $t8, 0x3e($s0)
|
||||
/* 00554C 8000494C 8E640000 */ lw $a0, ($s3)
|
||||
/* 005550 80004950 00003025 */ move $a2, $zero
|
||||
/* 005554 80004954 0C03246B */ jal alEvtqPostEvent
|
||||
/* 005558 80004958 24840014 */ addiu $a0, $a0, 0x14
|
||||
.L8000495C:
|
||||
/* 00555C 8000495C 8E100000 */ lw $s0, ($s0)
|
||||
/* 005560 80004960 00000000 */ nop
|
||||
/* 005564 80004964 1600FFF1 */ bnez $s0, .L8000492C
|
||||
/* 005568 80004968 240E0400 */ li $t6, 1024
|
||||
.L8000496C:
|
||||
/* 00556C 8000496C 8FA4004C */ lw $a0, 0x4c($sp)
|
||||
/* 005570 80004970 0C03268C */ jal osSetIntMask
|
||||
/* 005574 80004974 00000000 */ nop
|
||||
/* 005578 80004978 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 00557C 8000497C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 005580 80004980 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 005584 80004984 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 005588 80004988 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 00558C 8000498C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 005590 80004990 03E00008 */ jr $ra
|
||||
/* 005594 80004994 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
|
||||
@@ -45,7 +45,7 @@ glabel camera_init
|
||||
/* 066B34 80065F34 240500C8 */ li $a1, 200
|
||||
/* 066B38 80065F38 240600C8 */ li $a2, 200
|
||||
/* 066B3C 80065F3C 00003825 */ move $a3, $zero
|
||||
/* 066B40 80065F40 0C0198F7 */ jal func_800663DC
|
||||
/* 066B40 80065F40 0C0198F7 */ jal camera_reset
|
||||
/* 066B44 80065F44 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 066B48 80065F48 26100001 */ addiu $s0, $s0, 1
|
||||
/* 066B4C 80065F4C 1612FFF6 */ bne $s0, $s2, .L80065F28
|
||||
|
||||
@@ -125,7 +125,7 @@ glabel func_80066CDC
|
||||
/* 067AC4 80066EC4 000E7B00 */ sll $t7, $t6, 0xc
|
||||
/* 067AC8 80066EC8 030FC825 */ or $t9, $t8, $t7
|
||||
/* 067ACC 80066ECC AC590004 */ sw $t9, 4($v0)
|
||||
/* 067AD0 80066ED0 0C01A056 */ jal func_80068158
|
||||
/* 067AD0 80066ED0 0C01A056 */ jal viewport_rsp_set
|
||||
/* 067AD4 80066ED4 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 067AD8 80066ED8 8FA5006C */ lw $a1, 0x6c($sp)
|
||||
/* 067ADC 80066EDC 8FAE002C */ lw $t6, 0x2c($sp)
|
||||
@@ -886,7 +886,7 @@ glabel func_80066CDC
|
||||
.L800679F0:
|
||||
/* 0685F0 800679F0 8FA50054 */ lw $a1, 0x54($sp)
|
||||
/* 0685F4 800679F4 8FA60058 */ lw $a2, 0x58($sp)
|
||||
/* 0685F8 800679F8 0C01A056 */ jal func_80068158
|
||||
/* 0685F8 800679F8 0C01A056 */ jal viewport_rsp_set
|
||||
/* 0685FC 800679FC AFAB0010 */ sw $t3, 0x10($sp)
|
||||
/* 068600 80067A00 8FA5006C */ lw $a1, 0x6c($sp)
|
||||
/* 068604 80067A04 3C1F8012 */ lui $ra, %hi(gActiveCameraID) # $ra, 0x8012
|
||||
|
||||
@@ -138,7 +138,7 @@ glabel func_800A277C
|
||||
/* 0A3518 800A2918 24010004 */ li $at, 4
|
||||
/* 0A351C 800A291C 15E10042 */ bne $t7, $at, .L800A2A28
|
||||
/* 0A3520 800A2920 00000000 */ nop
|
||||
/* 0A3524 800A2924 0C00057E */ jal audio_get_chr_select_anim_frac
|
||||
/* 0A3524 800A2924 0C00057E */ jal music_animation_fraction
|
||||
/* 0A3528 800A2928 AFA900A8 */ sw $t1, 0xa8($sp)
|
||||
/* 0A352C 800A292C 8FB80098 */ lw $t8, 0x98($sp)
|
||||
/* 0A3530 800A2930 924C0000 */ lbu $t4, ($s2)
|
||||
@@ -652,7 +652,7 @@ glabel func_800A277C
|
||||
.L800A30BC:
|
||||
/* 0A3CBC 800A30BC 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012
|
||||
/* 0A3CC0 800A30C0 A6240000 */ sh $a0, ($s1)
|
||||
/* 0A3CC4 800A30C4 0C000741 */ jal play_sound_global
|
||||
/* 0A3CC4 800A30C4 0C000741 */ jal sound_play
|
||||
/* 0A3CC8 800A30C8 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40
|
||||
/* 0A3CCC 800A30CC 240E0001 */ li $t6, 1
|
||||
/* 0A3CD0 800A30D0 8FA900A0 */ lw $t1, 0xa0($sp)
|
||||
@@ -727,7 +727,7 @@ glabel func_800A277C
|
||||
/* 0A3DD4 800A31D4 11200004 */ beqz $t1, .L800A31E8
|
||||
/* 0A3DD8 800A31D8 24040144 */ li $a0, 324
|
||||
/* 0A3DDC 800A31DC 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012
|
||||
/* 0A3DE0 800A31E0 0C000741 */ jal play_sound_global
|
||||
/* 0A3DE0 800A31E0 0C000741 */ jal sound_play
|
||||
/* 0A3DE4 800A31E4 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40
|
||||
.L800A31E8:
|
||||
/* 0A3DE8 800A31E8 0C006CA2 */ jal func_8001B288
|
||||
@@ -798,7 +798,7 @@ glabel func_800A277C
|
||||
.L800A32E8:
|
||||
/* 0A3EE8 800A32E8 3C058012 */ lui $a1, %hi(gHUDVoiceSoundMask) # $a1, 0x8012
|
||||
/* 0A3EEC 800A32EC A6240000 */ sh $a0, ($s1)
|
||||
/* 0A3EF0 800A32F0 0C000741 */ jal play_sound_global
|
||||
/* 0A3EF0 800A32F0 0C000741 */ jal sound_play
|
||||
/* 0A3EF4 800A32F4 24A56D40 */ addiu $a1, %lo(gHUDVoiceSoundMask) # addiu $a1, $a1, 0x6d40
|
||||
/* 0A3EF8 800A32F8 24040078 */ li $a0, 120
|
||||
/* 0A3EFC 800A32FC 0C01BE53 */ jal get_random_number_from_range
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@ glabel func_8008F618
|
||||
/* 090254 8008F654 0C019A25 */ jal camDisableUserView
|
||||
/* 090258 8008F658 AFA00058 */ sw $zero, 0x58($sp)
|
||||
/* 09025C 8008F65C 02C02025 */ move $a0, $s6
|
||||
/* 090260 8008F660 0C01988C */ jal func_80066230
|
||||
/* 090260 8008F660 0C01988C */ jal camera_init_tracks_menu
|
||||
/* 090264 8008F664 02002825 */ move $a1, $s0
|
||||
/* 090268 8008F668 02C02025 */ move $a0, $s6
|
||||
/* 09026C 8008F66C 0C019FCB */ jal set_ortho_matrix_view
|
||||
|
||||
@@ -69,7 +69,7 @@ glabel func_80092188
|
||||
/* 092E74 80092274 29C10007 */ slti $at, $t6, 7
|
||||
/* 092E78 80092278 14200006 */ bnez $at, .L80092294
|
||||
/* 092E7C 8009227C 00000000 */ nop
|
||||
/* 092E80 80092280 0C000741 */ jal play_sound_global
|
||||
/* 092E80 80092280 0C000741 */ jal sound_play
|
||||
/* 092E84 80092284 00002825 */ move $a1, $zero
|
||||
/* 092E88 80092288 3C06800E */ lui $a2, %hi(gTrackNameVoiceDelay) # $a2, 0x800e
|
||||
/* 092E8C 8009228C 24C60980 */ addiu $a2, %lo(gTrackNameVoiceDelay) # addiu $a2, $a2, 0x980
|
||||
@@ -106,7 +106,7 @@ glabel func_80092188
|
||||
/* 092EFC 800922FC 0000C012 */ mflo $t8
|
||||
/* 092F00 80092300 03025021 */ addu $t2, $t8, $v0
|
||||
/* 092F04 80092304 AFAA0010 */ sw $t2, 0x10($sp)
|
||||
/* 092F08 80092308 0C019A50 */ jal resize_viewport
|
||||
/* 092F08 80092308 0C019A50 */ jal viewport_menu_set
|
||||
/* 092F0C 8009230C 00583023 */ subu $a2, $v0, $t8
|
||||
/* 092F10 80092310 8FA90048 */ lw $t1, 0x48($sp)
|
||||
/* 092F14 80092314 3C0141A0 */ li $at, 0x41A00000 # 20.000000
|
||||
@@ -168,7 +168,7 @@ glabel func_80092188
|
||||
/* 092FE8 800923E8 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 092FEC 800923EC 24050050 */ li $a1, 80
|
||||
/* 092FF0 800923F0 240700F0 */ li $a3, 240
|
||||
/* 092FF4 800923F4 0C019A50 */ jal resize_viewport
|
||||
/* 092FF4 800923F4 0C019A50 */ jal viewport_menu_set
|
||||
/* 092FF8 800923F8 00433023 */ subu $a2, $v0, $v1
|
||||
.L800923FC:
|
||||
/* 092FFC 800923FC 00002025 */ move $a0, $zero
|
||||
@@ -401,7 +401,7 @@ glabel L8009251C
|
||||
/* 093328 80092728 AD9F0000 */ sw $ra, ($t4)
|
||||
.L8009272C:
|
||||
/* 09332C 8009272C 24040131 */ li $a0, 305
|
||||
/* 093330 80092730 0C000741 */ jal play_sound_global
|
||||
/* 093330 80092730 0C000741 */ jal sound_play
|
||||
/* 093334 80092734 00002825 */ move $a1, $zero
|
||||
/* 093338 80092738 100000F8 */ b .L80092B1C
|
||||
/* 09333C 8009273C 8FAF003C */ lw $t7, 0x3c($sp)
|
||||
@@ -477,13 +477,13 @@ glabel L80092740
|
||||
/* 09343C 8009283C 24040147 */ li $a0, 327
|
||||
/* 093440 80092840 3C058012 */ lui $a1, %hi(D_80126848) # $a1, 0x8012
|
||||
/* 093444 80092844 24A56848 */ addiu $a1, %lo(D_80126848) # addiu $a1, $a1, 0x6848
|
||||
/* 093448 80092848 0C000741 */ jal play_sound_global
|
||||
/* 093448 80092848 0C000741 */ jal sound_play
|
||||
/* 09344C 8009284C 24040141 */ li $a0, 321
|
||||
/* 093450 80092850 10000004 */ b .L80092864
|
||||
/* 093454 80092854 00000000 */ nop
|
||||
.L80092858:
|
||||
/* 093458 80092858 3C058012 */ lui $a1, %hi(D_80126848) # $a1, 0x8012
|
||||
/* 09345C 8009285C 0C000741 */ jal play_sound_global
|
||||
/* 09345C 8009285C 0C000741 */ jal sound_play
|
||||
/* 093460 80092860 24A56848 */ addiu $a1, %lo(D_80126848) # addiu $a1, $a1, 0x6848
|
||||
.L80092864:
|
||||
/* 093464 80092864 3C0E800E */ lui $t6, %hi(gTracksMenuTimeTrialHighlightIndex) # $t6, 0x800e
|
||||
@@ -681,14 +681,14 @@ glabel L8009287C
|
||||
/* 09371C 80092B1C 8FB90038 */ lw $t9, 0x38($sp)
|
||||
/* 093720 80092B20 11E00005 */ beqz $t7, .L80092B38
|
||||
/* 093724 80092B24 24040241 */ li $a0, 577
|
||||
/* 093728 80092B28 0C000741 */ jal play_sound_global
|
||||
/* 093728 80092B28 0C000741 */ jal sound_play
|
||||
/* 09372C 80092B2C 00002825 */ move $a1, $zero
|
||||
/* 093730 80092B30 1000000D */ b .L80092B68
|
||||
/* 093734 80092B34 00000000 */ nop
|
||||
.L80092B38:
|
||||
/* 093738 80092B38 13200005 */ beqz $t9, .L80092B50
|
||||
/* 09373C 80092B3C 240400EF */ li $a0, 239
|
||||
/* 093740 80092B40 0C000741 */ jal play_sound_global
|
||||
/* 093740 80092B40 0C000741 */ jal sound_play
|
||||
/* 093744 80092B44 00002825 */ move $a1, $zero
|
||||
/* 093748 80092B48 10000007 */ b .L80092B68
|
||||
/* 09374C 80092B4C 00000000 */ nop
|
||||
@@ -697,7 +697,7 @@ glabel L8009287C
|
||||
/* 093754 80092B54 240400EB */ li $a0, 235
|
||||
/* 093758 80092B58 13000003 */ beqz $t8, .L80092B68
|
||||
/* 09375C 80092B5C 00000000 */ nop
|
||||
/* 093760 80092B60 0C000741 */ jal play_sound_global
|
||||
/* 093760 80092B60 0C000741 */ jal sound_play
|
||||
/* 093764 80092B64 00002825 */ move $a1, $zero
|
||||
.L80092B68:
|
||||
/* 093768 80092B68 3C048012 */ lui $a0, %hi(gPlayerSelectVehicle) # $a0, 0x8012
|
||||
|
||||
@@ -152,7 +152,7 @@ glabel L80094DD0
|
||||
.L80094F30:
|
||||
/* 095B30 80094F30 00002812 */ mflo $a1
|
||||
/* 095B34 80094F34 01A53823 */ subu $a3, $t5, $a1
|
||||
/* 095B38 80094F38 0C019A50 */ jal resize_viewport
|
||||
/* 095B38 80094F38 0C019A50 */ jal viewport_menu_set
|
||||
/* 095B3C 80094F3C 00000000 */ nop
|
||||
/* 095B40 80094F40 3C02800E */ lui $v0, %hi(gMenuImageStack) # $v0, 0x800e
|
||||
/* 095B44 80094F44 44905000 */ mtc1 $s0, $f10
|
||||
|
||||
@@ -639,7 +639,7 @@ glabel L8009BB9C
|
||||
/* 09C83C 8009BC3C 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c
|
||||
/* 09C840 8009BC40 0C03005C */ jal enable_new_screen_transitions
|
||||
/* 09C844 8009BC44 00000000 */ nop
|
||||
/* 09C848 8009BC48 0C000326 */ jal set_music_fade_timer
|
||||
/* 09C848 8009BC48 0C000326 */ jal music_fade
|
||||
/* 09C84C 8009BC4C 2404FF80 */ li $a0, -128
|
||||
.L8009BC50:
|
||||
/* 09C850 8009BC50 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e
|
||||
@@ -657,7 +657,7 @@ glabel L8009BB9C
|
||||
/* 09C880 8009BC80 2B21001F */ slti $at, $t9, 0x1f
|
||||
/* 09C884 8009BC84 1420000C */ bnez $at, .L8009BCB8
|
||||
/* 09C888 8009BC88 8FBF0054 */ lw $ra, 0x54($sp)
|
||||
/* 09C88C 8009BC8C 0C0002CA */ jal func_80000B28
|
||||
/* 09C88C 8009BC8C 0C0002CA */ jal music_change_on
|
||||
/* 09C890 8009BC90 00000000 */ nop
|
||||
/* 09C894 8009BC94 0C026F3C */ jal func_8009BCF0
|
||||
/* 09C898 8009BC98 00000000 */ nop
|
||||
|
||||
@@ -320,7 +320,7 @@ glabel menu_track_select_init
|
||||
/* 08F878 8008EC78 AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* 08F87C 8008EC7C 24050050 */ li $a1, 80
|
||||
/* 08F880 8008EC80 240700F0 */ li $a3, 240
|
||||
/* 08F884 8008EC84 0C019A50 */ jal resize_viewport
|
||||
/* 08F884 8008EC84 0C019A50 */ jal viewport_menu_set
|
||||
/* 08F888 8008EC88 00433023 */ subu $a2, $v0, $v1
|
||||
/* 08F88C 8008EC8C 0C019984 */ jal copy_viewports_to_stack
|
||||
/* 08F890 8008EC90 00000000 */ nop
|
||||
@@ -525,16 +525,16 @@ glabel menu_track_select_init
|
||||
/* 08FB7C 8008EF7C 2610F760 */ addiu $s0, %lo(sMenuMusicVolume) # addiu $s0, $s0, -0x8a0
|
||||
/* 08FB80 8008EF80 AC206848 */ sw $zero, %lo(D_80126848)($at)
|
||||
/* 08FB84 8008EF84 AE000000 */ sw $zero, ($s0)
|
||||
/* 08FB88 8008EF88 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 08FB88 8008EF88 0C0002F8 */ jal music_voicelimit_set
|
||||
/* 08FB8C 8008EF8C 24040018 */ li $a0, 24
|
||||
/* 08FB90 8008EF90 0C000307 */ jal func_80000C1C
|
||||
/* 08FB90 8008EF90 0C000307 */ jal music_voicelimit_change_off
|
||||
/* 08FB94 8008EF94 00000000 */ nop
|
||||
/* 08FB98 8008EF98 0C0002CD */ jal play_music
|
||||
/* 08FB98 8008EF98 0C0002CD */ jal music_play
|
||||
/* 08FB9C 8008EF9C 24040018 */ li $a0, 24
|
||||
/* 08FBA0 8008EFA0 92040003 */ lbu $a0, 3($s0)
|
||||
/* 08FBA4 8008EFA4 0C000664 */ jal set_relative_volume_for_music
|
||||
/* 08FBA4 8008EFA4 0C000664 */ jal music_volume_set
|
||||
/* 08FBA8 8008EFA8 00000000 */ nop
|
||||
/* 08FBAC 8008EFAC 0C0002C6 */ jal func_80000B18
|
||||
/* 08FBAC 8008EFAC 0C0002C6 */ jal music_change_off
|
||||
/* 08FBB0 8008EFB0 00000000 */ nop
|
||||
/* 08FBB4 8008EFB4 0C01BD59 */ jal set_gIntDisFlag
|
||||
/* 08FBB8 8008EFB8 24040001 */ li $a0, 1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user