ref: 772fcc7588a4e1fbe146a02b429cf64282c81dcb
dir: /engine/movie/oak_speech/oak_speech.asm/
SetDefaultNames: ld a, [wLetterPrintingDelayFlags] push af ld a, [wOptions] push af ld a, [wd732] push af ld hl, wPlayerName ld bc, wBoxDataEnd - wPlayerName xor a call FillMemory ld hl, wSpriteDataStart ld bc, wSpriteDataEnd - wSpriteDataStart xor a call FillMemory pop af ld [wd732], a pop af ld [wOptions], a pop af ld [wLetterPrintingDelayFlags], a ld a, [wOptionsInitialized] and a call z, InitOptions ld hl, NintenText ld de, wPlayerName ld bc, NAME_LENGTH call CopyData ld hl, SonyText ld de, wRivalName ld bc, NAME_LENGTH jp CopyData OakSpeech: ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, BANK(Music_Routes2) ld c, a ld a, MUSIC_ROUTES2 call PlayMusic call ClearScreen call LoadTextBoxTilePatterns call SetDefaultNames predef InitPlayerData2 ld hl, wNumBoxItems ld a, POTION ld [wcf91], a ld a, 1 ld [wItemQuantity], a call AddItemToInventory ; give one potion ld a, [wDefaultMap] ld [wDestinationMap], a call SpecialWarpIn xor a ldh [hTilesetType], a ld a, [wd732] bit 1, a ; possibly a debug mode bit jp nz, .skipChoosingNames ld de, ProfOakPic lb bc, BANK(ProfOakPic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, OakSpeechText1 call PrintText call GBFadeOutToWhite call ClearScreen ld a, NIDORINO ld [wd0b5], a ld [wcf91], a call GetMonHeader coord hl, 6, 4 call LoadFlippedFrontSpriteByMonIndex call MovePicLeft ld hl, OakSpeechText2 call PrintText call GBFadeOutToWhite call ClearScreen ld de, RedPicFront lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl, IntroducePlayerText call PrintText call ChoosePlayerName call GBFadeOutToWhite call ClearScreen ld de, Rival1Pic lb bc, BANK(Rival1Pic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, IntroduceRivalText call PrintText call ChooseRivalName .skipChoosingNames call GBFadeOutToWhite call ClearScreen ld de, RedPicFront lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a, [wd72d] and a jr nz, .next ld hl, OakSpeechText3 call PrintText .next ldh a, [hLoadedROMBank] push af ld a, SFX_SHRINK call PlaySound pop af ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 4 call DelayFrames ld de, RedSprite ld hl, vSprites lb bc, BANK(RedSprite), $0C call CopyVideoData ld de, ShrinkPic1 lb bc, BANK(ShrinkPic1), $00 call IntroDisplayPicCenteredOrUpperRight ld c, 4 call DelayFrames ld de, ShrinkPic2 lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData ldh a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, 10 ld [wAudioFadeOutControl], a ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound pop af ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 20 call DelayFrames coord hl, 6, 5 ld b, 7 ld c, 7 call ClearScreenArea call LoadTextBoxTilePatterns ld a, 1 ld [wUpdateSpritesEnabled], a ld c, 50 call DelayFrames call GBFadeOutToWhite jp ClearScreen OakSpeechText1: text_far _OakSpeechText1 text_end OakSpeechText2: text_far _OakSpeechText2A sound_cry_nidorina text_far _OakSpeechText2B text_end IntroducePlayerText: text_far _IntroducePlayerText text_end IntroduceRivalText: text_far _IntroduceRivalText text_end OakSpeechText3: text_far _OakSpeechText3 text_end FadeInIntroPic: ld hl, IntroFadePalettes ld b, 6 .next ld a, [hli] ldh [rBGP], a ld c, 10 call DelayFrames dec b jr nz, .next ret IntroFadePalettes: db %01010100 db %10101000 db %11111100 db %11111000 db %11110100 db %11100100 MovePicLeft: ld a, 119 ldh [rWX], a call DelayFrame ld a, %11100100 ldh [rBGP], a .next call DelayFrame ldh a, [rWX] sub 8 cp $FF ret z ldh [rWX], a jr .next DisplayPicCenteredOrUpperRight: call GetPredefRegisters IntroDisplayPicCenteredOrUpperRight: ; b = bank ; de = address of compressed pic ; c: 0 = centred, non-zero = upper-right push bc ld a, b call UncompressSpriteFromDE ld hl, sSpriteBuffer1 ld de, sSpriteBuffer0 ld bc, $310 call CopyData ld de, vFrontPic call InterlaceMergeSpriteBuffers pop bc ld a, c and a coord hl, 15, 1 jr nz, .next coord hl, 6, 4 .next xor a ldh [hStartTileID], a predef_jump CopyUncompressedPicToTilemap