diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-02 23:30:21 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-07-02 23:30:21 -0400 |
commit | f275790aec4a796ed969b099364abfdf25385967 (patch) | |
tree | c56edfd01a61e9aa0e3c3ee8a046e66b5a1984e4 /engine/intro.asm | |
parent | 5559d51c863b6fb529ea0494d857950a36fe85b7 (diff) |
Add subdirectories to engine/ similar to pokecrystal
Diffstat (limited to 'engine/intro.asm')
-rwxr-xr-x | engine/intro.asm | 470 |
1 files changed, 0 insertions, 470 deletions
diff --git a/engine/intro.asm b/engine/intro.asm deleted file mode 100755 index 9a13c96f..00000000 --- a/engine/intro.asm +++ /dev/null @@ -1,470 +0,0 @@ -const_value = -1 - const MOVE_NIDORINO_RIGHT - const MOVE_GENGAR_RIGHT - const MOVE_GENGAR_LEFT - -ANIMATION_END EQU 80 - -const_value = 3 - const GENGAR_INTRO_TILES1 - const GENGAR_INTRO_TILES2 - const GENGAR_INTRO_TILES3 - -PlayIntro: - xor a - ld [hJoyHeld], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call PlayShootingStar - call PlayIntroScene - call GBFadeOutToWhite - xor a - ld [hSCX], a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearSprites - call DelayFrame - ret - -PlayIntroScene: - ld b, SET_PAL_NIDORINO_INTRO - call RunPaletteCommand - ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a - xor a - ld [hSCX], a - ld b, GENGAR_INTRO_TILES1 - call IntroCopyTiles - ld a, 0 - ld [wBaseCoordX], a - ld a, 80 - ld [wBaseCoordY], a - lb bc, 6, 6 - call InitIntroNidorinoOAM - lb de, 80 / 2, MOVE_NIDORINO_RIGHT - call IntroMoveMon - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - xor a - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation1 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation2 - call AnimateIntroNidorino - ld c, 10 - call CheckForUserInterruption - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - ld de, IntroNidorinoAnimation1 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation2 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - -; raise - ld b, GENGAR_INTRO_TILES2 - call IntroCopyTiles - ld a, SFX_INTRO_RAISE - call PlaySound - lb de, 8 / 2, MOVE_GENGAR_LEFT - call IntroMoveMon - ld c, 30 - call CheckForUserInterruption - ret c - -; slash - ld b, GENGAR_INTRO_TILES3 - call IntroCopyTiles - ld a, SFX_INTRO_CRASH - call PlaySound - lb de, 16 / 2, MOVE_GENGAR_RIGHT - call IntroMoveMon -; hip - ld a, SFX_INTRO_HIP - call PlaySound - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation3 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - - lb de, 8 / 2, MOVE_GENGAR_LEFT - call IntroMoveMon - ld b, GENGAR_INTRO_TILES1 - call IntroCopyTiles - ld c, 60 - call CheckForUserInterruption - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - xor a - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation4 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation5 - call AnimateIntroNidorino - ld c, 20 - call CheckForUserInterruption - ret c - - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation6 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - -; lunge - ld a, SFX_INTRO_LUNGE - call PlaySound - ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation7 - jp AnimateIntroNidorino - -AnimateIntroNidorino: - ld a, [de] - cp ANIMATION_END - ret z - ld [wBaseCoordY], a - inc de - ld a, [de] - ld [wBaseCoordX], a - push de - ld c, 6 * 6 - call UpdateIntroNidorinoOAM - ld c, 5 - call DelayFrames - pop de - inc de - jr AnimateIntroNidorino - -UpdateIntroNidorinoOAM: - ld hl, wOAMBuffer - ld a, [wIntroNidorinoBaseTile] - ld d, a -.loop - ld a, [wBaseCoordY] - add [hl] - ld [hli], a ; Y - ld a, [wBaseCoordX] - add [hl] - ld [hli], a ; X - ld a, d - ld [hli], a ; tile - inc hl - inc d - dec c - jr nz, .loop - ret - -InitIntroNidorinoOAM: - ld hl, wOAMBuffer - ld d, 0 -.loop - push bc - ld a, [wBaseCoordY] - ld e, a -.innerLoop - ld a, e - add 8 - ld e, a - ld [hli], a ; Y - ld a, [wBaseCoordX] - ld [hli], a ; X - ld a, d - ld [hli], a ; tile - ld a, OAM_BEHIND_BG - ld [hli], a ; attributes - inc d - dec c - jr nz, .innerLoop - ld a, [wBaseCoordX] - add 8 - ld [wBaseCoordX], a - pop bc - dec b - jr nz, .loop - ret - -IntroClearScreen: - ld hl, vBGMap1 - ld bc, BG_MAP_WIDTH * SCREEN_HEIGHT - jr IntroClearCommon - -IntroClearMiddleOfScreen: -; clear the area of the tile map between the black bars on the top and bottom - coord hl, 0, 4 - ld bc, SCREEN_WIDTH * 10 - -IntroClearCommon: - ld [hl], 0 - inc hl - dec bc - ld a, b - or c - jr nz, IntroClearCommon - ret - -IntroPlaceBlackTiles: - ld a, 1 -.loop - ld [hli], a - dec c - jr nz, .loop - ret - -IntroMoveMon: -; d = number of times to move the mon (2 pixels each time) - ld a, e - cp MOVE_NIDORINO_RIGHT - jr z, .moveNidorinoRight - cp MOVE_GENGAR_LEFT - jr z, .moveGengarLeft -; move Gengar right - ld a, [hSCX] - dec a - dec a - jr .next -.moveNidorinoRight - push de - ld a, 2 - ld [wBaseCoordX], a - xor a - ld [wBaseCoordY], a - ld c, 6 * 6 - call UpdateIntroNidorinoOAM - pop de -.moveGengarLeft - ld a, [hSCX] - inc a - inc a -.next - ld [hSCX], a - push de - ld c, 2 - call CheckForUserInterruption - pop de - ret c - dec d - jr nz, IntroMoveMon - ret - -IntroCopyTiles: - coord hl, 13, 7 - -CopyTileIDsFromList_ZeroBaseTileID: - ld c, 0 - predef_jump CopyTileIDsFromList - -PlayMoveSoundB: -; unused - predef GetMoveSoundB - ld a, b - jp PlaySound - -LoadIntroGraphics: - ld hl, FightIntroBackMon - ld de, vChars2 - ld bc, FightIntroBackMonEnd - FightIntroBackMon - ld a, BANK(FightIntroBackMon) - call FarCopyData2 - ld hl, GameFreakIntro - ld de, vChars2 + (FightIntroBackMonEnd - FightIntroBackMon) - ld bc, GameFreakIntroEnd - GameFreakIntro - ld a, BANK(GameFreakIntro) - call FarCopyData2 - ld hl, GameFreakIntro - ld de, vChars1 - ld bc, GameFreakIntroEnd - GameFreakIntro - ld a, BANK(GameFreakIntro) - call FarCopyData2 - ld hl, FightIntroFrontMon - ld de, vChars0 - ld bc, FightIntroFrontMonEnd - FightIntroFrontMon - ld a, BANK(FightIntroFrontMon) - jp FarCopyData2 - -PlayShootingStar: - ld b, SET_PAL_GAME_FREAK_INTRO - call RunPaletteCommand - callba LoadCopyrightAndTextBoxTiles - ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a - ld c, 180 - call DelayFrames - call ClearScreen - call DisableLCD - xor a - ld [wCurOpponent], a - call IntroDrawBlackBars - call LoadIntroGraphics - call EnableLCD - ld hl, rLCDC - res 5, [hl] - set 3, [hl] - ld c, 64 - call DelayFrames - callba AnimateShootingStar - push af - pop af - jr c, .next ; skip the delay if the user interrupted the animation - ld c, 40 - call DelayFrames -.next - ld a, BANK(Music_IntroBattle) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, MUSIC_INTRO_BATTLE - ld [wNewSoundID], a - call PlaySound - call IntroClearMiddleOfScreen - call ClearSprites - jp Delay3 - -IntroDrawBlackBars: -; clear the screen and draw black bars on the top and bottom - call IntroClearScreen - coord hl, 0, 0 - ld c, SCREEN_WIDTH * 4 - call IntroPlaceBlackTiles - coord hl, 0, 14 - ld c, SCREEN_WIDTH * 4 - call IntroPlaceBlackTiles - ld hl, vBGMap1 - ld c, BG_MAP_WIDTH * 4 - call IntroPlaceBlackTiles - ld hl, vBGMap1 + BG_MAP_WIDTH * 14 - ld c, BG_MAP_WIDTH * 4 - jp IntroPlaceBlackTiles - -EmptyFunc4: - ret - -IntroNidorinoAnimation0: - db 0, 0 - db ANIMATION_END - -IntroNidorinoAnimation1: -; This is a sequence of pixel movements for part of the Nidorino animation. This -; list describes how Nidorino should hop. -; First byte is y movement, second byte is x movement - db 0, 0 - db -2, 2 - db -1, 2 - db 1, 2 - db 2, 2 - db ANIMATION_END - -IntroNidorinoAnimation2: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -2, -2 - db -1, -2 - db 1, -2 - db 2, -2 - db ANIMATION_END - -IntroNidorinoAnimation3: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -12, 6 - db -8, 6 - db 8, 6 - db 12, 6 - db ANIMATION_END - -IntroNidorinoAnimation4: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -8, -4 - db -4, -4 - db 4, -4 - db 8, -4 - db ANIMATION_END - -IntroNidorinoAnimation5: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -8, 4 - db -4, 4 - db 4, 4 - db 8, 4 - db ANIMATION_END - -IntroNidorinoAnimation6: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db 2, 0 - db 2, 0 - db 0, 0 - db ANIMATION_END - -IntroNidorinoAnimation7: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db -8, -16 - db -7, -14 - db -6, -12 - db -4, -10 - db ANIMATION_END - -GameFreakIntro: - INCBIN "gfx/intro_credits/gamefreak_presents.2bpp" - INCBIN "gfx/intro_credits/gamefreak_logo.2bpp" - ds 16, $00 ; blank tile -GameFreakIntroEnd: - -FightIntroBackMon: - INCBIN "gfx/intro_credits/gengar.2bpp" -FightIntroBackMonEnd: - -FightIntroFrontMon: - -IF DEF(_RED) - INCBIN "gfx/intro_credits/red_nidorino_1.2bpp" -FightIntroFrontMon2: - INCBIN "gfx/intro_credits/red_nidorino_2.2bpp" -FightIntroFrontMon3: - INCBIN "gfx/intro_credits/red_nidorino_3.2bpp" -ENDC - -IF DEF(_BLUE) - INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp" -FightIntroFrontMon2: - INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp" -FightIntroFrontMon3: - INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp" -ENDC - -FightIntroFrontMonEnd: - - ds 16, $00 ; blank tile |