Refactor with add-r16 variants

This commit is contained in:
earthoul
2025-12-14 02:45:37 +09:00
parent 02d4c043ba
commit 07b8c036f6
8 changed files with 103 additions and 376 deletions

View File

@@ -144,11 +144,7 @@ StartMenu_CardPop:
Func_c12e::
sla a
ld hl, .PointerTable
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -721,10 +717,7 @@ GetNPCByDeck:
ld c, MAX_NPC_DUELIST_DECKS
push hl
ld a, NPC_DUELIST_STRUCT_DECKS
add l
ld l, a
jr nc, .loop_decks
inc h
add_hl_a
.loop_decks
ld a, [hli]
cp b
@@ -780,11 +773,7 @@ GetLocationName:
.got_island
ld a, b
sla a
add l
ld l, a
jr nc, .got_location
inc h
.got_location
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -821,11 +810,7 @@ GetReceivingCardLongName:
cp16bc_long de
jr z, .load_name
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
jr .loop_cards
.not_found
call LoadCardDataToBuffer1_FromCardID
@@ -866,11 +851,7 @@ GetReceivingCardShortName:
cp16bc_long de
jr z, .load_short_name
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
jr .loop_cards
.not_found
call LoadCardDataToBuffer1_FromCardID
@@ -913,11 +894,7 @@ GetReceivedCardText:
cp16bc_long de
jr z, .load_received_text
ld a, CARD_RECEIVE_STRUCT_TEXTS_SIZE
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
jr .loop_cards
.not_found
push hl
@@ -1297,11 +1274,7 @@ Func_d3e9::
ld a, b
rlca
ld hl, .data
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
add d
ld d, a
@@ -2252,11 +2225,7 @@ SetBit_wd606:
REPT 3
srl a
ENDR
add l
ld l, a
jr nc, .bitmask
inc h
.bitmask
add_hl_a
pop af
and 7
inc a
@@ -2286,11 +2255,7 @@ ClearBit_wd606:
REPT 3
srl a
ENDR
add l
ld l, a
jr nc, .bitmask
inc h
.bitmask
add_hl_a
pop af
and 7
inc a
@@ -2321,11 +2286,7 @@ CheckBit_wd606:
REPT 3
srl a
ENDR
add l
ld l, a
jr nc, .bitmask
inc h
.bitmask
add_hl_a
pop af
and 7
inc a
@@ -2352,11 +2313,7 @@ CheckTCGIslandMilestoneEvents:
push hl
sla a
ld hl, .check_pointers
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2499,11 +2456,7 @@ CheckGRIslandMilestoneEvents:
push hl
sla a
ld hl, .check_pointers
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2640,25 +2593,13 @@ RunOverworldScript::
ld hl, wScriptBufferIndex
ld a, [hl]
ld hl, wScriptBuffer
add l
ld l, a
jr nc, .got_offset
inc h
.got_offset
add_hl_a
ld a, [hl]
ld d, a
ld hl, OverworldScriptTable
add l
ld l, a
jr nc, .next
inc h
.next
add_hl_a
ld a, d
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2798,11 +2739,7 @@ OverworldScriptTable:
IncreaseScriptPointer:
ld c, a
ld hl, wScriptPointer
add [hl]
ld [hli], a
jr nc, .next
inc [hl]
.next
add_at_hl_a
ld a, c
ld hl, wScriptBufferIndex
add [hl]
@@ -2852,11 +2789,7 @@ Get2ScriptArgs:
pop bc
dec a
ld hl, wScriptBuffer
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld b, [hl]
ld c, a
@@ -2892,11 +2825,7 @@ Get1ScriptArg:
jr nc, .fallback
pop bc
ld hl, wScriptBuffer
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hl]
or a
ret
@@ -3934,11 +3863,7 @@ ScriptCommand_PushVar:
ld a, [wScriptStackOffset]
dec a
ld [wScriptStackOffset], a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [wScriptLoadedVar]
ld [hl], a
jp IncreaseScriptPointerBy1
@@ -3947,11 +3872,7 @@ ScriptCommand_PopVar:
ld hl, wScriptStack
ld a, [wScriptStackOffset]
push af
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hl]
ld [wScriptLoadedVar], a
pop af
@@ -3997,11 +3918,7 @@ ScriptCommand_ScriptCall:
dec a
dec a
ld [wScriptStackOffset], a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [wScriptPointer]
ld [hli], a
ld a, [wScriptPointer + 1]
@@ -4020,11 +3937,7 @@ ScriptCommand_ScriptRet:
inc a
inc a
ld [wScriptStackOffset], a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
dec hl
ld a, [hld]
ld [wScriptPointer + 1], a
@@ -4123,11 +4036,7 @@ ScriptCommand_GiveBoosterPacks:
ld a, [wBoosterPackCount]
call Random
ld hl, wBoosterPackList
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hl]
ld [de], a
inc de
@@ -4225,11 +4134,7 @@ ScriptCommand_ScriptCallfar:
dec a
dec a
ld [wScriptStackOffset], a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [wScriptPointer]
ld [hli], a
ld a, [wScriptPointer + 1]
@@ -4253,11 +4158,7 @@ ScriptCommand_ScriptRetfar:
inc a
inc a
ld [wScriptStackOffset], a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
dec hl
ld a, [hld]
ld [wScriptBank], a
@@ -5385,7 +5286,7 @@ Func_ef40:
ret
Func_ef97:
.asm_ef97
.loop
ld a, [wFilteredListPtr]
ld l, a
ld a, [wFilteredListPtr+1]
@@ -5393,15 +5294,11 @@ Func_ef97:
ld a, [wRemainingIntroCards]
call Random
sla a
add l
ld l, a
jr nc, .asm_efac
inc h
.asm_efac
add_hl_a
inc hl
ld a, [hld]
and b
jr z, .asm_ef97
jr z, .loop
ld a, [hl]
ret
@@ -5478,11 +5375,7 @@ GetTCGChallengeCupPrizeCardID:
call GetVarValue
sla a
ld hl, TCGChallengeCupPromoPrizes
add l
ld l, a
jr nc, .asm_f021
inc h
.asm_f021
add_hl_a
ld a, [hli]
ld b, [hl]
ld c, a
@@ -5514,11 +5407,7 @@ GetGRChallengeCupPrizeCardID:
call GetVarValue
sla a
ld hl, GRChallengeCupPromoPrizes
add l
ld l, a
jr nc, .asm_f047
inc h
.asm_f047
add_hl_a
ld a, [hli]
ld b, [hl]
ld c, a

