diff --git a/.vscode/settings.json b/.vscode/settings.json index cca7d0b8..b34a2350 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -141,7 +141,8 @@ "charconv": "c", "compare": "c", "os_motor.h": "c", - "os_pfs.h": "c" + "os_pfs.h": "c", + "semaphore": "c" }, "C_Cpp_Runner.msvcBatchPath": "" } \ No newline at end of file diff --git a/include/mods.h b/include/mods.h index de7e03da..9c463869 100644 --- a/include/mods.h +++ b/include/mods.h @@ -3,8 +3,9 @@ /** * Level Select: - * Press left or right on the D-PAD to choose which level to play, - * useful for debugging and speedrunning training. + * Use the D-Pad to select a level. Press L to start in + * an advanced level phase (warp zone or Andross fight). + * Useful for debugging and speedrunning training. */ #define MODS_LEVEL_SELECT 0 diff --git a/include/sf64event.h b/include/sf64event.h index c382d054..96c99b9f 100644 --- a/include/sf64event.h +++ b/include/sf64event.h @@ -418,29 +418,29 @@ typedef enum EventActorId { } EventActorId; typedef enum EventSfx { - /* 0 */ EVSFX_0, - /* 1 */ EVSFX_1, - /* 2 */ EVSFX_2, - /* 3 */ EVSFX_3, - /* 4 */ EVSFX_4, - /* 5 */ EVSFX_5, - /* 6 */ EVSFX_6, - /* 7 */ EVSFX_7, - /* 8 */ EVSFX_8, - /* 9 */ EVSFX_9, - /* 10 */ EVSFX_10, - /* 11 */ EVSFX_11, - /* 12 */ EVSFX_12, - /* 13 */ EVSFX_13, - /* 14 */ EVSFX_14, - /* 15 */ EVSFX_15, - /* 16 */ EVSFX_16, - /* 17 */ EVSFX_17, - /* 18 */ EVSFX_18, - /* 19 */ EVSFX_19, - /* 20 */ EVSFX_20, - /* 21 */ EVSFX_21, - /* 22 */ EVSFX_22, + /* 0 */ EVSFX_OB_SLIDE_OPEN, + /* 1 */ EVSFX_OB_SLIDE_CLOSE, + /* 2 */ EVSFX_OB_STEELFRAME, + /* 3 */ EVSFX_OB_HEAVY_BOUND, + /* 4 */ EVSFX_ITEM_APPEAR, + /* 5 */ EVSFX_OB_BLOCK_APPEAR, + /* 6 */ EVSFX_OB_ROCKWALL_UP, + /* 7 */ EVSFX_EN_UNIT_GATHERING, + /* 8 */ EVSFX_EN_MOTOR_STOP, + /* 9 */ EVSFX_EN_MS_DASH, + /* 10 */ EVSFX_OB_ROCK_CRASH, + /* 11 */ EVSFX_OB_ROCK_EYE_OPEN, + /* 12 */ EVSFX_OB_SHIP_FALLDOWN, + /* 13 */ EVSFX_OB_BOUND_M, + /* 14 */ EVSFX_OB_SPEAR_PILLAR, + /* 15 */ EVSFX_OB_PILLER_ROLL, + /* 16 */ EVSFX_SEARCHLIGHT_MISS, + /* 17 */ EVSFX_OB_ROUTEGATE_OPEN_Q, + /* 18 */ EVSFX_OB_ROUTEGATE_CLOSE_Q, + /* 19 */ EVSFX_OB_ROUTEGATE_OPEN_S, + /* 20 */ EVSFX_OB_ROUTEGATE_CLOSE_S, + /* 21 */ EVSFX_OB_LIFT, + /* 22 */ EVSFX_OB_PLATE_ROLL, } EventSfx; typedef enum TexLineColor { diff --git a/include/sfx.h b/include/sfx.h index 1fdee05e..b6f65633 100644 --- a/include/sfx.h +++ b/include/sfx.h @@ -100,9 +100,320 @@ typedef enum SfxBankId { #define NA_SE_MARINE_BRAKE 0x09004031 #define NA_SE_MAP_ARWING_DASH 0x09000032 +#define NA_SE_FALL 0x11000000 +#define NA_SE_PASS 0x19000001 +#define NA_SE_OB_METAL_BOUND_S 0x19030002 // Unreferenced. +#define NA_SE_OB_METAL_BOUND_M 0x19030003 +#define NA_SE_EN_METAL_BOUND_M 0x19130003 +#define NA_SE_EN_MS_LAND 0x19031003 +#define NA_SE_OB_METAL_BOUND_L 0x19030004 +#define NA_SE_OB_BLOCK_APPEAR 0x19122005 +#define NA_SE_OB_BOUND_M 0x19020006 +#define NA_SE_OB_ROCK_BOUND 0x19030006 +#define NA_SE_OB_AC_ROCK_BOUND 0x19400007 +#define NA_SE_METALBOMB_REFLECT 0x19020008 +#define NA_SE_OB_MC_SWITCH_UP 0x19033008 +#define NA_SE_METALBOMB_BOUND 0x19030009 // Unreferenced. +#define NA_SE_TANK_SLIDE 0x1100000A +#define NA_SE_SPLASH_LEVEL_S 0x1100000B +#define NA_SE_SPLASH_LEVEL_L 0x1100000C +#define NA_SE_OB_GATE_OPEN 0x1900000D +#define NA_SE_OB_SLIDE_OPEN 0x1903000D +#define NA_SE_OB_GATE_CLOSE 0x1900000E +#define NA_SE_OB_SLIDE_CLOSE 0x1903000E +#define NA_SE_OB_EXPLOSION_S 0x1903400F +#define NA_SE_GREATFOX_ENGINE 0x11030010 +#define NA_SE_EARTHQUAKE 0x11000011 +#define NA_SE_MAP_ZOOM_START 0x19003012 +#define NA_SE_MAP_ZOOM_END 0x19004013 +#define NA_SE_OB_WATER_BOUND_M 0x19000014 +#define NA_SE_OB_STEELFRAME 0x19500015 +#define NA_SE_EXPLOSION_DEMO2 0x11030016 +#define NA_SE_KT_UFO_FALLING 0x11404016 +#define NA_SE_IN_SPLASH_S 0x19800017 +#define NA_SE_OUT_SPLASH_S 0x19800018 // Unreferenced. +#define NA_SE_IN_SPLASH_L 0x19832019 +#define NA_SE_OUT_SPLASH_L 0x1983201A +#define NA_SE_OB_CRAME_MOTOR 0x1900001B +#define NA_SE_OB_BROKEN_BOX 0x1903901C +#define NA_SE_OB_MINI_BOMB 0x1903001D +#define NA_SE_OB_WT_WHEEL_ROLL 0x1903001E +#define NA_SE_OB_WALL_UP 0x1903001F +#define NA_SE_ON_SPLASH_S 0x19000020 +#define NA_SE_EN_PULL_CHAIN0 0x19003021 +#define NA_SE_EN_GATHER_PARTS 0x11033022 +#define NA_SE_EN_HEARTBEAT 0x11003023 +#define NA_SE_OB_SAND_BOUND_S 0x19000024 +#define NA_SE_KT_UFO_ENGINE 0x11037025 +#define NA_SE_MAP_ZOOM_OUT 0x19000026 +#define NA_SE_EN_BROKEN_SPARK 0x11000027 +#define NA_SE_OB_SPARK_BEAM 0x11000028 +#define NA_SE_OB_BOMB_ALARM 0x19000029 +#define NA_SE_WARP_HOLE 0x1900602A +#define NA_SE_OB_WING 0x1900302B +#define NA_SE_SUBMARINE_ATM 0x1100802C +#define NA_SE_WATER_PRESSURE 0x1900002D +#define NA_SE_BUBBLE_UP 0x1900002E +#define NA_SE_EN_WT_BROKEN 0x1902102F +#define NA_SE_EN_WT_DISAPPEAR_S 0x19003030 +#define NA_SE_EN_WT_BOUND_M 0x19402031 +#define NA_SE_OB_BOMB_ALARM_LAST 0x19000032 +#define NA_SE_EN_WT_DISAPPEAR_L 0x19000033 +#define NA_SE_EN_RNG_BEAM_CHARGE 0x11015034 +#define NA_SE_EN_RNG_BEAM_SHOT 0x19006035 +#define NA_SE_EN_SHIELD_ROLL 0x19030036 +#define NA_SE_GREATFOX_SHOT_DEMO 0x19030037 +#define NA_SE_WARP_RING_1 0x19404038 +#define NA_SE_WARP_RING_2 0x19404139 +#define NA_SE_WARP_RING_3 0x1940423A +#define NA_SE_WARP_RING_4 0x1940433B +#define NA_SE_WARP_RING_5 0x1940443C +#define NA_SE_WARP_RING_6 0x1940453D +#define NA_SE_WARP_RING_7 0x1940463E +#define NA_SE_KT_UFO_HATCH_OPEN 0x1903203F +#define NA_SE_KT_UFO_HATCH_CLOSE 0x19032040 +#define NA_SE_KT_UFO_CORE_OPEN 0x19032041 +#define NA_SE_BO_CORE_APPEAR 0x19034041 +#define NA_SE_KT_UFO_HATCH_STOP 0x19034042 +#define NA_SE_KT_UFO_LONG_CHARGE 0x11034043 +#define NA_SE_KT_UFO_LAST_CHARGE 0x19406044 +#define NA_SE_KT_UFO_BEAM 0x1140B045 +#define NA_SE_EXPLOSION_DEMO3 0x11038046 +#define NA_SE_KT_UFO_BOUND 0x19408047 +#define NA_SE_OB_BARRIER_RELEASE 0x19401048 +#define NA_SE_EN_SPACE_SNAKE 0x11032049 +#define NA_SE_OB_ROCKWALL_UP 0x1913204A +#define NA_SE_COLONY_LEVEL 0x1100004B // Unreferenced. +#define NA_SE_MAP_MOVE 0x1100004C +#define NA_SE_MAP_ROLL 0x1100204C +#define NA_SE_MAP_LINE_DRAW 0x1900404D +#define NA_SE_SHIP_ENGINE_SPC 0x1100004E // Unreferenced. +#define NA_SE_OB_BROKEN_SPARK_L 0x1900404F +#define NA_SE_EN_SHIELD_ROLL_LEVEL 0x11002050 +#define NA_SE_EN_SHIELD_ROLL_STOP 0x19004051 +#define NA_SE_OB_MAGMA_WAVE 0x11002052 +#define NA_SE_EN_OUT_PROMINENCE 0x19035053 +#define NA_SE_EN_OUT_MAGMA 0x19036053 +#define NA_SE_EN_IN_PROMINENCE 0x19035054 +#define NA_SE_EN_IN_MAGMA 0x19036054 +#define NA_SE_OB_SMOKE 0x11000055 +#define NA_SE_OB_ROCK_CRASH 0x19032056 +#define NA_SE_OB_ROCK_EYE_OPEN 0x19030057 +#define NA_SE_OB_SHIP_FALLDOWN 0x19033058 +#define NA_SE_EN_BMBOSS_BROKEN 0x19030059 +#define NA_SE_OB_ARM_SWING 0x1903005A +#define NA_SE_OB_POLE_MOVE 0x1903205B +#define NA_SE_OB_POLE_BOUND 0x1903205C +#define NA_SE_OB_HEAVY_SWITCH 0x1940405D +#define NA_SE_OB_CONNECT_CUT 0x1940205E +#define NA_SE_OB_MC_SWITCH_ON 0x1903205F +#define NA_SE_OB_MC_SWITCH_GRN 0x19020060 +#define NA_SE_OB_MC_SWITCH_RED 0x19020061 +#define NA_SE_OB_POST_UP 0x19001062 +#define NA_SE_OB_SIDE_GATE_CLOSE 0x11001063 +#define NA_SE_OB_SPEAR_STICK 0x19032064 +#define NA_SE_RAILWAY_BOUND 0x19000065 +#define NA_SE_EN_MCBOSS_HATCH 0x19034066 +#define NA_SE_EN_MCBOSS_CHARGE0 0x19022067 +#define NA_SE_EN_MCBOSS_SHOT0 0x19023068 +#define NA_SE_EN_MCBOSS_PLATECHARGE 0x19022069 +#define NA_SE_VO_ANDORF_PUNCH 0x1940306A +#define NA_SE_VO_ANDORF_SLAP 0x1940306B +#define NA_SE_VO_ANDORF_WHAND 0x1940306C +#define NA_SE_VO_ANDORF_CHOKE 0x1940306D +#define NA_SE_VO_ANDORF_LAUGH 0x1940306E +#define NA_SE_VO_ANDORF_GROAN 0x1940306F +#define NA_SE_VO_ANDORF_DEATH 0x19403070 +#define NA_SE_OB_ROOT_EXPLOSION0 0x11403071 +#define NA_SE_OB_ROUTEGATE_OPEN_Q 0x19038072 +#define NA_SE_EN_ANDORF_ROBOT 0x11030073 +#define NA_SE_EN_ANDORF_BRAIN 0x11034074 +#define NA_SE_EN_ANDORF_EYE 0x11032075 +#define NA_SE_OB_ROOT_EXPLOSION1 0x11403076 +#define NA_SE_OB_FISH_AWAY 0x19400077 +#define NA_SE_OB_AC_PILLAR_BROKE 0x19021078 +#define NA_SE_WARP_OUT 0x11407079 +#define NA_SE_ARWING_HATCH 0x1950107A +#define NA_SE_OB_POINT_SWITCH 0x1940807B +#define NA_SE_VO_ANDORF_EXCITE 0x1940307C +#define NA_SE_OB_PILLER_ROLL 0x1903407D +#define NA_SE_OB_ROUTEGATE_CLOSE_Q 0x1903807E +#define NA_SE_OB_ROUTEGATE_OPEN_S 0x1903807F +#define NA_SE_OB_ROUTEGATE_CLOSE_S 0x19038080 // events that play this are unused +#define NA_SE_OB_LIFT 0x11032081 +#define NA_SE_OB_PLATE_ROLL 0x19031082 +#define NA_SE_STARFOX_SEAL 0x19031083 +#define NA_SE_EXPLOSION_DEMO6 0x11020084 - - +#define NA_SE_EXPLOSION_S 0x29000000 +#define NA_SE_BIG_EXPLOSION 0x29000001 // Unreferenced. +#define NA_SE_EN_SHOT_0 0x29002002 +#define NA_SE_EN_DAMAGE_M 0x29024003 +#define NA_SE_OB_DAMAGE_M 0x29034003 +#define NA_SE_EN_BREATH 0x31000004 // Unreferenced. +#define NA_SE_EN_WOLF_ENGINE 0x31004005 +#define NA_SE_EN_WOLF_ENGINE2 0x31004006 +#define NA_SE_EN_REFLECT 0x29121007 +#define NA_SE_EN_EXPLOSION_S 0x2903A008 +#define NA_SE_EN_EXPLOSION_M 0x2903B009 +#define NA_SE_EN_EXPLOSION_L 0x2940C00A +#define NA_SE_EN_CRASH_DOWN 0x2903700B +#define NA_SE_ARWING_ENGINE_FG 0x3100000C +#define NA_SE_ARWING_SHOT_F 0x2900000D +#define NA_SE_EN_DAMAGE_S 0x2903300E +#define NA_SE_EN_DAMAGE_L 0x2900300F +#define NA_SE_EN_KNOCK_DOWN 0x2943500F +#define NA_SE_EN_S_FIGHTER_ENGINE 0x31000010 // Unreferenced. +#define NA_SE_EN_ENGINE_01 0x31000011 +#define NA_SE_EN_MISSILE_ENGINE 0x31000012 +#define NA_SE_EN_LONG_BEAM 0x31000013 +#define NA_SE_EN_ALIEN_FLY 0x31000014 +#define NA_SE_EN_SPACE_SHIP 0x31000015 +#define NA_SE_EN_TANK_RB_ENGINE 0x31000016 +#define NA_SE_EN_TANK_ENGINE 0x31000017 +#define NA_SE_A_CARRIER_ENGINE 0x31038018 +#define NA_SE_EN_HEAVY_WALK 0x29022019 +#define NA_SE_EN_HATCH 0x2940201A +#define NA_SE_EN_MISSILE_SHOT 0x2903101B +#define NA_SE_EN_BARREL_SHOT 0x2903201B +#define NA_SE_EN_THROW 0x2902401C +#define NA_SE_EN_MS_PUNCH 0x2903401C +#define NA_SE_EN_FALLING_DOWN 0x2900201D +#define NA_SE_EN_LASER_BEAM 0x3100001E +#define NA_SE_EN_HEAVY_WALK1 0x2902201F +#define NA_SE_EN_HEAVY_JUMP 0x29023020 +#define NA_SE_EN_HEAVY_BOUND 0x29034021 +#define NA_SE_OB_HEAVY_BOUND 0x2903A021 +#define NA_SE_EN_COMBINE 0x29433022 +#define NA_SE_EN_MOTOR_ROLL 0x29400023 +#define NA_SE_EN_MOTOR_STOP 0x29034024 +#define NA_SE_EN_UNIT_COMBINE 0x29402024 +#define NA_SE_EN_ENERGY_BEAM 0x31000025 +#define NA_SE_EN_ZOBOSS_BEAM 0x31034025 +#define NA_SE_EN_BOSS_EXPLOSION 0x2902F026 +#define NA_SE_EN_STAR_EXPLOSION 0x2940F026 +#define NA_SE_EN_PARTS_BROKEN 0x2940C027 +#define NA_SE_EN_THROW_S 0x29000028 +#define NA_SE_EN_HEAVY_WALK2 0x29406029 +#define NA_SE_EN_APPEAR_SAND 0x2900502A +#define NA_SE_EN_TIBOSS_AT_CRY 0x2940702B +#define NA_SE_EN_TIBOSS_DM_CRY 0x2940802C +#define NA_SE_EN_TIBOSS_DW_CRY 0x2940902D +#define NA_SE_EXPLOSION_DEMO 0x3140402E +#define NA_SE_EXPLOSION_DEMO5 0x3143402E +#define NA_SE_EN_BOSS_BEAM0 0x3143102F +#define NA_SE_EN_BOSS_CHARGE 0x39435830 +#define NA_SE_EN_BOSS_ATTACK 0x29003031 +#define NA_SE_EN_SAND_BOUND_M 0x29403031 +#define NA_SE_OB_SPEAR_PILLAR 0x29503032 +#define NA_SE_EN_WT_EXPLOSION_S 0x29038033 +#define NA_SE_EN_WT_EXPLOSION_M 0x29000034 // Unreferenced. +#define NA_SE_EN_WT_EXPLOSION_L 0x29000035 // Unreferenced. +#define NA_SE_EN_BIRD_DOWN 0x29018036 +#define NA_SE_EN_BIRD_DAMAGE 0x29033037 +#define NA_SE_EN_SPIDER_MOVE 0x21000038 // Unreferenced. +#define NA_SE_EN_SHIP_ENGINE_S 0x31012039 +#define NA_SE_EN_SHIP_ENGINE_L 0x3100203A +#define NA_SE_EN_S_BALL_SHOT 0x2903203B +#define NA_SE_EN_SINK_PARTS 0x2940983C +#define NA_SE_EN_M_BALL_SHOT 0x2900403D +#define NA_SE_EN_PULL_CHAIN1 0x3100503E +#define NA_SE_EN_HEART_OPEN 0x2900803F +#define NA_SE_ARWING_ENGINE_FS 0x31000040 +#define NA_SE_EN_SNAKE_DAMAGE 0x29034041 +#define NA_SE_EN_KANI_DOWN 0x29000042 // Unreferenced. +#define NA_SE_EN_KANI_MOTOR 0x31030043 +#define NA_SE_EN_DISAPPEAR_SAND 0x29000044 // Unreferenced. +#define NA_SE_EN_SANADA_DAMAGE 0x29034045 +#define NA_SE_EN_SANADA_DOWN 0x2902A046 +#define NA_SE_EN_SANADA_SWIM 0x31000047 +#define NA_SE_EN_SANADA_APPEAR 0x29022048 +#define NA_SE_EN_SEA_EXPLOSION_S 0x29018049 +#define NA_SE_EN_SEA_EXPLOSION_L 0x2900004A // Unreferenced. +#define NA_SE_EN_P_BALL_SHOT 0x2903404B +#define NA_SE_EN_WT_DAMAGE_S 0x2903604C +#define NA_SE_EN_EYEFILM_DAMAGE 0x2940604C +#define NA_SE_EN_SHELL_BEAT 0x3140904D +#define NA_SE_EN_SHELL_DAMAGE 0x2940804E +#define NA_SE_EN_SHELL_DOWN 0x2940A04F +#define NA_SE_EN_KAIBASHIRA_DAMEGE 0x29036050 +#define NA_SE_EN_EYEFILM_REVIVAL 0x29409051 +#define NA_SE_EN_P_GUN_APPEAR 0x29400052 +#define NA_SE_EN_P_GUN_DISAPPEAR 0x29000053 // Unreferenced. +#define NA_SE_EN_SHELL_CLOSE 0x29408054 +#define NA_SE_EN_SHELL_FILLOPEN 0x29408055 +#define NA_SE_EN_S_BEAM_CHARGE 0x31016056 +#define NA_SE_EN_S_BEAM_SHOT 0x31037057 +#define NA_SE_EN_S_BEAM_END 0x29038058 +#define NA_SE_GREATFOX_BURNER 0x31024059 +#define NA_SE_EN_BURNER_L 0x3102505A +#define NA_SE_EN_GRN_BEAM_CHARGE 0x3103605B +#define NA_SE_EN_GRN_BEAM_SHOT 0x3102705C +#define NA_SE_EN_ASBOSS_SHIELD 0x3102405D +#define NA_SE_EN_CATCH 0x2902405E +#define NA_SE_EN_PASS 0x2903305F +#define NA_SE_EN_MS_EXPLOSION_S 0x2903A060 +#define NA_SE_EN_SZMIS_ENGINE 0x31032061 +#define NA_SE_EN_PUNCH_ENGINE 0x3103A061 +#define NA_SE_EN_BARRIER_REFLECT 0x29001062 +#define NA_SE_EN_ANDORF_EXPLOSION 0x31009063 +#define NA_SE_EN_SPARK_DAMAGE_M 0x29033064 +#define NA_SE_EN_BMBOSS_DAMAGE 0x31034064 +#define NA_SE_EN_ARM_SWING 0x29034065 +#define NA_SE_EN_COVER_OPEN 0x31404066 +#define NA_SE_EN_COVER_CLOSE 0x31404067 +#define NA_SE_EN_COVER_MOVE_STOP 0x39404068 +#define NA_SE_EN_ENERGY_BALL 0x31008069 +#define NA_SE_EN_UNIT_GATHERING 0x2900306A +#define NA_SE_EN_MS_SHOT_S 0x2900306B +#define NA_SE_EN_MS_DASH 0x2902306C +#define NA_SE_EN_MS_KICK 0x2902306D +#define NA_SE_EN_MS_SHOT_L 0x2901306E +#define NA_SE_EN_MS_SHIELD_BROKEN 0x2903A06F +#define NA_SE_EN_MS_EXPLOSION_L 0x29000070 // Unreferenced. +#define NA_SE_OB_SNROCK_APPEAR 0x29000071 +#define NA_SE_OB_SNROCK_DISAPPEAR 0x29000072 +#define NA_SE_EN_SNBOSS_CRY 0x29432073 +#define NA_SE_EN_SNBOSS_DAMAGE 0x29433074 +#define NA_SE_EN_SNBOSS_BROKEN 0x29434075 +#define NA_SE_EN_SNBOSS_DOWN 0x39439076 +#define NA_SE_EN_SNBOSS_SWING 0x29432077 +#define NA_SE_EN_SNBOSS_BREATH 0x31033078 +#define NA_SE_EN_SNBOSS_ROLL 0x39033079 +#define NA_SE_EN_ANGLER_DAMAGE 0x2900007A // Unreferenced. +#define NA_SE_EN_ANGLER_DOWN 0x2900007B // Unreferenced. +#define NA_SE_UNK_7C 0x2100007C // Unreferenced. Sounds like many small explosions +#define NA_SE_ROCK_REFLECT 0x2902107D +#define NA_SE_OB_MAGMA_BUBBLE 0x3140807E +#define NA_SE_UNK_7F 0x2900007F // Unreferenced. Sounds like an impact +#define NA_SE_OB_BMBOSS_WALK 0x29032080 +#define NA_SE_OB_BMBOSS_JUMP 0x29033081 +#define NA_SE_OB_BMBOSS_LAND 0x29034082 +#define NA_SE_OB_BMBOSS_ATTACK 0x31030083 +#define NA_SE_OB_BMBOSS_BOUND 0x29405084 +#define NA_SE_EN_FREIGHT_TRAIN 0x31078085 +#define NA_SE_EN_MCBOSS_REFLECT 0x29022086 +#define NA_SE_EN_ANDORF_BREATH 0x31022087 +#define NA_SE_EN_ANDORF_BITE0 0x29022088 +#define NA_SE_EN_ANDORF_BITE1 0x29022089 +#define NA_SE_EN_ANDORF_VOMIT 0x3140208A +#define NA_SE_EN_ANDORF_SPARK 0x3103108B +#define NA_SE_EN_WT_THROW 0x2900308C +#define NA_SE_EN_WT_SPARK_CHARGE 0x2900208D +#define NA_SE_EN_WT_SPARK_BEAM 0x3100208E +#define NA_SE_EN_AC_ZAKO_DAMAGE 0x2903408F +#define NA_SE_EN_AC_ZAKO_DOWN 0x29038090 +#define NA_SE_EN_WARP_IN 0x39408091 +#define NA_SE_EN_WARP_OUT 0x39408092 +#define NA_SE_EN_CLBOSS_CHARGE 0x39033093 +#define NA_SE_EN_CLBOSS_BEAM 0x31405094 +#define NA_SE_EN_TRAIN_BREAK 0x31408095 +#define NA_SE_EN_ANDORF_WARP 0x2940B096 +#define NA_SE_EN_ANDORF_CATCH 0x31408097 +#define NA_SE_EN_KANI_STOP 0x29030098 +#define NA_SE_EN_MCBOSS_RAGE 0x29036099 +#define NA_SE_EN_DOWN_IMPACT 0x2940D09A +#define NA_SE_EN_MARBLE_BEAM 0x3103109B #define NA_SE_PAUSE_ON 0x4900F000 #define NA_SE_PAUSE_OFF 0x4900F001 // Unreferenced. Seems to be identical to NA_SE_PAUSE_ON diff --git a/sfxIds.txt b/sfxIds.txt deleted file mode 100644 index cedc0b77..00000000 --- a/sfxIds.txt +++ /dev/null @@ -1,428 +0,0 @@ -0x09000000 turret fire -0x09400000 single laser -0x09001001 bomb flight -0x09000002 boost -0x09004002 boost variant used by boss titania -0x09000003 brake -0x09000004 sector X boss hitting slippy -0x0903F004 player death -0x0100F005 arwing planet engine noise -0x0100F006 landmaster engine noise -0x09000007 wings changing position -0x01008008 iniial bomb flight. only plays for 1 frame -0x0901A009 unused? bomb explosion -0x0903A00A bomb explosion -0x0901A00B unused? bomb explosion -0x0940A00B corneria start explosion and save delete -0x0940800C twin laser -0x0?????0D some sort of explosion -0x0903900E weak hit -0x0903A00F strong hit -0x0900C010 fatal hit -0x09007011 deflect laser -0x09000012 arwing barrel roll -0x09000013 wings stop moving -0x09002013 arwing launchers/boss sector y spawn stop moving -0x09000014 landmaster/on foot shot -0x09008015 landmaster falls on ground -0x01008016 landmaster hover -0x09000017 blue marine barrel roll -0x0?????18 footstep. comparisons are relative to this -0x0?????19 heavier footstep -0x0?????1A lighter footstep -0x0?????1B lightest footstep -0x0140001C running footsteps in title -0x0100001D something mechanical starting to move, used in title -0x0100001E engines powering up -0x0100001F Beam sounds from sound test -0x0100F020 arwing space engine noise -0x09400021 blue marine single laser -0x0100F022 blue marine engine noise -0x09008023 wings repaired -0x01004024 landmaster single jet -0x01000025 torpedo shot -0x01038026 blue marine launch -0x09400027 blue marine twin laser (and hyper?) -0x09404028 blue marine hit ground -0x09007029 charge shot fire -0x0900802A warp zone map path -0x0940802A warp zone enter -0x0940802B arwing hyper laser -0x0900A02C wing break -0x0900302D charge shot charge -0x0903502E charge shot explode -0x0900402F landmaster boost -0x09004030 blue marine boost -0x09004031 blue marine brake -0x09000032 normal map path - -0x11000000 CO waterfall noise -0x19000001 whoosh -0x1?????02 clang sound, ligher than 3 -0x19030003 various falling pillars hitting ground -0x19031003 various falling pillars hitting ground -0x19130003 various falling pillars hitting ground -0x19030004 corneria mech boss hitting ground -0x19122005 EVSFX_5. venom event actors. spawning pillars/fingers? -0x19020006 titania rocks -0x19030006 macbeth rocks -0x19400007 aquas rocks -0x19020008 titania hopping bombs -0x19033008 macbeth switches -0x1?????09 -0x1100000A -0x1100000B -0x1100000C -0x1900000D -0x1903000D -0x1900000E -0x1903000E -0x1903400F -0x11030010 -0x11000011 -0x19003012 -0x19004013 -0x19000014 -0x19500015 -0x11030016 -0x11404016 -0x19800017 -0x1?????18 -0x19832019 -0x1983201A -0x1900001B -0x1903901C -0x1903001D -0x1903001E -0x1903001F -0x19000020 -0x19003021 -0x11033022 -0x11003023 -0x19000024 -0x11037025 -0x19000026 -0x11000027 -0x11000028 -0x19000029 -0x1900602A -0x1900302B -0x1100802C -0x1900002D -0x1900002E -0x1902102F -0x19003030 -0x19402031 -0x19000032 -0x19000033 -0x11015034 -0x19006035 -0x19030036 -0x19030037 -0x19404038 -0x19404139 -0x1940423A -0x1940433B -0x1940443C -0x1940453D -0x1940463E -0x1903203F -0x19032040 -0x19032041 -0x19034041 -0x19034042 -0x11034043 -0x19406044 -0x1140B045 -0x11038046 -0x19408047 -0x19401048 -0x11032049 -0x1913204A -0x1?????4B -0x1100004C -0x1100204C -0x1900404D -0x1?????4E -0x1900404F -0x11002050 -0x19004051 -0x11002052 -0x19035053 -0x19036053 -0x19035054 -0x19036054 -0x11000055 -0x19032056 -0x19030057 -0x19033058 -0x19030059 -0x1903005A -0x1903205B -0x1903205C -0x1940405D -0x1940205E -0x1903205F -0x19020060 -0x19020061 -0x19001062 -0x11001063 -0x19032064 -0x19000065 -0x19034066 -0x19022067 -0x19023068 -0x19022069 -0x1940306A -0x1940306B -0x1940306C -0x1940306D -0x1940306E -0x1940306F -0x19403070 -0x11403071 -0x19038072 -0x11030073 -0x11034074 -0x11032075 -0x11403076 -0x19400077 -0x19021078 -0x11407079 -0x1950107A -0x1940807B -0x1940307C -0x1903407D -0x1903807E -0x1903807F -0x19038080 -0x11032081 -0x19031082 -0x19031083 -0x11020084 - -0x29000000 -0x5?????01 -0x29002002 -0x29024003 -0x29034003 -0x5?????04 -0x31004005 -0x31004006 -0x29121007 -0x2903A008 -0x2903B009 -0x2940C00A -0x2903700B -0x3100000C -0x2900000D -0x2903300E -0x2900300F -0x2943500F -0x5?????10 -0x31000011 -0x31000012 -0x31000013 -0x31000014 -0x31000015 -0x31000016 -0x31000017 -0x31038018 -0x29022019 -0x2940201A -0x2903101B -0x2903201B -0x2902401C -0x2903401C -0x2900201D -0x3100001E -0x2902201F -0x29023020 -0x29034021 -0x2903A021 -0x29433022 -0x29400023 -0x29034024 -0x29402024 -0x31000025 -0x31034025 -0x2902F026 -0x2940F026 -0x2940C027 -0x29000028 -0x29406029 -0x2900502A -0x2940702B -0x2940802C -0x2940902D -0x3140402E -0x3143402E -0x3143102F -0x39435830 -0x29003031 -0x29403031 -0x29503032 -0x29038033 -0x5?????34 -0x5?????35 -0x29018036 -0x29033037 -0x5?????38 -0x31012039 -0x3100203A -0x2903203B -0x2940983C -0x2900403D -0x3100503E -0x2900803F -0x31000040 -0x29034041 -0x5?????42 -0x31030043 -0x5?????44 -0x29034045 -0x2902A046 -0x31000047 -0x29022048 -0x29018049 -0x5?????4A -0x2903404B -0x2903604C -0x2940604C -0x3140904D -0x2940804E -0x2940A04F -0x29036050 -0x29409051 -0x29400052 -0x5?????53 -0x29408054 -0x29408055 -0x31016056 -0x31037057 -0x29038058 -0x31024059 -0x3102505A -0x3103605B -0x3102705C -0x3102405D -0x2902405E -0x2903305F -0x2903A060 -0x31032061 -0x3103A061 -0x29001062 -0x31009063 -0x29033064 -0x31034064 -0x29034065 -0x31404066 -0x31404067 -0x39404068 -0x31008069 -0x2900306A -0x2900306B -0x2902306C -0x2902306D -0x2901306E -0x2903A06F -0x5?????70 -0x29000071 -0x29000072 -0x29432073 -0x29433074 -0x29434075 -0x39439076 -0x29432077 -0x31033078 -0x39033079 -0x5?????7A -0x5?????7B -0x5?????7C -0x2902107D -0x3140807E -0x5?????7F -0x29032080 -0x29033081 -0x29034082 -0x31030083 -0x29405084 -0x31078085 -0x29022086 -0x31022087 -0x29022088 -0x29022089 -0x3140208A -0x3103108B -0x2900308C -0x2900208D -0x3100208E -0x2903408F -0x29038090 -0x39408091 -0x39408092 -0x39033093 -0x31405094 -0x31408095 -0x2940B096 -0x31408097 -0x29030098 -0x29036099 -0x2940D09A -0x3103109B - -0x4900F000 pause menu -0x4?????01 identical to above? -0x49000002 change menu selection -0x49000003 select menu item -0x49002004 collect lasers -0x49002005 collect bomb -0x49002006 collect bomb. identical to above, played at same time -0x49004007 scroll number -0x49000008 vs countodwn -0x49000009 vs go -0x4900100A bad selection -0x4?????0B warning sound? -0x4900000C item appears -0x4900200D big heal -0x4900200E small heal -0x4900400F collect checkpoint -0x49008010 low health hit alarm -0x49008011 critical health hit alarm -0x41007012 teammate health increase -0x49003013 collect gold ring -0x49000014 great fox warning siren -0x49008015 health bar increase -0x49002016 good luck -0x49000017 trainer text display -0x49002018 call alert -0x49000019 map pause menu up, also crosshairs on -0x4900101A map pause menu down, also crosshairs off -0x4900001B torpedo lock on -0x4900001C missile great fox proximity alert -0x4900101D exit menu -0x4100001E briefing sounds -0x4900001F world map appears ? -0x49000020 main menu select -0x49000021 main menu back -0x49000022 main menu change selection -0x4100C023 solar heat alarm -0x4900C024 1UP -0x49008025 ring passed -0x49001026 low health nag -0x49008027 charge lock on -0x4900C028 boss health appears -0x4?????29 sound like an item collect jingle -0x4900C02A timer countdown alert -0x4?????2B some sort of option change? -0x4900002C cockpit view on -0x4900002D cockpit view off -0x4900402E EVSFX_16, missed zoness searchlight -0x4900402F ring failed -0x49008030 medal award -0x49008031 mission accomplished text -0x49000032 one steep bill -0x49000033 whaaat -0x49008034 mission complete text -0x4?????35 quiet noise, hard to place -0x4900D036 vs mode time up. doesn't play? diff --git a/sfxStrings.txt b/sfxStrings.txt deleted file mode 100644 index 1a36867e..00000000 --- a/sfxStrings.txt +++ /dev/null @@ -1,351 +0,0 @@ - -NA_SE_FALL -NA_SE_PASS -NA_SE_ARWIN_GO_OUT -NA_SE_OB_METAL_BOUND_S -NA_SE_OB_METAL_BOUND_M -NA_SE_EN_METAL_BOUND_M -NA_SE_EN_MS_LAND -NA_SE_OB_METAL_BOUND_L -NA_SE_OB_BOUND_S -NA_SE_OB_BLOCK_APPEAR -NA_SE_OB_BOUND_M -NA_SE_OB_ROCK_BOUND -NA_SE_OB_BOUND_L -NA_SE_OB_AC_ROCK_BOUND -NA_SE_OB_AC_PILLAR_BOUND -NA_SE_METALBOMB_REFLECT -NA_SE_OB_MC_SWITCH_UP -NA_SE_METALBOMB_BOUND -NA_SE_SAND_SLIDE -NA_SE_TANK_SLIDE -NA_SE_SPLASH_LEVEL_S -NA_SE_SPLASH_LEVEL_L -NA_SE_OB_GATE_OPEN -NA_SE_OB_SLIDE_OPEN -NA_SE_OB_GATE_CLOSE -NA_SE_OB_SLIDE_CLOSE -NA_SE_OB_EXPLOSION_S -NA_SE_GREATFOX_ENGINE -NA_SE_EARTHQUAKE -NA_SE_MAP_ZOOM_START -NA_SE_MAP_ZOOM_END -NA_SE_OB_WATER_BOUND_M -NA_SE_EN_WATER_BOUND_M -NA_SE_OB_STEELFRAME -NA_SE_EXPLOSION_DEMO2 -NA_SE_KT_UFO_FALLING -NA_SE_IN_SPLASH_S -NA_SE_OUT_SPLASH_S -NA_SE_IN_SPLASH_L -NA_SE_OUT_SPLASH_L -NA_SE_OB_CRAME_MOTOR -NA_SE_OB_BROKEN_BOX -NA_SE_OB_MINI_BOMB -NA_SE_OB_WT_WHEEL_ROLL -NA_SE_OB_WALL_UP -NA_SE_OB_WALL_BOMB -NA_SE_ON_SPLASH_S -NA_SE_EN_PULL_CHAIN0 -NA_SE_EN_GATHER_PARTS -NA_SE_EN_HEARTBEAT -NA_SE_OB_SAND_BOUND_S -NA_SE_EN_SAND_BOUND_S -NA_SE_KT_UFO_ENGINE -NA_SE_MAP_ZOOM_OUT -NA_SE_EN_BROKEN_SPARK -NA_SE_OB_BROKEN_SPARK -NA_SE_OB_SPARK_BEAM -NA_SE_OB_BOMB_ALARM -NA_SE_WARP_HOLE -NA_SE_OB_WING -NA_SE_SUBMARINE_ATM -NA_SE_WATER_PRESSURE -NA_SE_BUBBLE_UP -NA_SE_EN_WT_BROKEN -NA_SE_EN_WT_DISAPPEAR_S -NA_SE_EN_WT_BOUND_M -NA_SE_OB_BOMB_ALARM_LAST -NA_SE_EN_WT_DISAPPEAR_L -NA_SE_EN_RNG_BEAM_CHARGE -NA_SE_EN_RNG_BEAM_SHOT -NA_SE_EN_MCBOSS_PLATEBEAM -NA_SE_EN_SHIELD_ROLL -NA_SE_GREATFOX_SHOT_DEMO -NA_SE_WARP_RING_1 -NA_SE_WARP_RING_2 -NA_SE_WARP_RING_3 -NA_SE_WARP_RING_4 -NA_SE_WARP_RING_5 -NA_SE_WARP_RING_6 -NA_SE_WARP_RING_7 -NA_SE_KT_UFO_HATCH_OPEN -NA_SE_KT_UFO_HATCH_CLOSE -NA_SE_KT_UFO_CORE_OPEN -NA_SE_BO_CORE_APPEAR -NA_SE_KT_UFO_HATCH_STOP -NA_SE_KT_UFO_CORE_STOP -NA_SE_KT_UFO_LONG_CHARGE -NA_SE_KT_UFO_LAST_CHARGE -NA_SE_KT_UFO_BEAM -NA_SE_EXPLOSION_DEMO3 -NA_SE_KT_UFO_BOUND -NA_SE_OB_BARRIER_RELEASE -NA_SE_EN_SPACE_SNAKE -NA_SE_OB_ROCKWALL_UP -NA_SE_COLONY_LEVEL -NA_SE_MAP_MOVE -NA_SE_MAP_ROLL -NA_SE_MAP_LINE_DRAW -NA_SE_SHIP_ENGINE_SPC -NA_SE_OB_BROKEN_SPARK_L -NA_SE_EN_SHIELD_ROLL_LEVEL -NA_SE_EN_SHIELD_ROLL_STOP -NA_SE_OB_MAGMA_WAVE -NA_SE_EN_OUT_PROMINENCE -NA_SE_EN_OUT_MAGMA -NA_SE_EN_IN_PROMINENCE -NA_SE_EN_IN_MAGMA -NA_SE_OB_SMOKE -NA_SE_OB_ROCK_CRASH -NA_SE_OB_ROCK_EYE_OPEN -NA_SE_OB_SHIP_FALLDOWN -NA_SE_EN_BMBOSS_BROKEN -NA_SE_OB_ARM_SWING -NA_SE_OB_POLE_MOVE -NA_SE_OB_POLE_BOUND -NA_SE_OB_HEAVY_SWITCH -NA_SE_OB_CONNECT_CUT -NA_SE_OB_MC_SWITCH_ON -NA_SE_OB_MC_SWITCH_GRN -NA_SE_OB_MC_SWITCH_RED -NA_SE_OB_POST_UP -NA_SE_OB_SIDE_GATE_CLOSE -NA_SE_OB_SPEAR_STICK -NA_SE_RAILWAY_BOUND -NA_SE_EN_MCBOSS_HATCH -NA_SE_EN_MCBOSS_CHARGE0 -NA_SE_EN_MCBOSS_SHOT0 -NA_SE_EN_MCBOSS_PLATECHARGE -NA_SE_VO_ANDORF_PUNCH -NA_SE_VO_ANDORF_UPSLAP -NA_SE_VO_ANDORF_SLAP -NA_SE_VO_ANDORF_WHAND -NA_SE_VO_ANDORF_CHOKE -NA_SE_VO_ANDORF_LAUGH -NA_SE_VO_ANDORF_GROAN -NA_SE_VO_ANDORF_DEATH -NA_SE_OB_ROOT_EXPLOSION0 -NA_SE_OB_ROOT_GATE_OPEN -NA_SE_OB_ROUTEGATE_OPEN_Q -NA_SE_EN_ANDORF_ROBOT -NA_SE_EN_ANDORF_BRAIN -NA_SE_EN_ANDORF_EYE -NA_SE_OB_ROOT_EXPLOSION1 -NA_SE_OB_FISH_AWAY -NA_SE_OB_AC_PILLAR_BROKE -NA_SE_WARP_OUT -NA_SE_ARWING_HATCH -NA_SE_OB_POINT_SWITCH -NA_SE_VO_ANDORF_EXCITE -NA_SE_OB_PILLER_ROLL -NA_SE_OB_ROUTEGATE_CLOSE_Q -NA_SE_OB_ROUTEGATE_OPEN_S -NA_SE_OB_ROUTEGATE_CLOSE_S -NA_SE_OB_LIFT -NA_SE_OB_PLATE_ROLL -NA_SE_STARFOX_SEAL -NA_SE_EXPLOSION_DEMO6 - - -NA_SE_EXPLOSION_S -NA_SE_BIG_EXPLOSION -NA_SE_EN_SHOT_0 -NA_SE_EN_DAMAGE_M -NA_SE_OB_DAMAGE_M -NA_SE_EN_BREATH -NA_SE_EN_WOLF_ENGINE -NA_SE_EN_WOLF_ENGINE2 -NA_SE_EN_REFLECT -NA_SE_OB_REFLECT -NA_SE_EN_EXPLOSION_S -NA_SE_EN_EXPLOSION_M -NA_SE_OB_EXPLOSION_M -NA_SE_EN_EXPLOSION_L -NA_SE_EN_CRASH_DOWN -NA_SE_ARWING_ENGINE_F -NA_SE_ARWING_ENGINE_FG -NA_SE_ARWING_SHOT_F -NA_SE_EN_DAMAGE_S -NA_SE_OB_DAMAGE_S -NA_SE_EN_DAMAGE_L -NA_SE_EN_KNOCK_DOWN -NA_SE_EN_ENGINE_00 -NA_SE_EN_S_FIGHTER_ENGINE -NA_SE_EN_ENGINE_01 -NA_SE_EN_ENGINE_02 -NA_SE_EN_MISSILE_ENGINE -NA_SE_EN_ENGINE_03 -NA_SE_EN_LONG_BEAM -NA_SE_EN_ENGINE_04 -NA_SE_EN_ALIEN_FLY -NA_SE_EN_ENGINE_05 -NA_SE_EN_SPACE_SHIP -NA_SE_EN_ENGINE_06 -NA_SE_EN_TANK_RB_ENGINE -NA_SE_EN_ENGINE_07 -NA_SE_EN_TANK_ENGINE -NA_SE_A_CARRIER_ENGINE -NA_SE_A_CARRIER_ENGINE2 -NA_SE_EN_HEAVY_WALK -NA_SE_EN_HEAVY_WALK0 -NA_SE_EN_HATCH -NA_SE_EN_MISSILE_SHOT -NA_SE_EN_BARREL_SHOT -NA_SE_EN_THROW -NA_SE_EN_MS_PUNCH -NA_SE_EN_FALLING_DOWN -NA_SE_EN_LASER_BEAM -NA_SE_EN_HEAVY_WALK1 -NA_SE_EN_HEAVY_JUMP -NA_SE_EN_HEAVY_BOUND -NA_SE_OB_HEAVY_BOUND -NA_SE_EN_COMBINE -NA_SE_EN_MOTOR_ROLL -NA_SE_EN_MOTOR_STOP -NA_SE_EN_UNIT_COMBINE -NA_SE_EN_ENERGY_BEAM -NA_SE_EN_CIRCLE_BEAM -NA_SE_EN_ZOBOSS_BEAM -NA_SE_EN_BOSS_EXPLOSION -NA_SE_EN_STAR_EXPLOSION -NA_SE_EN_PARTS_BROKEN -NA_SE_EN_THROW_S -NA_SE_EN_HEAVY_WALK2 -NA_SE_EN_APPEAR_SAND -NA_SE_EN_TIBOSS_AT_CRY -NA_SE_EN_TIBOSS_DM_CRY -NA_SE_EN_TIBOSS_DW_CRY -NA_SE_EXPLOSION_DEMO -NA_SE_EXPLOSION_DEMO5 -NA_SE_EN_BOSS_BEAM0 -NA_SE_EN_BOSS_CHARGE -NA_SE_EN_BOSS_ATTACK -NA_SE_EN_SAND_BOUND_M -NA_SE_OB_SPEAR_PILLAR -NA_SE_EN_WT_EXPLOSION_S -NA_SE_EN_WT_EXPLOSION_M -NA_SE_EN_WT_EXPLOSION_L -NA_SE_EN_BIRD_DOWN -NA_SE_EN_SN_BIRD_DOWN -NA_SE_EN_BIRD_DAMAGE -NA_SE_EN_SN_BIRD_DAMAGE -NA_SE_EN_SPIDER_MOVE -NA_SE_EN_SHIP_ENGINE_S -NA_SE_EN_SHIP_ENGINE_L -NA_SE_EN_S_BALL_SHOT -NA_SE_EN_SINK_PARTS -NA_SE_EN_M_BALL_SHOT -NA_SE_EN_PULL_CHAIN1 -NA_SE_EN_HEART_OPEN -NA_SE_ARWING_ENGINE_FS -NA_SE_EN_SNAKE_DAMAGE -NA_SE_EN_KANI_DAMAGE -NA_SE_EN_KANI_DOWN -NA_SE_EN_KANI_MOTOR -NA_SE_EN_DISAPPEAR_SAND -NA_SE_EN_SANADA_DAMAGE -NA_SE_EN_SANADA_DOWN -NA_SE_EN_SANADA_SWIM -NA_SE_EN_SANADA_APPEAR -NA_SE_EN_SEA_EXPLOSION_S -NA_SE_EN_SEA_EXPLOSION_L -NA_SE_EN_P_BALL_SHOT -NA_SE_EN_WT_DAMAGE_S -NA_SE_EN_EYEFILM_DAMAGE -NA_SE_EN_SHELL_BEAT -NA_SE_EN_SHELL_DAMAGE -NA_SE_EN_SHELL_DOWN -NA_SE_EN_KAIBASHIRA_DAMEGE -NA_SE_EN_EYEFILM_REVIVAL -NA_SE_EN_P_GUN_APPEAR -NA_SE_EN_P_GUN_DISAPPEAR -NA_SE_EN_SHELL_CLOSE -NA_SE_EN_SHELL_FILLOPEN -NA_SE_EN_S_BEAM_CHARGE -NA_SE_EN_S_BEAM_SHOT -NA_SE_EN_S_BEAM_END -NA_SE_GREATFOX_BURNER -NA_SE_EN_BURNER_S -NA_SE_EN_BURNER_L -NA_SE_EN_MS_BURNER -NA_SE_EN_GRN_BEAM_CHARGE -NA_SE_EN_GRN_BEAM_SHOT -NA_SE_EN_ASBOSS_SHIELD -NA_SE_EN_CATCH -NA_SE_EN_PASS -NA_SE_EN_SZMIS_EXPLOSION -NA_SE_EN_MS_EXPLOSION_S -NA_SE_EN_SZMIS_ENGINE -NA_SE_EN_PUNCH_ENGINE -NA_SE_EN_BARRIER_REFLECT -NA_SE_EXPLOSION_DEMO4 -NA_SE_EN_ANDORF_EXPLOSION -NA_SE_EN_SPARK_DAMAGE_M -NA_SE_EN_BMBOSS_DAMAGE -NA_SE_EN_ARM_SWING -NA_SE_EN_COVER_OPEN -NA_SE_EN_COVER_CLOSE -NA_SE_EN_COVER_MOVE_STOP -NA_SE_EN_ENERGY_BALL -NA_SE_EN_UNIT_GATHERING -NA_SE_EN_MS_SHOT_S -NA_SE_EN_DASH -NA_SE_EN_MS_DASH -NA_SE_EN_KICK -NA_SE_EN_MS_KICK -NA_SE_EN_MS_SHOT_L -NA_SE_EN_MS_SHIELD_BROKEN -NA_SE_EN_MS_EXPLOSION_L -NA_SE_OB_SNROCK_APPEAR -NA_SE_OB_SNROCK_DISAPPEAR -NA_SE_EN_SNBOSS_CRY -NA_SE_EN_SNBOSS_DAMAGE -NA_SE_EN_SNBOSS_BROKEN -NA_SE_EN_SNBOSS_DOWN -NA_SE_EN_SNBOSS_SWING -NA_SE_EN_SNBOSS_BREATH -NA_SE_EN_SNBOSS_ROLL -NA_SE_EN_ANGLER_DAMAGE -NA_SE_EN_ANGLER_DOWN -NA_SE_ROCK_REFLECT -NA_SE_OB_ROCK_REFLECT -NA_SE_OB_MAGMA_BUBBLE -NA_SE_OB_BMBOSS_WALK -NA_SE_OB_BMBOSS_JUMP -NA_SE_OB_BMBOSS_LAND -NA_SE_OB_BMBOSS_ATTACK -NA_SE_OB_BMBOSS_BOUND -NA_SE_EN_FREIGHT_TRAIN -NA_SE_EN_MCBOSS_REFLECT -NA_SE_EN_ANDORF_BREATH -NA_SE_EN_ANDORF_BITE0 -NA_SE_EN_ANDORF_BITE1 -NA_SE_EN_ANDORF_VOMIT -NA_SE_EN_ANDORF_SPARK -NA_SE_EN_WT_THROW -NA_SE_EN_WT_SPARK_CHARGE -NA_SE_EN_WT_SPARK_BEAM -NA_SE_EN_AC_ZAKO_DAMAGE -NA_SE_EN_AC_ZAKO_DOWN -NA_SE_EN_WARP_IN -NA_SE_EN_WARP_OUT -NA_SE_EN_CLBOSS_CHARGE -NA_SE_EN_CLBOSS_BEAM -NA_SE_EN_TRAIN_BREAK -NA_SE_EN_ANDORF_WARP -NA_SE_EN_ANDORF_CATCH -NA_SE_EN_KANI_STOP -NA_SE_EN_MCBOSS_RAGE -NA_SE_EN_DOWN_IMPACT -NA_SE_EN_MARBLE_BEAM diff --git a/src/engine/fox_enmy2.c b/src/engine/fox_enmy2.c index 7b7e6c47..1b2307e9 100644 --- a/src/engine/fox_enmy2.c +++ b/src/engine/fox_enmy2.c @@ -874,6 +874,17 @@ void MeteoTunnel_Update(MeteoTunnel* this) { this->obj.rot.z += 1.0f; } +typedef enum EventInfoSfx { + /* 0 */ EISFX_NONE, + /* 1 */ EISFX_EN_ENGINE_01, + /* 2 */ EISFX_ARWING_ENGINE_FG, + /* 3 */ EISFX_GREATFOX_ENGINE, + /* 4 */ EISFX_EN_SHIP_ENGINE_S, + /* 5 */ EISFX_OB_WING, + /* 6 */ EISFX_EN_ALIEN_FLY, + /* 7 */ EISFX_EN_SPACE_SHIP, +} EventInfoSfx; + typedef struct { /* 0x00 */ Gfx* dList; /* 0x04 */ f32* hitbox; @@ -889,114 +900,114 @@ typedef struct { } EventActorInfo; // size = 0x20 static EventActorInfo sEventActorInfo[108] = { - /* 0 */ { D_ENMY_PLANET_40068F0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 1 */ { D_ENMY_PLANET_4006E90, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 2 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 }, - /* 3 */ { D_ENMY_PLANET_4009800, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 4 */ { D_ENMY_PLANET_40073C0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 5 */ { D_ENMY_PLANET_4007AF0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 6 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 7 */ { D_CO_6011F90, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 0.0f, 1 }, - /* 8 */ { D_ENMY_PLANET_4000710, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 2, 0, 1, 1, 1.0f, 1 }, - /* 9 */ { NULL, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 6, 0, 1.0f, 1 }, - /* 10 */ { D_ENMY_SPACE_400BD20, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 11 */ { D_ENMY_SPACE_4001310, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 6, 0, 1.0f, 1 }, - /* 12 */ { D_ENMY_SPACE_400B390, gCubeHitbox100, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 13 */ { D_ME_6018C00, gCubeHitbox100, 2.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 14 */ { D_ME_601F2A0, gCubeHitbox400, 7.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 15 */ { D_ENMY_SPACE_400AAE0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 16 */ { D_ENMY_SPACE_4000650, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 6, 0, 1.0f, 1 }, - /* 17 */ { D_A6_6016190, D_A6_60282A0, -2.0f, 2100.0f, 3000.0f, 0, 0, 7, 0, 0.0f, 5 }, - /* 18 */ { D_SX_6023500, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 19 */ { D_SX_6022DF0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 20 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 2, 1, 1, 0, 0.0f, 1 }, - /* 21 */ { NULL, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 0.0f, 1 }, - /* 22 */ { NULL, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 0.0f, 1 }, - /* 23 */ { D_ENMY_SPACE_4008FA0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 24 */ { D_SX_60285F0, D_SX_603298C, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 25 */ { D_SX_600AF70, D_SX_6032904, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 26 */ { D_SX_6023E30, D_SX_6032970, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 27 */ { NULL, D_SX_603285C, 2.5f, 100.0f, 3000.0f, 2, 0, 0, 0, 1.0f, 1 }, - /* 28 */ { D_SX_6001CE0, D_SX_6032938, 3.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 1.0f, 1 }, - /* 29 */ { D_SX_6000840, D_SX_6032954, 1.0f, 100.0f, 3000.0f, 2, 1, 0, 0, 1.0f, 1 }, - /* 30 */ { D_A6_6012A40, D_A6_6028254, -2.0f, 2100.0f, 3001.0f, 0, 0, 7, 0, 0.0f, 2 }, - /* 31 */ { NULL, D_A6_60280E0, -2.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 3 }, - /* 32 */ { D_SX_6009950, D_SX_6032878, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 33 */ { NULL, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 34 */ { D_SX_600B2B0, D_SX_6032894, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 35 */ { D_SX_600A2E0, D_SX_60328B0, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 36 */ { NULL, gCubeHitbox400, 2.0f, 200.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 37 */ { D_SX_600B830, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 38 */ { NULL, D_SX_603238C, 1.0f, 500.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 39 */ { D_SX_6020D20, D_SX_60328CC, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 40 */ { NULL, gNoHitbox, 1.0f, 100.0f, 3001.0f, 2, 0, 0, 0, 0.0f, 1 }, - /* 41 */ { D_SY_60097E0, D_SY_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 42 */ { D_SY_601D730, D_SY_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 43 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 }, - /* 44 */ { D_SY_60102C0, D_SY_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 45 */ { D_ME_6017B60, gCubeHitbox200, -1.0f, 300.0f, 3001.0f, 0, 0, 0, 0, 1.0f, 1 }, - /* 46 */ { D_ZO_6004D00, gCubeHitbox200, 1.0f, 100.0f, 3000.0f, 1, 0, 4, 0, 1.0f, 1 }, - /* 47 */ { D_ME_601A880, gCubeHitbox100, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 48 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 }, - /* 49 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 }, - /* 50 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 }, - /* 51 */ { D_SY_6015D60, D_SY_6034124, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 }, - /* 52 */ { NULL, D_ZO_602C1A0, -1.0f, 1000.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 53 */ { D_SX_600B540, D_SX_60328E8, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 54 */ { D_ENMY_SPACE_4000EC0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 55 */ { D_ENMY_SPACE_4008D50, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 56 */ { NULL, gNoHitbox, -1.0f, 2000.0f, 3000.0f, 0, 0, 3, 0, 0.0f, 1 }, - /* 57 */ { D_SY_60102C0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 58 */ { D_SY_601F3D0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 59 */ { D_SY_6022B10, gNoHitbox, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 60 */ { D_SY_60209F0, gNoHitbox, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 61 */ { D_ME_6019430, gCubeHitbox200, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 62 */ { D_ME_6018960, gCubeHitbox100, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 63 */ { D_ME_6009F50, gNoHitbox, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 64 */ { NULL, gCubeHitbox200, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 65 */ { D_ME_600C2A0, gCubeHitbox200, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 66 */ { D_ME_600BD40, gCubeHitbox100, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 67 */ { NULL, D_ME_602F604, 3.0f, 100.0f, 3000.0f, 2, 0, 1, 0, 1.0f, 1 }, - /* 68 */ { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 69 */ { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 70 */ { D_SY_601AD70, gNoHitbox, 4.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 71 */ { D_arwing_3007650, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, 5, 0, 0.0f, 1 }, - /* 72 */ { D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 73 */ { D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 74 */ { D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 75 */ { D_SY_601B610, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 76 */ { D_SY_601C6A0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 77 */ { D_SY_60188D0, D_SY_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 }, - /* 78 */ { NULL, gCubeHitbox150, 1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 1.0f, 0 }, - /* 79 */ { NULL, D_ZO_602C294, 1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 1.0f, 1 }, - /* 80 */ { NULL, D_VE1_601B474, -1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 0.0f, 1 }, - /* 81 */ { NULL, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 82 */ { NULL, gCubeHitbox100, 2.0f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 }, - /* 83 */ { NULL, D_AQ_6030B4C, 1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 60.0f, 1 }, - /* 84 */ { D_VE1_9012180, D_VE1_601B43C, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 85 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 }, - /* 86 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 }, - /* 87 */ { D_VE1_900EFC0, gNoHitbox, 1.0f, 100.0f, 3000.0f, 1, 1, 0, 0, 0.0f, 1 }, - /* 88 */ { NULL, D_AQ_6030B30, 1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 89 */ { NULL, D_AQ_6030B14_f32, 1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 90 */ { D_MA_601C520, D_MA_60368FC, 1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 91 */ { D_MA_600AF40, D_MA_60368E0, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 92 */ { D_WZ_7000C40, gWarpZoneEvent92Hitbox, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 93 */ { D_WZ_70010E0, gWarpZoneEvent93Hitbox, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 94 */ { D_WZ_7000E80, gWarpZoneEvent94Hitbox, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 }, - /* 95 */ { D_WZ_70008F0, gCubeHitbox100, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 0 }, - /* 96 */ { D_WZ_7000280, gWarpZoneEvent96Hitbox, -1.0f, 1000.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 0 }, - /* 97 */ { D_ME_600AC70, gCubeHitbox100, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, - /* 98 */ { D_MA_601A2B0, D_MA_60364C0, 1.0f, 100.0f, 3000.0f, 1, 1, 0, 0, 0.0f, 1 }, - /* 99 */ { D_VE1_6002500, D_VE1_601B944, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 100 */ { D_VE1_60043F0, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 101 */ { D_VE1_6004310, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 102 */ { D_TR_6002740, D_TR_6009D18, -1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 }, - /* 103 */ { NULL, gNoHitbox, -1.0f, 500.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 0 }, - /* 104 */ { NULL, gNoHitbox, -1.0f, 500.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 0 }, - /* 105 */ { NULL, gCubeHitbox200, 1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 1.0f, 1 }, - /* 106 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 0, 0, 6, 0, 0.0f, 0 }, - /* 107 */ { D_MA_6002890, D_MA_60368E0, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 }, + /* 0 */ { D_ENMY_PLANET_40068F0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 1 */ { D_ENMY_PLANET_4006E90, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 2 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, EISFX_ARWING_ENGINE_FG, 0, 0.0f, 0 }, + /* 3 */ { D_ENMY_PLANET_4009800, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 4 */ { D_ENMY_PLANET_40073C0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 5 */ { D_ENMY_PLANET_4007AF0, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 6 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 7 */ { D_CO_6011F90, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 8 */ { D_ENMY_PLANET_4000710, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_EN_ENGINE_01, 1, 1.0f, 1 }, + /* 9 */ { NULL, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ALIEN_FLY, 0, 1.0f, 1 }, + /* 10 */ { D_ENMY_SPACE_400BD20, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 11 */ { D_ENMY_SPACE_4001310, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ALIEN_FLY, 0, 1.0f, 1 }, + /* 12 */ { D_ENMY_SPACE_400B390, gCubeHitbox100, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 13 */ { D_ME_6018C00, gCubeHitbox100, 2.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 14 */ { D_ME_601F2A0, gCubeHitbox400, 7.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 15 */ { D_ENMY_SPACE_400AAE0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 16 */ { D_ENMY_SPACE_4000650, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ALIEN_FLY, 0, 1.0f, 1 }, + /* 17 */ { D_A6_6016190, D_A6_60282A0, -2.0f, 2100.0f, 3000.0f, 0, 0, EISFX_EN_SPACE_SHIP, 0, 0.0f, 5 }, + /* 18 */ { D_SX_6023500, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 19 */ { D_SX_6022DF0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 20 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 2, 1, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 21 */ { NULL, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 22 */ { NULL, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 23 */ { D_ENMY_SPACE_4008FA0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 24 */ { D_SX_60285F0, D_SX_603298C, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 25 */ { D_SX_600AF70, D_SX_6032904, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 26 */ { D_SX_6023E30, D_SX_6032970, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 27 */ { NULL, D_SX_603285C, 2.5f, 100.0f, 3000.0f, 2, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 28 */ { D_SX_6001CE0, D_SX_6032938, 3.0f, 100.0f, 3000.0f, 2, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 29 */ { D_SX_6000840, D_SX_6032954, 1.0f, 100.0f, 3000.0f, 2, 1, EISFX_NONE, 0, 1.0f, 1 }, + /* 30 */ { D_A6_6012A40, D_A6_6028254, -2.0f, 2100.0f, 3001.0f, 0, 0, EISFX_EN_SPACE_SHIP, 0, 0.0f, 2 }, + /* 31 */ { NULL, D_A6_60280E0, -2.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 3 }, + /* 32 */ { D_SX_6009950, D_SX_6032878, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 33 */ { NULL, gCubeHitbox200, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 34 */ { D_SX_600B2B0, D_SX_6032894, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 35 */ { D_SX_600A2E0, D_SX_60328B0, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 36 */ { NULL, gCubeHitbox400, 2.0f, 200.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 37 */ { D_SX_600B830, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 38 */ { NULL, D_SX_603238C, 1.0f, 500.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 39 */ { D_SX_6020D20, D_SX_60328CC, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 40 */ { NULL, gNoHitbox, 1.0f, 100.0f, 3001.0f, 2, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 41 */ { D_SY_60097E0, D_SY_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 42 */ { D_SY_601D730, D_SY_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 43 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, EISFX_ARWING_ENGINE_FG, 0, 0.0f, 0 }, + /* 44 */ { D_SY_60102C0, D_SY_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 45 */ { D_ME_6017B60, gCubeHitbox200, -1.0f, 300.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 46 */ { D_ZO_6004D00, gCubeHitbox200, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_SHIP_ENGINE_S, 0, 1.0f, 1 }, + /* 47 */ { D_ME_601A880, gCubeHitbox100, -1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 48 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 49 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 50 */ { NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 51 */ { D_SY_6015D60, D_SY_6034124, 2.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 52 */ { NULL, D_ZO_602C1A0, -1.0f, 1000.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 53 */ { D_SX_600B540, D_SX_60328E8, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 54 */ { D_ENMY_SPACE_4000EC0, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 55 */ { D_ENMY_SPACE_4008D50, gCubeHitbox100, 1.5f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 56 */ { NULL, gNoHitbox, -1.0f, 2000.0f, 3000.0f, 0, 0, EISFX_GREATFOX_ENGINE, 0, 0.0f, 1 }, + /* 57 */ { D_SY_60102C0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 58 */ { D_SY_601F3D0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 59 */ { D_SY_6022B10, gNoHitbox, 2.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 60 */ { D_SY_60209F0, gNoHitbox, 2.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 61 */ { D_ME_6019430, gCubeHitbox200, 2.5f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 62 */ { D_ME_6018960, gCubeHitbox100, 2.5f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 63 */ { D_ME_6009F50, gNoHitbox, -1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 64 */ { NULL, gCubeHitbox200, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 65 */ { D_ME_600C2A0, gCubeHitbox200, -1.0f, 100.0f, 8000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 66 */ { D_ME_600BD40, gCubeHitbox100, -1.0f, 100.0f, 8000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 67 */ { NULL, D_ME_602F604, 3.0f, 100.0f, 3000.0f, 2, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 68 */ { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 69 */ { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 70 */ { D_SY_601AD70, gNoHitbox, 4.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 71 */ { D_arwing_3007650, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_OB_WING, 0, 0.0f, 1 }, + /* 72 */ { D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 73 */ { D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 74 */ { D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 75 */ { D_SY_601B610, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 76 */ { D_SY_601C6A0, gNoHitbox, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 77 */ { D_SY_60188D0, D_SY_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 }, + /* 78 */ { NULL, gCubeHitbox150, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_NONE, 0, 1.0f, 0 }, + /* 79 */ { NULL, D_ZO_602C294, 1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 80 */ { NULL, D_VE1_601B474, -1.0f, 100.0f, 3000.0f, 2, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 81 */ { NULL, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 82 */ { NULL, gCubeHitbox100, 2.0f, 100.0f, 3000.0f, 1, 0, EISFX_EN_ENGINE_01, 0, 1.0f, 1 }, + /* 83 */ { NULL, D_AQ_6030B4C, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_NONE, 0, 60.0f, 1 }, + /* 84 */ { D_VE1_9012180, D_VE1_601B43C, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 85 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, EISFX_ARWING_ENGINE_FG, 0, 0.0f, 0 }, + /* 86 */ { NULL, gCubeHitbox100, 1.0f, 20000.0f, 3000.0f, 1, 0, EISFX_ARWING_ENGINE_FG, 0, 0.0f, 0 }, + /* 87 */ { D_VE1_900EFC0, gNoHitbox, 1.0f, 100.0f, 3000.0f, 1, 1, EISFX_NONE, 0, 0.0f, 1 }, + /* 88 */ { NULL, D_AQ_6030B30, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 89 */ { NULL, D_AQ_6030B14_f32, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 90 */ { D_MA_601C520, D_MA_60368FC, 1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 91 */ { D_MA_600AF40, D_MA_60368E0, -1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 92 */ { D_WZ_7000C40, gWarpZoneEvent92Hitbox, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 93 */ { D_WZ_70010E0, gWarpZoneEvent93Hitbox, -1.0f, 2100.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 94 */ { D_WZ_7000E80, gWarpZoneEvent94Hitbox, 2.5f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 95 */ { D_WZ_70008F0, gCubeHitbox100, -1.0f, 100.0f, 8000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 0 }, + /* 96 */ { D_WZ_7000280, gWarpZoneEvent96Hitbox, -1.0f, 1000.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 0 }, + /* 97 */ { D_ME_600AC70, gCubeHitbox100, -1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 98 */ { D_MA_601A2B0, D_MA_60364C0, 1.0f, 100.0f, 3000.0f, 1, 1, EISFX_NONE, 0, 0.0f, 1 }, + /* 99 */ { D_VE1_6002500, D_VE1_601B944, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 100 */ { D_VE1_60043F0, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 101 */ { D_VE1_6004310, gNoHitbox, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 102 */ { D_TR_6002740, D_TR_6009D18, -1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 }, + /* 103 */ { NULL, gNoHitbox, -1.0f, 500.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 0 }, + /* 104 */ { NULL, gNoHitbox, -1.0f, 500.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 0.0f, 0 }, + /* 105 */ { NULL, gCubeHitbox200, 1.0f, 100.0f, 3000.0f, 0, 0, EISFX_NONE, 0, 1.0f, 1 }, + /* 106 */ { NULL, gCubeHitbox100, 1.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ALIEN_FLY, 0, 0.0f, 0 }, + /* 107 */ { D_MA_6002890, D_MA_60368E0, -1.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 }, }; static u8 D_800D0DBC[6][4] = { // could be in-function @@ -1159,28 +1170,28 @@ void ActorEvent_ProcessScript(ActorEvent* this) { this->fwork[25] = sEventActorInfo[this->unk_0B4].unk_10; switch (sEventActorInfo[this->unk_0B4].sfx) { - case 1: + case EISFX_EN_ENGINE_01: if (!((gCurrentLevel == LEVEL_SOLAR) || (this->unk_0B4 == EVID_6) || ((gCurrentLevel == LEVEL_CORNERIA) && (this->unk_0B4 == EVID_8)))) { AUDIO_PLAY_SFX(0x31000011, this->sfxSource, 4); } break; - case 2: + case EISFX_ARWING_ENGINE_FG: AUDIO_PLAY_SFX(0x3100000C, this->sfxSource, 4); break; - case 3: + case EISFX_GREATFOX_ENGINE: AUDIO_PLAY_SFX(0x11030010, this->sfxSource, 0); break; - case 4: + case EISFX_EN_SHIP_ENGINE_S: AUDIO_PLAY_SFX(0x31012039, this->sfxSource, 4); break; - case 5: + case EISFX_OB_WING: AUDIO_PLAY_SFX(0x1900302B, this->sfxSource, 0); break; - case 6: + case EISFX_EN_ALIEN_FLY: AUDIO_PLAY_SFX(0x31000014, this->sfxSource, 4); break; - case 7: + case EISFX_EN_SPACE_SHIP: AUDIO_PLAY_SFX(0x31000015, this->sfxSource, 4); break; } diff --git a/src/mods/levelselect.c b/src/mods/levelselect.c index 4a51f980..1f8f9fbd 100644 --- a/src/mods/levelselect.c +++ b/src/mods/levelselect.c @@ -13,31 +13,61 @@ void Map_801A6368(void); void Map_801A914C(void); void Map_801A6628(void); +static PlanetId sPlanetArray[][3] = { + { PLANET_CORNERIA, PLANET_CORNERIA, PLANET_CORNERIA }, { PLANET_METEO, PLANET_METEO, PLANET_SECTOR_Y }, + { PLANET_FORTUNA, PLANET_KATINA, PLANET_AQUAS }, { PLANET_SECTOR_X, PLANET_SOLAR, PLANET_ZONESS }, + { PLANET_TITANIA, PLANET_MACBETH, PLANET_SECTOR_Z }, { PLANET_BOLSE, PLANET_BOLSE, PLANET_AREA_6 }, + { PLANET_VENOM, PLANET_VENOM, SAVE_SLOT_VENOM_2 }, +}; + void Map_LevelSelect(void) { - static PlanetId planetIndex = 0; + static s32 mission = 0; + static s32 difficulty = 0; static char* sLevelSelectPlanetNames[] = { "METEO", "AREA 6", "BOLSE", "SECTOR Z", "SECTOR X", "SECTOR Y", "KATINA", "MACBETH", - "ZONESS", "CORNERIA", "TITANIA", "AQUAS", "FORTUNA", "VENOM", "SOLAR", + "ZONESS", "CORNERIA", "TITANIA", "AQUAS", "FORTUNA", "VENOM 1", "SOLAR", "VENOM 2", }; + static s32 startOption = 0; + s32 nextPlanetId; if (gControllerPress[0].button & L_JPAD) { - planetIndex--; - if (planetIndex < 0) { - planetIndex = 14; + mission--; + if (mission < 0) { + mission = 6; } - sCurrentPlanetId = sPlanetList[planetIndex]; + } else if (gControllerPress[0].button & R_JPAD) { + mission++; + if (mission > 6) { + mission = 0; + } + } else if ((gControllerPress[0].button & U_JPAD) && (mission != 0)) { + difficulty++; + if (difficulty > 2) { + difficulty = 0; + } + if ((difficulty == 1) && ((mission == 1) || (mission == 5))) { + difficulty = 2; + } + } else if ((gControllerPress[0].button & D_JPAD) && (mission != 0)) { + difficulty--; + if ((difficulty != 2) && ((mission == 1) || (mission == 5) || (mission == 6))) { + difficulty--; + } + if (difficulty < 0) { + difficulty = 2; + } + } + + nextPlanetId = + (sPlanetArray[mission][difficulty] == SAVE_SLOT_VENOM_2) ? PLANET_VENOM : sPlanetArray[mission][difficulty]; + if (sCurrentPlanetId != nextPlanetId) { + sCurrentPlanetId = nextPlanetId; + startOption = 0; Map_801A6368(); Map_801A914C(); } - - if (gControllerPress[0].button & R_JPAD) { - planetIndex++; - if (planetIndex > 14) { - planetIndex = 0; - } - sCurrentPlanetId = sPlanetList[planetIndex]; - Map_801A6368(); - Map_801A914C(); + if (gControllerPress[0].button & L_TRIG) { + startOption ^= 1; } /* Draw */ @@ -46,15 +76,33 @@ void Map_LevelSelect(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); Graphics_DisplaySmallText(20, 200, 1.0f, 1.0f, "PLANET:"); - Graphics_DisplaySmallText(80, 200, 1.0f, 1.0f, sLevelSelectPlanetNames[sCurrentPlanetId]); + Graphics_DisplaySmallText(80, 200, 1.0f, 1.0f, sLevelSelectPlanetNames[sPlanetArray[mission][difficulty]]); + + if (startOption) { + if ((sCurrentPlanetId == PLANET_SECTOR_X) || (sCurrentPlanetId == PLANET_METEO)) { + Graphics_DisplaySmallText(80, 210, 1.0f, 1.0f, "WARP ZONE"); + } else if (sCurrentPlanetId == PLANET_VENOM) { + Graphics_DisplaySmallText(80, 210, 1.0f, 1.0f, "ANDROSS"); + } + } } // Bypass briefing - // if (gControllerPress[0].button & A_BUTTON) { if ((D_menu_801CD944 == 2) && (D_menu_801CD948 > 0)) { + if (sCurrentPlanetId == PLANET_VENOM) { + if (startOption) { + gCurrentLevel = LEVEL_VENOM_ANDROSS; + } else if (sPlanetArray[mission][difficulty] == SAVE_SLOT_VENOM_2) { + gCurrentLevel = LEVEL_VENOM_2; + } + } Map_801A61B4(gCurrentLevel); D_menu_801B8280 = 0; D_menu_801CD968 = 0; Map_801A6628(); + if (startOption && ((gCurrentLevel == LEVEL_METEO) || (gCurrentLevel == LEVEL_SECTOR_X) || + (sPlanetArray[mission][difficulty] == SAVE_SLOT_VENOM_2))) { + gLevelPhase = 1; + } } } diff --git a/src/mods/object_ram.c b/src/mods/object_ram.c index b590bfeb..6816444b 100644 --- a/src/mods/object_ram.c +++ b/src/mods/object_ram.c @@ -10,7 +10,7 @@ typedef struct RamEntry { u16 y; } RamEntry; -static RamEntry oRamEntries[8] = { +static RamEntry oRamEntries[7] = { { 1, 0, offsetof(Player, pos.x), 2, 3, 0, 0 }, { 1, 0, offsetof(Player, pos.y), 2, 3, 0, 0 }, { 1, 0, offsetof(Player, pos.z), 2, 3, 0, 0 }, { 0, 0, offsetof(Player, zPath), 2, 3, 0, 0 }, { 0, 0, offsetof(Player, vel.x), 2, 3, 0, 0 }, { 0, 0, offsetof(Player, vel.y), 2, 3, 0, 0 }, diff --git a/src/mods/sfxjukebox2.c b/src/mods/sfxjukebox2.c index 68d11235..4324e7c6 100644 --- a/src/mods/sfxjukebox2.c +++ b/src/mods/sfxjukebox2.c @@ -28,15 +28,15 @@ static s32 srcVec[3] = { 0, 0, 0 }; static f32 sfxSource[3] = { 0.0f, 0.0f, 0.0f }; void Jukebox_SelectFlag(u8* flag) { - if (gControllerPress[gMainController].button & (U_CBUTTONS | D_CBUTTONS)) { + if (gControllerPress[gMainController].button & (U_CBUTTONS | D_CBUTTONS | R_CBUTTONS | L_CBUTTONS)) { *flag ^= 1; } } void Jukebox_SelectWrap(u32* option, s32 range) { - if (gControllerPress[gMainController].button & U_CBUTTONS) { + if (gControllerPress[gMainController].button & (U_CBUTTONS | R_CBUTTONS)) { (*option)++; - } else if (gControllerPress[gMainController].button & D_CBUTTONS) { + } else if (gControllerPress[gMainController].button & (D_CBUTTONS | L_CBUTTONS)) { (*option)--; } *option = (*option + range) % range; @@ -136,6 +136,7 @@ void Jukebox_UpdateSfx(void) { s32 sfxModeX[] = { 95, 104, 113, 122, 131, 140, 149, 158, 180, 0, 22, 43, 60 }; s32 srcModeX[] = { 45, 135, 225 }; + void Jukebox_Update(void) { s32 i; OSContPad* contPress = &gControllerPress[gMainController]; @@ -170,6 +171,7 @@ void Jukebox_Update(void) { if (contPress->button & B_BUTTON) { if (!D_menu_801B9320) { + AUDIO_PLAY_SFX(0x49000021, gDefaultSfxSource, 4); AUDIO_PLAY_BGM(SEQ_ID_MENU); gDrawMode = DRAW_NONE; D_menu_801B9124 = 1000; diff --git a/src/overlays/ovl_i1/fox_co.c b/src/overlays/ovl_i1/fox_co.c index a4d594ba..a8b9e79e 100644 --- a/src/overlays/ovl_i1/fox_co.c +++ b/src/overlays/ovl_i1/fox_co.c @@ -2412,9 +2412,9 @@ void Corneria_8018F044(Scenery* scenery) { scenery->state = 1; scenery->info.hitbox = SEGMENTED_TO_VIRTUAL(&D_CO_603E924); AUDIO_PLAY_SFX(0x1900000D, scenery->sfxSource, 0); - return; + } else { + AUDIO_PLAY_SFX(0x2903300E, scenery->sfxSource, 0); } - AUDIO_PLAY_SFX(0x2903300E, scenery->sfxSource, 0); } } break; diff --git a/src/overlays/ovl_i6/fox_andross.c b/src/overlays/ovl_i6/fox_andross.c index 7af536d8..f21b1941 100644 --- a/src/overlays/ovl_i6/fox_andross.c +++ b/src/overlays/ovl_i6/fox_andross.c @@ -3453,13 +3453,13 @@ void Andross_80193AE4(s32 actorIndex) { actor->state = 200; actor->unk_0B6 = 1; AUDIO_PLAY_SFX(0x11030010, actor->sfxSource, 0); - return; + } else { + actor->iwork[11] = 1; + actor->fwork[7] = RAND_FLOAT(360.0f); + actor->fwork[8] = RAND_FLOAT(360.0f); + actor->state = 100; + AUDIO_PLAY_SFX(0x3100000C, actor->sfxSource, 4); } - actor->iwork[11] = 1; - actor->fwork[7] = RAND_FLOAT(360.0f); - actor->fwork[8] = RAND_FLOAT(360.0f); - actor->state = 100; - AUDIO_PLAY_SFX(0x3100000C, actor->sfxSource, 4); } //! @bug This references a variable in another overlay, causing undefined behavior.