diff options
Diffstat (limited to 'engine/trade.asm')
-rwxr-xr-x | engine/trade.asm | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/engine/trade.asm b/engine/trade.asm index 78444cf6..bbd43779 100755 --- a/engine/trade.asm +++ b/engine/trade.asm @@ -20,12 +20,13 @@ ExternalClockTradeAnim: TradeAnimCommon: ld a, [wOptions] push af + and %110000 ; preserve speaker options + ld [wOptions], a ld a, [hSCY] push af ld a, [hSCX] push af xor a - ld [wOptions], a ld [hSCY], a ld [hSCX], a push de @@ -160,12 +161,12 @@ LoadTradingGFXAndMonNames: ld de, vChars2 + $310 ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics ld a, BANK(TradingAnimationGraphics) - call FarCopyData2 + call FarCopyData ld hl, TradingAnimationGraphics2 ld de, vSprites + $7c0 ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2 ld a, BANK(TradingAnimationGraphics2) - call FarCopyData2 + call FarCopyData ld hl, vBGMap0 ld bc, $800 ld a, " " @@ -182,6 +183,7 @@ LoadTradingGFXAndMonNames: ld a, $f0 ; SGB OBP0 .next ld [rOBP0], a + call UpdateGBCPal_OBP0 call EnableLCD xor a ld [H_AUTOBGTRANSFERENABLED], a @@ -199,6 +201,7 @@ LoadTradingGFXAndMonNames: Trade_LoadMonPartySpriteGfx: ld a, %11010000 ld [rOBP1], a + call UpdateGBCPal_OBP1 jpba LoadMonPartySpriteGfx Trade_SwapNames: @@ -233,8 +236,7 @@ Trade_ShowPlayerMon: xor a ld [H_AUTOBGTRANSFERENABLED], a coord hl, 4, 0 - ld b, 6 - ld c, 10 + lb bc, 6, 10 call TextBoxBorder call Trade_PrintPlayerMonInfoText ld b, vBGMap0 / $100 @@ -251,7 +253,7 @@ Trade_ShowPlayerMon: ld [hSCX], a dec a dec a - and a + and a ; useless since flags are updated with dec a jr nz, .slideScreenLoop call Trade_Delay80 ld a, TRADE_BALL_POOF_ANIM @@ -303,9 +305,10 @@ Trade_AnimateBallEnteringLinkCable: call DelayFrames ld a, %11100100 ld [rOBP0], a + call UpdateGBCPal_OBP0 xor a ld [wLinkCableAnimBulgeToggle], a - ld bc, $2060 + lb bc, $20, $60 .moveBallInsideLinkCableLoop push bc xor a @@ -354,8 +357,7 @@ Trade_ShowEnemyMon: call Trade_ShowAnimation call Trade_ShowClearedWindow coord hl, 4, 10 - ld b, 6 - ld c, 10 + lb bc, 6, 10 call TextBoxBorder call Trade_PrintEnemyMonInfoText call Trade_CopyTileMapToVRAM @@ -380,8 +382,9 @@ Trade_AnimLeftToRight: call Trade_InitGameboyTransferGfx ld a, $1 ld [wTradedMonMovingRight], a - ld a, $e4 + ld a, %11100100 ld [rOBP0], a + call UpdateGBCPal_OBP0 ld a, $54 ld [wBaseCoordX], a ld a, $1c @@ -446,6 +449,8 @@ Trade_InitGameboyTransferGfx: ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a call ClearScreen + ld b, SET_PAL_GENERIC + call RunPaletteCommand xor a ld [H_AUTOBGTRANSFERENABLED], a call Trade_LoadMonPartySpriteGfx @@ -466,7 +471,7 @@ Trade_DrawLeftGameboy: ld a, $5d ld [hli], a ld a, $5e - ld c, $8 + ld c, 8 .loop ld [hli], a dec c @@ -479,8 +484,7 @@ Trade_DrawLeftGameboy: ; draw text box with player name below gameboy pic coord hl, 4, 12 - ld b, 2 - ld c, 7 + lb bc, 2, 7 call TextBoxBorder coord hl, 5, 14 ld de, wPlayerName @@ -526,8 +530,7 @@ Trade_DrawRightGameboy: ; draw text box with enemy name above link cable coord hl, 6, 0 - ld b, $2 - ld c, $7 + lb bc, 2, 7 call TextBoxBorder coord hl, 7, 2 ld de, wLinkEnemyTrainerName @@ -599,6 +602,7 @@ Trade_AnimCircledMon: ld a, [rBGP] xor $3c ; make link cable flash ld [rBGP], a + call UpdateGBCPal_BGP ld hl, wOAMBuffer + $02 ld de, $4 ld c, $14 @@ -620,7 +624,7 @@ Trade_WriteCircledMonOAM: Trade_AddOffsetsToOAMCoords: ld hl, wOAMBuffer - ld c, $14 + ld c, $14 ; SCREEN_WIDTH? .loop ld a, [wBaseCoordY] add [hl] |