- Bug Fixes For Base Game
- Code Optimization
- Miscellaneous Changes
- New Features
- Other Bug Fixes And Commit Reversions
- Potential Hacks
- November 10, 2024: 2 Files Changed
- Mysterious Fossil and Clefairy Doll are now only considered Basic Pokémon while in the play area
- engine/duel/core.asm changes reference
CheckDeckIndexForBasicPokemon
from home/duel.asm, which isn't present in the base disassembly
- engine/duel/core.asm changes reference
- Mysterious Fossil and Clefairy Doll are now only considered Basic Pokémon while in the play area
- October 29, 2024: 2 Files Changed
- AI now accounts for Energy Burn when evaluating whether or not a Benched Charizard is able to attack
- October 25, 2024: 9 Files Changed
- Update engine/duel/ai/special_attacks.asm and add entries for MarowakLv32's Wail, GastlyLv8's Destiny Bond, and GastlyLv17's Energy Conversion (all 3 are now usable by AI)
- Add AI logic for using Moltres's Wildfire attack and replace IGNORE_THIS_ATTACK flag with SPECIAL_AI_HANDLING. (Courtney can now use Wildfire to deck out the Player)
- Add AI logic for using VenusaurLv64's Solar Power Pokémon Power. (although no AI opponents have VenusaurLv64 in their deck)
- Also update a few effect functions and refactor the ConvertHPToDamageCounters functions in the AI Logic banks (unrelated to the bug fixing)
- September 12, 2024: 1 File Changed
- Prevent the Morph attack from transforming the user into a copy of the exact same card
- September 3, 2024: 2 Files Changed
- Prevent the header text on the card album and card list screens from being overwritten by new font tiles when scrolling the page
- This display glitch would only have occurred if the size of the card or booster pack lists were increased or the card names were altered
- August 17, 2024: 4 Files Changed
- Use Electro's tutorial to give the AI the ability to read more complex Energy requirements in attack costs (more than 2 types of Energy)
- This isn't exactly a bug since there were no multicolored attacks in the base game
- June 11, 2024: 2 Files Changed
- Replace many uses of
call
withbank1call
when dealing with functions in bank $01 from the home bank. (It's probably best not to assume that bank 1 will always be loaded.)
- Replace many uses of
- June 10, 2024: 2 Files Changed
- Fix AI logic for using Dugtrio's Earthquake attack
- Add AI logic for using Dragonite's Step In Pokémon Power (taken from poketcg2)
HandleAIStepIn
correction:CheckIfDefendingPokemonCanKnockOut
should usefarcall
- May 21, 2024: 3 Files Changed
- Finish fixing the "Big Lightning" and "Dive Bomb" animations
- Split "Gfx 12" and "Anims 1" into 2 banks
- Split "Anims 4" and "Palettes1" into 2 banks
- May 21, 2024: 17 Files Changed (bugs_and_glitches.md was also removed)
- Apply new graphics fixes in bugs_and_glitches.md. More specifically:
- Fix the lower left tiles of the pool area in the Water Club using the wrong color
- Fix the emblems in the Club entrances using some incorrect tiles
- Fix a problem with the frame data being used for NPCs with a green palette
- (Partially) Fix a problem with the "Big Lightning" duel animation
- (Partially) Fix a problem with the "Dive Bomb" duel animation
- May 6, 2024: 9 Files Changed (8 are Code Optimization)
- Fix "Ninetails" typo
- April 15, 2024: 1 File Changed
- Fix the AI not checking the Unable_Retreat substatus before retreating (credit to Oats)
- This was updated in this commit (it no longer prevents Switch from being played)
- April 15, 2024: 24 Files Changed
- Apply all of the changes currently laid out in bugs_and_glitches.md. More specifically:
- Fix the AI repeating the Active Pokémon score bonus when attaching an Energy card
- Fix designated cards not being set aside when the AI places Prize cards
- Apply the AI score modifiers for retreating
- Fix a flaw in AI's Professor Oak logic
- Fix Rick never playing Energy Search
- Fix Rick using the wrong Pokédex AI subroutine
- Fix Chris never using Revive on Kangaskhan
- Fix a flaw in the AI's Pokémon Trader logic for the PowerGenerator deck
- Fix various flaws in the AI's Full Heal logic
- Prevent the AI from attacking with a Pokémon Power after playing PlusPower and then evolving
- Fix the AI never using Energy Trans to retreat
- Fix Sam's practice deck checking for the wrong card ID
- Fix various flaws in the AI logic for the Shift Pokémon Power
- Prevent the AI from being able to use Cowardice without waiting a turn
- Fix the wrong name being displayed in the Challenge Cup
- Fix a flaw in the Card Pop logic when comparing player names
- Add a missing return to the InitPromotionalCardAndDeckCounterSaveData function in src/engine/menus/deck_selection.asm
- November 14, 2024: 3 Files Changed
- Refactor some code in engine/menus/duel.asm and engine/menus/play_area.asm
- Replace a couple of values in engine/menus/duel_init.asm with constants
- November 12, 2024: 2 Files Changed
- Rename
ConvertWordToNumericalDigits
engine/menus/print_stats.asm toThreeDigitNumberToTxSymbol_TrimLeadingZeros
- Plus a few additional comments and a minor refactor of another function in the same file
- Rename
- November 12, 2024: 1 File Changed
- Update various comments in engine/menus/mail.asm and implement several minor optimizations
- November 10, 2024: 1 File Changed
- Use a fallthrough for
.play_sfx
subroutine in each of the deck search (Find*) functions in engine/duel/effect_functions2.asm
- Use a fallthrough for
- November 9, 2024: 26 Files Changed
- Change various instances of $ff to -1 to better comply with the original disassembly's style guide (-1 = empty/false, $ff = list/data terminator)
- Change some instances of
cp -1
with inc a (so long as the flag differences seemed irrelevant) - Remove some redundant loads following menu input functions (when the necessary variable was already loaded to the a register)
- Edit a lot of input/output comments in the effect function and ai logic files (mostly related to deck indices)
- November 4, 2024: 2 Files Changed
- Move several card list display functions from home/menus.asm (bank $00) to engine/duel/core.asm (bank $01)
- November 4, 2024: 9 Files Changed
- Implement a variety of minor optimizations, all of which are related to printing card lists
- Correct a few constants (NUM_DECK_SAVE_MACHINE_SLOTS instead of DECK_SIZE and MAX_PLAY_AREA_POKEMON instead of 6)
- November 2, 2024: 17 Files Changed
- Implement a variety of minor optimizations, most of which are related to the
xor a
instruction setting the a register to 0
- Implement a variety of minor optimizations, most of which are related to the
- November 2, 2024: 6 Files Changed
- Create a
ClearData
function in the home bank and use it to replace the equivalent code in numerous functions
- Create a
- November 2, 2024: 4 Files Changed
- Add a
call EnableSRAM
to the start of various functions that end withjp DisableSRAM
- Refactor
CopyPalsToSRAMBuffer
andLoadPalsFromSRAMBuffer
to remove some redundant code and reduce the amount of cycles used
- Add a
- November 1, 2024: 2 Files Changed
- Remove
SetMenuItem
from home/menus.asm and inline the code for the single call in engine/duel/core.asm - Move
HandleDuelMenuInput
from home/menus.asm (bank $00) to engine/duel/core.asm (bank $01)
- Remove
- October 31, 2024: 9 Files Changed
- Replace several instances of loading an 8-bit constant into a 16-bit register pair before copying memory with alternate code that only uses a single register
- Remove
FillMemoryWithA
function from the home bank and replace the 2 calls with (significantly optimized) inlined code that accomplishes the same thing
- October 31, 2024: 9 Files Changed
- Replace various copy code with calls to either
CopyNBytesFromHLToDE
orCopyNBytesFromDEToHL
- Replace various copy code with calls to either
- October 31, 2024: 15 Files Changed (although 2 are no longer in the build)
- Reorganize default palette data and put actual functions in the home bank (now, nothing is stored in engine/duel/core.asm)
- October 30, 2024: 3 Files Changed
- Update some code that checks for the Amnesia attack effect (all related to the
HandleAmnesiaSubstatus
function)
- Update some code that checks for the Amnesia attack effect (all related to the
- October 30, 2024: 5 Files Changed
- Have
CheckUnableToRetreatDueToEffect
check if the Active Pokémon is Asleep or Paralyzed - Replace
HandleCantAttackSubstatus
withCheckUnableToAttackDueToEffect
, which also checks if the Active Pokémon is Asleep or Paralyzed
- Have
- October 30, 2024: 5 Files Changed
- Replace individual Snorlax and Trainer Pokémon checks with calls to the newly created
CheckIfActiveCardCanBeAffectedByStatus
function in home/substatus
- Replace individual Snorlax and Trainer Pokémon checks with calls to the newly created
- October 29, 2024: 7 Files Changed
- Combine the default effect commands for Clefairy Doll and Mysterious Fossil
- Move
ConvertSpecialTrainerCardToPokemon
from engine/duel/core.asm (bank $01) to engine/duel/effect_functions.asm (bank $09) - Move
HandleNShieldAndTransparency
from home/substatus.asm (bank $00) to engine/duel/effect_functions2.asm (bank $0a) - Move
HandleStrikesBack_AgainstDamagingAttack
from home/substatus.asm to home/duel.asm (to mirror the other Strikes Back function, which is also stored near its call) - Also adjust some comments in both of the Strikes Back functions, as well as a minor optimization for the one in engine/duel/core.asm
- October 28, 2024: 3 Files Changed
- Move
ClearDamageReductionSubstatus2
,UpdateSubstatusConditions_StartOfTurn
,UpdateSubstatusConditions_EndOfTurn
, andHandleDestinyBondSubstatus
from home/substatus.asm (bank $00) to engine/duel/core.asm (bank $01) - Refactor
HandleDestinyBondSubstatus
- Move
- October 28, 2024: 5 Files Changed
- Add constants for both of the wPlayAreaSelectAction variables
- Replace the HasAlivePokemonIn* functions in engine/duel/core.asm and with
InitPlayAreaScreenVars
andInitPlayAreaScreenVars_OnlyBench
(placed in home/duel.asm to reduce bank1calls) - The
call HasAlivePokemonInBench
inCheckAbleToRetreat
was replaced with an inline check that uses DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA - The
call HasAlivePokemonInBench
inReplaceKnockedOutPokemon
, which was the only call that actually made use of the alive Pokémon check, was replaced by a call to another new function:CheckForAlivePokemonInBench
- Also remove some redundant code in a few of the play area screen functions
- October 27, 2024: 3 Files Changed
- Move
UpdateArenaCardIDsAndClearTwoTurnDuelVars
andSendAttackDataToLinkOpponent
from home/duel.asm (bank $00) to engine/duel/core.asm (bank $01)
- Move
- October 27, 2024: 4 Files Changed
- Replace 10 bank1calls by moving
PlayAttackAnimation
from engine/duel/core.asm (bank $01) to home/duel.asm (bank $00) - Reorder several functions in home/duel.asm for better organization
- Use a conditional call/jp to the
PreventAllDamage
function to remove a few bytes fromApplyDamageModifiers_DamageToTarget
andDealDamageToPlayAreaPokemon
- Replace 10 bank1calls by moving
- October 27, 2024: 3 Files Changed
- Move
GetCardInDuelTempList_OnlyDeckIndex
,GetCardInDuelTempList
,ApplyDamageModifiers_DamageToTarget
, andPrintFailedEffectText
from home/duel.asm (bank $00) to engine/duel/core.asm (bank $01) - Make a couple of minor changes to
ApplyDamageModifiers_DamageToTarget
- Move
- October 26, 2024: 5 Files Changed (although 1 is no longer in the build)
- Replace 6 bank1calls by moving
DrawWholeScreenTextBox
from engine/duel/core.asm (bank $01) to home/menus.asm (bank $00)
- Replace 6 bank1calls by moving
- October 26, 2024: 2 Files Changed
- Replace 2 farcalls by moving
CheckWhichDecksToDismantleToBuildSavedDeck
from engine/auto_deck_machines.asm (bank $06) to engine/menus/deck_machines.asm (bank $02)
- Replace 2 farcalls by moving
- October 26, 2024: 4 Files Changed
- Move
DiscardSavedDuelData
from bank $01 to bank $04 to (4 bank1calls -> 3 calls and 1 farcall) - Remove some redundant code near the calls to said function
- Move
- October 24, 2024: 3 Files Changed
- Various optimizations in engine/duel/effect_functions.asm that revolve around damage adjustments
- October 23, 2024: 2 Files Changed
- Reconfigure a few AI effect commands (
SetDefiniteAIDamage
is redundant ifSetDefiniteDamage
was already called)
- Reconfigure a few AI effect commands (
- October 22, 2024: 20 Files Changed
- Perform various optimizations and update a few of the comments in the engine/duel/ai/decks files
- October 21, 2024: 3 Files Changed
- Merge the Cowardice Pokémon Power logic (
HandleAICowardice
) into theHandleAIPkmnPowers
function - Put
HandleAIStepIn
in the proper place (after the other functions that are called byHandleAIPkmnPowers
) - The Energy Trans AI functions were also moved below the HandleAIPkmnPowers functions in the previous commit
- Merge the Cowardice Pokémon Power logic (
- October 21, 2024: 3 Files Changed
- Swap some variables in the Potion effect functions and AI logic to eliminate the need for a separate
AIPlay_Potion
function
- Swap some variables in the Potion effect functions and AI logic to eliminate the need for a separate
- October 21, 2024: 6 Files Changed
- Remove the
EnergyRemoval_AISelection
effect function since Trainer cards don't use AISelection effect commands - Replace the call to that function in
DiscardEnergyDefendingPokemon_AISelection
with a farcall to the real Energy Removal AI logic - Move
CheckIfEnergyIsUseful
from engine/duel/ai/core.asm to engine/duel/ai/common.asm to minimize farcalls
- Remove the
- October 21, 2024: 7 Files Changed
- Refactor a lot of functions that loop through DUELVARS_CARD_LOCATIONS
- October 20, 2024: 3 Files Changed
- Various optimizations in engine/duel/core.asm, home/duel.asm, and home/substatus.asm
- October 19, 2024: 9 Files Changed
- Make a dedicated function for checking if Toxic Gas is in effect (labeled
CheckIfPkmnPowersAreCurrentlyDisabled
in case other disabling effects are added)
- Make a dedicated function for checking if Toxic Gas is in effect (labeled
- October 19, 2024: 1 File Changed
- Condense the Pokémon Power checks being performed during
HandleStrikesBack_AgainstDamagingAttack
- The changes were spread out over two commits because I mistakenly thought that the developers overlooked something. SECOND COMMIT
- Condense the Pokémon Power checks being performed during
- October 18, 2024: 13 Files Changed
- Try to standardize the function comments that are used in the engine/duel/ai files (excluding the decks folder)
- Plus several more code changes in said files (only big change was to
_AIProcessHandTrainerCards
) - A small (but very important) mistake in
_AIProcessHandTrainerCards
was fixed in This Commit and This Commit
- October 15, 2024: 16 Files Changed
- Countless optimizations and refactoring in engine/duel/ai files
- Several functions in said files were relocated and a few others were completely removed
- Numerous corrections were also made and some of the functions were even expanded
- October 10, 2024: 19 Files Changed
- Miscellaneous optimizations, mostly related to storing information in RAM
- October 9, 2024: 3 Files Changed
- Thoroughly review engine/duel/core.asm, updating comments, code, and even some labels
- Change the name of a subroutine in home/copy.asm into
CopyNBytesFromDEToHL
and use it in a couple of other files
- October 4, 2024: 4 Files Changed
- Thoroughly review the effect functions files, optimizing and occasionally correcting miscellaneous code
- Update various comments in the effect functions files (also correct
RemoveCardFromDuelTempList
's output comments in home/duel.asm) - Reorder a lot of the individual effect commands (EFFECTCMDTYPE_*) to reflect the actual order of execution
- October 1, 2024: 1 File Changed
- Refactor some code and delete a couple of useless lines in home/duel.asm
- September 30, 2024: 32 Files Changed
- Add/edit a lot of function comments and move a couple of functions (within the same file)
- Change several magic numbers to the correct constants and add constants for wLineSeparation
- September 15, 2024: 1 File Changed
- Some more comments and minor optimizations in home/substatus.asm
- September 10, 2024: 28 Files Changed
- Replace some jumps that skip over a call with a conditional call (e.g.
call nz
) - Replace various instances of 2 numbers being separately loaded into a register pair with a 16-bit load
- Replace a few uses of
jp
withjr
and remove a few duplicatexor a
instructions
- Replace some jumps that skip over a call with a conditional call (e.g.
- September 9, 2024: 10 Files Changed
- Eliminate some more tail calls (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
)
- Eliminate some more tail calls (replacing a
- September 9, 2024: 6 Files Changed
- Remove some more unreferenced functions from the build
- September 5, 2024: 3 Files Changed
- Make some changes to the effect functions files pertaining to hram labels and eliminate some unnecessary functions in the process.
- A missing
ret
was added in this commit.
- September 1, 2024: 11 Files Changed
- Eliminate some unnecessary loading of card data to wram
- August 31, 2024: 6 Files Changed
- Replace
call GetNonTurnDuelistVariable
with the rst macro forGetTurnDuelistVariable
whenSwapTurn
is being called immediately afterward
- Replace
- August 31, 2024: 16 Files Changed
- Make
_GetCardIDFromDeckIndex
preserve hl and use it instead ofGetCardIDFromDeckIndex
when loading the ID into the a register
- Make
- August 30, 2024: 13 Files Changed
- Update comments and labels for the 7 pairs of identical functions in engine/duel/ai/core.asm and engine/duel/ai/common.asm (and add an 8th)
- Shuffle some data around in both of these files
- August 30, 2024: 2 Files Changed
- Consolidate some identical functions in engine/duel/ai/trainer_cards.asm
- August 29, 2024: 23 Files Changed
- Remove some unnecessary
ret
instructions in the src/scripts files - Fix Amanda's booster pack rewards (now Water-focused instead of Lightning)
- Remove some unnecessary
- August 29, 2024: 5 Files Changed (1 was deleted)
- Move all palette data into a single file/bank
- Add comments to explain what each palette set is used for
- August 20, 2024: 13 Files Changed
- Comment out some unnecessary loads and make use of a new function in the home bank:
GetCardTypeFromDeckIndex_SaveDE
- Remove some redundant code in the engine/duel/ai files (e.g. unnecessary stack pushes and pops)
- Replace some uses of
jp
in said files withjr
or inlined code and eliminate tail calls (replacing acall
and subsequentret
with a fallthrough/jr
/jp
) - Rearrange a couple of functions in said files
- Rename
CopyHandCardList
andCopyBuffer
toCopyListWithFFTerminatorFromHLToDE_Bank5
andCopyListWithFFTerminatorFromHLToDE_Bank8
- Comment out some unnecessary loads and make use of a new function in the home bank:
- August 20, 2024: 4 Files Changed
- Fix register preservation comments for
BankPushROM
,BankPushROM2
, andGetCardType
- Adjust push/pop instructions surrounding calls to
GetCardType
- Fix register preservation comments for
- August 20, 2024: 13 Files Changed
- Try to standardize the function comments that are used in the unsorted engine files
- Plus some labeling/corrections/optimizations/shuffling of functions in said files
- August 18, 2024: 3 Files Changed
- Delete a few unnecessary functions from home/duel_menu.asm
- August 18, 2024: 21 Files Changed
- Make
SwapTurn
a restart vector and replace eachcall
withrst
(you could also replace eachjp
withrst
and a subsequentret
to free up even more space, at the cost of 4 cycles per byte saved)
- Make
- August 18, 2024: 5 Files Changed
- Move some functions from home/duel.asm and home/substatus.asm to engine/duel/core.asm
- Shuffle a few functions in the home bank
- August 17, 2024: 4 Files Changed
- Use in-lined bank switches instead of
farcall
for a few home bank functions and do the opposite for a couple of rarely used functions that are related to Mankey's Peek
- Use in-lined bank switches instead of
- August 17, 2024: 26 Files Changed
- Make
BankSwitchROM
a restart vector and replace eachcall
withrst
(you could also replace eachjp
withrst
and a subsequentret
to free up even more space in the home bank, at the cost of 4 cycles per byte saved)
- Make
- August 17, 2024: 28 Files Changed
- Use Electro's tutorial to make
GetTurnDuelistVariable
a restart vector and replace eachcall GetTurnDuelistVariable
with an rst macro
- Use Electro's tutorial to make
- August 17, 2024: 13 Files Changed
- Remove all references to the
debug_nop
restart vector
- Remove all references to the
- August 16, 2024: 10 Files Changed
- Replace numerous instances of
call DisableSRAM
and a laterret
withjp DisableSRAM
- Replace numerous instances of
- August 16, 2024: 7 Files Changed
- Replace numerous instances of
call SwapTurn
and a laterret
withjp SwapTurn
- Replace numerous instances of
- August 16, 2024: 19 Files Changed
- Eliminate some redundant bank 1 functions (mainly from engine/menus/common.asm)
- August 15, 2024: 5 Files Changed
- Return
FillBGMapLineWithA
andFillDEWithA
to engine/menu/deck_configuration.asm - Remove some unnecessary
push af
andpop af
instructions surrounding calls ofBCCoordToBGMap0Address
- Return
- August 14, 2024: 8 Files Changed
- Create engine/menus/gift_center.core.asm and move gift center functions in engine/menus/deck_configuration and engine/menu/deck_machine.asm to the new file
- Organize functions in engine/menus/printer.asm (after importing
PrinterMenu_DeckConfiguration
) - Move and label unrelated menu parameter data from engine/menus/gift_center.asm to engine/menus/labels.asm
- August 13, 2024: 5 Files Changed
- Move
CopyNBytesFromHLToDE
from engine/menu/deck_configuration.asm to home/copy.asm - Refactor several functions to make use of the new home bank function
- Move
- August 13, 2024: 16 Files Changed
- Add
InitTextPrinting_PrintTextNoDelay
andInitTextPrinting_ProcessText
functions - Edit some of the comments in home/menus.asm, home/print_text.asm, and home_process_text.asm, plus a few minor optimizations
- Add
- August 11, 2024: 5 Files Changed
- Move coss toss functions from engine/duel.core.asm to a separate file that's linked with a less important bank
- Align the printed coin tally numbers
- August 11, 2024: 11 Files Changed
- Refactor and better organize all functions associated with writing numbers
- This commit swapped the FULLWIDTH3 fonts for TX_SYMBOL fonts in the fullwidth text functions, to avoid overwriting the numbers on screen with other font tiles once VRAM runs out of space for new font tiles
- August 9, 2024: 1 File Changed
- Comment out some unreferenced data in home/sgb.asm
- August 8, 2024: 10 Files Changed
- Standardize the functions responsible for playing the confirm/cancel sound effects
- Eliminate some unnecessary uses of
farcall
- August 5, 2024: 1 File Changed
- Review and clean up engine/menus/deck_machine.asm
- This file also had a small bug which was fixed in this commit
- August 4, 2024: 8 Files Changed
- Eliminate 8 uses of
farcall
by movingHandleAIMewtwoDeckStrategy
from engine/duel/ai/common.asm to engine/duel/ai/core.asm
- Eliminate 8 uses of
- August 4, 2024: 6 Files Changed (1 was simply deleted)
- Some refactoring to make use of the
DoAFrames
function - Plus some minor home bank clean up
- Some refactoring to make use of the
- August 4, 2024: 5 Files Changed
- Try to standardize the function comments that are used in the engine/link files
- Plus some corrections/optimizations in said files
- August 2, 2024: 2 Files Changed
- Move Prophecy/Pokedex player select effects to engine/duel/effect_functions2.asm
- August 2, 2024: 5 Files Changed
- Move several functions from engine/duel/core.asm to engine/duel/effect_functions.asm
- Label numerous functions in engine/duel/core.asm and engine/duel/effect_functions.asm
- August 2, 2024: 3 Files Changed
- Move a few functions from banks 0/1 to bank 6 (engine/link/link_duel.asm)
- August 1, 2024: 2 Files Changed
- Restructure TossCoin functions in home/coin_toss.asm
- Eliminate a redundant call in home/print_text.asm
- August 1, 2024: 2 Files Changed
- Try to standardize the function comments that are used in engine/duel/core.asm
- Plus some corrections/optimizations/shuffling of functions in said file
- July 30, 2024: 3 Files Changed
- Try to standardize the function comments that are used in the engine/duel/animations files
- Plus some corrections/optimizations/shuffling of functions in said files
- July 25, 2024: 2 Files Changed
- Delete the
BankswitchVRAM
function and replace every bank20call BankswitchVRAM
andjp BankswitchVRAM
with the inlined code
- Delete the
- July 24, 2024: 9 Files Changed
- Eliminate some redundant stack pushes and pops (mostly in ai files)
- July 24, 2024: 2 Files Changed
- Eliminate some redundant code in home/duel.asm and home/serial.asm
- Revise a lot of function comments in home/duel.asm
- July 23, 2024: 1 File Changed
- Restructure home/math.asm
- July 21, 2024: 3 Files Changed
- Try to standardize the function comments that are used in the effect functions files
- Plus some corrections/optimizations/shuffling of functions in said files
- July 14, 2024: 1 File Changed
- Add some more comments to home/substatus.asm
- June 26, 2024: 9 Files Changed
- Remove some now unreferenced material and put it where it belongs (in debug files)
- June 26, 2024: 17 Files Changed
- Try to standardize the function comments that are used in the engine/menus files
- Plus some corrections/optimizations/shuffling of functions in said files
- June 24, 2024: 6 Files Changed
- Try to standardize the function comments that are used in the engine/overworld files
- Also perform many small optimizations in the engine/overworld files
- June 22, 2024: 19 Files Changed
- Delete
Func_7415
,SetNoLineSeparation
, andSetOneLineSeparation
from engine/duel.core.asm, replacing any calls with the 2 lines of code from the deleted function - Move
Func_61a1
to engine/duel/effect_functions.asm - Move
ZeroObjectPositionsAndToggleOAMCopy
to home/objects.asm - Move
WaitAttackAnimation
to home/duel.asm - Move
SetCardListHeader
andSetCardListInfoBoxText
to home/menus.asm
- Delete
- June 22, 2024: 9 Files Changed
- Add comments related to setting the carry flag for a variety of home bank functions
- Perform minor optimizations in home/duel.asm related to setting the carry flag
- June 21, 2024: 3 Files Changed
- Try to standardize the function comments that are used in engine/bank20.asm and the engine/sequences files
- Remove some unnecessary code from the aforementioned files
- June 20, 2024: 3 Files Changed
- Move debug.asm from engine/menus and debug_player_coordinates.asm from engine/overworld to engine/unused
- June 20, 2024: 4 Files Changed
- Try to standardize the function comments that are used in the engine/gfx files
- Remove several unnecessary stack pushes and pops in engine/gfx/sprite_animations.asm
- June 19, 2024: 7 Files Changed (Plus 5 Files Relocated)
- Comment out a few more unreferenced functions in the home bank
- Move debug_sprites, unused_copyright.asm, and unused_save_validation.asm from engine to engine/unused
- Move debug_main.asm and unknown.asm from engine/menus to engine/unused
- June 19, 2024: 1 File Changed
- Delete
JPWriteByteToBGMap0
and add a slight optimization forPrintDuelResultStats
- Delete
- June 18, 2024: 6 Files Changed
- Delete
ResetDoFrameFunction
functions, and replace each call with the requisite lines of code
- Delete
- June 18, 2024: 21 Files Changed (4 of these were removed from the repository)
- Shuffle some functions in the home bank for better organization
- Delete the redundant
JPHblankCopyDataHLtoDE
function - Add a missing colon to fix a build error from the commit below this one
- June 18, 2024: 5 Files Changed
- Shuffle some functions in the home bank that are related to printing numbers (and use more accurate labels)
- June 17, 2024: 3 Files Changed
- Reorganize the functions in home/substatus.asm
- June 17, 2024: 51 Files Changed
- Try to standardize the function comments that are used in the home bank files
- Also eliminate some redundant code and swap out a few more
ld
instructions withldh
- Further adjustments made in This Commit
- June 9, 2024: 6 Files Changed
- Remove some unnecessary uses of
farcall
(instead ofcall
) andld [hff__], a
(instead ofldh [hff__]
)
- Remove some unnecessary uses of
- June 8, 2024: 1 File Changed
- Revise/add code comments and perform minor code optimizations in engine/save.asm
- June 8, 2024: 1 File Changed
- Revise/add code comments and perform minor code optimizations in engine/overworld_map.asm
- June 6, 2024: 40 Files Changed
- Eliminate most tail calls in the non-ai engine files (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
) - Rearrange some functions in the non-ai engine files to replace some uses of
jp
withjr
or a fallthrough
- Eliminate most tail calls in the non-ai engine files (replacing a
- June 3, 2024: 22 Files Changed
- Rearrange some functions in the home bank to replace some uses of
jp
withjr
or a fallthrough - Eliminate remaining home bank tail calls (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
)- Intentially ignored
BankpopROM
tail calls (that function can't be jumped to)
- Intentially ignored
- Rearrange some functions in the home bank to replace some uses of
- May 29, 2024: 35 Files Changed
- Refactor code to minimize use of unconditional
jr
instructions - Other minor optimizations, most of which involve jumps
- Refactor code to minimize use of unconditional
- May 27, 2024: 11 Files Changed
- Refactor a variety of code pertaining to the effect functions
- Fix numerous errors in the effect functions code
- Replace some hexadecimal numbers with the appropriate icon tile offset constants
- Miscellaneous Text Changes
- May 17, 2024: 3 Files Changed
- Review most of the code comments in the effect functions files
- Replace many uses of
jp
withjr
and fallthroughs, moving functions as necessary - Refactor several effect functions
- May 10, 2024: 2 Files Changed
- Refactor some code in src/engine/duel/effect_functions2.asm
- May 10, 2024: 2 Files Changed
- Refactor some code in src/engine/duel/effect_functions.asm
- May 8, 2024: 36 Files Changed
- Remove some redundant code
- Use
jr
instead ofjp
for numerous shorter jumps - Replace some conditional jumps to returns with conditional returns (e.g.
ret z
instead ofjr z, .done
) - Refactor some code in src/engine/duel/effect_functions.asm and effect_functions2.asm
- Removed references to Sand Attack substatus (since it was merged with Smokescreen substatus)
- The changes to AIDecide_GustOfWind crash the game (Link to Bug Fix)
- May 7, 2024: 9 Files Changed
- Remove some redundant code
- May 6, 2024: 9 Files Changed (1 is Bug Fix)
- Eliminate some home bank tail calls (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
) - Replace some conditional jumps to returns with conditional returns (e.g.
ret z
instead ofjr z, .done
) - Remove some redundant code
- Refactor some code in src/engine/duel/effect_functions.asm
- Add a couple of division functions to src/home/math.asm
- Eliminate some home bank tail calls (replacing a
- May 4, 2024: 7 Files Changed
- Combine various subroutines related to setting or resetting the carry flag for Effect Functions and AI Logic banks
- May 4, 2024: 52 Files Changed
- Comment out most unreferenced functions and move them to a section at the end of each file
- Unlink debug_main.asm, debug_sprites.asm, unknown.asm, unused_copyright.asm, and unused_save_validation.asm from src/main.asm and src/layout.link
- Remove some redundant lines of code
- Replace some conditional jumps to returns with conditional returns (e.g.
ret z
instead ofjr z, .done
) - Replace various conditional jumps to set carry subroutines in the home bank with jumps to the ReturnCarry function
- May 4, 2024: 12 Files Changed
- Replace any mistaken bank1calls with calls
- Label several unlabeled functions in src/engine/duel/core.asm and effect_functions.asm
- April 30, 2024: 26 Files Changed
- Comment out many unreferenced functions in the home bank
- Remove src/home/ai.asm and src/home/damage.asm and unlink them from src/home.asm
- Transfer some functions out of the home banks
- Eliminate some same bank tail calls (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
) - Replace some mistaken uses of
farcalls
andbank1call
withcall
- Relocating some of the home bank functions led to some crashes (Reversion #1, Reversion #2, Reversion #3)
- April 29, 2024: 14 Files Changed
- Remove some redundant lines of code
- Eliminate some same bank tail calls (replacing a
call
and subsequentret
with a fallthrough/jr
/jp
) - Replace some conditional jumps to returns with conditional returns (e.g.
ret z
instead ofjr z, .done
)
- April 15, 2024: 19 Files Changed (Half are Miscellaneous Changes)
- Massively condense Effect Commands and Effect Functions
- November 8, 2024: 5 Files Changed
- Increase minimum probability for a type when generating a booster pack card to 5% (1/160 -> 8/160), to encourage more variety
- Officially add Double Colorless Energy to the Mystery set and remove the code that allows any Energy card to be included in a booster, regardless of set
- Energy cards are still treated differently in the card album to ensure they appear at the end of the set list
- Optimize many of the functions in engine/booster_packs.asm
- Further changes were made to the card album Energy code in the following commit, to more easily adapt to possible changes to the card pool
- November 7, 2024: 12 Files Changed
- Update numerous aspects of the Card Album display (includes some changes to texts and ram, as well as editing the Fullwidth0 question mark)
- Also optimize various code and update some of the comments and labels in engine/menus/card_album.asm
- October 26, 2024: 7 Files Changed
- Change Unknown2 byte for Pokémon card data to PokemonFlags and update constants, card data, and AI logic accordingly
- October 23, 2024: 6 Files Changed
- Update various attack data, AI logic, and constants relating to the attack flags that are stored in card data
- September 10, 2024: 2 Files Changed (1 was deleted)
- Remove remaining rom comparison references in
Makefile
and deleterom.sha1
- Remove remaining rom comparison references in
- September 9, 2024: 128 Files Deleted
- Remove the .match files for the map graphics data
- August 27, 2024: 4 Files Changed
- Update the palettes and icons for Ronald's and the Player's duelist portraits (most changes were taken from the sequel's portraits)
- Identify palettes that are used for all of the duelist portraits
- August 15, 2024: 3 Files Changed
- Make the phantom cards (Venusaur Lv64 and Mew Lv15) obtainable without using Card Pop! by adding them to the list of possible Challenge Cup prizes
- August 12, 2024: 6 Files Changed
- Pokedex numbers now use 2 bytes to support Pokemon from all generations
- Although, the printing function will have to be edited if it exceeds 3 digits (1,000+)
- August 3, 2024: 1 File Changed
- Use Electro's tutorial to remove the artificial delay applied to many of the AI's actions
- June 13, 2024: 1 File Changed
- Make the default player name (Mark) mixed case and have it be displayed with halfwidth font tiles to match the rest of the game's text
- June 9, 2024: 1 File Changed (technically 2 since I renamed the original sprite)
- Use JappaWakka's updated Double Colorless Energy sprite (with 2 Energy symbols)
- June 7, 2024: 17 Files Changed
- Revise various texts and combine some texts that are identical
- June 5, 2024: 10 Files Changed
- Make small adjustments to the menu screens related to deck selection
- Replace hand_cards icon with a deck_box icon I made (used to represent the active deck)
- Also add a deck icon next to the other completed decks on the deck selection screens
- Revise/add code comments and perform minor code optimizations in both engine/menus/deck_configuration.asm and engine/menus/deck/selection.asm
- Replace all uses of
ld a, [hff__]
in the repository withldh a, [hff__]
- Alter the number fonts stored in gfx/fonts/full_width?/0_2_digits_kanji1.png
- June 2, 2024: 16 Files Changed
- Update the Glossary (both the overall display and the actual text information)
- Increase the size of the font tile section in vram when viewing the Glossary from a duel
- Create many new fullwidth and halfwidth font characters, plus 2 new text box symbols
- Move a lot of texts from text3.asm to text2.asm (Needed more space for Glossary)
- Move a lot of texts from text2.asm to text1.asm
- Make some minor adjustments to several of the title menu texts in text3.asm
- The newly added
DrawTextBoxSeparator
function was later fixed in This Commit.
- May 30, 2024: 1 File Changed
- Attempt to identify all unused wram bytes (total is around 2 kilobytes)
- Edit some of the existing comments in wram.asm and create some new ones as well
- May 21, 2024: 22 Files Changed
- Fix minor typos and remove end of line spaces in the text files
- Adjust texts to better fit the 2 line display used by the text boxes
- Rewrite some of the larger texts, like glossary pages and tutorial messages
- Use spaces to center most of the Trainer and Energy card descriptions
- May 15, 2024: 1 File Changed
- Decrease the wait time during the overworld section of the game's intro
- May 15, 2024: 2 Files Changed
- Give Text Offsets its own bank (instead of sharing one with Text 1)
- Text pointers were later adjusted in This Commit
- May 12, 2024: 4 Files Changed
- Add text speed constants and increase the default text speed to the fastest setting
- May 11, 2024: 1 File Changed
- Adjust scroll arrows in the card album (no longer on top of the border)
- May 10, 2024: 8 Files Changed
- Replace the "No" text symbol with a fullwidth "#" and display leading zeroes in Pokédex numbers
- May 8, 2024: 13 Files Changed
- Remove dead space (ds $--) in the GFX and Text banks
- May 6, 2024: 1 File Changed
- Change the name of the rom file produced by this repository from "poketcg.gbc" to "poketcg_v2.gbc"
- April 26, 2024: 1 File Changed
- Align the list numbers in the top right of the card list header
- April 16, 2024: 3 Files Changed
- Update fullwidth and halfwidth font graphics and some of the box messages
- Further Adjustments to box_messages.png in This Commit
- April 16, 2024: 1 File Changed
- Replace the word "Hand" with the hand icon from the duel graphics in the play area screens
- April 15, 2024: 19 Files Changed (Half are Code Optimization)
- Remove rom matching comparison
- Split "Decks" and "Cards" into 2 banks
- Add another Text bank, which uses the newly created text14.asm
- Add another Effect Functions bank, which uses the newly created effect_functions2.asm
- Update a wide variety of duel texts
- November 5, 2024: 12 Files Changed
- Implement new booster pack card list display that informs the player which cards from the booster pack are newly obtained (using a red ! symbol)
- Most of the edited functions from engine/duel/core.asm were originally located in home/menus.asm
- Separate BoosterPackText into 2 texts: 1 for the card album's table of contents and another for the booster pack card list header
- Implement new booster pack card list display that informs the player which cards from the booster pack are newly obtained (using a red ! symbol)
- August 22, 2024: 22 Files Changed
- Use Electro's tutorial to add the option to play as Mint, the female protagonist from the sequel
- June 1, 2024: 2 Files Changed
- Display lowercase halfwidth font characters
- Increase size of half_width.png to account for future additions
- May 15, 2024: 5 Files Changed
- Add support for common accented characters (halfwidth and fullwidth)
- Expand the halfwidth font graphics (at the cost of some kanji)
- This commit caused a major text display glitch (Link to Bug Fix)
- May 14, 2024: 3 Files Changed
- The practice game with Sam at the start of the game is now optional
- May 10, 2024: 1 File Changed
- Add a scroll arrow to a Trainer or Pokémon attack card page when the description is continued on another page (credit to Oats)
- April 16, 2024: 4 Files Changed
- Display the Promostar symbol on card pages
- April 15, 2024: 1 File Changed
- Replace damage counter display with "current HP/max HP"
- The maximum HP value of a Pokémon is now 250 (was 120)
- Reference the engine/duel/core.asm from the current version of poketcg_v2 if attempting to copy this change to another repository (some optimizations were made)
- April 15, 2024: 1 File Changed
- Cards can now have Weakness or Resistance to Colorless (Use WR_COLORLESS)
- October 21, 2024: 1 File Changed
- Fix an oversight (merging 2 jumps when one of them was conditional) with the new
_AIProcessHandTrainerCards
code - Ended up making another oversight (missing
pop hl
) that was addressed in This Commit - These are bug fixes for This Commit
- Fix an oversight (merging 2 jumps when one of them was conditional) with the new
- September 11, 2024: 3 Files Changed
- Make
DrawTextBoxSeparator
function SGB-compatible (it no longer crashes the game) - This is a bug fix for This Commit
- Make
- August 18, 2024: 1 File Changed
- Revert the textpointers because it screws up the printing of some empty texts (plus everything works fine without making any adjustments)
- This completely undoes This Commit
- August 2, 2024: 1 File Changed
- Change a conditional return to a conditional jump to avoid missing a couple of pops
- This is a bug fix for This Commit
- June 11, 2024: 1 File Changed
- Use
farcall
whenCheckIfCanEvolveInto_BasicToStage2
is accessed by the AI Logic 2 bank - This is a bug fix for This Commit
- Use
- May 27, 2024: 1 File Changed
- Revert a change to
AIDecide_GustOfWind
that was causing the game to crash - This is a bug fix for This Commit
- Revert a change to
- May 24, 2024: 5 Files Changed
- Put a few more functions back in the home bank
- At least the booster pack one was causing a crash
- This is a bug fix for This Commit
- May 23, 2024: 8 Files Changed
- Put all of the animation and palette data back in their original locations
- This completely undoes This Commit that sorted all of the animation and palette data in the proper banks
- May 22, 2024: 2 Files Changed
- Revert some text changes relating to duel texts
- This cancels out some of the changes from This Commit
- May 15, 2024: 1 File Changed
- Removed Fullwidth4 instead of 1 & 2 to fix the wrong characters being displayed
- This is a major bug fix for This Commit
- May 8, 2024: 2 Files Changed
- Put
Func_3bb5
back in the home bank - This is a possible bug fix for This Commit
- Put
- May 7, 2024: 4 Files Changed
- Put
AIDoAction
functions back in the home bank - This is a major bug fix for This Commit
- Put
- May 7, 2024: 4 Files Changed
- Revert some set carry flag optimizations in the AI Logic 1 bank
- This cancels out some of the changes from This Commit
- April 15, 2024: 8 Files Changed
- Fix some text display issues caused by the first commit
- This is a minor bug fix for This Commit
- August 16, 2024: Only Need to Change 1 File
- Instructions for giving the Player a full card collection (credit to Oats)
- May 14, 2024: Only Need to Change 1 File
- Instructions for skipping the mandatory practice duel with Sam
- This is less relevant now that the practice duel is optional