This pokecrystal branch brings the Intro Movie from pokegold
to pokecrystal
. This branch may be used to build a git .patch
file for the purposes of adding the Gold/Silver Intro Movie to your Romhack.
To build a patch simply download Gs-Intro-Movie.patch and place it somewhere where you will remember the location and that is accessible by .git. Then open terminal window and cd
into your pokecrystal/
directory. Then run the following command:
git apply /path/to/Gs-Intro-Movie.patch
Note: You may receive warnings about whitepace and EOF, this should be fine.
If you receive an error message that the patch failed to apply, you may need to resolve some conflicts. Run the following command to generate reject files.
git apply --reject /patch/to/Gs-Intro-Movie.patch
This should apply the patch where it is able, and files with conflicts will output as a .rej
extension. You will need to resolve these conflicts manually.
This branch not only adds the Gold/Silver Intro movie and dependency stuff (graphics, code, ect) it also deletes the no longer needed Crystal Intro Movie dependency stuff. There are a few extra changes that should be noted:
The following changes were needed to avoid a graphical problem in the Crystal Title screen. I belive this was due to the Crystal Title screen not properly cleaning up. I ported some of the cleanup code from the Gold/Silver Title screens. Its very possible I went overkill here, and not all of the changes are needed to fix this bug.
engine/movie/title.asm ~Lines 1-5
_TitleScreen:
call ClearBGPalettes
- call ClearSprites
call ClearTilemap
+ call DisableLCD
+ call ClearSprites
engine/movie/title.asm ~Lines 18-26
-; Turn LCD off
- call DisableLCD
+ ldh [hMapAnims], a
+ ldh [hSCY], a
+ ldh [hSCX], a
+
+ ld hl, vTile0
+ ld bc, $200 tiles
+ xor a
+ call ByteFill
+ farcall ClearSpriteAnims
I needed to add a wLYOverrides2
buffer to wram.asm
. WLYOverrides2 partially overlaps wLYOverridesBackup in original pokegold.
wram.asm
wLYOverrides:: ds SCREEN_HEIGHT_PX
wLYOverridesEnd::
- ds 1
-
wMagnetTrain:: ; used only for BANK(wMagnetTrain)
wMagnetTrainDirection:: db
wMagnetTrainInitPosition:: db
wMagnetTrainHoldPosition:: db
wMagnetTrainFinalPosition:: db
wMagnetTrainPlayerSpriteInitX:: db
- ds 106
+ ds 11
-wLYOverridesBackup:: ds SCREEN_HEIGHT_PX
+wLYOverrides2:: ds SCREEN_HEIGHT_PX - 48
+wLYOverridesBackup:: ds SCREEN_HEIGHT_PX - 96
+wLYOverrides2End:: ds SCREEN_HEIGHT_PX - 48
wLYOverridesBackupEnd::