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 | 
