Skip to content

Commit

Permalink
QoL #8: get rid of move grammar table
Browse files Browse the repository at this point in the history
  • Loading branch information
aaaaaa123456789 authored and vulcandth committed Dec 15, 2022
1 parent 9530467 commit 58b19c8
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 243 deletions.
101 changes: 0 additions & 101 deletions data/moves/grammar.asm

This file was deleted.

28 changes: 1 addition & 27 deletions data/text/common_2.asm
Original file line number Diff line number Diff line change
Expand Up @@ -739,12 +739,7 @@ _ActorNameText::
text "<USER>@"
text_end

_UsedMove1Text::
text_start
line "used @"
text_end

_UsedMove2Text::
_UsedMoveText::
text_start
line "used @"
text_end
Expand All @@ -756,27 +751,6 @@ _UsedInsteadText::

_MoveNameText::
text_ram wStringBuffer2
text_end

text_end ; unreferenced

_EndUsedMove1Text::
text "!"
done

_EndUsedMove2Text::
text "!"
done

_EndUsedMove3Text::
text "!"
done

_EndUsedMove4Text::
text "!"
done

_EndUsedMove5Text::
text "!"
done

Expand Down
121 changes: 7 additions & 114 deletions engine/battle/used_move_text.asm
Original file line number Diff line number Diff line change
Expand Up @@ -25,46 +25,25 @@ UsedMoveText:

ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld [wMoveGrammar], a
ld [wTempByteValue], a

push hl
farcall CheckUserIsCharging
pop hl
jr nz, .grammar
jr nz, .ok

; update last move
ld a, [wMoveGrammar]
ld a, [wTempByteValue]
ld [hl], a
ld [de], a

.grammar
call GetMoveGrammar ; convert move id to grammar index

; everything except 'CheckObedience' made redundant in localization

; check obedience
ld a, [wAlreadyDisobeyed]
and a
ld hl, UsedMove2Text
ret nz

; check move grammar
ld a, [wMoveGrammar]
cp $3
ld hl, UsedMove2Text
ret c
ld hl, UsedMove1Text
.ok
ld hl, UsedMoveInsteadText
ret

UsedMove1Text:
text_far _UsedMove1Text
text_asm
jr UsedMoveText_CheckObedience

UsedMove2Text:
text_far _UsedMove2Text
UsedMoveInsteadText:
text_far _UsedMoveText
text_asm
UsedMoveText_CheckObedience:
; check obedience
ld a, [wAlreadyDisobeyed]
and a
Expand All @@ -82,94 +61,8 @@ UsedMoveText_CheckObedience:

MoveNameText:
text_far _MoveNameText
text_asm
; get start address
ld hl, .endusedmovetexts

; get move id
ld a, [wMoveGrammar]

; 2-byte pointer
add a

; seek
push bc
ld b, 0
ld c, a
add hl, bc
pop bc

; get pointer to usedmovetext ender
ld a, [hli]
ld h, [hl]
ld l, a
ret

.endusedmovetexts
; entries correspond to MoveGrammar sets
dw EndUsedMove1Text
dw EndUsedMove2Text
dw EndUsedMove3Text
dw EndUsedMove4Text
dw EndUsedMove5Text

EndUsedMove1Text:
text_far _EndUsedMove1Text
text_end

EndUsedMove2Text:
text_far _EndUsedMove2Text
text_end

EndUsedMove3Text:
text_far _EndUsedMove3Text
text_end

EndUsedMove4Text:
text_far _EndUsedMove4Text
text_end

EndUsedMove5Text:
text_far _EndUsedMove5Text
text_end

GetMoveGrammar:
; store move grammar type in wMoveGrammar

push bc
; wMoveGrammar contains move id
ld a, [wMoveGrammar]
ld c, a ; move id
ld b, 0 ; grammar index

; read grammar table
ld hl, MoveGrammar
.loop
ld a, [hli]
; end of table?
cp -1
jr z, .end
; match?
cp c
jr z, .end
; advance grammar type at 0
and a
jr nz, .loop
; next grammar type
inc b
jr .loop

.end
; wMoveGrammar now contains move grammar
ld a, b
ld [wMoveGrammar], a

; we're done
pop bc
ret

INCLUDE "data/moves/grammar.asm"

UpdateUsedMoves:
; append move a to wPlayerUsedMoves unless it has already been used

Expand Down
1 change: 0 additions & 1 deletion ram/wram.asm
Original file line number Diff line number Diff line change
Expand Up @@ -2662,7 +2662,6 @@ wTempPP::
wNextBoxOrPartyIndex::
wChosenCableClubRoom::
wBreedingCompatibility::
wMoveGrammar::
wApplyStatLevelMultipliersToEnemy::
wUsePPUp::
wd265:: ; mobile
Expand Down

0 comments on commit 58b19c8

Please sign in to comment.