shithub: pokecrystal

Download patch

ref: 994f89b4906a2be44c92c3e6dcdc38371829d037
parent: 6c492cb86d4362ed481ea0ef991e47f8a4233e3b
author: yenatch <[email protected]>
date: Wed Feb 11 08:20:22 EST 2015

Split out the move deleter code.

--- /dev/null
+++ b/event/move_deleter.asm
@@ -1,0 +1,168 @@
+Function2c547: ; 2c547
+	ld hl, UnknownText_0x2c5ef
+	call PrintText
+	call YesNoBox
+	jr c, .asm_2c5c3
+	ld hl, UnknownText_0x2c5f4
+	call PrintText
+	callba Function50000
+	jr c, .asm_2c5c3
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr z, .asm_2c5bc
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1Moves + 1
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	ld a, [hl]
+	and a
+	jr z, .asm_2c5ca
+	ld hl, UnknownText_0x2c5ea
+	call PrintText
+	call Function1d6e
+	callba Function12f5b
+	push af
+	call Function2b74
+	pop af
+	jr c, .asm_2c5c3
+	ld a, [wcfa9]
+	push af
+	ld a, [CurSpecies]
+	ld [wd265], a
+	call GetMoveName
+	ld hl, UnknownText_0x2c5d6
+	call PrintText
+	call YesNoBox
+	pop bc
+	jr c, .asm_2c5c3
+	call Function2c5f9
+	call WaitSFX
+	ld de, SFX_MOVE_DELETED
+	call PlaySFX
+	call WaitSFX
+	ld hl, UnknownText_0x2c5db
+	call PrintText
+	ret
+
+.asm_2c5bc
+	ld hl, UnknownText_0x2c5e0
+	call PrintText
+	ret
+
+.asm_2c5c3
+	ld hl, UnknownText_0x2c5e5
+	call PrintText
+	ret
+
+.asm_2c5ca
+	ld hl, UnknownText_0x2c5d1
+	call PrintText
+	ret
+; 2c5d1
+
+UnknownText_0x2c5d1: ; 0x2c5d1
+	; That #MON knows only one move.
+	text_jump UnknownText_0x1c5eba
+	db "@"
+; 0x2c5d6
+
+UnknownText_0x2c5d6: ; 0x2c5d6
+	; Oh, make it forget @ ?
+	text_jump UnknownText_0x1c5eda
+	db "@"
+; 0x2c5db
+
+UnknownText_0x2c5db: ; 0x2c5db
+	; Done! Your #MON forgot the move.
+	text_jump UnknownText_0x1c5ef5
+	db "@"
+; 0x2c5e0
+
+UnknownText_0x2c5e0: ; 0x2c5e0
+	; An EGG doesn't know any moves!
+	text_jump UnknownText_0x1c5f17
+	db "@"
+; 0x2c5e5
+
+UnknownText_0x2c5e5: ; 0x2c5e5
+	; No? Come visit me again.
+	text_jump UnknownText_0x1c5f36
+	db "@"
+; 0x2c5ea
+
+UnknownText_0x2c5ea: ; 0x2c5ea
+	; Which move should it forget, then?
+	text_jump UnknownText_0x1c5f50
+	db "@"
+; 0x2c5ef
+
+UnknownText_0x2c5ef: ; 0x2c5ef
+	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
+	text_jump UnknownText_0x1c5f74
+	db "@"
+; 0x2c5f4
+
+UnknownText_0x2c5f4: ; 0x2c5f4
+	; Which #MON?
+	text_jump UnknownText_0x1c5fd1
+	db "@"
+; 0x2c5f9
+
+Function2c5f9: ; 2c5f9
+	ld a, b
+	push bc
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, PartyMon1Moves
+	add hl, bc
+	ld a, [CurPartyMon]
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	pop bc
+	push bc
+	inc b
+.asm_2c60f
+	ld a, b
+	cp NUM_MOVES + 1
+	jr z, .asm_2c61b
+	inc hl
+	ld a, [hld]
+	ld [hl], a
+	inc hl
+	inc b
+	jr .asm_2c60f
+
+.asm_2c61b
+	xor a
+	ld [hl], a
+	pop bc
+
+	ld a, b
+	push bc
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, PartyMon1PP
+	add hl, bc
+	ld a, [CurPartyMon]
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	pop bc
+	inc b
+.asm_2c633
+	ld a, b
+	cp NUM_MOVES + 1
+	jr z, .asm_2c63f
+	inc hl
+	ld a, [hld]
+	ld [hl], a
+	inc hl
+	inc b
+	jr .asm_2c633
+
+.asm_2c63f
+	xor a
+	ld [hl], a
+	ret
+; 2c642
--- a/main.asm
+++ b/main.asm
@@ -41918,174 +41918,7 @@
 	ret
 
 
