diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/events/magnet_train.asm | 67 | ||||
-rw-r--r-- | engine/link/link.asm | 56 | ||||
-rw-r--r-- | engine/link/mystery_gift.asm | 6 | ||||
-rw-r--r-- | engine/overworld/scripting.asm | 6 | ||||
-rw-r--r-- | engine/printer/printer.asm | 18 | ||||
-rw-r--r-- | engine/printer/printer_serial.asm | 8 |
6 files changed, 82 insertions, 79 deletions
diff --git a/engine/events/magnet_train.asm b/engine/events/magnet_train.asm index 1a037ef41..fa6f6da60 100644 --- a/engine/events/magnet_train.asm +++ b/engine/events/magnet_train.asm @@ -3,14 +3,14 @@ MagnetTrain: and a jr nz, .ToGoldenrod ld a, 1 ; forwards - lb bc, $40, $60 - lb de, (11 * 8) - (11 * 8 + 4), -$60 + lb bc, 8 * TILE_WIDTH, 12 * TILE_WIDTH + lb de, (11 * TILE_WIDTH) - (11 * TILE_WIDTH + 4), -12 * TILE_WIDTH jr .continue .ToGoldenrod: ld a, -1 ; backwards - lb bc, -$40, -$60 - lb de, (11 * 8) + (11 * 8 + 4), $60 + lb bc, -8 * TILE_WIDTH, -12 * TILE_WIDTH + lb de, (11 * TILE_WIDTH) + (11 * TILE_WIDTH + 4), 12 * TILE_WIDTH .continue ld h, a @@ -34,11 +34,11 @@ MagnetTrain: push af ldh a, [hSCY] push af - call MagntTrain_LoadGFX_PlayMusic + call MagnetTrain_LoadGFX_PlayMusic ld hl, hVBlank ld a, [hl] push af - ld [hl], $1 + ld [hl], 1 .loop ld a, [wJumptableIndex] and a @@ -84,18 +84,19 @@ MagnetTrain: MagnetTrain_UpdateLYOverrides: ld hl, wLYOverridesBackup - ld c, $2f + ld c, 6 * TILE_WIDTH - 1 ld a, [wMagnetTrainOffset] add a ldh [hSCX], a call .loadloop - ld c, $30 + ld c, 6 * TILE_WIDTH ld a, [wMagnetTrainPosition] call .loadloop - ld c, $31 + ld c, 6 * TILE_WIDTH + 1 ld a, [wMagnetTrainOffset] add a call .loadloop + ld a, [wMagnetTrainDirection] ld d, a ld hl, wMagnetTrainOffset @@ -111,20 +112,22 @@ MagnetTrain_UpdateLYOverrides: jr nz, .loadloop ret -MagntTrain_LoadGFX_PlayMusic: +MagnetTrain_LoadGFX_PlayMusic: call ClearBGPalettes call ClearSprites call DisableLCD callfar ClearSpriteAnims call SetMagnetTrainPals call DrawMagnetTrain - ld a, $90 + ld a, SCREEN_HEIGHT_PX ldh [hWY], a call EnableLCD xor a ldh [hBGMapMode], a ldh [hSCX], a ldh [hSCY], a + + ; Load the player sprite ldh a, [rSVBK] push af ld a, BANK(wPlayerGender) @@ -135,6 +138,8 @@ MagntTrain_LoadGFX_PlayMusic: ld hl, vTiles0 ld c, 4 call Request2bpp + + ; Load the trainer walking frame ld hl, 12 tiles add hl, de ld d, h @@ -142,7 +147,9 @@ MagntTrain_LoadGFX_PlayMusic: ld hl, vTiles0 tile $04 ld c, 4 call Request2bpp + call MagnetTrain_InitLYOverrides + ld hl, wJumptableIndex xor a ld [hli], a ; wJumptableIndex @@ -150,6 +157,7 @@ MagntTrain_LoadGFX_PlayMusic: ld [hli], a ; wMagnetTrainOffset ld [hli], a ; wMagnetTrainPosition ld [hli], a ; wMagnetTrainWaitCounter + ld de, MUSIC_MAGNET_TRAIN call PlayMusic2 ret @@ -159,25 +167,26 @@ DrawMagnetTrain: xor a .loop call GetMagnetTrainBGTiles - ld b, 32 / 2 + ld b, BG_MAP_WIDTH / 2 call .FillAlt inc a - cp $12 + cp SCREEN_HEIGHT jr c, .loop + hlbgcoord 0, 6 - ld de, MagnetTrainTilemap1 + ld de, MagnetTrainTilemap ld c, 20 call .FillLine hlbgcoord 0, 7 - ld de, MagnetTrainTilemap2 + ld de, MagnetTrainTilemap + 20 ld c, 20 call .FillLine hlbgcoord 0, 8 - ld de, MagnetTrainTilemap3 + ld de, MagnetTrainTilemap + (20 * 2) ld c, 20 call .FillLine hlbgcoord 0, 9 - ld de, MagnetTrainTilemap4 + ld de, MagnetTrainTilemap + (20 * 3) ld c, 20 call .FillLine ret @@ -247,7 +256,7 @@ MagnetTrain_InitLYOverrides: ret SetMagnetTrainPals: - ld a, $1 + ld a, 1 ldh [rVBK], a ; bushes @@ -274,7 +283,7 @@ SetMagnetTrainPals: ld a, PAL_BG_YELLOW call ByteFill - ld a, $0 + ld a, 0 ldh [rVBK], a ret @@ -305,7 +314,7 @@ MagnetTrain_Jumptable: ret .InitPlayerSpriteAnim: - ld d, 10 * 8 + 5 + ld d, (8 + 2) * TILE_WIDTH + 5 ld a, [wMagnetTrainPlayerSpriteInitX] ld e, a ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED @@ -317,7 +326,6 @@ MagnetTrain_Jumptable: bit PLAYERGENDER_FEMALE_F, a jr z, .got_gender ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE - .got_gender pop af ldh [rSVBK], a @@ -325,9 +333,9 @@ MagnetTrain_Jumptable: call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc - ld [hl], $0 + ld [hl], 0 call .Next - ld a, $80 + ld a, 128 ld [wMagnetTrainWaitCounter], a ret @@ -350,7 +358,7 @@ MagnetTrain_Jumptable: .PrepareToHoldTrain: call .Next - ld a, $80 + ld a, 128 ld [wMagnetTrainWaitCounter], a ret @@ -408,6 +416,7 @@ MagnetTrain_Jumptable_FirstRunThrough: call MagnetTrain_UpdateLYOverrides call PushLYOverrides call DelayFrame + ldh a, [rSVBK] push af ld a, BANK(wEnvironment) @@ -416,20 +425,23 @@ MagnetTrain_Jumptable_FirstRunThrough: push af ld a, [wEnvironment] push af + ld a, [wTimeOfDay] maskbits NUM_DAYTIMES ld [wTimeOfDayPal], a - ld a, $1 + ld a, TOWN ld [wEnvironment], a ld b, SCGB_MAPPALS call GetSGBLayout call UpdateTimePals + ldh a, [rBGP] ld [wBGP], a ldh a, [rOBP0] ld [wOBP0], a ldh a, [rOBP1] ld [wOBP1], a + pop af ld [wEnvironment], a pop af @@ -438,11 +450,8 @@ MagnetTrain_Jumptable_FirstRunThrough: ldh [rSVBK], a ret -MagnetTrainTilemap1: +MagnetTrainTilemap: db $1f, $05, $06, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0b, $0c, $1f -MagnetTrainTilemap2: db $14, $15, $16, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1b, $1c, $1d -MagnetTrainTilemap3: db $24, $25, $26, $27, $07, $2f, $29, $28, $28, $28, $28, $28, $28, $29, $07, $2f, $2a, $2b, $2c, $2d -MagnetTrainTilemap4: db $20, $1f, $2e, $1f, $17, $00, $2e, $1f, $1f, $1f, $1f, $1f, $1f, $2e, $17, $00, $1f, $2e, $1f, $0f diff --git a/engine/link/link.asm b/engine/link/link.asm index 3550c2b20..9cb29801c 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -50,17 +50,17 @@ Gen2ToGen1LinkComms: call DelayFrames xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .player_1 @@ -70,7 +70,7 @@ Gen2ToGen1LinkComms: call DelayFrames xor a ldh [rIF], a - ld a, $8 + ld a, 1 << SERIAL ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies @@ -90,7 +90,7 @@ Gen2ToGen1LinkComms: call Serial_ExchangeBytes xor a ldh [rIF], a - ld a, $1d + ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a call Link_CopyRandomNumbers ld hl, wOTPlayerName @@ -194,17 +194,17 @@ Gen2ToGen2LinkComms: call DelayFrames xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame xor a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .Player1: @@ -214,7 +214,7 @@ Gen2ToGen2LinkComms: call DelayFrames xor a ldh [rIF], a - ld a, $8 + ld a, 1 << SERIAL ldh [rIE], a ld hl, wd1f3 ld de, wEnemyMonSpecies @@ -243,7 +243,7 @@ Gen2ToGen2LinkComms: .not_trading xor a ldh [rIF], a - ld a, $1d + ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a ld de, MUSIC_NONE call PlayMusic @@ -447,7 +447,7 @@ Gen2ToGen2LinkComms: xor a ldh [rIF], a ldh a, [rIE] - set 1, a + set LCD_STAT, a ldh [rIE], a pop af ldh [rIF], a @@ -1558,9 +1558,9 @@ Function28b22: xor a ldh [rSB], a ldh [hSerialSend], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret @@ -2104,18 +2104,18 @@ WaitForOtherPlayerToExit: xor a ldh [rSB], a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ld c, 3 call DelayFrames xor a ldh [rSB], a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a ld c, 3 call DelayFrames @@ -2131,7 +2131,7 @@ WaitForOtherPlayerToExit: push af xor a ldh [rIF], a - ld a, $f + ld a, IE_DEFAULT ldh [rIE], a pop af ldh [rIF], a @@ -2160,9 +2160,9 @@ SetBitsForTimeCapsuleRequest: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a xor a ; LINK_TIMECAPSULE - 1 ld [wPlayerLinkAction], a @@ -2177,9 +2177,9 @@ WaitForLinkedFriend: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a call DelayFrame call DelayFrame @@ -2202,9 +2202,9 @@ WaitForLinkedFriend: ldh [rSB], a xor a ldh [hSerialReceive], a - ld a, (0 << rSC_ON) | 0 + ld a, (0 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 0 + ld a, (1 << rSC_ON) | (0 << rSC_CLOCK) ldh [rSC], a ld a, [wLinkTimeoutFrames] dec a @@ -2218,9 +2218,9 @@ WaitForLinkedFriend: .not_done ld a, $1 ldh [rSB], a - ld a, (0 << rSC_ON) | 1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, (1 << rSC_ON) | 1 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a call DelayFrame jr .loop diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm index 840853a87..041127abe 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -434,7 +434,7 @@ Function104bd0: xor a ldh [rIF], a ldh a, [rIE] - or $1 + or 1 << VBLANK ldh [rIE], a ei call DelayFrame @@ -559,7 +559,7 @@ Function104d1c: xor a ldh [rIF], a ldh a, [rIE] - or $1 + or 1 << VBLANK ldh [rIE], a ei call DelayFrame @@ -600,7 +600,7 @@ Function104d56: Function104d5e: call Function104d74 - ld a, $4 + ld a, 1 << TIMER ldh [rIE], a xor a ldh [rIF], a diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index ee6e15b51..7496b82bd 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -145,9 +145,7 @@ ScriptCommandTable: dw Script_loadmenu ; 4f dw Script_closewindow ; 50 dw Script_jumptextfaceplayer ; 51 -if _CRYSTAL dw Script_farjumptext ; 52 -endc dw Script_jumptext ; 53 dw Script_waitbutton ; 54 dw Script_buttonsound ; 55 @@ -330,8 +328,6 @@ JumpTextScript: closetext end -if _CRYSTAL - Script_farjumptext: ; script command 0x52 ; parameters: text_pointer @@ -346,8 +342,6 @@ Script_farjumptext: ld hl, JumpTextScript jp ScriptJump -endc - Script_writetext: ; script command 0x4c ; parameters: text_pointer diff --git a/engine/printer/printer.asm b/engine/printer/printer.asm index 93945113c..588699863 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -56,7 +56,7 @@ PrintDexEntry: push af xor a ldh [rIF], a - ld a, $9 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a call Printer_StartTransmission @@ -140,13 +140,13 @@ PrintPCBox: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank ld a, [hl] push af - ld [hl], %0100 + ld [hl], 4 xor a ldh [hBGMapMode], a @@ -219,7 +219,7 @@ PrintUnownStamp: push af xor a ldh [rIF], a - ld a, $9 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank ld a, [hl] @@ -284,7 +284,7 @@ PrintMail: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a xor a @@ -326,7 +326,7 @@ PrintPartymon: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a xor a @@ -390,7 +390,7 @@ _PrintDiploma: push af xor a ldh [rIF], a - ld a, %1001 + ld a, (1 << SERIAL) | (1 << VBLANK) ldh [rIE], a ld hl, hVBlank @@ -458,9 +458,9 @@ CheckCancelPrint: ld [wPrinterOpcode], a ld a, $88 ldh [rSB], a - ld a, $1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a .loop2 ld a, [wPrinterOpcode] diff --git a/engine/printer/printer_serial.asm b/engine/printer/printer_serial.asm index 154cc2fd4..e8cec0345 100644 --- a/engine/printer/printer_serial.asm +++ b/engine/printer/printer_serial.asm @@ -279,9 +279,9 @@ Printer_WaitHandshake: ld [wPrinterOpcode], a ld a, $88 ldh [rSB], a - ld a, $1 + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret @@ -622,9 +622,9 @@ Printer_Send0x08: Printer_SerialSend: ldh [rSB], a - ld a, $1 ; switch to internal clock + ld a, (0 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a - ld a, $81 ; start transfer + ld a, (1 << rSC_ON) | (1 << rSC_CLOCK) ldh [rSC], a ret |