View File

@@ -255,11 +255,7 @@ Func_301c0:
PlacePlayerInGRIslandLocation:
sla a ; *2
ld hl, GRIslandLocationPositions
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld e, [hl]
ld d, a
@@ -271,11 +267,7 @@ Func_30202:
push af
sla a ; *2
ld hl, GRIslandLocationPositions
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld d, a
ld a, [hl]
@@ -324,17 +316,9 @@ Func_30242:
sla a
sla a ; *4
ld hl, .LocationConnections
add l
ld l, a
jr nc, .got_pointer1
inc h
.got_pointer1
add_hl_a
ld a, c
add l
ld l, a
jr nc, .got_pointer2
inc h
.got_pointer2
add_hl_a
ld a, [hl]
cp b
jr z, .done
@@ -433,11 +417,7 @@ PrintGRIslandLocationName:
sla a
sla a ; *4
ld hl, .data
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -466,11 +446,7 @@ PrintGRIslandLocationName:
Func_3030a:
sla a ; *2
ld hl, .PointerTable
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -512,11 +488,7 @@ Func_30343:
sla a
sla a ; *4
ld hl, Data_3056a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld [wd680], a
ld a, [hli]
@@ -529,11 +501,7 @@ Func_3035f:
sla a
sla a ; *4
ld hl, Data_3056a
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, c
ld [wOWScrollSpeed], a
ld a, [hli]
@@ -596,11 +564,7 @@ Func_303c7:
sla a
sla a ; *4
ld hl, .data
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hl] ; map
inc hl
ld d, [hl] ; x
@@ -667,21 +631,13 @@ Func_30452:
ld a, [wPlayerOWLocation]
sla a ; *2
ld hl, GRIslandPlayerPaths
add l
ld l, a
jr nc, .got_pointer1
inc h
.got_pointer1
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wCurOWLocation]
sla a ; *2
add l
ld l, a
jr nc, .got_pointer2
inc h
.got_pointer2
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -715,11 +671,7 @@ Func_30452:
ld a, [wCurOWLocation]
sla a ; *2
ld hl, GRIslandLocationPositions
add l
ld l, a
jr nc, .got_pointer3
inc h
.got_pointer3
add_hl_a
ld a, [hli]
ld e, [hl]
ld d, a
@@ -732,11 +684,7 @@ Func_30452:
ld a, e
sla a ; *2
ld hl, .data
add l
ld l, a
jr nc, .got_pointer4
inc h
.got_pointer4
add_hl_a
ld a, [hli]
ld e, [hl]
ld d, a

View File

