Skip to content

Remove Some Japanese Text Grammar Functions

YakiNeen edited this page Dec 1, 2023 · 2 revisions

Code by JoJoBear13 (in ShinPokered)

data\text\text_2.asm:

...
-_Used1Text::
-	text_start
-	line "used @"
-	text_end

-_Used2Text::
-	text_start
-	line "used @"
-	text_end
+_UsedText::
+	text_start
+	line "used @"
+	text_end
...
...
-_ExclamationPoint1Text::
-	text "!"
-	done

-_ExclamationPoint2Text::
-	text "!"
-	done

-_ExclamationPoint3Text::
-	text "!"
-	done

-_ExclamationPoint4Text::
-	text "!"
-	done

-_ExclamationPoint5Text::
-	text "!"
-	done
+_ExclamationPointText::
+	text "!"
+	done
...
...
-_UnaffectedText::
-	text "<TARGET>'s"
-	line "unaffected!"
-	prompt
...

engine\battle\core.asm:

...
-; this function wastes time calling DetermineExclamationPointTextNum
-; and choosing between Used1Text and Used2Text, even though
-; those text strings are identical and both continue at PrintInsteadText
-; this likely had to do with Japanese grammar that got translated,
-; but the functionality didn't get removed
MonName1Text:
	text_far _MonName1Text
	text_asm
	ldh a, [hWhoseTurn]
	and a
	ld a, [wPlayerMoveNum]
	ld hl, wPlayerUsedMove
	jr z, .playerTurn
	ld a, [wEnemyMoveNum]
	ld hl, wEnemyUsedMove
.playerTurn
	ld [hl], a
	ld [wd11e], a
-	call DetermineExclamationPointTextNum
-	ld a, [wMonIsDisobedient]
-	and a
-	ld hl, Used2Text
-	ret nz
-	ld a, [wd11e]
-	cp 3
-	ld hl, Used2Text
-	ret c
-	ld hl, Used1Text
+       ld hl, UsedText
	ret

-Used1Text:
-	text_far _Used1Text
-	text_asm
-	jr PrintInsteadText

-Used2Text:
-	text_far _Used2Text
-	text_asm
-	; fall through
+UsedText:
+	text_far _UsedText
+	text_asm
+	; fall through
...
...
PrintMoveName:
	ld hl, _PrintMoveName
	ret

_PrintMoveName:
	text_far _MoveNameText
	text_asm
-	ld hl, ExclamationPointPointerTable
-	ld a, [wd11e] ; exclamation point num
-	add a
-	push bc
-	ld b, $0
-	ld c, a
-	add hl, bc
-	pop bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ret
+	ld hl, ExclamationPointText
+	ret

+ExclamationPointText:
+	text_far _ExclamationPointText
+	text_end
+	ret

-ExclamationPointPointerTable:
-	dw ExclamationPoint1Text
-	dw ExclamationPoint2Text
-	dw ExclamationPoint3Text
-	dw ExclamationPoint4Text
-	dw ExclamationPoint5Text

-ExclamationPoint1Text:
-	text_far _ExclamationPoint1Text
-	text_end

-ExclamationPoint2Text:
-	text_far _ExclamationPoint2Text
-	text_end

-ExclamationPoint3Text:
-	text_far _ExclamationPoint3Text
-	text_end

-ExclamationPoint4Text:
-	text_far _ExclamationPoint4Text
-	text_end

-ExclamationPoint5Text:
-	text_far _ExclamationPoint5Text
-	text_end

-; this function does nothing useful
-; if the move being used is in set [1-4] from ExclamationPointMoveSets,
-; use ExclamationPoint[1-4]Text
-; otherwise, use ExclamationPoint5Text
-; but all five text strings are identical
-; this likely had to do with Japanese grammar that got translated,
-; but the functionality didn't get removed
-DetermineExclamationPointTextNum:
-	push bc
-	ld a, [wd11e] ; move ID
-	ld c, a
-	ld b, $0
-	ld hl, ExclamationPointMoveSets
-.loop
-	ld a, [hli]
-	cp $ff
-	jr z, .done
-	cp c
-	jr z, .done
-	and a
-	jr nz, .loop
-	inc b
-	jr .loop
-.done
-	ld a, b
-	ld [wd11e], a ; exclamation point num
-	pop bc
-	ret

-INCLUDE "data/moves/grammar.asm"

PrintMoveFailureText:
	ld de, wPlayerMoveEffect
	ldh a, [hWhoseTurn]
	and a
	jr z, .playersTurn
	ld de, wEnemyMoveEffect
.playersTurn
	ld hl, DoesntAffectMonText
	ld a, [wDamageMultipliers]
	and $7f
	jr z, .gotTextToPrint
	ld hl, AttackMissedText
	ld a, [wCriticalHitOrOHKO]
	cp $ff
	jr nz, .gotTextToPrint
-	ld hl, UnaffectedText
+       ld hl, IsUnaffectedText
.gotTextToPrint
	push de
	call PrintText
	xor a
	ld [wCriticalHitOrOHKO], a
	pop de
	ld a, [de]
	cp JUMP_KICK_EFFECT
	ret nz
...
...
-UnaffectedText:
-	text_far _UnaffectedText
-	text_end
...

delete data\moves\grammar.asm.

Clone this wiki locally