Skip to content

Commit a5f776b

Browse files
authored
Merge pull request #231 from idlechild/master
Walljump, shot timer, and shinetune play nicer with transition times and minimap
2 parents 20cf4cc + 1511d5c commit a5f776b

File tree

5 files changed

+62
-25
lines changed

5 files changed

+62
-25
lines changed

src/infohud.asm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,6 @@ ih_update_hud_code:
812812

813813
.mmTileCounter
814814
LDA !MAP_COUNTER : LDX #$0014 : JSR Draw3
815-
LDA !ram_print_segment_timer : BEQ .mmRoomTimer
816815

817816
LDA !sram_lag_counter_mode : BNE .mmFullTransitionTime
818817
LDA !ram_last_door_lag_frames
@@ -905,8 +904,6 @@ ih_update_hud_code:
905904
.skipToLag
906905
LDA !sram_top_display_mode : BIT !TOP_HUD_VANILLA_BIT : BNE .vanillaLagReserves
907906
LDA !ram_last_room_lag : LDX #$0080 : JSR Draw4
908-
; Skip door lag and segment timer when certain HUD modes enabled
909-
LDA !ram_print_segment_timer : BEQ .end
910907

911908
; Door lag / transition time
912909
LDA !sram_lag_counter_mode : BNE .fullTransitionTime
@@ -916,6 +913,9 @@ ih_update_hud_code:
916913
LDA !ram_last_realtime_door
917914
.drawTransitionTime
918915
LDX #$00C2 : JSR Draw3
916+
917+
; Skip segment timer when certain HUD modes enabled
918+
LDA !ram_print_segment_timer : BEQ .end
919919
BRA .pickSegmentTimer
920920

921921
.end
@@ -936,9 +936,6 @@ ih_update_hud_code:
936936
.vanillaDrawLag
937937
LDA !ram_last_room_lag : LDX #$007E : JSR Draw4
938938

939-
; Skip door lag and segment timer when certain HUD modes enabled
940-
LDA !ram_print_segment_timer : BEQ .end
941-
942939
; Door lag / transition time
943940
LDA !sram_lag_counter_mode : BNE .vanillaFullTransitionTime
944941
LDA !ram_last_door_lag_frames
@@ -948,6 +945,9 @@ ih_update_hud_code:
948945
.vanillaDrawTransitiontime
949946
LDX #$00C2 : JSR Draw2
950947

948+
; Skip segment timer when certain HUD modes enabled
949+
LDA !ram_print_segment_timer : BEQ .end
950+
951951
.pickSegmentTimer
952952
LDA !sram_frame_counter_mode : BIT #$0001 : BNE .inGameSegmentTimer
953953
LDA.w #!ram_seg_rt_frames : STA $C1

src/infohudmodes.asm

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -246,12 +246,14 @@ endif
246246

247247
; Samus has reached fourth gear and is ready to charge the shinespark by pressing down
248248
; When this happens, the gear resets to zero, so check for that
249-
LDA !SAMUS_DASH_COUNTER : AND #$00FF : CMP !ram_dash_counter : BEQ .chargespark
249+
LDA !SAMUS_DASH_COUNTER : AND #$00FF : CMP !ram_dash_counter : BNE .draw_end
250+
JMP .chargespark
250251

251252
.draw_end
252253
; Skip drawing if minimap on
253254
LDA !ram_minimap : BNE .reset
254255
LDA !ram_shinetune_late_4 : LDX #$00C0 : JSR Draw3
256+
LDA !IH_BLANK : STA !HUD_TILEMAP+$C6
255257

256258
.reset
257259
TDC : STA !ram_shine_counter : STA !ram_dash_counter
@@ -1026,7 +1028,7 @@ status_walljump:
10261028

10271029
.clearaverage
10281030
TDC : STA !ram_roomstrat_counter
1029-
BRA .checkjump
1031+
JMP .checkjump
10301032

10311033
.incframecount
10321034
; Arbitrary wait of 120 frames before we stop tracking the average
@@ -1058,34 +1060,51 @@ status_walljump:
10581060
BRA .checkjump
10591061

10601062
.resetreleasejump
1061-
LDA !ram_roomstrat_state : DEC : AND #$0003
1063+
BNE .gotocheckleftright : STA !ram_shot_timer
1064+
LDA !ram_roomstrat_state : BEQ .gotocheckleftright
1065+
DEC : AND #$0003
10621066
ASL #2 : TAX : LDA !IH_BLANK : STA !HUD_TILEMAP+$B0,X
10631067
BRA .blanksides
10641068

1069+
.incwithmap
1070+
LDA !ram_roomstrat_state : INC
1071+
BIT #$0003 : BNE .storeroomstate
1072+
1073+
.incroomstate
1074+
INC
1075+
1076+
.storeroomstate
1077+
STA !ram_roomstrat_state
1078+
JMP .checkleftright
1079+
10651080
.zerospeed
10661081
TDC : STA !ram_momentum_sum
10671082

10681083
.checkjump
10691084
LDA !IH_CONTROLLER_PRI_NEW : AND !IH_INPUT_JUMP : BNE .pressedjump
1070-
LDA !IH_CONTROLLER_PRI : AND !IH_INPUT_JUMP : BNE .checkleftright
1085+
LDA !IH_CONTROLLER_PRI : AND !IH_INPUT_JUMP : BNE .gotocheckleftright
10711086