-Function2c547: ; 2c547
-	ld hl, UnknownText_0x2c5ef
-	call PrintText
-	call YesNoBox
-	jr c, .asm_2c5c3
-	ld hl, UnknownText_0x2c5f4
-	call PrintText
-	callba Function50000
-	jr c, .asm_2c5c3
-	ld a, [CurPartySpecies]
-	cp EGG
-	jr z, .asm_2c5bc
-	ld a, [CurPartyMon]
-	ld hl, PartyMon1Moves + 1
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	ld a, [hl]
-	and a
-	jr z, .asm_2c5ca
-	ld hl, UnknownText_0x2c5ea
-	call PrintText
-	call Function1d6e
-	callba Function12f5b
-	push af
-	call Function2b74
-	pop af
-	jr c, .asm_2c5c3
-	ld a, [wcfa9]
-	push af
-	ld a, [CurSpecies]
-	ld [wd265], a
-	call GetMoveName
-	ld hl, UnknownText_0x2c5d6
-	call PrintText
-	call YesNoBox
-	pop bc
-	jr c, .asm_2c5c3
-	call Function2c5f9
-	call WaitSFX
-	ld de, SFX_MOVE_DELETED
-	call PlaySFX
-	call WaitSFX
-	ld hl, UnknownText_0x2c5db
-	call PrintText
-	ret
-
-.asm_2c5bc
-	ld hl, UnknownText_0x2c5e0
-	call PrintText
-	ret
-
-.asm_2c5c3
-	ld hl, UnknownText_0x2c5e5
-	call PrintText
-	ret
-
-.asm_2c5ca
-	ld hl, UnknownText_0x2c5d1
-	call PrintText
-	ret
-; 2c5d1
-
-UnknownText_0x2c5d1: ; 0x2c5d1
-	; That #MON knows only one move.
-	text_jump UnknownText_0x1c5eba
-	db "@"
-; 0x2c5d6
-
-UnknownText_0x2c5d6: ; 0x2c5d6
-	; Oh, make it forget @ ?
-	text_jump UnknownText_0x1c5eda
-	db "@"
-; 0x2c5db
-
-UnknownText_0x2c5db: ; 0x2c5db
-	; Done! Your #MON forgot the move.
-	text_jump UnknownText_0x1c5ef5
-	db "@"
-; 0x2c5e0
-
-UnknownText_0x2c5e0: ; 0x2c5e0
-	; An EGG doesn't know any moves!
-	text_jump UnknownText_0x1c5f17
-	db "@"
-; 0x2c5e5
-
-UnknownText_0x2c5e5: ; 0x2c5e5
-	; No? Come visit me again.
-	text_jump UnknownText_0x1c5f36
-	db "@"
-; 0x2c5ea
-
-UnknownText_0x2c5ea: ; 0x2c5ea
-	; Which move should it forget, then?
-	text_jump UnknownText_0x1c5f50
-	db "@"
-; 0x2c5ef
-
-UnknownText_0x2c5ef: ; 0x2c5ef
-	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
-	text_jump UnknownText_0x1c5f74
-	db "@"
-; 0x2c5f4
-
-UnknownText_0x2c5f4: ; 0x2c5f4
-	; Which #MON?
-	text_jump UnknownText_0x1c5fd1
-	db "@"
-; 0x2c5f9
-
-Function2c5f9: ; 2c5f9
-	ld a, b
-	push bc
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, PartyMon1Moves
-	add hl, bc
-	ld a, [CurPartyMon]
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	pop bc
-	push bc
-	inc b
-.asm_2c60f
-	ld a, b
-	cp NUM_MOVES + 1
-	jr z, .asm_2c61b
-	inc hl
-	ld a, [hld]
-	ld [hl], a
-	inc hl
-	inc b
-	jr .asm_2c60f
-
-.asm_2c61b
-	xor a
-	ld [hl], a
-	pop bc
-
-	ld a, b
-	push bc
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, PartyMon1PP
-	add hl, bc
-	ld a, [CurPartyMon]
-	ld bc, PartyMon2 - PartyMon1
-	call AddNTimes
-	pop bc
-	inc b
-.asm_2c633
-	ld a, b
-	cp NUM_MOVES + 1
-	jr z, .asm_2c63f
-	inc hl
-	ld a, [hld]
-	ld [hl], a
-	inc hl
-	inc b
-	jr .asm_2c633
-
-.asm_2c63f
-	xor a
-	ld [hl], a
-	ret
-; 2c642
+INCLUDE "event/move_deleter.asm"
 
 
 Function2c642: ; 2c642 (b:4642)