Creating extra splash title screens

Raftronaut

Member
Hello!

I am hoping to add a couple of additional title screens on a short timer before my main title screen.

Is it possible to Hijack one of the larger CHR files such as the "shop screen" and re purpose it for a Pre-title screen?

The 2nd would be a simple text page utilizing normal CHR file.

Can anyone help me scripting something like this?
 

dale_coop

Moderator
Staff member
Currently you can not use more special screens than the two available (maybe in the 5.0)
But you could use normal screens? The idea would be to "skip the Start Screen" and directly start the game on the pre-title (normal) screen. Than timer warps... to another one... timer warps... then a special warp to Start Screen, that would bring you to the Start Screen?
 

Raftronaut

Member
Yes, that is correct, I haven't had the time to compress my graphics into a CHR file yet, I will see what kind of image I can fit,
 

CutterCross

Active member
I didn't even bother with the "start screen" special screen for WtCHS. I made the splash logos and title screen all out of background tiles and sprites. Took a lot of tile optimization, but I think it turned out pretty well!
 

Raftronaut

Member
Yeah for sure! The extra start screens in Tower of Turmoil looked great!

my only real concern is being able to optimize tile sets in 8x8 rather than the 16x16 meta tiles. Is it possible to arrange any other screens other than the title screen and Win screen using Name table files or .Map files?
I would be able to make due with that if need be
 

CutterCross

Active member
Raftronaut said:
Yeah for sure! The extra start screens in Tower of Turmoil looked great!

my only real concern is being able to optimize tile sets in 8x8 rather than the 16x16 meta tiles. Is it possible to arrange any other screens other than the title screen and Win screen using Name table files or .Map files?
I would be able to make due with that if need be

Extra start screens? I don't recall anything like that in Tower of Turmoil, unless you mean the cutscenes?

It's definitely possible to get a decently detailed title screen out of 16x16 metatiles. Here's some PPU screenshots from my opening scenes in WtCHS:

CC Splash Logo:
or7tnKc.png
Gjial65.png

NESmaker Logo:
1W6whif.png
IPHFZfU.png

Clock Tower/Title Screen:
bJcCr6l.png
sqEnufT.png


And yeah, I had to use some tricky path optimization to get some extra detail on the clock tower. I'm really excited for 5.0 where we can mix and match different tilesets together.
 

Raftronaut

Member
dale_coop said:
Currently you can not use more special screens than the two available (maybe in the 5.0)
But you could use normal screens? The idea would be to "skip the Start Screen" and directly start the game on the pre-title (normal) screen. Than timer warps... to another one... timer warps... then a special warp to Start Screen, that would bring you to the Start Screen?


Dale, could you tell me Help explain how I could "skip start screen" ? I am not sure which system ASM file this would be kept in.
AS well, I presume, creating a "warp to Start screen" END ACTION COMMAND would be a a simple amendment to the existing End action "warp to screen". Although I would need to know how nesmaker labels the start screen location. Could you help me understand this?
 

Razzie.P

Member
Raftronaut said:
Dale, could you tell me Help explain how I could "skip start screen" ? I am not sure which system ASM file this would be kept in.
AS well, I presume, creating a "warp to Start screen" END ACTION COMMAND would be a a simple amendment to the existing End action "warp to screen". Although I would need to know how nesmaker labels the start screen location. Could you help me understand this?


My apologies if I'm misunderstanding the question/issue, but if you're needing to skip the start screen, you would simply click Project > Info, and check the "Skip Start Screen" option.
 

Raftronaut

Member
My apologies if I'm misunderstanding the question/issue, but if you're needing to skip the start screen, you would simply click Project > Info, and check the "Skip Start Screen" option.

Kind of, but I am not sure how to direct it back to the start screen after the first couple of screens play.
 

dale_coop

Moderator
Staff member
Raftronaut said:
Dale, could you tell me Help explain how I could "skip start screen" ? I am not sure which system ASM file this would be kept in.
AS well, I presume, creating a "warp to Start screen" END ACTION COMMAND would be a a simple amendment to the existing End action "warp to screen". Although I would need to know how nesmaker labels the start screen location. Could you help me understand this?

To "skip the Start Screen" when the game starts, just oen the "Project Info", and set the "skip the Start Screen":

2019-06-20-09-47-23-Initial-Data.png