10721087
; count up to 36 frames of jump released
1073-
LDA !ram_shot_timer : CMP #$0024 : BPL .resetreleasejump
1074-
INC : STA !ram_shot_timer
1075-
ASL : TAX
1088+
LDA !ram_shot_timer : INC
1089+
CMP #$0025 : BPL .resetreleasejump
1090+
STA !ram_shot_timer : ASL : TAX
10761091
LDA NumberGFXTable,X : PHA
1077-
LDA !ram_roomstrat_state : DEC : AND #$0003
1092+
LDA !ram_roomstrat_state : BEQ .placheckleftright
1093+
DEC : AND #$0003
10781094
ASL #2 : TAX : PLA : STA !HUD_TILEMAP+$B0,X
10791095
LDA !IH_BLANK
10801096

10811097
.blanksides
10821098
STA !HUD_TILEMAP+$AE,X : STA !HUD_TILEMAP+$B2,X
1099+
1100+
.gotocheckleftright
10831101
BRA .checkleftright
10841102

10851103
.pressedjump
10861104
TDC : STA !ram_shot_timer
1087-
LDA !ram_roomstrat_state : INC : STA !ram_roomstrat_state
1088-
BRA .checkleftright
1105+
LDA !ram_minimap : BNE .incwithmap
1106+
LDA !ram_roomstrat_state
1107+
BRA .incroomstate
10891108

10901109
.writg
10911110
LDA #$042F : STA !ram_ypos
@@ -1109,6 +1128,9 @@ status_walljump:
11091128
CMP.w #ROOM_MtEverest : BEQ .everest
11101129
JMP .clear
11111130

1131+
.placheckleftright
1132+
PLA
1133+
11121134
.checkleftright
11131135
LDA !IH_CONTROLLER_PRI_NEW : AND !IH_INPUT_LEFT : BNE .leftright
11141136
LDA !IH_CONTROLLER_PRI_NEW : AND !IH_INPUT_RIGHT : BNE .leftright
@@ -1420,17 +1442,25 @@ status_ypos:
14201442
status_shottimer:
14211443
{
14221444
LDA !IH_CONTROLLER_PRI_NEW : AND !IH_INPUT_SHOT : BEQ .incShot
1423-
LDA !IH_BLANK : STA !HUD_TILEMAP+$AE
1424-
STA !HUD_TILEMAP+$B2 : STA !HUD_TILEMAP+$B6
1425-
STA !HUD_TILEMAP+$BA : STA !HUD_TILEMAP+$BE
1426-
LDA !ram_shot_timer_past4 : BEQ .initPast
1445+
LDA !ram_shot_timer_past4 : BNE .doneInitPast
1446+
JMP .initPast
1447+
14271448
.doneInitPast
1428-
STA !HUD_TILEMAP+$BC
1449+
LDA !ram_minimap : BEQ .drawPast4
1450+
LDA !IH_BLANK
1451+
BRA .donePast4
1452+
.drawPast4
1453+
LDA !ram_shot_timer_past4 : STA !HUD_TILEMAP+$BC
1454+
LDA !IH_BLANK : STA !HUD_TILEMAP+$BE
1455+
.donePast4
1456+
STA !HUD_TILEMAP+$AE : STA !HUD_TILEMAP+$B2
1457+
STA !HUD_TILEMAP+$B6 : STA !HUD_TILEMAP+$BA
14291458
LDA !ram_shot_timer_past3 : STA !HUD_TILEMAP+$B8 : STA !ram_shot_timer_past4
14301459
LDA !ram_shot_timer_past2 : STA !HUD_TILEMAP+$B4 : STA !ram_shot_timer_past3
14311460
LDA !ram_shot_timer_past1 : STA !HUD_TILEMAP+$B0 : STA !ram_shot_timer_past2
14321461
LDA !ram_shot_timer : LDX #$0088 : JSR Draw4
1433-
LDA !ram_shot_timer : CMP #$0042 : BPL .setX
1462+
LDA !ram_shot_timer : CMP #$0025 : BPL .setXMap
1463+
.setValue
14341464
ASL : TAX : LDA NumberGFXTable,X
14351465
BRA .setPast1
14361466

@@ -1446,10 +1476,16 @@ status_shottimer:
14461476
LDA !ROOM_ID : CMP.w #ROOM_PhantoonRoom : BEQ .phantoon
14471477
RTS
14481478

1479+
.setXMap
1480+
CMP #$0042 : BPL .setX
1481+
LDA !ram_minimap : BNE .setX
1482+
LDA !ram_shot_timer
1483+
BRA .setValue
1484+
14491485
.initPast
14501486
LDA !IH_BLANK : STA !ram_shot_timer_past4 : STA !ram_shot_timer_past3
14511487
STA !ram_shot_timer_past2 : STA !ram_shot_timer_past1
1452-
BRA .doneInitPast
1488+
JMP .doneInitPast
14531489

14541490
.phantoonCheckInit
14551491
LDA !ENEMY_VAR_5

src/main.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ lorom
1616
!VERSION_MAJOR = 2
1717
!VERSION_MINOR = 7
1818
!VERSION_BUILD = 0
19-
!VERSION_REV = 0
19+
!VERSION_REV = 1
2020

2121
table ../resources/normal.tbl
2222
print ""

web/data/changelog.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
- Spore Spawn, Crocomire, and Baby cutscene more like map rando when using door portals (2.7.0)
77
- Shot timer now displays the previous four values in place of the segment timer (2.7.0)
88
- Various fixes and updates to presets and slowdown mode (2.7.0)
9+
- Walljump, shot timer, and shinetune play nicer with transition times and minimap (2.7.0.1)
910

1011
# Version 2.6.x
1112
- Optimize kraid rock projectiles to reduce lag when Kraid rises (2.6.0)

web/data/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Super Metroid Practice Hack",
3-
"version": "2.7.0",
3+
"version": "2.7.0.1",
44
"variants": ["NTSC", "PAL"],
55
"base": {
66
"NTSC": {

0 commit comments

Comments
 (0)