diff --git a/assets.json b/assets.json index 665888841..2d02e2ac7 100644 --- a/assets.json +++ b/assets.json @@ -125,17 +125,17 @@ "music/eu/28_staff_roll.m64": {"meta":{"size":"0x2750"}, "offsets": {"eu.v10":["0xBE5FE0", "0x0"],"eu.v11":["0xBE5F00", "0x0"]}}, "music/eu/29_award_ceremony_4th_8th.m64": {"meta":{"size":"0x0C80"}, "offsets": {"eu.v10":["0xBE8730", "0x0"],"eu.v11":["0xBE8650", "0x0"]}}, -"bin/gTexturePlayerSelect.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x7FA3C0", "0x0"]}}, -"bin/gTextureOption.rgba16.tkmk00": {"meta":{"size":"0x900"}, "offsets": {"us":["0x7FAFC0", "0x0"]}}, +"bin/texture_player_select.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x7FA3C0", "0x0"]}}, +"bin/texture_option.rgba16.tkmk00": {"meta":{"size":"0x900"}, "offsets": {"us":["0x7FAFC0", "0x0"]}}, -"bin/gTextureNameDK.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FB8C0", "0x0"]}}, -"bin/gTextureNameToad.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBAC0", "0x0"]}}, -"bin/gTextureNameBowser.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBCC0", "0x0"]}}, -"bin/gTextureNameLuigi.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBEC0", "0x0"]}}, -"bin/gTextureNameMario.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC0C0", "0x0"]}}, -"bin/gTextureNamePeach.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC2C0", "0x0"]}}, -"bin/gTextureNameWario.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC4C0", "0x0"]}}, -"bin/gTextureNameYoshi.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC6C0", "0x0"]}}, +"bin/texture_name_dk.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FB8C0", "0x0"]}}, +"bin/texture_name_toad.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBAC0", "0x0"]}}, +"bin/texture_name_bowser.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBCC0", "0x0"]}}, +"bin/texture_name_luigi.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FBEC0", "0x0"]}}, +"bin/texture_name_mario.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC0C0", "0x0"]}}, +"bin/texture_name_peach.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC2C0", "0x0"]}}, +"bin/texture_name_wario.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC4C0", "0x0"]}}, +"bin/texture_name_yoshi.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x7FC6C0", "0x0"]}}, "bin/gTextureTitleMarioRaceway.rgba16.tkmk00": {"meta":{"size":"0x500"}, "offsets": {"us":["0x7FC8C0", "0x0"]}}, "bin/gTextureTitleChocoMountain.rgba16.tkmk00": {"meta":{"size":"0x500"}, "offsets": {"us":["0x7FCDC0", "0x0"]}}, @@ -165,34 +165,34 @@ "bin/gTextureMenuStarCup.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x8035C0", "0x0"]}}, "bin/gTextureMenuSpecialCup.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x8039C0", "0x0"]}}, -"bin/gTextureGameSelect.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x803DC0", "0x0"]}}, +"bin/texture_game_select.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x803DC0", "0x0"]}}, -"bin/gTextureMenu1PGame.rgba16.tkmk00": {"meta":{"size":"0x500"}, "offsets": {"us":["0x8049C0", "0x0"]}}, -"bin/gTextureMenu2PGame.rgba16.tkmk00": {"meta":{"size":"0x700"}, "offsets": {"us":["0x804EC0", "0x0"]}}, -"bin/gTextureMenu3PGame.rgba16.tkmk00": {"meta":{"size":"0xA00"}, "offsets": {"us":["0x8055C0", "0x0"]}}, -"bin/gTextureMenu4PGame.rgba16.tkmk00": {"meta":{"size":"0xB00"}, "offsets": {"us":["0x805FC0", "0x0"]}}, +"bin/texture_menu_1p_game.rgba16.tkmk00": {"meta":{"size":"0x500"}, "offsets": {"us":["0x8049C0", "0x0"]}}, +"bin/texture_menu_2p_game.rgba16.tkmk00": {"meta":{"size":"0x700"}, "offsets": {"us":["0x804EC0", "0x0"]}}, +"bin/texture_menu_3p_game.rgba16.tkmk00": {"meta":{"size":"0xA00"}, "offsets": {"us":["0x8055C0", "0x0"]}}, +"bin/texture_menu_4p_game.rgba16.tkmk00": {"meta":{"size":"0xB00"}, "offsets": {"us":["0x805FC0", "0x0"]}}, -"bin/gTextureMenuModeBattle.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x806AC0", "0x0"]}}, -"bin/gTextureMenuModeTimeTrials.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x806DC0", "0x0"]}}, -"bin/gTextureMenuModeMarioGP.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x8071C0", "0x0"]}}, -"bin/gTextureMenuModeVS.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8075C0", "0x0"]}}, +"bin/texture_mode_battle.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x806AC0", "0x0"]}}, +"bin/texture_mode_time_trials.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x806DC0", "0x0"]}}, +"bin/texture_mode_mario_gp.rgba16.tkmk00": {"meta":{"size":"0x400"}, "offsets": {"us":["0x8071C0", "0x0"]}}, +"bin/texture_mode_vs.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8075C0", "0x0"]}}, -"bin/gTextureMenuLOption.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8078C0", "0x0"]}}, -"bin/gTextureMenuRData.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x807BC0", "0x0"]}}, +"bin/texture_l_option.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8078C0", "0x0"]}}, +"bin/texture_r_data.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x807BC0", "0x0"]}}, -"bin/gTextureMenu50cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x807EC0", "0x0"]}}, -"bin/gTextureMenu100cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8080C0", "0x0"]}}, -"bin/gTextureMenu150cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8082C0", "0x0"]}}, -"bin/gTextureMenuExtra.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8084C0", "0x0"]}}, +"bin/texture_50cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x807EC0", "0x0"]}}, +"bin/texture_100cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8080C0", "0x0"]}}, +"bin/texture_150cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8082C0", "0x0"]}}, +"bin/texture_extra.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8084C0", "0x0"]}}, "bin/gTextureMenuWithoutItem.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8086C0", "0x0"]}}, "bin/gTextureMenuWithItem.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8089C0", "0x0"]}}, -"bin/gTextureMenuBegin.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x808CC0", "0x0"]}}, -"bin/gTextureMenuGhost.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x808EC0", "0x0"]}}, -"bin/gTextureMenuData.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8090C0", "0x0"]}}, -"bin/gTextureMenuOK.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8092C0", "0x0"]}}, +"bin/texture_begin.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x808CC0", "0x0"]}}, +"bin/texture_menu_ghost.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x808EC0", "0x0"]}}, +"bin/texture_data.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8090C0", "0x0"]}}, +"bin/texture_ok.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8092C0", "0x0"]}}, -"bin/gTextureBackgroundBlueSky.rgba16.tkmk00": {"meta":{"size":"0xCE00"}, "offsets": {"us":["0x8094C0", "0x0"]}}, -"bin/gTextureBackgroundSunset.rgba16.tkmk00": {"meta":{"size":"0x9400"}, "offsets": {"us":["0x8162C0", "0x0"]}}, +"bin/background_blue_sky.rgba16.tkmk00": {"meta":{"size":"0xCE00"}, "offsets": {"us":["0x8094C0", "0x0"]}}, +"bin/background_sunset.rgba16.tkmk00": {"meta":{"size":"0x9400"}, "offsets": {"us":["0x8162C0", "0x0"]}}, "bin/gTextureGreenGoldStripe.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x81F6C0", "0x0"]}}, "bin/gTextureGoldStripe.rgba16.tkmk00": {"meta":{"size":"0x700"}, "offsets": {"us":["0x8202C0", "0x0"]}}, @@ -539,7 +539,7 @@ "textures/standalone/kart_shadow.i8.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x69A830", "0x00000"]}}, "textures/standalone/texture_69B03C.i8.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69B03C", "0x00000"]}}, "textures/standalone/texture_69B140.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69B140", "0x00000"]}}, -"textures/standalone/texture_69B378.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x69B378", "0x00000"]}}, +"textures/standalone/gGrassParticle.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x69B378", "0x00000"]}}, "textures/standalone/texture_69B960.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69B960", "0x00000"]}}, "textures/standalone/texture_69BA28.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69BA28", "0x00000"]}}, "textures/standalone/boing_exclamation.ia8.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x69BB18", "0x00000"]}}, @@ -548,7 +548,7 @@ "textures/standalone/texture_69C090.ia16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69C090", "0x00000"]}}, "textures/standalone/texture_69C1E8.ia16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69C1E8", "0x00000"]}}, "textures/standalone/texture_69C354.ia8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69C354", "0x00000"]}}, -"textures/standalone/texture_69C4E4.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69C4E4", "0x00000"]}}, +"textures/standalone/gGroundDust.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69C4E4", "0x00000"]}}, "textures/standalone/texture_69C80C.ia8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69C80C", "0x00000"]}}, "textures/standalone/texture_69C9C4.ia16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69C9C4", "0x00000"]}}, "textures/standalone/texture_69CB84.i4.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x69CB84", "0x00000"]}}, @@ -665,7 +665,7 @@ "textures/standalone/tiny_font_plus.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEAC8", "0x00000"]}}, "textures/standalone/texture_7EEB18.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEB18", "0x00000"]}}, "textures/standalone/tiny_font_minus.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEB48", "0x00000"]}}, -"textures/standalone/tiny_font_comma.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEB7C", "0x00000"]}}, +"textures/standalone/tiny_font_dot.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEB7C", "0x00000"]}}, "textures/standalone/tiny_font_forward_slash.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEBAC", "0x00000"]}}, "textures/standalone/tiny_font_colon.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEBFC", "0x00000"]}}, "textures/standalone/texture_7EEC34.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7EEC34", "0x00000"]}}, @@ -754,51 +754,51 @@ "textures/standalone/texture_7F0FD8.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7F0FD8", "0x00000"]}}, "textures/standalone/texture_7F1038.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7F1038", "0x00000"]}}, "textures/standalone/texture_7F109C.ia16.png": {"meta":{"dims":[8,8]}, "offsets": {"us":["0x7F109C", "0x00000"]}}, -"textures/raw/7F1124.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1124", "0x0"]}}, -"textures/raw/7F11F4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F11F4", "0x0"]}}, -"textures/raw/7F12C4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F12C4", "0x0"]}}, -"textures/raw/7F1394.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1394", "0x0"]}}, -"textures/raw/7F1464.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1464", "0x0"]}}, -"textures/raw/7F1534.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1534", "0x0"]}}, -"textures/raw/7F1604.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1604", "0x0"]}}, -"textures/raw/7F16D4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F16D4", "0x0"]}}, -"textures/raw/7F17A4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F17A4", "0x0"]}}, -"textures/raw/7F1874.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1874", "0x0"]}}, -"textures/raw/7F1944.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1944", "0x0"]}}, -"textures/raw/7F1A14.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1A14", "0x0"]}}, -"textures/raw/7F1AE4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1AE4", "0x0"]}}, -"textures/raw/7F1BB4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1BB4", "0x0"]}}, -"textures/raw/7F1C84.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1C84", "0x0"]}}, -"textures/raw/7F1D54.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1D54", "0x0"]}}, -"textures/raw/7F1E24.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1E24", "0x0"]}}, -"textures/raw/7F1EF4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1EF4", "0x0"]}}, -"textures/raw/7F1FC4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1FC4", "0x0"]}}, -"textures/raw/7F2094.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2094", "0x0"]}}, -"textures/raw/7F2164.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2164", "0x0"]}}, -"textures/raw/7F2234.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2234", "0x0"]}}, -"textures/raw/7F2304.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2304", "0x0"]}}, -"textures/raw/7F23D4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F23D4", "0x0"]}}, -"textures/raw/7F24A4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F24A4", "0x0"]}}, -"textures/raw/7F2574.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2574", "0x0"]}}, -"textures/raw/7F2644.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2644", "0x0"]}}, -"textures/raw/7F2714.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2714", "0x0"]}}, -"textures/raw/7F27E4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F27E4", "0x0"]}}, -"textures/raw/7F28B4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F28B4", "0x0"]}}, -"textures/raw/7F2984.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2984", "0x0"]}}, -"textures/raw/7F2A54.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2A54", "0x0"]}}, -"textures/raw/7F2B24.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2B24", "0x0"]}}, -"textures/raw/7F2BF4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2BF4", "0x0"]}}, -"textures/raw/7F2CC4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2CC4", "0x0"]}}, -"textures/raw/7F2D94.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2D94", "0x0"]}}, -"textures/raw/7F2E64.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2E64", "0x0"]}}, -"textures/raw/7F2F34.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2F34", "0x0"]}}, -"textures/raw/7F3004.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3004", "0x0"]}}, -"textures/raw/7F30D4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F30D4", "0x0"]}}, -"textures/raw/7F31A4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F31A4", "0x0"]}}, -"textures/raw/7F3274.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3274", "0x0"]}}, -"textures/raw/7F3344.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3344", "0x0"]}}, -"textures/raw/7F3414.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3414", "0x0"]}}, -"textures/raw/7F34E4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F34E4", "0x0"]}}, +"textures/raw/font_four_dote.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1124", "0x0"]}}, +"textures/raw/font_cc.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F11F4", "0x0"]}}, +"textures/raw/font_double_quote.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F12C4", "0x0"]}}, +"textures/raw/font_exclamation_mark.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1394", "0x0"]}}, +"textures/raw/font_minus.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1464", "0x0"]}}, +"textures/raw/font_dot.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1534", "0x0"]}}, +"textures/raw/font_plus.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1604", "0x0"]}}, +"textures/raw/font_interogation_mark.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F16D4", "0x0"]}}, +"textures/raw/font_simple_quote.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F17A4", "0x0"]}}, +"textures/raw/font_number_zero.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1874", "0x0"]}}, +"textures/raw/font_number_one.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1944", "0x0"]}}, +"textures/raw/font_number_two.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1A14", "0x0"]}}, +"textures/raw/font_number_three.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1AE4", "0x0"]}}, +"textures/raw/font_number_four.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1BB4", "0x0"]}}, +"textures/raw/font_number_five.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1C84", "0x0"]}}, +"textures/raw/font_number_six.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1D54", "0x0"]}}, +"textures/raw/font_number_seven.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1E24", "0x0"]}}, +"textures/raw/font_number_eight.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1EF4", "0x0"]}}, +"textures/raw/font_number_nine.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F1FC4", "0x0"]}}, +"textures/raw/font_letter_A.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2094", "0x0"]}}, +"textures/raw/font_letter_B.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2164", "0x0"]}}, +"textures/raw/font_letter_C.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2234", "0x0"]}}, +"textures/raw/font_letter_D.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2304", "0x0"]}}, +"textures/raw/font_letter_E.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F23D4", "0x0"]}}, +"textures/raw/font_letter_F.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F24A4", "0x0"]}}, +"textures/raw/font_letter_G.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2574", "0x0"]}}, +"textures/raw/font_letter_H.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2644", "0x0"]}}, +"textures/raw/font_letter_I.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2714", "0x0"]}}, +"textures/raw/font_letter_J.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F27E4", "0x0"]}}, +"textures/raw/font_letter_K.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F28B4", "0x0"]}}, +"textures/raw/font_letter_L.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2984", "0x0"]}}, +"textures/raw/font_letter_M.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2A54", "0x0"]}}, +"textures/raw/font_letter_N.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2B24", "0x0"]}}, +"textures/raw/font_letter_O.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2BF4", "0x0"]}}, +"textures/raw/font_letter_P.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2CC4", "0x0"]}}, +"textures/raw/font_letter_Q.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2D94", "0x0"]}}, +"textures/raw/font_letter_R.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2E64", "0x0"]}}, +"textures/raw/font_letter_S.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F2F34", "0x0"]}}, +"textures/raw/font_letter_T.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3004", "0x0"]}}, +"textures/raw/font_letter_U.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F30D4", "0x0"]}}, +"textures/raw/font_letter_V.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F31A4", "0x0"]}}, +"textures/raw/font_letter_W.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3274", "0x0"]}}, +"textures/raw/font_letter_X.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3344", "0x0"]}}, +"textures/raw/font_letter_Y.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F3414", "0x0"]}}, +"textures/raw/font_letter_Z.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7F34E4", "0x0"]}}, "textures/raw/7F35B4.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F35B4", "0x0"]}}, "textures/raw/7F3634.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F3634", "0x0"]}}, "textures/raw/7F36B4.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F36B4", "0x0"]}}, @@ -984,23 +984,23 @@ "textures/raw/7F9EC4.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F9EC4", "0x0"]}}, "textures/raw/7F9F44.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F9F44", "0x0"]}}, "textures/raw/7F9FC4.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7F9FC4", "0x0"]}}, -"textures/raw/7FA044.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7FA044", "0x0"]}}, +"textures/raw/font_apostrophe.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7FA044", "0x0"]}}, "textures/raw/7FA0C4.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7FA0C4", "0x0"]}}, "textures/raw/7FA194.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7FA194", "0x0"]}}, "textures/raw/7FA264.i4.png": {"meta":{"dims":[26,16]}, "offsets": {"us":["0x7FA264", "0x0"]}}, -"textures/raw/7FA334.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7FA334", "0x0"]}}, +"textures/raw/font_comma.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x7FA334", "0x0"]}}, -"textures/gTexturePlayerSelect.rgba16.png": {"meta":{"dims":[220,32], "alpha":"0x01"}, "offsets": {"us":["0x7FA3C0", "0x0"]}}, -"textures/gTextureOption.rgba16.png": {"meta":{"dims":[130,32], "alpha":"0x01"}, "offsets": {"us":["0x7FAFC0", "0x0"]}}, +"textures/texture_player_select.rgba16.png": {"meta":{"dims":[220,32], "alpha":"0x01"}, "offsets": {"us":["0x7FA3C0", "0x0"]}}, +"textures/texture_option.rgba16.png": {"meta":{"dims":[130,32], "alpha":"0x01"}, "offsets": {"us":["0x7FAFC0", "0x0"]}}, -"textures/gTextureNameDK.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FB8C0", "0x0"]}}, -"textures/gTextureNameToad.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBAC0", "0x0"]}}, -"textures/gTextureNameBowser.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBCC0", "0x0"]}}, -"textures/gTextureNameLuigi.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBEC0", "0x0"]}}, -"textures/gTextureNameMario.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC0C0", "0x0"]}}, -"textures/gTextureNamePeach.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC2C0", "0x0"]}}, -"textures/gTextureNameWario.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC4C0", "0x0"]}}, -"textures/gTextureNameYoshi.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC6C0", "0x0"]}}, +"textures/texture_name_dk.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FB8C0", "0x0"]}}, +"textures/texture_name_toad.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBAC0", "0x0"]}}, +"textures/texture_name_bowser.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBCC0", "0x0"]}}, +"textures/texture_name_luigi.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FBEC0", "0x0"]}}, +"textures/texture_name_mario.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC0C0", "0x0"]}}, +"textures/texture_name_peach.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC2C0", "0x0"]}}, +"textures/texture_name_wario.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC4C0", "0x0"]}}, +"textures/texture_name_yoshi.rgba16.png": {"meta":{"dims":[64,12], "alpha":"0x01"}, "offsets": {"us":["0x7FC6C0", "0x0"]}}, "textures/gTextureTitleMarioRaceway.rgba16.png": {"meta":{"dims":[140,18], "alpha":"0xBE"}, "offsets": {"us":["0x7FC8C0", "0x0"]}}, "textures/gTextureTitleChocoMountain.rgba16.png": {"meta":{"dims":[140,18], "alpha":"0xBE"}, "offsets": {"us":["0x7FCDC0", "0x0"]}}, @@ -1030,35 +1030,35 @@ "textures/gTextureMenuStarCup.rgba16.png": {"meta":{"dims":[65,40], "alpha":"0xBE"}, "offsets": {"us":["0x8035C0", "0x0"]}}, "textures/gTextureMenuSpecialCup.rgba16.png": {"meta":{"dims":[65,40], "alpha":"0xBE"}, "offsets": {"us":["0x8039C0", "0x0"]}}, -"textures/gTextureGameSelect.rgba16.png": {"meta":{"dims":[200,32], "alpha":"0x01"}, "offsets": {"us":["0x803DC0", "0x0"]}}, +"textures/texture_game_select.rgba16.png": {"meta":{"dims":[200,32], "alpha":"0x01"}, "offsets": {"us":["0x803DC0", "0x0"]}}, -"textures/gTextureMenu1PGame.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x8049C0", "0x0"]}}, -"textures/gTextureMenu2PGame.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x804EC0", "0x0"]}}, -"textures/gTextureMenu3PGame.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x8055C0", "0x0"]}}, -"textures/gTextureMenu4PGame.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x805FC0", "0x0"]}}, +"textures/texture_menu_1p_game.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x8049C0", "0x0"]}}, +"textures/texture_menu_2p_game.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x804EC0", "0x0"]}}, +"textures/texture_menu_3p_game.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x8055C0", "0x0"]}}, +"textures/texture_menu_4p_game.rgba16.png": {"meta":{"dims":[64,54], "alpha":"0xBE"}, "offsets": {"us":["0x805FC0", "0x0"]}}, -"textures/gTextureMenuModeBattle.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x806AC0", "0x0"]}}, -"textures/gTextureMenuModeTimeTrials.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x806DC0", "0x0"]}}, -"textures/gTextureMenuModeMarioGP.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8071C0", "0x0"]}}, -"textures/gTextureMenuModeVS.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8075C0", "0x0"]}}, +"textures/texture_mode_battle.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x806AC0", "0x0"]}}, +"textures/texture_mode_time_trials.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x806DC0", "0x0"]}}, +"textures/texture_mode_mario_gp.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8071C0", "0x0"]}}, +"textures/texture_mode_vs.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8075C0", "0x0"]}}, -"textures/gTextureMenuLOption.rgba16.png": {"meta":{"dims":[58,19], "alpha":"0xBE"}, "offsets": {"us":["0x8078C0", "0x0"]}}, -"textures/gTextureMenuRData.rgba16.png": {"meta":{"dims":[58,19], "alpha":"0xBE"}, "offsets": {"us":["0x807BC0", "0x0"]}}, +"textures/texture_l_option.rgba16.png": {"meta":{"dims":[58,19], "alpha":"0xBE"}, "offsets": {"us":["0x8078C0", "0x0"]}}, +"textures/texture_r_data.rgba16.png": {"meta":{"dims":[58,19], "alpha":"0xBE"}, "offsets": {"us":["0x807BC0", "0x0"]}}, -"textures/gTextureMenu50cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x807EC0", "0x0"]}}, -"textures/gTextureMenu100cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8080C0", "0x0"]}}, -"textures/gTextureMenu150cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8082C0", "0x0"]}}, -"textures/gTextureMenuExtra.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8084C0", "0x0"]}}, +"textures/texture_50cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x807EC0", "0x0"]}}, +"textures/texture_100cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8080C0", "0x0"]}}, +"textures/texture_150cc.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8082C0", "0x0"]}}, +"textures/texture_extra.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8084C0", "0x0"]}}, "textures/gTextureMenuWithoutItem.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8086C0", "0x0"]}}, "textures/gTextureMenuWithItem.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8089C0", "0x0"]}}, -"textures/gTextureMenuBegin.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x808CC0", "0x0"]}}, -"textures/gTextureMenuGhost.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x808EC0", "0x0"]}}, -"textures/gTextureMenuData.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8090C0", "0x0"]}}, -"textures/gTextureMenuOK.rgba16.png": {"meta":{"dims":[31,19], "alpha":"0xBE"}, "offsets": {"us":["0x8092C0", "0x0"]}}, +"textures/texture_begin.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x808CC0", "0x0"]}}, +"textures/texture_menu_ghost.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x808EC0", "0x0"]}}, +"textures/texture_data.rgba16.png": {"meta":{"dims":[64,18], "alpha":"0xBE"}, "offsets": {"us":["0x8090C0", "0x0"]}}, +"textures/texture_ok.rgba16.png": {"meta":{"dims":[31,19], "alpha":"0xBE"}, "offsets": {"us":["0x8092C0", "0x0"]}}, -"textures/gTextureBackgroundBlueSky.rgba16.png": {"meta":{"dims":[320,240], "alpha":"0x01"}, "offsets": {"us":["0x8094C0", "0x0"]}}, -"textures/gTextureBackgroundSunset.rgba16.png": {"meta":{"dims":[320,240], "alpha":"0x01"}, "offsets": {"us":["0x8162C0", "0x0"]}}, +"textures/background_blue_sky.rgba16.png": {"meta":{"dims":[320,240], "alpha":"0x01"}, "offsets": {"us":["0x8094C0", "0x0"]}}, +"textures/background_sunset.rgba16.png": {"meta":{"dims":[320,240], "alpha":"0x01"}, "offsets": {"us":["0x8162C0", "0x0"]}}, "textures/gTextureGreenGoldStripe.rgba16.png": {"meta":{"dims":[256,29], "alpha":"0x01"}, "offsets": {"us":["0x81F6C0", "0x0"]}}, "textures/gTextureGoldStripe.rgba16.png": {"meta":{"dims":[256,15], "alpha":"0x01"}, "offsets": {"us":["0x8202C0", "0x0"]}}, diff --git a/assets/blueshell.json b/assets/blueshell.json index c75ccf5ef..6a1832329 100644 --- a/assets/blueshell.json +++ b/assets/blueshell.json @@ -1,11 +1,11 @@ { "common_tlut_blue_shell": {"output_dir": "blueshell", "rom_offset": "0x132B50", "block_offset": "0x05038", "width": 16, "height": 16, "type": "rgba16"}, -"gTextureBlueShell0": {"output_dir": "blueshell", "rom_offset": "0x68FE20", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell1": {"output_dir": "blueshell", "rom_offset": "0x69004C", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell2": {"output_dir": "blueshell", "rom_offset": "0x690284", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell3": {"output_dir": "blueshell", "rom_offset": "0x6904C4", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell4": {"output_dir": "blueshell", "rom_offset": "0x690708", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell5": {"output_dir": "blueshell", "rom_offset": "0x690960", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell6": {"output_dir": "blueshell", "rom_offset": "0x690BBC", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, -"gTextureBlueShell7": {"output_dir": "blueshell", "rom_offset": "0x690DF8", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"} +"texture_blue_shell_0": {"output_dir": "blueshell", "rom_offset": "0x68FE20", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_1": {"output_dir": "blueshell", "rom_offset": "0x69004C", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_2": {"output_dir": "blueshell", "rom_offset": "0x690284", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_3": {"output_dir": "blueshell", "rom_offset": "0x6904C4", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_4": {"output_dir": "blueshell", "rom_offset": "0x690708", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_5": {"output_dir": "blueshell", "rom_offset": "0x690960", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_6": {"output_dir": "blueshell", "rom_offset": "0x690BBC", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"}, +"texture_blue_shell_7": {"output_dir": "blueshell", "rom_offset": "0x690DF8", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_blue_shell"} } \ No newline at end of file diff --git a/assets/course_outlines.json b/assets/course_outlines.json index 48877d202..7a208a684 100644 --- a/assets/course_outlines.json +++ b/assets/course_outlines.json @@ -1,22 +1,22 @@ { -"gTextureCourseOutlineMarioRaceway": {"output_dir": "course_outlines", "rom_offset": "0x720C0C", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineChocoMountain": {"output_dir": "course_outlines", "rom_offset": "0x720ED0", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineBowsersCastle": {"output_dir": "course_outlines", "rom_offset": "0x7211D8", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineBansheeBoardwalk": {"output_dir": "course_outlines", "rom_offset": "0x72143C", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineYoshiValley": {"output_dir": "course_outlines", "rom_offset": "0x721634", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineFrappeSnowland": {"output_dir": "course_outlines", "rom_offset": "0x721A58", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineKoopaTroopaBeach": {"output_dir": "course_outlines", "rom_offset": "0x721CD0", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineRoyalRaceway": {"output_dir": "course_outlines", "rom_offset": "0x721F38", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineLuigiRaceway": {"output_dir": "course_outlines", "rom_offset": "0x722210", "width": 64, "height": 96, "type": "i4"}, -"gTextureCourseOutlineMooMooFarm": {"output_dir": "course_outlines", "rom_offset": "0x72248C", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineToadsTurnpike": {"output_dir": "course_outlines", "rom_offset": "0x7226C4", "width": 128, "height": 64, "type": "i4"}, -"gTextureCourseOutlineKalimariDesert": {"output_dir": "course_outlines", "rom_offset": "0x7229C0", "width": 64, "height": 96, "type": "i4"}, -"gTextureCourseOutlineSherbetLand": {"output_dir": "course_outlines", "rom_offset": "0x722D2C", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineRainbowRoad": {"output_dir": "course_outlines", "rom_offset": "0x723034", "width": 64, "height": 96, "type": "i4"}, -"gTextureCourseOutlineWarioStadium": {"output_dir": "course_outlines", "rom_offset": "0x723370", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineBlockFort": {"output_dir": "course_outlines", "rom_offset": "0x723644", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineSkyscraper": {"output_dir": "course_outlines", "rom_offset": "0x7238E4", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineDoubleDeck": {"output_dir": "course_outlines", "rom_offset": "0x723B18", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineDksJungleParkway": {"output_dir": "course_outlines", "rom_offset": "0x723C9C", "width": 64, "height": 64, "type": "i4"}, -"gTextureCourseOutlineBigDonut": {"output_dir": "course_outlines", "rom_offset": "0x723F84", "width": 64, "height": 64, "type": "i4"} +"minimap_mario_raceway": {"output_dir": "course_outlines", "rom_offset": "0x720C0C", "width": 64, "height": 64, "type": "i4"}, +"minimap_choco_mountain": {"output_dir": "course_outlines", "rom_offset": "0x720ED0", "width": 64, "height": 64, "type": "i4"}, +"minimap_bowsers_castle": {"output_dir": "course_outlines", "rom_offset": "0x7211D8", "width": 64, "height": 64, "type": "i4"}, +"minimap_banshee_boardwalk": {"output_dir": "course_outlines", "rom_offset": "0x72143C", "width": 64, "height": 64, "type": "i4"}, +"minimap_yoshi_valley": {"output_dir": "course_outlines", "rom_offset": "0x721634", "width": 64, "height": 64, "type": "i4"}, +"minimap_frappe_snowland": {"output_dir": "course_outlines", "rom_offset": "0x721A58", "width": 64, "height": 64, "type": "i4"}, +"minimap_koopa_troopa_beach": {"output_dir": "course_outlines", "rom_offset": "0x721CD0", "width": 64, "height": 64, "type": "i4"}, +"minimap_royal_raceway": {"output_dir": "course_outlines", "rom_offset": "0x721F38", "width": 64, "height": 64, "type": "i4"}, +"minimap_luigi_raceway": {"output_dir": "course_outlines", "rom_offset": "0x722210", "width": 64, "height": 96, "type": "i4"}, +"minimap_moo_moo_farm": {"output_dir": "course_outlines", "rom_offset": "0x72248C", "width": 64, "height": 64, "type": "i4"}, +"minimap_toads_turnpike": {"output_dir": "course_outlines", "rom_offset": "0x7226C4", "width": 128, "height": 64, "type": "i4"}, +"minimap_kalimari_desert": {"output_dir": "course_outlines", "rom_offset": "0x7229C0", "width": 64, "height": 96, "type": "i4"}, +"minimap_sherbet_land": {"output_dir": "course_outlines", "rom_offset": "0x722D2C", "width": 64, "height": 64, "type": "i4"}, +"minimap_rainbow_road": {"output_dir": "course_outlines", "rom_offset": "0x723034", "width": 64, "height": 96, "type": "i4"}, +"minimap_wario_stadium": {"output_dir": "course_outlines", "rom_offset": "0x723370", "width": 64, "height": 64, "type": "i4"}, +"minimap_block_fort": {"output_dir": "course_outlines", "rom_offset": "0x723644", "width": 64, "height": 64, "type": "i4"}, +"minimap_skyscraper": {"output_dir": "course_outlines", "rom_offset": "0x7238E4", "width": 64, "height": 64, "type": "i4"}, +"minimap_double_deck": {"output_dir": "course_outlines", "rom_offset": "0x723B18", "width": 64, "height": 64, "type": "i4"}, +"minimap_dks_jungle_parkway": {"output_dir": "course_outlines", "rom_offset": "0x723C9C", "width": 64, "height": 64, "type": "i4"}, +"minimap_big_donut": {"output_dir": "course_outlines", "rom_offset": "0x723F84", "width": 64, "height": 64, "type": "i4"} } diff --git a/assets/greenshell.json b/assets/greenshell.json index d6feea734..cf07a6822 100644 --- a/assets/greenshell.json +++ b/assets/greenshell.json @@ -1,11 +1,11 @@ { "common_tlut_green_shell": {"output_dir": "greenshell", "rom_offset": "0x132B50", "block_offset": "0x04E38", "width": 16, "height": 16, "type": "rgba16"}, -"gTextureGreenShell0": {"output_dir": "greenshell", "rom_offset": "0x68EB50", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell1": {"output_dir": "greenshell", "rom_offset": "0x68EDA0", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell2": {"output_dir": "greenshell", "rom_offset": "0x68EFF0", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell3": {"output_dir": "greenshell", "rom_offset": "0x68F248", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell4": {"output_dir": "greenshell", "rom_offset": "0x68F4A8", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell5": {"output_dir": "greenshell", "rom_offset": "0x68F700", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell6": {"output_dir": "greenshell", "rom_offset": "0x68F96C", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, -"gTextureGreenShell7": {"output_dir": "greenshell", "rom_offset": "0x68FBCC", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"} +"texture_green_shell_0": {"output_dir": "greenshell", "rom_offset": "0x68EB50", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_1": {"output_dir": "greenshell", "rom_offset": "0x68EDA0", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_2": {"output_dir": "greenshell", "rom_offset": "0x68EFF0", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_3": {"output_dir": "greenshell", "rom_offset": "0x68F248", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_4": {"output_dir": "greenshell", "rom_offset": "0x68F4A8", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_5": {"output_dir": "greenshell", "rom_offset": "0x68F700", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_6": {"output_dir": "greenshell", "rom_offset": "0x68F96C", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"}, +"texture_green_shell_7": {"output_dir": "greenshell", "rom_offset": "0x68FBCC", "width": 32, "height": 32, "type": "ci8", "tlut": "common_tlut_green_shell"} } diff --git a/assets/include/blueshell.mk b/assets/include/blueshell.mk index c344726ff..81efb56c3 100644 --- a/assets/include/blueshell.mk +++ b/assets/include/blueshell.mk @@ -3,14 +3,14 @@ BLUESHELL_DIR := assets/blueshell BLUESHELL_PALETTE := $(BLUESHELL_DIR)/common_tlut_blue_shell.png BLUESHELL_FRAMES := \ -$(BLUESHELL_DIR)/gTextureBlueShell0.png \ -$(BLUESHELL_DIR)/gTextureBlueShell1.png \ -$(BLUESHELL_DIR)/gTextureBlueShell2.png \ -$(BLUESHELL_DIR)/gTextureBlueShell3.png \ -$(BLUESHELL_DIR)/gTextureBlueShell4.png \ -$(BLUESHELL_DIR)/gTextureBlueShell5.png \ -$(BLUESHELL_DIR)/gTextureBlueShell6.png \ -$(BLUESHELL_DIR)/gTextureBlueShell7.png +$(BLUESHELL_DIR)/texture_blue_shell_0.png \ +$(BLUESHELL_DIR)/texture_blue_shell_1.png \ +$(BLUESHELL_DIR)/texture_blue_shell_2.png \ +$(BLUESHELL_DIR)/texture_blue_shell_3.png \ +$(BLUESHELL_DIR)/texture_blue_shell_4.png \ +$(BLUESHELL_DIR)/texture_blue_shell_5.png \ +$(BLUESHELL_DIR)/texture_blue_shell_6.png \ +$(BLUESHELL_DIR)/texture_blue_shell_7.png BLUESHELL_EXPORT_SENTINEL := $(BLUESHELL_DIR)/.export diff --git a/assets/include/course_outlines.mk b/assets/include/course_outlines.mk index 067e7b4e3..9e799ce08 100644 --- a/assets/include/course_outlines.mk +++ b/assets/include/course_outlines.mk @@ -1,26 +1,26 @@ COURSE_OUTLINE_DIR := assets/course_outlines COURSE_OUTLINE_PNG := \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineMarioRaceway.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineChocoMountain.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineBowsersCastle.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineBansheeBoardwalk.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineYoshiValley.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineFrappeSnowland.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineKoopaTroopaBeach.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineRoyalRaceway.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineLuigiRaceway.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineMooMooFarm.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineToadsTurnpike.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineKalimariDesert.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineSherbetLand.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineRainbowRoad.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineWarioStadium.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineBlockFort.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineSkyscraper.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineDoubleDeck.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineDksJungleParkway.png \ -$(COURSE_OUTLINE_DIR)/gTextureCourseOutlineBigDonut.png +$(COURSE_OUTLINE_DIR)/minimap_mario_raceway.png \ +$(COURSE_OUTLINE_DIR)/minimap_choco_mountain.png \ +$(COURSE_OUTLINE_DIR)/minimap_bowsers_castle.png \ +$(COURSE_OUTLINE_DIR)/minimap_banshee_boardwalk.png \ +$(COURSE_OUTLINE_DIR)/minimap_yoshi_valley.png \ +$(COURSE_OUTLINE_DIR)/minimap_frappe_snowland.png \ +$(COURSE_OUTLINE_DIR)/minimap_koopa_troopa_beach.png \ +$(COURSE_OUTLINE_DIR)/minimap_royal_raceway.png \ +$(COURSE_OUTLINE_DIR)/minimap_luigi_raceway.png \ +$(COURSE_OUTLINE_DIR)/minimap_moo_moo_farm.png \ +$(COURSE_OUTLINE_DIR)/minimap_toads_turnpike.png \ +$(COURSE_OUTLINE_DIR)/minimap_kalimari_desert.png \ +$(COURSE_OUTLINE_DIR)/minimap_sherbet_land.png \ +$(COURSE_OUTLINE_DIR)/minimap_rainbow_road.png \ +$(COURSE_OUTLINE_DIR)/minimap_wario_stadium.png \ +$(COURSE_OUTLINE_DIR)/minimap_block_fort.png \ +$(COURSE_OUTLINE_DIR)/minimap_skyscraper.png \ +$(COURSE_OUTLINE_DIR)/minimap_double_deck.png \ +$(COURSE_OUTLINE_DIR)/minimap_dks_jungle_parkway.png \ +$(COURSE_OUTLINE_DIR)/minimap_big_donut.png COURSE_OUTLINE_EXPORT_SENTINEL := $(COURSE_OUTLINE_DIR)/.export diff --git a/assets/include/greenshell.mk b/assets/include/greenshell.mk index 870962eb5..0dd8a5b0b 100644 --- a/assets/include/greenshell.mk +++ b/assets/include/greenshell.mk @@ -3,14 +3,14 @@ GREENSHELL_DIR := assets/greenshell GREENSHELL_PALETTE := $(GREENSHELL_DIR)/common_tlut_green_shell.png GREENSHELL_FRAMES := \ -$(GREENSHELL_DIR)/gTextureGreenShell0.png \ -$(GREENSHELL_DIR)/gTextureGreenShell1.png \ -$(GREENSHELL_DIR)/gTextureGreenShell2.png \ -$(GREENSHELL_DIR)/gTextureGreenShell3.png \ -$(GREENSHELL_DIR)/gTextureGreenShell4.png \ -$(GREENSHELL_DIR)/gTextureGreenShell5.png \ -$(GREENSHELL_DIR)/gTextureGreenShell6.png \ -$(GREENSHELL_DIR)/gTextureGreenShell7.png +$(GREENSHELL_DIR)/texture_green_shell_0.png \ +$(GREENSHELL_DIR)/texture_green_shell_1.png \ +$(GREENSHELL_DIR)/texture_green_shell_2.png \ +$(GREENSHELL_DIR)/texture_green_shell_3.png \ +$(GREENSHELL_DIR)/texture_green_shell_4.png \ +$(GREENSHELL_DIR)/texture_green_shell_5.png \ +$(GREENSHELL_DIR)/texture_green_shell_6.png \ +$(GREENSHELL_DIR)/texture_green_shell_7.png GREENSHELL_EXPORT_SENTINEL := $(GREENSHELL_DIR)/.export diff --git a/data/course_player_selection.s b/data/course_player_selection.s index bf868d526..fb5b72c96 100644 --- a/data/course_player_selection.s +++ b/data/course_player_selection.s @@ -798,11 +798,11 @@ glabel gTextureCupBronze glabel gTextureCupBronze_end .align 2, 0x00 -glabel gTexturePushStartButton +glabel push_start_button .incbin "textures/raw/push_start_button.rgba16" .align 2, 0x00 -glabel gTextureCopyright1996 +glabel copyright_1996 .incbin "textures/raw/copyright_1996.rgba16" .align 2, 0x00 @@ -822,7 +822,7 @@ glabel gTextureP4BorderGreen .incbin "textures/raw/p4_border_green.rgba16" .align 2, 0x00 -glabel gTextureSmallGreenTriangle +glabel texture_small_green_triangle .incbin "textures/raw/small_green_triangle.rgba16" .align 2, 0x00 diff --git a/data/other_textures.h b/data/other_textures.h index 5e8d4d9d7..b23e626a3 100644 --- a/data/other_textures.h +++ b/data/other_textures.h @@ -286,22 +286,22 @@ extern u8 gTexture68D834[]; extern u8 gTexture68D940[]; extern u8 gTexture68DEC0[]; extern u8 gTexture68E2D0[]; -extern u8 gTextureGreenShell0[]; -extern u8 gTextureGreenShell1[]; -extern u8 gTextureGreenShell2[]; -extern u8 gTextureGreenShell3[]; -extern u8 gTextureGreenShell4[]; -extern u8 gTextureGreenShell5[]; -extern u8 gTextureGreenShell6[]; -extern u8 gTextureGreenShell7[]; -extern u8 gTextureBlueShell0[]; -extern u8 gTextureBlueShell1[]; -extern u8 gTextureBlueShell2[]; -extern u8 gTextureBlueShell3[]; -extern u8 gTextureBlueShell4[]; -extern u8 gTextureBlueShell5[]; -extern u8 gTextureBlueShell6[]; -extern u8 gTextureBlueShell7[]; +extern u8 texture_green_shell_0[]; +extern u8 texture_green_shell_1[]; +extern u8 texture_green_shell_2[]; +extern u8 texture_green_shell_3[]; +extern u8 texture_green_shell_4[]; +extern u8 texture_green_shell_5[]; +extern u8 texture_green_shell_6[]; +extern u8 texture_green_shell_7[]; +extern u8 texture_blue_shell_0[]; +extern u8 texture_blue_shell_1[]; +extern u8 texture_blue_shell_2[]; +extern u8 texture_blue_shell_3[]; +extern u8 texture_blue_shell_4[]; +extern u8 texture_blue_shell_5[]; +extern u8 texture_blue_shell_6[]; +extern u8 texture_blue_shell_7[]; extern u8 gTextureQuestionMarkYellow[]; extern u8 gTextureTrees1[]; extern u8 gTextureTrees2[]; @@ -354,7 +354,7 @@ extern u8 gTextureDksJungleParkwayKiwanoFruit3[]; extern u8 gTextureKartShadow[]; extern u8 gTexture69B03C[]; extern u8 gTexture69B140[]; -extern u8 gTexture69B378[]; +extern u8 gGrassParticle[]; extern u8 gTextureMusicNote[]; extern u8 gTextureSpeechBubble[]; extern u8 gTextureBoingExclamation[]; @@ -363,7 +363,7 @@ extern u8 gTexture69BF54[]; extern u8 gTexture69C090[]; extern u8 gTexture69C1E8[]; extern u8 gTextureSmokePuff[]; -extern u8 gTexture69C4E4[]; +extern u8 gGroundDust[]; extern u8 gTexture69C80C[]; extern u8 gTexture69C9C4[]; extern u8 gTexture69CB84[]; @@ -514,26 +514,26 @@ extern u8 gTextureExhaust2[]; extern u8 gTextureExhaust3[]; extern u8 gTextureExhaust4[]; extern u8 gTextureExhaust5[]; -extern u8 gTextureLogoMarioKart64[]; -extern u8 gTextureCourseOutlineMarioRaceway[]; -extern u8 gTextureCourseOutlineChocoMountain[]; -extern u8 gTextureCourseOutlineBowsersCastle[]; -extern u8 gTextureCourseOutlineBansheeBoardwalk[]; -extern u8 gTextureCourseOutlineYoshiValley[]; -extern u8 gTextureCourseOutlineFrappeSnowland[]; -extern u8 gTextureCourseOutlineKoopaTroopaBeach[]; -extern u8 gTextureCourseOutlineRoyalRaceway[]; -extern u8 gTextureCourseOutlineLuigiRaceway[]; -extern u8 gTextureCourseOutlineMooMooFarm[]; -extern u8 gTextureCourseOutlineToadsTurnpike[]; -extern u8 gTextureCourseOutlineKalimariDesert[]; -extern u8 gTextureCourseOutlineSherbetLand[]; -extern u8 gTextureCourseOutlineRainbowRoad[]; -extern u8 gTextureCourseOutlineWarioStadium[]; -extern u8 gTextureCourseOutlineBlockFort[]; -extern u8 gTextureCourseOutlineSkyscraper[]; -extern u8 gTextureCourseOutlineDoubleDeck[]; -extern u8 gTextureCourseOutlineDksJungleParkway[]; -extern u8 gTextureCourseOutlineBigDonut[]; +extern u8 logo_mario_kart_64[]; +extern u8 minimap_mario_raceway[]; +extern u8 minimap_choco_mountain[]; +extern u8 minimap_bowsers_castle[]; +extern u8 minimap_banshee_boardwalk[]; +extern u8 minimap_yoshi_valley[]; +extern u8 minimap_frappe_snowland[]; +extern u8 minimap_koopa_troopa_beach[]; +extern u8 minimap_royal_raceway[]; +extern u8 minimap_luigi_raceway[]; +extern u8 minimap_moo_moo_farm[]; +extern u8 minimap_toads_turnpike[]; +extern u8 minimap_kalimari_desert[]; +extern u8 minimap_sherbet_land[]; +extern u8 minimap_rainbow_road[]; +extern u8 minimap_wario_stadium[]; +extern u8 minimap_block_fort[]; +extern u8 minimap_skyscraper[]; +extern u8 minimap_double_deck[]; +extern u8 minimap_dks_jungle_parkway[]; +extern u8 minimap_big_donut[]; #endif diff --git a/data/other_textures.s b/data/other_textures.s index 233a44b1a..31670f198 100644 --- a/data/other_textures.s +++ b/data/other_textures.s @@ -1148,68 +1148,68 @@ glabel gTexture68E2D0 .incbin "textures/standalone/texture_68E2D0.rgba16.mio0" .balign 4, 0x00 -glabel gTextureGreenShell0 -.incbin "assets/greenshell/gTextureGreenShell0.mio0" +glabel texture_green_shell_0 +.incbin "assets/greenshell/texture_green_shell_0.mio0" .balign 4, 0x00 -glabel gTextureGreenShell1 -.incbin "assets/greenshell/gTextureGreenShell1.mio0" +glabel texture_green_shell_1 +.incbin "assets/greenshell/texture_green_shell_1.mio0" .balign 4, 0x00 -glabel gTextureGreenShell2 -.incbin "assets/greenshell/gTextureGreenShell2.mio0" +glabel texture_green_shell_2 +.incbin "assets/greenshell/texture_green_shell_2.mio0" .balign 4, 0x00 -glabel gTextureGreenShell3 -.incbin "assets/greenshell/gTextureGreenShell3.mio0" +glabel texture_green_shell_3 +.incbin "assets/greenshell/texture_green_shell_3.mio0" .balign 4, 0x00 -glabel gTextureGreenShell4 -.incbin "assets/greenshell/gTextureGreenShell4.mio0" +glabel texture_green_shell_4 +.incbin "assets/greenshell/texture_green_shell_4.mio0" .balign 4, 0x00 -glabel gTextureGreenShell5 -.incbin "assets/greenshell/gTextureGreenShell5.mio0" +glabel texture_green_shell_5 +.incbin "assets/greenshell/texture_green_shell_5.mio0" .balign 4, 0x00 -glabel gTextureGreenShell6 -.incbin "assets/greenshell/gTextureGreenShell6.mio0" +glabel texture_green_shell_6 +.incbin "assets/greenshell/texture_green_shell_6.mio0" .balign 4, 0x00 -glabel gTextureGreenShell7 -.incbin "assets/greenshell/gTextureGreenShell7.mio0" +glabel texture_green_shell_7 +.incbin "assets/greenshell/texture_green_shell_7.mio0" .balign 4, 0x00 -glabel gTextureBlueShell0 -.incbin "assets/blueshell/gTextureBlueShell0.mio0" +glabel texture_blue_shell_0 +.incbin "assets/blueshell/texture_blue_shell_0.mio0" .balign 4, 0x00 -glabel gTextureBlueShell1 -.incbin "assets/blueshell/gTextureBlueShell1.mio0" +glabel texture_blue_shell_1 +.incbin "assets/blueshell/texture_blue_shell_1.mio0" .balign 4, 0x00 -glabel gTextureBlueShell2 -.incbin "assets/blueshell/gTextureBlueShell2.mio0" +glabel texture_blue_shell_2 +.incbin "assets/blueshell/texture_blue_shell_2.mio0" .balign 4, 0x00 -glabel gTextureBlueShell3 -.incbin "assets/blueshell/gTextureBlueShell3.mio0" +glabel texture_blue_shell_3 +.incbin "assets/blueshell/texture_blue_shell_3.mio0" .balign 4, 0x00 -glabel gTextureBlueShell4 -.incbin "assets/blueshell/gTextureBlueShell4.mio0" +glabel texture_blue_shell_4 +.incbin "assets/blueshell/texture_blue_shell_4.mio0" .balign 4, 0x00 -glabel gTextureBlueShell5 -.incbin "assets/blueshell/gTextureBlueShell5.mio0" +glabel texture_blue_shell_5 +.incbin "assets/blueshell/texture_blue_shell_5.mio0" .balign 4, 0x00 -glabel gTextureBlueShell6 -.incbin "assets/blueshell/gTextureBlueShell6.mio0" +glabel texture_blue_shell_6 +.incbin "assets/blueshell/texture_blue_shell_6.mio0" .balign 4, 0x00 -glabel gTextureBlueShell7 -.incbin "assets/blueshell/gTextureBlueShell7.mio0" +glabel texture_blue_shell_7 +.incbin "assets/blueshell/texture_blue_shell_7.mio0" .balign 4, 0x00 glabel gTextureQuestionMarkYellow @@ -1420,8 +1420,8 @@ glabel gTexture69B140 .incbin "textures/standalone/texture_69B140.i8.mio0" .balign 4, 0x00 -glabel gTexture69B378 -.incbin "textures/standalone/texture_69B378.rgba16.mio0" +glabel gGrassParticle +.incbin "textures/standalone/gGrassParticle.rgba16.mio0" .balign 4, 0x00 glabel gTextureMusicNote @@ -1456,8 +1456,8 @@ glabel gTextureSmokePuff .incbin "textures/standalone/texture_69C354.ia8.mio0" .balign 4, 0x00 -glabel gTexture69C4E4 -.incbin "textures/standalone/texture_69C4E4.i8.mio0" +glabel gGroundDust +.incbin "textures/standalone/gGroundDust.i8.mio0" .balign 4, 0x00 glabel gTexture69C80C @@ -2060,85 +2060,85 @@ glabel gTextureExhaust5 .incbin "textures/standalone/exhaust_5.ia8.mio0" .balign 4, 0x00 -glabel gTextureLogoMarioKart64 +glabel logo_mario_kart_64 .incbin "textures/standalone/logo_mario_kart_64.rgba32.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineMarioRaceway -.incbin "assets/course_outlines/gTextureCourseOutlineMarioRaceway.mio0" +glabel minimap_mario_raceway +.incbin "assets/course_outlines/minimap_mario_raceway.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineChocoMountain -.incbin "assets/course_outlines/gTextureCourseOutlineChocoMountain.mio0" +glabel minimap_choco_mountain +.incbin "assets/course_outlines/minimap_choco_mountain.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineBowsersCastle -.incbin "assets/course_outlines/gTextureCourseOutlineBowsersCastle.mio0" +glabel minimap_bowsers_castle +.incbin "assets/course_outlines/minimap_bowsers_castle.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineBansheeBoardwalk -.incbin "assets/course_outlines/gTextureCourseOutlineBansheeBoardwalk.mio0" +glabel minimap_banshee_boardwalk +.incbin "assets/course_outlines/minimap_banshee_boardwalk.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineYoshiValley -.incbin "assets/course_outlines/gTextureCourseOutlineYoshiValley.mio0" +glabel minimap_yoshi_valley +.incbin "assets/course_outlines/minimap_yoshi_valley.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineFrappeSnowland -.incbin "assets/course_outlines/gTextureCourseOutlineFrappeSnowland.mio0" +glabel minimap_frappe_snowland +.incbin "assets/course_outlines/minimap_frappe_snowland.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineKoopaTroopaBeach -.incbin "assets/course_outlines/gTextureCourseOutlineKoopaTroopaBeach.mio0" +glabel minimap_koopa_troopa_beach +.incbin "assets/course_outlines/minimap_koopa_troopa_beach.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineRoyalRaceway -.incbin "assets/course_outlines/gTextureCourseOutlineRoyalRaceway.mio0" +glabel minimap_royal_raceway +.incbin "assets/course_outlines/minimap_royal_raceway.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineLuigiRaceway -.incbin "assets/course_outlines/gTextureCourseOutlineLuigiRaceway.mio0" +glabel minimap_luigi_raceway +.incbin "assets/course_outlines/minimap_luigi_raceway.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineMooMooFarm -.incbin "assets/course_outlines/gTextureCourseOutlineMooMooFarm.mio0" +glabel minimap_moo_moo_farm +.incbin "assets/course_outlines/minimap_moo_moo_farm.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineToadsTurnpike -.incbin "assets/course_outlines/gTextureCourseOutlineToadsTurnpike.mio0" +glabel minimap_toads_turnpike +.incbin "assets/course_outlines/minimap_toads_turnpike.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineKalimariDesert -.incbin "assets/course_outlines/gTextureCourseOutlineKalimariDesert.mio0" +glabel minimap_kalimari_desert +.incbin "assets/course_outlines/minimap_kalimari_desert.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineSherbetLand -.incbin "assets/course_outlines/gTextureCourseOutlineSherbetLand.mio0" +glabel minimap_sherbet_land +.incbin "assets/course_outlines/minimap_sherbet_land.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineRainbowRoad -.incbin "assets/course_outlines/gTextureCourseOutlineRainbowRoad.mio0" +glabel minimap_rainbow_road +.incbin "assets/course_outlines/minimap_rainbow_road.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineWarioStadium -.incbin "assets/course_outlines/gTextureCourseOutlineWarioStadium.mio0" +glabel minimap_wario_stadium +.incbin "assets/course_outlines/minimap_wario_stadium.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineBlockFort -.incbin "assets/course_outlines/gTextureCourseOutlineBlockFort.mio0" +glabel minimap_block_fort +.incbin "assets/course_outlines/minimap_block_fort.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineSkyscraper -.incbin "assets/course_outlines/gTextureCourseOutlineSkyscraper.mio0" +glabel minimap_skyscraper +.incbin "assets/course_outlines/minimap_skyscraper.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineDoubleDeck -.incbin "assets/course_outlines/gTextureCourseOutlineDoubleDeck.mio0" +glabel minimap_double_deck +.incbin "assets/course_outlines/minimap_double_deck.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineDksJungleParkway -.incbin "assets/course_outlines/gTextureCourseOutlineDksJungleParkway.mio0" +glabel minimap_dks_jungle_parkway +.incbin "assets/course_outlines/minimap_dks_jungle_parkway.mio0" .balign 4, 0x00 -glabel gTextureCourseOutlineBigDonut -.incbin "assets/course_outlines/gTextureCourseOutlineBigDonut.mio0" +glabel minimap_big_donut +.incbin "assets/course_outlines/minimap_big_donut.mio0" diff --git a/data/texture_data_2.s b/data/texture_data_2.s index 5b61729d7..432cf3f7e 100644 --- a/data/texture_data_2.s +++ b/data/texture_data_2.s @@ -374,7 +374,7 @@ glabel gTextureTinyFontMinus_end .align 2, 0x00 glabel gTextureTinyFontComma -.incbin "textures/standalone/tiny_font_comma.ia16.mio0" +.incbin "textures/standalone/tiny_font_dot.ia16.mio0" glabel gTextureTinyFontComma_end .align 2, 0x00 @@ -818,184 +818,184 @@ glabel gTexture7F109C glabel gTexture7F109C_end .align 2, 0x00 -glabel gTexture7F1124 -.incbin "textures/raw/7F1124.i4" +glabel font_four_dote +.incbin "textures/raw/font_four_dote.i4" .align 2, 0x00 -glabel gTexture7F11F4 -.incbin "textures/raw/7F11F4.i4" +glabel font_cc +.incbin "textures/raw/font_cc.i4" .align 2, 0x00 -glabel gTexture7F12C4 -.incbin "textures/raw/7F12C4.i4" +glabel font_double_quote +.incbin "textures/raw/font_double_quote.i4" .align 2, 0x00 -glabel gTexture7F1394 -.incbin "textures/raw/7F1394.i4" +glabel font_exclamation_mark +.incbin "textures/raw/font_exclamation_mark.i4" .align 2, 0x00 -glabel gTexture7F1464 -.incbin "textures/raw/7F1464.i4" +glabel font_minus +.incbin "textures/raw/font_minus.i4" .align 2, 0x00 -glabel gTexture7F1534 -.incbin "textures/raw/7F1534.i4" +glabel font_dot +.incbin "textures/raw/font_dot.i4" .align 2, 0x00 -glabel gTexture7F1604 -.incbin "textures/raw/7F1604.i4" +glabel font_plus +.incbin "textures/raw/font_plus.i4" .align 2, 0x00 -glabel gTexture7F16D4 -.incbin "textures/raw/7F16D4.i4" +glabel font_interogation_mark +.incbin "textures/raw/font_interogation_mark.i4" .align 2, 0x00 -glabel gTexture7F17A4 -.incbin "textures/raw/7F17A4.i4" +glabel font_simple_quote +.incbin "textures/raw/font_simple_quote.i4" .align 2, 0x00 -glabel gTexture7F1874 -.incbin "textures/raw/7F1874.i4" +glabel font_number_zero +.incbin "textures/raw/font_number_zero.i4" .align 2, 0x00 -glabel gTexture7F1944 -.incbin "textures/raw/7F1944.i4" +glabel font_number_one +.incbin "textures/raw/font_number_one.i4" .align 2, 0x00 -glabel gTexture7F1A14 -.incbin "textures/raw/7F1A14.i4" +glabel font_number_two +.incbin "textures/raw/font_number_two.i4" .align 2, 0x00 -glabel gTexture7F1AE4 -.incbin "textures/raw/7F1AE4.i4" +glabel font_number_three +.incbin "textures/raw/font_number_three.i4" .align 2, 0x00 -glabel gTexture7F1BB4 -.incbin "textures/raw/7F1BB4.i4" +glabel font_number_four +.incbin "textures/raw/font_number_four.i4" .align 2, 0x00 -glabel gTexture7F1C84 -.incbin "textures/raw/7F1C84.i4" +glabel font_number_five +.incbin "textures/raw/font_number_five.i4" .align 2, 0x00 -glabel gTexture7F1D54 -.incbin "textures/raw/7F1D54.i4" +glabel font_number_six +.incbin "textures/raw/font_number_six.i4" .align 2, 0x00 -glabel gTexture7F1E24 -.incbin "textures/raw/7F1E24.i4" +glabel font_number_seven +.incbin "textures/raw/font_number_seven.i4" .align 2, 0x00 -glabel gTexture7F1EF4 -.incbin "textures/raw/7F1EF4.i4" +glabel font_number_eight +.incbin "textures/raw/font_number_eight.i4" .align 2, 0x00 -glabel gTexture7F1FC4 -.incbin "textures/raw/7F1FC4.i4" +glabel font_number_nine +.incbin "textures/raw/font_number_nine.i4" .align 2, 0x00 -glabel gTexture7F2094 -.incbin "textures/raw/7F2094.i4" +glabel font_letter_A +.incbin "textures/raw/font_letter_A.i4" .align 2, 0x00 -glabel gTexture7F2164 -.incbin "textures/raw/7F2164.i4" +glabel font_letter_B +.incbin "textures/raw/font_letter_B.i4" .align 2, 0x00 -glabel gTexture7F2234 -.incbin "textures/raw/7F2234.i4" +glabel font_letter_C +.incbin "textures/raw/font_letter_C.i4" .align 2, 0x00 -glabel gTexture7F2304 -.incbin "textures/raw/7F2304.i4" +glabel font_letter_D +.incbin "textures/raw/font_letter_D.i4" .align 2, 0x00 -glabel gTexture7F23D4 -.incbin "textures/raw/7F23D4.i4" +glabel font_letter_E +.incbin "textures/raw/font_letter_E.i4" .align 2, 0x00 -glabel gTexture7F24A4 -.incbin "textures/raw/7F24A4.i4" +glabel font_letter_F +.incbin "textures/raw/font_letter_F.i4" .align 2, 0x00 -glabel gTexture7F2574 -.incbin "textures/raw/7F2574.i4" +glabel font_letter_G +.incbin "textures/raw/font_letter_G.i4" .align 2, 0x00 -glabel gTexture7F2644 -.incbin "textures/raw/7F2644.i4" +glabel font_letter_H +.incbin "textures/raw/font_letter_H.i4" .align 2, 0x00 -glabel gTexture7F2714 -.incbin "textures/raw/7F2714.i4" +glabel font_letter_I +.incbin "textures/raw/font_letter_I.i4" .align 2, 0x00 -glabel gTexture7F27E4 -.incbin "textures/raw/7F27E4.i4" +glabel font_letter_J +.incbin "textures/raw/font_letter_J.i4" .align 2, 0x00 -glabel gTexture7F28B4 -.incbin "textures/raw/7F28B4.i4" +glabel font_letter_K +.incbin "textures/raw/font_letter_K.i4" .align 2, 0x00 -glabel gTexture7F2984 -.incbin "textures/raw/7F2984.i4" +glabel font_letter_L +.incbin "textures/raw/font_letter_L.i4" .align 2, 0x00 -glabel gTexture7F2A54 -.incbin "textures/raw/7F2A54.i4" +glabel font_letter_M +.incbin "textures/raw/font_letter_M.i4" .align 2, 0x00 -glabel gTexture7F2B24 -.incbin "textures/raw/7F2B24.i4" +glabel font_letter_N +.incbin "textures/raw/font_letter_N.i4" .align 2, 0x00 -glabel gTexture7F2BF4 -.incbin "textures/raw/7F2BF4.i4" +glabel font_letter_O +.incbin "textures/raw/font_letter_O.i4" .align 2, 0x00 -glabel gTexture7F2CC4 -.incbin "textures/raw/7F2CC4.i4" +glabel font_letter_P +.incbin "textures/raw/font_letter_P.i4" .align 2, 0x00 -glabel gTexture7F2D94 -.incbin "textures/raw/7F2D94.i4" +glabel font_letter_Q +.incbin "textures/raw/font_letter_Q.i4" .align 2, 0x00 -glabel gTexture7F2E64 -.incbin "textures/raw/7F2E64.i4" +glabel font_letter_R +.incbin "textures/raw/font_letter_R.i4" .align 2, 0x00 -glabel gTexture7F2F34 -.incbin "textures/raw/7F2F34.i4" +glabel font_letter_S +.incbin "textures/raw/font_letter_S.i4" .align 2, 0x00 -glabel gTexture7F3004 -.incbin "textures/raw/7F3004.i4" +glabel font_letter_T +.incbin "textures/raw/font_letter_T.i4" .align 2, 0x00 -glabel gTexture7F30D4 -.incbin "textures/raw/7F30D4.i4" +glabel font_letter_U +.incbin "textures/raw/font_letter_U.i4" .align 2, 0x00 -glabel gTexture7F31A4 -.incbin "textures/raw/7F31A4.i4" +glabel font_letter_V +.incbin "textures/raw/font_letter_V.i4" .align 2, 0x00 -glabel gTexture7F3274 -.incbin "textures/raw/7F3274.i4" +glabel font_letter_W +.incbin "textures/raw/font_letter_W.i4" .align 2, 0x00 -glabel gTexture7F3344 -.incbin "textures/raw/7F3344.i4" +glabel font_letter_X +.incbin "textures/raw/font_letter_X.i4" .align 2, 0x00 -glabel gTexture7F3414 -.incbin "textures/raw/7F3414.i4" +glabel font_letter_Y +.incbin "textures/raw/font_letter_Y.i4" .align 2, 0x00 -glabel gTexture7F34E4 -.incbin "textures/raw/7F34E4.i4" +glabel font_letter_Z +.incbin "textures/raw/font_letter_Z.i4" .align 2, 0x00 glabel gTexture7F35B4 @@ -1738,8 +1738,8 @@ glabel gTexture7F9FC4 .incbin "textures/raw/7F9FC4.i4" .align 2, 0x00 -glabel gTexture7FA044 -.incbin "textures/raw/7FA044.i4" +glabel font_apostrophe +.incbin "textures/raw/font_apostrophe.i4" .align 2, 0x00 glabel gTexture7FA0C4 @@ -1754,5 +1754,5 @@ glabel gTexture7FA264 .incbin "textures/raw/7FA264.i4" .align 2, 0x00 -glabel gTexture7FA334 -.incbin "textures/raw/7FA334.i4" +glabel font_comma +.incbin "textures/raw/font_comma.i4" diff --git a/data/texture_tkmk00.s b/data/texture_tkmk00.s index b1ef5a61e..648dc1252 100644 --- a/data/texture_tkmk00.s +++ b/data/texture_tkmk00.s @@ -5,45 +5,45 @@ .data -glabel gTexturePlayerSelect -.incbin "bin/gTexturePlayerSelect.rgba16.tkmk00" -glabel gTexturePlayerSelect_end +glabel texture_player_select +.incbin "bin/texture_player_select.rgba16.tkmk00" +glabel texture_player_select_end -glabel gTextureOption -.incbin "bin/gTextureOption.rgba16.tkmk00" -glabel gTextureOption_end +glabel texture_option +.incbin "bin/texture_option.rgba16.tkmk00" +glabel texture_option_end -glabel gTextureNameDK -.incbin "bin/gTextureNameDK.rgba16.tkmk00" -glabel gTextureNameDK_end +glabel texture_name_dk +.incbin "bin/texture_name_dk.rgba16.tkmk00" +glabel texture_name_dk_end -glabel gTextureNameToad -.incbin "bin/gTextureNameToad.rgba16.tkmk00" -glabel gTextureNameToad_end +glabel texture_name_toad +.incbin "bin/texture_name_toad.rgba16.tkmk00" +glabel texture_name_toad_end -glabel gTextureNameBowser -.incbin "bin/gTextureNameBowser.rgba16.tkmk00" -glabel gTextureNameBowser_end +glabel texture_name_bowser +.incbin "bin/texture_name_bowser.rgba16.tkmk00" +glabel texture_name_bowser_end -glabel gTextureNameLuigi -.incbin "bin/gTextureNameLuigi.rgba16.tkmk00" -glabel gTextureNameLuigi_end +glabel texture_name_luigi +.incbin "bin/texture_name_luigi.rgba16.tkmk00" +glabel texture_name_luigi_end -glabel gTextureNameMario -.incbin "bin/gTextureNameMario.rgba16.tkmk00" -glabel gTextureNameMario_end +glabel texture_name_mario +.incbin "bin/texture_name_mario.rgba16.tkmk00" +glabel texture_name_mario_end -glabel gTextureNamePeach -.incbin "bin/gTextureNamePeach.rgba16.tkmk00" -glabel gTextureNamePeach_end +glabel texture_name_peach +.incbin "bin/texture_name_peach.rgba16.tkmk00" +glabel texture_name_peach_end -glabel gTextureNameWario -.incbin "bin/gTextureNameWario.rgba16.tkmk00" -glabel gTextureNameWario_end +glabel texture_name_wario +.incbin "bin/texture_name_wario.rgba16.tkmk00" +glabel texture_name_wario_end -glabel gTextureNameYoshi -.incbin "bin/gTextureNameYoshi.rgba16.tkmk00" -glabel gTextureNameYoshi_end +glabel texture_name_yoshi +.incbin "bin/texture_name_yoshi.rgba16.tkmk00" +glabel texture_name_yoshi_end glabel gTextureTitleMarioRaceway .incbin "bin/gTextureTitleMarioRaceway.rgba16.tkmk00" @@ -145,65 +145,65 @@ glabel gTextureMenuSpecialCup .incbin "bin/gTextureMenuSpecialCup.rgba16.tkmk00" glabel gTextureMenuSpecialCup_end -glabel gTextureGameSelect -.incbin "bin/gTextureGameSelect.rgba16.tkmk00" -glabel gTextureGameSelect_end +glabel texture_game_select +.incbin "bin/texture_game_select.rgba16.tkmk00" +glabel texture_game_select_end -glabel gTextureMenu1PGame -.incbin "bin/gTextureMenu1PGame.rgba16.tkmk00" -glabel gTextureMenu1PGame_end +glabel texture_menu_1p_game +.incbin "bin/texture_menu_1p_game.rgba16.tkmk00" +glabel texture_menu_1p_game_end -glabel gTextureMenu2PGame -.incbin "bin/gTextureMenu2PGame.rgba16.tkmk00" -glabel gTextureMenu2PGame_end +glabel texture_menu_2p_game +.incbin "bin/texture_menu_2p_game.rgba16.tkmk00" +glabel texture_menu_2p_game_end -glabel gTextureMenu3PGame -.incbin "bin/gTextureMenu3PGame.rgba16.tkmk00" -glabel gTextureMenu3PGame_end +glabel texture_menu_3p_game +.incbin "bin/texture_menu_3p_game.rgba16.tkmk00" +glabel texture_menu_3p_game_end -glabel gTextureMenu4PGame -.incbin "bin/gTextureMenu4PGame.rgba16.tkmk00" -glabel gTextureMenu4PGame_end +glabel texture_menu_4p_game +.incbin "bin/texture_menu_4p_game.rgba16.tkmk00" +glabel texture_menu_4p_game_end -glabel gTextureMenuModeBattle -.incbin "bin/gTextureMenuModeBattle.rgba16.tkmk00" -glabel gTextureMenuModeBattle_end +glabel texture_mode_battle +.incbin "bin/texture_mode_battle.rgba16.tkmk00" +glabel texture_mode_battle_end -glabel gTextureMenuModeTimeTrials -.incbin "bin/gTextureMenuModeTimeTrials.rgba16.tkmk00" -glabel gTextureMenuModeTimeTrials_end +glabel texture_mode_time_trials +.incbin "bin/texture_mode_time_trials.rgba16.tkmk00" +glabel texture_mode_time_trials_end -glabel gTextureMenuModeMarioGP -.incbin "bin/gTextureMenuModeMarioGP.rgba16.tkmk00" -glabel gTextureMenuModeMarioGP_end +glabel texture_mode_mario_gp +.incbin "bin/texture_mode_mario_gp.rgba16.tkmk00" +glabel texture_mode_mario_gp_end -glabel gTextureMenuModeVS -.incbin "bin/gTextureMenuModeVS.rgba16.tkmk00" -glabel gTextureMenuModeVS_end +glabel texture_mode_vs +.incbin "bin/texture_mode_vs.rgba16.tkmk00" +glabel texture_mode_vs_end -glabel gTextureMenuLOption -.incbin "bin/gTextureMenuLOption.rgba16.tkmk00" -glabel gTextureMenuLOption_end +glabel texture_l_option +.incbin "bin/texture_l_option.rgba16.tkmk00" +glabel texture_l_option_end -glabel gTextureMenuRData -.incbin "bin/gTextureMenuRData.rgba16.tkmk00" -glabel gTextureMenuRData_end +glabel texture_r_data +.incbin "bin/texture_r_data.rgba16.tkmk00" +glabel texture_r_data_end -glabel gTextureMenu50cc -.incbin "bin/gTextureMenu50cc.rgba16.tkmk00" -glabel gTextureMenu50cc_end +glabel texture_50cc +.incbin "bin/texture_50cc.rgba16.tkmk00" +glabel texture_50cc_end -glabel gTextureMenu100cc -.incbin "bin/gTextureMenu100cc.rgba16.tkmk00" -glabel gTextureMenu100cc_end +glabel texture_100cc +.incbin "bin/texture_100cc.rgba16.tkmk00" +glabel texture_100cc_end -glabel gTextureMenu150cc -.incbin "bin/gTextureMenu150cc.rgba16.tkmk00" -glabel gTextureMenu150cc_end +glabel texture_150cc +.incbin "bin/texture_150cc.rgba16.tkmk00" +glabel texture_150cc_end -glabel gTextureMenuExtra -.incbin "bin/gTextureMenuExtra.rgba16.tkmk00" -glabel gTextureMenuExtra_end +glabel texture_extra +.incbin "bin/texture_extra.rgba16.tkmk00" +glabel texture_extra_end glabel gTextureMenuWithoutItem .incbin "bin/gTextureMenuWithoutItem.rgba16.tkmk00" @@ -213,29 +213,29 @@ glabel gTextureMenuWithItem .incbin "bin/gTextureMenuWithItem.rgba16.tkmk00" glabel gTextureMenuWithItem_end -glabel gTextureMenuBegin -.incbin "bin/gTextureMenuBegin.rgba16.tkmk00" -glabel gTextureMenuBegin_end +glabel texture_begin +.incbin "bin/texture_begin.rgba16.tkmk00" +glabel texture_begin_end -glabel gTextureMenuGhost -.incbin "bin/gTextureMenuGhost.rgba16.tkmk00" -glabel gTextureMenuGhost_end +glabel texture_menu_ghost +.incbin "bin/texture_menu_ghost.rgba16.tkmk00" +glabel texture_menu_ghost_end -glabel gTextureMenuData -.incbin "bin/gTextureMenuData.rgba16.tkmk00" -glabel gTextureMenuData_end +glabel texture_data +.incbin "bin/texture_data.rgba16.tkmk00" +glabel texture_data_end -glabel gTextureMenuOK -.incbin "bin/gTextureMenuOK.rgba16.tkmk00" -glabel gTextureMenuOK_end +glabel texture_ok +.incbin "bin/texture_ok.rgba16.tkmk00" +glabel texture_ok_end -glabel gTextureBackgroundBlueSky -.incbin "bin/gTextureBackgroundBlueSky.rgba16.tkmk00" -glabel gTextureBackgroundBlueSky_end +glabel background_blue_sky +.incbin "bin/background_blue_sky.rgba16.tkmk00" +glabel background_blue_sky_end -glabel gTextureBackgroundSunset -.incbin "bin/gTextureBackgroundSunset.rgba16.tkmk00" -glabel gTextureBackgroundSunset_end +glabel background_sunset +.incbin "bin/background_sunset.rgba16.tkmk00" +glabel background_sunset_end glabel gTextureGreenGoldStripe .incbin "bin/gTextureGreenGoldStripe.rgba16.tkmk00" diff --git a/include/PR/gbi.h b/include/PR/gbi.h index 4a25c5986..d3005608b 100644 --- a/include/PR/gbi.h +++ b/include/PR/gbi.h @@ -1983,10 +1983,7 @@ typedef union { _g->words.w0 = _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag); \ _g->words.w1 = 0; \ } -#define gsSP1Triangle(v0, v1, v2, flag) \ - { \ - { _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag), 0 } \ - } +#define gsSP1Triangle(v0, v1, v2, flag) { { _SHIFTL(G_TRI1, 24, 8) | __gsSP1Triangle_w1f(v0, v1, v2, flag), 0 } } /*** *** Line @@ -1998,10 +1995,7 @@ typedef union { _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag); \ _g->words.w1 = 0; \ } -#define gsSPLine3D(v0, v1, flag) \ - { \ - { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag), 0 } \ - } +#define gsSPLine3D(v0, v1, flag) { { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, 0, flag), 0 } } /*** *** LineW @@ -2019,10 +2013,7 @@ typedef union { _g->words.w0 = _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag); \ _g->words.w1 = 0; \ } -#define gsSPLineW3D(v0, v1, wd, flag) \ - { \ - { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag), 0 } \ - } +#define gsSPLineW3D(v0, v1, wd, flag) { { _SHIFTL(G_LINE3D, 24, 8) | __gsSPLine3D_w1f(v0, v1, wd, flag), 0 } } /*** *** 1 Quadrangle @@ -2102,14 +2093,12 @@ typedef union { /*** *** 1 Quadrangle ***/ -#define gSP1Quadrangle(v0, v1, v2, v3, flag) \ - { \ - { \ - Gfx* _g = (Gfx*) (pkt); \ - \ - _g->words.w0 = _SHIFTL(G_QUAD, 24, 8); \ - _g->words.w1 = __gsSP1Quadrangle_w1(v0, v1, v2, v3); \ - } \ +#define gSP1Quadrangle(v0, v1, v2, v3, flag) \ + { { Gfx* _g = (Gfx*) (pkt); \ + \ + _g->words.w0 = _SHIFTL(G_QUAD, 24, 8); \ + _g->words.w1 = __gsSP1Quadrangle_w1(v0, v1, v2, v3); \ + } \ } #define gsSP1Quadrangle(v0, v1, v2, v3, flag) \ @@ -2613,8 +2602,7 @@ typedef union { #define gsSPLookAtY(l) gsDma1p(G_MOVEMEM, l, sizeof(Light), G_MV_LOOKATY) #endif /* F3DEX_GBI_2 */ -#define gSPLookAt(pkt, la) \ - { gSPLookAtX(pkt, la) gSPLookAtY(pkt, (char*) (la) + 16) } +#define gSPLookAt(pkt, la) { gSPLookAtX(pkt, la) gSPLookAtY(pkt, (char*) (la) + 16) } #define gsSPLookAt(la) gsSPLookAtX(la), gsSPLookAtY((char*) (la) + 16) #define gDPSetHilite1Tile(pkt, tile, hilite, width, height) \ @@ -2767,10 +2755,7 @@ typedef union { _g->words.w1 = 0; \ } -#define gsSPEndDisplayList() \ - { \ - { _SHIFTL(G_ENDDL, 24, 8), 0 } \ - } +#define gsSPEndDisplayList() { { _SHIFTL(G_ENDDL, 24, 8), 0 } } #ifdef F3DEX_GBI_2 /* @@ -3994,10 +3979,7 @@ typedef union { _g->words.w1 = 0; \ } -#define gsDPNoParam(cmd) \ - { \ - { _SHIFTL(cmd, 24, 8), 0 } \ - } +#define gsDPNoParam(cmd) { { _SHIFTL(cmd, 24, 8), 0 } } #define gDPParam(pkt, cmd, param) \ { \ diff --git a/include/common_structs.h b/include/common_structs.h index c4116b475..f0c097275 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -149,9 +149,9 @@ typedef struct { /* 0x0C */ f32 scale; /* 0x10 */ u16 unk_010; /* 0x12 */ u16 type; - /* 0x14 */ f32 unk_014; + /* 0x14 */ f32 surfaceType; /* 0x18 */ f32 unk_018; - /* 0x1C */ s16 IsAlive; + /* 0x1C */ s16 isAlive; /* 0x1E */ s16 timer; /* 0x20 */ s16 rotation; /* 0x22 */ s16 unk_022; @@ -328,7 +328,7 @@ typedef struct { /* 0x01F8 */ f32 unk_1F8; /* 0x01FC */ f32 unk_1FC; /* 0x0200 */ u32 unk_200; // May be s32. but less casting required if u32 - /* 0x0204 */ s16 unk_204; + /* 0x0204 */ s16 driftDuration; /* 0x0206 */ s16 unk_206; /* 0x0208 */ f32 unk_208; /* 0x020C */ f32 unk_20C; @@ -353,7 +353,10 @@ typedef struct { /* 0x024C */ u16 animGroupSelector[4]; /* 0x0254 */ u16 characterId; /* 0x0256 */ u16 unk_256; - /* 0x0258 */ Particle particles[40]; + /* 0x0258 */ Particle particlePool0[10]; + /* 0x0258 */ Particle particlePool1[10]; + /* 0x0258 */ Particle particlePool2[10]; + /* 0x0258 */ Particle particlePool3[10]; /* 0x0D98 */ s16 unk_D98; /* 0x0D9A */ s16 unk_D9A; /* 0x0D9C */ f32 unk_D9C; @@ -377,6 +380,19 @@ typedef struct { /* 0x0DD4 */ // s16 unk_DD4; } Player; // size = 0xDD8 +enum POOL_1_PARTICLE_TYPES { + NO_PARTICLE, + DRIFT_PARTICLE, + GROUND_PARTICLE, + GRASS_PARTICLE, + POOL_1_PARTICLE_TYPE_4, + POOL_1_PARTICLE_TYPE_5, + POOL_1_PARTICLE_TYPE_6, + POOL_1_PARTICLE_TYPE_7, + POOL_1_PARTICLE_TYPE_8, + POOL_1_PARTICLE_TYPE_9 +}; + typedef struct { // Something related to time trial ghost data? /* 0x00 */ s32 unk_00; diff --git a/include/defines.h b/include/defines.h index 475992cbc..b6bb00f47 100644 --- a/include/defines.h +++ b/include/defines.h @@ -73,12 +73,12 @@ // Float version required for matching #ifdef VERSION_EU -#define COURSE_TIMER_ITER 0.020041665999999999 // 1 / 50 - #ifdef AVOID_UB - #define COURSE_TIMER_ITER_f 0.020041665999999999f // 1 / 50 - #else - #define COURSE_TIMER_ITER_f 0.01666666f //! 1 / 60 - Float unchanged in EU - #endif +#define COURSE_TIMER_ITER 0.020041665999999999 // 1 / 50 +#ifdef AVOID_UB +#define COURSE_TIMER_ITER_f 0.020041665999999999f // 1 / 50 +#else +#define COURSE_TIMER_ITER_f 0.01666666f //! 1 / 60 - Float unchanged in EU +#endif #else #define COURSE_TIMER_ITER 0.01666666 // 1 / 60 #define COURSE_TIMER_ITER_f 0.01666666f // 1 / 60 diff --git a/include/libc/stddef.h b/include/libc/stddef.h index 2a6274abf..a6d53e3af 100644 --- a/include/libc/stddef.h +++ b/include/libc/stddef.h @@ -4,7 +4,7 @@ #include #ifndef offsetof -#define offsetof(st, m) ((size_t) & (((st*) 0)->m)) +#define offsetof(st, m) ((size_t) &(((st*) 0)->m)) #endif #endif diff --git a/include/segments.h b/include/segments.h index 6d35cd290..d724245b9 100644 --- a/include/segments.h +++ b/include/segments.h @@ -45,11 +45,11 @@ extern u8 _startupLogoSegmentRomEnd[]; // Defines duplicated even if the same for both for easier readability #ifdef AVOID_UB -#define MEMORY_POOL_START (uintptr_t) & _memoryPoolSegmentNoloadStart[0] -#define MEMORY_POOL_END (uintptr_t) & _memoryPoolSegmentNoloadEnd[0] +#define MEMORY_POOL_START (uintptr_t) &_memoryPoolSegmentNoloadStart[0] +#define MEMORY_POOL_END (uintptr_t) &_memoryPoolSegmentNoloadEnd[0] -#define SEG_ENDING (uintptr_t) & _endingSegmentStart[0] -#define SEG_ENDING_ROM_START (uintptr_t) & _endingSegmentRomStart[0] +#define SEG_ENDING (uintptr_t) &_endingSegmentStart[0] +#define SEG_ENDING_ROM_START (uintptr_t) &_endingSegmentRomStart[0] /** * Ending segment original size is 0xDF00 but much of that remains unused. * This auto fits the segment to its proper size. @@ -57,20 +57,20 @@ extern u8 _startupLogoSegmentRomEnd[]; #define SEG_ENDING_SIZE (size_t) ALIGN16((ptrdiff_t) (&_endingSegmentNoloadEnd[0] - &_endingSegmentStart[0])) #define SEG_ENDING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_endingSegmentRomEnd[0] - &_endingSegmentRomStart[0])) -#define SEG_RACING (uintptr_t) & _racingSegmentStart[0] -#define SEG_RACING_ROM_START (uintptr_t) & _racingSegmentRomStart[0] +#define SEG_RACING (uintptr_t) &_racingSegmentStart[0] +#define SEG_RACING_ROM_START (uintptr_t) &_racingSegmentRomStart[0] #define SEG_RACING_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentNoloadEnd[0] - &_racingSegmentStart[0])) #define SEG_RACING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentRomEnd[0] - &_racingSegmentRomStart[0])) -#define TRIG_TABLES (uintptr_t) & _trigTablesSegmentStart[0] -#define TRIG_TABLES_ROM_START (uintptr_t) & _trigTablesSegmentRomStart[0] +#define TRIG_TABLES (uintptr_t) &_trigTablesSegmentStart[0] +#define TRIG_TABLES_ROM_START (uintptr_t) &_trigTablesSegmentRomStart[0] #define TRIG_TABLES_SIZE (size_t) _trigTablesSegmentSize -#define SEG_DATA_START (uintptr_t) & _data_segment2SegmentRomStart[0] -#define SEG_DATA_END (uintptr_t) & _data_segment2SegmentRomEnd[0] +#define SEG_DATA_START (uintptr_t) &_data_segment2SegmentRomStart[0] +#define SEG_DATA_END (uintptr_t) &_data_segment2SegmentRomEnd[0] -#define COMMON_TEXTURES_ROM_START (uintptr_t) & _common_texturesSegmentRomStart[0] -#define COMMON_TEXTURES_SIZE (ptrdiff_t)(&_common_texturesSegmentRomEnd[0] - &_common_texturesSegmentRomStart[0]) +#define COMMON_TEXTURES_ROM_START (uintptr_t) &_common_texturesSegmentRomStart[0] +#define COMMON_TEXTURES_SIZE (ptrdiff_t) (&_common_texturesSegmentRomEnd[0] - &_common_texturesSegmentRomStart[0]) #define CEREMONY_DATA_ROM_START &_ceremonyDataSegmentRomStart[0] #define CEREMONY_DATA_ROM_END &_ceremonyDataSegmentRomEnd[0] @@ -80,7 +80,7 @@ extern u8 _startupLogoSegmentRomEnd[]; #else // Required for ok -#define MEMORY_POOL_START (uintptr_t) & _memoryPoolSegmentNoloadStart +#define MEMORY_POOL_START (uintptr_t) &_memoryPoolSegmentNoloadStart #define MEMORY_POOL_END (uintptr_t) 0x80242F00 #define SEG_ENDING (uintptr_t) 0x80280000 @@ -96,15 +96,15 @@ extern u8 _startupLogoSegmentRomEnd[]; #define SEG_RACING_ROM_SIZE (size_t) ALIGN16((ptrdiff_t) (&_racingSegmentRomEnd[0] - &_racingSegmentRomStart[0])) #define TRIG_TABLES (uintptr_t) 0x802BA370 -#define TRIG_TABLES_ROM_START (uintptr_t) & _trigTablesSegmentRomStart[0] +#define TRIG_TABLES_ROM_START (uintptr_t) &_trigTablesSegmentRomStart[0] #define TRIG_TABLES_SIZE (size_t) 0x5810 -#define SEG_DATA_START (uintptr_t) & _data_segment2SegmentRomStart[0] -#define SEG_DATA_END (uintptr_t) & _data_segment2SegmentRomEnd[0] +#define SEG_DATA_START (uintptr_t) &_data_segment2SegmentRomStart[0] +#define SEG_DATA_END (uintptr_t) &_data_segment2SegmentRomEnd[0] -#define COMMON_TEXTURES_ROM_START (uintptr_t) & _common_texturesSegmentRomStart[0] +#define COMMON_TEXTURES_ROM_START (uintptr_t) &_common_texturesSegmentRomStart[0] #define COMMON_TEXTURES_SIZE \ - (ptrdiff_t)((uintptr_t) & _common_texturesSegmentRomEnd - (uintptr_t) & _common_texturesSegmentRomStart) + (ptrdiff_t) ((uintptr_t) &_common_texturesSegmentRomEnd - (uintptr_t) &_common_texturesSegmentRomStart) #define CEREMONY_DATA_ROM_START &_ceremonyDataSegmentRomStart[0] #define CEREMONY_DATA_ROM_END &_ceremonyDataSegmentRomEnd[0] diff --git a/src/audio/external.c b/src/audio/external.c index 06043a124..869ac8ec3 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -232,7 +232,7 @@ s8 func_800C16E8(f32 arg0, f32 arg1, u8 cameraId) { f32 var_f0; f32 var_f14; f32 new_var; - f32 *new_var2; + f32* new_var2; f32 var_f16; f32 var_f18; f32 var_f20; @@ -1350,7 +1350,7 @@ void func_800C4398(void) { } if ((sSoundBanks[bank][sSoundBankFreeListFront[bank]].next != 0xFF) && (soundIndex != 0)) { var_t2 = soundIndex = sSoundBankFreeListFront[bank]; - sSoundBanks[bank][soundIndex].unk00 = (Vec3f*)&(*var_a2->position)[0]; + sSoundBanks[bank][soundIndex].unk00 = (Vec3f*) &(*var_a2->position)[0]; sSoundBanks[bank][soundIndex].unk04 = &(*var_a2->position)[1]; sSoundBanks[bank][soundIndex].unk08 = &(*var_a2->position)[2]; sSoundBanks[bank][soundIndex].cameraId = var_a2->cameraId; @@ -1399,7 +1399,8 @@ struct ActiveSfx { u32 priority; u8 soundIndex; }; -#define AUDIO_MK_CMD(b0,b1,b2,b3) ((((b0) & 0xFF) << 0x18) | (((b1) & 0xFF) << 0x10) | (((b2) & 0xFF) << 0x8) | (((b3) & 0xFF) << 0)) +#define AUDIO_MK_CMD(b0, b1, b2, b3) \ + ((((b0) & 0xFF) << 0x18) | (((b1) & 0xFF) << 0x10) | (((b2) & 0xFF) << 0x8) | (((b3) & 0xFF) << 0)) void func_800C4888(u8 bankId) { u8 j; u8 numChannels; @@ -1425,7 +1426,8 @@ void func_800C4888(u8 bankId) { soundIndex = sSoundBanks[bankId][0].next; k = 0; while (soundIndex != 0xFF) { - if ((sSoundBanks[bankId][soundIndex].soundStatus == 1) && ((sSoundBanks[bankId][soundIndex].soundBits & 0x08000000) == 0x08000000)) { + if ((sSoundBanks[bankId][soundIndex].soundStatus == 1) && + ((sSoundBanks[bankId][soundIndex].soundBits & 0x08000000) == 0x08000000)) { sSoundBanks[bankId][soundIndex].freshness -= 1; } @@ -1437,8 +1439,7 @@ void func_800C4888(u8 bankId) { if (&D_800EA1C8 == entry[0].unk00) { entry->distance = 0.0f; } else { - entry->distance = - (*entry->unk00[0] * *entry->unk00[0]) + (*entry->unk08 * *entry->unk08); + entry->distance = (*entry->unk00[0] * *entry->unk00[0]) + (*entry->unk08 * *entry->unk08); } requestedPriority = (((u32) (entry->soundBits & 0xFF00)) >> 8); if (entry->soundBits & 0x100000) { @@ -1499,7 +1500,7 @@ void func_800C4888(u8 bankId) { for (i = 0; i < numChannels; i++) { needNewSfx = false; - activeSfx = (struct ActiveSfx*)&D_80192AB8[bankId][i]; + activeSfx = (struct ActiveSfx*) &D_80192AB8[bankId][i]; if (activeSfx->soundIndex == 0xFF) { needNewSfx = true; @@ -1531,7 +1532,7 @@ void func_800C4888(u8 bankId) { chosenEntryIndex = chosenSfx[j].soundIndex; if ((chosenEntryIndex != 0xFF) && (sSoundBanks[bankId][chosenEntryIndex].soundStatus != 3)) { for (k = 0; k < numChannels; k++) { - if (chosenEntryIndex == ((struct ActiveSfx*)(D_80192AB8[bankId]))[k].soundIndex) { + if (chosenEntryIndex == ((struct ActiveSfx*) (D_80192AB8[bankId]))[k].soundIndex) { needNewSfx = false; k = numChannels; } @@ -1951,7 +1952,7 @@ void func_800C6108(u8 playerId) { D_800E9ED4[playerId] = D_800E9EE4[playerId] * 0.25f; D_800E9F7C[playerId].unk_0C = D_800E9EC4[playerId] + D_800E9ED4[playerId] + D_800E9F34[playerId]; } else { - D_800E9F7C[playerId].unk_0C = D_800E9EB4[playerId] + D_800E9F34[playerId]; + D_800E9F7C[playerId].unk_0C = D_800E9EB4[playerId] + D_800E9F34[playerId]; } #ifdef VERSION_EU if (D_800E9F7C[playerId].unk_0C < 0.0f) { @@ -2958,8 +2959,8 @@ void func_800C90F4(u8 playerId, u32 soundBits) { } void func_800C9250(u8 playerIndex) { - func_800C90F4(playerIndex, - (gPlayers[playerIndex].characterId * 0x10) + (gAudioRandom & 1) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x01)); + func_800C90F4(playerIndex, (gPlayers[playerIndex].characterId * 0x10) + (gAudioRandom & 1) + + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x01)); } void func_800C92CC(u8 playerId, u32 soundBits) { @@ -3378,7 +3379,8 @@ void func_800CA730(u8 playerIndex) { if (D_800EA0EC[playerIndex] == 0) { if ((D_800EA108 == 0) && (D_800EA10C[playerIndex] != 0)) { play_sound(gPlayers[playerIndex].characterId * 0x10 + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08), - &D_800E9F7C[playerIndex].pos, playerIndex, &D_800EA1D4, &D_800EA1D4, (s8*) &D_800E9F7C[playerIndex].unk_14); + &D_800E9F7C[playerIndex].pos, playerIndex, &D_800EA1D4, &D_800EA1D4, + (s8*) &D_800E9F7C[playerIndex].unk_14); if (D_800EA10C[playerIndex] != 0) { if ((s32) D_800EA1C0 >= 2) { func_800C9018(playerIndex, SOUND_ARG_LOAD(0x01, 0x00, 0xFF, 0x2C)); @@ -3420,8 +3422,8 @@ void func_800CA984(u8 playerIndex) { if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { for (i = 0; i < D_800EA1C0 + 1; i++) { - temp_v0_2 = - func_800C1C88(playerIndex, gPlayers[playerIndex].pos, D_800EA1C8, &gPlayers[playerIndex].unk_098, (u8) i, SOUND_ITEM_STAR); + temp_v0_2 = func_800C1C88(playerIndex, gPlayers[playerIndex].pos, D_800EA1C8, + &gPlayers[playerIndex].unk_098, (u8) i, SOUND_ITEM_STAR); if (temp_v0_2) { play_sound(SOUND_ITEM_STAR, &temp_v0_2->unk18, i, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); } @@ -3499,8 +3501,8 @@ void func_800CADD0(u8 playerIndex, f32 arg1) { arg1 = 0.0f; } D_800EA110[playerIndex] = arg1; - play_sound(0x1900A209U, &D_800E9F7C[playerIndex].pos, playerIndex, &D_800EA1D4, &D_800EA110[playerIndex], - (s8*) &D_800E9F7C[playerIndex].unk_14); + play_sound(0x1900A209U, &D_800E9F7C[playerIndex].pos, playerIndex, &D_800EA1D4, + &D_800EA110[playerIndex], (s8*) &D_800E9F7C[playerIndex].unk_14); break; default: break; @@ -3553,7 +3555,8 @@ void func_800CB064(u8 playerIndex) { if ((u8) D_800EA168 == 0) { func_800C36C4(0, 1U, 0x7FU, 0x19); } - func_800C90F4(playerIndex, gPlayers[playerIndex].characterId * 0x10 + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08)); + func_800C90F4(playerIndex, + gPlayers[playerIndex].characterId * 0x10 + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x08)); func_800C9018(playerIndex, SOUND_ARG_LOAD(0x01, 0x00, 0xFA, 0x4C)); D_800EA170[playerIndex] = 0; } diff --git a/src/audio/load.h b/src/audio/load.h index 4e19eabe8..b815287f7 100644 --- a/src/audio/load.h +++ b/src/audio/load.h @@ -9,7 +9,7 @@ #define PRELOAD_BANKS 2 #define PRELOAD_SEQUENCE 1 -#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((uintptr_t) (ptr) != (uintptr_t) & gSequenceChannelNone) +#define IS_SEQUENCE_CHANNEL_VALID(ptr) ((uintptr_t) (ptr) != (uintptr_t) &gSequenceChannelNone) struct SharedDma { /*0x0*/ u8* buffer; // target, points to pre-allocated buffer diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 71ee6463c..0f48812e8 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -2746,26 +2746,26 @@ void func_8005D1F4(s32 arg0) { // Appears to load GP Mode race staging balloons and kart shadows. void func_8005D290(void) { D_8018D488 = dma_textures(gTexture69C80C, 0x400, 0x400); - D_8018D474 = dma_textures(gTextureKartShadow, 0x1000, 0x1000); + gLoadedTextureKartShadow = dma_textures(gTextureKartShadow, 0x1000, 0x1000); D_8018D420 = dma_textures(gTexture69B03C, 0x100, 0x100); D_8018D424 = dma_textures(gTexture69B140, 0x400, 0x400); D_8018D478 = dma_textures(gTexture69C1E8, 0x200, 0x200); D_8018D480 = dma_textures(gTextureSpeechBubble, 0x400, 0x400); D_8018D484 = dma_textures(gTextureMusicNote, 0x400, 0x400); D_8018D48C = dma_textures(gTextureSmokePuff, 0x400, 0x400); - D_8018D494 = dma_textures(gTexture69C4E4, 0x400, 0x400); + gLoadedGroundDust = dma_textures(gGroundDust, 0x400, 0x400); D_8018D490 = D_8018D48C; - D_8018D498 = dma_textures(gTexture69B378, 0x1000, 0x1000); + gLoadedGrassParticle = dma_textures(gGrassParticle, 0x1000, 0x1000); D_8018D4BC = dma_textures(gTextureBalloon1, 0x800, 0x800); D_8018D4C0 = dma_textures(gTextureBalloon2, 0x800, 0x800); D_8018D49C = dma_textures(gTexture69C9C4, 0x200, 0x200); D_8018D4A0 = dma_textures(gTextureBoingExclamation, 0x800, 0x800); - D_8018D4A4 = dma_textures(gTextureOnomatopoeiaPoomp1, 0x800, 0x800); - D_8018D4A8 = dma_textures(gTextureOnomatopoeiaPoomp2, 0x800, 0x800); - D_8018D4AC = dma_textures(gTextureOnomatopoeiaWhrrrr1, 0x800, 0x800); - D_8018D4B0 = dma_textures(gTextureOnomatopoeiaWhrrrr2, 0x800, 0x800); - D_8018D4B4 = dma_textures(gTextureOnomatopoeiaCrash1, 0x800, 0x800); - D_8018D4B8 = dma_textures(gTextureOnomatopoeiaCrash2, 0x800, 0x800); + gTextureLoadedOnomatopoeiaPoomp1 = dma_textures(gTextureOnomatopoeiaPoomp1, 0x800, 0x800); + gTextureLoadedOnomatopoeiaPoomp2 = dma_textures(gTextureOnomatopoeiaPoomp2, 0x800, 0x800); + gTextureLoadedOnomatopoeiaWhrrrr1 = dma_textures(gTextureOnomatopoeiaWhrrrr1, 0x800, 0x800); + gTextureLoadedOnomatopoeiaWhrrrr2 = dma_textures(gTextureOnomatopoeiaWhrrrr2, 0x800, 0x800); + gTextureLoadedOnomatopoeiaCrash1 = dma_textures(gTextureOnomatopoeiaCrash1, 0x800, 0x800); + gTextureLoadedOnomatopoeiaCrash2 = dma_textures(gTextureOnomatopoeiaCrash2, 0x800, 0x800); D_8018D438 = dma_textures(gTexture69CB84, 0x800, 0x800); D_8018D43C = dma_textures(gTexture69CCEC, 0x800, 0x800); D_8018D440 = dma_textures(gTexture69CEB8, 0x800, 0x800); @@ -2781,113 +2781,113 @@ void func_8005D290(void) { D_8018D468 = dma_textures(gTexture69EC54, 0x800, 0x800); D_8018D46C = dma_textures(gTexture69EE38, 0x800, 0x800); D_8018D470 = dma_textures(gTexture69EFE0, 0x800, 0x800); - D_8018D4C4 = dma_textures(gTextureLightningBolt0, 0x800, 0x800); - D_8018D4C8 = dma_textures(gTextureLightningBolt1, 0x800, 0x800); + gTextureLoadedLightningBolt0 = dma_textures(gTextureLightningBolt0, 0x800, 0x800); + gTextureLoadedLightningBolt1 = dma_textures(gTextureLightningBolt1, 0x800, 0x800); } -void func_8005D6C0(Player* player) { +void reset_player_particle_pool(Player* player) { s32 temp_v0; for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[temp_v0].IsAlive = 0; - player->particles[temp_v0].timer = 0; - player->particles[temp_v0].type = 0; + player->particlePool0[temp_v0].isAlive = 0; + player->particlePool0[temp_v0].timer = 0; + player->particlePool0[temp_v0].type = NO_PARTICLE; } for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[30 + temp_v0].IsAlive = 0; - player->particles[30 + temp_v0].timer = 0; - player->particles[30 + temp_v0].type = 0; + player->particlePool3[temp_v0].isAlive = 0; + player->particlePool3[temp_v0].timer = 0; + player->particlePool3[temp_v0].type = NO_PARTICLE; } for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[10 + temp_v0].IsAlive = 0; - player->particles[10 + temp_v0].timer = 0; - player->particles[10 + temp_v0].type = 0; + player->particlePool1[temp_v0].isAlive = 0; + player->particlePool1[temp_v0].timer = 0; + player->particlePool1[temp_v0].type = NO_PARTICLE; } for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[20 + temp_v0].IsAlive = 0; - player->particles[20 + temp_v0].timer = 0; - player->particles[20 + temp_v0].type = 0; + player->particlePool2[temp_v0].isAlive = 0; + player->particlePool2[temp_v0].timer = 0; + player->particlePool2[temp_v0].type = NO_PARTICLE; } } -void set_particle_position_and_rotation(Player* player, Particle* particle, f32 x, f32 y, f32 z, s8 surfaceType, s8 arg6) { - particle->pos[2] = z; - particle->pos[0] = x; - particle->pos[1] = y; - particle->rotation = -player->rotation[1]; - particle->unk_014 = surfaceType; - particle->unk_010 = arg6; +void set_particle_position_and_rotation(Player* player, Particle* arg1, f32 x, f32 y, f32 z, s8 surfaceType, s8 arg6) { + arg1->pos[2] = z; + arg1->pos[0] = x; + arg1->pos[1] = y; + arg1->rotation = -player->rotation[1]; + arg1->surfaceType = surfaceType; + arg1->unk_010 = arg6; } -s32 init_new_particle_player(Particle* particle, s8 arg1, f32 scale) { - particle->IsAlive = 1; - particle->type = arg1; - particle->timer = 0; - particle->scale = scale; +s32 init_particle_player(Particle* arg0, s8 type, f32 arg2) { + arg0->isAlive = true; + arg0->type = type; + arg0->timer = 0; + arg0->scale = arg2; } -s32 set_particle_colour(Particle* particle, s32 arg1, s16 arg2) { - particle->red = (u8) (arg1 >> 16); - particle->green = (u8) (arg1 >> 8); - particle->blue = (u8) arg1; - particle->alpha = arg2; +s32 set_particle_colour(Particle* arg0, s32 color, s16 alpha) { + arg0->red = (u8) (color >> 16); + arg0->green = (u8) (color >> 8); + arg0->blue = (u8) color; + arg0->alpha = alpha; } -s32 set_particle_colour_randomly_varried(Particle* particle, s32 arg1, s16 arg2) { - s32 color_variance; - color_variance = random_int(0x30); +s32 func_8005D82C(Particle* arg0, s32 arg1, s16 alpha) { + s32 temp_v0; + temp_v0 = random_int(48); - particle->red = (u8) ((u8) (arg1 >> 0x10) - color_variance); - particle->green = (u8) ((u8) (arg1 >> 8) - color_variance); - particle->blue = (u8) ((u8) arg1 - color_variance); - particle->alpha = arg2; + arg0->red = (u8) ((u8) (arg1 >> 16) - temp_v0); + arg0->green = (u8) ((u8) (arg1 >> 8) - temp_v0); + arg0->blue = (u8) ((u8) arg1 - temp_v0); + arg0->alpha = alpha; } void set_drift_particles(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { s32 temp_lo; if (player->unk_0C0 >= 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], player->tyres[BACK_LEFT].pos[0], + set_particle_position_and_rotation(player, &player->particlePool1[arg1], player->tyres[BACK_LEFT].pos[0], player->tyres[BACK_LEFT].baseHeight + 2.0f, player->tyres[BACK_LEFT].pos[2], player->tyres[BACK_LEFT].surfaceType, 1); } else { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], player->tyres[BACK_RIGHT].pos[0], + set_particle_position_and_rotation(player, &player->particlePool1[arg1], player->tyres[BACK_RIGHT].pos[0], player->tyres[BACK_RIGHT].baseHeight + 2.0f, player->tyres[BACK_RIGHT].pos[2], player->tyres[BACK_RIGHT].surfaceType, 0); } temp_lo = player->unk_0C0 / 182; if ((temp_lo >= 7) || (temp_lo < -6)) { - init_new_particle_player(&player->particles[10 + arg1], 1, 0.35f); + init_particle_player(&player->particlePool1[arg1], DRIFT_PARTICLE, 0.35f); if (player->driftState == 0) { - set_particle_colour(&player->particles[10 + arg1], 0xFFFFFF, 0x70); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x70); } if (player->driftState == 1) { - set_particle_colour(&player->particles[10 + arg1], 0xFFFF00, 0x70); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0x00), 0x70); } if (player->driftState >= 2) { - set_particle_colour(&player->particles[10 + arg1], 0xFF9600, 0x70); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0x96, 0x00), 0x70); } if (player->driftState >= 2) { // Why not put this in previous if statement? - player->particles[10 + arg1].unk_040 = 2; + player->particlePool1[arg1].unk_040 = 2; return; } - player->particles[10 + arg1].unk_040 = player->driftState; + player->particlePool1[arg1].unk_040 = player->driftState; } } void check_drift_particles_setup_valid(Player* player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) { - if ((arg1 == 0) && ((player->particles[10 + arg2].timer >= 3) || (player->particles[10 + arg2].IsAlive == 0))) { + if ((arg1 == 0) && ((player->particlePool1[arg2].timer >= 3) || (player->particlePool1[arg2].isAlive == 0))) { set_drift_particles(player, arg1, arg2, arg3, arg4); - } else if (player->particles[10 + arg2].timer >= 3) { + } else if (player->particlePool1[arg2].timer >= 3) { set_drift_particles(player, arg1, arg2, arg3, arg4); } } @@ -2908,19 +2908,19 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN f32 tyre_x; f32 tyre_y; f32 tyre_z; - s32 temp_v0; + s32 randval; static s32 test = 8; surfaceType = 0x000000FF; - temp_v0 = random_int(test); - if ((temp_v0 == 0) || (temp_v0 == 4)) { + randval = random_int(test); + if ((randval == 0) || (randval == 4)) { tyre_x = player->tyres[BACK_LEFT].pos[0]; tyre_y = player->tyres[BACK_LEFT].baseHeight + 2.0f; tyre_z = player->tyres[BACK_LEFT].pos[2]; var_t3 = 1; surfaceType = player->tyres[BACK_LEFT].surfaceType; } - if ((temp_v0 == 2) || (temp_v0 == 6)) { + if ((randval == 2) || (randval == 6)) { tyre_x = player->tyres[BACK_RIGHT].pos[0]; tyre_y = player->tyres[BACK_RIGHT].baseHeight + 2.0f; tyre_z = player->tyres[BACK_RIGHT].pos[2]; @@ -2930,194 +2930,178 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN switch (surfaceType) { case DIRT: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 10, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 10, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 11, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 11, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 10, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 10, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 11, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 11, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case GRASS: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 3, 1.0f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GRASS_PARTICLE, 1.0f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 3, 1.0f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GRASS_PARTICLE, 1.0f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; } - player->particles[10 + arg1].pos[1] -= 1.5; + player->particlePool1[arg1].pos[1] -= 1.5; break; case SAND_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case WET_SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case DIRT_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - set_particle_colour_randomly_varried(&player->particles[10 + arg1], 0x00FFA54F, 0x00AF); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005D82C(&player->particlePool1[arg1], 0x00FFA54F, 0x00AF); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SNOW: case SNOW_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case ASPHALT: case STONE: case BRIDGE: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((((player->speed / 18.0f) * 216.0f) >= 30.0f) && ((((player->unk_0C0 / 182) > 0x14) || ((player->unk_0C0 / 182) < (-0x14))))) || ((player->previousSpeed - player->speed) >= 0.04)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); } - } else if ((player->particles[10 + arg2].timer > 0) && + } else if ((player->particlePool1[arg2].timer > 0) && (((((player->speed / 18.0f) * 216.0f) >= 30.0f) && (((player->unk_0C0 / 182) >= 0x15) || ((player->unk_0C0 / 182) < -0x14))) || ((player->previousSpeed - player->speed) >= 0.04))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 2, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], tyre_x, tyre_y, tyre_z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], GROUND_PARTICLE, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); } break; default: @@ -3127,45 +3111,45 @@ void setup_tyre_particles(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UN void func_8005EA94(Player* player, s16 arg1, s32 arg2, s8 arg3, UNUSED s8 arg4) { s32 temp_v0; - s32 var_t0; + s32 surfaceType; s32 var_t1; - f32 var_f2; - f32 var_f12; - f32 var_f14; + f32 x; + f32 y; + f32 z; static s32 test = 10; - var_t0 = 0x000000FF; + surfaceType = 0x000000FF; temp_v0 = random_int(test); if ((temp_v0 == 0) || (temp_v0 == 8)) { if ((D_801652A0[arg3] - player->tyres[BACK_LEFT].baseHeight) >= 3.5) { - var_f2 = player->tyres[BACK_LEFT].pos[0]; - var_f12 = player->tyres[BACK_LEFT].baseHeight + 2.0f; - var_f14 = player->tyres[BACK_LEFT].pos[2]; + x = player->tyres[BACK_LEFT].pos[0]; + y = player->tyres[BACK_LEFT].baseHeight + 2.0f; + z = player->tyres[BACK_LEFT].pos[2]; var_t1 = 1; - var_t0 = 0; + surfaceType = 0; } } if ((temp_v0 == 2) || (temp_v0 == 6)) { if ((D_801652A0[arg3] - player->tyres[BACK_RIGHT].baseHeight) >= 3.5) { - var_f2 = player->tyres[BACK_RIGHT].pos[0]; - var_f12 = player->tyres[BACK_RIGHT].baseHeight + 2.0f; - var_f14 = player->tyres[BACK_RIGHT].pos[2]; + x = player->tyres[BACK_RIGHT].pos[0]; + y = player->tyres[BACK_RIGHT].baseHeight + 2.0f; + z = player->tyres[BACK_RIGHT].pos[2]; var_t1 = 0; - var_t0 = 0; + surfaceType = 0; } } if (1) {} - if (var_t0 == 0) { - if ((arg1 == 0) && ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { + if (surfaceType == 0) { + if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { if (((player->speed / 18.0f) * 216.0f) >= 10.0f) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f2, var_f12, var_f14, var_t0, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 9, 0.8f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00AF); + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 9, 0.8f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00AF); } - } else if ((player->particles[10 + arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f2, var_f12, var_f14, var_t0, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 9, 0.8f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00AF); + } else if ((player->particlePool1[arg2].timer > 0) && (((player->speed / 18.0f) * 216.0f) >= 10.0f)) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 9, 0.8f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00AF); } } } @@ -3174,194 +3158,181 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 s32 temp_v0; s32 surfaceType; s32 var_t3; - f32 var_f0; - f32 var_f2; - f32 var_f12; + f32 x; + f32 y; + f32 z; static s32 test = 8; surfaceType = 0x000000FF; temp_v0 = random_int(test); if ((temp_v0 == 2) || (temp_v0 == 4)) { - var_f0 = player->tyres[BACK_LEFT].pos[0]; - var_f2 = player->tyres[BACK_LEFT].baseHeight + 2.0f; - var_f12 = player->tyres[BACK_LEFT].pos[2]; + x = player->tyres[BACK_LEFT].pos[0]; + y = player->tyres[BACK_LEFT].baseHeight + 2.0f; + z = player->tyres[BACK_LEFT].pos[2]; var_t3 = 1; surfaceType = player->tyres[BACK_LEFT].surfaceType; } if ((temp_v0 == 0) || (temp_v0 == 6)) { - var_f0 = player->tyres[BACK_RIGHT].pos[0]; - var_f2 = player->tyres[BACK_RIGHT].baseHeight + 2.0f; - var_f12 = player->tyres[BACK_RIGHT].pos[2]; + x = player->tyres[BACK_RIGHT].pos[0]; + y = player->tyres[BACK_RIGHT].baseHeight + 2.0f; + z = player->tyres[BACK_RIGHT].pos[2]; var_t3 = 0; surfaceType = player->tyres[BACK_RIGHT].surfaceType; } + switch (surfaceType) { case DIRT: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 10, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 10, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 11, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 11, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 0x000A, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000A, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 0x000B, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000B, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case GRASS: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.1f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.1f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.1f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.1f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; } - player->particles[10 + arg1].pos[1] -= 1.5; + player->particlePool1[arg1].pos[1] -= 1.5; break; case SAND_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case WET_SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case DIRT_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SNOW: case SNOW_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case ASPHALT: case STONE: case BRIDGE: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, (s8) surfaceType, - (s8) var_t3); - init_new_particle_player(&player->particles[10 + arg1], 5, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, (s8) surfaceType, (s8) var_t3); + init_particle_player(&player->particlePool1[arg1], 5, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); } break; default: @@ -3372,176 +3343,176 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 void func_8005F90C(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { s32 var_t1; u8 surfaceType; - f32 var_f0; - f32 var_f2; - f32 var_f12; + f32 x; + f32 y; + f32 z; var_t1 = 0; if ((player->effects & BANANA_SPINOUT_EFFECT) == BANANA_SPINOUT_EFFECT) { - var_f0 = player->pos[0]; - var_f2 = player->pos[1] - player->boundingBoxSize; - var_f12 = player->pos[2]; + x = player->pos[0]; + y = player->pos[1] - player->boundingBoxSize; + z = player->pos[2]; var_t1 = 1; surfaceType = player->tyres[BACK_LEFT].surfaceType & 0xFF; } else { - var_f0 = player->pos[0]; - var_f2 = player->pos[1] - player->boundingBoxSize; - var_f12 = player->pos[2]; + x = player->pos[0]; + y = player->pos[1] - player->boundingBoxSize; + z = player->pos[2]; surfaceType = player->tyres[BACK_RIGHT].surfaceType & 0xFF; } switch (surfaceType) { case DIRT: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 0x000A, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000A, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 0x000B, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000B, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[10 + arg1], 1, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 1, 0, 0x0080); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[10 + arg1], 7, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 7, 0, 0x0080); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[10 + arg1], 8, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 8, 0, 0x0080); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[10 + arg1], 9, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 9, 0, 0x0080); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[10 + arg1], 0x000A, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000A, 0, 0x0080); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[10 + arg1], 0x000B, 0, 0x0080); + func_8005DAD8(&player->particlePool1[arg1], 0x000B, 0, 0x0080); } - player->particles[10 + arg1].green = random_int(0x0010U); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case GRASS: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.1f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.1f); - set_particle_colour(&player->particles[10 + arg1], 0x00FFFFFF, 0x00FF); - player->particles[10 + arg1].red -= arg1 * 8; - player->particles[10 + arg1].green -= arg1 * 8; - player->particles[10 + arg1].blue -= arg1 * 8; + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.1f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.1f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].red -= arg1 * 8; + player->particlePool1[arg1].green -= arg1 * 8; + player->particlePool1[arg1].blue -= arg1 * 8; } - player->particles[10 + arg1].pos[1] -= 1.5; + player->particlePool1[arg1].pos[1] -= 1.5; break; case SAND_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 2, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 2, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 3, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 3, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case WET_SAND: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 4, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 4, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case DIRT_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 5, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 5, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case SNOW: case SNOW_OFFROAD: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 6, 1, 0x00A8); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 6, 1, 0x00A8); + player->particlePool1[arg1].green = random_int(0x0010U); } break; case ASPHALT: case STONE: case BRIDGE: if ((arg1 == 0) && - ((player->particles[10 + arg2].timer > 0) || (player->particles[10 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); - } else if (player->particles[10 + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[10 + arg1], var_f0, var_f2, var_f12, surfaceType, var_t1); - init_new_particle_player(&player->particles[10 + arg1], 4, 0.46f); - func_8005DAD8(&player->particles[10 + arg1], 0, 0, 0x0080); - player->particles[10 + arg1].green = random_int(0x0010U); + ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], x, y, z, surfaceType, var_t1); + init_particle_player(&player->particlePool1[arg1], 4, 0.46f); + func_8005DAD8(&player->particlePool1[arg1], 0, 0, 0x0080); + player->particlePool1[arg1].green = random_int(0x0010U); } break; default: @@ -3553,9 +3524,9 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 UNUSED s32 thing1; s16 thing2; UNUSED s32 thing3; - f32 sp50; - f32 sp4C; - f32 sp48; + f32 x; + f32 y; + f32 z; f32 var_f0; s32 var_v0; s32 temp_v0; @@ -3568,53 +3539,53 @@ void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 } temp_v0 = random_int(var_v0); if ((temp_v0 == 1) || (temp_v0 == 2) || (temp_v0 == 3)) { - if ((arg1 == 0) && ((player->particles[arg2].timer > 0) || (player->particles[arg2].IsAlive == 0))) { - sp4C = player->pos[1] - 2.5; - sp48 = player->pos[2]; - sp50 = player->pos[0]; - set_particle_position_and_rotation(player, &player->particles[arg1], sp50, sp4C, sp48, 0, 0); - init_new_particle_player(&player->particles[arg1], 1, 0.5f); - } else if (player->particles[arg2].timer > 0) { - sp4C = player->pos[1] - 2.5; - sp48 = player->pos[2]; - sp50 = player->pos[0]; - set_particle_position_and_rotation(player, &player->particles[arg1], sp50, sp4C, sp48, 0, 0); - init_new_particle_player(&player->particles[arg1], 1, 0.5f); + if ((arg1 == 0) && ((player->particlePool0[arg2].timer > 0) || (player->particlePool0[arg2].isAlive == 0))) { + y = player->pos[1] - 2.5; + z = player->pos[2]; + x = player->pos[0]; + set_particle_position_and_rotation(player, &player->particlePool0[arg1], x, y, z, 0, 0); + init_particle_player(&player->particlePool0[arg1], 1, 0.5f); + } else if (player->particlePool0[arg2].timer > 0) { + y = player->pos[1] - 2.5; + z = player->pos[2]; + x = player->pos[0]; + set_particle_position_and_rotation(player, &player->particlePool0[arg1], x, y, z, 0, 0); + init_particle_player(&player->particlePool0[arg1], 1, 0.5f); } } - player->particles[arg1].unk_024 = 0.0f; + player->particlePool0[arg1].unk_024 = 0.0f; if ((player->kartProps & THROTTLE) == THROTTLE) { - player->particles[arg1].unk_040 = 0; + player->particlePool0[arg1].unk_040 = 0; if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) { - set_particle_colour(&player->particles[arg1], 0x00FFFF00, 0x0080); - player->particles[arg1].red = 1; + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0x00), 0x0080); + player->particlePool0[arg1].red = 1; } else { - set_particle_colour(&player->particles[arg1], 0x00FFFFFF, 0x0070); - player->particles[arg1].red = 0; + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0070); + player->particlePool0[arg1].red = 0; } } else { - player->particles[arg1].unk_040 = 1; + player->particlePool0[arg1].unk_040 = 1; if ((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) { - set_particle_colour(&player->particles[arg1], 0x00FFFF00, 0x0080); - player->particles[arg1].red = 1; + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0x00), 0x0080); + player->particlePool0[arg1].red = 1; } else { - set_particle_colour(&player->particles[arg1], 0x00FFFFFF, 0x0070); - player->particles[arg1].red = 0; + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0070); + player->particlePool0[arg1].red = 0; } } - thing2 = (player->particles[arg1].rotation - (player->unk_0C0 / 2)); - if (player->particles[arg1].unk_040 == 0) { + thing2 = (player->particlePool0[arg1].rotation - (player->unk_0C0 / 2)); + if (player->particlePool0[arg1].unk_040 == 0) { var_f0 = -((player->unk_098 / 3000.0f) + 0.1); } else { var_f0 = -((player->unk_098 / 5000.0f) + 0.1); } - func_80062B18(&sp50, &sp4C, &sp48, 0.0f, 4.5f, (player->particles[arg1].timer * var_f0) + -5.5, -thing2, + func_80062B18(&x, &y, &z, 0.0f, 4.5f, (player->particlePool0[arg1].timer * var_f0) + -5.5, -thing2, -player->unk_206 * 2); - player->particles[arg1].pos[0] = player->pos[0] + sp50; - sp4C = sp4C + (player->pos[1] - player->boundingBoxSize); - player->particles[arg1].pos[2] = player->pos[2] + sp48; - player->particles[arg1].pos[1] = player->particles[arg1].unk_024 + sp4C; - player->particles[arg1].unk_010 = 0; + player->particlePool0[arg1].pos[0] = player->pos[0] + x; + y = y + (player->pos[1] - player->boundingBoxSize); + player->particlePool0[arg1].pos[2] = player->pos[2] + z; + player->particlePool0[arg1].pos[1] = player->particlePool0[arg1].unk_024 + y; + player->particlePool0[arg1].unk_010 = 0; } void func_800608E0(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 arg4) { @@ -3632,26 +3603,26 @@ void func_800608E0(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 var_f0 = 2.5f; sp4C = (f32) ((f64) (D_801652A0[arg3] - player->pos[1]) + 0.1); } - set_particle_position_and_rotation(player, &player->particles[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[arg1], 3, var_f0); + set_particle_position_and_rotation(player, &player->particlePool0[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool0[arg1], 3, var_f0); if ((gCurrentCourseId == COURSE_BOWSER_CASTLE) || (gCurrentCourseId == COURSE_BIG_DONUT)) { - set_particle_colour(&player->particles[arg1], 0, 0x00AF); + set_particle_colour(&player->particlePool0[arg1], RGB32(0x0, 0x0, 0x0), 0x00AF); } else { - set_particle_colour(&player->particles[arg1], 0x00FFFFFF, 0x00CF); + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00CF); } func_80062B18(&sp50, &sp4C, &sp48, 0.0f, sp4C, - ((-player->particles[arg1].timer * (player->speed / 18.0f) * 216.0f) / 10.0f) + -4.0f, - -player->particles[arg1].rotation, -player->unk_206 * 2); - player->particles[arg1].pos[0] = player->pos[0] + sp50; - player->particles[arg1].pos[2] = player->pos[2] + sp48; - player->particles[arg1].pos[1] = player->pos[1] + sp4C; + ((-player->particlePool0[arg1].timer * (player->speed / 18.0f) * 216.0f) / 10.0f) + -4.0f, + -player->particlePool0[arg1].rotation, -player->unk_206 * 2); + player->particlePool0[arg1].pos[0] = player->pos[0] + sp50; + player->particlePool0[arg1].pos[2] = player->pos[2] + sp48; + player->particlePool0[arg1].pos[1] = player->pos[1] + sp4C; } void func_80060B14(Player* player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) { if ((gCurrentCourseId != COURSE_SKYSCRAPER) && (gCurrentCourseId != COURSE_RAINBOW_ROAD)) { - if ((arg1 == 0) && ((player->particles[arg2].timer > 0) || (player->particles[arg2].IsAlive == 0))) { + if ((arg1 == 0) && ((player->particlePool0[arg2].timer > 0) || (player->particlePool0[arg2].isAlive == 0))) { func_800608E0(player, arg1, arg2, arg3, arg4); - } else if (player->particles[arg2].timer > 0) { + } else if (player->particlePool0[arg2].timer > 0) { func_800608E0(player, arg1, arg2, arg3, arg4); } } @@ -3677,70 +3648,70 @@ void func_80060BCC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 if (player != gPlayerOne) { return; } - if ((arg1 == 0) && ((player->particles[arg2 + 10].timer > 0) || (player->particles[arg2 + 10].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[arg1 + 10], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[arg1 + 10], 0x0B, 0.4f); - set_particle_colour(&player->particles[arg1 + 10], 0x00FFFFFF, 0x00FF); - player->particles[arg1 + 10].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -1.8); - player->particles[arg1 + 10].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -1.8); - player->particles[arg1 + 10].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; - player->particles[arg1 + 10].unk_018 = sp44 + 1.0f; - player->particles[arg1 + 10].scale = (sp48 + 2.0f) / 10.0f; - } else if (player->particles[arg2 + 10].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[arg1 + 10], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[arg1 + 10], 0x0B, 0.4f); - set_particle_colour(&player->particles[arg1 + 10], 0x00FFFFFF, 0x00FF); - player->particles[arg1 + 10].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -1.8); - player->particles[arg1 + 10].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -1.8); - player->particles[arg1 + 10].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; - player->particles[arg1 + 10].unk_018 = sp44 + 1.0f; - player->particles[arg1 + 10].scale = (sp48 + 2.0f) / 10.0f; + if ((arg1 == 0) && ((player->particlePool1[arg2].timer > 0) || (player->particlePool1[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool1[arg1], 0x0B, 0.4f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -1.8); + player->particlePool1[arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -1.8); + player->particlePool1[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; + player->particlePool1[arg1].unk_018 = sp44 + 1.0f; + player->particlePool1[arg1].scale = (sp48 + 2.0f) / 10.0f; + } else if (player->particlePool1[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool1[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool1[arg1], 0x0B, 0.4f); + set_particle_colour(&player->particlePool1[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool1[arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -1.8); + player->particlePool1[arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -1.8); + player->particlePool1[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; + player->particlePool1[arg1].unk_018 = sp44 + 1.0f; + player->particlePool1[arg1].scale = (sp48 + 2.0f) / 10.0f; } } void func_80060F50(Player* player, s16 arg1, UNUSED s32 arg2, s8 arg3, UNUSED s8 arg4) { - set_particle_position_and_rotation(player, &player->particles[arg1], 0.0f, 0.0f, 0.0f, 0, 0); - init_new_particle_player(&player->particles[arg1], 5, 4.0f); + set_particle_position_and_rotation(player, &player->particlePool0[arg1], 0.0f, 0.0f, 0.0f, 0, 0); + init_particle_player(&player->particlePool0[arg1], 5, 4.0f); if ((gCurrentCourseId == COURSE_BOWSER_CASTLE) || (gCurrentCourseId == COURSE_BIG_DONUT)) { - set_particle_colour(&player->particles[arg1], 0xFF0000, 0xFF); + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0x00, 0x00), 0xFF); } else { - set_particle_colour(&player->particles[arg1], 0xFFFFFF, 0xFF); + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0xFF); } - player->particles[arg1].pos[2] = player->pos[2] + (coss(player->particles[arg1].rotation) * -5.8); - player->particles[arg1].pos[0] = player->pos[0] + (sins(player->particles[arg1].rotation) * -5.8); - player->particles[arg1].pos[1] = D_801652A0[arg3]; + player->particlePool0[arg1].pos[2] = player->pos[2] + (coss(player->particlePool0[arg1].rotation) * -5.8); + player->particlePool0[arg1].pos[0] = player->pos[0] + (sins(player->particlePool0[arg1].rotation) * -5.8); + player->particlePool0[arg1].pos[1] = D_801652A0[arg3]; player->oobProps &= ~UNDER_OOB_LEVEL; } void func_80061094(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { if (arg1 == 0) { - set_particle_position_and_rotation(player, &player->particles[arg1], 0.0f, 0.0f, 0.0f, 0, 0); - init_new_particle_player(&player->particles[arg1], 6, 3.8f); - set_particle_colour(&player->particles[arg1], 0xFFFFFF, 0xFF); - player->particles[arg1].red = 0; - player->particles[arg1].green = 0; - player->particles[arg1].blue = 0; + set_particle_position_and_rotation(player, &player->particlePool0[arg1], 0.0f, 0.0f, 0.0f, 0, 0); + init_particle_player(&player->particlePool0[arg1], 6, 3.8f); + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0xFF); + player->particlePool0[arg1].red = 0; + player->particlePool0[arg1].green = 0; + player->particlePool0[arg1].blue = 0; } } void func_80061130(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { - set_particle_position_and_rotation(player, &player->particles[arg1], 0.0f, 0.0f, 0.0f, 0, 0); - init_new_particle_player(&player->particles[arg1], 7, 0.6f); - set_particle_colour(&player->particles[arg1], 0xFFFFFF, 0xD0); + set_particle_position_and_rotation(player, &player->particlePool0[arg1], 0.0f, 0.0f, 0.0f, 0, 0); + init_particle_player(&player->particlePool0[arg1], 7, 0.6f); + set_particle_colour(&player->particlePool0[arg1], RGB32(0xFF, 0xFF, 0xFF), 0xD0); - player->particles[arg1].pos[2] = player->pos[2] + (coss(player->particles[arg1].rotation) * 6.0f); - player->particles[arg1].pos[0] = player->pos[0] + (sins(player->particles[arg1].rotation) * 6.0f); - player->particles[arg1].pos[1] = player->pos[1] - 5.0f; - player->particles[arg1].unk_040 = 0; - player->particles[arg1].unk_024 = 0.0f; + player->particlePool0[arg1].pos[2] = player->pos[2] + (coss(player->particlePool0[arg1].rotation) * 6.0f); + player->particlePool0[arg1].pos[0] = player->pos[0] + (sins(player->particlePool0[arg1].rotation) * 6.0f); + player->particlePool0[arg1].pos[1] = player->pos[1] - 5.0f; + player->particlePool0[arg1].unk_040 = 0; + player->particlePool0[arg1].unk_024 = 0.0f; } void func_80061224(Player* player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) { - if ((arg1 == 0) && ((player->particles[arg2].timer > 0) || (player->particles[arg1].IsAlive == 0))) { + if ((arg1 == 0) && ((player->particlePool0[arg2].timer > 0) || (player->particlePool0[arg1].isAlive == 0))) { func_80061130(player, arg1, arg2, arg3, arg4); - } else if (player->particles[arg2].timer >= 2) { + } else if (player->particlePool0[arg2].timer >= 2) { func_80061130(player, arg1, arg2, arg3, arg4); if (arg1 == 9) { player->kartProps &= ~BECOME_INVISIBLE; @@ -3752,16 +3723,16 @@ void func_800612F8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a s32 var_s2; for (var_s2 = 0; var_s2 < 10; var_s2++) { - player->particles[0x1E + var_s2].IsAlive = 1; - player->particles[0x1E + var_s2].unk_028 = player->pos[1] + 5.0f; - player->particles[0x1E + var_s2].rotation = (0x1C70 * var_s2) - player->rotation[1]; - player->particles[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; - player->particles[0x1E + var_s2].green = 0; - player->particles[0x1E + var_s2].type = 1; - player->particles[0x1E + var_s2].timer = 0; - player->particles[0x1E + var_s2].alpha = 0x00FF; - player->particles[0x1E + var_s2].pos[2] = player->pos[2]; - player->particles[0x1E + var_s2].pos[0] = player->pos[0]; + player->particlePool3[var_s2].isAlive = 1; + player->particlePool3[var_s2].unk_028 = player->pos[1] + 5.0f; + player->particlePool3[var_s2].rotation = (0x1C70 * var_s2) - player->rotation[1]; + player->particlePool3[var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; + player->particlePool3[var_s2].green = 0; + player->particlePool3[var_s2].type = 1; + player->particlePool3[var_s2].timer = 0; + player->particlePool3[var_s2].alpha = 0x00FF; + player->particlePool3[var_s2].pos[2] = player->pos[2]; + player->particlePool3[var_s2].pos[0] = player->pos[0]; } player->unk_046 &= ~0x0008; } @@ -3770,18 +3741,18 @@ void func_80061430(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a s32 var_s2; for (var_s2 = 0; var_s2 < 7; var_s2++) { - player->particles[0x1E + var_s2].IsAlive = 1; - player->particles[0x1E + var_s2].unk_028 = player->pos[1] - 4.0f; - player->particles[0x1E + var_s2].rotation = (0x1C70 * var_s2) - player->rotation[1]; + player->particlePool3[var_s2].isAlive = 1; + player->particlePool3[var_s2].unk_028 = player->pos[1] - 4.0f; + player->particlePool3[var_s2].rotation = (0x1C70 * var_s2) - player->rotation[1]; // ??? - player->particles[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.9; - player->particles[0x1E + var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; - player->particles[0x1E + var_s2].green = 0; - player->particles[0x1E + var_s2].type = 9; - player->particles[0x1E + var_s2].timer = 0; - player->particles[0x1E + var_s2].alpha = 0x00FF; - player->particles[0x1E + var_s2].pos[2] = player->pos[2]; - player->particles[0x1E + var_s2].pos[0] = player->pos[0]; + player->particlePool3[var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.9; + player->particlePool3[var_s2].unk_024 = (random_int(0x0064U) / 100.0f) + 1.5; + player->particlePool3[var_s2].green = 0; + player->particlePool3[var_s2].type = 9; + player->particlePool3[var_s2].timer = 0; + player->particlePool3[var_s2].alpha = 0x00FF; + player->particlePool3[var_s2].pos[2] = player->pos[2]; + player->particlePool3[var_s2].pos[0] = player->pos[0]; } player->kartProps &= ~UNUSED_0x1000; } @@ -3794,20 +3765,20 @@ void func_800615AC(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UN f32 sp28[10] = { -182.0f, 182.0f, 364.0f, -364.0f, 546.0f, -546.0f, 728.0f, -728.0f, 910.0f, -910.0f }; if (random_int(3U) == 2.0f) { - player->particles[0x1E + arg1].IsAlive = 1; - player->particles[0x1E + arg1].pos[0] = player->pos[0]; - player->particles[0x1E + arg1].pos[2] = player->pos[2]; - player->particles[0x1E + arg1].rotation = -player->rotation[1] + sp28[arg1]; - player->particles[0x1E + arg1].unk_018 = random_int(1U) + 2.0f; + player->particlePool3[arg1].isAlive = 1; + player->particlePool3[arg1].pos[0] = player->pos[0]; + player->particlePool3[arg1].pos[2] = player->pos[2]; + player->particlePool3[arg1].rotation = -player->rotation[1] + sp28[arg1]; + player->particlePool3[arg1].unk_018 = random_int(1U) + 2.0f; temp_f0 = random_int(4U); temp_f0 -= test; - player->particles[0x1E + arg1].unk_014 = temp_f0; - player->particles[0x1E + arg1].pos[1] = player->pos[1] + temp_f0; - player->particles[0x1E + arg1].scale = 0.15f; - player->particles[0x1E + arg1].type = 5; - player->particles[0x1E + arg1].timer = 0; - player->particles[0x1E + arg1].alpha = 0x00FF; - player->particles[0x1E + arg1].red = 0; + player->particlePool3[arg1].surfaceType = temp_f0; + player->particlePool3[arg1].pos[1] = player->pos[1] + temp_f0; + player->particlePool3[arg1].scale = 0.15f; + player->particlePool3[arg1].type = 5; + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].alpha = 0x00FF; + player->particlePool3[arg1].red = 0; } } @@ -3823,32 +3794,32 @@ void func_80061754(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3, U temp_s1 = random_int(0x0060U); sp44 = random_int(6U); sp48 = random_int(2U); - set_particle_position_and_rotation(player, &player->particles[0x1E + arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[0x1E + arg1], 6, 1.0f); + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool3[arg1], 6, 1.0f); if ((player->effects & HIT_BY_STAR_EFFECT) || ((player->effects) & EXPLOSION_CRASH_EFFECT) || ((player->effects) & HIT_BY_GREEN_SHELL_EFFECT) || ((player->effects) & BOO_EFFECT)) { - set_particle_colour(&player->particles[0x1E + arg1], 0x00FFFFFF, 0x00A0); - player->particles[0x1E + arg1].red -= temp_s1; - player->particles[0x1E + arg1].green -= temp_s1; - player->particles[0x1E + arg1].blue -= temp_s1; + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00A0); + player->particlePool3[arg1].red -= temp_s1; + player->particlePool3[arg1].green -= temp_s1; + player->particlePool3[arg1].blue -= temp_s1; } else { - set_particle_colour(&player->particles[0x1E + arg1], 0, 0x00A0); - player->particles[0x1E + arg1].red += temp_s1; - player->particles[0x1E + arg1].green += temp_s1; - player->particles[0x1E + arg1].blue += temp_s1; + set_particle_colour(&player->particlePool3[arg1], RGB32(0x0, 0x0, 0x0), 0x00A0); + player->particlePool3[arg1].red += temp_s1; + player->particlePool3[arg1].green += temp_s1; + player->particlePool3[arg1].blue += temp_s1; } - player->particles[0x1E + arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -5.0f); - player->particles[0x1E + arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -5.0f); - player->particles[0x1E + arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; - player->particles[0x1E + arg1].unk_018 = sp44 + 1.0f; - player->particles[0x1E + arg1].scale = sp48 + 1.0f; + player->particlePool3[arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -5.0f); + player->particlePool3[arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -5.0f); + player->particlePool3[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; + player->particlePool3[arg1].unk_018 = sp44 + 1.0f; + player->particlePool3[arg1].scale = sp48 + 1.0f; } -void func_8006199C(Player* player, s16 arg1, s32 arg2, s8 playerIndex, s8 arg4) { - if ((arg1 == 0) && ((player->particles[0x1E + arg2].timer > 0) || (player->particles[0x1E + arg2].IsAlive == 0))) { - func_80061754(player, arg1, arg2, (s32) playerIndex, arg4); - } else if (player->particles[0x1E + arg2].timer > 0) { - func_80061754(player, arg1, arg2, (s32) playerIndex, arg4); +void func_8006199C(Player* player, s16 arg1, s32 arg2, s8 arg3, s8 arg4) { + if ((arg1 == 0) && ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { + func_80061754(player, arg1, arg2, (s32) arg3, arg4); + } else if (player->particlePool3[arg2].timer > 0) { + func_80061754(player, arg1, arg2, (s32) arg3, arg4); } } @@ -3863,22 +3834,22 @@ void func_80061A34(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 sp4C = random_int(6U); random_int(6U); sp48 = (f32) random_int(3U); - if ((arg1 == 0) && ((player->particles[0x1E + arg2].timer > 0) || (player->particles[0x1E + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[0x1E + arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[0x1E + arg1], 7, 1.0f); - set_particle_colour(&player->particles[0x1E + arg1], 0x00FFFFFF, 0x00FF); - player->particles[0x1E + arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -2.0); - player->particles[0x1E + arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -2.0); - player->particles[0x1E + arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; - player->particles[0x1E + arg1].scale = (sp48 + 2.0f) / 10.0f; - } else if (player->particles[0x1E + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[0x1E + arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); - init_new_particle_player(&player->particles[0x1E + arg1], 7, 1.0f); - set_particle_colour(&player->particles[0x1E + arg1], 0x00FFFFFF, 0x00FF); - player->particles[0x1E + arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -2.0); - player->particles[0x1E + arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -2.0); - player->particles[0x1E + arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + (f32) sp4C + 2.0f; - player->particles[0x1E + arg1].scale = (sp48 + 2.0f) / 10.0f; + if ((arg1 == 0) && ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool3[arg1], 7, 1.0f); + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool3[arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -2.0); + player->particlePool3[arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -2.0); + player->particlePool3[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp4C + 2.0f; + player->particlePool3[arg1].scale = (sp48 + 2.0f) / 10.0f; + } else if (player->particlePool3[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, 0.0f, 0.0f, (s8) 0, (s8) 0); + init_particle_player(&player->particlePool3[arg1], 7, 1.0f); + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x00FF); + player->particlePool3[arg1].pos[2] = player->pos[2] + (coss(sp54 * 0xB6) * -2.0); + player->particlePool3[arg1].pos[0] = player->pos[0] + (sins(sp54 * 0xB6) * -2.0); + player->particlePool3[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + (f32) sp4C + 2.0f; + player->particlePool3[arg1].scale = (sp48 + 2.0f) / 10.0f; } } @@ -3890,18 +3861,18 @@ void func_80061D4C(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UN f32 sp20[10] = { -182.0f, 182.0f, 364.0f, -364.0f, 546.0f, -546.0f, 728.0f, -728.0f, 910.0f, -910.0f }; if (random_int(3U) == 2.0f) { - player->particles[0x1E + arg1].IsAlive = 1; - player->particles[0x1E + arg1].pos[0] = player->pos[0]; - player->particles[0x1E + arg1].pos[1] = player->pos[1] + 2.0f; - player->particles[0x1E + arg1].pos[2] = player->pos[2]; - player->particles[0x1E + arg1].rotation = -player->rotation[1] + sp20[arg1]; - player->particles[0x1E + arg1].unk_018 = random_int(3U) + 2.0f; - player->particles[0x1E + arg1].unk_014 = random_int(4U); - player->particles[0x1E + arg1].unk_014 -= test; - player->particles[0x1E + arg1].scale = 0.4f; - player->particles[0x1E + arg1].type = 2; - player->particles[0x1E + arg1].timer = 0; - player->particles[0x1E + arg1].alpha = 0x00FF; + player->particlePool3[arg1].isAlive = 1; + player->particlePool3[arg1].pos[0] = player->pos[0]; + player->particlePool3[arg1].pos[1] = player->pos[1] + 2.0f; + player->particlePool3[arg1].pos[2] = player->pos[2]; + player->particlePool3[arg1].rotation = -player->rotation[1] + sp20[arg1]; + player->particlePool3[arg1].unk_018 = random_int(3U) + 2.0f; + player->particlePool3[arg1].surfaceType = random_int(4U); + player->particlePool3[arg1].surfaceType -= test; + player->particlePool3[arg1].scale = 0.4f; + player->particlePool3[arg1].type = 2; + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].alpha = 0x00FF; } } @@ -3910,7 +3881,7 @@ void func_80061EF4(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 s32 var_t0 = 0x000000FF; s32 var_t1; s32 temp_v1; - f32 var_f2; + f32 y; UNUSED s32 stackPadding1; if (1) {}; @@ -3918,47 +3889,47 @@ void func_80061EF4(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 if (temp_v1 == 1) { var_t1 = 1; var_t0 = 0; - var_f2 = player->pos[1]; + y = player->pos[1]; } if (temp_v1 == 0) { var_t1 = 0; var_t0 = 0; - var_f2 = player->pos[1]; + y = player->pos[1]; } if (var_t0 == 0) { if ((arg1 == 0) && - ((player->particles[0x1E + arg2].timer > 0) || (player->particles[0x1E + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[0x1E + arg1], 0.0f, var_f2, 0.0f, (s8) var_t0, (s8) var_t1); - init_new_particle_player(&player->particles[0x1E + arg1], 3, 0.5f); - set_particle_colour(&player->particles[0x1E + arg1], 0x00FFFFFF, 0x0060); - player->particles[0x1E + arg1].rotation = 0; - if (player->particles[0x1E + arg1].unk_010 == 1) { - player->particles[0x1E + arg1].rotation += 0x888; + ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, (s8) var_t1); + init_particle_player(&player->particlePool3[arg1], 3, 0.5f); + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0060); + player->particlePool3[arg1].rotation = 0; + if (player->particlePool3[arg1].unk_010 == 1) { + player->particlePool3[arg1].rotation += 0x888; } else { - player->particles[0x1E + arg1].rotation -= 0x888; + player->particlePool3[arg1].rotation -= 0x888; } - player->particles[0x1E + arg1].pos[2] = + player->particlePool3[arg1].pos[2] = player->pos[2] + - (coss(player->particles[0x1E + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); - player->particles[0x1E + arg1].pos[0] = + (coss(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + player->particlePool3[arg1].pos[0] = player->pos[0] + - (sins(player->particles[0x1E + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); - } else if (player->particles[0x1E + arg2].timer > 0) { - set_particle_position_and_rotation(player, &player->particles[0x1E + arg1], 0.0f, var_f2, 0.0f, (s8) var_t0, (s8) var_t1); - init_new_particle_player(&player->particles[0x1E + arg1], 3, 0.5f); - set_particle_colour(&player->particles[0x1E + arg1], 0x00FFFFFF, 0x0060); - player->particles[0x1E + arg1].rotation = 0; - if (player->particles[0x1E + arg1].unk_010 == 1) { - player->particles[0x1E + arg1].rotation += 0x888; + (sins(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + } else if (player->particlePool3[arg2].timer > 0) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, (s8) var_t0, (s8) var_t1); + init_particle_player(&player->particlePool3[arg1], 3, 0.5f); + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0xFF), 0x0060); + player->particlePool3[arg1].rotation = 0; + if (player->particlePool3[arg1].unk_010 == 1) { + player->particlePool3[arg1].rotation += 0x888; } else { - player->particles[0x1E + arg1].rotation -= 0x888; + player->particlePool3[arg1].rotation -= 0x888; } - player->particles[0x1E + arg1].pos[2] = + player->particlePool3[arg1].pos[2] = player->pos[2] + - (coss(player->particles[0x1E + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); - player->particles[0x1E + arg1].pos[0] = + (coss(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + player->particlePool3[arg1].pos[0] = player->pos[0] + - (sins(player->particles[0x1E + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + (sins(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); } } } @@ -3968,7 +3939,7 @@ void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 s32 phi_t0; s32 phi_t1; Player* new_var; - f32 phi_f2; + f32 y; Player* new_var2; phi_t0 = 0xFF; @@ -3976,7 +3947,7 @@ void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 if (temp_v1 == 1) { phi_t1 = 1; phi_t0 = 0; - phi_f2 = player->pos[1]; + y = player->pos[1]; } if (temp_v1 == 0) { @@ -3984,62 +3955,62 @@ void func_800621BC(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 if (1) { phi_t0 = 0; } - phi_f2 = player->pos[1]; + y = player->pos[1]; } if (phi_t0 == 0) { - if ((arg1 == 0) && ((player->particles[30 + arg2].timer > 0) || (player->particles[30 + arg2].IsAlive == 0))) { - set_particle_position_and_rotation(player, &player->particles[30 + arg1], 0.0f, phi_f2, 0.0f, phi_t0, phi_t1); - init_new_particle_player(&player->particles[30 + arg1], 8, 1.0f); - set_particle_colour(&player->particles[30 + arg1], 0xFFFF20, 0xFF); + if ((arg1 == 0) && ((player->particlePool3[arg2].timer > 0) || (player->particlePool3[arg2].isAlive == 0))) { + set_particle_position_and_rotation(player, &player->particlePool3[arg1], 0.0f, y, 0.0f, phi_t0, phi_t1); + init_particle_player(&player->particlePool3[arg1], 8, 1.0f); + set_particle_colour(&player->particlePool3[arg1], RGB32(0xFF, 0xFF, 0x20), 0xFF); - player->particles[30 + arg1].rotation = 0; - if (player->particles[30 + arg1].unk_010 == 1) { - player->particles[30 + arg1].rotation += 2184; + player->particlePool3[arg1].rotation = 0; + if (player->particlePool3[arg1].unk_010 == 1) { + player->particlePool3[arg1].rotation += 2184; } else { - player->particles[30 + arg1].rotation -= 2184; + player->particlePool3[arg1].rotation -= 2184; } - player->particles[30 + arg1].pos[2] = + player->particlePool3[arg1].pos[2] = player->pos[2] + - (coss((player->particles[30 + arg1].rotation - player->rotation[1]) - player->unk_0C0) * 5.0f); - player->particles[30 + arg1].pos[0] = + (coss((player->particlePool3[arg1].rotation - player->rotation[1]) - player->unk_0C0) * 5.0f); + player->particlePool3[arg1].pos[0] = player->pos[0] + - (sins((player->particles[30 + arg1].rotation - player->rotation[1]) - player->unk_0C0) * 5.0f); + (sins((player->particlePool3[arg1].rotation - player->rotation[1]) - player->unk_0C0) * 5.0f); return; } new_var2 = player; - if (new_var2->particles[30 + arg2].timer > 0) { - set_particle_position_and_rotation(new_var2, &new_var2->particles[30 + arg1], 0.0f, phi_f2, 0.0f, phi_t0, phi_t1); - init_new_particle_player(&new_var2->particles[30 + arg1], 8, 1.0f); - set_particle_colour(&new_var2->particles[30 + arg1], 0xFFFF20, 0xFF); - new_var2->particles[30 + arg1].rotation = 0; - if (new_var2->particles[30 + arg1].unk_010 == 1) { - new_var2->particles[30 + arg1].rotation += 2184; + if (new_var2->particlePool3[arg2].timer > 0) { + set_particle_position_and_rotation(new_var2, &new_var2->particlePool3[arg1], 0.0f, y, 0.0f, phi_t0, phi_t1); + init_particle_player(&new_var2->particlePool3[arg1], 8, 1.0f); + set_particle_colour(&new_var2->particlePool3[arg1], RGB32(0xFF, 0xFF, 0x20), 0xFF); + new_var2->particlePool3[arg1].rotation = 0; + if (new_var2->particlePool3[arg1].unk_010 == 1) { + new_var2->particlePool3[arg1].rotation += 2184; } else { - new_var2->particles[30 + arg1].rotation -= 2184; + new_var2->particlePool3[arg1].rotation -= 2184; } new_var = new_var2; - new_var->particles[30 + arg1].pos[2] = + new_var->particlePool3[arg1].pos[2] = new_var->pos[2] + - (coss((new_var->particles[30 + arg1].rotation - new_var->rotation[1]) - new_var->unk_0C0) * 5.0f); - new_var->particles[30 + arg1].pos[0] = + (coss((new_var->particlePool3[arg1].rotation - new_var->rotation[1]) - new_var->unk_0C0) * 5.0f); + new_var->particlePool3[arg1].pos[0] = new_var->pos[0] + - (sins((new_var->particles[30 + arg1].rotation - new_var->rotation[1]) - new_var->unk_0C0) * 5.0f); + (sins((new_var->particlePool3[arg1].rotation - new_var->rotation[1]) - new_var->unk_0C0) * 5.0f); } } } -void func_80062484(Player* player, Particle* particle, s32 arg2) { - particle->IsAlive = 1; - particle->pos[1] = player->unk_074 + 1.0f; - particle->pos[2] = player->pos[2]; - particle->pos[0] = player->pos[0]; - particle->rotation = (arg2 * 0x1998) - player->rotation[1]; - particle->type = 4; - particle->timer = 0; +void func_80062484(Player* player, Particle* arg1, s32 arg2) { + arg1->isAlive = 1; + arg1->pos[1] = player->unk_074 + 1.0f; + arg1->pos[2] = player->pos[2]; + arg1->pos[0] = player->pos[0]; + arg1->rotation = (arg2 * 0x1998) - player->rotation[1]; + arg1->type = 4; + arg1->timer = 0; } void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { @@ -4049,67 +4020,67 @@ void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a case DIRT: for (var_s1 = 0; var_s1 < 10; var_s1++) { if ((gCurrentCourseId == COURSE_CHOCO_MOUNTAIN) || (gCurrentCourseId == COURSE_ROYAL_RACEWAY)) { - func_8005DAD8(&player->particles[0x1E + var_s1], 1, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 1, 0, 0x00A8); } if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { - func_8005DAD8(&player->particles[0x1E + var_s1], 7, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 7, 0, 0x00A8); } if (gCurrentCourseId == COURSE_MOO_MOO_FARM) { - func_8005DAD8(&player->particles[0x1E + var_s1], 8, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 8, 0, 0x00A8); } if (gCurrentCourseId == COURSE_WARIO_STADIUM) { - func_8005DAD8(&player->particles[0x1E + var_s1], 9, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 9, 0, 0x00A8); } if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { - func_8005DAD8(&player->particles[0x1E + var_s1], 0x000A, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 0x000A, 0, 0x00A8); } if (gCurrentCourseId == COURSE_DK_JUNGLE) { - func_8005DAD8(&player->particles[0x1E + var_s1], 0x000B, 0, 0x00A8); + func_8005DAD8(&player->particlePool3[var_s1], 0x000B, 0, 0x00A8); } - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case GRASS: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 2, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 2, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case SAND_OFFROAD: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 2, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 2, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case SAND: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 3, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 3, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case WET_SAND: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 4, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 4, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case DIRT_OFFROAD: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 5, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 5, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; case SNOW: case SNOW_OFFROAD: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 6, 1, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 6, 1, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; @@ -4117,72 +4088,72 @@ void func_800624D8(Player* player, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s8 a case STONE: case BRIDGE: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 0, 0, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 0, 0, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; default: for (var_s1 = 0; var_s1 < 10; var_s1++) { - func_8005DAD8(&player->particles[0x1E + var_s1], 0, 0, 0x00A8); - func_80062484(player, &player->particles[0x1E + var_s1], var_s1); + func_8005DAD8(&player->particlePool3[var_s1], 0, 0, 0x00A8); + func_80062484(player, &player->particlePool3[var_s1], var_s1); } player->kartProps &= ~POST_TUMBLE_GAS; break; } } -void func_800628C0(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].rotation = -player->rotation[1]; - player->particles[20 + arg3].type = 2; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].scale = 0.2f; +void func_800628C0(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].rotation = -player->rotation[1]; + player->particlePool2[index].type = 2; + player->particlePool2[index].timer = 0; + player->particlePool2[index].scale = 0.2f; } -void func_80062914(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].rotation = -player->rotation[1]; - player->particles[20 + arg3].type = 4; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].scale = 1.0f; +void func_80062914(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].rotation = -player->rotation[1]; + player->particlePool2[index].type = 4; + player->particlePool2[index].timer = 0; + player->particlePool2[index].scale = 1.0f; } -void func_80062968(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].rotation = -player->rotation[1]; - player->particles[20 + arg3].type = 5; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].scale = 0.2f; +void func_80062968(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].rotation = -player->rotation[1]; + player->particlePool2[index].type = 5; + player->particlePool2[index].timer = 0; + player->particlePool2[index].scale = 0.2f; } -void func_800629BC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].rotation = -player->rotation[1]; - player->particles[20 + arg3].type = 6; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].scale = 0.2f; - player->particles[20 + arg3].pos[1] = 0.0f; +void func_800629BC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].rotation = -player->rotation[1]; + player->particlePool2[index].type = 6; + player->particlePool2[index].timer = 0; + player->particlePool2[index].scale = 0.2f; + player->particlePool2[index].pos[1] = 0.0f; } -void func_80062A18(Player* player, s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].type = 3; - player->particles[20 + arg1 /* arg1 instead of arg3 */].scale = 0.2f; - player->particles[20 + arg3].timer = 1; - player->particles[20 + arg3].rotation = 0; +void func_80062A18(Player* player, s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].type = 3; + player->particlePool2[arg1 /* arg1 instead of index */].scale = 0.2f; + player->particlePool2[index].timer = 1; + player->particlePool2[index].rotation = 0; player->kartGraphics &= ~WHIRRR; - player->particles[20 + arg3].pos[2] = player->pos[2]; - player->particles[20 + arg3].pos[0] = player->pos[0]; - player->particles[20 + arg3].pos[1] = (player->pos[1] + 4.0f); + player->particlePool2[index].pos[2] = player->pos[2]; + player->particlePool2[index].pos[0] = player->pos[0]; + player->particlePool2[index].pos[1] = (player->pos[1] + 4.0f); } -void func_80062AA8(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].IsAlive = 1; - player->particles[20 + arg3].type = 5; - player->particles[20 + arg3].scale = 0.1f; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].pos[1] = (player->pos[1] + player->boundingBoxSize) - 2.5; +void func_80062AA8(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].isAlive = 1; + player->particlePool2[index].type = 5; + player->particlePool2[index].scale = 0.1f; + player->particlePool2[index].timer = 0; + player->particlePool2[index].pos[1] = (player->pos[1] + player->boundingBoxSize) - 2.5; } void func_80062B18(f32* arg0, f32* arg1, f32* arg2, f32 arg3, f32 arg4, f32 arg5, u16 arg6, u16 arg7) { @@ -4229,178 +4200,178 @@ void func_80062C74(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) { f32 sp38; s16 thing; - player->particles[arg1].timer += 1; - if (player->particles[arg1].timer == 0x000C) { - player->particles[arg1].IsAlive = 0; - player->particles[arg1].timer = 0; - player->particles[arg1].type = 0; + player->particlePool0[arg1].timer++; + if (player->particlePool0[arg1].timer == 0x000C) { + player->particlePool0[arg1].isAlive = 0; + player->particlePool0[arg1].timer = 0; + player->particlePool0[arg1].type = NO_PARTICLE; } - player->particles[arg1].unk_018 = 2.0f; - if (player->particles[arg1].unk_040 == 0) { - player->particles[arg1].scale = player->particles[arg1].scale + 0.07; - player->particles[arg1].unk_024 = player->particles[arg1].unk_024 + 0.3; - if (player->particles[arg1].timer >= 3) { - player->particles[arg1].alpha -= 3; + player->particlePool0[arg1].unk_018 = 2.0f; + if (player->particlePool0[arg1].unk_040 == 0) { + player->particlePool0[arg1].scale = player->particlePool0[arg1].scale + 0.07; + player->particlePool0[arg1].unk_024 = player->particlePool0[arg1].unk_024 + 0.3; + if (player->particlePool0[arg1].timer >= 3) { + player->particlePool0[arg1].alpha -= 3; } - if (player->particles[arg1].alpha <= 0) { - player->particles[arg1].alpha = 0; + if (player->particlePool0[arg1].alpha <= 0) { + player->particlePool0[arg1].alpha = 0; } } else { - player->particles[arg1].scale = player->particles[arg1].scale + 0.1; - player->particles[arg1].unk_024 = player->particles[arg1].unk_024 + 0.3; - if (player->particles[arg1].timer >= 3) { - player->particles[arg1].alpha -= 2; + player->particlePool0[arg1].scale = player->particlePool0[arg1].scale + 0.1; + player->particlePool0[arg1].unk_024 = player->particlePool0[arg1].unk_024 + 0.3; + if (player->particlePool0[arg1].timer >= 3) { + player->particlePool0[arg1].alpha -= 2; } - if (player->particles[arg1].alpha <= 0) { - player->particles[arg1].alpha = 0; + if (player->particlePool0[arg1].alpha <= 0) { + player->particlePool0[arg1].alpha = 0; } } - thing = player->particles[arg1].rotation - (player->unk_0C0 / 2); - if (player->particles[arg1].unk_040 == 0) { + thing = player->particlePool0[arg1].rotation - (player->unk_0C0 / 2); + if (player->particlePool0[arg1].unk_040 == 0) { var_f6 = -((player->unk_098 / 5000.0f) + 0.1); } else { var_f6 = -((player->unk_098 / 6000.0f) + 0.1); } - if (((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) && (player->particles[arg1].timer >= 6)) { - player->particles[arg1].scale = player->particles[arg1].scale + 0.06; + if (((player->effects & MUSHROOM_EFFECT) == MUSHROOM_EFFECT) && (player->particlePool0[arg1].timer >= 6)) { + player->particlePool0[arg1].scale = player->particlePool0[arg1].scale + 0.06; } - player->particles[arg1].unk_010++; - if (player->particles[arg1].unk_010 >= 3) { - player->particles[arg1].unk_010 = 0; + player->particlePool0[arg1].unk_010++; + if (player->particlePool0[arg1].unk_010 >= 3) { + player->particlePool0[arg1].unk_010 = 0; } - func_80062B18(&sp40, &sp38, &sp3C, 0.0f, sp48[player->characterId], (player->particles[arg1].timer * var_f6) + -5.5, - -thing, -player->unk_206 * 2); - player->particles[arg1].pos[0] = player->pos[0] + sp40; + func_80062B18(&sp40, &sp38, &sp3C, 0.0f, sp48[player->characterId], + (player->particlePool0[arg1].timer * var_f6) + -5.5, -thing, -player->unk_206 * 2); + player->particlePool0[arg1].pos[0] = player->pos[0] + sp40; sp38 = (player->pos[1] - player->boundingBoxSize) + sp38; - player->particles[arg1].pos[2] = player->pos[2] + sp3C; - player->particles[arg1].pos[1] = player->particles[arg1].unk_024 + sp38; + player->particlePool0[arg1].pos[2] = player->pos[2] + sp3C; + player->particlePool0[arg1].pos[1] = player->particlePool0[arg1].unk_024 + sp38; } void func_80062F98(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3) { f32 temp_f0; - temp_f0 = player->particles[10 + arg1].unk_018 / 10.0f; - ++player->particles[10 + arg1].timer; - player->particles[10 + arg1].pos[1] += temp_f0; + temp_f0 = player->particlePool1[arg1].unk_018 / 10.0f; + ++player->particlePool1[arg1].timer; + player->particlePool1[arg1].pos[1] += temp_f0; if ((player->lakituProps & LAKITU_RETRIEVAL) == LAKITU_RETRIEVAL) { - player->particles[10 + arg1].pos[1] += (temp_f0 + 0.3); - if ((player->particles[10 + arg1].timer == 0x10) || - ((D_801652A0[arg2] - player->particles[10 + arg1].pos[1]) < 3.0f)) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + player->particlePool1[arg1].pos[1] += (temp_f0 + 0.3); + if ((player->particlePool1[arg1].timer == 0x10) || + ((D_801652A0[arg2] - player->particlePool1[arg1].pos[1]) < 3.0f)) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - } else if ((player->particles[10 + arg1].timer == 0xA) || - ((D_801652A0[arg2] - player->particles[10 + arg1].pos[1]) < 3.0f)) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + } else if ((player->particlePool1[arg1].timer == 0xA) || + ((D_801652A0[arg2] - player->particlePool1[arg1].pos[1]) < 3.0f)) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } } void set_oob_splash_particle_position(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3) { - ++player->particles[arg1].timer; - player->particles[arg1].pos[2] = player->pos[2] + coss(player->particles[arg1].rotation) * -5.8; - player->particles[arg1].pos[0] = player->pos[0] + sins(player->particles[arg1].rotation) * -5.8; - player->particles[arg1].pos[1] = D_801652A0[arg2]; - if (player->particles[arg1].timer == 15) { - player->particles[arg1].IsAlive = 0; - player->particles[arg1].timer = 0; - player->particles[arg1].type = 0; + ++player->particlePool0[arg1].timer; + player->particlePool0[arg1].pos[2] = player->pos[2] + coss(player->particlePool0[arg1].rotation) * -5.8; + player->particlePool0[arg1].pos[0] = player->pos[0] + sins(player->particlePool0[arg1].rotation) * -5.8; + player->particlePool0[arg1].pos[1] = D_801652A0[arg2]; + if (player->particlePool0[arg1].timer == 15) { + player->particlePool0[arg1].isAlive = 0; + player->particlePool0[arg1].timer = 0; + player->particlePool0[arg1].type = NO_PARTICLE; } } void func_800631A8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - ++player->particles[arg1].timer; - if ((s32) player->particles[arg1].timer < 9) { - if ((player->particles[arg1].timer & 1) != 0) { - player->particles[arg1].red = 8; + ++player->particlePool0[arg1].timer; + if ((s32) player->particlePool0[arg1].timer < 9) { + if ((player->particlePool0[arg1].timer & 1) != 0) { + player->particlePool0[arg1].red = 8; } else { - player->particles[arg1].red = 0; + player->particlePool0[arg1].red = 0; } - } else if (((player->particles[arg1].timer & 1) != 0) || - ((player->particles[arg1].timer >= 9) && (player->particles[arg1].timer < 12))) { - player->particles[arg1].red = 0xFF; - } else if ((player->particles[arg1].timer & 2) != 0) { - player->particles[arg1].red = 8; + } else if (((player->particlePool0[arg1].timer & 1) != 0) || + ((player->particlePool0[arg1].timer >= 9) && (player->particlePool0[arg1].timer < 12))) { + player->particlePool0[arg1].red = 0xFF; + } else if ((player->particlePool0[arg1].timer & 2) != 0) { + player->particlePool0[arg1].red = 8; } else { - player->particles[arg1].red = 0; + player->particlePool0[arg1].red = 0; } - player->particles[arg1].green = 0; - player->particles[arg1].blue = 0; - if ((s32) player->particles[arg1].timer >= 0x19) { - player->particles[arg1].IsAlive = 0; - player->particles[arg1].timer = 0; - player->particles[arg1].type = 0; + player->particlePool0[arg1].green = 0; + player->particlePool0[arg1].blue = 0; + if ((s32) player->particlePool0[arg1].timer >= 0x19) { + player->particlePool0[arg1].isAlive = 0; + player->particlePool0[arg1].timer = 0; + player->particlePool0[arg1].type = NO_PARTICLE; } } void func_80063268(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[arg1].timer >= 0x1E) { - player->particles[arg1].unk_040 += 0x1FFE; + if (player->particlePool0[arg1].timer >= 0x1E) { + player->particlePool0[arg1].unk_040 += 0x1FFE; } else { - player->particles[arg1].unk_040 += 0x1554; + player->particlePool0[arg1].unk_040 += 0x1554; } - player->particles[arg1].unk_024 += 0.25; - player->particles[arg1].pos[2] = - player->pos[2] + (coss((player->particles[arg1].rotation + player->particles[arg1].unk_040)) * 5.5); - player->particles[arg1].pos[0] = - player->pos[0] + (sins((player->particles[arg1].rotation + player->particles[arg1].unk_040)) * 5.5); - player->particles[arg1].pos[1] = ((player->pos[1] - 5.0f) + player->particles[arg1].unk_024); - ++player->particles[arg1].timer; - player->particles[arg1].scale += 0.05; - player->particles[arg1].alpha -= 5; + player->particlePool0[arg1].unk_024 += 0.25; + player->particlePool0[arg1].pos[2] = + player->pos[2] + (coss((player->particlePool0[arg1].rotation + player->particlePool0[arg1].unk_040)) * 5.5); + player->particlePool0[arg1].pos[0] = + player->pos[0] + (sins((player->particlePool0[arg1].rotation + player->particlePool0[arg1].unk_040)) * 5.5); + player->particlePool0[arg1].pos[1] = ((player->pos[1] - 5.0f) + player->particlePool0[arg1].unk_024); + ++player->particlePool0[arg1].timer; + player->particlePool0[arg1].scale += 0.05; + player->particlePool0[arg1].alpha -= 5; - if ((s32) player->particles[arg1].alpha <= 0) { - player->particles[arg1].alpha = 0; + if ((s32) player->particlePool0[arg1].alpha <= 0) { + player->particlePool0[arg1].alpha = 0; } - if ((s32) player->particles[arg1].timer >= 0x28) { - player->particles[arg1].IsAlive = 0; - player->particles[arg1].timer = 0; - player->particles[arg1].type = 0; + if ((s32) player->particlePool0[arg1].timer >= 0x28) { + player->particlePool0[arg1].isAlive = 0; + player->particlePool0[arg1].timer = 0; + player->particlePool0[arg1].type = NO_PARTICLE; } } void func_80063408(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[10 + arg1].unk_010 == 1) { - player->particles[10 + arg1].pos[2] = + if (player->particlePool1[arg1].unk_010 == 1) { + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + - (player->particles[10 + arg1].timer * -7) * coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + (player->particlePool1[arg1].timer * -7) * coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + - (player->particles[10 + arg1].timer * -7) * sins(player->particles[10 + arg1].rotation); + (player->particlePool1[arg1].timer * -7) * sins(player->particlePool1[arg1].rotation); } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + - (player->particles[10 + arg1].timer * -7) * coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + (player->particlePool1[arg1].timer * -7) * coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + - (player->particles[10 + arg1].timer * -7) * sins(player->particles[10 + arg1].rotation); + (player->particlePool1[arg1].timer * -7) * sins(player->particlePool1[arg1].rotation); } - ++player->particles[10 + arg1].timer; - player->particles[10 + arg1].pos[1] += 1.0f; + ++player->particlePool1[arg1].timer; + player->particlePool1[arg1].pos[1] += 1.0f; if (((player->effects & BANANA_SPINOUT_EFFECT) != 0) || ((player->effects & DRIVING_SPINOUT_EFFECT) != 0)) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; } - if (player->particles[10 + arg1].timer == 8) { - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].type = 0; + if (player->particlePool1[arg1].timer == 8) { + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].scale += 0.08; - if (player->particles[10 + arg1].timer >= 4) { - player->particles[10 + arg1].alpha -= 16; + player->particlePool1[arg1].scale += 0.08; + if (player->particlePool1[arg1].timer >= 4) { + player->particlePool1[arg1].alpha -= 16; } - if (player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + if (player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } @@ -4409,181 +4380,181 @@ void func_800635D4(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { f32 sp40; f32 sp3C; - if (player->particles[10 + arg1].unk_010 == 1) { + if (player->particlePool1[arg1].unk_010 == 1) { if ((player->effects & LIGHTNING_EFFECT)) { func_80062B18(&sp44, &sp40, &sp3C, -2.0f, 0.0f, - (-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16, - -player->particles[10 + arg1].rotation, 2 * -player->unk_206); - player->particles[10 + arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + sp44; - player->particles[10 + arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + sp3C; + (-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16, + -player->particlePool1[arg1].rotation, 2 * -player->unk_206); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + sp44; + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + sp3C; } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * - coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * + coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * - sins(player->particles[10 + arg1].rotation); + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * + sins(player->particlePool1[arg1].rotation); } } else if ((player->effects & LIGHTNING_EFFECT)) { func_80062B18(&sp44, &sp40, &sp3C, 2.0f, 0.0f, - (-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16, - -player->particles[10 + arg1].rotation, 2 * -player->unk_206); - player->particles[10 + arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + sp44; - player->particles[10 + arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + sp3C; + (-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16, + -player->particlePool1[arg1].rotation, 2 * -player->unk_206); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + sp44; + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + sp3C; } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * - coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * + coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * - sins(player->particles[10 + arg1].rotation); + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 16) * + sins(player->particlePool1[arg1].rotation); } - ++player->particles[10 + arg1].timer; - player->particles[10 + arg1].pos[1] += 0.2; + ++player->particlePool1[arg1].timer; + player->particlePool1[arg1].pos[1] += 0.2; if (((player->effects & BANANA_SPINOUT_EFFECT) != 0) || ((player->effects & DRIVING_SPINOUT_EFFECT) != 0)) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; } - if (player->particles[10 + arg1].timer == 8) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + if (player->particlePool1[arg1].timer == 8) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].scale += 0.1; - if (player->particles[10 + arg1].unk_040 == 0) { - if (player->particles[10 + arg1].timer >= 4) { - player->particles[10 + arg1].alpha -= 12; + player->particlePool1[arg1].scale += 0.1; + if (player->particlePool1[arg1].unk_040 == 0) { + if (player->particlePool1[arg1].timer >= 4) { + player->particlePool1[arg1].alpha -= 12; } - if (player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + if (player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } else { - if (player->particles[10 + arg1].timer >= 4) { - player->particles[10 + arg1].alpha -= 16; + if (player->particlePool1[arg1].timer >= 4) { + player->particlePool1[arg1].alpha -= 16; } - if (player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + if (player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } } void func_800639DC(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[10 + arg1].unk_010 == 1) { - player->particles[10 + arg1].pos[2] = + if (player->particlePool1[arg1].unk_010 == 1) { + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + - (-1.8f * player->particles[10 + arg1].timer) * coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + (-1.8f * player->particlePool1[arg1].timer) * coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + - (-1.8f * player->particles[10 + arg1].timer) * sins(player->particles[10 + arg1].rotation); + (-1.8f * player->particlePool1[arg1].timer) * sins(player->particlePool1[arg1].rotation); } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + - (-1.8f * player->particles[10 + arg1].timer) * coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + (-1.8f * player->particlePool1[arg1].timer) * coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + - (-1.8f * player->particles[10 + arg1].timer) * sins(player->particles[10 + arg1].rotation); + (-1.8f * player->particlePool1[arg1].timer) * sins(player->particlePool1[arg1].rotation); } - ++player->particles[10 + arg1].timer; - player->particles[10 + arg1].pos[1] += 0.3; - if (player->particles[10 + arg1].timer == 8) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + ++player->particlePool1[arg1].timer; + player->particlePool1[arg1].pos[1] += 0.3; + if (player->particlePool1[arg1].timer == 8) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].scale += 0.15; - if (player->particles[10 + arg1].unk_040 == 0) { - if ((s32) player->particles[10 + arg1].timer >= 4) { - --player->particles[10 + arg1].alpha; + player->particlePool1[arg1].scale += 0.15; + if (player->particlePool1[arg1].unk_040 == 0) { + if ((s32) player->particlePool1[arg1].timer >= 4) { + --player->particlePool1[arg1].alpha; } - if ((s32) player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + if ((s32) player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } else { - if ((s32) player->particles[10 + arg1].timer >= 4) { - player->particles[10 + arg1].alpha -= 16; + if ((s32) player->particlePool1[arg1].timer >= 4) { + player->particlePool1[arg1].alpha -= 16; } - if ((s32) player->particles[10 + arg1].alpha <= 0) { + if ((s32) player->particlePool1[arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + player->particlePool1[arg1].alpha = 0; } } } void func_80063BD4(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[10 + arg1].unk_010 == 1) { - player->particles[10 + arg1].pos[2] = + if (player->particlePool1[arg1].unk_010 == 1) { + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + - (-2 * player->particles[10 + arg1].timer * coss(player->particles[10 + arg1].rotation)); - player->particles[10 + arg1].pos[0] = + (-2 * player->particlePool1[arg1].timer * coss(player->particlePool1[arg1].rotation)); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + - (-2 * player->particles[10 + arg1].timer * sins(player->particles[10 + arg1].rotation)); + (-2 * player->particlePool1[arg1].timer * sins(player->particlePool1[arg1].rotation)); } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + - (-2 * player->particles[10 + arg1].timer * coss(player->particles[10 + arg1].rotation)); - player->particles[10 + arg1].pos[0] = + (-2 * player->particlePool1[arg1].timer * coss(player->particlePool1[arg1].rotation)); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + - (-2 * player->particles[10 + arg1].timer * sins(player->particles[10 + arg1].rotation)); + (-2 * player->particlePool1[arg1].timer * sins(player->particlePool1[arg1].rotation)); } - ++player->particles[10 + arg1].timer; - player->particles[10 + arg1].pos[1] += 0.2; - if (player->particles[10 + arg1].timer == 8) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + ++player->particlePool1[arg1].timer; + player->particlePool1[arg1].pos[1] += 0.2; + if (player->particlePool1[arg1].timer == 8) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].unk_018 = 2.0f; - player->particles[10 + arg1].scale -= 0.06; + player->particlePool1[arg1].unk_018 = 2.0f; + player->particlePool1[arg1].scale -= 0.06; } void func_80063D58(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[10 + arg1].unk_010 == 1) { - player->particles[10 + arg1].pos[2] = + if (player->particlePool1[arg1].unk_010 == 1) { + player->particlePool1[arg1].pos[2] = player->tyres[BACK_LEFT].pos[2] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * - coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * + coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_LEFT].pos[0] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * - sins(player->particles[10 + arg1].rotation); + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * + sins(player->particlePool1[arg1].rotation); } else { - player->particles[10 + arg1].pos[2] = + player->particlePool1[arg1].pos[2] = player->tyres[BACK_RIGHT].pos[2] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * - coss(player->particles[10 + arg1].rotation); - player->particles[10 + arg1].pos[0] = + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * + coss(player->particlePool1[arg1].rotation); + player->particlePool1[arg1].pos[0] = player->tyres[BACK_RIGHT].pos[0] + - ((-player->particles[10 + arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * - sins(player->particles[10 + arg1].rotation); + ((-player->particlePool1[arg1].timer * (player->speed / 18.0f) * 216.0f) / 20.0f) * + sins(player->particlePool1[arg1].rotation); } - ++player->particles[10 + arg1].timer; - if (player->particles[10 + arg1].timer == 8) { - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].type = 0; + ++player->particlePool1[arg1].timer; + if (player->particlePool1[arg1].timer == 8) { + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].scale += 0.2; - if (player->particles[10 + arg1].timer >= 4) { - player->particles[10 + arg1].alpha -= 18; - player->particles[10 + arg1].pos[1] -= 0.1; + player->particlePool1[arg1].scale += 0.2; + if (player->particlePool1[arg1].timer >= 4) { + player->particlePool1[arg1].alpha -= 18; + player->particlePool1[arg1].pos[1] -= 0.1; } else { - player->particles[10 + arg1].pos[1] += 0.4; + player->particlePool1[arg1].pos[1] += 0.4; } - if (player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + if (player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } @@ -4592,23 +4563,23 @@ void func_80063FBC(Player* player, s16 arg1, UNUSED s32 arg2, UNUSED s32 arg3) { f32 sp38; f32 sp34; - if (player->particles[10 + arg1].unk_010 == 1) { + if (player->particlePool1[arg1].unk_010 == 1) { func_80062B18(&sp3C, &sp34, &sp38, 3.0f, 0.0f, - -5.5 - (player->particles[10 + arg1].timer * (((player->speed / 18.0f) * 216.0f) / 15.0f)), - -player->particles[10 + arg1].rotation, 0); + -5.5 - (player->particlePool1[arg1].timer * (((player->speed / 18.0f) * 216.0f) / 15.0f)), + -player->particlePool1[arg1].rotation, 0); } else { func_80062B18(&sp3C, &sp34, &sp38, -3.0f, 0.0f, - -5.5 - (player->particles[10 + arg1].timer * (((player->speed / 18.0f) * 216.0f) / 15.0f)), - -player->particles[10 + arg1].rotation, 0); + -5.5 - (player->particlePool1[arg1].timer * (((player->speed / 18.0f) * 216.0f) / 15.0f)), + -player->particlePool1[arg1].rotation, 0); } - player->particles[10 + arg1].pos[0] = player->pos[0] + sp3C; - player->particles[10 + arg1].pos[2] = player->pos[2] + sp38; - player->particles[10 + arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp34; - player->particles[10 + arg1].timer++; - if (player->particles[10 + arg1].timer == 6) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + player->particlePool1[arg1].pos[0] = player->pos[0] + sp3C; + player->particlePool1[arg1].pos[2] = player->pos[2] + sp38; + player->particlePool1[arg1].pos[1] = (player->pos[1] - player->boundingBoxSize) + sp34; + player->particlePool1[arg1].timer++; + if (player->particlePool1[arg1].timer == 6) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } } @@ -4623,47 +4594,47 @@ void func_80064184(Player* player, s16 arg1, s8 arg2, UNUSED s8 arg3) { } func_80062B18(&sp44, &sp40, &sp3C, 0.0f, sp40, - -4.0f + ((-player->particles[arg1].timer * (player->speed / 18.0f) * 216.0f) / 10.0f), - -player->particles[arg1].rotation, 2 * -player->unk_206); - player->particles[arg1].pos[0] = player->pos[0] + sp44; - player->particles[arg1].pos[2] = player->pos[2] + sp3C; - player->particles[arg1].pos[1] = player->pos[1] + sp40; - ++player->particles[arg1].timer; - if ((player->particles[arg1].timer == 12) || (D_801652A0[arg2] <= (player->pos[1] - player->boundingBoxSize))) { - player->particles[arg1].IsAlive = 0; - player->particles[arg1].timer = 0; - player->particles[arg1].type = 0; + -4.0f + ((-player->particlePool0[arg1].timer * (player->speed / 18.0f) * 216.0f) / 10.0f), + -player->particlePool0[arg1].rotation, 2 * -player->unk_206); + player->particlePool0[arg1].pos[0] = player->pos[0] + sp44; + player->particlePool0[arg1].pos[2] = player->pos[2] + sp3C; + player->particlePool0[arg1].pos[1] = player->pos[1] + sp40; + ++player->particlePool0[arg1].timer; + if ((player->particlePool0[arg1].timer == 12) || (D_801652A0[arg2] <= (player->pos[1] - player->boundingBoxSize))) { + player->particlePool0[arg1].isAlive = 0; + player->particlePool0[arg1].timer = 0; + player->particlePool0[arg1].type = NO_PARTICLE; } - player->particles[arg1].unk_018 = 2.0f; - player->particles[arg1].scale -= 0.35; - if (player->particles[arg1].scale < 0.0f) { - player->particles[arg1].scale = 0.0f; + player->particlePool0[arg1].unk_018 = 2.0f; + player->particlePool0[arg1].scale -= 0.35; + if (player->particlePool0[arg1].scale < 0.0f) { + player->particlePool0[arg1].scale = 0.0f; } - player->particles[arg1].alpha -= 22; - if (player->particles[arg1].alpha <= 0) { - player->particles[arg1].alpha = 0; + player->particlePool0[arg1].alpha -= 22; + if (player->particlePool0[arg1].alpha <= 0) { + player->particlePool0[arg1].alpha = 0; } } void func_800643A8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - player->particles[10 + arg1].pos[2] = - player->pos[2] + (-1.2 * player->particles[10 + arg1].timer * coss(player->particles[10 + arg1].rotation)); - player->particles[10 + arg1].pos[0] = - player->pos[0] + (-1.2 * player->particles[10 + arg1].timer * sins(player->particles[10 + arg1].rotation)); - player->particles[10 + arg1].pos[1] = player->particles[10 + arg1].pos[1] + 0.5; + player->particlePool1[arg1].pos[2] = + player->pos[2] + (-1.2 * player->particlePool1[arg1].timer * coss(player->particlePool1[arg1].rotation)); + player->particlePool1[arg1].pos[0] = + player->pos[0] + (-1.2 * player->particlePool1[arg1].timer * sins(player->particlePool1[arg1].rotation)); + player->particlePool1[arg1].pos[1] = player->particlePool1[arg1].pos[1] + 0.5; - ++player->particles[10 + arg1].timer; - if (player->particles[10 + arg1].timer == 10) { - player->particles[10 + arg1].IsAlive = 0; - player->particles[10 + arg1].timer = 0; - player->particles[10 + arg1].type = 0; + ++player->particlePool1[arg1].timer; + if (player->particlePool1[arg1].timer == 10) { + player->particlePool1[arg1].isAlive = 0; + player->particlePool1[arg1].timer = 0; + player->particlePool1[arg1].type = NO_PARTICLE; } - player->particles[10 + arg1].scale += 0.2; - player->particles[10 + arg1].alpha -= 8; - if (player->particles[10 + arg1].alpha <= 0) { - player->particles[10 + arg1].alpha = 0; + player->particlePool1[arg1].scale += 0.2; + player->particlePool1[arg1].alpha -= 8; + if (player->particlePool1[arg1].alpha <= 0) { + player->particlePool1[arg1].alpha = 0; } } @@ -4673,27 +4644,25 @@ void func_800644E8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { s32 thing; UNUSED s32 stackPadding1; - if (player->particles[30 + arg1].timer >= 9) { - player->particles[30 + arg1].timer = 9; + if (player->particlePool3[arg1].timer >= 9) { + player->particlePool3[arg1].timer = 9; } - thing2 = player->particles[30 + arg1].unk_024; - thing = player->particles[30 + arg1].timer; - player->particles[30 + arg1].pos[2] = - player->pos[2] + (coss(player->particles[30 + arg1].rotation) * (-0.7 * thing)); - player->particles[30 + arg1].pos[0] = - player->pos[0] + (sins(player->particles[30 + arg1].rotation) * (-0.7 * thing)); - player->particles[30 + arg1].timer++; - player->particles[30 + arg1].pos[1] = - player->particles[30 + arg1].unk_028 + (f32) ((thing * thing2) - (0.2 * (thing * thing))); - if (player->particles[30 + arg1].timer == 0x000A) { - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].type = 0; + thing2 = player->particlePool3[arg1].unk_024; + thing = player->particlePool3[arg1].timer; + player->particlePool3[arg1].pos[2] = player->pos[2] + (coss(player->particlePool3[arg1].rotation) * (-0.7 * thing)); + player->particlePool3[arg1].pos[0] = player->pos[0] + (sins(player->particlePool3[arg1].rotation) * (-0.7 * thing)); + player->particlePool3[arg1].timer++; + player->particlePool3[arg1].pos[1] = + player->particlePool3[arg1].unk_028 + (f32) ((thing * thing2) - (0.2 * (thing * thing))); + if (player->particlePool3[arg1].timer == 0x000A) { + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - if (player->particles[30 + arg1].timer >= 7) { - player->particles[30 + arg1].alpha -= 0x60; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + if (player->particlePool3[arg1].timer >= 7) { + player->particlePool3[arg1].alpha -= 0x60; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } } @@ -4704,272 +4673,272 @@ void func_80064664(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { s32 temp_v1; UNUSED s32 stackPadding1; - temp_v1 = player->particles[30 + arg1].timer; - temp_f4 = player->particles[30 + arg1].unk_024; - player->particles[30 + arg1].pos[2] = - player->pos[2] + (coss(player->particles[30 + arg1].rotation) * (-0.6 * temp_v1)); - player->particles[30 + arg1].pos[0] = - player->pos[0] + (sins(player->particles[30 + arg1].rotation) * (-0.6 * temp_v1)); - player->particles[30 + arg1].timer++; - player->particles[30 + arg1].pos[1] = - player->particles[30 + arg1].unk_028 + (f32) ((temp_v1 * temp_f4) - (0.1 * (temp_v1 * temp_v1))); - if (player->particles[30 + arg1].timer == 0x0019) { - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].type = 0; + temp_v1 = player->particlePool3[arg1].timer; + temp_f4 = player->particlePool3[arg1].unk_024; + player->particlePool3[arg1].pos[2] = + player->pos[2] + (coss(player->particlePool3[arg1].rotation) * (-0.6 * temp_v1)); + player->particlePool3[arg1].pos[0] = + player->pos[0] + (sins(player->particlePool3[arg1].rotation) * (-0.6 * temp_v1)); + player->particlePool3[arg1].timer++; + player->particlePool3[arg1].pos[1] = + player->particlePool3[arg1].unk_028 + (f32) ((temp_v1 * temp_f4) - (0.1 * (temp_v1 * temp_v1))); + if (player->particlePool3[arg1].timer == 0x0019) { + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - if (player->particles[30 + arg1].timer >= 7) { - player->particles[30 + arg1].alpha -= 0x6; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + if (player->particlePool3[arg1].timer >= 7) { + player->particlePool3[arg1].alpha -= 0x6; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } } void func_800647C8(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - ++player->particles[30 + arg1].timer; - player->particles[30 + arg1].pos[2] = - player->pos[2] + ((-0.8 * (player->particles[30 + arg1].timer)) * coss(player->particles[30 + arg1].rotation)); - player->particles[30 + arg1].pos[0] = - player->pos[0] + ((-0.8 * (player->particles[30 + arg1].timer)) * sins(player->particles[30 + arg1].rotation)); - player->particles[30 + arg1].pos[1] = (player->unk_074 + 2.0f); + ++player->particlePool3[arg1].timer; + player->particlePool3[arg1].pos[2] = + player->pos[2] + ((-0.8 * (player->particlePool3[arg1].timer)) * coss(player->particlePool3[arg1].rotation)); + player->particlePool3[arg1].pos[0] = + player->pos[0] + ((-0.8 * (player->particlePool3[arg1].timer)) * sins(player->particlePool3[arg1].rotation)); + player->particlePool3[arg1].pos[1] = (player->unk_074 + 2.0f); - if (player->particles[30 + arg1].timer == 14) { - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].type = 0; + if (player->particlePool3[arg1].timer == 14) { + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - player->particles[30 + arg1].alpha -= 12; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + player->particlePool3[arg1].alpha -= 12; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } void func_800648E4(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - ++player->particles[30 + arg1].timer; - player->particles[30 + arg1].scale -= 0.06; - player->particles[30 + arg1].pos[1] += 0.1; - player->particles[30 + arg1].alpha -= 12; + ++player->particlePool3[arg1].timer; + player->particlePool3[arg1].scale -= 0.06; + player->particlePool3[arg1].pos[1] += 0.1; + player->particlePool3[arg1].alpha -= 12; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } - if (player->particles[30 + arg1].timer == 10) { - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].type = 0; + if (player->particlePool3[arg1].timer == 10) { + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } } void func_80064988(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - ++player->particles[30 + arg1].timer; - player->particles[30 + arg1].pos[1] -= 0.3; + ++player->particlePool3[arg1].timer; + player->particlePool3[arg1].pos[1] -= 0.3; - if (player->particles[30 + arg1].timer == 10) { - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].type = 0; + if (player->particlePool3[arg1].timer == 10) { + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } } void func_800649F4(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { f32 temp; - temp = player->particles[30 + arg1].unk_018; + temp = player->particlePool3[arg1].unk_018; - player->particles[30 + arg1].pos[2] = - player->unk_21C + (((-temp) * player->particles[30 + arg1].timer) * coss(player->particles[30 + arg1].rotation)); - player->particles[30 + arg1].pos[0] = - player->unk_218 + (((-temp) * player->particles[30 + arg1].timer) * sins(player->particles[30 + arg1].rotation)); - player->particles[30 + arg1].pos[1] = player->pos[1] + player->particles[30 + arg1].unk_014; - player->particles[30 + arg1].scale += 0.04; + player->particlePool3[arg1].pos[2] = + player->unk_21C + (((-temp) * player->particlePool3[arg1].timer) * coss(player->particlePool3[arg1].rotation)); + player->particlePool3[arg1].pos[0] = + player->unk_218 + (((-temp) * player->particlePool3[arg1].timer) * sins(player->particlePool3[arg1].rotation)); + player->particlePool3[arg1].pos[1] = player->pos[1] + player->particlePool3[arg1].surfaceType; + player->particlePool3[arg1].scale += 0.04; - ++player->particles[30 + arg1].timer; - if (player->particles[30 + arg1].timer == 12) { - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].type = 0; + ++player->particlePool3[arg1].timer; + if (player->particlePool3[arg1].timer == 12) { + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - if (player->particles[30 + arg1].timer >= 9) { - player->particles[30 + arg1].alpha -= 0x10; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + if (player->particlePool3[arg1].timer >= 9) { + player->particlePool3[arg1].alpha -= 0x10; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } } void func_80064B30(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { f32 temp; - temp = player->particles[30 + arg1].unk_018 * 1.2; + temp = player->particlePool3[arg1].unk_018 * 1.2; - player->particles[30 + arg1].pos[2] = - (player->pos[2] + (-temp * player->particles[30 + arg1].timer) * (coss(player->particles[30 + arg1].rotation))); - player->particles[30 + arg1].pos[0] = - (player->pos[0] + (-temp * player->particles[30 + arg1].timer) * (sins(player->particles[30 + arg1].rotation))); - player->particles[30 + arg1].pos[1] += 0.1; + player->particlePool3[arg1].pos[2] = + (player->pos[2] + (-temp * player->particlePool3[arg1].timer) * (coss(player->particlePool3[arg1].rotation))); + player->particlePool3[arg1].pos[0] = + (player->pos[0] + (-temp * player->particlePool3[arg1].timer) * (sins(player->particlePool3[arg1].rotation))); + player->particlePool3[arg1].pos[1] += 0.1; - ++player->particles[30 + arg1].timer; - if (player->particles[30 + arg1].timer == 10) { - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].type = 0; + ++player->particlePool3[arg1].timer; + if (player->particlePool3[arg1].timer == 10) { + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - player->particles[30 + arg1].red += 1820; - if (player->particles[30 + arg1].timer >= 6) { - player->particles[30 + arg1].alpha -= 16; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + player->particlePool3[arg1].red += 1820; + if (player->particlePool3[arg1].timer >= 6) { + player->particlePool3[arg1].alpha -= 16; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } } void func_80064C74(Player* player, s16 arg1, UNUSED s8 arg2, UNUSED s8 arg3) { - if (player->particles[30 + arg1].unk_010 == 1) { - player->particles[30 + arg1].rotation += 2184; + if (player->particlePool3[arg1].unk_010 == 1) { + player->particlePool3[arg1].rotation += 2184; } else { - player->particles[30 + arg1].rotation -= 2184; + player->particlePool3[arg1].rotation -= 2184; } - player->particles[30 + arg1].pos[2] = - player->pos[2] + (coss(player->particles[30 + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); - player->particles[30 + arg1].pos[0] = - player->pos[0] + (sins(player->particles[30 + arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); - player->particles[30 + arg1].pos[1] = player->pos[1] - 1.0f; - player->particles[30 + arg1].scale += 0.4; - ++player->particles[30 + arg1].timer; + player->particlePool3[arg1].pos[2] = + player->pos[2] + (coss(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + player->particlePool3[arg1].pos[0] = + player->pos[0] + (sins(player->particlePool3[arg1].rotation - player->rotation[1] - player->unk_0C0) * 5.0f); + player->particlePool3[arg1].pos[1] = player->pos[1] - 1.0f; + player->particlePool3[arg1].scale += 0.4; + ++player->particlePool3[arg1].timer; - if (player->particles[30 + arg1].timer == 10) { - player->particles[30 + arg1].timer = 0; - player->particles[30 + arg1].IsAlive = 0; - player->particles[30 + arg1].type = 0; + if (player->particlePool3[arg1].timer == 10) { + player->particlePool3[arg1].timer = 0; + player->particlePool3[arg1].isAlive = 0; + player->particlePool3[arg1].type = NO_PARTICLE; } - if (player->particles[30 + arg1].timer >= 5) { - player->particles[30 + arg1].alpha -= 20; - if (player->particles[30 + arg1].alpha <= 0) { - player->particles[30 + arg1].alpha = 0; + if (player->particlePool3[arg1].timer >= 5) { + player->particlePool3[arg1].alpha -= 20; + if (player->particlePool3[arg1].alpha <= 0) { + player->particlePool3[arg1].alpha = 0; } } } -void func_80064DEC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { +void func_80064DEC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { - player->particles[20 + arg3].pos[1] = player->pos[1]; - ++player->particles[20 + arg3].timer; + player->particlePool2[index].pos[1] = player->pos[1]; + ++player->particlePool2[index].timer; - if (player->particles[20 + arg3].timer == 9) { + if (player->particlePool2[index].timer == 9) { player->kartGraphics &= ~CRASH; - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } - player->particles[20 + arg3].scale += 0.8; - if (player->particles[20 + arg3].scale >= (f64) 2.5) { - player->particles[20 + arg3].scale = 2.5f; + player->particlePool2[index].scale += 0.8; + if (player->particlePool2[index].scale >= (f64) 2.5) { + player->particlePool2[index].scale = 2.5f; } } -void func_80064EA4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - ++player->particles[20 + arg3].timer; - if (player->particles[20 + arg3].timer < 4) { - player->particles[20 + arg3].scale += 1.2; - if (player->particles[20 + arg3].scale >= 3.5) { - player->particles[20 + arg3].scale = 3.5f; +void func_80064EA4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + ++player->particlePool2[index].timer; + if (player->particlePool2[index].timer < 4) { + player->particlePool2[index].scale += 1.2; + if (player->particlePool2[index].scale >= 3.5) { + player->particlePool2[index].scale = 3.5f; } } else { - player->particles[20 + arg3].scale -= 1.8; - if (player->particles[20 + arg3].scale <= 0.0f) { + player->particlePool2[index].scale -= 1.8; + if (player->particlePool2[index].scale <= 0.0f) { player->kartGraphics &= ~EXPLOSION; - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } } } -void func_80064F88(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - ++player->particles[20 + arg3].timer; - player->particles[20 + arg3].scale += 0.15; +void func_80064F88(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + ++player->particlePool2[index].timer; + player->particlePool2[index].scale += 0.15; - if (1.2 <= player->particles[20 + arg3].scale) { - player->particles[20 + arg3].scale = 1.2f; + if (1.2 <= player->particlePool2[index].scale) { + player->particlePool2[index].scale = 1.2f; } - if (player->particles[20 + arg3].timer >= 12) { + if (player->particlePool2[index].timer >= 12) { player->kartGraphics &= ~BOING; - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } } -void func_80065030(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - ++player->particles[20 + arg3].timer; +void func_80065030(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + ++player->particlePool2[index].timer; - player->particles[20 + arg3].pos[1] += 0.8; - player->particles[20 + arg3].scale += 0.4; - if (player->particles[20 + arg3].scale >= (f64) 1.5) { - player->particles[20 + arg3].scale = 1.5f; + player->particlePool2[index].pos[1] += 0.8; + player->particlePool2[index].scale += 0.4; + if (player->particlePool2[index].scale >= (f64) 1.5) { + player->particlePool2[index].scale = 1.5f; } - if (player->particles[20 + arg3].timer >= 12) { + if (player->particlePool2[index].timer >= 12) { player->kartGraphics &= ~POOMP; - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } } -void func_800650FC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - player->particles[20 + arg3].pos[2] = (f32) player->pos[2]; - player->particles[20 + arg3].pos[0] = (f32) player->pos[0]; - player->particles[20 + arg3].pos[1] = (f32) (player->pos[1] + 4.0f); +void func_800650FC(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + player->particlePool2[index].pos[2] = (f32) player->pos[2]; + player->particlePool2[index].pos[0] = (f32) player->pos[0]; + player->particlePool2[index].pos[1] = (f32) (player->pos[1] + 4.0f); if ((player->effects & BANANA_SPINOUT_EFFECT) == BANANA_SPINOUT_EFFECT) { - player->particles[20 + arg3].rotation += 4732; + player->particlePool2[index].rotation += 4732; } else { - player->particles[20 + arg3].rotation -= 4732; + player->particlePool2[index].rotation -= 4732; } if (((player->effects & BANANA_SPINOUT_EFFECT) != BANANA_SPINOUT_EFFECT) && ((player->effects & DRIVING_SPINOUT_EFFECT) != DRIVING_SPINOUT_EFFECT)) { - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } - player->particles[20 + arg3].scale += 0.08; - if (player->particles[20 + arg3].scale >= 1.5) { - player->particles[20 + arg3].scale = 1.5f; + player->particlePool2[index].scale += 0.08; + if (player->particlePool2[index].scale >= 1.5) { + player->particlePool2[index].scale = 1.5f; } } -void func_800651F4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 arg3) { - ++player->particles[20 + arg3].timer; - if (player->particles[20 + arg3].timer < 8) { - player->particles[20 + arg3].scale += 0.2; - if (1.2 <= player->particles[20 + arg3].scale) { - player->particles[20 + arg3].scale = 1.2f; +void func_800651F4(Player* player, UNUSED s8 arg1, UNUSED s8 arg2, s8 index) { + ++player->particlePool2[index].timer; + if (player->particlePool2[index].timer < 8) { + player->particlePool2[index].scale += 0.2; + if (1.2 <= player->particlePool2[index].scale) { + player->particlePool2[index].scale = 1.2f; } } else { - player->particles[20 + arg3].scale -= 0.4; - if (player->particles[20 + arg3].scale <= 0.0f) { + player->particlePool2[index].scale -= 0.4; + if (player->particlePool2[index].scale <= 0.0f) { player->kartGraphics &= ~WHISTLE; - player->particles[20 + arg3].IsAlive = 0; - player->particles[20 + arg3].timer = 0; - player->particles[20 + arg3].type = 0; + player->particlePool2[index].isAlive = 0; + player->particlePool2[index].timer = 0; + player->particlePool2[index].type = NO_PARTICLE; } } } -void func_800652D4(Vec3f arg0, Vec3s arg1, f32 arg2) { +void func_800652D4(Vec3f arg0, Vec3s arg1, f32 scale) { Mat4 sp20; mtxf_translate_rotate(sp20, arg0, arg1); - mtxf_scale2(sp20, arg2); + mtxf_scale2(sp20, scale); convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], sp20); gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); @@ -4988,10 +4957,10 @@ void func_8006538C(Player* player, s8 playerIndex, s16 arg2, s8 arg3) { s16 envGreen; s16 envBlue; - if (player->particles[arg2].IsAlive == 1) { - spB4[0] = player->particles[arg2].pos[0]; - spB4[1] = player->particles[arg2].pos[1]; - spB4[2] = player->particles[arg2].pos[2]; + if (player->particlePool0[arg2].isAlive == 1) { + spB4[0] = player->particlePool0[arg2].pos[0]; + spB4[1] = player->particlePool0[arg2].pos[1]; + spB4[2] = player->particlePool0[arg2].pos[2]; spAC[0] = 0; spAC[1] = player->unk_048[arg3]; spAC[2] = 0; @@ -5003,26 +4972,26 @@ void func_8006538C(Player* player, s8 playerIndex, s16 arg2, s8 arg3) { envRed = (envColors[1] >> 0x10) & 0xFF; envGreen = (envColors[1] >> 0x08) & 0xFF; envBlue = (envColors[1] >> 0x00) & 0xFF; - primAlpha = player->particles[arg2].alpha; - func_800652D4(spB4, spAC, ((player->particles[arg2].scale * player->size) * 1.4)); + primAlpha = player->particlePool0[arg2].alpha; + func_800652D4(spB4, spAC, ((player->particlePool0[arg2].scale * player->size) * 1.4)); gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_smoke[player->particles[arg2].unk_010], + gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_smoke[player->particlePool0[arg2].unk_010], G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); gSPDisplayList(gDisplayListHead++, D_0D008E48); } else { - primRed = (primColors[player->particles[arg2].red] >> 0x10) & 0xFF; - primGreen = (primColors[player->particles[arg2].red] >> 0x08) & 0xFF; - primBlue = (primColors[player->particles[arg2].red] >> 0x00) & 0xFF; - envRed = (envColors[player->particles[arg2].red] >> 0x10) & 0xFF; - envGreen = (envColors[player->particles[arg2].red] >> 0x08) & 0xFF; - envBlue = (envColors[player->particles[arg2].red] >> 0x00) & 0xFF; - primAlpha = player->particles[arg2].alpha; - func_800652D4(spB4, spAC, player->particles[arg2].scale * player->size); + primRed = (primColors[player->particlePool0[arg2].red] >> 0x10) & 0xFF; + primGreen = (primColors[player->particlePool0[arg2].red] >> 0x08) & 0xFF; + primBlue = (primColors[player->particlePool0[arg2].red] >> 0x00) & 0xFF; + envRed = (envColors[player->particlePool0[arg2].red] >> 0x10) & 0xFF; + envGreen = (envColors[player->particlePool0[arg2].red] >> 0x08) & 0xFF; + envBlue = (envColors[player->particlePool0[arg2].red] >> 0x00) & 0xFF; + primAlpha = player->particlePool0[arg2].alpha; + func_800652D4(spB4, spAC, player->particlePool0[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_smoke[player->particles[arg2].unk_010], + gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_smoke[player->particlePool0[arg2].unk_010], G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); @@ -5040,18 +5009,18 @@ void func_800658A0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[arg2].IsAlive == 1) { - red = player->particles[arg2].red; - green = player->particles[arg2].green; - blue = player->particles[arg2].blue; - alpha = player->particles[arg2].alpha; - sp54[0] = player->particles[arg2].pos[0]; - sp54[1] = player->particles[arg2].pos[1]; - sp54[2] = player->particles[arg2].pos[2]; + if (player->particlePool0[arg2].isAlive == 1) { + red = player->particlePool0[arg2].red; + green = player->particlePool0[arg2].green; + blue = player->particlePool0[arg2].blue; + alpha = player->particlePool0[arg2].alpha; + sp54[0] = player->particlePool0[arg2].pos[0]; + sp54[1] = player->particlePool0[arg2].pos[1]; + sp54[2] = player->particlePool0[arg2].pos[2]; sp4C[0] = 0; sp4C[1] = player->unk_048[arg3]; sp4C[2] = 0; - func_800652D4(sp54, sp4C, player->particles[arg2].scale * player->size); + func_800652D4(sp54, sp4C, player->particlePool0[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, @@ -5062,7 +5031,7 @@ void func_800658A0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { } } -void func_80065AB0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { +void render_player_drift_particles(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { Vec3f spB4; Vec3s spAC; s32 var_s0; @@ -5074,29 +5043,29 @@ void func_80065AB0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { s16 envGreen; s16 envBlue; s32 sp8C[] = { 0x00ffffff, 0x00ffff00, 0x00ff9600 }; - if (player->particles[10 + arg2].IsAlive == 1) { - if (player->unk_204 >= 0x32) { + if (player->particlePool1[arg2].isAlive == 1) { + if (player->driftDuration >= 0x32) { var_s0 = 1; } else { var_s0 = 0; } - primRed = player->particles[10 + arg2].red; - primGreen = player->particles[10 + arg2].green; - primBlue = player->particles[10 + arg2].blue; - primAlpha = player->particles[10 + arg2].alpha; - envRed = (sp8C[player->particles[10 + arg2].unk_040] >> 0x10) & 0xFF; - envGreen = (sp8C[player->particles[10 + arg2].unk_040] >> 0x08) & 0xFF; - envBlue = (sp8C[player->particles[10 + arg2].unk_040] >> 0x00) & 0xFF; - spB4[0] = player->particles[10 + arg2].pos[0]; - spB4[1] = player->particles[10 + arg2].pos[1]; - spB4[2] = player->particles[10 + arg2].pos[2]; + primRed = player->particlePool1[arg2].red; + primGreen = player->particlePool1[arg2].green; + primBlue = player->particlePool1[arg2].blue; + primAlpha = player->particlePool1[arg2].alpha; + envRed = (sp8C[player->particlePool1[arg2].unk_040] >> 0x10) & 0xFF; + envGreen = (sp8C[player->particlePool1[arg2].unk_040] >> 0x08) & 0xFF; + envBlue = (sp8C[player->particlePool1[arg2].unk_040] >> 0x00) & 0xFF; + spB4[0] = player->particlePool1[arg2].pos[0]; + spB4[1] = player->particlePool1[arg2].pos[1]; + spB4[2] = player->particlePool1[arg2].pos[2]; spAC[0] = 0; spAC[1] = player->unk_048[arg3]; spAC[2] = 0; - func_800652D4(spB4, spAC, player->particles[10 + arg2].scale * player->size); + func_800652D4(spB4, spAC, player->particlePool1[arg2].scale * player->size); if (var_s0 == 0) { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_800E4770[var_s0][0], G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, + gDPLoadTextureBlock(gDisplayListHead++, *D_800E4770[var_s0], G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); @@ -5104,7 +5073,7 @@ void func_80065AB0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { gSPDisplayList(gDisplayListHead++, D_0D008DF8); } else { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_800E4770[var_s0][0], G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, *D_800E4770[var_s0], G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); @@ -5115,8 +5084,8 @@ void func_80065AB0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { } } -void func_80065F0C(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { - Vec3f spDC; +void render_player_ground_particles(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { + Vec3f pos; Vec3s spD4; s16 primRed; s16 primGreen; @@ -5125,41 +5094,53 @@ void func_80065F0C(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { s16 envRed; s16 envGreen; s16 envBlue; - if ((player->particles[10 + arg2].IsAlive == 1) && (player->particles[10 + arg2].timer != 0)) { - spDC[0] = player->particles[10 + arg2].pos[0]; - spDC[1] = player->particles[10 + arg2].pos[1]; - spDC[2] = player->particles[10 + arg2].pos[2]; + + if ((player->particlePool1[arg2].isAlive == 1) && (player->particlePool1[arg2].timer != 0)) { + pos[0] = player->particlePool1[arg2].pos[0]; + pos[1] = player->particlePool1[arg2].pos[1]; + pos[2] = player->particlePool1[arg2].pos[2]; spD4[0] = 0; spD4[1] = player->unk_048[arg3]; spD4[2] = 0; - func_800652D4(&spDC[0], &spD4[0], player->particles[10 + arg2].scale * player->size); - if (((s32) player->particles[10 + arg2].unk_014) != 8) { - primRed = ((D_800E47DC[player->particles[10 + arg2].red] >> 0x10) & 0xFF) - player->particles[10 + arg2].green; - primGreen = ((D_800E47DC[player->particles[10 + arg2].red] >> 0x08) & 0xFF) - player->particles[10 + arg2].green; - primBlue = ((D_800E47DC[player->particles[10 + arg2].red] >> 0x00) & 0xFF) - player->particles[10 + arg2].green; - envRed = ((D_800E480C[player->particles[10 + arg2].red] >> 0x10) & 0xFF) - player->particles[10 + arg2].green; - envGreen = ((D_800E480C[player->particles[10 + arg2].red] >> 0x08) & 0xFF) - player->particles[10 + arg2].green; - envBlue = ((D_800E480C[player->particles[10 + arg2].red] >> 0x00) & 0xFF) - player->particles[10 + arg2].green; - primAlpha = player->particles[10 + arg2].alpha; - if (player->particles[10 + arg2].unk_040 == 0) { + func_800652D4(pos, spD4, player->particlePool1[arg2].scale * player->size); + if ((s32) player->particlePool1[arg2].surfaceType != GRASS) { + primRed = + ((D_800E47DC[player->particlePool1[arg2].red] >> 0x10) & 0xFF) - player->particlePool1[arg2].green; + primGreen = + ((D_800E47DC[player->particlePool1[arg2].red] >> 0x08) & 0xFF) - player->particlePool1[arg2].green; + primBlue = + ((D_800E47DC[player->particlePool1[arg2].red] >> 0x00) & 0xFF) - player->particlePool1[arg2].green; + envRed = ((D_800E480C[player->particlePool1[arg2].red] >> 0x10) & 0xFF) - player->particlePool1[arg2].green; + envGreen = + ((D_800E480C[player->particlePool1[arg2].red] >> 0x08) & 0xFF) - player->particlePool1[arg2].green; + envBlue = + ((D_800E480C[player->particlePool1[arg2].red] >> 0x00) & 0xFF) - player->particlePool1[arg2].green; + primAlpha = player->particlePool1[arg2].alpha; + if (player->particlePool1[arg2].unk_040 == 0) { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, gLoadedGroundDust, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); gSPDisplayList(gDisplayListHead++, D_0D008E48); } else { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, gLoadedGroundDust, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); gSPDisplayList(gDisplayListHead++, D_0D008E48); } } else { - primRed = player->particles[10 + arg2].red; - primGreen = player->particles[10 + arg2].green; - primBlue = player->particles[10 + arg2].blue; + primRed = player->particlePool1[arg2].red; + primGreen = player->particlePool1[arg2].green; + primBlue = player->particlePool1[arg2].blue; gSPDisplayList(gDisplayListHead++, D_0D008C90); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D498, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, gLoadedGrassParticle, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); func_8004B35C(primRed, primGreen, primBlue, 0x000000FF); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); gSPVertex(gDisplayListHead++, D_800E8C00, 4, 0); @@ -5177,18 +5158,18 @@ void func_800664E0(Player* player, UNUSED s8 playerIndex, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[10 + arg2].IsAlive == 1) { - red = player->particles[10 + arg2].red; - green = player->particles[10 + arg2].green; - blue = player->particles[10 + arg2].blue; - alpha = player->particles[10 + arg2].alpha; - sp54[0] = player->particles[10 + arg2].pos[0]; - sp54[1] = player->particles[10 + arg2].pos[1]; - sp54[2] = player->particles[10 + arg2].pos[2]; + if (player->particlePool1[arg2].isAlive == 1) { + red = player->particlePool1[arg2].red; + green = player->particlePool1[arg2].green; + blue = player->particlePool1[arg2].blue; + alpha = player->particlePool1[arg2].alpha; + sp54[0] = player->particlePool1[arg2].pos[0]; + sp54[1] = player->particlePool1[arg2].pos[1]; + sp54[2] = player->particlePool1[arg2].pos[2]; sp4C[0] = 0; sp4C[1] = player->unk_048[arg3]; sp4C[2] = 0; - func_800652D4(sp54, sp4C, player->particles[10 + arg2].scale * player->size); + func_800652D4(sp54, sp4C, player->particlePool1[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, @@ -5208,18 +5189,18 @@ void func_80066714(Player* player, UNUSED s32 arg1, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[10 + arg2].IsAlive == 1) { - red = player->particles[10 + arg2].red; - green = player->particles[10 + arg2].green; - blue = player->particles[10 + arg2].blue; - alpha = player->particles[10 + arg2].alpha; - sp5C[0] = player->particles[10 + arg2].pos[0]; - sp5C[1] = player->particles[10 + arg2].pos[1]; - sp5C[2] = player->particles[10 + arg2].pos[2]; + if (player->particlePool1[arg2].isAlive == 1) { + red = player->particlePool1[arg2].red; + green = player->particlePool1[arg2].green; + blue = player->particlePool1[arg2].blue; + alpha = player->particlePool1[arg2].alpha; + sp5C[0] = player->particlePool1[arg2].pos[0]; + sp5C[1] = player->particlePool1[arg2].pos[1]; + sp5C[2] = player->particlePool1[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; sp54[2] = 0; - func_800652D4(sp5C, sp54, player->particles[10 + arg2].scale * player->size); + func_800652D4(sp5C, sp54, player->particlePool1[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008C90); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_fire, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, @@ -5241,18 +5222,18 @@ void func_80066998(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[arg2].IsAlive == 1) { - red = player->particles[arg2].red; - green = player->particles[arg2].green; - blue = player->particles[arg2].blue; - alpha = player->particles[arg2].alpha; - sp54[0] = player->particles[arg2].pos[0]; - sp54[1] = player->particles[arg2].pos[1]; - sp54[2] = player->particles[arg2].pos[2]; + if (player->particlePool0[arg2].isAlive == 1) { + red = player->particlePool0[arg2].red; + green = player->particlePool0[arg2].green; + blue = player->particlePool0[arg2].blue; + alpha = player->particlePool0[arg2].alpha; + sp54[0] = player->particlePool0[arg2].pos[0]; + sp54[1] = player->particlePool0[arg2].pos[1]; + sp54[2] = player->particlePool0[arg2].pos[2]; sp4C[0] = 0x4000; sp4C[1] = player->unk_048[arg3]; sp4C[2] = 0; - func_800652D4(sp54, sp4C, player->particles[arg2].scale * player->size); + func_800652D4(sp54, sp4C, player->particlePool0[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, @@ -5268,7 +5249,7 @@ void func_80066BAC(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3s spD4; UNUSED s32 stackPadding; - if ((player->particles[arg2].IsAlive == 1) && (player->particles[arg2].red != 0x00FF)) { + if ((player->particlePool0[arg2].isAlive == 1) && (player->particlePool0[arg2].red != 0x00FF)) { if (player->collision.surfaceDistance[2] >= 300.0f) { spDC[1] = player->pos[1] + 5.0f; @@ -5284,34 +5265,34 @@ void func_80066BAC(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { } spD4[1] = player->unk_048[arg3]; spD4[2] = 0; - func_800652D4(spDC, spD4, player->particles[arg2].scale * player->size); - if (player->particles[arg2].red == 0) { + func_800652D4(spDC, spD4, player->particlePool0[arg2].scale * player->size); + if (player->particlePool0[arg2].red == 0) { gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C4, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt0, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPVertex(gDisplayListHead++, &D_800E8900[0][player->particles[arg2].red], 4, 0); + gSPVertex(gDisplayListHead++, &D_800E8900[0][player->particlePool0[arg2].red], 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C8, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt1, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPVertex(gDisplayListHead++, &D_800E8900[1][player->particles[arg2].red], 4, 0); + gSPVertex(gDisplayListHead++, &D_800E8900[1][player->particlePool0[arg2].red], 4, 0); gSPDisplayList(gDisplayListHead++, D_0D008DA0); } else { gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C8, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt1, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPVertex(gDisplayListHead++, &D_800E8900[0][player->particles[arg2].red], 4, 0); + gSPVertex(gDisplayListHead++, &D_800E8900[0][player->particlePool0[arg2].red], 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C4, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt0, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPVertex(gDisplayListHead++, &D_800E8900[1][player->particles[arg2].red], 4, 0); + gSPVertex(gDisplayListHead++, &D_800E8900[1][player->particlePool0[arg2].red], 4, 0); gSPDisplayList(gDisplayListHead++, D_0D008DA0); } gMatrixEffectCount += 1; @@ -5326,19 +5307,19 @@ void func_80067280(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[30 + arg2].IsAlive == 1) { - red = player->particles[30 + arg2].red; - green = player->particles[30 + arg2].green; - blue = player->particles[30 + arg2].blue; - alpha = player->particles[30 + arg2].alpha; - sp7C[0] = player->particles[30 + arg2].pos[0]; - sp7C[1] = player->particles[30 + arg2].pos[1]; - sp7C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + red = player->particlePool3[arg2].red; + green = player->particlePool3[arg2].green; + blue = player->particlePool3[arg2].blue; + alpha = player->particlePool3[arg2].alpha; + sp7C[0] = player->particlePool3[arg2].pos[0]; + sp7C[1] = player->particlePool3[arg2].pos[1]; + sp7C[2] = player->particlePool3[arg2].pos[2]; sp74[0] = -0x071C; sp74[2] = 0; - if (player->particles[30 + arg2].unk_010 == 1) { + if (player->particlePool3[arg2].unk_010 == 1) { sp74[1] = player->unk_048[arg3] - 0x2000; - func_800652D4(sp7C, sp74, player->particles[30 + arg2].scale * player->size); + func_800652D4(sp7C, sp74, player->particlePool3[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, @@ -5347,7 +5328,7 @@ void func_80067280(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { gSPDisplayList(gDisplayListHead++, D_0D008E70); } else { sp74[1] = player->unk_048[arg3] + 0x2000; - func_800652D4(sp7C, sp74, player->particles[30 + arg2].scale * player->size); + func_800652D4(sp7C, sp74, player->particlePool3[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, @@ -5364,15 +5345,15 @@ void render_player_boost_spark_particles(Player* player, UNUSED s8 arg1, s16 arg Vec3s sp84; UNUSED s32 stackPadding[4]; - if (player->particles[30 + arg2].IsAlive == 1) { - sp8C[0] = player->particles[30 + arg2].pos[0]; - sp8C[1] = player->particles[30 + arg2].pos[1]; - sp8C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + sp8C[0] = player->particlePool3[arg2].pos[0]; + sp8C[1] = player->particlePool3[arg2].pos[1]; + sp8C[2] = player->particlePool3[arg2].pos[2]; sp84[0] = 0; sp84[1] = player->unk_048[arg3]; sp84[2] = 0; - func_800652D4(sp8C, sp84, player->particles[30 + arg2].scale * player->size); - if (player->particles[30 + arg2].unk_010 == 1) { + func_800652D4(sp8C, sp84, player->particlePool3[arg2].scale * player->size); + if (player->particlePool3[arg2].unk_010 == 1) { gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, common_texture_particle_spark, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, @@ -5396,24 +5377,24 @@ void render_player_onomatopoeia_whrrrr(Player* player, UNUSED s8 arg1, f32 arg2, Vec3s sp94; UNUSED s32 stackPadding[2]; - if (player->particles[20 + arg4].IsAlive == 1) { - sp9C[0] = player->particles[20 + arg4].pos[0]; - sp9C[1] = player->particles[20 + arg4].pos[1]; - sp9C[2] = player->particles[20 + arg4].pos[2]; + if (player->particlePool2[arg4].isAlive == 1) { + sp9C[0] = player->particlePool2[arg4].pos[0]; + sp9C[1] = player->particlePool2[arg4].pos[1]; + sp9C[2] = player->particlePool2[arg4].pos[2]; sp94[0] = 0; - sp94[1] = player->particles[20 + arg4].rotation; + sp94[1] = player->particlePool2[arg4].rotation; sp94[2] = 0; func_800652D4(sp9C, sp94, player->size * arg2); gSPDisplayList(gDisplayListHead++, D_0D008C90); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0); gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4AC, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaWhrrrr1, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8840, 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4B0, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaWhrrrr2, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8800, 4, 0); @@ -5432,14 +5413,14 @@ void render_player_speech_bubble(Player* player, s8 arg1, u8* texture, s8 arg3, s16 blue = ((arg5 >> 0x00) & 0xFF) & 0xFF; // ???????????????????????????????????????? - if (player->particles[20 + arg3].IsAlive == 1) { + if (player->particlePool2[arg3].isAlive == 1) { sp74[0] = 0; sp74[1] = player->unk_048[arg1]; sp74[2] = 0; sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); sp7C[1] = player->pos[1] + player->boundingBoxSize - sp54[player->characterId] - 2.0f; sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); - func_800652D4(sp7C, sp74, player->particles[20 + arg3].scale * player->size); + func_800652D4(sp7C, sp74, player->particlePool2[arg3].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -5460,14 +5441,14 @@ void render_music_note(Player* player, s8 arg1, u8* texture, s8 arg3, f32 arg4, s16 blue = ((arg5 >> 0x00) & 0xFF) & 0xFF; // ???????????????????????????????????????? - if (player->particles[20 + arg3].IsAlive == 1) { + if (player->particlePool2[arg3].isAlive == 1) { sp74[0] = 0; sp74[1] = player->unk_048[arg1]; sp74[2] = 0; sp7C[0] = player->pos[0] + (sins((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); sp7C[1] = player->pos[1] + player->boundingBoxSize - sp54[player->characterId] - 2.0f; sp7C[2] = player->pos[2] + (coss((0x4000 & 0xFFFFFFFF) - (player->rotation[1] + player->unk_0C0)) * arg4); - func_800652D4(sp7C, sp74, player->particles[20 + arg3].scale * player->size * 0.8); + func_800652D4(sp7C, sp74, player->particlePool2[arg3].scale * player->size * 0.8); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -5478,28 +5459,28 @@ void render_music_note(Player* player, s8 arg1, u8* texture, s8 arg3, f32 arg4, } } -void func_80068310(Player* player, UNUSED s8 arg1, UNUSED f32 arg2, s8 arg3, s8 arg4) { +void render_player_onomatopoeia_crash(Player* player, UNUSED s8 arg1, UNUSED f32 arg2, s8 arg3, s8 arg4) { UNUSED s32 stackPadding[16]; // huh? Vec3f sp9C; Vec3s sp94; - if (player->particles[20 + arg4].IsAlive == 1) { - sp9C[1] = player->particles[20 + arg4].pos[1]; + if (player->particlePool2[arg4].isAlive == 1) { + sp9C[1] = player->particlePool2[arg4].pos[1]; sp9C[2] = player->pos[2] + (coss(player->unk_048[arg3]) * -10.0f); sp9C[0] = player->pos[0] + (sins(player->unk_048[arg3]) * -10.0f); sp94[0] = 0; sp94[1] = player->unk_048[arg3]; sp94[2] = 0; - func_800652D4(sp9C, sp94, player->particles[20 + arg4].scale * player->size); + func_800652D4(sp9C, sp94, player->particlePool2[arg4].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008C90); gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0); gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4B4, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaCrash1, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8880, 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4B8, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaCrash2, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E88C0, 4, 0); @@ -5513,23 +5494,23 @@ void func_80068724(Player* player, UNUSED s8 arg1, UNUSED f32 arg2, s8 arg3, s8 Vec3f sp84; Vec3s sp7C; - if (player->particles[20 + arg4].IsAlive == 1) { + if (player->particlePool2[arg4].isAlive == 1) { sp84[1] = player->pos[1] - 3.0f; sp84[2] = player->pos[2] + (coss(player->unk_048[arg3]) * -10.0f); sp84[0] = player->pos[0] + (sins(player->unk_048[arg3]) * -10.0f); sp7C[0] = 0; sp7C[1] = player->unk_048[arg3]; sp7C[2] = 0; - func_800652D4(sp84, sp7C, player->particles[20 + arg4].scale * player->size); + func_800652D4(sp84, sp7C, player->particlePool2[arg4].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C4, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt0, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8A00, 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4C8, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedLightningBolt1, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8A40, 4, 0); @@ -5542,14 +5523,14 @@ void render_player_onomatopoeia_boing(Player* player, UNUSED s8 arg1, UNUSED f32 Vec3f sp64; Vec3s sp5C; - if ((player->particles[20 + arg4].IsAlive == 1) && (player->animFrameSelector[arg3] < 0xD)) { + if ((player->particlePool2[arg4].isAlive == 1) && (player->animFrameSelector[arg3] < 0xD)) { sp64[1] = player->pos[1] - 3.0f; - sp64[2] = player->pos[2] + ((-2.5 * player->particles[20 + arg4].timer) * coss(player->unk_048[arg3])); - sp64[0] = player->pos[0] + ((-2.5 * player->particles[20 + arg4].timer) * sins(player->unk_048[arg3])); + sp64[2] = player->pos[2] + ((-2.5 * player->particlePool2[arg4].timer) * coss(player->unk_048[arg3])); + sp64[0] = player->pos[0] + ((-2.5 * player->particlePool2[arg4].timer) * sins(player->unk_048[arg3])); sp5C[0] = 0; sp5C[1] = player->unk_048[arg3]; sp5C[2] = 0; - func_800652D4(sp64, sp5C, player->particles[20 + arg4].scale * player->size); + func_800652D4(sp64, sp5C, player->particlePool2[arg4].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPLoadTextureBlock(gDisplayListHead++, D_8018D4A0, G_IM_FMT_IA, G_IM_SIZ_8b, 64, 32, 0, @@ -5567,23 +5548,23 @@ void render_player_onomatopoeia_pomp(Player* player, UNUSED s8 arg1, UNUSED f32 Vec3f sp9C; Vec3s sp94; - if ((player->particles[20 + arg4].IsAlive == 1) && ((s32) player->animFrameSelector[arg3] < 0xD)) { - sp9C[1] = (player->pos[1] - 3.0f) + player->particles[20 + arg4].pos[1]; + if ((player->particlePool2[arg4].isAlive == 1) && ((s32) player->animFrameSelector[arg3] < 0xD)) { + sp9C[1] = (player->pos[1] - 3.0f) + player->particlePool2[arg4].pos[1]; sp9C[2] = player->pos[2] + (coss(player->unk_048[arg3]) * -10.0f); sp9C[0] = player->pos[0] + (sins(player->unk_048[arg3]) * -10.0f); sp94[0] = 0; sp94[1] = player->unk_048[arg3]; sp94[2] = 0; - func_800652D4(sp9C, sp94, player->particles[20 + arg4].scale * player->size); + func_800652D4(sp9C, sp94, player->particlePool2[arg4].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008C90); gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0); gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4A4, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaPoomp1, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8B80, 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D4A8, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gTextureLoadedOnomatopoeiaPoomp2, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, D_800E8BC0, 4, 0); @@ -5597,15 +5578,15 @@ void render_actor_bonk_particles(Player* player, UNUSED s8 arg1, s16 arg2, s8 ar Vec3s sp54; s16 alpha; - if (player->particles[30 + arg2].IsAlive == 1) { - alpha = player->particles[30 + arg2].alpha; - sp5C[0] = player->particles[30 + arg2].pos[0]; - sp5C[1] = player->particles[30 + arg2].pos[1]; - sp5C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + alpha = player->particlePool3[arg2].alpha; + sp5C[0] = player->particlePool3[arg2].pos[0]; + sp5C[1] = player->particlePool3[arg2].pos[1]; + sp5C[2] = player->particlePool3[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; - player->particles[30 + arg2].green += 0x1C71; - sp54[2] = player->particles[30 + arg2].green; + player->particlePool3[arg2].green += 0x1C71; + sp54[2] = player->particlePool3[arg2].green; func_800652D4(sp5C, sp54, player->size * 0.5); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); @@ -5631,25 +5612,25 @@ void func_80069444(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 envGreen; s16 envBlue; u16 test; - if (player->particles[30 + arg2].IsAlive == 1) { - primRed = (D_800E47DC[player->particles[30 + arg2].red] >> 0x10) & 0xFF; - primGreen = (D_800E47DC[player->particles[30 + arg2].red] >> 8) & 0xFF; - primBlue = D_800E47DC[player->particles[30 + arg2].red] & 0xFF; + if (player->particlePool3[arg2].isAlive == 1) { + primRed = (D_800E47DC[player->particlePool3[arg2].red] >> 0x10) & 0xFF; + primGreen = (D_800E47DC[player->particlePool3[arg2].red] >> 8) & 0xFF; + primBlue = D_800E47DC[player->particlePool3[arg2].red] & 0xFF; - envRed = (D_800E480C[player->particles[30 + arg2].red] >> 0x10) & 0xFF; - envGreen = (D_800E480C[player->particles[30 + arg2].red] >> 8) & 0xFF; - envBlue = D_800E480C[player->particles[30 + arg2].red] & 0xFF; - primAlpha = player->particles[30 + arg2].alpha; + envRed = (D_800E480C[player->particlePool3[arg2].red] >> 0x10) & 0xFF; + envGreen = (D_800E480C[player->particlePool3[arg2].red] >> 8) & 0xFF; + envBlue = D_800E480C[player->particlePool3[arg2].red] & 0xFF; + primAlpha = player->particlePool3[arg2].alpha; - sp74[0] = player->particles[30 + arg2].pos[0]; - sp74[1] = player->particles[30 + arg2].pos[1]; - sp74[2] = player->particles[30 + arg2].pos[2]; + sp74[0] = player->particlePool3[arg2].pos[0]; + sp74[1] = player->particlePool3[arg2].pos[1]; + sp74[2] = player->particlePool3[arg2].pos[2]; sp6C[0] = 0; sp6C[1] = player->unk_048[arg3]; sp6C[2] = 0; func_800652D4(sp74, sp6C, player->size * 1.5); gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, + gDPLoadTextureBlock(gDisplayListHead++, gLoadedGroundDust, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); // `test` MUST be a u16 @@ -5668,11 +5649,11 @@ void render_wall_bonk_star_particles(Player* player, UNUSED s8 arg1, s16 arg2, s Vec3s sp54; s16 alpha; - if (player->particles[30 + arg2].IsAlive == 1) { - alpha = player->particles[30 + arg2].alpha; - sp5C[0] = player->particles[30 + arg2].pos[0]; - sp5C[1] = player->particles[30 + arg2].pos[1]; - sp5C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + alpha = player->particlePool3[arg2].alpha; + sp5C[0] = player->particlePool3[arg2].pos[0]; + sp5C[1] = player->particlePool3[arg2].pos[1]; + sp5C[2] = player->particlePool3[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; sp54[2] = 0; @@ -5695,15 +5676,15 @@ void func_80069938(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3s sp54; s16 alpha; - if (player->particles[30 + arg2].IsAlive == 1) { - alpha = player->particles[30 + arg2].alpha; - sp5C[0] = player->particles[30 + arg2].pos[0]; - sp5C[1] = player->particles[30 + arg2].pos[1]; - sp5C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + alpha = player->particlePool3[arg2].alpha; + sp5C[0] = player->particlePool3[arg2].pos[0]; + sp5C[1] = player->particlePool3[arg2].pos[1]; + sp5C[2] = player->particlePool3[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; - sp54[2] = player->particles[30 + arg2].red; - func_800652D4(sp5C, sp54, player->particles[30 + arg2].scale * player->size); + sp54[2] = player->particlePool3[arg2].red; + func_800652D4(sp5C, sp54, player->particlePool3[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPLoadTextureBlock(gDisplayListHead++, D_8018D488, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, @@ -5725,18 +5706,18 @@ void func_80069BA8(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 blue; s16 alpha; - if (player->particles[30 + arg2].IsAlive == 1) { - red = player->particles[30 + arg2].red; - green = player->particles[30 + arg2].green; - blue = player->particles[30 + arg2].blue; - alpha = player->particles[30 + arg2].alpha; - sp54[0] = player->particles[30 + arg2].pos[0]; - sp54[1] = player->particles[30 + arg2].pos[1]; - sp54[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + red = player->particlePool3[arg2].red; + green = player->particlePool3[arg2].green; + blue = player->particlePool3[arg2].blue; + alpha = player->particlePool3[arg2].alpha; + sp54[0] = player->particlePool3[arg2].pos[0]; + sp54[1] = player->particlePool3[arg2].pos[1]; + sp54[2] = player->particlePool3[arg2].pos[2]; sp4C[0] = 0; sp4C[1] = player->unk_048[arg3]; sp4C[2] = 0; - func_800652D4(sp54, sp4C, player->particles[30 + arg2].scale * player->size); + func_800652D4(sp54, sp4C, player->particlePool3[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008DB8); gDPLoadTextureBlock(gDisplayListHead++, D_8018D48C, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, @@ -5752,14 +5733,14 @@ void func_80069DB8(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3s sp54; UNUSED s32 stackPadding[2]; - if (player->particles[30 + arg2].IsAlive == 1) { - sp5C[0] = player->particles[30 + arg2].pos[0]; - sp5C[1] = player->particles[30 + arg2].pos[1]; - sp5C[2] = player->particles[30 + arg2].pos[2]; + if (player->particlePool3[arg2].isAlive == 1) { + sp5C[0] = player->particlePool3[arg2].pos[0]; + sp5C[1] = player->particlePool3[arg2].pos[1]; + sp5C[2] = player->particlePool3[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; sp54[2] = 0; - func_800652D4(sp5C, sp54, player->particles[30 + arg2].scale * player->size); + func_800652D4(sp5C, sp54, player->particlePool3[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); gDPLoadTextureBlock(gDisplayListHead++, D_8018D49C, G_IM_FMT_IA, G_IM_SIZ_16b, 16, 16, 0, @@ -5777,14 +5758,14 @@ void func_8006A01C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3f sp54; Vec3s sp4C; - if (player->particles[arg2].IsAlive == 1) { - sp54[0] = player->particles[10 + arg2].pos[0]; - sp54[1] = player->particles[10 + arg2].pos[1]; - sp54[2] = player->particles[10 + arg2].pos[2]; + if (player->particlePool0[arg2].isAlive == 1) { + sp54[0] = player->particlePool1[arg2].pos[0]; + sp54[1] = player->particlePool1[arg2].pos[1]; + sp54[2] = player->particlePool1[arg2].pos[2]; sp4C[0] = 0; sp4C[1] = player->unk_048[arg3]; sp4C[2] = 0; - func_800652D4(sp54, sp4C, player->particles[10 + arg2].scale * player->size); + func_800652D4(sp54, sp4C, player->particlePool1[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); @@ -5806,21 +5787,21 @@ void func_8006A280(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 green; s16 blue; - if (player->particles[arg2].IsAlive == 1) { - red = player->particles[arg2].red; - green = player->particles[arg2].green; - blue = player->particles[arg2].blue; - sp5C[0] = player->particles[arg2].pos[0]; - sp5C[1] = player->particles[arg2].pos[1]; - sp5C[2] = player->particles[arg2].pos[2]; + if (player->particlePool0[arg2].isAlive == 1) { + red = player->particlePool0[arg2].red; + green = player->particlePool0[arg2].green; + blue = player->particlePool0[arg2].blue; + sp5C[0] = player->particlePool0[arg2].pos[0]; + sp5C[1] = player->particlePool0[arg2].pos[1]; + sp5C[2] = player->particlePool0[arg2].pos[2]; sp54[0] = 0; sp54[1] = player->unk_048[arg3]; sp54[2] = 0; - func_800652D4(sp5C, sp54, player->particles[arg2].scale * player->size); + func_800652D4(sp5C, sp54, player->particlePool0[arg2].scale * player->size); gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); - gDPLoadTextureBlock_4b(gDisplayListHead++, *D_800E47A0[player->particles[arg2].timer], G_IM_FMT_I, 64, 64, 0, - G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, + gDPLoadTextureBlock_4b(gDisplayListHead++, *D_800E47A0[player->particlePool0[arg2].timer], G_IM_FMT_I, 64, 64, + 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B414(red, green, blue, 0x000000FF); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); @@ -5854,7 +5835,7 @@ void init_balloon(Player* player, f32 arg1, f32 arg2, s8 playerIndex, s8 balloon D_8018D890[playerIndex][balloonIndex] = 0; } -void func_8006A7C0(Player* player, f32 arg1, f32 arg2, s8 playerIndex, s8 balloonIndex) { +void update_player_one_balloon_position(Player* player, f32 arg1, f32 arg2, s8 playerId, s8 balloonId) { f32 sp80[] = { 9.0f, 10.0f, 9.0f, 8.0f, 10.0f, 9.5f, 9.5f, 11.0f, }; @@ -5867,75 +5848,75 @@ void func_8006A7C0(Player* player, f32 arg1, f32 arg2, s8 playerIndex, s8 balloo UNUSED s32 stackPadding2; sp6C = (-(player->speed / 18.0f) * 216.0f) / 10.0f; - if ((gPlayerBalloonStatus[playerIndex][balloonIndex] & BALLOON_STATUS_DEPARTING) != BALLOON_STATUS_DEPARTING) { - D_8018D650[playerIndex][balloonIndex] += -0.003 + (-player->speed * 0.0006); - if (D_8018D650[playerIndex][balloonIndex] >= 0.05) { - D_8018D650[playerIndex][balloonIndex] = 0.05f; + if ((gPlayerBalloonStatus[playerId][balloonId] & 2) != 2) { + D_8018D650[playerId][balloonId] += -0.003 + (-player->speed * 0.0006); + if (D_8018D650[playerId][balloonId] >= 0.05) { + D_8018D650[playerId][balloonId] = 0.05f; } - if (D_8018D650[playerIndex][balloonIndex] <= -0.05) { - D_8018D650[playerIndex][balloonIndex] = -0.05f; + if (D_8018D650[playerId][balloonId] <= -0.05) { + D_8018D650[playerId][balloonId] = -0.05f; } - D_8018D6B0[playerIndex][balloonIndex] += D_8018D650[playerIndex][balloonIndex]; - if (D_8018D6B0[playerIndex][balloonIndex] >= 0.06) { - D_8018D6B0[playerIndex][balloonIndex] = 0.06f; + D_8018D6B0[playerId][balloonId] += D_8018D650[playerId][balloonId]; + if (D_8018D6B0[playerId][balloonId] >= 0.06) { + D_8018D6B0[playerId][balloonId] = 0.06f; } - if (D_8018D6B0[playerIndex][balloonIndex] <= -0.06) { - D_8018D6B0[playerIndex][balloonIndex] = -0.06f; + if (D_8018D6B0[playerId][balloonId] <= -0.06) { + D_8018D6B0[playerId][balloonId] = -0.06f; } - D_8018D710[playerIndex][balloonIndex] += D_8018D6B0[playerIndex][balloonIndex]; - if (D_8018D710[playerIndex][balloonIndex] < 0.0f) { - D_8018D650[playerIndex][balloonIndex] = random_int(0x000BU) / 10; - D_8018D6B0[playerIndex][balloonIndex] = 0.0f; - D_8018D710[playerIndex][balloonIndex] = 0.0f; + D_8018D710[playerId][balloonId] += D_8018D6B0[playerId][balloonId]; + if (D_8018D710[playerId][balloonId] < 0.0f) { + D_8018D650[playerId][balloonId] = random_int(0x000BU) / 10; + D_8018D6B0[playerId][balloonId] = 0.0f; + D_8018D710[playerId][balloonId] = 0.0f; } - D_8018D620[playerIndex][balloonIndex] = -player->rotation[1] - player->unk_0C0; - move_s16_towards(&D_8018D890[playerIndex][balloonIndex], player->speed * 182.0f, 0.1f); + D_8018D620[playerId][balloonId] = -player->rotation[1] - player->unk_0C0; + move_s16_towards(&D_8018D890[playerId][balloonId], player->speed * 182.0f, 0.1f); } - if (D_8018D830[playerIndex][balloonIndex] == 1) { - D_8018D770[playerIndex][balloonIndex] += D_8018D800[playerIndex][balloonIndex] - player->speed; + if (D_8018D830[playerId][balloonId] == 1) { + D_8018D770[playerId][balloonId] += D_8018D800[playerId][balloonId] - player->speed; } else { - D_8018D770[playerIndex][balloonIndex] += D_8018D800[playerIndex][balloonIndex] + player->speed; + D_8018D770[playerId][balloonId] += D_8018D800[playerId][balloonId] + player->speed; } - if (D_8018D770[playerIndex][balloonIndex] >= 0xB) { - D_8018D770[playerIndex][balloonIndex] = 0x000B; + if (D_8018D770[playerId][balloonId] >= 0xB) { + D_8018D770[playerId][balloonId] = 0x000B; } - if (D_8018D770[playerIndex][balloonIndex] < -0xA) { - D_8018D770[playerIndex][balloonIndex] = -0x000B; + if (D_8018D770[playerId][balloonId] < -0xA) { + D_8018D770[playerId][balloonId] = -0x000B; } - D_8018D7A0[playerIndex][balloonIndex] += D_8018D770[playerIndex][balloonIndex]; - if (D_8018D7A0[playerIndex][balloonIndex] >= 0x29) { - D_8018D7A0[playerIndex][balloonIndex] = 0x0029; + D_8018D7A0[playerId][balloonId] += D_8018D770[playerId][balloonId]; + if (D_8018D7A0[playerId][balloonId] >= 0x29) { + D_8018D7A0[playerId][balloonId] = 0x0029; } - if (D_8018D7A0[playerIndex][balloonIndex] < -0x28) { - D_8018D7A0[playerIndex][balloonIndex] = -0x0029; + if (D_8018D7A0[playerId][balloonId] < -0x28) { + D_8018D7A0[playerId][balloonId] = -0x0029; } - D_8018D7D0[playerIndex][balloonIndex] += D_8018D7A0[playerIndex][balloonIndex]; - if (D_8018D7D0[playerIndex][balloonIndex] >= 0x38E) { - D_8018D800[playerIndex][balloonIndex] = -random_int(8U); - if (D_8018D830[playerIndex][balloonIndex] != 1) { - D_8018D830[playerIndex][balloonIndex] = 1; + D_8018D7D0[playerId][balloonId] += D_8018D7A0[playerId][balloonId]; + if (D_8018D7D0[playerId][balloonId] >= 0x38E) { + D_8018D800[playerId][balloonId] = -random_int(8U); + if (D_8018D830[playerId][balloonId] != 1) { + D_8018D830[playerId][balloonId] = 1; } } - if (D_8018D7D0[playerIndex][balloonIndex] < -0x38D) { - D_8018D800[playerIndex][balloonIndex] = random_int(8U); - if (D_8018D830[playerIndex][balloonIndex] != -1) { - D_8018D830[playerIndex][balloonIndex] = -1; + if (D_8018D7D0[playerId][balloonId] < -0x38D) { + D_8018D800[playerId][balloonId] = random_int(8U); + if (D_8018D830[playerId][balloonId] != -1) { + D_8018D830[playerId][balloonId] = -1; } } - func_80062B18(&someX, &someY, &someZ, arg1, sp80[player->characterId] - D_8018D710[playerIndex][balloonIndex], - arg2 + -3.2 + (sp6C * 1), -D_8018D620[playerIndex][balloonIndex], -player->unk_206 * 2); - if ((gPlayerBalloonStatus[playerIndex][balloonIndex] & BALLOON_STATUS_DEPARTING) != BALLOON_STATUS_DEPARTING) { - gPlayerBalloonPosY[playerIndex][balloonIndex] = (player->pos[1] - player->boundingBoxSize) + someY; - gPlayerBalloonPosX[playerIndex][balloonIndex] = player->pos[0] + someX; - gPlayerBalloonPosZ[playerIndex][balloonIndex] = player->pos[2] + someZ; - gPlayerBalloonDepartingTimer[playerIndex][balloonIndex] = 0; + func_80062B18(&someX, &someY, &someZ, arg1, sp80[player->characterId] - D_8018D710[playerId][balloonId], + arg2 + -3.2 + (sp6C * 1), -D_8018D620[playerId][balloonId], -player->unk_206 * 2); + if ((gPlayerBalloonStatus[playerId][balloonId] & 2) != 2) { + gPlayerBalloonPosY[playerId][balloonId] = (player->pos[1] - player->boundingBoxSize) + someY; + gPlayerBalloonPosX[playerId][balloonId] = player->pos[0] + someX; + gPlayerBalloonPosZ[playerId][balloonId] = player->pos[2] + someZ; + gPlayerBalloonDepartingTimer[playerId][balloonId] = 0; } else { - gPlayerBalloonPosY[playerIndex][balloonIndex] += 0.2; // Balloon is departing, so it rises - gPlayerBalloonDepartingTimer[playerIndex][balloonIndex] += 1; // Increment the timer - move_s16_towards(&D_8018D890[playerIndex][balloonIndex], 0, 0.1f); - move_s16_towards(&gPlayerBalloonRotation[playerIndex][balloonIndex], 0, 0.1f); - if (gPlayerBalloonDepartingTimer[playerIndex][balloonIndex] >= 0x78) { // Gone after 120 frames - set_player_balloon_to_gone((s32) player, playerIndex, balloonIndex); + gPlayerBalloonPosY[playerId][balloonId] += 0.2; + gPlayerBalloonDepartingTimer[playerId][balloonId] += 1; + move_s16_towards(&D_8018D890[playerId][balloonId], 0, 0.1f); + move_s16_towards(&gPlayerBalloonRotation[playerId][balloonId], 0, 0.1f); + if (gPlayerBalloonDepartingTimer[playerId][balloonId] >= 0x78) { + set_player_balloon_to_gone((s32) player, playerId, balloonId); } } } @@ -5995,7 +5976,8 @@ void render_battle_balloon(Player* player, s8 playerIndex, s16 balloonIndex, s8 sp134[2] = gPlayerBalloonPosZ[playerIndex][balloonIndex]; sp12C[0] = -((D_8018D890[playerIndex][balloonIndex] * 4) * coss(temp_t1)); sp12C[1] = player->unk_048[screenId]; - sp12C[2] = D_8018D7D0[playerIndex][balloonIndex] - (gPlayerBalloonRotation[playerIndex][balloonIndex] * coss(temp_t1)) - + sp12C[2] = D_8018D7D0[playerIndex][balloonIndex] - + (gPlayerBalloonRotation[playerIndex][balloonIndex] * coss(temp_t1)) - ((D_8018D890[playerIndex][balloonIndex] * 8) * sins(temp_t1)); mtxf_translate_rotate(sp140, sp134, sp12C); mtxf_scale2(sp140, var_f20); @@ -6058,18 +6040,17 @@ void set_player_balloon_to_gone(UNUSED s32 arg0, s8 playerIndex, s8 balloonIndex } } -void func_8006B9CC(Player* player, s8 playerIndex) { - if (gPlayerBalloonStatus[playerIndex][0] != BALLOON_STATUS_GONE) { - func_8006A7C0(player, 0.0f, 0.0f, playerIndex, 0); +void update_player_balloons_position(Player* player, s8 playerId) { + if (gPlayerBalloonStatus[playerId][0] != BALLOON_STATUS_GONE) { + update_player_one_balloon_position(player, 0.0f, 0.0f, playerId, 0); } - if (gPlayerBalloonStatus[playerIndex][1] != BALLOON_STATUS_GONE) { - - func_8006A7C0(player, 1.8f, 2.6f, playerIndex, 1); + if (gPlayerBalloonStatus[playerId][1] != BALLOON_STATUS_GONE) { + update_player_one_balloon_position(player, 1.8f, 2.6f, playerId, 1); } - if (gPlayerBalloonStatus[playerIndex][2] != BALLOON_STATUS_GONE) { - func_8006A7C0(player, -1.8f, 2.6f, playerIndex, 2); + if (gPlayerBalloonStatus[playerId][2] != BALLOON_STATUS_GONE) { + update_player_one_balloon_position(player, -1.8f, 2.6f, playerId, 2); } } @@ -6228,59 +6209,59 @@ void func_8006C4D4(Vec3f arg0, f32 arg1, s32 rgb, s16 alpha, s16 arg4) { gMatrixEffectCount += 1; } -void func_8006C6AC(Player* player, s16 arg1, s8 arg2, s8 arg3) { - s8 arg2_copy = arg2; +void func_8006C6AC(Player* player, s16 particleIndex, s8 playerId, s8 arg3) { + s8 playerIdCopy = playerId; s32 sp28; - sp28 = arg1 - 1; + sp28 = particleIndex - 1; if (sp28 < 0) { sp28 = 9; } - if (player->particles[10 + arg1].IsAlive == 1) { - switch (player->particles[10 + arg1].type) { + if (player->particlePool1[particleIndex].isAlive == 1) { + switch (player->particlePool1[particleIndex].type) { case 1: - func_80063408(player, arg1, arg2_copy, arg3); + func_80063408(player, particleIndex, playerIdCopy, arg3); break; case 2: - func_800635D4(player, arg1, arg2_copy, arg3); + func_800635D4(player, particleIndex, playerIdCopy, arg3); break; case 3: - func_80063BD4(player, arg1, arg2_copy, arg3); + func_80063BD4(player, particleIndex, playerIdCopy, arg3); break; case 4: - func_800643A8(player, arg1, arg2_copy, arg3); + func_800643A8(player, particleIndex, playerIdCopy, arg3); break; case 5: - func_800639DC(player, arg1, arg2_copy, arg3); + func_800639DC(player, particleIndex, playerIdCopy, arg3); break; case 9: - func_80063D58(player, arg1, arg2_copy, arg3); + func_80063D58(player, particleIndex, playerIdCopy, arg3); break; case 11: - func_80062F98(player, arg1, arg2_copy, arg3); + func_80062F98(player, particleIndex, playerIdCopy, arg3); break; default: break; } } else { if (player->oobProps & UNDER_OOB_OR_FLUID_LEVEL) { - func_80060BCC(player, arg1, sp28, arg2_copy, arg3); + func_80060BCC(player, particleIndex, sp28, playerIdCopy, arg3); } else if (!(player->effects & MIDAIR_EFFECT) && !(player->effects & HOP_EFFECT)) { if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) && ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN)) { - check_drift_particles_setup_valid(player, arg1, sp28, arg2_copy, arg3); - } else if (((f64) (D_801652A0[arg2_copy] - player->tyres[BACK_RIGHT].baseHeight) >= 3.5) || - ((f64) (D_801652A0[arg2_copy] - player->tyres[BACK_LEFT].baseHeight) >= 3.5)) { - func_8005EA94(player, arg1, sp28, arg2_copy, arg3); + check_drift_particles_setup_valid(player, particleIndex, sp28, playerIdCopy, arg3); + } else if (((f64) (D_801652A0[playerIdCopy] - player->tyres[BACK_RIGHT].baseHeight) >= 3.5) || + ((f64) (D_801652A0[playerIdCopy] - player->tyres[BACK_LEFT].baseHeight) >= 3.5)) { + func_8005EA94(player, particleIndex, sp28, playerIdCopy, arg3); } else if (((player->effects & BANANA_SPINOUT_EFFECT) == BANANA_SPINOUT_EFFECT) || ((player->effects & DRIVING_SPINOUT_EFFECT) == DRIVING_SPINOUT_EFFECT)) { - func_8005F90C(player, arg1, sp28, arg2_copy, arg3); + func_8005F90C(player, particleIndex, sp28, playerIdCopy, arg3); } else if (((player->effects & EARLY_START_SPINOUT_EFFECT) && !(player->type & PLAYER_START_SEQUENCE)) || (player->effects & BANANA_NEAR_SPINOUT_EFFECT) || (player->effects & AB_SPIN_EFFECT) || (player->kartProps & DRIVING_SPINOUT)) { - func_8005ED48(player, arg1, sp28, arg2_copy, arg3); + func_8005ED48(player, particleIndex, sp28, playerIdCopy, arg3); } else { - setup_tyre_particles(player, arg1, sp28, arg2_copy, arg3); + setup_tyre_particles(player, particleIndex, sp28, playerIdCopy, arg3); } } } @@ -6293,8 +6274,8 @@ void func_8006C9B8(Player* player, s16 arg1, s8 playerIndex, s8 arg3) { if (sp28 < 0) { sp28 = 9; } - if (player->particles[30 + arg1].IsAlive == 1) { - switch (player->particles[30 + arg1].type) { + if (player->particlePool3[arg1].isAlive == 1) { + switch (player->particlePool3[arg1].type) { case 1: func_800644E8(player, arg1, playerIndex, arg3); break; @@ -6391,44 +6372,44 @@ void func_8006C9B8(Player* player, s16 arg1, s8 playerIndex, s8 arg3) { } } -void func_8006CEC0(Player* arg0, s16 arg1, s8 arg2, s8 arg3) { +void func_8006CEC0(Player* arg0, s16 arg1, s8 playerId, s8 arg3) { UNUSED u16 temp_v0_3; s32 sp20 = arg1; if (--sp20 < 0) { sp20 = 9; } - //Spawn particles when oob - if (arg0->particles[arg1].IsAlive == 1) { - switch (arg0->particles[arg1].type) { + // Spawn particles when oob + if (arg0->particlePool0[arg1].isAlive == 1) { + switch (arg0->particlePool0[arg1].type) { case 1: - func_80062C74(arg0, arg1, arg2, arg3); + func_80062C74(arg0, arg1, playerId, arg3); break; case 3: - func_80064184(arg0, arg1, arg2, arg3); + func_80064184(arg0, arg1, playerId, arg3); break; case 5: - set_oob_splash_particle_position(arg0, arg1, arg2, arg3); + set_oob_splash_particle_position(arg0, arg1, playerId, arg3); break; case 6: - func_800631A8(arg0, arg1, arg2, arg3); + func_800631A8(arg0, arg1, playerId, arg3); break; case 7: - func_80063268(arg0, arg1, arg2, arg3); + func_80063268(arg0, arg1, playerId, arg3); break; } } else { if ((arg0->kartProps & BECOME_INVISIBLE) && (arg0->type & DRIVING_SPINOUT)) { - func_80061224(arg0, arg1, sp20, arg2, arg3); + func_80061224(arg0, arg1, sp20, playerId, arg3); return; } else if (((arg0->effects & LIGHTNING_EFFECT) == LIGHTNING_EFFECT) && (arg0->unk_0B0 < 0x32)) { - func_80061094(arg0, arg1, sp20, arg2, arg3); + func_80061094(arg0, arg1, sp20, playerId, arg3); return; } else if ((arg0->type & PLAYER_HUMAN) == PLAYER_HUMAN) { if ((arg0->oobProps & UNDER_OOB_LEVEL) == UNDER_OOB_LEVEL) { - func_80060F50(arg0, arg1, sp20, arg2, arg3); + func_80060F50(arg0, arg1, sp20, playerId, arg3); return; } else if ((arg0->oobProps & PASS_OOB_OR_FLUID_LEVEL) || (arg0->oobProps & UNDER_OOB_OR_FLUID_LEVEL)) { - func_80060B14(arg0, arg1, sp20, arg2, arg3); + func_80060B14(arg0, arg1, sp20, playerId, arg3); return; } } @@ -6440,7 +6421,7 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 arg2, s8 arg3) { if (((arg0->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((arg0->lakituProps & FRIGID_EFFECT) != FRIGID_EFFECT) && !(arg0->lakituProps & WENT_OVER_OOB)) { - func_80060504(arg0, arg1, sp20, arg2, arg3); + func_80060504(arg0, arg1, sp20, playerId, arg3); } } break; @@ -6455,7 +6436,7 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 arg2, s8 arg3) { if (((arg0->lakituProps & HELD_BY_LAKITU) != HELD_BY_LAKITU) && ((arg0->lakituProps & FRIGID_EFFECT) != FRIGID_EFFECT) && !(arg0->lakituProps & WENT_OVER_OOB)) { - func_80060504(arg0, arg1, sp20, arg2, arg3); + func_80060504(arg0, arg1, sp20, playerId, arg3); } } break; @@ -6464,8 +6445,8 @@ void func_8006CEC0(Player* arg0, s16 arg1, s8 arg2, s8 arg3) { } void func_8006D194(Player* player, s8 playerIndex, s8 arg2) { - if (player->particles[0x14].IsAlive == 1) { - switch (player->particles[0x14].type) { + if (player->particlePool2[0].isAlive == 1) { + switch (player->particlePool2[0].type) { case 2: func_80064DEC(player, playerIndex, arg2, 0); break; @@ -6499,8 +6480,8 @@ void func_8006D194(Player* player, s8 playerIndex, s8 arg2) { func_800629BC(player, playerIndex, arg2, 0); } } - if (player->particles[0x15].IsAlive == 1) { - if (player->particles[0x15].type == 5) { + if (player->particlePool2[1].isAlive == 1) { + if (player->particlePool2[1].type == 5) { func_800651F4(player, playerIndex, arg2, 1); } } else if ((player->kartGraphics & WHISTLE) == WHISTLE) { @@ -6512,7 +6493,7 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { s16 var_s2; if ((player->unk_002 & (SIDE_OF_KART << (screenId * 4))) == (SIDE_OF_KART << (screenId * 4))) { for (var_s2 = 0; var_s2 < 10; var_s2++) { - switch (player->particles[var_s2].type) { + switch (player->particlePool0[var_s2].type) { case 1: if (gActiveScreenMode == SCREEN_MODE_3P_4P_SPLITSCREEN) { if (screenId == playerId) { @@ -6532,7 +6513,7 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { } break; } - switch (player->particles[var_s2 + 30].type) { + switch (player->particlePool3[var_s2].type) { case 1: case 9: if (gActiveScreenMode == SCREEN_MODE_1P) { @@ -6543,9 +6524,9 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { break; case 2: if (gActiveScreenMode == SCREEN_MODE_1P) { - render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particles[var_s2 + 30].scale); + render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particlePool3[var_s2].scale); } else if (screenId == playerId) { - render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particles[var_s2 + 30].scale); + render_wall_bonk_star_particles(player, playerId, var_s2, screenId, player->particlePool3[var_s2].scale); } break; case 3: @@ -6591,26 +6572,26 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) { } break; } - switch (player->particles[var_s2 + 10].type) { - case 1: + switch (player->particlePool1[var_s2].type) { + case DRIFT_PARTICLE: if (gActiveScreenMode == SCREEN_MODE_3P_4P_SPLITSCREEN) { if (screenId == playerId) { - func_80065AB0(player, playerId, var_s2, screenId); + render_player_drift_particles(player, playerId, var_s2, screenId); } } else { - func_80065AB0(player, playerId, var_s2, screenId); + render_player_drift_particles(player, playerId, var_s2, screenId); } break; - case 2: - case 3: + case GROUND_PARTICLE: + case GRASS_PARTICLE: case 4: case 5: if (gActiveScreenMode == SCREEN_MODE_3P_4P_SPLITSCREEN) { if (screenId == playerId) { - func_80065F0C(player, playerId, var_s2, screenId); + render_player_ground_particles(player, playerId, var_s2, screenId); } } else { - func_80065F0C(player, playerId, var_s2, screenId); + render_player_ground_particles(player, playerId, var_s2, screenId); } break; case 9: @@ -6646,7 +6627,7 @@ void func_8006DC54(Player* player, s8 playerIndex, s8 screenId) { bitwiseMask = SIDE_OF_KART << (screenId * 4); if (bitwiseMask == (player->unk_002 & bitwiseMask)) { for (i = 0; i < 10; i++) { - if (player->particles[i].type == 7) { + if (player->particlePool0[i].type == 7) { func_800658A0(player, playerIndex, i, screenId); } } @@ -6660,7 +6641,7 @@ void func_8006DD3C(Player* arg0, s8 arg1, s8 arg2) { temp_v0 = SIDE_OF_KART << (arg2 * 4); if (temp_v0 == (arg0->unk_002 & temp_v0)) { for (temp_s0 = 0; temp_s0 < 10; ++temp_s0) { - temp_v0 = arg0->particles[temp_s0].type; + temp_v0 = arg0->particlePool0[temp_s0].type; if (temp_v0 != 3) { if (temp_v0 == 5) { func_8006A280(arg0, arg1, temp_s0, arg2); @@ -6675,24 +6656,24 @@ void func_8006DD3C(Player* arg0, s8 arg1, s8 arg2) { } if (((arg0->type & PLAYER_HUMAN) == PLAYER_HUMAN) && (arg2 == arg1)) { - switch (arg0->particles[20].type) { + switch (arg0->particlePool2[0].type) { case 2: - func_80068310(arg0, arg1, arg0->particles[20].scale, arg2, 0); + render_player_onomatopoeia_crash(arg0, arg1, arg0->particlePool2[0].scale, arg2, 0); break; case 3: - render_player_onomatopoeia_whrrrr(arg0, arg1, arg0->particles[20].scale, arg2, 0); + render_player_onomatopoeia_whrrrr(arg0, arg1, arg0->particlePool2[0].scale, arg2, 0); break; case 4: - func_80068724(arg0, arg1, arg0->particles[20].scale, arg2, 0); + func_80068724(arg0, arg1, arg0->particlePool2[0].scale, arg2, 0); break; case 5: - render_player_onomatopoeia_boing(arg0, arg1, arg0->particles[20].scale, arg2, 0); + render_player_onomatopoeia_boing(arg0, arg1, arg0->particlePool2[0].scale, arg2, 0); break; case 6: - render_player_onomatopoeia_pomp(arg0, arg1, arg0->particles[20].scale, arg2, 0); + render_player_onomatopoeia_pomp(arg0, arg1, arg0->particlePool2[0].scale, arg2, 0); break; } - if (arg0->particles[21].type == 5) { + if (arg0->particlePool2[1].type == 5) { render_player_speech_bubble(arg0, arg2, D_8018D480, 1, 1.6f, 0xFFFFFF); render_music_note(arg0, arg2, D_8018D484, 1, 1.6f, 0xFF); } @@ -6705,40 +6686,40 @@ void func_8006E058(void) { case SCREEN_MODE_1P: switch (gModeSelection) { case GRAND_PRIX: - func_8006E420(gPlayerOne, 0, 0); - func_8006E420(gPlayerTwo, 1, 0); - func_8006E420(gPlayerThree, 2, 0); - func_8006E420(gPlayerFour, 3, 0); - func_8006E420(gPlayerFive, 4, 0); - func_8006E420(gPlayerSix, 5, 0); - func_8006E420(gPlayerSeven, 6, 0); - func_8006E420(gPlayerEight, 7, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); + func_8006E420(gPlayerThree, PLAYER_THREE, 0); + func_8006E420(gPlayerFour, PLAYER_FOUR, 0); + func_8006E420(gPlayerFive, PLAYER_FIVE, 0); + func_8006E420(gPlayerSix, PLAYER_SIX, 0); + func_8006E420(gPlayerSeven, PLAYER_SEVEN, 0); + func_8006E420(gPlayerEight, PLAYER_EIGHT, 0); break; case TIME_TRIALS: - func_8006E420(gPlayerOne, 0, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); if ((gPlayerTwo->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { - func_8006E420(gPlayerTwo, 1, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); } if ((gPlayerThree->type & PLAYER_INVISIBLE_OR_BOMB) == PLAYER_INVISIBLE_OR_BOMB) { - func_8006E420(gPlayerThree, 2, 0); + func_8006E420(gPlayerThree, PLAYER_THREE, 0); break; } break; case VERSUS: case BATTLE: - func_8006E420(gPlayerOne, 0, 0); - func_8006E420(gPlayerTwo, 1, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); if (gPlayerCountSelection1 >= 3) { - func_8006E420(gPlayerThree, 2, 0); + func_8006E420(gPlayerThree, PLAYER_THREE, 0); } if (gPlayerCountSelection1 == 4) { - func_8006E420(gPlayerFour, 3, 0); + func_8006E420(gPlayerFour, PLAYER_FOUR, 0); break; } @@ -6750,27 +6731,27 @@ void func_8006E058(void) { case SCREEN_MODE_2P_SPLITSCREEN_VERTICAL: switch (gModeSelection) { case GRAND_PRIX: - func_8006E420(gPlayerOne, 0, 0); - func_8006E420(gPlayerTwo, 1, 0); - func_8006E420(gPlayerThree, 2, 0); - func_8006E420(gPlayerFour, 3, 0); - func_8006E420(gPlayerFive, 4, 0); - func_8006E420(gPlayerSix, 5, 0); - func_8006E420(gPlayerSeven, 6, 0); - func_8006E420(gPlayerEight, 7, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); + func_8006E420(gPlayerThree, PLAYER_THREE, 0); + func_8006E420(gPlayerFour, PLAYER_FOUR, 0); + func_8006E420(gPlayerFive, PLAYER_FIVE, 0); + func_8006E420(gPlayerSix, PLAYER_SIX, 0); + func_8006E420(gPlayerSeven, PLAYER_SEVEN, 0); + func_8006E420(gPlayerEight, PLAYER_EIGHT, 0); break; case VERSUS: case BATTLE: - func_8006E420(gPlayerOne, 0, 0); - func_8006E420(gPlayerTwo, 1, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); break; case TIME_TRIALS: - func_8006E420(gPlayerOne, 0, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); if ((gPlayerTwo->type & PLAYER_EXISTS) == PLAYER_EXISTS) { - func_8006E420(gPlayerTwo, 1, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); break; } @@ -6780,12 +6761,12 @@ void func_8006E058(void) { break; case SCREEN_MODE_3P_4P_SPLITSCREEN: if ((VERSUS == gModeSelection) || (BATTLE == gModeSelection)) { - func_8006E420(gPlayerOne, 0, 0); - func_8006E420(gPlayerTwo, 1, 0); - func_8006E420(gPlayerThree, 2, 0); + func_8006E420(gPlayerOne, PLAYER_ONE, 0); + func_8006E420(gPlayerTwo, PLAYER_TWO, 0); + func_8006E420(gPlayerThree, PLAYER_THREE, 0); if (gPlayerCountSelection1 == 4) { - func_8006E420(gPlayerFour, 3, 0); + func_8006E420(gPlayerFour, PLAYER_FOUR, 0); } } @@ -6811,7 +6792,7 @@ void func_8006E420(Player* player, s8 playerIndex, s8 arg2) { } if (gModeSelection == BATTLE) { - func_8006B9CC(player, playerIndex); + update_player_balloons_position(player, playerIndex); } } } diff --git a/src/code_80057C60.h b/src/code_80057C60.h index 95e9e1fdb..631b3a72e 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -17,6 +17,8 @@ #define RENDER_SCREEN_MODE_3P_4P_PLAYER_THREE PLAYER_THREE + SCREEN_MODE_3P_4P_SPLITSCREEN + 5 #define RENDER_SCREEN_MODE_3P_4P_PLAYER_FOUR PLAYER_FOUR + SCREEN_MODE_3P_4P_SPLITSCREEN + 5 +#define RGB32(r, g, b) ((r << 16) | (g << 8) | (b)) + typedef struct { char unk_00[0x4]; Vec3f unk_04; @@ -116,9 +118,9 @@ void func_8005D18C(void); void func_8005D1F4(s32); void func_8005D290(void); -void func_8005D6C0(Player*); +void reset_player_particle_pool(Player*); void set_particle_position_and_rotation(Player*, Particle*, f32, f32, f32, s8, s8); -s32 init_new_particle_player(Particle*, s8, f32); +s32 init_particle_player(Particle*, s8, f32); s32 set_particle_colour(Particle*, s32, s16); s32 set_particle_colour_randomly_varried(Particle*, s32, s16); void set_drift_particles(Player*, s16, s32, s8, s8); @@ -192,8 +194,8 @@ void func_800651F4(Player*, s8, s8, s8); void func_800652D4(Vec3f, Vec3s, f32); void func_8006538C(Player*, s8, s16, s8); void func_800658A0(Player*, s8, s16, s8); -void func_80065AB0(Player*, s8, s16, s8); -void func_80065F0C(Player*, s8, s16, s8); +void render_player_drift_particles(Player*, s8, s16, s8); +void render_player_ground_particles(Player*, s8, s16, s8); void func_800664E0(Player*, s8, s16, s8); void func_80066998(Player*, s8, s16, s8); @@ -205,7 +207,7 @@ void render_player_onomatopoeia_whrrrr(Player*, s8, f32, s8, s8); void render_player_speech_bubble(Player*, s8, u8*, s8, f32, s32); void render_music_note(Player*, s8, u8*, s8, f32, s32); -void func_80068310(Player*, s8, f32, s8, s8); +void render_player_onomatopoeia_crash(Player*, s8, f32, s8, s8); void func_80068724(Player*, s8, f32, s8, s8); void render_player_onomatopoeia_boing(Player*, s8, f32, s8, s8); void render_player_onomatopoeia_pomp(Player*, s8, f32, s8, s8); @@ -220,14 +222,14 @@ void func_80069DB8(Player*, s8, s16, s8); void func_8006A01C(Player*, s8, s16, s8); void func_8006A280(Player*, s8, s16, s8); void init_balloon(Player*, f32, f32, s8, s8, s16); -void func_8006A7C0(Player*, f32, f32, s8, s8); +void update_player_one_balloon_position(Player*, f32, f32, s8, s8); void render_battle_balloon(Player*, s8, s16, s8); void init_all_player_balloons(Player*, s8); void clear_all_player_balloons(Player*, s8); void pop_player_balloon(Player*, s8); void set_player_balloon_to_gone(s32, s8, s8); -void func_8006B9CC(Player*, s8); +void update_player_balloons_position(Player*, s8); void render_remaining_battle_balloons(Player*, s8, s8); void render_balloon(Vec3f, f32, s16, s16); @@ -606,27 +608,27 @@ extern u8* D_8018D464; extern u8* D_8018D468; extern u8* D_8018D46C; extern u8* D_8018D470; -extern u8* D_8018D474; +extern u8* gLoadedTextureKartShadow; extern u8* D_8018D478; extern u8* D_8018D480; extern u8* D_8018D484; extern u8* D_8018D488; extern u8* D_8018D48C; extern u8* D_8018D490; -extern u8* D_8018D494; -extern u8* D_8018D498; +extern u8* gLoadedGroundDust; +extern u8* gLoadedGrassParticle; extern u8* D_8018D49C; extern u8* D_8018D4A0; -extern u8* D_8018D4A4; -extern u8* D_8018D4A8; -extern u8* D_8018D4AC; -extern u8* D_8018D4B0; -extern u8* D_8018D4B4; -extern u8* D_8018D4B8; +extern u8* gTextureLoadedOnomatopoeiaPoomp1; +extern u8* gTextureLoadedOnomatopoeiaPoomp2; +extern u8* gTextureLoadedOnomatopoeiaWhrrrr1; +extern u8* gTextureLoadedOnomatopoeiaWhrrrr2; +extern u8* gTextureLoadedOnomatopoeiaCrash1; +extern u8* gTextureLoadedOnomatopoeiaCrash2; extern u8* D_8018D4BC; extern u8* D_8018D4C0; -extern u8* D_8018D4C4; -extern u8* D_8018D4C8; +extern u8* gTextureLoadedLightningBolt0; +extern u8* gTextureLoadedLightningBolt1; extern Vec3f gPlayerBalloonPosX[]; extern Vec3f gPlayerBalloonPosY[]; extern Vec3f gPlayerBalloonPosZ[]; diff --git a/src/code_80057C60_var.c b/src/code_80057C60_var.c index 7052d494c..72ace331a 100644 --- a/src/code_80057C60_var.c +++ b/src/code_80057C60_var.c @@ -191,7 +191,7 @@ u8* D_8018D464; u8* D_8018D468; u8* D_8018D46C; u8* D_8018D470; -u8* D_8018D474; +u8* gLoadedTextureKartShadow; u8* D_8018D478; UNUSED u8* D_8018D47C; u8* D_8018D480; @@ -199,20 +199,20 @@ u8* D_8018D484; u8* D_8018D488; u8* D_8018D48C; u8* D_8018D490; -u8* D_8018D494; -u8* D_8018D498; +u8* gLoadedGroundDust; +u8* gLoadedGrassParticle; u8* D_8018D49C; u8* D_8018D4A0; -u8* D_8018D4A4; -u8* D_8018D4A8; -u8* D_8018D4AC; -u8* D_8018D4B0; -u8* D_8018D4B4; -u8* D_8018D4B8; +u8* gTextureLoadedOnomatopoeiaPoomp1; +u8* gTextureLoadedOnomatopoeiaPoomp2; +u8* gTextureLoadedOnomatopoeiaWhrrrr1; +u8* gTextureLoadedOnomatopoeiaWhrrrr2; +u8* gTextureLoadedOnomatopoeiaCrash1; +u8* gTextureLoadedOnomatopoeiaCrash2; u8* D_8018D4BC; u8* D_8018D4C0; -u8* D_8018D4C4; -u8* D_8018D4C8; +u8* gTextureLoadedLightningBolt0; +u8* gTextureLoadedLightningBolt1; Vec3f gPlayerBalloonPosX[8]; Vec3f gPlayerBalloonPosY[8]; Vec3f gPlayerBalloonPosZ[8]; diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 03073c1e3..437580da1 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -131,7 +131,7 @@ u8* dma_copy_base_misc_textures(u8* devAddr, u8* baseAddress, u32 size, u32 offs void load_mario_kart_64_logo(void) { gGameLogoAddress = - dma_copy_base_misc_textures((u8*) &gTextureLogoMarioKart64, (u8*) gMenuTextureBuffer, 0x79E1, 0x20000); + dma_copy_base_misc_textures((u8*) &logo_mario_kart_64, (u8*) gMenuTextureBuffer, 0x79E1, 0x20000); } // Some kind of initalization for the Item Window part of the HUD diff --git a/src/data/some_data.c b/src/data/some_data.c index 88bff8bf6..372d25504 100644 --- a/src/data/some_data.c +++ b/src/data/some_data.c @@ -186,13 +186,11 @@ u8 D_800E52D0[] = { }; u8* gCourseOutlineTextures[] = { - gTextureCourseOutlineMarioRaceway, gTextureCourseOutlineChocoMountain, gTextureCourseOutlineBowsersCastle, - gTextureCourseOutlineBansheeBoardwalk, gTextureCourseOutlineYoshiValley, gTextureCourseOutlineFrappeSnowland, - gTextureCourseOutlineKoopaTroopaBeach, gTextureCourseOutlineRoyalRaceway, gTextureCourseOutlineLuigiRaceway, - gTextureCourseOutlineMooMooFarm, gTextureCourseOutlineToadsTurnpike, gTextureCourseOutlineKalimariDesert, - gTextureCourseOutlineSherbetLand, gTextureCourseOutlineRainbowRoad, gTextureCourseOutlineWarioStadium, - gTextureCourseOutlineBlockFort, gTextureCourseOutlineSkyscraper, gTextureCourseOutlineDoubleDeck, - gTextureCourseOutlineDksJungleParkway, gTextureCourseOutlineBigDonut, + minimap_mario_raceway, minimap_choco_mountain, minimap_bowsers_castle, minimap_banshee_boardwalk, + minimap_yoshi_valley, minimap_frappe_snowland, minimap_koopa_troopa_beach, minimap_royal_raceway, + minimap_luigi_raceway, minimap_moo_moo_farm, minimap_toads_turnpike, minimap_kalimari_desert, + minimap_sherbet_land, minimap_rainbow_road, minimap_wario_stadium, minimap_block_fort, + minimap_skyscraper, minimap_double_deck, minimap_dks_jungle_parkway, minimap_big_donut, }; s16 D_800E5520[] = { diff --git a/src/data/textures.c b/src/data/textures.c index 76d640970..647988d16 100644 --- a/src/data/textures.c +++ b/src/data/textures.c @@ -1491,7 +1491,7 @@ MkAnimation D_020019DC[2] = { * */ MenuTexture D_020019EC[2] = { - { 0, gTextureNameDK, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_dk, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1500,7 +1500,7 @@ MenuTexture D_020019EC[2] = { * */ MenuTexture D_02001A14[2] = { - { 0, gTextureNameToad, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_toad, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1509,7 +1509,7 @@ MenuTexture D_02001A14[2] = { * */ MenuTexture D_02001A3C[2] = { - { 0, gTextureNameBowser, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_bowser, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1518,7 +1518,7 @@ MenuTexture D_02001A3C[2] = { * */ MenuTexture D_02001A64[2] = { - { 0, gTextureNameLuigi, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_luigi, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1527,7 +1527,7 @@ MenuTexture D_02001A64[2] = { * */ MenuTexture D_02001A8C[2] = { - { 0, gTextureNameMario, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_mario, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1536,7 +1536,7 @@ MenuTexture D_02001A8C[2] = { * */ MenuTexture D_02001AB4[2] = { - { 0, gTextureNamePeach, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_peach, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1545,7 +1545,7 @@ MenuTexture D_02001AB4[2] = { * */ MenuTexture D_02001ADC[2] = { - { 0, gTextureNameWario, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_wario, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1554,7 +1554,7 @@ MenuTexture D_02001ADC[2] = { * */ MenuTexture D_02001B04[2] = { - { 0, gTextureNameYoshi, 64, 12, 0, 64, 0x0, 0 }, + { 0, texture_name_yoshi, 64, 12, 0, 64, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2045,8 +2045,8 @@ MkAnimation D_0200210C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200211C[2] = { - { 5, gTexture7F2094, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterA[2] = { + { 5, font_letter_A, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2054,8 +2054,8 @@ MenuTexture D_0200211C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002144[2] = { - { 5, gTexture7F2164, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterB[2] = { + { 5, font_letter_B, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2063,8 +2063,8 @@ MenuTexture D_02002144[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200216C[2] = { - { 5, gTexture7F2234, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterC[2] = { + { 5, font_letter_C, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2072,8 +2072,8 @@ MenuTexture D_0200216C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002194[2] = { - { 5, gTexture7F2304, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterD[2] = { + { 5, font_letter_D, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2081,8 +2081,8 @@ MenuTexture D_02002194[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020021BC[2] = { - { 5, gTexture7F23D4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterE[2] = { + { 5, font_letter_E, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2090,8 +2090,8 @@ MenuTexture D_020021BC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020021E4[2] = { - { 5, gTexture7F24A4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterF[2] = { + { 5, font_letter_F, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2099,8 +2099,8 @@ MenuTexture D_020021E4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200220C[2] = { - { 5, gTexture7F2574, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterG[2] = { + { 5, font_letter_G, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2108,8 +2108,8 @@ MenuTexture D_0200220C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002234[2] = { - { 5, gTexture7F2644, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterH[2] = { + { 5, font_letter_H, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2117,8 +2117,8 @@ MenuTexture D_02002234[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200225C[2] = { - { 5, gTexture7F2714, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterI[2] = { + { 5, font_letter_I, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2126,8 +2126,8 @@ MenuTexture D_0200225C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002284[2] = { - { 5, gTexture7F27E4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterJ[2] = { + { 5, font_letter_J, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2135,8 +2135,8 @@ MenuTexture D_02002284[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020022AC[2] = { - { 5, gTexture7F28B4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterK[2] = { + { 5, font_letter_K, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2144,8 +2144,8 @@ MenuTexture D_020022AC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020022D4[2] = { - { 5, gTexture7F2984, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterL[2] = { + { 5, font_letter_L, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2153,8 +2153,8 @@ MenuTexture D_020022D4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020022FC[2] = { - { 5, gTexture7F2A54, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterM[2] = { + { 5, font_letter_M, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2162,8 +2162,8 @@ MenuTexture D_020022FC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002324[2] = { - { 5, gTexture7F2B24, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterN[2] = { + { 5, font_letter_N, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2171,8 +2171,8 @@ MenuTexture D_02002324[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200234C[2] = { - { 5, gTexture7F2BF4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterO[2] = { + { 5, font_letter_O, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2180,8 +2180,8 @@ MenuTexture D_0200234C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002374[2] = { - { 5, gTexture7F2CC4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterP[2] = { + { 5, font_letter_P, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2189,8 +2189,8 @@ MenuTexture D_02002374[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200239C[2] = { - { 5, gTexture7F2D94, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterQ[2] = { + { 5, font_letter_Q, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2198,8 +2198,8 @@ MenuTexture D_0200239C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020023C4[2] = { - { 5, gTexture7F2E64, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterR[2] = { + { 5, font_letter_R, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2207,8 +2207,8 @@ MenuTexture D_020023C4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020023EC[2] = { - { 5, gTexture7F2F34, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterS[2] = { + { 5, font_letter_S, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2216,8 +2216,8 @@ MenuTexture D_020023EC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002414[2] = { - { 5, gTexture7F3004, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterT[2] = { + { 5, font_letter_T, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2225,8 +2225,8 @@ MenuTexture D_02002414[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200243C[2] = { - { 5, gTexture7F30D4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterU[2] = { + { 5, font_letter_U, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2234,8 +2234,8 @@ MenuTexture D_0200243C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002464[2] = { - { 5, gTexture7F31A4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterV[2] = { + { 5, font_letter_V, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2243,8 +2243,8 @@ MenuTexture D_02002464[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200248C[2] = { - { 5, gTexture7F3274, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterW[2] = { + { 5, font_letter_W, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2252,8 +2252,8 @@ MenuTexture D_0200248C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020024B4[2] = { - { 5, gTexture7F3344, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterX[2] = { + { 5, font_letter_X, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2261,8 +2261,8 @@ MenuTexture D_020024B4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020024DC[2] = { - { 5, gTexture7F3414, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterY[2] = { + { 5, font_letter_Y, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2270,8 +2270,8 @@ MenuTexture D_020024DC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002504[2] = { - { 5, gTexture7F34E4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontLetterZ[2] = { + { 5, font_letter_Z, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2279,8 +2279,8 @@ MenuTexture D_02002504[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200252C[2] = { - { 5, gTexture7F1394, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontExclamationMark[2] = { + { 5, font_exclamation_mark, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2288,8 +2288,8 @@ MenuTexture D_0200252C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002554[2] = { - { 5, gTexture7F1464, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontMinus[2] = { + { 5, font_minus, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2297,8 +2297,8 @@ MenuTexture D_02002554[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200257C[2] = { - { 5, gTexture7F16D4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontInterogationMark[2] = { + { 5, font_interogation_mark, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2306,8 +2306,8 @@ MenuTexture D_0200257C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020025A4[2] = { - { 5, gTexture7F17A4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontSimpleQuote[2] = { + { 5, font_simple_quote, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2315,8 +2315,8 @@ MenuTexture D_020025A4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020025CC[2] = { - { 5, gTexture7F12C4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontDoubleQuote[2] = { + { 5, font_double_quote, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2324,8 +2324,8 @@ MenuTexture D_020025CC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020025F4[2] = { - { 5, gTexture7F1604, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontPlus[2] = { + { 5, font_plus, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2333,8 +2333,8 @@ MenuTexture D_020025F4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200261C[2] = { - { 5, gTexture7F1534, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontDot[2] = { + { 5, font_dot, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2342,8 +2342,8 @@ MenuTexture D_0200261C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002644[2] = { - { 5, gTexture7F1124, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontFourDote[2] = { + { 5, font_four_dote, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2351,8 +2351,8 @@ MenuTexture D_02002644[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200266C[2] = { - { 5, gTexture7F11F4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontCC[2] = { + { 5, font_cc, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2360,8 +2360,8 @@ MenuTexture D_0200266C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002694[2] = { - { 5, gTexture7F1874, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberZero[2] = { + { 5, font_number_zero, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2369,8 +2369,8 @@ MenuTexture D_02002694[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020026BC[2] = { - { 5, gTexture7F1944, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberOne[2] = { + { 5, font_number_one, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2378,8 +2378,8 @@ MenuTexture D_020026BC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020026E4[2] = { - { 5, gTexture7F1A14, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberTwo[2] = { + { 5, font_number_two, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2387,8 +2387,8 @@ MenuTexture D_020026E4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200270C[2] = { - { 5, gTexture7F1AE4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberThree[2] = { + { 5, font_number_three, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2396,8 +2396,8 @@ MenuTexture D_0200270C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002734[2] = { - { 5, gTexture7F1BB4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberFour[2] = { + { 5, font_number_four, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2405,8 +2405,8 @@ MenuTexture D_02002734[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_0200275C[2] = { - { 5, gTexture7F1C84, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberFive[2] = { + { 5, font_number_five, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2414,8 +2414,8 @@ MenuTexture D_0200275C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02002784[2] = { - { 5, gTexture7F1D54, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberSix[2] = { + { 5, font_number_six, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2423,8 +2423,8 @@ MenuTexture D_02002784[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020027AC[2] = { - { 5, gTexture7F1E24, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberSeven[2] = { + { 5, font_number_seven, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2432,8 +2432,8 @@ MenuTexture D_020027AC[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020027D4[2] = { - { 5, gTexture7F1EF4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberEight[2] = { + { 5, font_number_eight, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2441,8 +2441,8 @@ MenuTexture D_020027D4[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_020027FC[2] = { - { 5, gTexture7F1FC4, 26, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontNumberNine[2] = { + { 5, font_number_nine, 26, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4071,7 +4071,7 @@ MenuTexture D_0200441C[2] = { * */ MenuTexture D_02004444[2] = { - { 5, gTexture7FA044, 16, 16, 0, 0, 0x0, 0 }, + { 5, font_apostrophe, 16, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4124,8 +4124,8 @@ MenuTexture D_0200450C[2] = { * @brief unknown MenuTexture * */ -MenuTexture D_02004534[2] = { - { 5, gTexture7FA334, 16, 16, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureFontComma[2] = { + { 5, font_comma, 16, 16, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4142,7 +4142,7 @@ MenuTexture D_0200455C[2] = { * @brief unknown empty MenuTexture * */ -MenuTexture D_02004584[1] = { +MenuTexture seg2_textureFontEmpty[1] = { { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4151,7 +4151,7 @@ MenuTexture D_02004584[1] = { * */ MenuTexture seg2_blue_sky_background_texture[2] = { - { 0, gTextureBackgroundBlueSky, 320, 240, 0, 0, 0xcd60, 0 }, + { 0, background_blue_sky, 320, 240, 0, 0, 0xcd60, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4160,7 +4160,7 @@ MenuTexture seg2_blue_sky_background_texture[2] = { * */ MenuTexture seg2_sunset_background_texture[2] = { - { 0, gTextureBackgroundSunset, 320, 240, 0, 0, 0x93c4, 0 }, + { 0, background_sunset, 320, 240, 0, 0, 0x93c4, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4169,7 +4169,7 @@ MenuTexture seg2_sunset_background_texture[2] = { * */ MenuTexture seg2_copyright_1996_texture[2] = { - { 1, gTextureCopyright1996, 124, 17, 98, 199, 0x0, 0 }, + { 1, copyright_1996, 124, 17, 98, 199, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4178,7 +4178,7 @@ MenuTexture seg2_copyright_1996_texture[2] = { * */ MenuTexture seg2_push_start_button_texture[2] = { - { 1, gTexturePushStartButton, 159, 16, 81, 179, 0x0, 0 }, + { 1, push_start_button, 159, 16, 81, 179, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4187,7 +4187,7 @@ MenuTexture seg2_push_start_button_texture[2] = { * */ MenuTexture D_02004638[2] = { - { 0, gTextureOption, 130, 32, 95, 16, 0x0, 0 }, + { 0, texture_option, 130, 32, 95, 16, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4196,7 +4196,7 @@ MenuTexture D_02004638[2] = { * */ MenuTexture seg2_game_select_texture[2] = { - { 0, gTextureGameSelect, 200, 32, 0, 0, 0x0, 0 }, + { 0, texture_game_select, 200, 32, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4205,9 +4205,9 @@ MenuTexture seg2_game_select_texture[2] = { * */ MenuTexture seg2_menu_1p_column[4] = { - { 1, gTextureMenu1PGame, 64, 54, 0, 0, 0x0, 0 }, - { 1, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 }, - { 1, gTextureMenuModeTimeTrials, 64, 18, 0, 83, 0x0, 0 }, + { 1, texture_menu_1p_game, 64, 54, 0, 0, 0x0, 0 }, + { 1, texture_mode_mario_gp, 64, 18, 0, 65, 0x0, 0 }, + { 1, texture_mode_time_trials, 64, 18, 0, 83, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4216,10 +4216,10 @@ MenuTexture seg2_menu_1p_column[4] = { * */ MenuTexture seg2_menu_2p_column[5] = { - { 1, gTextureMenu2PGame, 64, 54, 0, 0, 0x0, 0 }, - { 1, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 }, - { 1, gTextureMenuModeVS, 64, 18, 0, 83, 0x0, 0 }, - { 1, gTextureMenuModeBattle, 64, 18, 0, 101, 0x0, 0 }, + { 1, texture_menu_2p_game, 64, 54, 0, 0, 0x0, 0 }, + { 1, texture_mode_mario_gp, 64, 18, 0, 65, 0x0, 0 }, + { 1, texture_mode_vs, 64, 18, 0, 83, 0x0, 0 }, + { 1, texture_mode_battle, 64, 18, 0, 101, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4228,9 +4228,9 @@ MenuTexture seg2_menu_2p_column[5] = { * */ MenuTexture seg2_menu_3p_column[4] = { - { 1, gTextureMenu3PGame, 64, 54, 0, 0, 0x0, 0 }, - { 1, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 }, - { 1, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 }, + { 1, texture_menu_3p_game, 64, 54, 0, 0, 0x0, 0 }, + { 1, texture_mode_vs, 64, 18, 0, 65, 0x0, 0 }, + { 1, texture_mode_battle, 64, 18, 0, 83, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4239,9 +4239,9 @@ MenuTexture seg2_menu_3p_column[4] = { * */ MenuTexture seg2_menu_4p_column[4] = { - { 1, gTextureMenu4PGame, 64, 54, 0, 0, 0x0, 0 }, - { 1, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 }, - { 1, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 }, + { 1, texture_menu_4p_game, 64, 54, 0, 0, 0x0, 0 }, + { 1, texture_mode_vs, 64, 18, 0, 65, 0x0, 0 }, + { 1, texture_mode_battle, 64, 18, 0, 83, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4250,7 +4250,7 @@ MenuTexture seg2_menu_4p_column[4] = { * */ MenuTexture D_020047DC[2] = { - { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, + { 1, texture_small_green_triangle, 12, 7, 27, 56, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4259,7 +4259,7 @@ MenuTexture D_020047DC[2] = { * */ MenuTexture D_02004804[2] = { - { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, + { 1, texture_small_green_triangle, 12, 7, 27, 56, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4268,7 +4268,7 @@ MenuTexture D_02004804[2] = { * */ MenuTexture D_0200482C[2] = { - { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, + { 1, texture_small_green_triangle, 12, 7, 27, 56, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4277,7 +4277,7 @@ MenuTexture D_0200482C[2] = { * */ MenuTexture D_02004854[2] = { - { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, + { 1, texture_small_green_triangle, 12, 7, 27, 56, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4286,7 +4286,7 @@ MenuTexture D_02004854[2] = { * */ MenuTexture D_0200487C[2] = { - { 1, gTextureMenuOK, 31, 19, 0, 0, 0x0, 0 }, + { 1, texture_ok, 31, 19, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4294,8 +4294,8 @@ MenuTexture D_0200487C[2] = { * @brief MenuTexture for Menu L Option * */ -MenuTexture D_020048A4[2] = { - { 1, gTextureMenuLOption, 58, 19, 0, 0, 0x0, 0 }, +MenuTexture gTextureMenuLOption[2] = { + { 1, texture_l_option, 58, 19, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4303,8 +4303,8 @@ MenuTexture D_020048A4[2] = { * @brief MenuTexture for Menu R Option * */ -MenuTexture D_020048CC[2] = { - { 1, gTextureMenuRData, 58, 19, 0, 0, 0x0, 0 }, +MenuTexture seg2_textureMenuRData[2] = { + { 1, texture_r_data, 58, 19, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4313,7 +4313,7 @@ MenuTexture D_020048CC[2] = { * */ MenuTexture seg2_50_CC_texture[2] = { - { 1, gTextureMenu50cc, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_50cc, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4322,7 +4322,7 @@ MenuTexture seg2_50_CC_texture[2] = { * */ MenuTexture seg2_100_CC_texture[2] = { - { 1, gTextureMenu100cc, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_100cc, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4331,7 +4331,7 @@ MenuTexture seg2_100_CC_texture[2] = { * */ MenuTexture seg2_150_CC_texture[2] = { - { 1, gTextureMenu150cc, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_150cc, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4340,7 +4340,7 @@ MenuTexture seg2_150_CC_texture[2] = { * */ MenuTexture seg2_extra_CC_texture[2] = { - { 1, gTextureMenuExtra, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_extra, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4367,7 +4367,7 @@ MenuTexture D_020049BC[2] = { * */ MenuTexture D_020049E4[2] = { - { 1, gTextureMenuBegin, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_begin, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4376,7 +4376,7 @@ MenuTexture D_020049E4[2] = { * */ MenuTexture D_02004A0C[2] = { - { 1, gTextureMenuGhost, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_menu_ghost, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4385,7 +4385,7 @@ MenuTexture D_02004A0C[2] = { * */ MenuTexture seg2_data_texture[2] = { - { 1, gTextureMenuData, 64, 18, 0, 0, 0x0, 0 }, + { 1, texture_data, 64, 18, 0, 0, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4434,7 +4434,7 @@ MenuTexture seg2_P4_border_texture[3] = { * */ MenuTexture D_02004B4C[2] = { - { 0, gTexturePlayerSelect, 220, 32, 51, 16, 0x0, 0 }, + { 0, texture_player_select, 220, 32, 51, 16, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4443,7 +4443,7 @@ MenuTexture D_02004B4C[2] = { * */ MenuTexture D_02004B74[2] = { - { 1, gTextureMenuOK, 31, 19, 264, 202, 0x0, 0 }, + { 1, texture_ok, 31, 19, 264, 202, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -4566,7 +4566,7 @@ MenuTexture seg2_battle_title_texture[5] = { * */ MenuTexture D_02004E80[2] = { - { 1, gTextureMenuOK, 31, 19, 265, 208, 0x0, 0 }, + { 1, texture_ok, 31, 19, 265, 208, 0x0, 0 }, { 0, NULL, 0, 0, 0, 0, 0, 0 }, }; diff --git a/src/effects.c b/src/effects.c index 6704d7859..39ecc3c67 100644 --- a/src/effects.c +++ b/src/effects.c @@ -1474,9 +1474,9 @@ void trigger_boo(Player* player, s8 playerIndex) { player->kartProps |= BECOME_INVISIBLE; for (temp_v1 = 0; temp_v1 < 10; ++temp_v1) { - player->particles[temp_v1].IsAlive = 0; - player->particles[temp_v1].timer = 0; - player->particles[temp_v1].type = 0; + player->particlePool0[temp_v1].isAlive = 0; + player->particlePool0[temp_v1].timer = 0; + player->particlePool0[temp_v1].type = 0; } } @@ -1555,9 +1555,9 @@ void func_8008FD4C(Player* player, UNUSED s8 arg1) { player->kartProps |= BECOME_INVISIBLE; for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[temp_v0].IsAlive = 0; - player->particles[temp_v0].timer = 0; - player->particles[temp_v0].type = 0; + player->particlePool0[temp_v0].isAlive = 0; + player->particlePool0[temp_v0].timer = 0; + player->particlePool0[temp_v0].type = 0; } } // become bomb @@ -1565,9 +1565,9 @@ void func_8008FDA8(Player* player, UNUSED s8 arg1) { s16 temp_v0; player->kartProps |= BECOME_INVISIBLE; for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { - player->particles[temp_v0].IsAlive = 0; - player->particles[temp_v0].timer = 0; - player->particles[temp_v0].type = 0; + player->particlePool0[temp_v0].isAlive = 0; + player->particlePool0[temp_v0].timer = 0; + player->particlePool0[temp_v0].type = 0; } } @@ -2036,30 +2036,30 @@ void func_800911B4(Player* player, s8 arg1) { player->unk_078 = 0; D_8018D920[arg1] = 0; - player->particles[31].type = 0; - player->particles[31].timer = 0; - player->particles[31].IsAlive = 0; - player->particles[30].type = 0; - player->particles[30].timer = 0; - player->particles[30].IsAlive = 0; + player->particlePool3[1].type = 0; + player->particlePool3[1].timer = 0; + player->particlePool3[1].isAlive = 0; + player->particlePool3[0].type = 0; + player->particlePool3[0].timer = 0; + player->particlePool3[0].isAlive = 0; // clang-format off temp_v0 = 2; do { // clang-format on - player->particles[31 + temp_v0].IsAlive = 0; - player->particles[31 + temp_v0].timer = 0; - player->particles[31 + temp_v0].type = 0; - player->particles[32 + temp_v0].IsAlive = 0; - player->particles[32 + temp_v0].timer = 0; - player->particles[32 + temp_v0].type = 0; - player->particles[33 + temp_v0].IsAlive = 0; - player->particles[33 + temp_v0].timer = 0; - player->particles[33 + temp_v0].type = 0; + player->particlePool3[1 + temp_v0].isAlive = 0; + player->particlePool3[1 + temp_v0].timer = 0; + player->particlePool3[1 + temp_v0].type = 0; + player->particlePool3[2 + temp_v0].isAlive = 0; + player->particlePool3[2 + temp_v0].timer = 0; + player->particlePool3[2 + temp_v0].type = 0; + player->particlePool3[3 + temp_v0].isAlive = 0; + player->particlePool3[3 + temp_v0].timer = 0; + player->particlePool3[3 + temp_v0].type = 0; temp_v0 += 4; - player->particles[26 + temp_v0].IsAlive = 0; - player->particles[26 + temp_v0].timer = 0; - player->particles[26 + temp_v0].type = 0; + player->particlePool2[6 + temp_v0].isAlive = 0; + player->particlePool2[6 + temp_v0].timer = 0; + player->particlePool2[6 + temp_v0].type = 0; } while (temp_v0 < 10); } diff --git a/src/menu_items.c b/src/menu_items.c index edf8e9ad2..927763fb1 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -67,9 +67,9 @@ Gfx* sGfxPtr; s32 gNumD_8018E768Entries; struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; s32 gCycleFlashMenu; -s8 D_8018E7AC[5]; -u32 D_8018E7B8[5]; -u32 D_8018E7D0[4]; +s8 gTransitionType[5]; +u32 gTransitionDuration[5]; +u32 gCurrentTransitionTime[4]; s32 D_8018E7E0; struct UnkStruct_8018E7E8 D_8018E7E8[D_8018E7E8_SIZE]; struct UnkStruct_8018E7E8 D_8018E810[D_8018E810_SIZE]; @@ -278,7 +278,7 @@ RGBA16 D_800E74D0[] = { { 0xff, 0xff, 0x00, 0xff }, }; -RGBA16 D_800E74E8[] = { +RGBA16 gBackgroundColor[] = { { 0xff, 0xaf, 0xaf, 0xff }, { 0xaf, 0xff, 0xaf, 0xff }, { 0xaf, 0xaf, 0xff, 0xff }, @@ -833,16 +833,96 @@ MkAnimation* D_800E7E34[] = { }; MenuTexture* gGlyphTextureLUT[] = { - D_0200211C, D_02002144, D_0200216C, D_02002194, D_020021BC, D_020021E4, D_0200220C, D_02002234, D_0200225C, - D_02002284, D_020022AC, D_020022D4, D_020022FC, D_02002324, D_0200234C, D_02002374, D_0200239C, D_020023C4, - D_020023EC, D_02002414, D_0200243C, D_02002464, D_0200248C, D_020024B4, D_020024DC, D_02002504, D_0200252C, - D_02002554, D_0200257C, D_020025A4, D_02004584, D_0200261C, D_02002694, D_020026BC, D_020026E4, D_0200270C, - D_02002734, D_0200275C, D_02002784, D_020027AC, D_020027D4, D_020027FC, D_020025CC, D_02002644, D_020025F4, - D_0200266C, D_02004534, D_02004584, D_02002824, D_0200284C, D_02002874, D_0200289C, D_020028C4, D_020028EC, - D_02002F54, D_02002914, D_02002F7C, D_0200293C, D_02002FA4, D_02002964, D_02002FCC, D_0200298C, D_02002FF4, - D_020029B4, D_0200301C, D_020029DC, D_02003044, D_02002A04, D_0200306C, D_02002A2C, D_02003094, D_02002A54, - D_020030BC, D_02002A7C, D_020030E4, D_02002AA4, D_0200310C, D_020033B4, D_02002ACC, D_02003134, D_02002AF4, - D_0200315C, D_02002B1C, D_02003184, D_02002B44, D_02002B6C, D_02002B94, D_02002BBC, D_02002BE4, D_02002C0C, + seg2_textureFontLetterA, + seg2_textureFontLetterB, + seg2_textureFontLetterC, + seg2_textureFontLetterD, + seg2_textureFontLetterE, + seg2_textureFontLetterF, + seg2_textureFontLetterG, + seg2_textureFontLetterH, + seg2_textureFontLetterI, + seg2_textureFontLetterJ, + seg2_textureFontLetterK, + seg2_textureFontLetterL, + seg2_textureFontLetterM, + seg2_textureFontLetterN, + seg2_textureFontLetterO, + seg2_textureFontLetterP, + seg2_textureFontLetterQ, + seg2_textureFontLetterR, + seg2_textureFontLetterS, + seg2_textureFontLetterT, + seg2_textureFontLetterU, + seg2_textureFontLetterV, + seg2_textureFontLetterW, + seg2_textureFontLetterX, + seg2_textureFontLetterY, + seg2_textureFontLetterZ, + seg2_textureFontExclamationMark, + seg2_textureFontMinus, + seg2_textureFontInterogationMark, + seg2_textureFontSimpleQuote, + seg2_textureFontEmpty, + seg2_textureFontDot, + seg2_textureFontNumberZero, + seg2_textureFontNumberOne, + seg2_textureFontNumberTwo, + seg2_textureFontNumberThree, + seg2_textureFontNumberFour, + seg2_textureFontNumberFive, + seg2_textureFontNumberSix, + seg2_textureFontNumberSeven, + seg2_textureFontNumberEight, + seg2_textureFontNumberNine, + seg2_textureFontDoubleQuote, + seg2_textureFontFourDote, + seg2_textureFontPlus, + seg2_textureFontCC, + seg2_textureFontComma, + seg2_textureFontEmpty, + D_02002824, + D_0200284C, + D_02002874, + D_0200289C, + D_020028C4, + D_020028EC, + D_02002F54, + D_02002914, + D_02002F7C, + D_0200293C, + D_02002FA4, + D_02002964, + D_02002FCC, + D_0200298C, + D_02002FF4, + D_020029B4, + D_0200301C, + D_020029DC, + D_02003044, + D_02002A04, + D_0200306C, + D_02002A2C, + D_02003094, + D_02002A54, + D_020030BC, + D_02002A7C, + D_020030E4, + D_02002AA4, + D_0200310C, + D_020033B4, + D_02002ACC, + D_02003134, + D_02002AF4, + D_0200315C, + D_02002B1C, + D_02003184, + D_02002B44, + D_02002B6C, + D_02002B94, + D_02002BBC, + D_02002BE4, + D_02002C0C, D_020031AC, }; @@ -884,7 +964,7 @@ MenuTexture* D_800E81E4[] = { }; MenuTexture* D_800E822C[] = { - D_02004534, + seg2_textureFontComma, D_0200455C, }; @@ -896,7 +976,7 @@ MenuTexture* D_800E8234[] = { MenuTexture* D_800E8254[] = { seg2_game_select_texture, seg2_menu_1p_column, seg2_menu_2p_column, seg2_menu_3p_column, - seg2_menu_4p_column, D_0200487C, D_020048A4, D_020048CC, + seg2_menu_4p_column, D_0200487C, gTextureMenuLOption, seg2_textureMenuRData, }; // CC textures @@ -1246,7 +1326,7 @@ void func_80091B78(void) { unref_8018EE0C = 0; for (i = 0; i < 5; i++) { - D_8018E7AC[i] = 0; + gTransitionType[i] = 0; } for (i = 0; i < 4; i++) { @@ -1342,7 +1422,7 @@ void func_80091FA4(void) { sGPPointsCopy = get_next_available_memory_addr(4); for (i = 0; i < 5; i++) { - D_8018E7AC[i] = 0; + gTransitionType[i] = 0; } for (i = 0; i < 4; i++) { @@ -2152,7 +2232,7 @@ void func_80093E60(void) { sGPPointsCopy = get_next_available_memory_addr(4U); for (i = 0; i < 5; i++) { - D_8018E7AC[i] = 0; + gTransitionType[i] = 0; } for (i = 0; i < 4; i++) { @@ -2477,7 +2557,7 @@ void setup_menus(void) { void func_80095574(void) { s32 var_v0; - if ((unref_8018EE0C < 3) || (D_8018E7AC[4] != 0)) { + if ((unref_8018EE0C < 3) || (gTransitionType[4] != 0)) { handle_menus_default(); } if (gDebugMenuSelection > DEBUG_MENU_DISABLED) { // If not disabled @@ -3225,12 +3305,12 @@ Gfx* func_800987D0(Gfx* displayListHead, u32 arg1, u32 arg2, u32 width, u32 heig f32 temp_f18; f32 temp_f24; - if (D_8018E7B8[0] == 0) { - D_8018E7B8[0] = 1; + if (gTransitionDuration[0] == 0) { + gTransitionDuration[0] = 1; } - temp_f24 = sins(((D_8018E7D0[0] * 0x4E20) / D_8018E7B8[0]) % 20000U); - temp_f0 = coss(((D_8018E7D0[0] * 0x4E20) / D_8018E7B8[0]) % 20000U); - temp_f18 = (((f32) D_8018E7D0[0] * 0.5) / D_8018E7B8[0]) + 1.0; + temp_f24 = sins(((gCurrentTransitionTime[0] * 0x4E20) / gTransitionDuration[0]) % 20000U); + temp_f0 = coss(((gCurrentTransitionTime[0] * 0x4E20) / gTransitionDuration[0]) % 20000U); + temp_f18 = (((f32) gCurrentTransitionTime[0] * 0.5) / gTransitionDuration[0]) + 1.0; columnCopy = column; for (var_v0_2 = arg2; (u32) var_v0_2 < height; var_v0_2 += 0x20) { for (var_a2 = arg1; (u32) var_a2 < width; var_a2 += 0x20) { @@ -4253,7 +4333,7 @@ Gfx* render_menu_textures(Gfx* arg0, MenuTexture* arg1, s32 column, s32 row) { } temp_v0_3 = (u8*) func_8009B8C4(temp_v0->textureData); if (temp_v0_3 != 0) { - if (D_8018E7AC[4] != 4) { + if (gTransitionType[4] != 4) { arg0 = func_80095E10(arg0, var_s4, 0x00000400, 0x00000400, 0, 0, temp_v0->width, temp_v0->height, temp_v0->dX + column, temp_v0->dY + row, temp_v0_3, temp_v0->width, temp_v0->height); @@ -4530,9 +4610,9 @@ void func_8009CA6C(s32 arg0) { if ((arg0 != 4) && (gIsGamePaused != 0)) { var_a1 = 1; } - switch (D_8018E7AC[arg0]) { + switch (gTransitionType[arg0]) { case 1: - func_8009CDDC(arg0, var_a1); + draw_black_fade_in(arg0, var_a1); return; case 2: func_8009D958(arg0, var_a1); @@ -4550,7 +4630,7 @@ void func_8009CA6C(s32 arg0) { func_8009D978(arg0, var_a1); return; case 8: - func_8009CDFC(arg0, var_a1); + draw_white_fade_in(arg0, var_a1); break; case 0: default: @@ -4559,7 +4639,7 @@ void func_8009CA6C(s32 arg0) { } } -void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) { +void draw_fade_in(s32 arg0, s32 arg1, s32 arg2) { RGBA16* color; s16 x, y, w, h; UNUSED s32 pad[3]; @@ -4588,25 +4668,27 @@ void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) { h = unk->screenHeight; } color = &D_800E7AE8[arg2]; - gDisplayListHead = draw_box(gDisplayListHead, x - (w / 2), y - (h / 2), (w / 2) + x, (h / 2) + y, color->red, - color->green, color->blue, 0xFF - (D_8018E7D0[arg0] * 0xFF / D_8018E7B8[arg0])); + gDisplayListHead = + draw_box(gDisplayListHead, x - (w / 2), y - (h / 2), (w / 2) + x, (h / 2) + y, color->red, color->green, + color->blue, 0xFF - (gCurrentTransitionTime[arg0] * 0xFF / gTransitionDuration[arg0])); - if ((arg1 == 0) && (D_8018E7D0[arg0] += 1, (D_8018E7D0[arg0] >= D_8018E7B8[arg0]))) { + if ((arg1 == 0) && + (gCurrentTransitionTime[arg0] += 1, (gCurrentTransitionTime[arg0] >= gTransitionDuration[arg0]))) { if (gGamestate == RACING) { - D_8018E7AC[arg0] = 6; + gTransitionType[arg0] = 6; return; } - D_8018E7AC[arg0] = 0; + gTransitionType[arg0] = 0; unref_8018EE0C = 0; } } -void func_8009CDDC(s32 arg0, s32 arg1) { - func_8009CBE4(arg0, arg1, 0); +void draw_black_fade_in(s32 arg0, s32 arg1) { + draw_fade_in(arg0, arg1, 0); } -void func_8009CDFC(s32 arg0, s32 arg1) { - func_8009CBE4(arg0, arg1, 1); +void draw_white_fade_in(s32 arg0, s32 arg1) { + draw_fade_in(arg0, arg1, 1); } void func_8009CE1C(void) { @@ -4643,9 +4725,9 @@ void func_8009CE64(s32 arg0) { gMenuSelection = 0x0000000B; } } else if (gGamestate == RACING) { - if (D_8018E7AC[arg0] == 2) { + if (gTransitionType[arg0] == 2) { if (arg0 != 4) { - D_8018E7AC[arg0] = 5; + gTransitionType[arg0] = 5; } else { var_a1 = 0; temp_v0 = find_menu_items(0x000000B0); @@ -4708,7 +4790,7 @@ void func_8009CE64(s32 arg0) { var_a1 = 1; break; default: - D_8018E7AC[arg0] = 5; + gTransitionType[arg0] = 5; break; } if (var_a1 != 0) { @@ -4747,14 +4829,14 @@ void func_8009CE64(s32 arg0) { break; } } else { - D_8018E7AC[arg0] = 5; + gTransitionType[arg0] = 5; } } } } } } else { - D_8018E7AC[arg0] = 0; + gTransitionType[arg0] = 0; if (gDebugMenuSelection != DEBUG_MENU_OPTION_SELECTED) { switch (gMenuFadeType) { /* switch 3 */ case MENU_FADE_TYPE_MAIN: /* switch 3 */ @@ -4970,7 +5052,7 @@ void func_8009D77C(s32 arg0, s32 arg1, s32 arg2) { var_ra = D_8015F480[arg0].screenWidth; sp44 = D_8015F480[arg0].screenHeight; } - var_t2 = (D_8018E7D0[arg0] * 0xFF) / D_8018E7B8[arg0]; + var_t2 = (gCurrentTransitionTime[arg0] * 0xFF) / gTransitionDuration[arg0]; if (var_t2 >= 0x100) { var_t2 = 0x000000FF; } @@ -4985,8 +5067,8 @@ void func_8009D77C(s32 arg0, s32 arg1, s32 arg2) { gDisplayListHead = draw_box(gDisplayListHead, var_t3 - temp_v1, var_t4 - temp_t8, someMath0, someMath1, temp_v0_2->red, temp_v0_2->green, temp_v0_2->blue, var_t2); if (arg1 == 0) { - D_8018E7D0[arg0]++; - if ((D_8018E7B8[arg0] + 1) < D_8018E7D0[arg0]) { + gCurrentTransitionTime[arg0]++; + if ((gTransitionDuration[arg0] + 1) < gCurrentTransitionTime[arg0]) { func_8009CE64(arg0); } } @@ -5040,12 +5122,12 @@ void func_8009D998(s32 arg0) { void func_8009DAA8(void) { u32 var_t0; - D_8018E7D0[4]++; - if (D_8018E7D0[4] >= (D_8018E7B8[4] + 1)) { + gCurrentTransitionTime[4]++; + if (gCurrentTransitionTime[4] >= (gTransitionDuration[4] + 1)) { func_8009CE64(4); } gDPPipeSync(gDisplayListHead++); - var_t0 = (D_8018E7D0[4] * 255) / D_8018E7B8[4]; + var_t0 = (gCurrentTransitionTime[4] * 255) / gTransitionDuration[4]; if ((s32) var_t0 >= 0x100) { var_t0 = 0x000000FF; } @@ -5059,11 +5141,11 @@ void func_8009DB8C(void) { u32 var_s3; s32 var_v1; - D_8018E7D0[4]++; + gCurrentTransitionTime[4]++; // why? - var_v1 = D_8018E7D0[4]; - if ((u32) var_v1 >= D_8018E7B8[4]) { - if ((u32) var_v1 == D_8018E7B8[4]) { + var_v1 = gCurrentTransitionTime[4]; + if ((u32) var_v1 >= gTransitionDuration[4]) { + if ((u32) var_v1 == gTransitionDuration[4]) { for (var_s0 = 0; var_s0 < 0x4B0; var_s0++) { sTKMK00_LowResBuffer[var_s0] = 1; } @@ -5073,8 +5155,9 @@ void func_8009DB8C(void) { } else { var_s0 = 0; var_s3 = 0; - while (var_s3 < (0x4B0U / D_8018E7B8[4])) { - if ((sTKMK00_LowResBuffer[var_s0] == 0) && (random_int((0x4B0U - D_8018E7D0[4]) / D_8018E7B8[4]) == 0)) { + while (var_s3 < (0x4B0U / gTransitionDuration[4])) { + if ((sTKMK00_LowResBuffer[var_s0] == 0) && + (random_int((0x4B0U - gCurrentTransitionTime[4]) / gTransitionDuration[4]) == 0)) { var_s3 += 1; sTKMK00_LowResBuffer[var_s0] = 1; } @@ -5096,7 +5179,7 @@ void func_8009DB8C(void) { } } gDPPipeSync(gDisplayListHead++); - var_v1 = (D_8018E7D0[4] * 255) / D_8018E7B8[4]; + var_v1 = (gCurrentTransitionTime[4] * 255) / gTransitionDuration[4]; if (var_v1 >= 0x100) { var_v1 = 0x000000FF; } @@ -5107,11 +5190,11 @@ void func_8009DEF8(u32 arg0, u32 arg1) { if (arg0 == 0) { arg0 = 1; } - if ((D_8018E7AC[4] != 1) && (D_8018E7AC[4] != 6)) { - D_8018E7AC[4] = arg1; - D_8018E7B8[4] = arg0; - if (D_8018E7B8[4] >= 0x100U) { - D_8018E7B8[4] = 0xFFU; + if ((gTransitionType[4] != 1) && (gTransitionType[4] != 6)) { + gTransitionType[4] = arg1; + gTransitionDuration[4] = arg0; + if (gTransitionDuration[4] >= 0x100U) { + gTransitionDuration[4] = 0xFFU; } D_8018E7E0 = 0; } @@ -5129,11 +5212,11 @@ void func_8009DF8C(u32 arg0, u32 arg1) { if (arg0 == 0) { arg0 = 1; } - if ((D_8018E7AC[4] != 2) && (D_8018E7AC[4] != 5)) { - D_8018E7AC[4] = arg1; - D_8018E7B8[4] = arg0; - if (D_8018E7B8[4] >= 0x100U) { - D_8018E7B8[4] = 0xFFU; + if ((gTransitionType[4] != 2) && (gTransitionType[4] != 5)) { + gTransitionType[4] = arg1; + gTransitionDuration[4] = arg0; + if (gTransitionDuration[4] >= 0x100U) { + gTransitionDuration[4] = 0xFFU; } D_8018E7E0 = 0; } @@ -5154,14 +5237,14 @@ void func_8009E020(s32 arg0, s32 arg1) { arg1 = 1; } - temp = D_8018E7AC[arg0]; + temp = gTransitionType[arg0]; if ((temp != 1) && (temp != 6)) { - D_8018E7AC[arg0] = 1; - D_8018E7B8[arg0] = arg1; + gTransitionType[arg0] = 1; + gTransitionDuration[arg0] = arg1; if ((u32) arg1 >= 0x100U) { - D_8018E7B8[arg0] = 0xFF; + gTransitionDuration[arg0] = 0xFF; } - D_8018E7D0[arg0] = 0; + gCurrentTransitionTime[arg0] = 0; } } @@ -5172,25 +5255,25 @@ void func_8009E088(s32 arg0, s32 arg1) { arg1 = 1; } - temp = D_8018E7AC[arg0]; + temp = gTransitionType[arg0]; if ((temp != 2) && (temp != 5)) { - D_8018E7AC[arg0] = 2; - D_8018E7B8[arg0] = arg1; + gTransitionType[arg0] = 2; + gTransitionDuration[arg0] = arg1; if ((u32) arg1 >= 0x100U) { - D_8018E7B8[arg0] = 0xFF; + gTransitionDuration[arg0] = 0xFF; } - D_8018E7D0[arg0] = 0; + gCurrentTransitionTime[arg0] = 0; } } void func_8009E0F0(s32 arg0) { s32 var_v0; - if (D_8018E7AC[4] != 3) { - D_8018E7AC[4] = 3; - D_8018E7B8[4] = arg0; - if (D_8018E7B8[4] >= 0x100U) { - D_8018E7B8[4] = 0x000000FF; + if (gTransitionType[4] != 3) { + gTransitionType[4] = 3; + gTransitionDuration[4] = arg0; + if (gTransitionDuration[4] >= 0x100U) { + gTransitionDuration[4] = 0x000000FF; } D_8018E7E0 = 0; for (var_v0 = 0; var_v0 < 0x4B0; var_v0++) { @@ -5200,11 +5283,11 @@ void func_8009E0F0(s32 arg0) { } void func_8009E17C(u32 arg0) { - if (D_8018E7AC[4] != 4) { - D_8018E7AC[4] = 4; - D_8018E7B8[4] = arg0; - if (D_8018E7B8[4] >= 0x100U) { - D_8018E7B8[4] = 0x000000FFU; + if (gTransitionType[4] != 4) { + gTransitionType[4] = 4; + gTransitionDuration[4] = arg0; + if (gTransitionDuration[4] >= 0x100U) { + gTransitionDuration[4] = 0x000000FFU; } D_8018E7E0 = 0; } @@ -5432,9 +5515,8 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { load_menu_img_comp_type(gMenuTexturesBackground[has_unlocked_extra_mode()], LOAD_MENU_IMG_TKMK00_ONCE); load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); convert_img_to_greyscale(0, 0x00000019); - adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - MAIN_MENU_BACKGROUND].red, - D_800E74E8[type - MAIN_MENU_BACKGROUND].green, - D_800E74E8[type - MAIN_MENU_BACKGROUND].blue); + adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, gBackgroundColor[type - MAIN_MENU_BACKGROUND].red, + gBackgroundColor[type - MAIN_MENU_BACKGROUND].green, gBackgroundColor[type - MAIN_MENU_BACKGROUND].blue); break; case MENU_ITEM_UI_OK: menuItem->param1 = 0x20; diff --git a/src/menu_items.h b/src/menu_items.h index 7ed1964bc..ae7981669 100644 --- a/src/menu_items.h +++ b/src/menu_items.h @@ -455,9 +455,9 @@ Gfx* func_8009C708(Gfx*, struct_8018DEE0_entry*, s32, s32, s32, s32); void func_8009C918(void); void func_8009CA2C(void); void func_8009CA6C(s32); -void func_8009CBE4(s32, s32, s32); -void func_8009CDDC(s32, s32); -void func_8009CDFC(s32, s32); +void draw_fade_in(s32, s32, s32); +void draw_black_fade_in(s32, s32); +void draw_white_fade_in(s32, s32); void func_8009CE1C(void); void func_8009CE64(s32); void func_8009D77C(s32, s32, s32); @@ -676,9 +676,9 @@ extern Gfx* sGfxPtr; extern s32 gNumD_8018E768Entries; extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; extern s32 gCycleFlashMenu; -extern s8 D_8018E7AC[]; -extern u32 D_8018E7B8[]; -extern u32 D_8018E7D0[]; +extern s8 gTransitionType[]; +extern u32 gTransitionDuration[]; +extern u32 gCurrentTransitionTime[]; extern s32 D_8018E7E0; extern struct UnkStruct_8018E7E8 D_8018E7E8[D_8018E7E8_SIZE]; extern struct UnkStruct_8018E7E8 D_8018E810[D_8018E810_SIZE]; @@ -721,7 +721,7 @@ extern Unk_D_800E70A0 D_800E7458[]; extern Unk_D_800E70A0 D_800E7480[]; extern RGBA16 D_800E74A8[]; extern RGBA16 D_800E74D0[]; -extern RGBA16 D_800E74E8[]; +extern RGBA16 gBackgroundColor[]; extern const s16 gGlyphDisplayWidth[]; extern char* gCupNames[]; extern char* gCourseNamesDup2[]; diff --git a/src/menus.c b/src/menus.c index 5223158f5..d477aef97 100644 --- a/src/menus.c +++ b/src/menus.c @@ -1996,7 +1996,8 @@ void set_sound_mode(void) { * interacted while a fade transition is active */ bool is_screen_being_faded(void) { - if ((D_8018E7AC[4] == 2) || (D_8018E7AC[4] == 3) || (D_8018E7AC[4] == 4) || (D_8018E7AC[4] == 7)) { + if ((gTransitionType[4] == 2) || (gTransitionType[4] == 3) || (gTransitionType[4] == 4) || + (gTransitionType[4] == 7)) { return true; } return false; diff --git a/src/menus.h b/src/menus.h index 8b16558a6..64b97a147 100644 --- a/src/menus.h +++ b/src/menus.h @@ -47,12 +47,12 @@ enum SubMenuSelectionType { SUB_MENU_ERASE_QUIT = SUB_MENU_ERASE_MIN, SUB_MENU_ERASE_ERASE, SUB_MENU_ERASE_MAX = SUB_MENU_ERASE_ERASE, // 0x1F - SUB_MENU_SAVE_DATA_ERASED, // 0x20 + SUB_MENU_SAVE_DATA_ERASED, // 0x20 SUB_MENU_COPY_PAK_FROM_GHOST_MIN = 0x28, SUB_MENU_COPY_PAK_FROM_GHOST1_1P = SUB_MENU_COPY_PAK_FROM_GHOST_MIN, SUB_MENU_COPY_PAK_FROM_GHOST2_1P, SUB_MENU_COPY_PAK_FROM_GHOST_MAX = SUB_MENU_COPY_PAK_FROM_GHOST2_1P, // 0x29 - SUB_MENU_COPY_PAK_ERROR_2P_MIN, // 0x2A + SUB_MENU_COPY_PAK_ERROR_2P_MIN, // 0x2A SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA = SUB_MENU_COPY_PAK_ERROR_2P_MIN, SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA, SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P, @@ -93,10 +93,10 @@ enum MainMenuSelectionType { MAIN_MENU_OPTION, MAIN_MENU_DATA, MAIN_MENU_PLAYER_SELECT, - MAIN_MENU_MODE_SELECT, // Mario GP - T. Trials - VS - Battle - MAIN_MENU_MODE_SUB_SELECT, // CC Selection and T.Trials options (Begin, Data) - MAIN_MENU_OK_SELECT, // OK option after selecting a submode - MAIN_MENU_OK_SELECT_GO_BACK, // OK option after going back from player select + MAIN_MENU_MODE_SELECT, // Mario GP - T. Trials - VS - Battle + MAIN_MENU_MODE_SUB_SELECT, // CC Selection and T.Trials options (Begin, Data) + MAIN_MENU_OK_SELECT, // OK option after selecting a submode + MAIN_MENU_OK_SELECT_GO_BACK, // OK option after going back from player select MAIN_MENU_MODE_SUB_SELECT_GO_BACK // Used in T.Trials after going back to Data option from course data }; @@ -106,7 +106,7 @@ enum MainMenuSelectionType { enum PlayerSelectMenuSelectionTypes { PLAYER_SELECT_MENU_NONE, PLAYER_SELECT_MENU_MAIN, - PLAYER_SELECT_MENU_OK, // OK option after selecting characters + PLAYER_SELECT_MENU_OK, // OK option after selecting characters PLAYER_SELECT_MENU_OK_GO_BACK // OK option after going back from map select }; @@ -176,11 +176,7 @@ enum DebugGotoSceneTypes { /** * @brief Options for gFadeModeSelection */ -enum FadeModeSelectionTypes { - FADE_MODE_NONE, - FADE_MODE_MAIN, - FADE_MODE_LOGO -}; +enum FadeModeSelectionTypes { FADE_MODE_NONE, FADE_MODE_MAIN, FADE_MODE_LOGO }; /** * @brief Options for gControllerPakScrollDirection @@ -191,7 +187,6 @@ enum ControllerPakScrollDirectionTypes { CONTROLLER_PAK_SCROLL_DIR_UP }; - /* functions */ void update_menus(void); void options_menu_act(struct Controller*, u16); diff --git a/src/os/is_debug.c b/src/os/is_debug.c index ba905bb4a..3c4c60d4c 100644 --- a/src/os/is_debug.c +++ b/src/os/is_debug.c @@ -66,7 +66,7 @@ void osSyncPrintfUnused(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -75,7 +75,7 @@ void osSyncPrintf(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -84,7 +84,7 @@ void print(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } @@ -94,7 +94,7 @@ void rmonPrintf(const char* fmt, ...) { va_list args; va_start(args, fmt); - _Printf((char* (*) (char*, const char*, size_t)) is_proutSyncPrintf, NULL, fmt, args); + _Printf((char* (*) (char*, const char*, size_t) ) is_proutSyncPrintf, NULL, fmt, args); va_end(args); } diff --git a/src/player_controller.c b/src/player_controller.c index e5ef29a9f..baf070d50 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1365,7 +1365,7 @@ void func_8002B218(Player* player) { if (player->unk_006 == sp38[someIndex]) { player->effects |= DRIFTING_EFFECT; kart_hop(player); - player->unk_204 = 0; + player->driftDuration = 0; break; } @@ -1752,16 +1752,16 @@ void func_8002BF4C(Player* player, s8 playerIndex) { } } -void func_8002C11C(Player* player) { +void update_player_drift_duration(Player* player) { if ((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) { - player->unk_204 += 1; - if (player->unk_204 >= 0x65) { - player->unk_204 = 0x64; + player->driftDuration += 1; + if (player->driftDuration >= 101) { + player->driftDuration = 100; } } else { - player->unk_204 -= 1; - if (player->unk_204 < 0) { - player->unk_204 = 0; + player->driftDuration -= 1; + if (player->driftDuration < 0) { + player->driftDuration = 0; } } } @@ -2135,7 +2135,7 @@ void func_8002D268(Player* player, UNUSED Camera* camera, s8 screenId, s8 player UNUSED s32 pad4[6]; func_80027EDC(player, playerId); - func_8002C11C(player); + update_player_drift_duration(player); if ((player->type & PLAYER_HUMAN) == PLAYER_HUMAN) { func_8002A79C(player, playerId); } @@ -2730,7 +2730,7 @@ void control_cpu_movement(Player* player, UNUSED Camera* camera, s8 screenId, s8 player->effects |= LOST_RACE_EFFECT; player->kartProps |= LOSE_GP_RACE; nextY = gPlayerPathY[playerId]; - player->unk_204 = 0; + player->driftDuration = 0; player->effects &= ~DRIFTING_EFFECT; func_8002B830(player, playerId, screenId); apply_effect(player, playerId, screenId); @@ -3031,7 +3031,7 @@ f32 func_80030150(Player* player, s8 playerIndex) { var_f0 += -0.55; } } - if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) || (player->unk_204 > 0)) { + if (((player->effects & DRIFTING_EFFECT) == DRIFTING_EFFECT) || (player->driftDuration > 0)) { var_v0 = (s16) player->unk_0C0 / 182; if (var_v0 < 0) { var_f0 += -var_v0 * 0.004; @@ -3952,7 +3952,7 @@ void func_80033AE0(Player* player, struct Controller* controller, s8 arg2) { if ((((((!(player->effects & DRIFTING_EFFECT)) && (gCCSelection == CC_150)) && (gModeSelection != BATTLE)) && (!(player->effects & MIDAIR_EFFECT))) && (((player->speed / 18.0f) * 216.0f) >= 40.0f)) && - (player->unk_204 == 0)) { + (player->driftDuration == 0)) { player->triggers |= DRIVING_SPINOUT_TRIGGER; } } @@ -4298,7 +4298,7 @@ void apply_cpu_turn(Player* player, s16 targetAngle) { void func_80036C5C(Player* player) { if (((player->speed / 18.0f) * 216.0f) > 20.0f) { - player->unk_204 = 0; + player->driftDuration = 0; player->effects |= DRIFTING_EFFECT; player->kartGraphics |= BOING; } diff --git a/src/player_controller.h b/src/player_controller.h index a0c55cec2..e9bf10979 100644 --- a/src/player_controller.h +++ b/src/player_controller.h @@ -53,7 +53,7 @@ void func_8002B9CC(Player*, s8, s32); void func_8002BD58(Player*); void func_8002BF4C(Player*, s8); -void func_8002C11C(Player*); +void update_player_drift_duration(Player*); void func_8002C17C(Player*, s8); void func_8002C4F8(Player*, s8); void func_8002C7E4(Player*, s8, s8); diff --git a/src/racing/actors.c b/src/racing/actors.c index e40eabde9..92b13e784 100644 --- a/src/racing/actors.c +++ b/src/racing/actors.c @@ -1186,22 +1186,22 @@ void spawn_course_actors(void) { */ void init_actors_and_load_textures(void) { set_segment_base_addr(3, (void*) gNextFreeMemoryAddress); - D_802BA050 = dma_textures(gTextureGreenShell0, 0x00000257U, 0x00000400U); - dma_textures(gTextureGreenShell1, 0x00000242U, 0x00000400U); - dma_textures(gTextureGreenShell2, 0x00000259U, 0x00000400U); - dma_textures(gTextureGreenShell3, 0x00000256U, 0x00000400U); - dma_textures(gTextureGreenShell4, 0x00000246U, 0x00000400U); - dma_textures(gTextureGreenShell5, 0x0000025EU, 0x00000400U); - dma_textures(gTextureGreenShell6, 0x0000025CU, 0x00000400U); - dma_textures(gTextureGreenShell7, 0x00000254U, 0x00000400U); - D_802BA054 = dma_textures(gTextureBlueShell0, 0x0000022AU, 0x00000400U); - dma_textures(gTextureBlueShell1, 0x00000237U, 0x00000400U); - dma_textures(gTextureBlueShell2, 0x0000023EU, 0x00000400U); - dma_textures(gTextureBlueShell3, 0x00000243U, 0x00000400U); - dma_textures(gTextureBlueShell4, 0x00000255U, 0x00000400U); - dma_textures(gTextureBlueShell5, 0x00000259U, 0x00000400U); - dma_textures(gTextureBlueShell6, 0x00000239U, 0x00000400U); - dma_textures(gTextureBlueShell7, 0x00000236U, 0x00000400U); + D_802BA050 = dma_textures(texture_green_shell_0, 0x00000257U, 0x00000400U); + dma_textures(texture_green_shell_1, 0x00000242U, 0x00000400U); + dma_textures(texture_green_shell_2, 0x00000259U, 0x00000400U); + dma_textures(texture_green_shell_3, 0x00000256U, 0x00000400U); + dma_textures(texture_green_shell_4, 0x00000246U, 0x00000400U); + dma_textures(texture_green_shell_5, 0x0000025EU, 0x00000400U); + dma_textures(texture_green_shell_6, 0x0000025CU, 0x00000400U); + dma_textures(texture_green_shell_7, 0x00000254U, 0x00000400U); + D_802BA054 = dma_textures(texture_blue_shell_0, 0x0000022AU, 0x00000400U); + dma_textures(texture_blue_shell_1, 0x00000237U, 0x00000400U); + dma_textures(texture_blue_shell_2, 0x0000023EU, 0x00000400U); + dma_textures(texture_blue_shell_3, 0x00000243U, 0x00000400U); + dma_textures(texture_blue_shell_4, 0x00000255U, 0x00000400U); + dma_textures(texture_blue_shell_5, 0x00000259U, 0x00000400U); + dma_textures(texture_blue_shell_6, 0x00000239U, 0x00000400U); + dma_textures(texture_blue_shell_7, 0x00000236U, 0x00000400U); dma_textures(gTextureFinishLineBanner1, 0x0000028EU, 0x00000800U); dma_textures(gTextureFinishLineBanner2, 0x000002FBU, 0x00000800U); dma_textures(gTextureFinishLineBanner3, 0x00000302U, 0x00000800U); diff --git a/src/render_player.c b/src/render_player.c index 6245ea759..1106406c9 100644 --- a/src/render_player.c +++ b/src/render_player.c @@ -1347,16 +1347,17 @@ void render_player_shadow(Player* player, s8 playerId, s8 screenId) { gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D474, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, - G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, gLoadedTextureKartShadow, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOLOD); func_8004B414(0, 0, 0, 0xFF); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); gSPVertex(gDisplayListHead++, &D_800E51D0[0], 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, (D_8018D474 + SOME_TEXTURE_POINTER_MATH), G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, - 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, - G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, (gLoadedTextureKartShadow + SOME_TEXTURE_POINTER_MATH), G_IM_FMT_I, + G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, + G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B414(0, 0, 0, 0xFF); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); gSPVertex(gDisplayListHead++, &D_800E5210[0], 4, 0); @@ -1401,16 +1402,17 @@ void render_player_shadow_credits(Player* player, s8 playerId, s8 arg2) { gSPDisplayList(gDisplayListHead++, D_0D008D58); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D474, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, - G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, gLoadedTextureKartShadow, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, + G_TX_NOLOD); func_8004B414(0, 0, 0, 0x000000D0); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); gSPVertex(gDisplayListHead++, &D_800E51D0[0], 4, 0); gSPDisplayList(gDisplayListHead++, common_square_plain_render); - gDPLoadTextureBlock(gDisplayListHead++, (D_8018D474 + SOME_TEXTURE_POINTER_MATH), G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, - 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, - G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, (gLoadedTextureKartShadow + SOME_TEXTURE_POINTER_MATH), G_IM_FMT_I, + G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, + G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B414(0, 0, 0, 0x000000D0); gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); gSPVertex(gDisplayListHead++, &D_800E5210[0], 4, 0); diff --git a/src/spawn_players.c b/src/spawn_players.c index 911feff6f..98aebecac 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -192,7 +192,7 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC player->unk_0E2 = 0; player->unk_10C = 0; player->unk_200 = 0; - player->unk_204 = 0; + player->driftDuration = 0; player->nearestPathPointId = 0; player->unk_228 = 0; player->driftState = 0; @@ -355,7 +355,7 @@ void spawn_player(Player* player, s8 playerIndex, f32 startingRow, f32 startingC D_8018CE10[playerIndex].unk_04[0] = 0.0f; D_8018CE10[playerIndex].unk_04[2] = 0.0f; func_80295BF8(playerIndex); - func_8005D6C0(player); + reset_player_particle_pool(player); clear_all_player_balloons(player, playerIndex); if (gModeSelection == BATTLE) { init_all_player_balloons(player, playerIndex); diff --git a/src/textures.h b/src/textures.h index ac23a4b78..5683cbe43 100644 --- a/src/textures.h +++ b/src/textures.h @@ -253,51 +253,51 @@ extern MkAnimation D_020020DC[2]; extern MkAnimation D_020020EC[2]; extern MkAnimation D_020020FC[2]; extern MkAnimation D_0200210C[2]; -extern MenuTexture D_0200211C[2]; -extern MenuTexture D_02002144[2]; -extern MenuTexture D_0200216C[2]; -extern MenuTexture D_02002194[2]; -extern MenuTexture D_020021BC[2]; -extern MenuTexture D_020021E4[2]; -extern MenuTexture D_0200220C[2]; -extern MenuTexture D_02002234[2]; -extern MenuTexture D_0200225C[2]; -extern MenuTexture D_02002284[2]; -extern MenuTexture D_020022AC[2]; -extern MenuTexture D_020022D4[2]; -extern MenuTexture D_020022FC[2]; -extern MenuTexture D_02002324[2]; -extern MenuTexture D_0200234C[2]; -extern MenuTexture D_02002374[2]; -extern MenuTexture D_0200239C[2]; -extern MenuTexture D_020023C4[2]; -extern MenuTexture D_020023EC[2]; -extern MenuTexture D_02002414[2]; -extern MenuTexture D_0200243C[2]; -extern MenuTexture D_02002464[2]; -extern MenuTexture D_0200248C[2]; -extern MenuTexture D_020024B4[2]; -extern MenuTexture D_020024DC[2]; -extern MenuTexture D_02002504[2]; -extern MenuTexture D_0200252C[2]; -extern MenuTexture D_02002554[2]; -extern MenuTexture D_0200257C[2]; -extern MenuTexture D_020025A4[2]; -extern MenuTexture D_020025CC[2]; -extern MenuTexture D_020025F4[2]; -extern MenuTexture D_0200261C[2]; -extern MenuTexture D_02002644[2]; -extern MenuTexture D_0200266C[2]; -extern MenuTexture D_02002694[2]; -extern MenuTexture D_020026BC[2]; -extern MenuTexture D_020026E4[2]; -extern MenuTexture D_0200270C[2]; -extern MenuTexture D_02002734[2]; -extern MenuTexture D_0200275C[2]; -extern MenuTexture D_02002784[2]; -extern MenuTexture D_020027AC[2]; -extern MenuTexture D_020027D4[2]; -extern MenuTexture D_020027FC[2]; +extern MenuTexture seg2_textureFontLetterA[2]; +extern MenuTexture seg2_textureFontLetterB[2]; +extern MenuTexture seg2_textureFontLetterC[2]; +extern MenuTexture seg2_textureFontLetterD[2]; +extern MenuTexture seg2_textureFontLetterE[2]; +extern MenuTexture seg2_textureFontLetterF[2]; +extern MenuTexture seg2_textureFontLetterG[2]; +extern MenuTexture seg2_textureFontLetterH[2]; +extern MenuTexture seg2_textureFontLetterI[2]; +extern MenuTexture seg2_textureFontLetterJ[2]; +extern MenuTexture seg2_textureFontLetterK[2]; +extern MenuTexture seg2_textureFontLetterL[2]; +extern MenuTexture seg2_textureFontLetterM[2]; +extern MenuTexture seg2_textureFontLetterN[2]; +extern MenuTexture seg2_textureFontLetterO[2]; +extern MenuTexture seg2_textureFontLetterP[2]; +extern MenuTexture seg2_textureFontLetterQ[2]; +extern MenuTexture seg2_textureFontLetterR[2]; +extern MenuTexture seg2_textureFontLetterS[2]; +extern MenuTexture seg2_textureFontLetterT[2]; +extern MenuTexture seg2_textureFontLetterU[2]; +extern MenuTexture seg2_textureFontLetterV[2]; +extern MenuTexture seg2_textureFontLetterW[2]; +extern MenuTexture seg2_textureFontLetterX[2]; +extern MenuTexture seg2_textureFontLetterY[2]; +extern MenuTexture seg2_textureFontLetterZ[2]; +extern MenuTexture seg2_textureFontExclamationMark[2]; +extern MenuTexture seg2_textureFontMinus[2]; +extern MenuTexture seg2_textureFontInterogationMark[2]; +extern MenuTexture seg2_textureFontSimpleQuote[2]; +extern MenuTexture seg2_textureFontDoubleQuote[2]; +extern MenuTexture seg2_textureFontPlus[2]; +extern MenuTexture seg2_textureFontDot[2]; +extern MenuTexture seg2_textureFontFourDote[2]; +extern MenuTexture seg2_textureFontCC[2]; +extern MenuTexture seg2_textureFontNumberZero[2]; +extern MenuTexture seg2_textureFontNumberOne[2]; +extern MenuTexture seg2_textureFontNumberTwo[2]; +extern MenuTexture seg2_textureFontNumberThree[2]; +extern MenuTexture seg2_textureFontNumberFour[2]; +extern MenuTexture seg2_textureFontNumberFive[2]; +extern MenuTexture seg2_textureFontNumberSix[2]; +extern MenuTexture seg2_textureFontNumberSeven[2]; +extern MenuTexture seg2_textureFontNumberEight[2]; +extern MenuTexture seg2_textureFontNumberNine[2]; extern MenuTexture D_02002824[2]; extern MenuTexture D_0200284C[2]; extern MenuTexture D_02002874[2]; @@ -484,9 +484,9 @@ extern MenuTexture D_02004494[2]; extern MenuTexture D_020044BC[2]; extern MenuTexture D_020044E4[2]; extern MenuTexture D_0200450C[2]; -extern MenuTexture D_02004534[2]; +extern MenuTexture seg2_textureFontComma[2]; extern MenuTexture D_0200455C[2]; -extern MenuTexture D_02004584[1]; +extern MenuTexture seg2_textureFontEmpty[1]; extern MenuTexture seg2_blue_sky_background_texture[2]; extern MenuTexture seg2_sunset_background_texture[2]; extern MenuTexture seg2_copyright_1996_texture[2]; @@ -502,8 +502,8 @@ extern MenuTexture D_02004804[2]; extern MenuTexture D_0200482C[2]; extern MenuTexture D_02004854[2]; extern MenuTexture D_0200487C[2]; -extern MenuTexture D_020048A4[2]; -extern MenuTexture D_020048CC[2]; +extern MenuTexture gTextureMenuLOption[2]; +extern MenuTexture seg2_textureMenuRData[2]; extern MenuTexture seg2_50_CC_texture[2]; extern MenuTexture seg2_100_CC_texture[2]; extern MenuTexture seg2_150_CC_texture[2]; @@ -856,51 +856,51 @@ extern u64 gTexture7F0F5C[]; extern u64 gTexture7F0FD8[]; extern u64 gTexture7F1038[]; extern u64 gTexture7F109C[]; -extern u64 gTexture7F1124[]; -extern u64 gTexture7F11F4[]; -extern u64 gTexture7F12C4[]; -extern u64 gTexture7F1394[]; -extern u64 gTexture7F1464[]; -extern u64 gTexture7F1534[]; -extern u64 gTexture7F1604[]; -extern u64 gTexture7F16D4[]; -extern u64 gTexture7F17A4[]; -extern u64 gTexture7F1874[]; -extern u64 gTexture7F1944[]; -extern u64 gTexture7F1A14[]; -extern u64 gTexture7F1AE4[]; -extern u64 gTexture7F1BB4[]; -extern u64 gTexture7F1C84[]; -extern u64 gTexture7F1D54[]; -extern u64 gTexture7F1E24[]; -extern u64 gTexture7F1EF4[]; -extern u64 gTexture7F1FC4[]; -extern u64 gTexture7F2094[]; -extern u64 gTexture7F2164[]; -extern u64 gTexture7F2234[]; -extern u64 gTexture7F2304[]; -extern u64 gTexture7F23D4[]; -extern u64 gTexture7F24A4[]; -extern u64 gTexture7F2574[]; -extern u64 gTexture7F2644[]; -extern u64 gTexture7F2714[]; -extern u64 gTexture7F27E4[]; -extern u64 gTexture7F28B4[]; -extern u64 gTexture7F2984[]; -extern u64 gTexture7F2A54[]; -extern u64 gTexture7F2B24[]; -extern u64 gTexture7F2BF4[]; -extern u64 gTexture7F2CC4[]; -extern u64 gTexture7F2D94[]; -extern u64 gTexture7F2E64[]; -extern u64 gTexture7F2F34[]; -extern u64 gTexture7F3004[]; -extern u64 gTexture7F30D4[]; -extern u64 gTexture7F31A4[]; -extern u64 gTexture7F3274[]; -extern u64 gTexture7F3344[]; -extern u64 gTexture7F3414[]; -extern u64 gTexture7F34E4[]; +extern u64 font_four_dote[]; +extern u64 font_cc[]; +extern u64 font_double_quote[]; +extern u64 font_exclamation_mark[]; +extern u64 font_minus[]; +extern u64 font_dot[]; +extern u64 font_plus[]; +extern u64 font_interogation_mark[]; +extern u64 font_simple_quote[]; +extern u64 font_number_zero[]; +extern u64 font_number_one[]; +extern u64 font_number_two[]; +extern u64 font_number_three[]; +extern u64 font_number_four[]; +extern u64 font_number_five[]; +extern u64 font_number_six[]; +extern u64 font_number_seven[]; +extern u64 font_number_eight[]; +extern u64 font_number_nine[]; +extern u64 font_letter_A[]; +extern u64 font_letter_B[]; +extern u64 font_letter_C[]; +extern u64 font_letter_D[]; +extern u64 font_letter_E[]; +extern u64 font_letter_F[]; +extern u64 font_letter_G[]; +extern u64 font_letter_H[]; +extern u64 font_letter_I[]; +extern u64 font_letter_J[]; +extern u64 font_letter_K[]; +extern u64 font_letter_L[]; +extern u64 font_letter_M[]; +extern u64 font_letter_N[]; +extern u64 font_letter_O[]; +extern u64 font_letter_P[]; +extern u64 font_letter_Q[]; +extern u64 font_letter_R[]; +extern u64 font_letter_S[]; +extern u64 font_letter_T[]; +extern u64 font_letter_U[]; +extern u64 font_letter_V[]; +extern u64 font_letter_W[]; +extern u64 font_letter_X[]; +extern u64 font_letter_Y[]; +extern u64 font_letter_Z[]; extern u64 gTexture7F35B4[]; extern u64 gTexture7F3634[]; extern u64 gTexture7F36B4[]; @@ -1084,13 +1084,13 @@ extern u64 gTexture7F9CF4[]; extern u64 gTexture7F9DC4[]; extern u64 gTexture7F9E44[]; extern u64 gTexture7F9EC4[]; -extern u64 gTexture7FA044[]; +extern u64 font_apostrophe[]; extern u64 gTexture7FA0C4[]; extern u64 gTexture7FA194[]; extern u64 gTexture7FA264[]; -extern u64 gTexture7FA334[]; -extern u64 gTextureBackgroundBlueSky[]; -extern u64 gTextureBackgroundSunset[]; +extern u64 font_comma[]; +extern u64 background_blue_sky[]; +extern u64 background_sunset[]; extern u64 gTextureBowserFace00[]; extern u64 gTextureBowserFace01[]; extern u64 gTextureBowserFace02[]; @@ -1108,7 +1108,7 @@ extern u64 gTextureBowserFace13[]; extern u64 gTextureBowserFace14[]; extern u64 gTextureBowserFace15[]; extern u64 gTextureBowserFace16[]; -extern u64 gTextureCopyright1996[]; +extern u64 copyright_1996[]; extern u64 gTextureCupBronze[]; extern u64 gTextureCupGold[]; extern u64 gTextureCupSilver[]; @@ -1131,7 +1131,7 @@ extern u64 gTextureDkFace15[]; extern u64 gTextureDkFace16[]; extern u64 gTextureEraseDataRecordConfirmation[]; extern u64 gTextureErasingSelectedRecord[]; -extern u64 gTextureGameSelect[]; +extern u64 texture_game_select[]; extern u64 gTextureGoldBar[]; extern u64 gTextureGoldStripe[]; extern u64 gTextureGreenGoldStripe[]; @@ -1170,40 +1170,40 @@ extern u64 gTextureMarioFace13[]; extern u64 gTextureMarioFace14[]; extern u64 gTextureMarioFace15[]; extern u64 gTextureMarioFace16[]; -extern u64 gTextureMenu100cc[]; -extern u64 gTextureMenu150cc[]; -extern u64 gTextureMenu1PGame[]; -extern u64 gTextureMenu2PGame[]; -extern u64 gTextureMenu3PGame[]; -extern u64 gTextureMenu4PGame[]; -extern u64 gTextureMenu50cc[]; -extern u64 gTextureMenuBegin[]; -extern u64 gTextureMenuData[]; -extern u64 gTextureMenuExtra[]; +extern u64 texture_100cc[]; +extern u64 texture_150cc[]; +extern u64 texture_menu_1p_game[]; +extern u64 texture_menu_2p_game[]; +extern u64 texture_menu_3p_game[]; +extern u64 texture_menu_4p_game[]; +extern u64 texture_50cc[]; +extern u64 texture_begin[]; +extern u64 texture_data[]; +extern u64 texture_extra[]; extern u64 gTextureMenuFlowerCup[]; -extern u64 gTextureMenuGhost[]; -extern u64 gTextureMenuLOption[]; -extern u64 gTextureMenuModeBattle[]; -extern u64 gTextureMenuModeMarioGP[]; -extern u64 gTextureMenuModeTimeTrials[]; -extern u64 gTextureMenuModeVS[]; +extern u64 texture_menu_ghost[]; +extern u64 texture_l_option[]; +extern u64 texture_mode_battle[]; +extern u64 texture_mode_mario_gp[]; +extern u64 texture_mode_time_trials[]; +extern u64 texture_mode_vs[]; extern u64 gTextureMenuMushroomCup[]; -extern u64 gTextureMenuOK[]; -extern u64 gTextureMenuRData[]; +extern u64 texture_ok[]; +extern u64 texture_r_data[]; extern u64 gTextureMenuSpecialCup[]; extern u64 gTextureMenuStarCup[]; extern u64 gTextureMenuWithItem[]; extern u64 gTextureMenuWithoutItem[]; extern u64 gTextureN64ControllerPakDataSelect[]; -extern u64 gTextureNameBowser[]; -extern u64 gTextureNameDK[]; -extern u64 gTextureNameLuigi[]; -extern u64 gTextureNameMario[]; -extern u64 gTextureNamePeach[]; -extern u64 gTextureNameToad[]; -extern u64 gTextureNameWario[]; -extern u64 gTextureNameYoshi[]; -extern u64 gTextureOption[]; +extern u64 texture_name_bowser[]; +extern u64 texture_name_dk[]; +extern u64 texture_name_luigi[]; +extern u64 texture_name_mario[]; +extern u64 texture_name_peach[]; +extern u64 texture_name_toad[]; +extern u64 texture_name_wario[]; +extern u64 texture_name_yoshi[]; +extern u64 texture_option[]; extern u64 gTextureP1BorderBlue[]; extern u64 gTextureP2BorderRed[]; extern u64 gTextureP3BorderOrange[]; @@ -1227,9 +1227,9 @@ extern u64 gTexturePeachFace15[]; extern u64 gTexturePeachFace16[]; extern u64 gTexturePinkBar[]; extern u64 gTexturePlaceN64ControllerPakIntoController1[]; -extern u64 gTexturePlayerSelect[]; +extern u64 texture_player_select[]; extern u64 gTexturePleaseReinsertOriginalN64ControllerPak[]; -extern u64 gTexturePushStartButton[]; +extern u64 push_start_button[]; extern u64 gTextureRecordNotErased[]; extern u64 gTextureSelectRecord[]; extern u64 gTextureSmallFont0[]; @@ -1242,7 +1242,7 @@ extern u64 gTextureSmallFont6[]; extern u64 gTextureSmallFont7[]; extern u64 gTextureSmallFont8[]; extern u64 gTextureSmallFont9[]; -extern u64 gTextureSmallGreenTriangle[]; +extern u64 texture_small_green_triangle[]; extern u64 gTextureTableOfContents[]; extern u64 gTextureTextEnd[]; extern u64 gTextureTextErase[];