@@ -878,11 +878,7 @@ HandleTCGIslandInput:
PlacePlayerInTCGIslandLocation:
sla a ; *2
ld hl, TCGIslandLocationPositions
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld e, [hl]
ld d, a
@@ -893,11 +889,7 @@ PlacePlayerInTCGIslandLocation:
UpdateTCGIslandCursorPosition:
sla a ; *2
ld hl, TCGIslandLocationPositions
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hli]
ld d, a
ld a, [hl]
@@ -926,17 +918,9 @@ HandleTCGIslandDirectionalInput:
sla a
sla a ; *4
ld hl, .LocationConnections
add l
ld l, a
jr nc, .got_pointer_1
inc h
.got_pointer_1
add_hl_a
ld a, c
add l
ld l, a
jr nc, .got_pointer_2
inc h
.got_pointer_2
add_hl_a
ld a, [hl]
cp b
jr z, .done
@@ -1035,11 +1019,7 @@ PrintTCGIslandLocationName:
sla a
sla a ; *4
ld hl, .LocationTitleTextItems
add l
ld l, a
jr nc, .ok
inc h
.ok
add_hl_a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -1070,11 +1050,7 @@ Func_40682:
sla a
sla a ; *4
ld hl, .data
add l
ld l, a
jr nc, .got_pointer
inc h
.got_pointer
add_hl_a
ld a, [hl] ; map
inc hl
ld d, [hl] ; x
@@ -1108,21 +1084,13 @@ Func_406d1:
ld a, [wPlayerOWLocation]
sla a ; *2
ld hl, TCGIslandPlayerPaths
add l
ld l, a
jr nc, .got_pointer_1
inc h
.got_pointer_1
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wCurOWLocation]
sla a ; *2
add l
ld l, a
jr nc, .got_pointer_2
inc h
.got_pointer_2
add_hl_a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1152,11 +1120,7 @@ Func_406d1:
ld a, [wCurOWLocation]
sla a
ld hl, TCGIslandLocationPositions
add l ; *2
ld l, a
jr nc, .got_pointer_3
inc h
.got_pointer_3
add_hl_a
ld a, [hli]
ld e, [hl]
ld d, a

View File

@@ -171,11 +171,7 @@ _ChooseTitleScreenCards:
ld hl, wDuelTempList
ld a, c
sla a
add l
ld l, a
jr nc, .no_carry
inc h
.no_carry
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -387,19 +383,11 @@ Func_45379:
call Random
sla a
sla a
add l
ld l, a
jr nc, .asm_45394
inc h
.asm_45394
add_hl_a
push hl
inc hl
ld a, d
add l
ld l, a
jr nc, .asm_4539c
inc h
.asm_4539c
add_hl_a
ld a, [hl]
pop hl
and b
@@ -521,11 +509,7 @@ SetGrandMasterCupOpponents:
ld a, NUM_GRANDMASTERCUP_OPPONENT_IDS
call Random
sla a
add l
ld l, a
jr nc, .compare
inc h
.compare
add_hl_a
push hl
inc hl
ld a, [hl]
@@ -819,11 +803,7 @@ GetGrandMasterCupPrizeCardID:
farcall GetVarValue
ld hl, GrandMasterCupPromoPrizes
sla a
add l
ld l, a
jr nc, .asm_45689
inc h
.asm_45689
add_hl_a
ld a, [hli]
ld b, [hl]
ld c, a

View File