For the "warp to Start screen", here what would looeke like the code (it's quiet different than the normal "warp to screen"):

Code:
	LDA #$00
	STA change_state
			
	LDA #%00000000 ;; special screen
	STA gameState
	STA textboxHandler
	STA gameHandler
	

	LDA #%11000000
	ORA #GS_Win
	STA update_screen	
	
	JSR DeactivateAllObjects
	;JSR DrawAllSpritesOffScreen
	
	LDA #$00
	STA newScreen
	STA update_screen_details
	STA loadObjectFlag
	STA update_screen_hud_offset
	STA update_screen_att_offset
	STA update_screen_col_offset	
	
	;; we continue the current song if the same:
	LDA #START_SCREEN_SONG
	STA currentSong
	PlaySong #START_SCREEN_SONG

	
	;  RTS
 

Raftronaut

Member
Awesome! Thanks Dale!

And just so I am understanding correctly. "warp to Start screen" simply needs to be be set up as an End Action and triggered by a timer on an NPC sprite?

Though I am still confused on one other point here. If I skip start screen to show my pre-title screens, then I would need to place my character on the 1st of these screens. Booting the program should start me there and eventually land me on my title screen. From there I understand pressing my start button will take me to where I had placed my character originally which in this case would create a loop back to the 1st Pre-Title screen.
I suppose I would need to fix my start button input script to warp to my first "post title" screen.
Is my understanding of this correct?
 

dale_coop

Moderator
Staff member
You right, the idea would be to warp in a new gameplay starting screen instead of the normal one.... when pressing the START button, on the title screen.

Maybe a new "StartGame_GoToNewStartingScreen.asm" script, containing a code that could be something like this:
Code:
  ;; WARP to the NEW_START_LEVEL screen (in overworld)

  LDA #STATE_START_GAME
  STA change_state
  
  LDA #$00
  STA newGameState
  STA change_state

  GoToScreen #NEW_START_LEVEL, #$01, #$02			;;NEW_START_LEVEL screen in overworld
  
  JSR DeactivateAllObjects  
  LDA #$01
  STA loadObjectFlag

  ;StopSound
  ;PlaySound #$00, $00
  
  LDA #%10000000
  STA gameHandler ;; turn sprites on
  RTS

Just add a new constant "NEW_START_LEVEL" (in "Project Settings > User Constants") with the index value of the screen you want to go when pressing START.
 

MonkeyCity

New member
Going to try this! I had started modifying the press start script and got it to put me on the correct screen but up in the top left corner.
 

n8bit

Member
I am working out the final bugs on Doodle World, and this is one that is giving me a bunch of trouble.

I am using both the scripts that Dale posted here and the warp from the splash screen to start screen works great, but I cannot press start on the start screen.

Here is what I know...

If I don't skip the start screen I can press start on the start screen just fine. So it looks like the start screen script is good.
I have the splash screen set to 255 to disable input and player sprite, if I change that I still do not have any start input on start screen.

I suspect it is the warp to start script and it might be conflicting with something in my game. If I cannot solve it, it is not a big deal which is why I have put it off for so long. Splash screen would be nice but not necessary.
 

n8bit

Member
dale_coop said:
Could you share here the "warp to start" script? I'll check ;)

I can post it this evening, but it is exactly like the one you shared in this thread. I did not make any changes to it.

Thanks Dale!
 

n8bit

Member
dale_coop said:
Could you share here the "warp to start" script? I'll check ;)

Here is the code I am using for the "warp to start"

Code:
    LDA #$00
    STA change_state
    
    LDA #%00000000 ;; special screen
    STA gameState
    STA textboxHandler
    STA gameHandler
    

    LDA #%11000000
    ORA #GS_Win
    STA update_screen   
    
    JSR DeactivateAllObjects
    ;JSR DrawAllSpritesOffScreen
    
    LDA #$00
    STA newScreen
    STA update_screen_details
    STA loadObjectFlag
    STA update_screen_hud_offset
    STA update_screen_att_offset
    STA update_screen_col_offset
  
    
    ;; we continue the current song if the same:
    LDA #START_SCREEN_SONG
    STA currentSong
    PlaySong #START_SCREEN_SONG

    
    ;RTS
 

dale_coop

Moderator
Staff member
Ok, I see the error...
Just comment the line 11:
Code:
	; ORA #GS_Win
And your script should work
 
Top Bottom