diff --git a/original.xdelta b/original.xdelta index bb62582f..f8326c19 100644 Binary files a/original.xdelta and b/original.xdelta differ diff --git a/src/Boot.asm b/src/Boot.asm index 67d6f20c..24182ca4 100644 --- a/src/Boot.asm +++ b/src/Boot.asm @@ -139,7 +139,7 @@ scope Boot { nop } - string_version:; String.insert("Smash Remix v1.1.0") + string_version:; String.insert("Smash Remix v1.1.1") // @ Descritpion // Nintendo 64 logo cannot be skipped. diff --git a/src/CharEnvColor.asm b/src/CharEnvColor.asm index 69996e42..a93d0793 100644 --- a/src/CharEnvColor.asm +++ b/src/CharEnvColor.asm @@ -425,7 +425,7 @@ scope CharEnvColor { nop _clear_ssonic: - // clear extra display lists for Kirby + // clear extra display lists for Super Sonic // normal head sw r0, 0x0000(a1) // clear high poly initialized flag sw r0, 0x0014(a1) // clear low poly initialized flag @@ -442,7 +442,7 @@ scope CharEnvColor { sw r0, 0x0014(a1) // clear low poly initialized flag // kirby Pika hat - li a1, custom_display_lists_struct_dk_hat + li a1, custom_display_lists_struct_pika_hat sw r0, 0x0000(a1) // clear high poly initialized flag sw r0, 0x0014(a1) // clear low poly initialized flag diff --git a/src/SRAM.asm b/src/SRAM.asm index 0c26d0ef..2c545b32 100644 --- a/src/SRAM.asm +++ b/src/SRAM.asm @@ -19,7 +19,7 @@ scope SRAM { // - A new MIDI is added // - A new toggle is added // - The order of the toggles is changed - constant REVISION(0x0076) + constant REVISION(0x0077) // @ Description // Struct that holds information for a block of save data. diff --git a/src/Sonic/SonicSpecial.asm b/src/Sonic/SonicSpecial.asm index 496d0f86..9ba7b789 100644 --- a/src/Sonic/SonicSpecial.asm +++ b/src/Sonic/SonicSpecial.asm @@ -1512,8 +1512,10 @@ scope SonicUSP { bc1f _next // if Y velocity is not negative, skip lwc1 f4, 0x001C(t1) // f4 = player X position + lw t4, 0x0074(a0) // t4 = spring position struct + lwc1 f6, 0x001C(t4) // f6 = spring X position + lw t3, 0x0084(a0) // t3 = spring projectile special struct - lwc1 f6, 0x0034(t3) // f6 = spring X position sub.s f4, f4, f6 // f4 = player X position - spring X position abs.s f4, f4 // f4 = |player X position - spring X position| @@ -1522,7 +1524,7 @@ scope SonicUSP { bc1f _next // if player is not within X bounds of spring, skip lwc1 f4, 0x0020(t1) // f4 = player Y position - lwc1 f6, 0x0038(t3) // f6 = spring center Y position + lwc1 f6, 0x0020(t4) // f6 = spring center Y position lwc1 f2, 0x0064(t3) // f2 = spring ECB top point Y offset add.s f2, f6, f2 // f2 = spring top Y position c.lt.s f4, f6 // check if player is below the spring center @@ -1572,6 +1574,8 @@ scope SonicUSP { beq t4, t3, _change_action // if in Shield Break Fall, change action lli t4, Action.ShieldBreak beq t4, t3, _change_action // if in Shield Break Fall, change action + lli t4, Action.InhalePulled + beq t4, t3, _next // if in Inhale Pulled, ignore spring nop _keep_action: @@ -1629,6 +1633,10 @@ scope SonicUSP { _kirby: // Change action for these actions + lli t4, Action.KIRBY.FinalCutter + beq t3, t4, _change_action + lli t4, Action.KIRBY.FinalCutterAir + beq t3, t4, _change_action lli t4, Action.KIRBY.FinalCutterFall beq t3, t4, _change_action lli t4, Action.KIRBY.StoneFall @@ -1651,14 +1659,14 @@ scope SonicUSP { // Change action for these actions lli t4, Bowser.Action.BowserBombDrop beq t3, t4, _change_action + // Skip for these actions lli t4, Bowser.Action.BowserForwardThrow1 // same as Giga Bowser - beq t3, t4, _change_action + beq t3, t4, _next lli t4, Bowser.Action.BowserForwardThrow2 // same as Giga Bowser - beq t3, t4, _change_action + beq t3, t4, _next lli t4, Bowser.Action.BowserForwardThrow3 // same as Giga Bowser - beq t3, t4, _change_action + beq t3, t4, _next nop - // Otherwise, don't change action b _draw_smoke_gfx nop @@ -1771,7 +1779,6 @@ scope SonicUSP { addiu sp, sp, 0x0030 // deallocate stack space _end_rumble: - lw a0, 0x0028(sp) // a0 = spring projectile object lw t0, 0x002C(sp) // t0 = player object // if Sonic, restore specials @@ -1785,6 +1792,7 @@ scope SonicUSP { sw r0, 0x0ADC(t3) // set up special bool to FALSE _next: + lw a0, 0x0028(sp) // a0 = spring projectile object b _loop lw t0, 0x0004(t0) // t0 = next player object @@ -2477,6 +2485,7 @@ scope SonicDSP { jal 0x800DDDDC // common ground collision subroutine (transition on no floor, slide-off) sw a0, 0x0018(sp) // store a0 + beqz v0, _end // skip if air transition occured lw a0, 0x0018(sp) // ~ lw a0, 0x0084(a0) // a0 = player struct lhu a1, 0x00CC(a0) // a1 = collision flags diff --git a/src/Stages.asm b/src/Stages.asm index 318c6499..e81fab6f 100644 --- a/src/Stages.asm +++ b/src/Stages.asm @@ -2351,7 +2351,7 @@ scope Stages { db id.SPIRALM // 14 db id.KALOS_POKEMON_LEAGUE // 25 db id.GERUDO // 2 - db id.RANDOM // 0D + db id.GHZ // 0D db id.RANDOM // 0D db id.RANDOM // 0D db id.RANDOM // 0 @@ -3996,7 +3996,7 @@ scope Stages { add_stage(mute, "Mute City", {MIDI.id.FIRE_FIELD}, {MIDI.id.MACHRIDER}, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.TRUE, OS.TRUE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, FZERO) add_stage(hrc, "Home Run Contest", -1, -1, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.FALSE, OS.FALSE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, REMIX) add_stage(mk_remix, "Mushroom Kingdom SR", -1, -1, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.FALSE, OS.TRUE, class.BATTLE, -1, -1, -1, id.MUSHROOM_KINGDOM, variant_type.REMIX, 0x05, 0x05, 0x05, MARIO_BROS) - add_stage(ghz, "Green Hill Zone", {MIDI.id.EMERALDHILL}, {MIDI.id.CHEMICAL_PLANT}, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.TRUE, OS.TRUE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, SONIC) + add_stage(ghz, "Green Hill Zone", {MIDI.id.EMERALDHILL}, {MIDI.id.CHEMICAL_PLANT}, OS.TRUE, HAZARDS_ON_MOVEMENT_ON, OS.TRUE, OS.TRUE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, SONIC) add_bg_animation(GHZ) add_stage(subcon, "Subcon", -1, -1, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.TRUE, OS.TRUE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, MARIO_BROS) add_stage(pirate, "Pirate Land", {MIDI.id.TROPICALISLAND}, {MIDI.id.WIDE_UNDERWATER}, OS.FALSE, HAZARDS_ON_MOVEMENT_ON, OS.TRUE, OS.TRUE, class.BATTLE, -1, -1, -1, -1, -1, 0x05, 0x05, 0x05, MARIO_BROS) diff --git a/src/jigglypuffkirbyshared.asm b/src/jigglypuffkirbyshared.asm index ab5944e0..895fa6e4 100644 --- a/src/jigglypuffkirbyshared.asm +++ b/src/jigglypuffkirbyshared.asm @@ -300,7 +300,7 @@ scope JigglypuffKirbyShared { nop addiu at, r0, 0x0014 - sh at, 0x0ADE(s1) // refill ammo + sh at, 0x0ADE(v1) // refill ammo _normal: j _return // return