@@ -88,11 +88,7 @@ ProcessBlackBoxInputAndOutput_AllDupes:
jr z, .whiffed_return_1
call Random
sla a
add l
ld l, a
jr nc, .output_super_bonus_got_1_evo
inc h
.output_super_bonus_got_1_evo
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -127,11 +123,7 @@ ProcessBlackBoxInputAndOutput_AllDupes:
jr z, .whiffed_return_1
call Random
sla a
add l
ld l, a
jr nc, .output_super_bonus_got_1_star
inc h
.output_super_bonus_got_1_star
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -186,11 +178,7 @@ ProcessBlackBoxInputAndOutput_AllDupes:
jr z, .whiffed_return_1
call Random
sla a
add l
ld l, a
jr nc, .output_bonus_got_1_evo
inc h
.output_bonus_got_1_evo
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -221,11 +209,7 @@ ProcessBlackBoxInputAndOutput_AllDupes:
jr z, .whiffed_return_1
call Random
sla a
add l
ld l, a
jr nc, .output_bonus_no_evo_got_1_star
inc h
.output_bonus_no_evo_got_1_star
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -310,11 +294,7 @@ ProcessBlackBoxInputAndOutput_EvoLine:
jr z, .return_all
call Random
sla a
add l
ld l, a
jr nc, .got_1_card
inc h
.got_1_card
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -649,11 +629,7 @@ ProcessBlackBoxInputAndOutput_Regular:
call Random
sla a
ld hl, wDuelTempList
add l
ld l, a
jr nc, .append_circle
inc h
.append_circle
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -688,11 +664,7 @@ ProcessBlackBoxInputAndOutput_Regular:
call Random
sla a
ld hl, wDuelTempList
add l
ld l, a
jr nc, .append_diamond
inc h
.append_diamond
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -727,11 +699,7 @@ ProcessBlackBoxInputAndOutput_Regular:
call Random
sla a
ld hl, wDuelTempList
add l
ld l, a
jr nc, .append_star
inc h
.append_star
add_hl_a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -760,11 +728,7 @@ GetBlackBoxOutputBonusFlag:
dec a
dec a
ld hl, .cutoffs
add l
ld l, a
jr nc, .call_random
inc h
.call_random
add_hl_a
ld c, [hl]
ld a, 100
call Random
@@ -800,11 +764,7 @@ GetBlackBoxEvoLineOutputCountAndScore:
sla a
push af
ld hl, .cutoffs
add l
ld l, a
jr nc, .call_random
inc h
.call_random
add_hl_a
ld a, [hli]
ld c, a
ld b, [hl]
@@ -818,11 +778,7 @@ GetBlackBoxEvoLineOutputCountAndScore:
; table2
pop af
ld hl, .ValueTable2
add l
ld l, a
jr nc, .get_from_table2
inc h
.get_from_table2
add_hl_a
ld a, [hli]
ld c, a
ld a, [hl]
@@ -831,11 +787,7 @@ GetBlackBoxEvoLineOutputCountAndScore:
.table1
pop af
ld hl, .ValueTable1
add l
ld l, a
jr nc, .get_from_table1
inc h
.get_from_table1
add_hl_a
ld a, [hli]
ld c, a
ld a, [hl]
@@ -844,11 +796,7 @@ GetBlackBoxEvoLineOutputCountAndScore:
.table0
pop af
ld hl, .ValueTable0
add l
ld l, a
jr nc, .get_from_table0
inc h
.get_from_table0
add_hl_a
ld a, [hli]
ld c, a
ld a, [hl]
@@ -891,11 +839,7 @@ GetBlackBoxOutputIndex:
sla a
sla a
ld hl, .cutoffs
add l
ld l, a
jr nc, .rng_check
inc h
.rng_check
add_hl_a
ld a, [hli] ; cutoff 0
ld c, a
ld a, [hli] ; cutoff 1

View File

@@ -127,11 +127,7 @@ SearchCardInListInHL:
SearchCardInListInHL_Offset:
push hl
sla a
add l
ld l, a
jr nc, .search
inc h
.search
add_hl_a
call SearchCardInListInHL
pop hl
ret
@@ -183,11 +179,7 @@ ENDR
ld hl, wTempBlackBoxInputBasic
ld a, [wLoadedCard1Stage]
sla a
add l
ld l, a
jr nc, .store_in_buffer
inc h
.store_in_buffer
add_hl_a
ld a, [hli]
ld c, a
ld a, [hld]
@@ -196,6 +188,7 @@ ENDR
pop bc
pop hl
jp nz, .invalid ; the same stage already exists
; store in buffer
ld a, e
ld [bc], a
inc bc
@@ -390,11 +383,8 @@ ENDR
cp TYPE_PKMN
jr nc, .loop_cards
ld de, wNumBlackBoxInputPkmnPerType
add e
ld e, a
jr nc, .incr_count
inc d
.incr_count
add_de_a
; incr count
ld a, [de]
inc a
ld [de], a
@@ -983,19 +973,11 @@ ShuffleCardsInHL:
ld a, b
call Random
sla a
add l
ld l, a
jr nc, .no_carry1
inc h
.no_carry1
add_hl_a
ld a, b
call Random
sla a
add e
ld e, a
jr nc, .no_carry2
inc d
.no_carry2
add_de_a
ld b, [hl]
ld a, [de]
ld [hl], a

View File

@@ -364,11 +364,7 @@ Func_3254::
inc hl
.asm_3283
ld a, $07
add l
ld l, a
jr nc, .asm_328a
inc h
.asm_328a
add_hl_a
jr Func_3254
Func_328c::

View File

@@ -105,3 +105,27 @@ ENDM
MACRO? cpcoord
cp16_lb \1, \2
ENDM
MACRO? add_r16_r8
add LOW(\1)
ld LOW(\1), \2
jr nc, :+
inc HIGH(\1)
:
ENDM
MACRO? add_hl_a
add_r16_r8 hl, a
ENDM
MACRO? add_de_a
add_r16_r8 de, a
ENDM
MACRO? add_at_hl_a
add [hl]
ld [hli], a
jr nc, :+
inc [hl]
:
ENDM