shithub: pokecrystal

Download patch

ref: f9077c6db62137288ee8e5bb086973a0c52f83b6
parent: b06cfe78fd8494fbccd4186b970382c49c416b5c
author: vulcandth <[email protected]>
date: Sat Apr 16 15:42:06 EDT 2022

Additional vc_asserts (#906)


--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -2310,7 +2310,15 @@
 	ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
 	ldh [rSC], a
 	ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
+; This vc_hook causes the Virtual Console to set [hSerialConnectionStatus] to
+; USING_INTERNAL_CLOCK, which allows the player to proceed past the link
+; receptionist's "Please wait." It assumes that hSerialConnectionStatus is at
+; its original address.
 	vc_hook linkCable_fake_begin
+	vc_assert hSerialConnectionStatus == $ffcb, \
+		"hSerialConnectionStatus is no longer located at 00:ffcb."
+	vc_assert USING_INTERNAL_CLOCK == $02, \
+		"USING_INTERNAL_CLOCK is no longer equal to $02."
 	ldh [rSC], a
 	ld a, [wLinkTimeoutFrames]
 	dec a
--- a/engine/menus/save.asm
+++ b/engine/menus/save.asm
@@ -162,7 +162,7 @@
 	call CopyBytes
 	call CloseSRAM
 ; This vc_hook causes the Virtual Console to set [sMobileEventIndex] and [sMobileEventIndexBackup]
-; to MOBILE_EVENT_OBJECT_GS_BALL ($b), which enables you to get the GS Ball, take it to Kurt, and
+; to MOBILE_EVENT_OBJECT_GS_BALL, which enables you to get the GS Ball, take it to Kurt, and
 ; encounter Celebi. It assumes that sMobileEventIndex and sMobileEventIndexBackup are at their
 ; original addresses.
 	vc_hook Enable_GS_Ball_mobile_event
@@ -170,6 +170,8 @@
 		"sMobileEventIndex is no longer located at 01:be3c."
 	vc_assert BANK(sMobileEventIndexBackup) == $1 && sMobileEventIndexBackup == $be44, \
 		"sMobileEventIndexBackup is no longer located at 01:be44."
+	vc_assert MOBILE_EVENT_OBJECT_GS_BALL == $0b, \
+		"MOBILE_EVENT_OBJECT_GS_BALL is no longer equal to $0b."
 	ret
 
 SaveGameData: