;-----------------STARTING AREA CHANGE---------------------------------------- ;--------------------CERES END BTS-------------------------------------------- ;---------------Ceres Cinema Scene Skips-------------------------------------- ;-------------------By OmegaDragnet9------------------------------------------ ;Credits to JAM and Black Falcon (critical code borrowed from Skip Ceres.) ;P.JBoy for the Banklogs (and some of the code commentary featured here.) ;squishy_ichigo and Smiley (for the template borrowed from the Endgame BTS Disassembly.) ;PHOSPHOTiDYL and somereando cauuy (Hex Map Skip Code) ;PURPOSE: ;There have been multiple ASM files that do different things with starting a new file. ;Unfortunately a great many of them are incompatible as is. ;The purpose of this is to harmonize the "new_starting_area" (from the SMM) with Black Falcon's "Skip Ceres." ;Additionally this works with or without the Skip Hex Map tweak (included at the end, but commented out.) ;Along the way, I was able to figure out some cinema scene skips that people might like. ;KNOWN BUGS ;There is a little delay right before the ship descends in Area 00. lorom ;-------------------CERES END BTS---------------------------------------------- ;Credits to Smiley and squishy_ichigo for the original template ;DEFINES !bts = $04 ;max $0F !free94 = $94DE00 org !bts*2+$9498AC dw EndCeres org !free94 EndCeres: ;Import SFX killing code LDA #$0002 ;Sound 2, sound library 1, silence JSL $809021 LDA #$0071 ;Sound 71h, sound library 2, silence JSL $8090A3 LDA #$0001 ;Sound 1, sound library 3, silence JSL $809125 LDA #$0020 : STA $0998 ;Ceres Completed RTS ;-------------START SOMEWHERE OTHER THAN CERES---------------------------------- ;THE FOLLOWING TAKES THIS VANILLA ROUTINE AND BORROWS SOME CODE FROM BF SKIP CERES ;YOU CAN CHANGE THE STARTING AREA TO ANY AREA AND FLY TO AREA 00 WHEN YOU ARE DONE ;BY PLACING THE BTS TILE TYPE 02 BTS VALUE "04" MUCH AS YOU WOULD USE THE ENDGAME BTS. ;DEFINES (Change this here to choose starting area and save slot.) !Area = !CRA !Save = #$0000 ;AREA DEFINES !CRA = #$0000 !BRI = #$0001 !NOR = #$0002 !WRE = #$0003 !MAR = #$0004 !TRN = #$0005 !CER = #$0006 !DBG = #$0007 ;Comment this out to just rely on the Vanilla Start at Ceres Routine. ;Leave this in to start the game in a completely different area. org $8BC100 ;Cinematic Function, Start Game at "Ceres" LDA #$001F ;NEW GAME STATE STA $0998 ;Game state = 1Fh (set up new game) STZ $D914 ;set game state mirror to #$0000 LDA !Area ;Instead of #$0006 for Ceres, this starts you in Brinstar STA $079F ;Area index LDA !Save ;Station Index STA $078B ;Load station index JSL COPYSHIPSAVE ;To freespace instead. RTS org $8BFE40 ;Any Freespace in $8B COPYSHIPSAVE: LDA #$0005 ;Loading Game State Main STA $7ED914 LDA $0952 ;Save current save slot to SRAM. JSL $818000 RTL ;------------------------------------------------------------------------------- ;------------COMMENT INDIVIDUAL CUTSCENES FOR MORE FLEXIBILITY.----------------- ;------------------------------------------------------------------------------- ;---------------------FROM BF SKIP CERES---------------------------------------- ;----------------(Skips White Text Before Intro)-------------------------------- ;org $8BA592 ;this part skips the white text at the very beginning ;LDA #$A66F : STA $1F51 ;(previously #$A5A7) starts loading green text and intro music ;--------------------INTRO TEXT SCRAWL MUSIC CHANGES--------------------------- ;You should completely silence this if you intend to use the SKIPS SAMUS NARRATION ;Use either Line 110 OR Line 116 ;THIS SILENCES ALL MUSIC DURING NARRATION ; org $8BA713 ; JMP $A724 ;THIS CHANGES MUSIC DURING NARRATION ;org $8BA713 ; LDA #$FF0F ;Green Brinstar.Was originally FF36 ; JSL $808FC1 ; LDA #$0005 ;was originally 0005 ; LDY #$000E ; JSL $808FF7 ;------------------------------------------------------------------------------- ;----------------------SKIPS SAMUS NARRATION------------------------------------ ;------------------------------------------------------------------------------- ;This was taken from looking at Amoeba and TestRunner's Intro Scenes editor inside ;SMART. Credit for finding this hijack goes to them. ;Be sure you SILENCE narration music if you choose to use this. (Line 110) ; org $8BAE43 ; JMP $B240 ;----------------FLY TO CERES CUTSCENE SKIP------------------------------------- ;Comment this out to restore the FLY TO CERES cutscene org $8BBDCC ;This can skip the normal fly to Ceres Cutscene. JMP $C100 ;This skips to Cinematic Function, Start Game at "Ceres" ;------------SKIPS CERES EXPLODING ANIMATION------------------------------------- ;Comment this out to watch Ceres detonate when you activate the BTS tile and go to Area 00. ;Leave this in to skip the animation altogether. org $8BC11B ;This skips the Ceres Exploding Animation but does send you to the ship descending animation. JMP $C699 ;-----------SKIP FLYING TO ZEBES CUTSCENE---------------------------------------- ;Comment this out to watch the approach of Zebes. ;Leave this in to skip the animation altogether. org $8BC699 JMP $CADF ;This skips the fly to zebes cutscene immediately after Ceres detonates. Not sure how this effects when you fail the escape. ;--------------SKIP HEXMAP ON LOADED SAVEFILE------------------------------------- ;Discovered by PHOSPHOTiDYL, improved by somerando cauuy. ; org $8289EA ; JSL $819E3E ; org $819E3E ; JSL $80858C ;Load mirror of current map explored. ; INC $0998 ;INC game state here instead of $8289EA ; RTL