diff --git a/src/gamemode/levelmenu.asm b/src/gamemode/levelmenu.asm index ae3fa08b..d531bd28 100644 --- a/src/gamemode/levelmenu.asm +++ b/src/gamemode/levelmenu.asm @@ -241,6 +241,7 @@ highScoreClearUpOrLeave: @ret: rts +levelModifier := generalCounter levelControlCustomLevel: jsr handleReadyInput @@ -256,6 +257,14 @@ levelControlCustomLevel: jsr loadSpriteIntoOamStaging @indicatorEnd: +; A pressed means a jump of 10 instead of 1 + ldx #$01 + lda heldButtons_player1 + and #BUTTON_A + beq @aNotPressed + ldx #$0A +@aNotPressed: + stx levelModifier ; lda #BUTTON_RIGHT ; jsr menuThrottle ; beq @checkUpPressed @@ -268,13 +277,20 @@ levelControlCustomLevel: lda #BUTTON_UP jsr menuThrottle beq @checkDownPressed - inc customLevel + lda customLevel + clc + adc levelModifier + sta customLevel +@skipIncrement: jsr @changeLevel @checkDownPressed: lda #BUTTON_DOWN jsr menuThrottle beq @checkLeftPressed - dec customLevel + lda customLevel + sec + sbc levelModifier + sta customLevel jsr @changeLevel @checkLeftPressed: diff --git a/src/util/menuthrottle.asm b/src/util/menuthrottle.asm index 99ab0737..97ef6f6e 100644 --- a/src/util/menuthrottle.asm +++ b/src/util/menuthrottle.asm @@ -1,11 +1,11 @@ menuThrottle: ; add DAS-like movement to the menu sta menuThrottleTmp lda newlyPressedButtons_player1 - cmp menuThrottleTmp - beq menuThrottleNew + and menuThrottleTmp + bne menuThrottleNew lda heldButtons_player1 - cmp menuThrottleTmp - bne @endThrottle + and menuThrottleTmp + beq @endThrottle dec menuMoveThrottle beq menuThrottleContinue @endThrottle: