mirror of https://github.com/n64decomp/mk64.git
fix warning, type and document audio (#559)
* Document audio * Update external.h * fix warnings * put a do while on one line
This commit is contained in:
parent
19410f2825
commit
d6663422b0
|
|
@ -59,7 +59,7 @@ glabel audio_init
|
|||
/* BCD98 800BC198 240E0032 */ addiu $t6, $zero, 0x32
|
||||
/* BCD9C 800BC19C E4247178 */ swc1 $ft0, %lo(D_803B7178)($at)
|
||||
/* BCDA0 800BC1A0 3C01803B */ lui $at, %hi(gRefreshRate)
|
||||
/* BCDA4 800BC1A4 0C032FF6 */ jal func_800CBF48
|
||||
/* BCDA4 800BC1A4 0C032FF6 */ jal port_eu_init
|
||||
/* BCDA8 800BC1A8 AC2E717C */ sw $t6, %lo(gRefreshRate)($at)
|
||||
/* BCDAC 800BC1AC 3C02803B */ lui $v0, %hi(gAiBufferLengths)
|
||||
/* BCDB0 800BC1B0 3C04803B */ lui $a0, %hi(D_803B7192)
|
||||
|
|
|
|||
|
|
@ -686,7 +686,7 @@ glabel L800C33E0
|
|||
/* 0C3FF4 800C33F4 306400FF */ andi $a0, $v1, 0xff
|
||||
/* 0C3FF8 800C33F8 00801825 */ move $v1, $a0
|
||||
/* 0C3FFC 800C33FC AFC40048 */ sw $a0, 0x48($fp)
|
||||
/* 0C4000 800C3400 0C0304FF */ jal func_800C13FC
|
||||
/* 0C4000 800C3400 0C0304FF */ jal audio_reset_session_eu
|
||||
/* 0C4004 800C3404 AFCE004C */ sw $t6, 0x4c($fp)
|
||||
/* 0C4008 800C3408 8FC5004C */ lw $a1, 0x4c($fp)
|
||||
/* 0C400C 800C340C 8FCD0048 */ lw $t5, 0x48($fp)
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ glabel audio_init
|
|||
/* 0BCE08 800BC208 3C01803B */ lui $at, %hi(gRefreshRate) # $at, 0x803b
|
||||
/* 0BCE0C 800BC20C AC39717C */ sw $t9, %lo(gRefreshRate)($at)
|
||||
.L800BC210:
|
||||
/* 0BCE10 800BC210 0C032FD2 */ jal func_800CBF48
|
||||
/* 0BCE10 800BC210 0C032FD2 */ jal port_eu_init
|
||||
/* 0BCE14 800BC214 00000000 */ nop
|
||||
/* 0BCE18 800BC218 3C02803B */ lui $v0, %hi(gAiBufferLengths) # $v0, 0x803b
|
||||
/* 0BCE1C 800BC21C 3C04803B */ lui $a0, %hi(D_803B7192) # $a0, 0x803b
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ typedef unsigned long long int u64;
|
|||
|
||||
typedef signed int bool;
|
||||
typedef signed char bool8;
|
||||
typedef unsigned char ubool8;
|
||||
|
||||
typedef volatile u8 vu8;
|
||||
typedef volatile u16 vu16;
|
||||
|
|
|
|||
|
|
@ -4,110 +4,119 @@
|
|||
//! @todo format like sm64 sounds.h
|
||||
// The sound cue bit fields can be split up into its basic pieces and put back together.
|
||||
|
||||
// Sound Magic Definition:
|
||||
// First Byte (Upper Nibble): Sound Bank (not the same as audio bank!)
|
||||
// First Byte (Lower Nibble): Bitflags for audio playback?
|
||||
// Third/Second Byte: Priority
|
||||
// Third/Second Byte (Upper Nibble): More bitflags
|
||||
// Third/Second Byte (Lower Nibble): Sound Status (this is set to SOUND_STATUS_PLAYING when passed to the audio driver.)
|
||||
// Fourth Byte: Sound ID
|
||||
#define SOUND_ARG_LOAD(sound_bank, byte2, byte3, sound_id) \
|
||||
((sound_bank << 24) | (byte2 << 16) | (byte3 << 8) | sound_id)
|
||||
|
||||
/* Intro */
|
||||
#define SOUND_INTRO_LOGO 0x49018008
|
||||
#define SOUND_INTRO_LOGO SOUND_ARG_LOAD(0x49, 0x01, 0x80, 0x08) //SOUND_ARG_LOAD(0x49, 0x01, 0x80, 0x08)
|
||||
// Welcome to Mario Kart. Used in intro and credits.
|
||||
#define SOUND_INTRO_WELCOME 0x49009009
|
||||
#define SOUND_INTRO_ENTER_MENU 0x4900801A
|
||||
#define SOUND_INTRO_WELCOME SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x09)
|
||||
#define SOUND_INTRO_ENTER_MENU SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1A)
|
||||
|
||||
/* Menus */
|
||||
#define SOUND_MENU_OK_CLICKED 0x49008016
|
||||
#define SOUND_MENU_OK_CLICKED SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x16)
|
||||
|
||||
#define SOUND_MENU_CURSOR_MOVE 0x49008000
|
||||
#define SOUND_MENU_GO_BACK 0x49008002
|
||||
#define SOUND_MENU_CURSOR_MOVE SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x00)
|
||||
#define SOUND_MENU_GO_BACK SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x02)
|
||||
// Used elsewhere, seems same as above sound.
|
||||
#define SOUND_ACTION_GO_BACK_2 0x49008005
|
||||
#define SOUND_ACTION_GO_BACK_2 SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x05)
|
||||
|
||||
#define SOUND_ACTION_UNKNOWN_CONFIRMATION 0x49008006
|
||||
#define SOUND_ACTION_UNKNOWN_CONFIRMATION SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x06)
|
||||
|
||||
#define SOUND_MENU_SELECT 0x49008001
|
||||
#define SOUND_MENU_SELECT SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x01)
|
||||
|
||||
// Mario Grand Prix
|
||||
#define SOUND_MENU_GP 0x4900900A
|
||||
#define SOUND_MENU_GP SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0A)
|
||||
// Versus
|
||||
#define SOUND_MENU_VERSUS 0x4900900C
|
||||
#define SOUND_MENU_VERSUS SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0C)
|
||||
// Time Trials
|
||||
#define SOUND_MENU_TIME_TRIALS 0x4900900B
|
||||
#define SOUND_MENU_TIME_TRIALS SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0B)
|
||||
// Battle
|
||||
#define SOUND_MENU_BATTLE 0x4900900D
|
||||
#define SOUND_MENU_BATTLE SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0D)
|
||||
// Select a level (Select a CC)
|
||||
#define SOUND_MENU_SELECT_LEVEL 0x4900900E
|
||||
#define SOUND_MENU_SELECT_LEVEL SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0E)
|
||||
// OK?
|
||||
#define SOUND_MENU_OK 0x4900900F
|
||||
#define SOUND_MENU_OK SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x0F)
|
||||
|
||||
// Select your player
|
||||
#define SOUND_MENU_SELECT_PLAYER 0x49009012
|
||||
#define SOUND_MENU_SELECT_PLAYER SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x12)
|
||||
|
||||
// Select map
|
||||
#define SOUND_MENU_SELECT_MAP 0x49009013
|
||||
#define SOUND_MENU_SELECT_MAP SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x13)
|
||||
|
||||
// Plays in option if no controller pak.
|
||||
#define SOUND_MENU_FILE_NOT_FOUND 0x4900FF07
|
||||
#define SOUND_MENU_FILE_NOT_FOUND SOUND_ARG_LOAD(0x49, 0x00, 0xFF, 0x07)
|
||||
|
||||
// Option
|
||||
#define SOUND_MENU_OPTION 0x49009010
|
||||
#define SOUND_MENU_OPTION SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x10)
|
||||
// Data
|
||||
#define SOUND_MENU_DATA 0x49009011
|
||||
#define SOUND_MENU_DATA SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x11)
|
||||
|
||||
// On delete course record?
|
||||
#define SOUND_MENU_EXPLOSION 0x4900801D
|
||||
#define SOUND_MENU_EXPLOSION SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1D)
|
||||
|
||||
#define SOUND_MENU_STEREO 0x49008024
|
||||
#define SOUND_MENU_HEADPHONES 0x49008025
|
||||
#define SOUND_MENU_MONO 0x49008029
|
||||
#define SOUND_MENU_STEREO SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x24)
|
||||
#define SOUND_MENU_HEADPHONES SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x25)
|
||||
#define SOUND_MENU_MONO SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x29)
|
||||
|
||||
|
||||
/* Staging */
|
||||
// Red and orange staging lights that Lakitu holds.
|
||||
#define SOUND_ACTION_COUNTDOWN_LIGHT 0x49008003
|
||||
#define SOUND_ACTION_GREEN_LIGHT 0x49008004
|
||||
#define SOUND_ACTION_COUNTDOWN_LIGHT SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x03)
|
||||
#define SOUND_ACTION_GREEN_LIGHT SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x04)
|
||||
// Activates when light turns green.
|
||||
#define SOUND_ACTION_REV_ENGINE 0x49008018
|
||||
#define SOUND_ACTION_REV_ENGINE_2 0x49008019
|
||||
#define SOUND_ACTION_REV_ENGINE SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x18)
|
||||
#define SOUND_ACTION_REV_ENGINE_2 SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x19)
|
||||
|
||||
/* Racing */
|
||||
|
||||
// Volume Mode and unknown
|
||||
#define SOUND_ACTION_PING 0x4900801C
|
||||
#define SOUND_ACTION_PING SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1C)
|
||||
|
||||
#define SOUND_ACTION_TYRE_SQUEAL 0x100F908
|
||||
#define SOUND_ACTION_TYRE_SQUEAL SOUND_ARG_LOAD(0x01, 0x00, 0xF9, 0x08)
|
||||
|
||||
// Falling rock and bomb sound.
|
||||
#define SOUND_ACTION_EXPLOSION 0x19009005
|
||||
#define SOUND_ACTION_EXPLOSION SOUND_ARG_LOAD(0x19, 0x00, 0x90, 0x05)
|
||||
|
||||
#define SOUND_ACTION_EXPLOSION_2 0x1900F00C
|
||||
#define SOUND_ACTION_EXPLOSION_2 SOUND_ARG_LOAD(0x19, 0x00, 0xF0, 0x0C)
|
||||
|
||||
/* Items */
|
||||
// There's likely more of these but they are in func arguments.
|
||||
// Did not rename in-case unrelated.
|
||||
#define SOUND_ITEM_STAR 0x31029008
|
||||
#define SOUND_ITEM_THUNDERBOLT 0x5101C00C
|
||||
#define SOUND_ITEM_STAR SOUND_ARG_LOAD(0x31, 0x02, 0x90, 0x08)
|
||||
#define SOUND_ITEM_THUNDERBOLT SOUND_ARG_LOAD(0x51, 0x01, 0xC0, 0x0C)
|
||||
|
||||
|
||||
/* Score Screen */
|
||||
// Coin pickup sound (perfect fourth; B to E)
|
||||
#define SOUND_ACTION_COUNT_SCORE 0x49008017
|
||||
#define SOUND_ACTION_NEXT_COURSE 0x49008015
|
||||
#define SOUND_ACTION_COUNT_SCORE SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x17)
|
||||
#define SOUND_ACTION_NEXT_COURSE SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x15)
|
||||
// Same sound as ENTER_MENU
|
||||
#define SOUND_ACTION_CONTINUE_UNKNOWN 0x4900801B
|
||||
#define SOUND_ACTION_CONTINUE_UNKNOWN SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1B)
|
||||
|
||||
|
||||
/* Ceremony */
|
||||
// Congratulation
|
||||
#define SOUND_CEREMONY_CONGRATULATION 0x49009014
|
||||
#define SOUND_CEREMONY_BALLOON_POP 0x4900801E
|
||||
#define SOUND_CEREMONY_FISH 0x4900801F
|
||||
#define SOUND_CEREMONY_FISH_2 0x49008020
|
||||
#define SOUND_CEREMONY_SHOOT_TROPHY 0x49008021
|
||||
#define SOUND_CEREMONY_PODIUM 0x49008022
|
||||
#define SOUND_CEREMONY_CONGRATULATION SOUND_ARG_LOAD(0x49, 0x00, 0x90, 0x14)
|
||||
#define SOUND_CEREMONY_BALLOON_POP SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1E)
|
||||
#define SOUND_CEREMONY_FISH SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x1F)
|
||||
#define SOUND_CEREMONY_FISH_2 SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x20)
|
||||
#define SOUND_CEREMONY_SHOOT_TROPHY SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x21)
|
||||
#define SOUND_CEREMONY_PODIUM SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x22)
|
||||
|
||||
// The sound of the trophy. Plays in the background
|
||||
#define SOUND_CEREMONY_TROPHY 0x49008023
|
||||
#define SOUND_CEREMONY_TROPHY SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x23)
|
||||
|
||||
/* Credits */
|
||||
// Hey, you're very good. See you next time!
|
||||
#define SOUND_CREDITS_FAREWELL 0x49008026
|
||||
#define SOUND_CREDITS_FAREWELL SOUND_ARG_LOAD(0x49, 0x00, 0x80, 0x26)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ void update_actor_falling_rocks(struct FallingRock *rock) {
|
|||
rock->pos[2] += unkVec[2] * rock->unk30.unk3C[2];
|
||||
func_802AC114(unkVec, pad0, rock->velocity, 2.0f);
|
||||
rock->velocity[1] = -1.2f * pad1;
|
||||
func_800C98B8(rock->pos, rock->velocity, 0x1900800FU);
|
||||
func_800C98B8(rock->pos, rock->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
|
||||
}
|
||||
pad0 = rock->unk30.unk3C[0];
|
||||
if (pad0 < 0.0f) {
|
||||
|
|
@ -88,7 +88,7 @@ void update_actor_falling_rocks(struct FallingRock *rock) {
|
|||
rock->pos[2] += unkVec[2] * rock->unk30.unk3C[0];
|
||||
func_802AC114(unkVec, pad0, rock->velocity, 2.0f);
|
||||
rock->velocity[1] = -1.2f * pad1;
|
||||
func_800C98B8(rock->pos, rock->velocity, 0x1900800FU);
|
||||
func_800C98B8(rock->pos, rock->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
|
||||
}
|
||||
}
|
||||
pad0 = rock->unk30.unk3C[1];
|
||||
|
|
@ -106,7 +106,7 @@ void update_actor_falling_rocks(struct FallingRock *rock) {
|
|||
pad1 = rock->velocity[1];
|
||||
func_802AC114(unkVec, pad0, rock->velocity, 2.0f);
|
||||
rock->velocity[1] = -1.2f * pad1;
|
||||
func_800C98B8(rock->pos, rock->velocity, 0x1900800FU);
|
||||
func_800C98B8(rock->pos, rock->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -428,8 +428,8 @@ f32 gDefaultPanVolume[128] = {
|
|||
|
||||
s32 gAudioTaskIndex;
|
||||
s32 gCurrAiBufferIndex;
|
||||
u64 *gAudioCmdBuffers[2]; // probably wrong
|
||||
u64 *gAudioCmd;
|
||||
Acmd *gAudioCmdBuffers[2]; // probably wrong
|
||||
Acmd *gAudioCmd;
|
||||
struct SPTask *gAudioTask; // gAudioTask?
|
||||
struct SPTask gAudioTasks[2]; // gAudioTasks?
|
||||
f32 D_803B7178;
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ extern volatile s32 gAudioLoadLock; // D_800EA5DC
|
|||
|
||||
extern s32 gAudioTaskIndex;
|
||||
extern s32 gCurrAiBufferIndex;
|
||||
extern u64 *gAudioCmdBuffers[2]; // probably wrong
|
||||
extern u64 *gAudioCmd; // D_803B70D0
|
||||
extern Acmd *gAudioCmdBuffers[2]; // probably wrong
|
||||
extern Acmd *gAudioCmd; // D_803B70D0
|
||||
extern struct SPTask *gAudioTask; // D_803B70D4
|
||||
extern struct SPTask gAudioTasks[2]; // D_803B70D8
|
||||
extern f32 D_803B7178;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -45,9 +45,9 @@
|
|||
#define SOUND_BANK_COUNT 6
|
||||
|
||||
// Almost certainly an expanded version of struct Sound from SM64
|
||||
struct Unk_8018FC20 {
|
||||
struct Sound {
|
||||
/* 0x00 */ u32 soundBits;
|
||||
/* 0x04 */ f32 *position;
|
||||
/* 0x04 */ Vec3f *position;
|
||||
/* 0x08 */ u8 cameraId; // playerId? some indicator of "who" the sound is desitned for
|
||||
/* 0x09 */ // u8 compilerPadding0[3];
|
||||
/* 0x0C */ f32 *unk0C;
|
||||
|
|
@ -98,9 +98,9 @@ struct Unk_8018EFD8 {
|
|||
}; // size = 0x3C
|
||||
|
||||
// This is almost certainly an expanded version of SoundCharacteristics from SM64
|
||||
struct Unk_80191420 {
|
||||
struct SoundCharacteristics {
|
||||
// These f32 pointers appear to point to the `Vec3f unk18` members in a struct Unk_8018EFD8
|
||||
/* 0x00 */ f32 *unk00;
|
||||
/* 0x00 */ Vec3f *unk00;
|
||||
/* 0x04 */ f32 *unk04;
|
||||
/* 0x08 */ f32 *unk08;
|
||||
/* 0x0C */ u8 cameraId; // playerId? some indicator of "who" the sound is desitned for
|
||||
|
|
@ -188,10 +188,12 @@ typedef struct {
|
|||
u8 unk9;
|
||||
} UnkStruct8018EF18; // size = 0xC
|
||||
|
||||
/** @cond */
|
||||
|
||||
void func_800C94A4(u8);
|
||||
void func_800CADD0(u8, f32);
|
||||
void func_800C13F0(void);
|
||||
void func_800C13FC(OSMesg);
|
||||
void audio_reset_session_eu(OSMesg);
|
||||
f32 func_800C1480(u8, u8);
|
||||
s8 func_800C15D0(u8, u8, u8);
|
||||
s8 func_800C16E8(f32, f32, u8);
|
||||
|
|
@ -202,13 +204,14 @@ void func_800C1DA4(Camera*, Vec3s, struct Unk_8018EFD8*);
|
|||
void func_800C1E2C(Camera*, Vec3f, struct Unk_8018EFD8*);
|
||||
void func_800C1F8C(void);
|
||||
|
||||
f32 *func_800C21E8(Vec3f, u32);
|
||||
Vec3f *func_800C21E8(Vec3f, u32);
|
||||
void func_800C2274(u8);
|
||||
void func_800C2474(void);
|
||||
void func_800C284C(u8, u8, u8, u16);
|
||||
void func_800C29B4(u8, u16);
|
||||
|
||||
void func_800C3724(void);
|
||||
void func_800C2A2C(u32);
|
||||
void func_800C3448(u32);
|
||||
void func_800C3478(void);
|
||||
u16 func_800C3508(u8);
|
||||
|
|
@ -221,17 +224,17 @@ void func_800C3F70(void);
|
|||
void func_800C400C(void);
|
||||
void func_800C4084(u16);
|
||||
void func_800C40F0(u8);
|
||||
void play_sound(u32, f32*, u8, f32*, f32*, u8*);
|
||||
void func_800C41CC(u8, struct Unk_80191420*);
|
||||
void play_sound(u32, Vec3f*, u8, f32*, f32*, u8*);
|
||||
void func_800C41CC(u8, struct SoundCharacteristics*);
|
||||
void func_800C4398(void);
|
||||
void delete_sound_from_bank(u8, u8);
|
||||
void func_800C4888(u8);
|
||||
void func_800C4FE4(u8);
|
||||
|
||||
void func_800C5278(u8);
|
||||
void func_800C5384(u8, f32*);
|
||||
void func_800C54B8(u8, f32*);
|
||||
void func_800C550C(s32);
|
||||
void func_800C5384(u8, Vec3f*);
|
||||
void func_800C54B8(u8, Vec3f*);
|
||||
void func_800C550C(Vec3f*);
|
||||
void func_800C5578(Vec3f, u32);
|
||||
u8 func_800C56F0(u32);
|
||||
void func_800C5848(void);
|
||||
|
|
@ -267,7 +270,7 @@ void func_800C8EF8(u16);
|
|||
void func_800C8F44(u8);
|
||||
void func_800C8F80(u8, u32);
|
||||
|
||||
void func_800C9018(u8, s32);
|
||||
void func_800C9018(u8, u32);
|
||||
void func_800C9060(u8, u32);
|
||||
void func_800C90F4(u8, u32);
|
||||
void func_800C9250(u8);
|
||||
|
|
@ -325,13 +328,13 @@ extern struct Unk_8018EFD8 D_8018EFD8[];
|
|||
// These are indexes for D_8018EFD8, but their purpose is unknown
|
||||
extern u8 D_8018FB90;
|
||||
extern u8 D_8018FB91;
|
||||
extern Camera *D_8018FB98[4];
|
||||
extern Vec3f D_8018FBA8[4];
|
||||
extern Vec3f D_8018FBD8[4];
|
||||
extern Camera *gCopyCamera[4];
|
||||
extern Vec3f gVelocityCamera[4];
|
||||
extern Vec3f gCameraLastPos[4];
|
||||
extern u8 D_8018FC08;
|
||||
extern u16 D_8018FC10[4][2];
|
||||
|
||||
extern struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20];
|
||||
extern struct SoundCharacteristics sSoundBanks[SOUND_BANK_COUNT][20];
|
||||
extern u8 sSoundBankUsedListBack[SOUND_BANK_COUNT];
|
||||
extern u8 sSoundBankFreeListFront[SOUND_BANK_COUNT];
|
||||
extern u8 sNumSoundsInBank[SOUND_BANK_COUNT];
|
||||
|
|
@ -345,7 +348,7 @@ extern u32 D_80192CD0[256];
|
|||
extern struct_D_801930D0_entry D_801930D0[3];
|
||||
extern u8 sNumProcessedSoundRequests;
|
||||
extern u8 sSoundRequestCount;
|
||||
extern struct Unk_8018FC20 sSoundRequests[0x100];
|
||||
extern struct Sound sSoundRequests[0x100];
|
||||
|
||||
// Data entries
|
||||
extern u8 D_800E9DA0;
|
||||
|
|
@ -421,4 +424,6 @@ extern s8 D_800EA16C;
|
|||
extern OSMesgQueue *D_800EA3B0;
|
||||
extern OSMesgQueue *D_800EA3B4;
|
||||
|
||||
/** @endcond */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include <ultra64.h>
|
||||
#include <macros.h>
|
||||
|
||||
#include "audio/data.h"
|
||||
#include "audio/effects.h"
|
||||
#include "audio/heap.h"
|
||||
|
|
@ -703,8 +704,8 @@ void func_800BA8B0(s32 poolIdx, s32 id) {
|
|||
s32 temp_a2;
|
||||
u32 temp_a1;
|
||||
u8 *var_a3;
|
||||
u8 *temp_v0;
|
||||
s32 pad;
|
||||
UNUSED u8 *temp_v0;
|
||||
UNUSED s32 pad;
|
||||
|
||||
switch (poolIdx) { /* irregular */
|
||||
case 0:
|
||||
|
|
@ -718,7 +719,7 @@ void func_800BA8B0(s32 poolIdx, s32 id) {
|
|||
break;
|
||||
}
|
||||
if (sp3C->seqArray[id].len == 0) {
|
||||
id = sp3C->seqArray[id].offset;
|
||||
id = (s32) sp3C->seqArray[id].offset;
|
||||
}
|
||||
if (unk_pool1_lookup(poolIdx, id) == NULL) {
|
||||
temp_a2 = gUnkPool1.pool.numAllocatedEntries;
|
||||
|
|
|
|||
|
|
@ -118,14 +118,12 @@ void func_800BA8B0(s32, s32);
|
|||
extern s32 D_800EA5D0;
|
||||
extern u8 D_803B71B0[];
|
||||
|
||||
extern u8 gAudioResetPresetIdToLoad; // D_803B0501
|
||||
extern s32 gMaxAudioCmds; // D_803B70AC
|
||||
extern s16 gTempoInternalToExternal; // D_803B70B4
|
||||
extern u64 *gAudioCmdBuffers[]; // D_803B70C8
|
||||
extern s32 gMaxAudioCmds;
|
||||
extern s16 gTempoInternalToExternal;
|
||||
extern f32 D_803B7178;
|
||||
extern s32 gRefreshRate; // D_803B717C
|
||||
extern u32 gSampleDmaNumListItems; // D_803B6E58
|
||||
extern struct AudioSessionSettingsEU gAudioSessionPresets[]; // D_800EA4D8
|
||||
extern s32 gRefreshRate;
|
||||
extern u32 gSampleDmaNumListItems;
|
||||
extern struct AudioSessionSettingsEU gAudioSessionPresets[];
|
||||
|
||||
|
||||
// Note: In some .asm files D_803AFBC8 has been replaced with gLeftVolRampings
|
||||
|
|
|
|||
|
|
@ -157,9 +157,9 @@ struct Instrument {
|
|||
}; // size = 0x20
|
||||
|
||||
struct Drum {
|
||||
u8 releaseRate;
|
||||
u8 pan;
|
||||
u8 loaded;
|
||||
/*0x00*/ u8 releaseRate;
|
||||
/*0x01*/ u8 pan;
|
||||
/*0x02*/ u8 loaded;
|
||||
struct AudioBankSound sound;
|
||||
struct AdsrEnvelope *envelope;
|
||||
};
|
||||
|
|
@ -602,11 +602,11 @@ struct EuAudioCmd {
|
|||
union {
|
||||
struct {
|
||||
u8 op;
|
||||
u8 arg1;
|
||||
u8 bankId;
|
||||
u8 arg2;
|
||||
u8 arg3;
|
||||
} s;
|
||||
s32 first;
|
||||
u32 first;
|
||||
} u;
|
||||
union {
|
||||
s32 as_s32;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
#include <ultra64.h>
|
||||
#include <macros.h>
|
||||
|
||||
#include "audio/load.h"
|
||||
#include "audio/data.h"
|
||||
#include "audio/heap.h"
|
||||
#include "audio/internal.h"
|
||||
#include "audio/playback.h"
|
||||
#include "audio/synthesis.h"
|
||||
#include "audio/seqplayer.h"
|
||||
#include "audio/port_eu.h"
|
||||
#include "data/gfx_output_buffer.h"
|
||||
|
||||
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
||||
|
|
@ -103,7 +106,7 @@ char loadAudioString38[] = "---------------------------------------\n";
|
|||
/**
|
||||
* Performs an immediate DMA copy
|
||||
*/
|
||||
void audio_dma_copy_immediate(uintptr_t devAddr, void *vAddr, size_t nbytes) {
|
||||
void audio_dma_copy_immediate(u8 *devAddr, void *vAddr, size_t nbytes) {
|
||||
// eu_stubbed_printf_3("Romcopy %x -> %x ,size %x\n", devAddr, vAddr, nbytes);
|
||||
osInvalDCache(vAddr, nbytes);
|
||||
osPiStartDma(&D_803B6740, OS_MESG_PRI_HIGH, OS_READ, devAddr, vAddr, nbytes, &D_803B6720);
|
||||
|
|
@ -322,7 +325,7 @@ s32 func_800BB304(struct AudioBankSample *sample) {
|
|||
if (mem == (void *)NULL) {
|
||||
return -1;
|
||||
}
|
||||
audio_dma_copy_immediate((uintptr_t)sample->sampleAddr, mem, sample->sampleSize);
|
||||
audio_dma_copy_immediate(sample->sampleAddr, mem, sample->sampleSize);
|
||||
sample->loaded = 0x81;
|
||||
sample->sampleAddr = mem; // sound->unk4
|
||||
}
|
||||
|
|
@ -381,26 +384,26 @@ void patch_sound(struct AudioBankSound *sound, u8 *memBase, u8 *offsetBase) {
|
|||
#define PATCH(x, base) (patched = (void *)((uintptr_t) (x) + (uintptr_t) base))
|
||||
|
||||
if (sound->sample != NULL) {
|
||||
sample = sound->sample = PATCH(sound->sample, memBase);
|
||||
sample = sound->sample = (struct AdpcmLoop *) PATCH(sound->sample, memBase);
|
||||
if (sample->loaded == 0) {
|
||||
sample->sampleAddr = PATCH(sample->sampleAddr, offsetBase);
|
||||
sample->loop = PATCH(sample->loop, memBase);
|
||||
sample->book = PATCH(sample->book, memBase);
|
||||
sample->sampleAddr = (struct u8 *) PATCH(sample->sampleAddr, offsetBase);
|
||||
sample->loop = (struct AdpcmLoop *) PATCH(sample->loop, memBase);
|
||||
sample->book = (struct AdpcmBook *) PATCH(sample->book, memBase);
|
||||
sample->loaded = 1;
|
||||
}
|
||||
else if (sample->loaded == 0x80) {
|
||||
PATCH(sample->sampleAddr, offsetBase);
|
||||
mem = soundAlloc(&gNotesAndBuffersPool, sample->sampleSize);
|
||||
if (mem == NULL) {
|
||||
sample->sampleAddr = patched;
|
||||
sample->sampleAddr = (u8 *) patched;
|
||||
sample->loaded = 1;
|
||||
} else {
|
||||
audio_dma_copy_immediate((uintptr_t) patched, mem, sample->sampleSize);
|
||||
audio_dma_copy_immediate((u8 *) patched, mem, sample->sampleSize);
|
||||
sample->loaded = 0x81;
|
||||
sample->sampleAddr = mem;
|
||||
}
|
||||
sample->loop = PATCH(sample->loop, memBase);
|
||||
sample->book = PATCH(sample->book, memBase);
|
||||
sample->loop = (struct AdpcmLoop *) PATCH(sample->loop, memBase);
|
||||
sample->book = (struct AdpcmBook *) PATCH(sample->book, memBase);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -417,8 +420,8 @@ void func_800BB584(s32 bankId) {
|
|||
var_a1 = gAlTbl->seqArray[bankId].offset;
|
||||
}
|
||||
// wtf is up with the `gCtlEntries[bankId].instruments - 1` stuff?
|
||||
patch_audio_bank((gCtlEntries[bankId].instruments - 1), var_a1, gCtlEntries[bankId].numInstruments, gCtlEntries[bankId].numDrums);
|
||||
gCtlEntries[bankId].drums = *(gCtlEntries[bankId].instruments - 1);
|
||||
patch_audio_bank((struct AudioBank*) (gCtlEntries[bankId].instruments - 1), var_a1, gCtlEntries[bankId].numInstruments, gCtlEntries[bankId].numDrums);
|
||||
gCtlEntries[bankId].drums = (struct Drum**) *(gCtlEntries[bankId].instruments - 1);
|
||||
}
|
||||
|
||||
void patch_audio_bank(struct AudioBank *mem, u8 *offset, u32 numInstruments, u32 numDrums) {
|
||||
|
|
@ -492,8 +495,7 @@ void patch_audio_bank(struct AudioBank *mem, u8 *offset, u32 numInstruments, u32
|
|||
|
||||
struct AudioBank *bank_load_immediate(s32 bankId, s32 arg1) {
|
||||
s32 alloc;
|
||||
s32 stackPadding0[4];
|
||||
s32 stackPadding1[5];
|
||||
UNUSED s32 stackPadding0[9];
|
||||
struct AudioBank *ret;
|
||||
u8 *ctlData;
|
||||
|
||||
|
|
@ -505,7 +507,7 @@ struct AudioBank *bank_load_immediate(s32 bankId, s32 arg1) {
|
|||
if (ret == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
audio_dma_copy_immediate((u32) (ctlData + 0x10), ret, (u32) alloc);
|
||||
audio_dma_copy_immediate(ctlData + 0x10, ret, (u32) alloc);
|
||||
gCtlEntries[bankId].instruments = ret->instruments;
|
||||
func_800BB584(bankId);
|
||||
if (gBankLoadStatus[bankId] != 5) {
|
||||
|
|
@ -516,10 +518,10 @@ struct AudioBank *bank_load_immediate(s32 bankId, s32 arg1) {
|
|||
|
||||
struct AudioBank *bank_load_async(s32 bankId, s32 arg1, struct SequencePlayer *seqPlayer) {
|
||||
size_t alloc;
|
||||
s32 stackPadding0[9];
|
||||
UNUSED s32 stackPadding0[9];
|
||||
struct AudioBank *ret;
|
||||
u8 *ctlData;
|
||||
s32 stackPadding1[2];
|
||||
UNUSED s32 stackPadding1[2];
|
||||
|
||||
alloc = gAlCtlHeader->seqArray[bankId].len + 0xF;
|
||||
alloc = ALIGN16(alloc);
|
||||
|
|
@ -558,7 +560,7 @@ void *sequence_dma_immediate(s32 seqId, s32 arg1) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
audio_dma_copy_immediate((uintptr_t) seqData, ptr, seqLength);
|
||||
audio_dma_copy_immediate(seqData, ptr, seqLength);
|
||||
if (gSeqLoadStatus[seqId] != 5) {
|
||||
gSeqLoadStatus[seqId] = 2;
|
||||
}
|
||||
|
|
@ -579,13 +581,13 @@ void *sequence_dma_async(s32 seqId, s32 arg1, struct SequencePlayer *seqPlayer)
|
|||
return NULL;
|
||||
}
|
||||
if (seqLength < 0x41) {
|
||||
audio_dma_copy_immediate((uintptr_t) seqData, ptr, (u32) seqLength);
|
||||
audio_dma_copy_immediate(seqData, ptr, (u32) seqLength);
|
||||
if (1) {}
|
||||
if (gSeqLoadStatus[seqId] != 5) {
|
||||
gSeqLoadStatus[seqId] = 2;
|
||||
}
|
||||
} else {
|
||||
audio_dma_copy_immediate((uintptr_t) seqData, ptr, 0x00000040U);
|
||||
audio_dma_copy_immediate(seqData, ptr, 0x00000040U);
|
||||
mesgQueue = &seqPlayer->seqDmaMesgQueue;
|
||||
osCreateMesgQueue(mesgQueue, &seqPlayer->seqDmaMesg, 1);
|
||||
seqPlayer->seqDmaInProgress = TRUE;
|
||||
|
|
@ -775,7 +777,7 @@ void audio_init() {
|
|||
s32 UNUSED lim2, lim3;
|
||||
UNUSED s32 size;
|
||||
UNUSED u64 *ptr64;
|
||||
void *data;
|
||||
UNUSED void *data;
|
||||
UNUSED s32 one = 1;
|
||||
u8 *test;
|
||||
|
||||
|
|
@ -809,7 +811,7 @@ void audio_init() {
|
|||
gRefreshRate = 0x0000003C;
|
||||
break;
|
||||
}
|
||||
func_800CBF48();
|
||||
port_eu_init();
|
||||
for (i = 0; i < NUMAIBUFFERS; i++) {
|
||||
gAiBufferLengths[i] = 0xa0;
|
||||
}
|
||||
|
|
@ -872,7 +874,7 @@ void audio_init() {
|
|||
audio_dma_copy_immediate(test, gAlTbl, size);
|
||||
func_800BB43C(gAlTbl, test);
|
||||
gAlBankSets = soundAlloc(&gAudioInitPool, 0x00000100U);
|
||||
audio_dma_copy_immediate((u32) &_instrument_setsSegmentRomStart, gAlBankSets, 0x00000100U);
|
||||
audio_dma_copy_immediate(&_instrument_setsSegmentRomStart, gAlBankSets, 0x00000100U);
|
||||
sound_alloc_pool_init(&gUnkPool1.pool, soundAlloc(&gAudioInitPool, (u32) D_800EA5D8), (u32) D_800EA5D8);
|
||||
init_sequence_players();
|
||||
gAudioLoadLock = 0x76557364;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ struct SharedDma {
|
|||
/*0xE*/ u8 ttl; // duration after which the DMA can be discarded
|
||||
}; // size = 0x10
|
||||
|
||||
void audio_dma_copy_immediate(uintptr_t devAddr, void *vAddr, size_t nbytes);
|
||||
void audio_dma_copy_immediate(u8* devAddr, void *vAddr, size_t nbytes);
|
||||
void audio_dma_copy_async(uintptr_t, void*, size_t, OSMesgQueue*, OSIoMesg*);
|
||||
void audio_dma_partial_copy_async(uintptr_t*, u8**, ssize_t*, OSMesgQueue*, OSIoMesg*);
|
||||
void decrease_sample_dma_ttls(void);
|
||||
|
|
|
|||
|
|
@ -93,13 +93,13 @@ struct SPTask *create_next_audio_frame_task(void) {
|
|||
gCurrAudioFrameDmaCount = 0;
|
||||
decrease_sample_dma_ttls();
|
||||
if (osRecvMesg(D_800EA3B0, &sp58, 0) != -1) {
|
||||
gAudioResetPresetIdToLoad = (u8) sp58;
|
||||
gAudioResetPresetIdToLoad = (u8) (u32) sp58;
|
||||
gAudioResetStatus = 5;
|
||||
}
|
||||
if (gAudioResetStatus != 0) {
|
||||
if (audio_shut_down_and_reset_step() == 0) {
|
||||
if (gAudioResetStatus == 0) {
|
||||
osSendMesg(D_800EA3B4, (OSMesg) gAudioResetPresetIdToLoad, OS_MESG_NOBLOCK);
|
||||
osSendMesg(D_800EA3B4, (OSMesg) (u32) gAudioResetPresetIdToLoad, OS_MESG_NOBLOCK);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -142,7 +142,7 @@ struct SPTask *create_next_audio_frame_task(void) {
|
|||
task->dram_stack_size = 0;
|
||||
task->output_buff = NULL;
|
||||
task->output_buff_size = NULL;
|
||||
task->data_ptr = gAudioCmdBuffers[index];
|
||||
task->data_ptr = (u64 *) gAudioCmdBuffers[index];
|
||||
task->data_size = writtenCmds * sizeof(u64);
|
||||
task->yield_data_ptr = NULL;
|
||||
task->yield_data_size = 0;
|
||||
|
|
@ -163,17 +163,17 @@ void eu_process_audio_cmd(struct EuAudioCmd *cmd) {
|
|||
|
||||
case 0x82:
|
||||
case 0x88:
|
||||
load_sequence(cmd->u.s.arg1, cmd->u.s.arg2, cmd->u.s.arg3);
|
||||
func_800CBA64(cmd->u.s.arg1, cmd->u2.as_s32);
|
||||
load_sequence(cmd->u.s.bankId, cmd->u.s.arg2, cmd->u.s.arg3);
|
||||
func_800CBA64(cmd->u.s.bankId, cmd->u2.as_s32);
|
||||
break;
|
||||
|
||||
case 0x83:
|
||||
if (gSequencePlayers[cmd->u.s.arg1].enabled != FALSE) {
|
||||
if (gSequencePlayers[cmd->u.s.bankId].enabled != FALSE) {
|
||||
if (cmd->u2.as_s32 == 0) {
|
||||
sequence_player_disable(&gSequencePlayers[cmd->u.s.arg1]);
|
||||
sequence_player_disable(&gSequencePlayers[cmd->u.s.bankId]);
|
||||
}
|
||||
else {
|
||||
seq_player_fade_to_zero_volume(cmd->u.s.arg1, cmd->u2.as_s32);
|
||||
seq_player_fade_to_zero_volume(cmd->u.s.bankId, cmd->u2.as_s32);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -196,7 +196,7 @@ void eu_process_audio_cmd(struct EuAudioCmd *cmd) {
|
|||
}
|
||||
break;
|
||||
case 0xF3:
|
||||
func_800BB388(cmd->u.s.arg1, cmd->u.s.arg2, cmd->u.s.arg3);
|
||||
func_800BB388(cmd->u.s.bankId, cmd->u.s.arg2, cmd->u.s.arg3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -226,7 +226,7 @@ void func_800CBA64(s32 playerIndex, s32 fadeInTime) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800CBAB4(void) {
|
||||
void port_eu_init_queues(void) {
|
||||
D_800EA3A0[0] = 0;
|
||||
D_800EA3A4[0] = 0;
|
||||
osCreateMesgQueue(D_800EA3A8, D_80194020, 1);
|
||||
|
|
@ -247,7 +247,7 @@ void func_800CBB88(u32 arg0, f32 arg1) {
|
|||
}
|
||||
|
||||
void func_800CBBB8(u32 arg0, u32 arg1) {
|
||||
func_800CBB48(arg0, &arg1);
|
||||
func_800CBB48(arg0, (s32 *) &arg1);
|
||||
}
|
||||
|
||||
void func_800CBBE8(u32 arg0, s8 arg1) {
|
||||
|
|
@ -256,25 +256,20 @@ void func_800CBBE8(u32 arg0, s8 arg1) {
|
|||
}
|
||||
|
||||
//! @todo clenanup, something's weird with the variables. D_800EA4A4 is probably EuAudioCmd bc of the + 0x100
|
||||
void func_800CBC24(void)
|
||||
{
|
||||
s32 temp_t6;
|
||||
s32 test;
|
||||
OSMesg thing;
|
||||
temp_t6 = D_800EA3A0[0] - D_800EA3A4[0];
|
||||
test = (u8) temp_t6;
|
||||
test = (test + 0x100) & 0xFF;
|
||||
do
|
||||
{
|
||||
}
|
||||
while (0);
|
||||
if (D_800EA4A4 < test)
|
||||
{
|
||||
D_800EA4A4 = test;
|
||||
}
|
||||
thing = (OSMesg) ((D_800EA3A0[0] & 0xFF) | ((D_800EA3A4[0] & 0xFF) << 8));
|
||||
osSendMesg(D_800EA3AC, thing, 0);
|
||||
D_800EA3A4[0] = D_800EA3A0[0];
|
||||
void func_800CBC24(void){
|
||||
s32 temp_t6;
|
||||
s32 test;
|
||||
OSMesg thing;
|
||||
temp_t6 = D_800EA3A0[0] - D_800EA3A4[0];
|
||||
test = (u8) temp_t6;
|
||||
test = (test + 0x100) & 0xFF;
|
||||
do {} while (0);
|
||||
if (D_800EA4A4 < test) {
|
||||
D_800EA4A4 = test;
|
||||
}
|
||||
thing = (OSMesg) ((D_800EA3A0[0] & 0xFF) | ((D_800EA3A4[0] & 0xFF) << 8));
|
||||
osSendMesg(D_800EA3AC, thing, 0);
|
||||
D_800EA3A4[0] = D_800EA3A0[0];
|
||||
}
|
||||
|
||||
void func_800CBCB0(u32 arg0) {
|
||||
|
|
@ -293,8 +288,8 @@ void func_800CBCB0(u32 arg0) {
|
|||
goto why;
|
||||
}
|
||||
|
||||
if (cmd->u.s.arg1 < SEQUENCE_PLAYERS) {
|
||||
seqPlayer = &gSequencePlayers[cmd->u.s.arg1];
|
||||
if (cmd->u.s.bankId < SEQUENCE_PLAYERS) {
|
||||
seqPlayer = &gSequencePlayers[cmd->u.s.bankId];
|
||||
if ((cmd->u.s.op & 0x80) != 0) {
|
||||
eu_process_audio_cmd(cmd);
|
||||
}
|
||||
|
|
@ -358,6 +353,6 @@ void func_800CBCB0(u32 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_800CBF48() {
|
||||
func_800CBAB4();
|
||||
void port_eu_init() {
|
||||
port_eu_init_queues();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
void eu_process_audio_cmd(struct EuAudioCmd*);
|
||||
void seq_player_fade_to_zero_volume(s32 arg0, s32 fadeOutTime);
|
||||
void func_800CBA64(s32 playerIndex, s32 fadeInTime);
|
||||
void func_800CBAB4(void);
|
||||
void port_eu_init_queues(void);
|
||||
void func_800CBB48(s32, s32*);
|
||||
void func_800CBB88(u32, f32);
|
||||
void func_800CBBB8(u32, u32);
|
||||
void func_800CBBE8(u32, s8);
|
||||
void func_800CBC24(void);
|
||||
void func_800CBCB0(u32 arg0);
|
||||
void func_800CBF48(void);
|
||||
void port_eu_init(void);
|
||||
|
||||
extern OSMesgQueue D_801937C0;
|
||||
extern OSMesgQueue D_801937D8;
|
||||
|
|
|
|||
|
|
@ -812,10 +812,10 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
|||
if (cmd > 0xc0) {
|
||||
switch (cmd) {
|
||||
case 0xFF:
|
||||
if (state->depth);
|
||||
if(1);
|
||||
if(1);
|
||||
if(1);
|
||||
if(state->depth){};
|
||||
if(1){};
|
||||
if(1){};
|
||||
if(1){};
|
||||
if (state->depth == 0) {
|
||||
sequence_channel_disable(seqChannel);
|
||||
goto out;
|
||||
|
|
@ -1068,7 +1068,7 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
|||
|
||||
case 0xE4:
|
||||
if (value != (-1)) {
|
||||
if (state->depth);
|
||||
if (state->depth){};
|
||||
seqData = (*seqChannel->dynTable)[value];
|
||||
state->stack[state->depth++] = state->pc;
|
||||
sp38 = (u16) ((seqData[0] << 8) + seqData[1]);
|
||||
|
|
@ -1540,7 +1540,7 @@ void sequence_player_process_sequence(struct SequencePlayer *seqPlayer) {
|
|||
}
|
||||
}
|
||||
|
||||
void process_sequences(s32 iterationsRemaining) {
|
||||
void process_sequences(UNUSED s32 iterationsRemaining) {
|
||||
s32 i;
|
||||
for (i = 0; i < SEQUENCE_PLAYERS; i++) {
|
||||
if (gSequencePlayers[i].enabled == TRUE) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "audio/heap.h"
|
||||
#include "audio/data.h"
|
||||
#include "audio/load.h"
|
||||
//#include "audio/seqplayer.h"
|
||||
#include "audio/seqplayer.h"
|
||||
#include "audio/internal.h"
|
||||
//#include "audio/external.h"
|
||||
#include "PR/abi.h"
|
||||
|
|
@ -162,7 +162,7 @@ Acmd *synthesis_execute(Acmd *acmd, s32 *writtenCmds, s16 *aiBuf, s32 bufLen) {
|
|||
synthesis_load_note_subs_eu(gAudioBufferParameters.updatesPerFrame - i);
|
||||
}
|
||||
aSegment(cmd++, 0, 0);
|
||||
aiBufPtr = aiBuf;
|
||||
aiBufPtr = (u32 *) aiBuf;
|
||||
for (i = gAudioBufferParameters.updatesPerFrame; i > 0; i--) {
|
||||
if (i == 1) {
|
||||
chunkLen = bufLen;
|
||||
|
|
@ -698,16 +698,16 @@ Acmd *final_resample(Acmd *acmd, struct NoteSynthesisState *synthesisState, s32
|
|||
// What's here appears to have the right "shape" based on
|
||||
// the M2C output, but beyond that I can't really tell what's
|
||||
// going on
|
||||
Acmd *func_800B86A0(Acmd *cmd, struct NoteSubEu *note, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags) {
|
||||
Acmd *func_800B86A0(Acmd *cmd, struct NoteSubEu *note, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, UNUSED u32 flags) {
|
||||
u16 sourceRight;
|
||||
u16 sourceLeft;
|
||||
u16 targetLeft;
|
||||
u16 targetRight;
|
||||
s32 rampLeft;
|
||||
s32 rampRight;
|
||||
s32 sourceReverbVol;
|
||||
s16 rampReverb;
|
||||
s32 reverbVolDiff = 0;
|
||||
UNUSED s32 sourceReverbVol;
|
||||
UNUSED s16 rampReverb;
|
||||
UNUSED s32 reverbVolDiff = 0;
|
||||
|
||||
sourceLeft = synthesisState->curVolLeft;
|
||||
sourceRight = synthesisState->curVolRight;
|
||||
|
|
|
|||
|
|
@ -103,8 +103,8 @@ void func_80004A1C(animation_type_1 *arg0, s16 *arg1, animation_type_3_triplet a
|
|||
}
|
||||
}
|
||||
|
||||
void func_80004C30(u32 *arg0, animation_type_2 *arg1, s16 arg2) {
|
||||
u32 *temp;
|
||||
void func_80004C30(animation_type_1 *arg0, animation_type_2 *arg1, s16 arg2) {
|
||||
UNUSED u32 *temp;
|
||||
s16 *sp40;
|
||||
s32 some_offset;
|
||||
animation_type_3_triplet *temp_v0;
|
||||
|
|
@ -126,7 +126,7 @@ void func_80004C30(u32 *arg0, animation_type_2 *arg1, s16 arg2) {
|
|||
temp_v0++;
|
||||
D_80162D78 = 0;
|
||||
do {
|
||||
new_var = ((animation_type_1 *) arg0)->type;
|
||||
new_var = arg0->type;
|
||||
switch (new_var) { /* irregular */
|
||||
case 3:
|
||||
break;
|
||||
|
|
@ -147,7 +147,7 @@ void func_80004C30(u32 *arg0, animation_type_2 *arg1, s16 arg2) {
|
|||
temp_v0++;
|
||||
break;
|
||||
}
|
||||
arg0 += ((animation_type_1*)arg0)->size;
|
||||
arg0 = (animation_type_1 *) ((u32 *) arg0 + arg0->size);
|
||||
} while (new_var != 3);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ void func_80004740(Mtx *dest, Mat4 src);
|
|||
void mtxf_translate_rotate2(Mat4 dest, Vec3f b, Vec3s c);
|
||||
s16 func_80004EAC(void*, s16);
|
||||
void func_80004A1C(animation_type_1*, s16*, animation_type_3_triplet, s32);
|
||||
void func_80004C30(u32*, animation_type_2*, s16);
|
||||
void func_80004C30(animation_type_1*, animation_type_2*, s16);
|
||||
s16 func_80004DFC(animation_type_1*, animation_type_2**, s16, s16);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "audio/external.h"
|
||||
#include "ending/podium_ceremony_actors.h"
|
||||
#include "spawn_players.h"
|
||||
#include "sounds.h"
|
||||
|
||||
s32 unk_code_80005FD0_pad[24];
|
||||
Collision D_80162E70;
|
||||
|
|
@ -4659,9 +4660,9 @@ void func_80012AC0(void) {
|
|||
if ((temp_s0 != gTrainList[i].locomotive.waypointIndex)
|
||||
&& ((gTrainList[i].locomotive.waypointIndex == 0x00BE)
|
||||
|| (gTrainList[i].locomotive.waypointIndex == 0x0140))) {
|
||||
func_800C98B8(gTrainList[i].locomotive.position, gTrainList[i].locomotive.velocity, 0x1901800E);
|
||||
func_800C98B8(gTrainList[i].locomotive.position, gTrainList[i].locomotive.velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x0E));
|
||||
} else if (random_int(100) == 0) {
|
||||
func_800C98B8(gTrainList[i].locomotive.position, gTrainList[i].locomotive.velocity, 0x1901800D);
|
||||
func_800C98B8(gTrainList[i].locomotive.position, gTrainList[i].locomotive.velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x0D));
|
||||
}
|
||||
|
||||
gTrainList[i].someFlags = func_800061DC(gTrainList[i].locomotive.position, 2000.0f, gTrainList[i].someFlags);
|
||||
|
|
@ -4877,9 +4878,9 @@ void func_800133C4(void) {
|
|||
}
|
||||
if (random_int(100) == 0) {
|
||||
if (random_int(2) == 0) {
|
||||
func_800C98B8(ferry->position, ferry->velocity, 0x19018047U);
|
||||
func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x47));
|
||||
} else {
|
||||
func_800C98B8(ferry->position, ferry->velocity, 0x19018048U);
|
||||
func_800C98B8(ferry->position, ferry->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x48));
|
||||
}
|
||||
}
|
||||
sp94[0] = temp_f26;
|
||||
|
|
@ -5110,7 +5111,7 @@ void func_80013D20(VehicleStuff *vehicle) {
|
|||
vehicleActor->velocity[2] = vehicle->velocity[2];
|
||||
}
|
||||
|
||||
void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3, f32 arg4, s32 arg5, u32 arg6) {
|
||||
void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3, f32 arg4, s32 arg5, u32 soundBits) {
|
||||
f32 temp_f12;
|
||||
f32 temp_f14;
|
||||
f32 temp_f22;
|
||||
|
|
@ -5149,14 +5150,14 @@ void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3
|
|||
if ((D_801631C8 > 0) && (vehicle->someFlags == 0)) {
|
||||
D_801631C8 -= 1;
|
||||
vehicle->someFlags |= (1 << playerId);
|
||||
func_800C9D80(vehicle->position, vehicle->velocity, arg6);
|
||||
func_800C9D80(vehicle->position, vehicle->velocity, soundBits);
|
||||
}
|
||||
} else {
|
||||
if (vehicle->someFlags != 0) {
|
||||
vehicle->someFlags &= ~(1 << playerId);
|
||||
if (vehicle->someFlags == 0) {
|
||||
D_801631C8 += 1;
|
||||
func_800C9EF4(vehicle->position, arg6);
|
||||
func_800C9EF4(vehicle->position, soundBits);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5199,39 +5200,39 @@ void func_80013F7C(s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3
|
|||
}
|
||||
if (var_s1 == 1) {
|
||||
|
||||
u32 var_a2 = 0x1901703B;
|
||||
u32 soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3B);
|
||||
|
||||
switch (arg6) {
|
||||
case 0x51018005:
|
||||
var_a2 = 0x1901703B;
|
||||
switch (soundBits) {
|
||||
case SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x05):
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3B);
|
||||
if (random_int(4) == 0) {
|
||||
var_a2 = 0x1901703C;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3C);
|
||||
}
|
||||
break;
|
||||
case 0x51018002:
|
||||
case SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x02):
|
||||
if (random_int(2) != 0) {
|
||||
var_a2 = 0x1901703D;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3D);
|
||||
} else {
|
||||
var_a2 = 0x1901703E;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3E);
|
||||
}
|
||||
break;
|
||||
case 0x51018003:
|
||||
case SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x03):
|
||||
if (random_int(2) != 0) {
|
||||
var_a2 = 0x1901703F;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x3F);
|
||||
} else {
|
||||
var_a2 = 0x19017040;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x40);
|
||||
}
|
||||
break;
|
||||
case 0x51018004:
|
||||
case SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x04):
|
||||
if (random_int(2) != 0) {
|
||||
var_a2 = 0x19017041;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x41);
|
||||
} else {
|
||||
var_a2 = 0x19017042;
|
||||
soundBits2 = SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x42);
|
||||
}
|
||||
break;
|
||||
}
|
||||
vehicle->someFlagsTheSequel |= ((1 << playerId));
|
||||
func_800C98B8(vehicle->position, vehicle->velocity, var_a2);
|
||||
func_800C98B8(vehicle->position, vehicle->velocity, soundBits2);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -5324,7 +5325,7 @@ void func_8001487C(void) {
|
|||
}
|
||||
|
||||
void func_800148C4(s32 playerId, Player *player) {
|
||||
func_80013F7C(playerId, player, gBoxTruckList, 55.0f, 12.5f, NUM_RACE_BOX_TRUCKS, 0x51018003);
|
||||
func_80013F7C(playerId, player, gBoxTruckList, 55.0f, 12.5f, NUM_RACE_BOX_TRUCKS, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x03));
|
||||
}
|
||||
|
||||
void func_8001490C(s32 playerId) {
|
||||
|
|
@ -5351,7 +5352,7 @@ void func_800149D0(void) {
|
|||
}
|
||||
|
||||
void func_80014A18(s32 playerId, Player *player) {
|
||||
func_80013F7C(playerId, player, gSchoolBusList, 70.0f, 12.5f, NUM_RACE_SCHOOL_BUSES, 0x51018002);
|
||||
func_80013F7C(playerId, player, gSchoolBusList, 70.0f, 12.5f, NUM_RACE_SCHOOL_BUSES, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x02));
|
||||
}
|
||||
|
||||
void func_80014A60(s32 playerId) {
|
||||
|
|
@ -5378,7 +5379,7 @@ void func_80014B24(void) {
|
|||
}
|
||||
|
||||
void func_80014B6C(s32 playerId, Player *player) {
|
||||
func_80013F7C(playerId, player, gTankerTruckList, 55.0f, 12.5f, NUM_RACE_TANKER_TRUCKS, 0x51018004);
|
||||
func_80013F7C(playerId, player, gTankerTruckList, 55.0f, 12.5f, NUM_RACE_TANKER_TRUCKS, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x04));
|
||||
}
|
||||
|
||||
void func_80014BB4(s32 playerId) {
|
||||
|
|
@ -5405,7 +5406,7 @@ void func_80014C78(void) {
|
|||
}
|
||||
|
||||
void func_80014CC0(s32 playerId, Player *player) {
|
||||
func_80013F7C(playerId, player, gCarList, 11.5f, 8.5f, NUM_RACE_CARS, 0x51018005);
|
||||
func_80013F7C(playerId, player, gCarList, 11.5f, 8.5f, NUM_RACE_CARS, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x05));
|
||||
}
|
||||
|
||||
void func_80014D08(s32 playerId) {
|
||||
|
|
@ -7192,14 +7193,14 @@ void func_80019C50(s32 arg0) {
|
|||
case 0:
|
||||
if (D_80164608[arg0] == 1) {
|
||||
D_80164678[arg0] = 1;
|
||||
func_800C9060(arg0, 0x1900904FU);
|
||||
func_800C9060(arg0, SOUND_ARG_LOAD(0x19, 0x00, 0x90, 0x4F));
|
||||
D_80164670[arg0] = D_80164678[arg0];
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (D_80164608[arg0] == 1) {
|
||||
D_80164678[arg0] = 0;
|
||||
func_800C9060(arg0, 0x19009050U);
|
||||
func_800C9060(arg0, SOUND_ARG_LOAD(0x19, 0x00, 0x90, 0x50));
|
||||
D_80164670[arg0] = D_80164678[arg0];
|
||||
}
|
||||
break;
|
||||
|
|
@ -7711,8 +7712,8 @@ void cpu_use_item_strategy(s32 playerId) {
|
|||
banana->velocity[1] = ((waypoint->posY - player->pos[1]) / 20.0) + 4.0;
|
||||
banana->velocity[2] = (waypoint->posZ - player->pos[2]) / 20.0;
|
||||
banana->pos[1] = player->pos[1];
|
||||
func_800C92CC(playerId, 0x29008009U);
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018014U);
|
||||
func_800C92CC(playerId, SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x09));
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x14));
|
||||
} else {
|
||||
temp_s0->unk_00 = 0;
|
||||
temp_s0->unk_04 = 0;
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@
|
|||
#include "menus.h"
|
||||
#include "data/other_textures.h"
|
||||
#include "spawn_players.h"
|
||||
#include "sounds.h"
|
||||
#include "code_80071F00.h"
|
||||
|
||||
|
||||
//! @warning this macro is undef'd at the end of this file
|
||||
|
|
@ -68,7 +70,7 @@ s32 D_80165618;
|
|||
UNUSED s32 D_80165620[2];
|
||||
s32 D_80165628;
|
||||
UNUSED s32 D_80165630[2];
|
||||
s32 D_80165638;
|
||||
u32 D_80165638;
|
||||
UNUSED s32 D_80165640[2];
|
||||
u32 D_80165648;
|
||||
UNUSED u32 D_80165650[2];
|
||||
|
|
@ -1080,7 +1082,7 @@ void func_80059360(void) {
|
|||
if (D_801657B0 == 0) {
|
||||
func_8004FA78(0);
|
||||
if (playerHUD[PLAYER_ONE].lapCount != 3) {
|
||||
func_8004CB60(playerHUD[PLAYER_ONE].lapX, playerHUD[PLAYER_ONE].lapY, common_texture_hud_lap);
|
||||
func_8004CB60(playerHUD[PLAYER_ONE].lapX, playerHUD[PLAYER_ONE].lapY, (u8*) common_texture_hud_lap);
|
||||
func_8004FC78(playerHUD[PLAYER_ONE].lapX + 0xC, playerHUD[PLAYER_ONE].lapY - 4, playerHUD[PLAYER_ONE].alsoLapCount);
|
||||
func_8004E638(0);
|
||||
}
|
||||
|
|
@ -1095,7 +1097,7 @@ void func_800593F8(void) {
|
|||
if (D_801657B0 == 0) {
|
||||
func_8004FA78(1);
|
||||
if (playerHUD[PLAYER_TWO].lapCount != 3) {
|
||||
func_8004CB60(playerHUD[PLAYER_TWO].lapX, playerHUD[PLAYER_TWO].lapY, common_texture_hud_lap);
|
||||
func_8004CB60(playerHUD[PLAYER_TWO].lapX, playerHUD[PLAYER_TWO].lapY, (u8*) common_texture_hud_lap);
|
||||
func_8004FC78(playerHUD[PLAYER_TWO].lapX + 0xC, playerHUD[PLAYER_TWO].lapY - 4, playerHUD[PLAYER_TWO].alsoLapCount);
|
||||
func_8004E638(1);
|
||||
}
|
||||
|
|
@ -1133,12 +1135,12 @@ void func_80059530(void) {
|
|||
void func_80059560(s32 playerId) {
|
||||
if (gModeSelection != BATTLE) {
|
||||
if (D_801657F8 && gIsHUDVisible) {
|
||||
func_8004CB60(playerHUD[playerId].lapX, playerHUD[playerId].lapY, common_texture_hud_lap);
|
||||
func_8004CB60(playerHUD[playerId].lapX, playerHUD[playerId].lapY, (u8*) common_texture_hud_lap);
|
||||
func_8004FC78(playerHUD[playerId].lapX - 12, playerHUD[playerId].lapY + 4, playerHUD[playerId].alsoLapCount);
|
||||
}
|
||||
if (D_801657E4 == 2) {
|
||||
if (playerHUD[playerId].unk_74 && D_80165608) {
|
||||
func_80047910(playerHUD[playerId].unk_6C, playerHUD[playerId].unk_6E, 0, 1.0f, common_tlut_portrait_bomb_kart_and_question_mark, common_texture_portrait_bomb_kart, D_0D005AE0, 0x20, 0x20, 0x20, 0x20);
|
||||
func_80047910(playerHUD[playerId].unk_6C, playerHUD[playerId].unk_6E, 0, 1.0f, (u8*) common_tlut_portrait_bomb_kart_and_question_mark, common_texture_portrait_bomb_kart, D_0D005AE0, 0x20, 0x20, 0x20, 0x20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2574,11 +2576,11 @@ void func_8005CB60(s32 playerId, s32 lapCount) {
|
|||
playerHUD[playerId].someTimer = playerHUD[playerId].lapCompletionTimes[*huh];
|
||||
}
|
||||
if (gModeSelection == (s32) 1) {
|
||||
if ((u32) D_80165638 >= playerHUD[playerId].someTimer1) {
|
||||
if (D_80165638 >= playerHUD[playerId].someTimer1) {
|
||||
if (D_80165638 != playerHUD[playerId].someTimer1) {
|
||||
D_80165658[0] = D_80165658[1] = 0;
|
||||
}
|
||||
func_800C90F4(0U, (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C90F4(0U, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
D_80165638 = playerHUD[playerId].someTimer1;
|
||||
D_80165658[lapCount-1] = 1;
|
||||
D_801657E3 = 1;
|
||||
|
|
@ -2598,7 +2600,7 @@ void func_8005CB60(s32 playerId, s32 lapCount) {
|
|||
break;
|
||||
case 1: /* switch 1 */
|
||||
func_80079084(playerId);
|
||||
func_800C9060(playerId, 0x1900F015U);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0xF0, 0x15));
|
||||
if ((gCurrentCourseId == 8) && (D_80165898 == 0) && (gModeSelection != (s32) 1)) {
|
||||
D_80165898 = 1;
|
||||
}
|
||||
|
|
@ -2894,7 +2896,7 @@ void func_8005DAD8(UnkPlayerStruct258* arg0, s16 arg1, s16 arg2, s16 arg3) {
|
|||
arg0->unk_040 = arg2;
|
||||
}
|
||||
|
||||
void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
UNUSED s32 stackPadding;
|
||||
s32 surfaceType;
|
||||
s32 var_t3;
|
||||
|
|
@ -3071,13 +3073,13 @@ void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4)
|
|||
case STONE:
|
||||
case BRIDGE:
|
||||
if ((arg1 == 0) && ((player->unk_258[10 + arg2].unk_01E > 0) || (player->unk_258[10 + arg2].unk_01C == 0))) {
|
||||
if ((((player->unk_094 / 18.0f) * 216.0f) >= 30.0f) && ((((player->unk_0C0 / 182) > 0x14) || ((player->unk_0C0 / 182) < (-0x14)))) || ((player->unk_22C - player->unk_094) >= 0.04)) {
|
||||
if (((((player->unk_094 / 18.0f) * 216.0f) >= 30.0f) && ((((player->unk_0C0 / 182) > 0x14) || ((player->unk_0C0 / 182) < (-0x14))))) || ((player->unk_22C - player->unk_094) >= 0.04)) {
|
||||
func_8005D794(player, &player->unk_258[10 + arg1], var_f2, var_f12, var_f14, (s8) surfaceType, (s8) var_t3);
|
||||
func_8005D7D8(&player->unk_258[10 + arg1], 2, 0.46f);
|
||||
func_8005DAD8(&player->unk_258[10 + arg1], 0, 0, 0x0080);
|
||||
player->unk_258[10 + arg1].unk_03A = random_int(0x0010U);
|
||||
}
|
||||
} else if ((player->unk_258[10 + arg2].unk_01E > 0) && ((((player->unk_094 / 18.0f) * 216.0f) >= 30.0f) && (((player->unk_0C0 / 182) >= 0x15) || ((player->unk_0C0 / 182) < -0x14)) || ((player->unk_22C - player->unk_094) >= 0.04))) {
|
||||
} else if ((player->unk_258[10 + arg2].unk_01E > 0) && (((((player->unk_094 / 18.0f) * 216.0f) >= 30.0f) && (((player->unk_0C0 / 182) >= 0x15) || ((player->unk_0C0 / 182) < -0x14))) || ((player->unk_22C - player->unk_094) >= 0.04))) {
|
||||
func_8005D794(player, &player->unk_258[10 + arg1], var_f2, var_f12, var_f14, (s8) surfaceType, (s8) var_t3);
|
||||
func_8005D7D8(&player->unk_258[10 + arg1], 2, 0.46f);
|
||||
func_8005DAD8(&player->unk_258[10 + arg1], 0, 0, 0x0080);
|
||||
|
|
@ -3089,7 +3091,7 @@ void func_8005DAF4(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4)
|
|||
}
|
||||
}
|
||||
|
||||
void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
||||
void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3, UNUSED s8 arg4) {
|
||||
s32 temp_v0;
|
||||
s32 var_t0;
|
||||
s32 var_t1;
|
||||
|
|
@ -3134,7 +3136,7 @@ void func_8005EA94(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 temp_v0;
|
||||
s32 surfaceType;
|
||||
s32 var_t3;
|
||||
|
|
@ -3316,7 +3318,7 @@ void func_8005ED48(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4)
|
|||
// Permuter hasn't found anything
|
||||
// https://decomp.me/scratch/WjMqd
|
||||
|
||||
void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 var_t1;
|
||||
u8 surfaceType;
|
||||
f32 var_f0;
|
||||
|
|
@ -3491,7 +3493,7 @@ void func_8005F90C(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4)
|
|||
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005F90C.s")
|
||||
#endif
|
||||
|
||||
void func_80060504(Player *player, s16 arg1, s32 arg2, s32 arg3) {
|
||||
void func_80060504(Player *player, s16 arg1, s32 arg2, UNUSED s32 arg3) {
|
||||
UNUSED s32 thing1;
|
||||
s16 thing2;
|
||||
UNUSED s32 thing3;
|
||||
|
|
@ -3596,7 +3598,7 @@ void func_80060B14(Player *player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, s8 arg4) {
|
||||
void func_80060BCC(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) {
|
||||
s32 sp54;
|
||||
UNUSED s32 pad;
|
||||
s32 sp4C;
|
||||
|
|
@ -3818,7 +3820,7 @@ void func_80061A34(Player *player, s16 arg1, s32 arg2, UNUSED s8 arg3) {
|
|||
|
||||
void func_80061D4C(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3) {
|
||||
s32 test = 2;
|
||||
s32 stackPadding0;
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
UNUSED s32 stackPadding2;
|
||||
f32 sp20[10] = { -182.0f, 182.0f, 364.0f, -364.0f, 546.0f, -546.0f, 728.0f, -728.0f, 910.0f, -910.0f };
|
||||
|
|
@ -4138,7 +4140,7 @@ void func_80062B18(f32 *arg0, f32 *arg1, f32 *arg2, f32 arg3, f32 arg4, f32 arg5
|
|||
*arg2 = (coss(arg6) * arg5) + (((arg3 * temp_f20) * sp30) + ((arg4 * sp2C) * sp28));
|
||||
}
|
||||
|
||||
void func_80062C74(Player *player, s16 arg1, UNUSED s32 arg2, s32 arg3) {
|
||||
void func_80062C74(Player *player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) {
|
||||
f32 sp48[8] = { 4.5f, 4.5f, 4.5f, 4.5f, 4.5f, 5.5f, 4.5f, 6.5f };
|
||||
f32 var_f6;
|
||||
f32 sp40;
|
||||
|
|
@ -4967,7 +4969,7 @@ void func_80065F0C(Player *player, UNUSED s8 arg1, s16 arg2, s8 arg3) {
|
|||
spD4[0] = 0;
|
||||
spD4[1] = player->unk_048[arg3];
|
||||
spD4[2] = 0;
|
||||
func_800652D4(&spDC, &spD4, player->unk_258[10 + arg2].unk_00C * player->size);
|
||||
func_800652D4(spDC, spD4, player->unk_258[10 + arg2].unk_00C * player->size);
|
||||
if ((s32)player->unk_258[10 + arg2].unk_014 != 8) {
|
||||
primRed = ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x10) & 0xFF) - player->unk_258[10 + arg2].unk_03A;
|
||||
primGreen = ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x08) & 0xFF) - player->unk_258[10 + arg2].unk_03A;
|
||||
|
|
@ -5816,7 +5818,7 @@ void func_8006B8B4(Player *player, s8 playerIndex) {
|
|||
gPlayerBalloonStatus[playerIndex][gPlayerBalloonCount[playerIndex]] &= ~1;
|
||||
gPlayerBalloonStatus[playerIndex][gPlayerBalloonCount[playerIndex]] |= 2;
|
||||
gPlayerBalloonCount[playerIndex]--;
|
||||
func_800C9060(playerIndex, 0x19009051U);
|
||||
func_800C9060(playerIndex, SOUND_ARG_LOAD(0x19, 0x00, 0x90, 0x51));
|
||||
if (gPlayerBalloonCount[playerIndex] < 0) {
|
||||
func_8008FD4C(player, playerIndex);
|
||||
}
|
||||
|
|
@ -5888,8 +5890,8 @@ void render_balloon(Vec3f arg0, f32 arg1, s16 arg2, s16 arg3) {
|
|||
spF4[0] = 0;
|
||||
spF4[1] = camera1->rot[1];
|
||||
spF4[2] = arg2;
|
||||
mtxf_translate_rotate(sp108[0], spFC, spF4);
|
||||
mtxf_scale2(sp108[0], arg1);
|
||||
mtxf_translate_rotate(sp108, spFC, spF4);
|
||||
mtxf_scale2(sp108, arg1);
|
||||
convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], sp108);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gDisplayListHead++, D_0D008DB8);
|
||||
|
|
|
|||
|
|
@ -243,6 +243,8 @@ void func_8006E7CC(Player*, s8, s8);
|
|||
void func_8006E848(Player*, s8, s8);
|
||||
void func_8006E8C4(Player*, s8, s8);
|
||||
void func_8006E940(Player*, s8, s8);
|
||||
void func_80075CA8(void);
|
||||
void func_80085214();
|
||||
|
||||
// data/data_code_80071F00_2.s
|
||||
|
||||
|
|
@ -293,7 +295,7 @@ extern s32 D_801655F8;
|
|||
extern s32 D_80165608;
|
||||
extern s32 D_80165618;
|
||||
extern s32 D_80165628;
|
||||
extern s32 D_80165638;
|
||||
extern u32 D_80165638;
|
||||
extern u32 D_80165648;
|
||||
extern u32 D_80165658[];
|
||||
extern s32 D_80165678;
|
||||
|
|
|
|||
|
|
@ -1803,7 +1803,7 @@ void func_8007601C(s32 objectIndex) {
|
|||
if (gObjectList[objectIndex].unk_048 > 0) {
|
||||
gObjectList[objectIndex].unk_048--;
|
||||
if (gObjectList[objectIndex].unk_048 == 0) {
|
||||
func_800C9EF4(gObjectList[objectIndex].pos, 0x5102800A);
|
||||
func_800C9EF4(gObjectList[objectIndex].pos, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x0A));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1812,7 +1812,7 @@ void func_8007601C(s32 objectIndex) {
|
|||
if ((is_obj_index_flag_unk_054_active(objectIndex, 0x40000) != 0) && (func_80072354(objectIndex, 1) != 0)) {
|
||||
func_800722A4(objectIndex, 1);
|
||||
func_80075F98(gObjectList[objectIndex].pos, gObjectList[objectIndex].direction_angle[1], 1.0f);
|
||||
func_800C9D80(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x5102800A);
|
||||
func_800C9D80(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x0A));
|
||||
if (gObjectList[objectIndex].type > 0) {
|
||||
gObjectList[objectIndex].type--;
|
||||
gObjectList[objectIndex].unk_04C = 0x5A;
|
||||
|
|
@ -1963,7 +1963,7 @@ void func_8007661C(void) {
|
|||
if (gObjectList[objectIndex].unk_048 > 0) {
|
||||
gObjectList[objectIndex].unk_048--;
|
||||
if (gObjectList[objectIndex].unk_048 == 0) {
|
||||
func_800C9EF4(gObjectList[objectIndex].pos, 0x51038009U);
|
||||
func_800C9EF4(gObjectList[objectIndex].pos, SOUND_ARG_LOAD(0x51, 0x03, 0x80, 0x09));
|
||||
}
|
||||
}
|
||||
if (gObjectList[objectIndex].unk_04C == 0) {
|
||||
|
|
@ -2968,7 +2968,7 @@ void func_800791F0(s32 objectIndex, s32 playerId) {
|
|||
func_800722CC(objectIndex, 0x00000010);
|
||||
temp_v1->unk_0CA &= 0xFFDF;
|
||||
}
|
||||
func_800C9018(playerId, 0x0100FA28);
|
||||
func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
}
|
||||
|
||||
void init_obj_laikitu_red_flag_countdown(s32 objectIndex, s32 arg1) {
|
||||
|
|
@ -3223,7 +3223,7 @@ void update_obj_laikitu_fishing(s32 objectIndex, s32 playerId) {
|
|||
break;
|
||||
case 5:
|
||||
func_800722CC(objectIndex, 1);
|
||||
func_800C9018((u8) playerId, 0x0100FA28);
|
||||
func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
func_80072428(objectIndex);
|
||||
func_80073720(objectIndex);
|
||||
break;
|
||||
|
|
@ -3303,7 +3303,7 @@ void update_obj_laikitu_fishing2(s32 objectIndex, s32 playerId) {
|
|||
func_80072428(objectIndex);
|
||||
temp_s1->unk_0CA &= 0xFFDF;
|
||||
func_800722CC(objectIndex, 1);
|
||||
func_800C9018((u8) playerId, 0x0100FA28);
|
||||
func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -3453,7 +3453,7 @@ void update_obj_laikitu_reverse(s32 objectIndex, s32 playerId) {
|
|||
func_80086F10(objectIndex, 6, D_800E69F4);
|
||||
gObjectList[objectIndex].unk_0D6 = 2;
|
||||
gObjectList[objectIndex].unk_04C = 0x00000050;
|
||||
func_800C9018((u8) playerId, 0x0100FA28);
|
||||
func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
|
@ -3845,8 +3845,8 @@ void func_8007B34C(s32 playerId) {
|
|||
temp_t0->unk_04C = 8;
|
||||
temp_t0->unk_0D6 = 2;
|
||||
func_80072488(temp_s0);
|
||||
func_800C9018((u8) playerId, 0x0100FE1C);
|
||||
func_800C8F80((u8) playerId, 0x0100FE47U);
|
||||
func_800C9018((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x1C));
|
||||
func_800C8F80((u8) playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFE, 0x47));
|
||||
break;
|
||||
case 7:
|
||||
func_80072D3C(temp_s0, (s32) temp_t0->unk_0A2, 0, 8, 0x0000000A);
|
||||
|
|
@ -4339,7 +4339,7 @@ void func_8007C7B4(s32 someIndex, s32 arg1) {
|
|||
temp_s5 = random_int(0x0050U) - 0x28;
|
||||
random_int(0x1000U);
|
||||
something = D_800E5D9C[temp_a0];
|
||||
gObjectList[objectIndex].unk_080 = something;
|
||||
gObjectList[objectIndex].unk_080 = (Vec4s *) something;
|
||||
gObjectList[objectIndex].origin_pos[0] = (f32) temp_s1_2;
|
||||
gObjectList[objectIndex].origin_pos[1] = (f32) temp_s4;
|
||||
gObjectList[objectIndex].origin_pos[2] = (f32) temp_s5;
|
||||
|
|
@ -4535,8 +4535,8 @@ void func_8007CEDC(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_8007D070(void) {
|
||||
s32 stackPadding;
|
||||
s32 stackPadding2;
|
||||
UNUSED s32 stackPadding;
|
||||
UNUSED s32 stackPadding2;
|
||||
u16 temp_s3;
|
||||
s16 temp_t5;
|
||||
s16 temp_s2;
|
||||
|
|
@ -4562,7 +4562,7 @@ void func_8007D070(void) {
|
|||
gObjectList[objectIndex].origin_pos[0] = D_8018CF1C->pos[0] + (sins(temp_t2) * temp_s2);
|
||||
gObjectList[objectIndex].origin_pos[1] = temp_t5;
|
||||
gObjectList[objectIndex].origin_pos[2] = D_8018CF1C->pos[2] + (coss(temp_t2) * temp_s2);
|
||||
gObjectList[objectIndex].unk_080 = D_800E5D54;
|
||||
gObjectList[objectIndex].unk_080 = (Vec4s *) D_800E5D54;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4805,7 +4805,7 @@ void func_8007DDC0(s32 objectIndex) {
|
|||
if (temp_s0->unk_048 > 0) {
|
||||
temp_s0->unk_048--;
|
||||
if (temp_s0->unk_048 == 0) {
|
||||
func_800C9EF4(temp_s0->pos, 0x51028006U);
|
||||
func_800C9EF4(temp_s0->pos, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06));
|
||||
}
|
||||
}
|
||||
if (temp_s0->unk_04C == 0) {
|
||||
|
|
@ -4815,7 +4815,7 @@ void func_8007DDC0(s32 objectIndex) {
|
|||
func_8008A6DC(objectIndex, sp2C);
|
||||
if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (func_80072354(objectIndex, 1) != 0)) {
|
||||
func_800722A4(objectIndex, 1);
|
||||
func_800C9D80(temp_s0->pos, temp_s0->velocity, 0x51028006U);
|
||||
func_800C9D80(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06));
|
||||
func_800726CC(objectIndex, 3);
|
||||
if (temp_s0->type > 0) {
|
||||
temp_s0->type--;
|
||||
|
|
@ -4876,7 +4876,7 @@ void func_8007E00C(s32 objectIndex) {
|
|||
func_80073CB0(objectIndex, &gObjectList[objectIndex].unk_0A0, -0x00002000, 0, 0x00000400, 0, -1);
|
||||
gObjectList[objectIndex].orientation[2] = gObjectList[objectIndex].unk_0A0;
|
||||
if (gObjectList[objectIndex].unk_084[7] == 0) {
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x1901904EU);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x4E));
|
||||
gObjectList[objectIndex].unk_084[7] = 0x0014;
|
||||
} else {
|
||||
gObjectList[objectIndex].unk_084[7]--;
|
||||
|
|
@ -4923,7 +4923,7 @@ void func_8007E1F4(s32 objectIndex) {
|
|||
if (temp_s0->unk_048 > 0) {
|
||||
temp_s0->unk_048--;
|
||||
if (temp_s0->unk_048 == 0) {
|
||||
func_800C9EF4(temp_s0->pos, 0x51028006U);
|
||||
func_800C9EF4(temp_s0->pos, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06));
|
||||
}
|
||||
}
|
||||
if (temp_s0->unk_04C == 0) {
|
||||
|
|
@ -4933,7 +4933,7 @@ void func_8007E1F4(s32 objectIndex) {
|
|||
func_8008A6DC(objectIndex, sp2C);
|
||||
if ((is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) && (func_80072354(objectIndex, 1) != 0)) {
|
||||
func_800722A4(objectIndex, 1);
|
||||
func_800C9D80(temp_s0->pos, temp_s0->velocity, 0x51028006U);
|
||||
func_800C9D80(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x51, 0x02, 0x80, 0x06));
|
||||
func_800726CC(objectIndex, 3);
|
||||
if (temp_s0->type > 0) {
|
||||
temp_s0->type--;
|
||||
|
|
@ -5112,7 +5112,7 @@ void func_8007E63C(s32 objectIndex) {
|
|||
func_800722A4(objectIndex, 0x00000020);
|
||||
}
|
||||
}
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x19018045U);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x45));
|
||||
func_80072488(objectIndex);
|
||||
}
|
||||
break;
|
||||
|
|
@ -5177,7 +5177,7 @@ void func_8007EC30(s32 objectIndex) {
|
|||
set_obj_direction_angle(objectIndex, 0U, 0xC000U, 0U);
|
||||
set_obj_orientation(objectIndex, 0U, 0xC000U, 0U);
|
||||
}
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s1->model = d_course_bowsers_castle_dl_thwomp;
|
||||
temp_s1->boundingBoxSize = 0x000C;
|
||||
temp_s1->sizeScaling = 1.0f;
|
||||
|
|
@ -5190,7 +5190,7 @@ void func_8007EC30(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_8007ED6C(s32 objectIndex) {
|
||||
s32 stackPadding[4];
|
||||
UNUSED s32 stackPadding[4];
|
||||
switch (gObjectList[objectIndex].state) {
|
||||
case 0:
|
||||
break;
|
||||
|
|
@ -5220,7 +5220,7 @@ void func_8007ED6C(s32 objectIndex) {
|
|||
void func_8007EE5C(s32 objectIndex) {
|
||||
Objects *temp_s0;
|
||||
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->sizeScaling = 1.0f;
|
||||
temp_s0->model = d_course_bowsers_castle_dl_thwomp;
|
||||
|
|
@ -5519,7 +5519,7 @@ void func_8007F8D8(void) {
|
|||
void func_8007FA08(s32 objectIndex) {
|
||||
Objects *temp_s0;
|
||||
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->model = d_course_bowsers_castle_dl_thwomp;
|
||||
temp_s0->boundingBoxSize = 0x000C;
|
||||
|
|
@ -5546,7 +5546,7 @@ void func_8007FA08(s32 objectIndex) {
|
|||
|
||||
void func_8007FB48(s32 objectIndex) {
|
||||
s32 var_v0;
|
||||
s32 stackPadding;
|
||||
UNUSED s32 stackPadding;
|
||||
Player *player;
|
||||
|
||||
player = &gPlayerOne[gObjectList[objectIndex].unk_0D1];
|
||||
|
|
@ -5679,7 +5679,7 @@ void func_8007FFC0(s32 objectIndex) {
|
|||
void func_80080078(s32 objectIndex) {
|
||||
Objects *temp_s0;
|
||||
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->model = d_course_bowsers_castle_dl_thwomp;
|
||||
temp_s0->boundingBoxSize = 0x000C;
|
||||
|
|
@ -5746,7 +5746,7 @@ void func_800802C0(s32 objectIndex) {
|
|||
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->unk_0D8 = 0;
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s0->model = d_course_bowsers_castle_dl_thwomp;
|
||||
temp_s0->itemDisplay = 0;
|
||||
temp_s0->boundingBoxSize = 0x000C;
|
||||
|
|
@ -5781,7 +5781,7 @@ void func_80080408(s32 objectIndex) {
|
|||
case 2:
|
||||
func_8008A6DC(objectIndex, 100.0f);
|
||||
if (is_obj_index_flag_unk_054_active(objectIndex, 0x00040000) != 0) {
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x19018045U);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x45));
|
||||
func_80072488(objectIndex);
|
||||
}
|
||||
break;
|
||||
|
|
@ -5803,7 +5803,7 @@ void func_80080408(s32 objectIndex) {
|
|||
void func_80080524(s32 objectIndex) {
|
||||
Objects *temp_s0;
|
||||
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_bowsers_castle_thwomp_tlut, (u8*) d_course_bowsers_castle_thwomp_faces, 0x10U, (u16) 0x00000040);
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->model = d_course_bowsers_castle_dl_thwomp;
|
||||
temp_s0->boundingBoxSize = 0x000C;
|
||||
|
|
@ -5904,10 +5904,10 @@ void func_800808CC(s32 objectIndex) {
|
|||
func_80073514(objectIndex);
|
||||
if (gGamestate != 9) {
|
||||
if ((D_8018D40C == 0) && (gObjectList[objectIndex].state == 2)) {
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x19036045U);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
|
||||
}
|
||||
} else if ((gCutsceneShotTimer < 0xBF) && (((s16) gCutsceneShotTimer % 88) == 0x0000001E)) {
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x19036045U);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x03, 0x60, 0x45));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5923,9 +5923,9 @@ void func_80080A4C(s32 objectIndex, s32 cameraPlayerId) {
|
|||
Player *player = &gPlayerOne[cameraPlayerId];
|
||||
|
||||
if (gScreenModeSelection != SCREEN_MODE_3P_4P_SPLITSCREEN) {
|
||||
if ((func_80072320(objectIndex, 0x00000010) != 0) && (is_within_horizontal_distance_of_player(objectIndex, player, 500.0f) != 0)) {
|
||||
if ((func_80072320(objectIndex, 0x00000010) != 0) && (is_within_horizontal_distance_of_player(objectIndex, player, 500.0f) != FALSE)) {
|
||||
func_8001CA10(camera);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, 0x1900800FU);
|
||||
func_800C98B8(gObjectList[objectIndex].pos, gObjectList[objectIndex].velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x0F));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5941,12 +5941,12 @@ void func_80080B28(s32 objectIndex, s32 playerId) {
|
|||
if ((temp_f0 <= 9.0) && !(temp_s0->effects & 0x04000000) && (has_collided_horizontally_with_player(objectIndex, temp_s0) != 0)) {
|
||||
if ((temp_s0->type & 0x8000) && !(temp_s0->type & 0x100)) {
|
||||
if (!(temp_s0->effects & 0x200)) {
|
||||
func_80089474(objectIndex, playerId, 1.4f, 1.1f, 0x1900A04CU);
|
||||
func_80089474(objectIndex, playerId, 1.4f, 1.1f, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x4C));
|
||||
} else if (func_80072354(objectIndex, 0x00000040) != 0) {
|
||||
if (temp_s0->type & 0x1000) {
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, 0x1901A24AU);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0xA2, 0x4A));
|
||||
} else {
|
||||
func_800C9060((u8) playerId, 0x1901A24AU);
|
||||
func_800C9060((u8) playerId, SOUND_ARG_LOAD(0x19, 0x01, 0xA2, 0x4A));
|
||||
}
|
||||
func_80080DE4(objectIndex);
|
||||
func_80075304(gObjectList[objectIndex].pos, 3, 3, D_8018D3C4);
|
||||
|
|
@ -6143,7 +6143,7 @@ void func_80081210(void) {
|
|||
}
|
||||
|
||||
void func_8008153C(s32 objectIndex) {
|
||||
s32 stackPadding[3];
|
||||
UNUSED s32 stackPadding[3];
|
||||
s32 sp70;
|
||||
s32 var_s1;
|
||||
s32 var_s7;
|
||||
|
|
@ -6196,7 +6196,7 @@ void func_80081790(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_80081848(s32 objectIndex) {
|
||||
init_texture_object(objectIndex, d_course_moo_moo_farm_mole_tlut, d_course_moo_moo_farm_mole_frames, 0x20U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_moo_moo_farm_mole_tlut, (u8*) d_course_moo_moo_farm_mole_frames, 0x20U, (u16) 0x00000040);
|
||||
gObjectList[objectIndex].sizeScaling = 0.15f;
|
||||
gObjectList[objectIndex].itemDisplay = 0;
|
||||
func_8008B80C(objectIndex, 0.0f, 0.0f, 0.0f);
|
||||
|
|
@ -6281,7 +6281,7 @@ void func_80081AFC(s32 objectIndex, s32 arg1) {
|
|||
func_80086EAC(objectIndex, 2, 4);
|
||||
func_8008153C(objectIndex);
|
||||
func_80072488(objectIndex);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, 0x19018007U);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x07));
|
||||
}
|
||||
break;
|
||||
case 0x4:
|
||||
|
|
@ -6380,8 +6380,8 @@ void func_80081D34(s32 objectIndex) {
|
|||
* So there' something kind of fucky happening
|
||||
**/
|
||||
void func_80081FF4(s32 objectIndex, s32 arg1) {
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
s32 moleCount;
|
||||
s16 var_v1;
|
||||
s16 offset;
|
||||
|
|
@ -6441,7 +6441,7 @@ void func_800821AC(s32 objectIndex, s32 arg1) {
|
|||
void func_800821FC(void) {
|
||||
s32 var_s1;
|
||||
s32 objectIndex;
|
||||
s32 stackPadding;
|
||||
UNUSED s32 stackPadding;
|
||||
|
||||
for (var_s1 = 0; var_s1 < D_8018D1C8; var_s1++) {
|
||||
objectIndex = indexObjectList1[var_s1];
|
||||
|
|
@ -6485,7 +6485,7 @@ void func_800821FC(void) {
|
|||
}
|
||||
|
||||
void func_8008241C(s32 objectIndex, s32 arg1) {
|
||||
s16 stackPadding0;
|
||||
UNUSED s16 stackPadding0;
|
||||
s16 temp_f4;
|
||||
s16 sp22;
|
||||
s16 sp20;
|
||||
|
|
@ -6508,7 +6508,7 @@ void func_8008241C(s32 objectIndex, s32 arg1) {
|
|||
set_obj_direction_angle(objectIndex, 0U, 0U, 0U);
|
||||
gObjectList[objectIndex].unk_034 = 1.0f;
|
||||
func_80086EF0(objectIndex);
|
||||
gObjectList[objectIndex].unk_080 = D_800E633C[arg1 % 4];
|
||||
gObjectList[objectIndex].unk_080 = (Vec4s *) D_800E633C[arg1 % 4];
|
||||
set_object_flag_unk_054_true(objectIndex, 0x00000800);
|
||||
func_80072488(objectIndex);
|
||||
}
|
||||
|
|
@ -6525,7 +6525,7 @@ void func_80082714(s32 objectIndex, s32 arg1) {
|
|||
}
|
||||
|
||||
void func_8008275C(s32 objectIndex) {
|
||||
s32 stackPadding;
|
||||
UNUSED s32 stackPadding;
|
||||
switch (gObjectList[objectIndex].unk_0DD) { /* irregular */
|
||||
case 1:
|
||||
func_8008B78C(objectIndex);
|
||||
|
|
@ -6534,7 +6534,7 @@ void func_8008275C(s32 objectIndex) {
|
|||
case 2:
|
||||
func_8008B78C(objectIndex);
|
||||
vec3f_copy(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos);
|
||||
func_8000D940(gObjectList[objectIndex].origin_pos, &gObjectList[objectIndex].unk_0C6, gObjectList[objectIndex].unk_034, 0.0f, 0);
|
||||
func_8000D940(gObjectList[objectIndex].origin_pos, (s16 *) &gObjectList[objectIndex].unk_0C6, gObjectList[objectIndex].unk_034, 0.0f, 0);
|
||||
gObjectList[objectIndex].unk_028[0] *= 2.0;
|
||||
gObjectList[objectIndex].unk_028[1] *= 2.5;
|
||||
gObjectList[objectIndex].unk_028[2] *= 2.0;
|
||||
|
|
@ -6547,7 +6547,7 @@ void func_8008275C(s32 objectIndex) {
|
|||
|
||||
void func_80082870(void) {
|
||||
Objects *temp_s1;
|
||||
s32 *var_s4;
|
||||
UNUSED s32 *var_s4;
|
||||
s32 temp_s0;
|
||||
s32 var_s3;
|
||||
|
||||
|
|
@ -6567,12 +6567,12 @@ void func_80082870(void) {
|
|||
D_80183E40[1] = 0.0f;
|
||||
D_80183E40[2] = 0.0f;
|
||||
if (gGamestate != 9) {
|
||||
func_800C98B8(temp_s1->pos, D_80183E40, 0x19017043U);
|
||||
func_800C98B8(temp_s1->pos, D_80183E40, SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x43));
|
||||
} else {
|
||||
temp_s0 = indexObjectList2[1];
|
||||
if (gCutsceneShotTimer < 0x97) {
|
||||
temp_s1 = &gObjectList[temp_s0];
|
||||
func_800C98B8(temp_s1->pos, D_80183E40, 0x19017043U);
|
||||
func_800C98B8(temp_s1->pos, D_80183E40, SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x43));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6596,7 +6596,7 @@ void func_80082870(void) {
|
|||
void init_ktb_crab(s32 objectIndex) {
|
||||
Objects *object;
|
||||
|
||||
init_texture_object(objectIndex, d_course_koopa_troopa_beach_crab_tlut, d_course_koopa_troopa_beach_crab_frames, 0x40U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, d_course_koopa_troopa_beach_crab_tlut, (u8*) d_course_koopa_troopa_beach_crab_frames, 0x40U, (u16) 0x00000040);
|
||||
object = &gObjectList[objectIndex];
|
||||
object->sizeScaling = 0.15f;
|
||||
object->itemDisplay = 0;
|
||||
|
|
@ -6610,7 +6610,7 @@ void init_ktb_crab(s32 objectIndex) {
|
|||
set_object_flag_unk_054_true(objectIndex, 0x00000200);
|
||||
}
|
||||
|
||||
void func_80082B34(s32 objectIndex, s32 unused) {
|
||||
void func_80082B34(s32 objectIndex, UNUSED s32 unused) {
|
||||
switch (gObjectList[objectIndex].state) { /* irregular */
|
||||
case 0:
|
||||
break;
|
||||
|
|
@ -6695,8 +6695,8 @@ void func_80082E5C(void) {
|
|||
// https://decomp.me/scratch/RquH0
|
||||
// Gollygee I sure love register allocation :^)
|
||||
void func_80082F1C(s32 objectIndex, s32 arg1) {
|
||||
gObjectList[objectIndex].model = d_course_yoshi_valley_unk5;
|
||||
gObjectList[objectIndex].vertex = d_course_yoshi_valley_unk4;
|
||||
gObjectList[objectIndex].model = (Gfx *) d_course_yoshi_valley_unk5;
|
||||
gObjectList[objectIndex].vertex = (Vtx *) d_course_yoshi_valley_unk4;
|
||||
gObjectList[objectIndex].sizeScaling = 0.027f;
|
||||
func_80072488(objectIndex);
|
||||
set_obj_origin_pos(objectIndex, D_800E5DF4[arg1].pos[0] * xOrientation, D_800E5DF4[arg1].pos[1], D_800E5DF4[arg1].pos[2]);
|
||||
|
|
@ -7074,7 +7074,7 @@ void func_80083FD0(s32 objectIndex, s32 arg1, s32 playerId) {
|
|||
temp_s0->origin_pos[2] = (sp20->pos[2] + random_int(0x0014U)) - 10.0f;
|
||||
}
|
||||
|
||||
void func_8008421C(s32 arg0, s32 playerId) {
|
||||
void func_8008421C(UNUSED s32 arg0, s32 playerId) {
|
||||
s32 objectIndex;
|
||||
s32 var_s0;
|
||||
|
||||
|
|
@ -7115,7 +7115,7 @@ void func_800842C8(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80084430(s32 objectIndex, s32 arg1) {
|
||||
void func_80084430(s32 objectIndex, UNUSED s32 arg1) {
|
||||
Objects *temp_s0;
|
||||
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
|
|
@ -7129,7 +7129,7 @@ void func_80084430(s32 objectIndex, s32 arg1) {
|
|||
set_obj_direction_angle(objectIndex, 0U, 0U, 0U);
|
||||
temp_s0->unk_0DD = 1;
|
||||
func_80086EF0(objectIndex);
|
||||
temp_s0->unk_080 = *D_800E672C;
|
||||
temp_s0->unk_080 = (Vec4s *) *D_800E672C;
|
||||
set_object_flag_unk_054_true(objectIndex, 0x04000800);
|
||||
temp_s0->type = func_80004EAC(d_course_sherbet_land_unk_data11, 0);
|
||||
func_80072488(objectIndex);
|
||||
|
|
@ -7155,8 +7155,8 @@ void func_800845C8(s32 objectIndex, s32 arg1) {
|
|||
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->unk_0D8 = 0;
|
||||
temp_s0->model = d_course_sherbet_land_unk_data1;
|
||||
temp_s0->vertex = d_course_sherbet_land_unk_data11;
|
||||
temp_s0->model = (Gfx *) d_course_sherbet_land_unk_data1;
|
||||
temp_s0->vertex = (Vtx *) d_course_sherbet_land_unk_data11;
|
||||
temp_s0->boundingBoxSize = 4;
|
||||
temp_s0->unk_09C = 2;
|
||||
temp_s0->unk_04C = random_int(0x012CU);
|
||||
|
|
@ -7293,9 +7293,9 @@ void func_80084B7C(s32 objectIndex, s32 arg1) {
|
|||
if (func_80072320(objectIndex, 0x00000080) != 0) {
|
||||
func_800722CC(objectIndex, 0x00000080);
|
||||
if (func_80072320(objectIndex, 0x00000010) != 0) {
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, 0x19007049U);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x49));
|
||||
} else {
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, 0x19007017U);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x17));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7444,7 +7444,7 @@ void func_800850B0(s32 objectIndex, s32 arg1) {
|
|||
}
|
||||
|
||||
void func_80085214(void) {
|
||||
s32 var_s2;
|
||||
UNUSED s32 var_s2;
|
||||
s32 objectIndex;
|
||||
s32 var_s1;
|
||||
|
||||
|
|
@ -7574,8 +7574,8 @@ void func_80085878(s32 objectIndex, s32 arg1) {
|
|||
|
||||
temp_s0 = &gObjectList[objectIndex];
|
||||
temp_s0->unk_0D8 = 1;
|
||||
temp_s0->model = d_rainbow_road_unk4;
|
||||
temp_s0->vertex = d_rainbow_road_unk3;
|
||||
temp_s0->model = (Gfx *) d_rainbow_road_unk4;
|
||||
temp_s0->vertex = (Vtx *) d_rainbow_road_unk3;
|
||||
temp_s0->sizeScaling = 0.03f;
|
||||
temp_s0->boundingBoxSize = 0x000A;
|
||||
set_object_flag_unk_054_true(objectIndex, 0x04000200);
|
||||
|
|
@ -7604,7 +7604,7 @@ void func_800859C8(s32 objectIndex, s32 arg1) {
|
|||
break;
|
||||
}
|
||||
if (D_8018D40C == 0) {
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, 0x19018057U);
|
||||
func_800C98B8(temp_s0->pos, temp_s0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x57));
|
||||
}
|
||||
func_80074344(objectIndex, &temp_s0->unk_044, -0.8f, 0.8f, 0.03f, 0, -1);
|
||||
}
|
||||
|
|
@ -7637,7 +7637,7 @@ void func_80085BB4(s32 objectIndex) {
|
|||
|
||||
void init_obj_neon_mushroom(s32 objectIndex) {
|
||||
set_obj_origin_pos(objectIndex, xOrientation * -1431.0, 827.0f, -2957.0f);
|
||||
init_texture_object(objectIndex, d_course_rainbow_road_neon_mushroom_tlut_list, d_course_rainbow_road_neon_mushroom, 0x40U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, (u8*) d_course_rainbow_road_neon_mushroom_tlut_list, d_course_rainbow_road_neon_mushroom, 0x40U, (u16) 0x00000040);
|
||||
func_80085BB4(objectIndex);
|
||||
}
|
||||
|
||||
|
|
@ -7675,7 +7675,7 @@ void func_80085CA0(s32 objectIndex) {
|
|||
|
||||
void func_80085DB8(s32 objectIndex) {
|
||||
set_obj_origin_pos(objectIndex, xOrientation * 799.0, 1193.0f, -5891.0f);
|
||||
init_texture_object(objectIndex, d_course_rainbow_road_neon_mario_tlut_list, d_course_rainbow_road_neon_mario, 0x40U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, (u8*) d_course_rainbow_road_neon_mario_tlut_list, d_course_rainbow_road_neon_mario, 0x40U, (u16) 0x00000040);
|
||||
func_80085BB4(objectIndex);
|
||||
}
|
||||
|
||||
|
|
@ -7704,7 +7704,7 @@ void func_80085E38(s32 objectIndex) {
|
|||
|
||||
void func_80085EF8(s32 objectIndex) {
|
||||
set_obj_origin_pos(objectIndex, xOrientation * -2013.0, 555.0f, 0.0f);
|
||||
init_texture_object(objectIndex, d_course_rainbow_road_neon_boo_tlut_list, d_course_rainbow_road_neon_boo, 0x40U, (u16) 0x00000040);
|
||||
init_texture_object(objectIndex, (u8*) d_course_rainbow_road_neon_boo_tlut_list, d_course_rainbow_road_neon_boo, 0x40U, (u16) 0x00000040);
|
||||
func_80085BB4(objectIndex);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -130,6 +130,7 @@ void func_80075574(s32, Vec3f, f32);
|
|||
s32 func_800755FC(s32, Vec3f, f32);
|
||||
void func_80075698(s32);
|
||||
void func_80075714(s32);
|
||||
void func_80075838(void);
|
||||
void func_800759EC(s32, Vec3f, f32);
|
||||
s32 func_80075A6C(s32, Vec3f, f32);
|
||||
void func_80075B08(s32);
|
||||
|
|
|
|||
|
|
@ -31,10 +31,10 @@ void func_80086EF0(s32 objectIndex) {
|
|||
func_80086E70(objectIndex);
|
||||
}
|
||||
|
||||
void func_80086F10(s32 objectIndex, s32 arg1, u16 arg2[][4]) {
|
||||
void func_80086F10(s32 objectIndex, s32 arg1, Vec4s arg2[]) {
|
||||
func_80086E70(objectIndex);
|
||||
gObjectList[objectIndex].unk_0DE = arg1;
|
||||
gObjectList[objectIndex].unk_080 = (u16 *) arg2;
|
||||
gObjectList[objectIndex].unk_080 = arg2;
|
||||
}
|
||||
|
||||
void func_80086F60(s32 objectIndex) {
|
||||
|
|
@ -1031,8 +1031,8 @@ f32 func_8008933C(Player *player, s32 objectIndex, f32 arg2, f32 arg3) {
|
|||
return var_f2;
|
||||
}
|
||||
|
||||
void func_80089474(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 arg4) {
|
||||
s32 stackPadding;
|
||||
void func_80089474(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 soundBits) {
|
||||
UNUSED s32 stackPadding;
|
||||
Player *player;
|
||||
|
||||
player = &gPlayerOne[playerId];
|
||||
|
|
@ -1040,17 +1040,17 @@ void func_80089474(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 arg4)
|
|||
func_80072180();
|
||||
}
|
||||
if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
||||
func_800C9060(playerId, arg4);
|
||||
func_800C9060(playerId, soundBits);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80089538(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 arg4) {
|
||||
s32 stackPadding;
|
||||
void func_80089538(s32 objectIndex, s32 playerId, f32 arg2, f32 arg3, u32 soundBits) {
|
||||
UNUSED s32 stackPadding;
|
||||
Player *player;
|
||||
|
||||
player = &gPlayerOne[playerId];
|
||||
if ((func_8008933C(player, objectIndex, arg2, arg3) >= 4.0) && ((player->type & PLAYER_CPU) != PLAYER_CPU)) {
|
||||
func_800C9060((u8) playerId, arg4);
|
||||
func_800C9060((u8) playerId, soundBits);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1444,7 +1444,7 @@ void func_8008A920(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_8008A9B8(s32 objectIndex) {
|
||||
s32 temp_t9;
|
||||
UNUSED s32 temp_t9;
|
||||
Objects *temp_v0;
|
||||
|
||||
temp_v0 = &gObjectList[objectIndex];
|
||||
|
|
@ -1474,7 +1474,7 @@ void func_8008AA3C(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_8008AB10(s32 objectIndex) {
|
||||
s16 temp_t3;
|
||||
UNUSED s16 temp_t3;
|
||||
Objects *temp_v0;
|
||||
|
||||
temp_v0 = &gObjectList[objectIndex];
|
||||
|
|
@ -1668,7 +1668,7 @@ void func_8008B284(s32 objectIndex) {
|
|||
D_80165780[someIndex] = (*test)[2];
|
||||
if (sp0 == someIndex) {
|
||||
// Huh???????? This makes no sense
|
||||
test = &gObjectList[objectIndex].unk_080[0][1];
|
||||
test = (Vec4s *) &gObjectList[objectIndex].unk_080[0][1];
|
||||
} else {
|
||||
test++;
|
||||
}
|
||||
|
|
@ -1676,14 +1676,14 @@ void func_8008B284(s32 objectIndex) {
|
|||
}
|
||||
|
||||
void func_8008B3E4(s32 objectIndex) {
|
||||
Vec4s *test;
|
||||
UNUSED Vec4s *test;
|
||||
Objects *temp_v0;
|
||||
|
||||
if (is_obj_index_flag_unk_054_inactive(objectIndex, 8) != 0) {
|
||||
temp_v0 = &gObjectList[objectIndex];
|
||||
temp_v0->unk_084[9] = 0;
|
||||
temp_v0->timer = 0;
|
||||
temp_v0->unk_07C = &gObjectList[objectIndex].unk_080[0][1];
|
||||
temp_v0->unk_07C = (Vec4s *) &gObjectList[objectIndex].unk_080[0][1];
|
||||
// Huh????????? Negative array indexing is a near certain sign
|
||||
// that something has gone wrong on our end.
|
||||
temp_v0->unk_084[8] = temp_v0->unk_07C[0][-1];
|
||||
|
|
@ -1699,7 +1699,7 @@ void func_8008B44C(s32 objectIndex) {
|
|||
void func_8008B478(s32 objectIndex, s32 arg1) {
|
||||
f32 sp34;
|
||||
f32 temp;
|
||||
f32 temp2;
|
||||
UNUSED f32 temp2;
|
||||
f32 var_f6;
|
||||
|
||||
func_8008B3E4(objectIndex);
|
||||
|
|
@ -1723,7 +1723,7 @@ void func_8008B478(s32 objectIndex, s32 arg1) {
|
|||
}
|
||||
|
||||
void func_8008B620(s32 objectIndex) {
|
||||
s16 temp_t0;
|
||||
UNUSED s16 temp_t0;
|
||||
Objects *temp_v0;
|
||||
|
||||
func_8008B478(objectIndex, 0);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
void func_80086E70(s32);
|
||||
void func_80086EAC(s32, s32, s16);
|
||||
void func_80086EF0(s32);
|
||||
void func_80086F10(s32, s32, u16[][4]);
|
||||
void func_80086F10(s32, s32, Vec4s[]);
|
||||
void func_80086F60(s32);
|
||||
s32 func_80086FA4(s32);
|
||||
void func_80086FD4(s32);
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#include "effects.h"
|
||||
#include "audio/external.h"
|
||||
#include "spawn_players.h"
|
||||
#include "code_80091750.h"
|
||||
|
||||
s32 D_8018D900[8];
|
||||
s16 D_8018D920[8];
|
||||
|
|
@ -231,15 +232,15 @@ void clean_effect(Player *player, s8 arg1) {
|
|||
|
||||
void func_8008C528(Player *player, s8 arg1) {
|
||||
UNUSED s32 sp24;
|
||||
s32 temp_v1;
|
||||
s32 characterId;
|
||||
clean_effect(player, arg1);
|
||||
func_8008C310(player);
|
||||
temp_v1 = player->characterId;
|
||||
characterId = player->characterId;
|
||||
player->unk_0C2 = 0;
|
||||
player->kartHopJerk = D_800E37B0[temp_v1];
|
||||
player->kartHopJerk = D_800E37B0[characterId];
|
||||
player->kartHopAcceleration = 0.0f;
|
||||
|
||||
player->kartHopVelocity = D_800E3790[temp_v1];
|
||||
player->kartHopVelocity = D_800E3790[characterId];
|
||||
player->unk_0A8 = 0;
|
||||
player->effects = player->effects | 0x400;
|
||||
player->effects = player->effects & ~0x10;
|
||||
|
|
@ -247,7 +248,7 @@ void func_8008C528(Player *player, s8 arg1) {
|
|||
player->unk_236 = 2;
|
||||
player->unk_042 = 0;
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C90F4(arg1, (temp_v1 * 0x10) + 0x29008005);
|
||||
func_800C90F4(arg1, (characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x05));
|
||||
func_800C9060(arg1, SOUND_ACTION_EXPLOSION);
|
||||
} else {
|
||||
func_800098FC(arg1, player);
|
||||
|
|
@ -316,7 +317,7 @@ void func_8008C73C(Player *player, s8 arg1) {
|
|||
D_8018D920[arg1] = 0;
|
||||
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008003);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x03));
|
||||
} else {
|
||||
func_800098FC(arg1, player);
|
||||
}
|
||||
|
|
@ -394,7 +395,7 @@ void func_8008C9EC(Player *player, s8 arg1) {
|
|||
}
|
||||
}
|
||||
if ((gIsPlayerTripleAButtonCombo[arg1] == TRUE) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) {
|
||||
gTimerBoostTripleACombo[arg1] = 0x00000078;
|
||||
gTimerBoostTripleACombo[arg1] = 120;
|
||||
if (player->currentSpeed <= 90.0f) {
|
||||
player->currentSpeed = 90.0f;
|
||||
}
|
||||
|
|
@ -446,7 +447,7 @@ void func_8008CEB0(Player *player, s8 arg1) {
|
|||
player->effects &= ~0x40000;
|
||||
if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)
|
||||
{
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08));
|
||||
var_v1 = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -512,7 +513,7 @@ void func_8008D170(Player *player, s8 arg1) {
|
|||
player->effects &= ~0x40000;
|
||||
if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)
|
||||
{
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08));
|
||||
var_v1 = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -551,12 +552,12 @@ void apply_boost_sound_effect(Player* player, s8 arg1) {
|
|||
if (D_8015F890 != 1) {
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C9250(arg1);
|
||||
func_800C9060(arg1, 0x1900A40B);
|
||||
func_800C9060(arg1, SOUND_ARG_LOAD(0x19, 0x00, 0xA4, 0x0B));
|
||||
}
|
||||
} else {
|
||||
if (player == gPlayerOne) {
|
||||
func_800C9250(arg1);
|
||||
func_800C9060(arg1, 0x1900A40B);
|
||||
func_800C9060(arg1, SOUND_ARG_LOAD(0x19, 0x00, 0xA4, 0x0B));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -602,11 +603,11 @@ void func_8008D570(Player *player, s8 arg1) {
|
|||
D_8018D920[arg1] = 0;
|
||||
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C9060(arg1, 0x19008002);
|
||||
func_800C9060(arg1, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x02));
|
||||
}
|
||||
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x2900800C);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0C));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -637,7 +638,7 @@ void func_8008D760(Player* player) {
|
|||
player->unk_07C = 0;
|
||||
player->unk_0C0 = 0;
|
||||
player->rotation[1] = player->unk_0AE;
|
||||
player->effects &= 0xFFF7FFFF;
|
||||
player->effects &= ~0x80000;
|
||||
player->kartGravity = gKartGravityTable[player->characterId];
|
||||
player->type &= 0xFF7F;
|
||||
}
|
||||
|
|
@ -659,7 +660,7 @@ void func_8008D7B0(Player* player, s8 arg1) {
|
|||
player->unk_078 = 0;
|
||||
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008003);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x03));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -690,7 +691,7 @@ void func_8008D97C(Player *player) {
|
|||
player->unk_07C = 0;
|
||||
player->unk_0C0 = 0;
|
||||
player->rotation[1] = player->unk_0AE;
|
||||
player->effects &= 0xFF7FFFFF;
|
||||
player->effects &= ~0x80000;
|
||||
player->kartGravity = gKartGravityTable[player->characterId];
|
||||
}
|
||||
|
||||
|
|
@ -724,7 +725,7 @@ void func_8008DABC(Player *player, s8 arg1) {
|
|||
player->unk_238 = 0;
|
||||
player->unk_DB4.unk10 = 4.5f;
|
||||
D_8018D990[arg1] = 0;
|
||||
player->effects &= ~0x08000010;
|
||||
player->effects &= ~(0x08000000 | 0x10);
|
||||
D_80165190[0][arg1] = 1;
|
||||
D_80165190[1][arg1] = 1;
|
||||
D_80165190[2][arg1] = 1;
|
||||
|
|
@ -738,7 +739,7 @@ void func_8008DABC(Player *player, s8 arg1) {
|
|||
}
|
||||
|
||||
if (((player->type & PLAYER_HUMAN) != 0) && ((player->effects & 0x04000000) == 0)) {
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008005);
|
||||
func_800C90F4(arg1, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x05));
|
||||
}
|
||||
|
||||
player->effects |= 0x04000000;
|
||||
|
|
@ -1838,21 +1839,21 @@ void func_80090868(Player* player) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
void func_80090970(Player *player, s8 playerId, s8 arg2) {
|
||||
UNUSED s32 stackPadding0;
|
||||
UNUSED s32 stackPadding1;
|
||||
Vec3f sp44;
|
||||
Vec3f sp38;
|
||||
TrackWaypoint *waypoint;
|
||||
s32 stackPadding2;
|
||||
s32 stackPadding3;
|
||||
UNUSED s32 stackPadding2;
|
||||
UNUSED s32 stackPadding3;
|
||||
|
||||
player->unk_0C2 = 0x000C;
|
||||
player->unk_078 = 0;
|
||||
player->unk_07C = 0;
|
||||
player->unk_0C0 = 0;
|
||||
player->unk_08C = 0.0f;
|
||||
clean_effect(player, arg1);
|
||||
clean_effect(player, playerId);
|
||||
switch (player->unk_222) {
|
||||
case 0:
|
||||
if ((player->unk_0CA & 1) == 1) {
|
||||
|
|
@ -1862,9 +1863,9 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0C8 = 0x003C;
|
||||
}
|
||||
} else {
|
||||
move_f32_towards(&player->pos[1], D_801652A0[arg1] + 100.0f, 0.012f);
|
||||
move_f32_towards(&player->pos[1], D_801652A0[playerId] + 100.0f, 0.012f);
|
||||
move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f);
|
||||
if ((D_801652A0[arg1] + 40.0f) <= player->pos[1]) {
|
||||
if ((D_801652A0[playerId] + 40.0f) <= player->pos[1]) {
|
||||
player->unk_222 = 1;
|
||||
player->unk_0CA |= 4;
|
||||
player->unk_0C6 = 0x00FF;
|
||||
|
|
@ -1880,15 +1881,15 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
}
|
||||
}
|
||||
if ((player->effects & BOO_EFFECT) == BOO_EFFECT) {
|
||||
func_8008FB30(player, arg1);
|
||||
func_8008FB30(player, playerId);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (((player->type & PLAYER_HUMAN) == 0x4000) && ((player->type & PLAYER_CPU) == 0)) {
|
||||
func_8009E088(arg1, 0xA);
|
||||
func_8009E088(playerId, 0xA);
|
||||
}
|
||||
if ((player->unk_0CA & 1) == 1) {
|
||||
move_f32_towards(&player->pos[1], D_801652A0[arg1] + 40.0f, 0.02f);
|
||||
move_f32_towards(&player->pos[1], D_801652A0[playerId] + 40.0f, 0.02f);
|
||||
player->unk_0C6 -= 8;
|
||||
if (player->unk_0C6 < 9) {
|
||||
player->unk_0C6 = 0;
|
||||
|
|
@ -1906,7 +1907,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0CA &= ~0x2000;
|
||||
break;
|
||||
case 2:
|
||||
func_80090178(player, arg1, sp44, sp38);
|
||||
func_80090178(player, playerId, sp44, sp38);
|
||||
// Fakematch found by Verti, who knows what's going on here
|
||||
player->rotation[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF;
|
||||
player->pos[0] = sp44[0];
|
||||
|
|
@ -1915,16 +1916,16 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_222 = 3;
|
||||
break;
|
||||
case 3:
|
||||
D_80165330[arg1] = 0;
|
||||
D_80165330[playerId] = 0;
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_CPU) == 0)) {
|
||||
func_8009E020(arg1, 0x14);
|
||||
func_8009E020(playerId, 0x14);
|
||||
}
|
||||
func_80090178(player, arg1, sp44, sp38);
|
||||
func_80090178(player, playerId, sp44, sp38);
|
||||
player->pos[0] = sp44[0];
|
||||
player->pos[1] = sp44[1] + 40.0f;
|
||||
player->pos[2] = sp44[2];
|
||||
player->pos[2] = player->pos[2] + coss((arg1 * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[0] = player->pos[0] + sins((arg1 * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[2] = player->pos[2] + coss((playerId * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[0] = player->pos[0] + sins((playerId * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->unk_0C6 += 8;
|
||||
if (player->unk_0C6 >= 0xF0) {
|
||||
player->unk_0C6 = 0x00FF;
|
||||
|
|
@ -1950,17 +1951,17 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0CA &= ~0x1000;
|
||||
if (player->unk_0C8 >= 0x5B) {
|
||||
if (player->type & PLAYER_HUMAN) {
|
||||
func_800C9018(arg1, 0x0100FA28);
|
||||
func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
}
|
||||
if (gModeSelection == BATTLE) {
|
||||
func_8006B8B4(player, arg1);
|
||||
func_8006B8B4(player, playerId);
|
||||
}
|
||||
player->unk_0CA &= ~0x0002;
|
||||
player->unk_0DE &= ~0x0004;
|
||||
if ((player->unk_0CA & 0x80) != 0x80) {
|
||||
player->unk_0CA &= ~0x0008;
|
||||
if ((player->topSpeed * 0.9) <= player->currentSpeed) {
|
||||
func_8008F104(player, arg1);
|
||||
func_8008F104(player, playerId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2059,7 +2060,7 @@ void func_800911B4(Player* player, s8 arg1) {
|
|||
|
||||
void func_80091298(Player *player, s8 arg1) {
|
||||
s16 var_v1;
|
||||
s32 stackPadding1;
|
||||
UNUSED s32 stackPadding1;
|
||||
Vec3f spC = { 27.167f, 25.167f, 23.167f };
|
||||
|
||||
player->unk_044 |= 0x2000;
|
||||
|
|
|
|||
|
|
@ -2898,7 +2898,7 @@ void func_80095574(void) {
|
|||
gMenuTimingCounter = 3;
|
||||
}
|
||||
if (gMenuTimingCounter == DEBUG_MENU_DEBUG_MODE) {
|
||||
play_sound2(0x49009009);
|
||||
play_sound2(SOUND_INTRO_WELCOME);
|
||||
}
|
||||
if (gMenuTimingCounter >= 0x12D) {
|
||||
func_8009E230();
|
||||
|
|
@ -9983,7 +9983,7 @@ void func_800A7A4C(s32 arg0) {
|
|||
}
|
||||
if ((var_s1->unk20 != 0) && (var_s1->unk1C >= 3)) {
|
||||
var_s1->unk20 = 0;
|
||||
play_sound2(0x49018008);
|
||||
play_sound2(SOUND_INTRO_LOGO);
|
||||
}
|
||||
break;
|
||||
case 0xDA: /* switch 8 */
|
||||
|
|
@ -10000,7 +10000,7 @@ void func_800A7A4C(s32 arg0) {
|
|||
case 0: /* switch 9 */
|
||||
if (gControllerFive->button & R_TRIG) {
|
||||
var_s1->unk4 = (s32) 1U;
|
||||
play_sound2(0x4900801C);
|
||||
play_sound2(SOUND_ACTION_PING);
|
||||
} else {
|
||||
var_s1->visible = 0;
|
||||
}
|
||||
|
|
@ -12281,7 +12281,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
|
|||
if (D_8018D9BC[var_a1] > 0) {
|
||||
D_8018D9BC[var_a1]--;
|
||||
gGPPointsByCharacterId[gPlayers[gGPCurrentRacePlayerIdByRank[var_a1]].characterId] += 1;
|
||||
play_sound2(0x49008017);
|
||||
play_sound2(SOUND_ACTION_COUNT_SCORE);
|
||||
var_t1 = 0;
|
||||
if ((D_8018D9BC[var_a1] == 0) && (arg0->unk20 == 0)) {
|
||||
arg0->unk20 = 1;
|
||||
|
|
@ -12348,7 +12348,7 @@ void func_800AC458(struct_8018D9E0_entry *arg0) {
|
|||
if ((D_8018D9D8 != 0) && (D_800DDB24 != 0)) {
|
||||
arg0->unk4 = 0x0000000C;
|
||||
arg0->unk20 = arg0->row;
|
||||
play_sound2(0x49008015);
|
||||
play_sound2(SOUND_ACTION_NEXT_COURSE);
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
|
|
@ -12417,7 +12417,7 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
|
||||
if (arg0->unk4 >= 0xC) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12427,7 +12427,7 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0xC) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12437,7 +12437,7 @@ void func_800ACA14(struct_8018D9E0_entry *arg0) {
|
|||
if (gControllerFive->buttonPressed & 0x9000) {
|
||||
func_8009DFE0(0x0000001E);
|
||||
func_800CA330(0x19U);
|
||||
play_sound2(0x4900801B);
|
||||
play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12489,7 +12489,7 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
|
||||
if (arg0->unk4 >= 0xB) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12499,7 +12499,7 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0xD) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12508,7 +12508,7 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerFive->buttonPressed & 0x9000) {
|
||||
func_8009DFE0(0x0000001E);
|
||||
play_sound2(0x49008016);
|
||||
play_sound2(SOUND_MENU_OK_CLICKED);
|
||||
if (gModeSelection == VERSUS) {
|
||||
D_8018EDF4 = (s8) arg0->unk4;
|
||||
} else {
|
||||
|
|
@ -12692,7 +12692,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if ((D_80162DF8 == 1) && (arg0->unk4 == 9)) {
|
||||
arg0->unk4--;
|
||||
}
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12708,7 +12708,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if ((arg0->unk4 == 0x0000000A) && (D_80162DD4 != 0)) {
|
||||
arg0->unk4 -= 2;
|
||||
} else {
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12731,7 +12731,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
func_800B6708();
|
||||
arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11;
|
||||
var_v1 = 1;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
break;
|
||||
case 2: /* switch 4 */
|
||||
gControllerPak1State = 0;
|
||||
|
|
@ -12770,36 +12770,36 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
break;
|
||||
}
|
||||
if (var_v1 != 0) {
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) {
|
||||
func_800B6708();
|
||||
arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x11;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
arg0->unk4 = 0x0000000E;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
arg0->unk4 = 0x00000013;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
return;
|
||||
}
|
||||
arg0->unk4 = 0x0000000E;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
}
|
||||
} else {
|
||||
arg0->unk1C = arg0->unk4;
|
||||
D_8018EDF5 = arg0->unk4;
|
||||
arg0->unk4 = 0x0000001E;
|
||||
arg0->unk20 = arg0->row;
|
||||
play_sound2(0x49008015);
|
||||
play_sound2(SOUND_ACTION_NEXT_COURSE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12816,7 +12816,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
case 26: /* switch 1 */
|
||||
if (gControllerOne->buttonPressed & 0xD000) {
|
||||
arg0->unk4 = 0x0000000A;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12829,7 +12829,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
|
||||
if (arg0->unk4 >= 0x12) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12839,7 +12839,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0x12) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12849,7 +12849,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerOne->buttonPressed & 0x4000) {
|
||||
arg0->unk4 = 0x0000000A;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
return;
|
||||
}
|
||||
if (gControllerOne->buttonPressed & 0x9000) {
|
||||
|
|
@ -12862,7 +12862,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
} else {
|
||||
arg0->unk4 = 0x00000014;
|
||||
}
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12883,7 +12883,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
case 21: /* switch 1 */
|
||||
if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->unk4 >= 0x15)) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12892,7 +12892,7 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0x15) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -12901,20 +12901,20 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerOne->buttonPressed & 0x4000) {
|
||||
arg0->unk4 = arg0->unk20 + 0x11;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
return;
|
||||
}
|
||||
if (gControllerOne->buttonPressed & 0x9000) {
|
||||
if (arg0->unk4 == 0x00000015) {
|
||||
arg0->unk4 = 0x00000019;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
} else {
|
||||
arg0->unk4 = arg0->unk20 + 0x11;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -12923,12 +12923,12 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
if (arg0->unk1C == 1) {
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) != 0) {
|
||||
arg0->unk4 = 0x0000001A;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (func_800B6178(arg0->unk20) != 0) {
|
||||
arg0->unk4 = 0x0000001A;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -13013,7 +13013,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
|||
if ((controller->buttonPressed | controller->stickPressed) & 0x800) {
|
||||
if (D_800F0B50[gModeSelection] < arg0->unk4) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13023,7 +13023,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
|||
if ((controller->buttonPressed | controller->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < D_800F0B54[gModeSelection]) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13033,7 +13033,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
|||
if (controller->buttonPressed & B_BUTTON) {
|
||||
if (arg0->unk4 != D_800F0B50[gModeSelection]) {
|
||||
arg0->unk4 = D_800F0B50[gModeSelection];
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -13045,7 +13045,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
|||
func_800C9F90(0U);
|
||||
} else {
|
||||
func_8009DFE0(30);
|
||||
play_sound2(0x4900801B);
|
||||
play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN);
|
||||
func_800CA330(FUNC_800ADF48DEF);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
|
|
@ -13076,7 +13076,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerOne->buttonPressed & 0x1000) {
|
||||
arg0->unk4 = 0x0000000F;
|
||||
play_sound2(0x49008005);
|
||||
play_sound2(SOUND_ACTION_GO_BACK_2);
|
||||
} else if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) {
|
||||
arg0->unk4 = 1;
|
||||
arg0->unk1C = 0;
|
||||
|
|
@ -13100,7 +13100,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
|
||||
if (arg0->unk4 >= 0xC) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13110,7 +13110,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0x10) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13142,7 +13142,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
}
|
||||
if (var_v1 != 0) {
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
return;
|
||||
}
|
||||
if (gControllerPak1State == 0) {
|
||||
|
|
@ -13173,30 +13173,30 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
break;
|
||||
}
|
||||
if (var_v1 != 0) {
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) == 0) {
|
||||
func_800B6708();
|
||||
arg0->unk4 = func_800B6348((gCupSelection * 4) + gCupCourseSelection) + 0x1E;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
|
||||
arg0->unk4 = 0x00000018;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
} else if (gControllerPak1NumPagesFree >= 0x79) {
|
||||
arg0->unk4 = 0x00000020;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
} else {
|
||||
arg0->unk4 = 0x00000018;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
}
|
||||
} else {
|
||||
func_8009DFE0(0x0000001E);
|
||||
play_sound2(0x49008016);
|
||||
play_sound2(SOUND_MENU_OK_CLICKED);
|
||||
func_800CA330(0x19U);
|
||||
func_800CA388(0x19U);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
|
|
@ -13215,7 +13215,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
case 41: /* switch 1 */
|
||||
if (gControllerOne->buttonPressed & 0xD000) {
|
||||
arg0->unk4 = 0x00000010;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13228,7 +13228,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
|
||||
if (arg0->unk4 >= 0x1F) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13238,7 +13238,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0x1F) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13248,7 +13248,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerOne->buttonPressed & 0x4000) {
|
||||
arg0->unk4 = 0x00000010;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
} else if (gControllerOne->buttonPressed & 0x9000) {
|
||||
thing = &D_8018EE10[arg0->unk20];
|
||||
if (thing->ghostDataSaved == 0) {
|
||||
|
|
@ -13259,7 +13259,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
} else {
|
||||
arg0->unk4 = 0x00000023;
|
||||
}
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13279,7 +13279,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
case 36: /* switch 1 */
|
||||
if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && ((s32) (u32) arg0->unk4 >= 0x24)) {
|
||||
arg0->unk4--;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13288,7 +13288,7 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
|
||||
if (arg0->unk4 < 0x24) {
|
||||
arg0->unk4++;
|
||||
play_sound2(0x49008000);
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
@ -13297,18 +13297,18 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
if (gControllerOne->buttonPressed & 0x4000) {
|
||||
arg0->unk4 = arg0->unk20 + 0x1E;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
} else if (gControllerOne->buttonPressed & 0x9000) {
|
||||
if (arg0->unk4 == 0x00000024) {
|
||||
arg0->unk4 = 0x00000028;
|
||||
arg0->unk1C = 0;
|
||||
play_sound2(0x49008001);
|
||||
play_sound2(SOUND_MENU_SELECT);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
} else {
|
||||
arg0->unk4 = arg0->unk20 + 0x1E;
|
||||
play_sound2(0x49008002);
|
||||
play_sound2(SOUND_MENU_GO_BACK);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -13316,12 +13316,12 @@ void func_800AE218(struct_8018D9E0_entry *arg0) {
|
|||
if (arg0->unk1C == 1) {
|
||||
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, gGameName, gExtCode, &gControllerPak1FileNote) != 0) {
|
||||
arg0->unk4 = 0x00000029;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
if (func_800B6178(arg0->unk20) != 0) {
|
||||
arg0->unk4 = 0x00000029;
|
||||
play_sound2(0x4900FF07);
|
||||
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1838,7 +1838,7 @@ void func_80090868(Player* player) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
||||
void func_80090970(Player *player, s8 playerId, s8 arg2) {
|
||||
s32 stackPadding0;
|
||||
s32 stackPadding1;
|
||||
Vec3f sp44;
|
||||
|
|
@ -1852,7 +1852,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_07C = 0;
|
||||
player->unk_0C0 = 0;
|
||||
player->unk_08C = 0.0f;
|
||||
clean_effect(player, arg1);
|
||||
clean_effect(player, playerId);
|
||||
switch (player->unk_222) {
|
||||
case 0:
|
||||
if ((player->unk_0CA & 1) == 1) {
|
||||
|
|
@ -1862,9 +1862,9 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0C8 = 0x003C;
|
||||
}
|
||||
} else {
|
||||
move_f32_towards(&player->pos[1], D_801652A0[arg1] + 100.0f, 0.012f);
|
||||
move_f32_towards(&player->pos[1], D_801652A0[playerId] + 100.0f, 0.012f);
|
||||
move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f);
|
||||
if ((D_801652A0[arg1] + 40.0f) <= player->pos[1]) {
|
||||
if ((D_801652A0[playerId] + 40.0f) <= player->pos[1]) {
|
||||
player->unk_222 = 1;
|
||||
player->unk_0CA |= 4;
|
||||
player->unk_0C6 = 0x00FF;
|
||||
|
|
@ -1880,15 +1880,15 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
}
|
||||
}
|
||||
if ((player->effects & BOO_EFFECT) == BOO_EFFECT) {
|
||||
func_8008FB30(player, arg1);
|
||||
func_8008FB30(player, playerId);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (((player->type & PLAYER_HUMAN) == 0x4000) && ((player->type & PLAYER_CPU) == 0)) {
|
||||
func_8009E088(arg1, 0xA);
|
||||
func_8009E088(playerId, 0xA);
|
||||
}
|
||||
if ((player->unk_0CA & 1) == 1) {
|
||||
move_f32_towards(&player->pos[1], D_801652A0[arg1] + 40.0f, 0.02f);
|
||||
move_f32_towards(&player->pos[1], D_801652A0[playerId] + 40.0f, 0.02f);
|
||||
player->unk_0C6 -= 8;
|
||||
if (player->unk_0C6 < 9) {
|
||||
player->unk_0C6 = 0;
|
||||
|
|
@ -1906,7 +1906,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0CA &= ~0x2000;
|
||||
break;
|
||||
case 2:
|
||||
func_80090178(player, arg1, sp44, sp38);
|
||||
func_80090178(player, playerId, sp44, sp38);
|
||||
// Fakematch found by Verti, who knows what's going on here
|
||||
player->rotation[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF;
|
||||
player->pos[0] = sp44[0];
|
||||
|
|
@ -1915,16 +1915,16 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_222 = 3;
|
||||
break;
|
||||
case 3:
|
||||
D_80165330[arg1] = 0;
|
||||
D_80165330[playerId] = 0;
|
||||
if (((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) && ((player->type & PLAYER_CPU) == 0)) {
|
||||
func_8009E020(arg1, 0x14);
|
||||
func_8009E020(playerId, 0x14);
|
||||
}
|
||||
func_80090178(player, arg1, sp44, sp38);
|
||||
func_80090178(player, playerId, sp44, sp38);
|
||||
player->pos[0] = sp44[0];
|
||||
player->pos[1] = sp44[1] + 40.0f;
|
||||
player->pos[2] = sp44[2];
|
||||
player->pos[2] = player->pos[2] + coss((arg1 * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[0] = player->pos[0] + sins((arg1 * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[2] = player->pos[2] + coss((playerId * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->pos[0] = player->pos[0] + sins((playerId * 0x1C70) - player->rotation[1]) * -5.0f;
|
||||
player->unk_0C6 += 8;
|
||||
if (player->unk_0C6 >= 0xF0) {
|
||||
player->unk_0C6 = 0x00FF;
|
||||
|
|
@ -1950,17 +1950,17 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) {
|
|||
player->unk_0CA &= ~0x1000;
|
||||
if (player->unk_0C8 >= 0x5B) {
|
||||
if (player->type & PLAYER_HUMAN) {
|
||||
func_800C9018(arg1, 0x0100FA28);
|
||||
func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x28));
|
||||
}
|
||||
if (gModeSelection == BATTLE) {
|
||||
func_8006B8B4(player, arg1);
|
||||
func_8006B8B4(player, playerId);
|
||||
}
|
||||
player->unk_0CA &= ~0x0002;
|
||||
player->unk_0DE &= ~0x0004;
|
||||
if ((player->unk_0CA & 0x80) != 0x80) {
|
||||
player->unk_0CA &= ~0x0008;
|
||||
if ((player->topSpeed * 0.9) <= player->currentSpeed) {
|
||||
func_8008F104(player, arg1);
|
||||
func_8008F104(player, playerId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -386,18 +386,18 @@ UNUSED s32 func_800416AC(f32 arg0, f32 arg1) {
|
|||
return atan2s(arg1, arg0);
|
||||
}
|
||||
|
||||
f32 func_800416D8(f32 arg0, f32 arg1, u16 arg2) {
|
||||
f32 sp1C;
|
||||
f32 func_800416D8(f32 x, f32 z, u16 angle) {
|
||||
f32 cosAngle;
|
||||
|
||||
sp1C = coss(arg2);
|
||||
return (sp1C * arg0) - (sins(arg2) * arg1);
|
||||
cosAngle = coss(angle);
|
||||
return (cosAngle * x) - (sins(angle) * z);
|
||||
}
|
||||
|
||||
f32 func_80041724(f32 arg0, f32 arg1, u16 arg2) {
|
||||
f32 sp1C;
|
||||
f32 func_80041724(f32 x, f32 z, u16 angle) {
|
||||
f32 sinAngle;
|
||||
|
||||
sp1C = sins(arg2);
|
||||
return (coss(arg2) * arg1) + (sp1C * arg0);
|
||||
sinAngle = sins(angle);
|
||||
return (coss(angle) * z) + (sinAngle * x);
|
||||
}
|
||||
|
||||
s32 func_80041770(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include "spawn_players.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80005FD0.h"
|
||||
#include "sounds.h"
|
||||
|
||||
extern s32 D_8018D168;
|
||||
|
||||
|
|
@ -495,7 +496,7 @@ void func_80027EDC(Player *player, s8 playerId) {
|
|||
func_800CA2B8(playerId);
|
||||
}
|
||||
if (D_80165300[playerId] == 2) {
|
||||
func_800C9018(playerId, 0x0170802D);
|
||||
func_800C9018(playerId, SOUND_ARG_LOAD(0x01, 0x70, 0x80, 0x2D));
|
||||
}
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
|
|
@ -2008,7 +2009,7 @@ void func_8002C7E4(Player *player, s8 arg1, s8 arg2) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_8002C954(Player *player, s8 arg1, Vec3f arg2) {
|
||||
void func_8002C954(Player *player, s8 playerId, Vec3f arg2) {
|
||||
f32 temp_f0;
|
||||
f32 var_f14;
|
||||
f32 xdist;
|
||||
|
|
@ -2026,7 +2027,7 @@ void func_8002C954(Player *player, s8 arg1, Vec3f arg2) {
|
|||
((player->effects & 0x10000) == 0))) &&
|
||||
(((player->unk_0CA & 2) == 0) ||
|
||||
(!(player->unk_0CA & 8)))) {
|
||||
func_8008F494(player, arg1);
|
||||
func_8008F494(player, playerId);
|
||||
}
|
||||
if ((player->unk_046 & 0x20) != 0x20) {
|
||||
if ((player->unk_110.unk3C[0] < (-1.0f)) || (player->unk_110.unk3C[1] < (-1.0f))) {
|
||||
|
|
@ -2046,10 +2047,10 @@ void func_8002C954(Player *player, s8 arg1, Vec3f arg2) {
|
|||
func_80031F48(player, 18.0f);
|
||||
}
|
||||
if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) {
|
||||
xdist = D_80165070[arg1][0] - arg2[0];
|
||||
var_f14 = D_80165070[arg1][1] - arg2[1];
|
||||
xdist = D_80165070[playerId][0] - arg2[0];
|
||||
var_f14 = D_80165070[playerId][1] - arg2[1];
|
||||
ydist = var_f14; // okay
|
||||
zdist = D_80165070[arg1][2] - arg2[2];
|
||||
zdist = D_80165070[playerId][2] - arg2[2];
|
||||
var_f14 = sqrtf((xdist * xdist) + (ydist * ydist) + (zdist * zdist)) / 3;
|
||||
if (var_f14 >= 1.0) {
|
||||
var_f14 = 1.0f;
|
||||
|
|
@ -2057,14 +2058,14 @@ void func_8002C954(Player *player, s8 arg1, Vec3f arg2) {
|
|||
if ((var_f14 <= 0.6) &&
|
||||
(((player->unk_094 / 18.0f) * 216.0f) >= 40.0f) &&
|
||||
(!(player->type & PLAYER_INVISIBLE_OR_BOMB))) {
|
||||
func_800CAEC4(arg1, 0.6F);
|
||||
func_800CAEC4(playerId, 0.6F);
|
||||
} else if (!(player->type & PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
if ((var_f14 <= 0.6) &&
|
||||
(((player->unk_094 / 18.0f) * 216.0f) < 40.0f) &&
|
||||
(((player->unk_094 / 18.0f) * 216.0f) >= 10.0f)) {
|
||||
func_800CAEC4(arg1, 0.3F);
|
||||
func_800CAEC4(playerId, 0.3F);
|
||||
} else {
|
||||
func_800CAEC4(arg1, var_f14);
|
||||
func_800CAEC4(playerId, var_f14);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -532,14 +532,14 @@ void update_actor_kiwano_fruit(struct KiwanoFruit *fruit) {
|
|||
fruit->velocity[1] = 2.3f;
|
||||
fruit->velocity[2] = 0.0f;
|
||||
if ((player->effects & STAR_EFFECT) != 0) {
|
||||
func_800C9060(player - gPlayerOne, 0x1900A052U);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x52));
|
||||
} else {
|
||||
player->effects |= 0x8000;
|
||||
player->pos[0] -= temp_f2 * 4.0f;
|
||||
player->pos[2] -= temp_f14 * 4.0f;
|
||||
player->velocity[0] -= temp_f2 * 0.7f;
|
||||
player->velocity[2] -= temp_f14 * 0.7f;
|
||||
func_800C9060(player - gPlayerOne, 0x19007018U);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x18));
|
||||
if (gModeSelection != GRAND_PRIX) {
|
||||
D_80162DF8 = 1;
|
||||
}
|
||||
|
|
@ -732,7 +732,7 @@ void func_802986B4(Camera *camera, Mat4 arg1, UNUSED struct Actor *actor) {
|
|||
struct ActorSpawnData *var_s1;
|
||||
struct ActorSpawnData *var_s5;
|
||||
Vec3f sp88;
|
||||
u32 soundThing = 0x1901904D;
|
||||
u32 soundThing = SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x4D);
|
||||
s32 segment = SEGMENT_NUMBER2(d_course_moo_moo_farm_cow_spawn);
|
||||
s32 offset = SEGMENT_OFFSET(d_course_moo_moo_farm_cow_spawn);
|
||||
|
||||
|
|
@ -811,12 +811,12 @@ void func_80298AC0(Player *player) {
|
|||
sp64[2] = data->pos[2];
|
||||
if (func_8029EEB8(player, sp64, 5.0f, 40.0f, 0.8f) == 1) {
|
||||
if ((player->effects & STAR_EFFECT) != 0) {
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010);
|
||||
func_800C90F4((u8) (player - gPlayerOne), (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
func_800C90F4((u8) (player - gPlayerOne), (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
data->someId |= 0x400;
|
||||
}
|
||||
if ((player->type & PLAYER_INVISIBLE_OR_BOMB) == 0) {
|
||||
func_800C9060((u8) (player - gPlayerOne), 0x19007018);
|
||||
func_800C9060((u8) (player - gPlayerOne), SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x18));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -1338,7 +1338,7 @@ void update_actor_railroad_crossing(struct RailroadCrossing *crossing) {
|
|||
}
|
||||
// Play Bell sound when timer hits 20 or 1.
|
||||
if ((crossing->someTimer == 1) || (crossing->someTimer == 20)) {
|
||||
func_800C98B8(crossing->pos, crossing->velocity, 0x19017016);
|
||||
func_800C98B8(crossing->pos, crossing->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x70, 0x16));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2386,15 +2386,15 @@ void func_8029E7DC(struct Actor *actor) {
|
|||
s16 temp_v0 = actor->flags;
|
||||
|
||||
if ((temp_v0 & 0x200) != 0) {
|
||||
func_800C99E0(actor->pos, 0x19019053);
|
||||
func_800C99E0(actor->pos, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
if ((temp_v0 & 0x100) != 0) {
|
||||
func_800C99E0(actor->pos, 0x19018010);
|
||||
func_800C99E0(actor->pos, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
return;
|
||||
}
|
||||
if ((temp_v0 & 0x80) != 0) {
|
||||
func_800C99E0(actor->pos, 0x19008054);
|
||||
func_800C99E0(actor->pos, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2669,10 +2669,10 @@ s32 func_8029F1F8(Player *player, struct Actor *marioRacewaySign) {
|
|||
if ((player->type & PLAYER_HUMAN) != 0) {
|
||||
if ((player->effects & STAR_EFFECT) != 0) {
|
||||
marioRacewaySign->flags |= 0x400;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010U);
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
} else if ((player->type & PLAYER_INVISIBLE_OR_BOMB) == 0) {
|
||||
func_800C9060(player - gPlayerOne, 0x1900701AU);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x1A));
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
|
@ -2685,10 +2685,10 @@ s32 func_8029F2FC(Player *player, struct PiranhaPlant *plant) {
|
|||
if ((player->type & PLAYER_HUMAN) != 0) {
|
||||
if ((player->effects & STAR_EFFECT) != 0) {
|
||||
plant->flags |= 0x400;
|
||||
func_800C98B8(player->pos, player->velocity, 0x1901A24AU);
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0xA2, 0x4A));
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
} else if ((player->type & PLAYER_INVISIBLE_OR_BOMB) == 0) {
|
||||
func_800C9060(player - gPlayerOne, 0x1900A052U);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0xA0, 0x52));
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
|
@ -2737,8 +2737,8 @@ s32 func_8029F408(Player *player, struct YoshiValleyEgg *egg) {
|
|||
if ((player->effects & STAR_EFFECT) != 0) {
|
||||
egg->flags |= 0x400;
|
||||
egg->pathCenter[1] = 8.0f;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010);
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
} else {
|
||||
func_8008DABC(player, player - gPlayerOne);
|
||||
if ((gModeSelection == TIME_TRIALS) && ((player->type & PLAYER_CPU) == 0)) {
|
||||
|
|
@ -2801,12 +2801,12 @@ s32 func_8029F69C(Player *player, struct Actor *actor) {
|
|||
if (player->type & PLAYER_HUMAN) {
|
||||
if (player->effects & STAR_EFFECT) {
|
||||
actor->flags |= 0x400;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010U);
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + 0x2900800D);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
func_800C90F4(player - gPlayerOne, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x0D));
|
||||
return 1;
|
||||
}
|
||||
if (!(player->type & PLAYER_INVISIBLE_OR_BOMB)) {
|
||||
func_800C9060(player - gPlayerOne, 0x19007018U);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x70, 0x18));
|
||||
}
|
||||
}
|
||||
if (!(player->effects & STAR_EFFECT)) {
|
||||
|
|
@ -2988,7 +2988,7 @@ void func_8029FDC8(struct Actor *actor) {
|
|||
case GREEN_SHELL_HIT_A_RACER:
|
||||
case BLUE_SHELL_LOCK_ON:
|
||||
case BLUE_SHELL_TARGET_ELIMINATED:
|
||||
func_800C9EF4(shell->pos, 0x51018008);
|
||||
func_800C9EF4(shell->pos, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
|
||||
func_8000EE58(actor - gActorList);
|
||||
/* fallthrough */
|
||||
case HELD_SHELL:
|
||||
|
|
@ -3050,28 +3050,28 @@ void func_802A00E8(struct Actor *arg0, struct Actor *arg1) {
|
|||
case ACTOR_GREEN_SHELL:
|
||||
if ((arg0->state == HELD_SHELL) || (arg0->state == TRIPLE_GREEN_SHELL)) {
|
||||
arg0->flags |= 0x200;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19019053);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_RED_SHELL:
|
||||
if ((arg0->state == HELD_SHELL) || (arg0->state == TRIPLE_RED_SHELL)) {
|
||||
arg0->flags |= 0x200;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19019053);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_BLUE_SPINY_SHELL:
|
||||
if (arg0->state == HELD_SHELL) {
|
||||
arg0->flags |= 0x200;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19019053);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_FAKE_ITEM_BOX:
|
||||
if (arg0->state == HELD_FAKE_ITEM_BOX) {
|
||||
arg0->flags |= 0x200;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19019053);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
|
@ -3081,35 +3081,35 @@ void func_802A00E8(struct Actor *arg0, struct Actor *arg1) {
|
|||
case ACTOR_GREEN_SHELL:
|
||||
if ((arg1->state == HELD_SHELL) || (arg1->state == TRIPLE_GREEN_SHELL)) {
|
||||
arg1->flags |= 0x200;
|
||||
func_800C98B8(arg1->pos, arg1->velocity, 0x19019053);
|
||||
func_800C98B8(arg1->pos, arg1->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_RED_SHELL:
|
||||
if ((arg1->state == HELD_SHELL) || (arg1->state == TRIPLE_RED_SHELL)) {
|
||||
arg1->flags |= 0x200;
|
||||
func_800C98B8(arg1->pos, arg1->velocity, 0x19019053);
|
||||
func_800C98B8(arg1->pos, arg1->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_BLUE_SPINY_SHELL:
|
||||
if (arg1->state == HELD_SHELL) {
|
||||
arg1->flags |= 0x200;
|
||||
func_800C98B8(arg1->pos, arg1->velocity, 0x19019053);
|
||||
func_800C98B8(arg1->pos, arg1->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case ACTOR_FAKE_ITEM_BOX:
|
||||
if (arg1->state == HELD_FAKE_ITEM_BOX) {
|
||||
arg1->flags |= 0x200;
|
||||
func_800C98B8(arg1->pos, arg1->velocity, 0x19019053);
|
||||
func_800C98B8(arg1->pos, arg1->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
arg0->flags |= 0x100;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19018010);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
}
|
||||
|
||||
void func_802A0350(struct Actor *arg0, struct Actor *arg1) {
|
||||
|
|
@ -3118,7 +3118,7 @@ void func_802A0350(struct Actor *arg0, struct Actor *arg1) {
|
|||
func_8029FDC8(arg0);
|
||||
func_8029FDC8(arg1);
|
||||
arg0->flags |= 256;
|
||||
func_800C98B8(arg0->pos, arg0->velocity, 0x19018010);
|
||||
func_800C98B8(arg0->pos, arg0->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
return;
|
||||
}
|
||||
if (arg0->type == ACTOR_BLUE_SPINY_SHELL) {
|
||||
|
|
@ -3165,13 +3165,13 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
|||
if (owner->type & 0x4000) {
|
||||
if (actor->flags & 0xF) {
|
||||
if (temp_lo != temp_v1) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
} else {
|
||||
temp_f0 = actor->pos[0] - owner->pos[0];
|
||||
temp_f2 = actor->pos[2] - owner->pos[2];
|
||||
if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 360000.0f) && (temp_lo != temp_v1)) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3183,10 +3183,10 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
|||
temp_v1 = actor->rot[2];
|
||||
if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; }
|
||||
player->soundEffects |= 4;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010U);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
owner = &gPlayers[temp_v1];
|
||||
if ((owner->type & 0x4000) && (temp_lo != temp_v1)) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
func_8029FDC8(actor);
|
||||
break;
|
||||
|
|
@ -3196,11 +3196,11 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
|||
if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; }
|
||||
if (!(player->effects & BOO_EFFECT)) {
|
||||
player->soundEffects |= 2;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010U);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
}
|
||||
owner = &gPlayers[temp_v1];
|
||||
if ((owner->type & 0x4000) && (temp_lo != temp_v1)) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
if (temp_lo == actor->unk_04) {
|
||||
func_8029FDC8(actor);
|
||||
|
|
@ -3214,11 +3214,11 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
|||
if (((temp_lo == temp_v1) && (actor->flags & 0x1000)) || (func_8029FB80(player, actor) != 1)) { break; }
|
||||
if (!(player->effects & BOO_EFFECT)) {
|
||||
player->soundEffects |= 2;
|
||||
func_800C98B8(player->pos, player->velocity, 0x19018010U);
|
||||
func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x10));
|
||||
}
|
||||
owner = &gPlayers[temp_v1];
|
||||
if ((owner->type & 0x4000) && (temp_lo != temp_v1)) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
func_8029FDC8(actor);
|
||||
break;
|
||||
|
|
@ -3273,13 +3273,13 @@ void func_802A0450(Player *player, struct Actor *actor) {
|
|||
if (owner->type & 0x4000) {
|
||||
if (actor->flags & 0xF) {
|
||||
if (temp_lo != temp_v1) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
} else {
|
||||
temp_f0 = actor->pos[0] - owner->pos[0];
|
||||
temp_f2 = actor->pos[2] - owner->pos[2];
|
||||
if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 360000.0f) && (temp_lo != temp_v1)) {
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + 0x29008006);
|
||||
func_800C90F4(temp_v1, (owner->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x06));
|
||||
}
|
||||
}
|
||||
if (actor->state == 0) {
|
||||
|
|
@ -3452,7 +3452,7 @@ void update_actor_fake_item_box(struct FakeItemBox *fake_item_box) {
|
|||
temp_v1_3->buttonDepressed &= 0xDFFF;
|
||||
func_802A1064(fake_item_box);
|
||||
temp_v0_4->soundEffects &= 0xFFFBFFFF;
|
||||
func_800C9060((u8)(temp_v0_4 - gPlayerOne), 0x19008012);
|
||||
func_800C9060((u8)(temp_v0_4 - gPlayerOne), SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "actor_types.h"
|
||||
|
||||
void cleanup_red_and_green_shells(struct ShellActor*);
|
||||
void actor_init(struct Actor*, Vec3f, s16*, f32*, s16);
|
||||
void actor_init(struct Actor*, Vec3f, Vec3s, Vec3f, s16);
|
||||
void func_80297230(Camera*, struct Actor*);
|
||||
void func_802972B8(Camera*, struct Actor*);
|
||||
void func_80297340(Camera*);
|
||||
|
|
@ -75,7 +75,7 @@ void place_course_actors(void);
|
|||
void func_8029E158(void);
|
||||
void func_8029E7DC(struct Actor*);
|
||||
void destroy_actor(struct Actor*);
|
||||
s16 func_8029E890(f32*, s16*, f32*, s16);
|
||||
s16 func_8029E890(Vec3f, Vec3s, Vec3f, s16);
|
||||
s16 addActorToEmptySlot(Vec3f, Vec3s, Vec3f, s16);
|
||||
s16 func_8029ED38(Vec3f, s16);
|
||||
s32 func_8029EEB8(Player*, Vec3f, f32, f32, f32);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
#include "audio/external.h"
|
||||
#include "code_80071F00.h"
|
||||
#include "effects.h"
|
||||
#include "sounds.h"
|
||||
|
||||
void copy_collision(Collision *arg0, Collision *arg1) {
|
||||
arg1->unk30 = arg0->unk30;
|
||||
|
|
@ -100,7 +101,7 @@ void func_802B0570(struct BananaActor *banana) {
|
|||
func_802B0464(banana->youngerIndex);
|
||||
func_802B04E8(banana, banana->elderIndex);
|
||||
if ((gPlayers[banana->playerId].type & 0x4000) != 0) {
|
||||
func_800C9060(banana->playerId, 0x19019053);
|
||||
func_800C9060(banana->playerId, SOUND_ARG_LOAD(0x19, 0x01, 0x90, 0x53));
|
||||
}
|
||||
banana->flags = -0x8000;
|
||||
banana->unk_04 = 0x003C;
|
||||
|
|
@ -297,7 +298,7 @@ void update_actor_banana_bunch(struct BananaBunchParent *banana_bunch) {
|
|||
controller = &gControllers[banana_bunch->playerId];
|
||||
if ((controller->buttonPressed & Z_TRIG) != 0) {
|
||||
controller->buttonPressed &= ~Z_TRIG;
|
||||
func_800C9060(owner - gPlayerOne, 0x19008012);
|
||||
func_800C9060(owner - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
if ((controller->rawStickY >= 0x1F) && ((controller->rawStickX < 0x28) && (controller->rawStickX >= -0x27))) {
|
||||
func_802B0788(controller->rawStickY, banana_bunch, owner);
|
||||
} else {
|
||||
|
|
@ -347,7 +348,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
switch (parent->state) {
|
||||
case SPAWN_FIRST_SHELL:
|
||||
if (init_triple_shell(parent, &gPlayers[playerId], shellType, 0U) != -1) {
|
||||
func_800C9060(playerId, 0x19008012);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
parent->shellsAvailable += 1;
|
||||
}
|
||||
parent->state = SPAWN_SECOND_SHELL;
|
||||
|
|
@ -356,7 +357,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
if (parent->rotVelocity > 0) {
|
||||
if (someRotAngle >= 0xD556) {
|
||||
if (init_triple_shell(parent, &gPlayers[playerId], shellType, 1U) != -1) {
|
||||
func_800C9060(playerId, 0x19008012);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
parent->shellsAvailable += 1;
|
||||
}
|
||||
parent->state = SPAWN_THIRD_SHELL;
|
||||
|
|
@ -364,7 +365,7 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
} else {
|
||||
if (someRotAngle < 0x2AAA) {
|
||||
if (init_triple_shell(parent, &gPlayers[playerId], shellType, 1U) != -1) {
|
||||
func_800C9060(playerId, 0x19008012);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
parent->shellsAvailable += 1;
|
||||
}
|
||||
parent->state = SPAWN_THIRD_SHELL;
|
||||
|
|
@ -375,14 +376,14 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
if (parent->rotVelocity > 0) {
|
||||
if ((someRotAngle >= 0x2AAB) && (someRotAngle < 0x31C7)) {
|
||||
if (init_triple_shell(parent, &gPlayers[playerId], shellType, 2U) != -1) {
|
||||
func_800C9060(playerId, 0x19008012);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
parent->shellsAvailable += 1;
|
||||
}
|
||||
parent->state = 3;
|
||||
}
|
||||
} else if ((someRotAngle < 0xD555) && (someRotAngle >= 0xCE39)) {
|
||||
if (init_triple_shell(parent, &gPlayers[playerId], shellType, 2U) != -1) {
|
||||
func_800C9060(playerId, 0x19008012);
|
||||
func_800C9060(playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
parent->shellsAvailable += 1;
|
||||
}
|
||||
parent->state = 3;
|
||||
|
|
@ -435,8 +436,8 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
shell->velocity[2] = someVelocity[2];
|
||||
shell->state = MOVING_SHELL;
|
||||
shell->someTimer = 0x001E;
|
||||
func_800C9060(parent->playerId, 0x19008004);
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(parent->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
if (parent->type == ACTOR_TRIPLE_RED_SHELL) {
|
||||
func_8000ED80(parent->shellIndices[0]);
|
||||
} else {
|
||||
|
|
@ -460,8 +461,8 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
shell->velocity[2] = someVelocity[2];
|
||||
shell->state = MOVING_SHELL;
|
||||
shell->someTimer = 0x001E;
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(parent->playerId, 0x19008004);
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
func_800C9060(parent->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
if (parent->type == ACTOR_TRIPLE_RED_SHELL) {
|
||||
func_8000ED80(parent->shellIndices[1]);
|
||||
} else {
|
||||
|
|
@ -485,8 +486,8 @@ void update_actor_triple_shell(TripleShellParent *parent, s16 shellType) {
|
|||
shell->velocity[2] = someVelocity[2];
|
||||
shell->state = MOVING_SHELL;
|
||||
shell->someTimer = 0x001E;
|
||||
func_800C9060(parent->playerId, 0x19008004);
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(parent->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(parent->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
if (parent->type == ACTOR_TRIPLE_RED_SHELL) {
|
||||
func_8000ED80(parent->shellIndices[2]);
|
||||
} else {
|
||||
|
|
@ -727,7 +728,7 @@ void update_actor_banana(struct BananaActor *banana) {
|
|||
banana->state = 1;
|
||||
banana->unk_04 = 0x00B4;
|
||||
player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT;
|
||||
func_800C9060(player - gPlayerOne, 0x19008012U);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
pad3 = controller->rawStickY;
|
||||
if ((pad3 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) {
|
||||
pad3 = pad3 - ((f32) 30);
|
||||
|
|
@ -926,7 +927,7 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b
|
|||
break;
|
||||
}
|
||||
if ((player->type & PLAYER_HUMAN) != 0) {
|
||||
func_800C9060(player - gPlayerOne, 0x19008012);
|
||||
func_800C9060(player - gPlayerOne, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x12));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1190,8 +1191,8 @@ void update_actor_green_shell(struct ShellActor *shell) {
|
|||
shell->velocity[1] = somePosVel[1];
|
||||
shell->velocity[2] = somePosVel[2];
|
||||
shell->state = 2;
|
||||
func_800C9060(shell->playerId, 0x19008004U);
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
func_8000EDC8((struct Actor*)shell - gActorList);
|
||||
return;
|
||||
} else {
|
||||
|
|
@ -1212,8 +1213,8 @@ void update_actor_green_shell(struct ShellActor *shell) {
|
|||
if (shell->rotAngle < 0) {
|
||||
shell->state = 2;
|
||||
shell->someTimer = 0x001E;
|
||||
func_800C9060(shell->playerId, 0x19008004U);
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
func_8000EDC8((struct Actor*)shell - gActorList);
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1221,8 +1222,8 @@ void update_actor_green_shell(struct ShellActor *shell) {
|
|||
if (shell->rotAngle > 0) {
|
||||
shell->state = 2;
|
||||
shell->someTimer = 0x001E;
|
||||
func_800C9060(shell->playerId, 0x19008004U);
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
func_8000EDC8((struct Actor*)shell - gActorList);
|
||||
}
|
||||
}
|
||||
|
|
@ -1269,7 +1270,7 @@ void update_actor_green_shell(struct ShellActor *shell) {
|
|||
func_802B4E30((struct Actor *) shell);
|
||||
if ((shell->unk30.unk3C[0] < 0.0f) || (shell->unk30.unk3C[1] < 0.0f)) {
|
||||
shell_collision(&shell->unk30, shell->velocity);
|
||||
func_800C98B8(shell->pos, shell->velocity, 0x19008054U);
|
||||
func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
|
||||
shell->flags |= 0x80;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1486,11 +1487,11 @@ s16 func_802B3FD0(Player *owner, struct ShellActor *shell) {
|
|||
void func_802B4104(struct ShellActor *shell) {
|
||||
if ((shell->unk30.unk3C[0] < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) {
|
||||
func_8029FDC8((struct Actor *) shell);
|
||||
func_800C98B8(shell->pos, shell->velocity, 0x19008054U);
|
||||
func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
|
||||
shell->flags |= 0x80;
|
||||
} else if ((shell->unk30.unk3C[1] < 0.0f) && ((shell->unk30.unk54[1] < 0.25f) || (shell->unk30.unk54[1] < -0.25f))) {
|
||||
func_8029FDC8((struct Actor *) shell);
|
||||
func_800C98B8(shell->pos, shell->velocity, 0x19008054U);
|
||||
func_800C98B8(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x54));
|
||||
shell->flags |= 0x80;
|
||||
}
|
||||
}
|
||||
|
|
@ -1580,26 +1581,26 @@ void update_actor_red_blue_shell(struct ShellActor *shell) {
|
|||
shell->rotAngle -= 0x71C;
|
||||
if (shell->rotAngle < 0) {
|
||||
shell->state = MOVING_SHELL;
|
||||
func_800C9060(shell->playerId, 0x19008004U);
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
if (pad13 == ACTOR_RED_SHELL) {
|
||||
func_8000ED80((struct Actor*)shell - gActorList);
|
||||
} else {
|
||||
func_8000EE10((struct Actor*)shell - gActorList);
|
||||
func_800C9D80(shell->pos, shell->velocity, 0x51018008U);
|
||||
func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
shell->rotAngle += 0x71C;
|
||||
if (shell->rotAngle > 0) {
|
||||
shell->state = MOVING_SHELL;
|
||||
func_800C9060(shell->playerId, 0x19008004U);
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000);
|
||||
func_800C9060(shell->playerId, SOUND_ARG_LOAD(0x19, 0x00, 0x80, 0x04));
|
||||
func_800C90F4(shell->playerId, (player->characterId * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x00));
|
||||
if (pad13 == ACTOR_RED_SHELL) {
|
||||
func_8000ED80((struct Actor*)shell - gActorList);
|
||||
} else {
|
||||
func_8000EE10((struct Actor*)shell - gActorList);
|
||||
func_800C9D80(shell->pos, shell->velocity, 0x51018008U);
|
||||
func_800C9D80(shell->pos, shell->velocity, SOUND_ARG_LOAD(0x51, 0x01, 0x80, 0x08));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -811,7 +811,7 @@ void func_8028F970(void) {
|
|||
if (D_800DC5A8 >= 3) {
|
||||
D_800DC5A8 = 0;
|
||||
}
|
||||
play_sound2(0x4900801C);
|
||||
play_sound2(SOUND_ACTION_PING);
|
||||
func_800029B0();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2349,7 +2349,7 @@ Variable Name | Memory Address
|
|||
[init_sequence_player](@ref init_sequence_player) | 0x800C11B0
|
||||
[init_sequence_players](@ref init_sequence_players) | 0x800C125C
|
||||
[func_800C13F0](@ref func_800C13F0) | 0x800C13F0
|
||||
[func_800C13FC](@ref func_800C13FC) | 0x800C13FC
|
||||
[audio_reset_session_eu](@ref audio_reset_session_eu) | 0x800C13FC
|
||||
[func_800C1480](@ref func_800C1480) | 0x800C1480
|
||||
[func_800C15D0](@ref func_800C15D0) | 0x800C15D0
|
||||
[func_800C16E8](@ref func_800C16E8) | 0x800C16E8
|
||||
|
|
@ -2467,14 +2467,14 @@ Variable Name | Memory Address
|
|||
[eu_process_audio_cmd](@ref eu_process_audio_cmd) | 0x800CB818
|
||||
[seq_player_fade_to_zero_volume](@ref seq_player_fade_to_zero_volume) | 0x800CBA08
|
||||
[func_800CBA64](@ref func_800CBA64) | 0x800CBA64
|
||||
[func_800CBAB4](@ref func_800CBAB4) | 0x800CBAB4
|
||||
[port_eu_init_queues](@ref port_eu_init_queues) | 0x800CBAB4
|
||||
[func_800CBB48](@ref func_800CBB48) | 0x800CBB48
|
||||
[func_800CBB88](@ref func_800CBB88) | 0x800CBB88
|
||||
[func_800CBBB8](@ref func_800CBBB8) | 0x800CBBB8
|
||||
[func_800CBBE8](@ref func_800CBBE8) | 0x800CBBE8
|
||||
[func_800CBC24](@ref func_800CBC24) | 0x800CBC24
|
||||
[func_800CBCB0](@ref func_800CBCB0) | 0x800CBCB0
|
||||
[func_800CBF48](@ref func_800CBF48) | 0x800CBF48
|
||||
[port_eu_init](@ref port_eu_init) | 0x800CBF48
|
||||
[osCreateThread](@ref osCreateThread) | 0x800CBF70
|
||||
[osInitialize](@ref osInitialize) | 0x800CC0C0
|
||||
[osStartThread](@ref osStartThread) | 0x800CC360
|
||||
|
|
@ -4784,9 +4784,9 @@ Variable Name | Memory Address
|
|||
[D_8018EFD8](@ref D_8018EFD8) | 0x8018EFD8
|
||||
[D_8018FB90](@ref D_8018FB90) | 0x8018FB90
|
||||
[D_8018FB91](@ref D_8018FB91) | 0x8018FB91
|
||||
[D_8018FB98](@ref D_8018FB98) | 0x8018FB98
|
||||
[D_8018FBA8](@ref D_8018FBA8) | 0x8018FBA8
|
||||
[D_8018FBD8](@ref D_8018FBD8) | 0x8018FBD8
|
||||
[gCopyCamera](@ref gCopyCamera) | 0x8018FB98
|
||||
[gVelocityCamera](@ref gVelocityCamera) | 0x8018FBA8
|
||||
[gCameraLastPos](@ref gCameraLastPos) | 0x8018FBD8
|
||||
[D_8018FC08](@ref D_8018FC08) | 0x8018FC08
|
||||
[D_8018FC10](@ref D_8018FC10) | 0x8018FC10
|
||||
[sSoundRequests](@ref sSoundRequests) | 0x8018FC20
|
||||
|
|
|
|||
Loading…
Reference in New Issue