Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
  • 0
Klokinator

I would like to make a scrolling animated title screen.

Question

Hi guys, so my game has need of something... unique. It really shouldn't be terribly complicated, so if you'll take a listen, maybe a senior scripter or someone with slightly more skill than me can help.

 

I have this image.

http://puu.sh/i1J0

 

This is my title screen background, as of now. I have other images that alter it, but this is the image I need to get to work properly.

 

http://puu.sh/i1J8

 

Now, see this image? It's an 8 frame image that scrolls onto the title screen, or rather it's kinda been gif'd and animates well. I know this, because another guy has done this with his game, and I even have his code that works, but I searched and searched through it, and couldn't find what makes it work.

 

http://puu.sh/i1J4

 

This is my 4 frame version, I just want my title screen to have an oscillating beam of light over the phoenix's head. Before I get into anything complicated, is there a simple way to make this work? If nobody can come up with something, I'll give more information as needed.

 

 

Edit: I've actually plugged my image into his project and it worked perfectly, we both also use the same engine. Therefore, I know it can work, I just don't know how it's working. That's why I need help.

Edited by Klokinator

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Okay, but it'll be pretty complicated no matter how I do this.

 

I'm going to upload two projects. The first is the "FE7x April Demo", this is not my project, this was the pre-release for the FEXP system. This is the one with the scrolling title screen. (Note that if you try to play the game itself, it will pop up a message saying that you should wait for the FEXP official release, as it was released here this is safe to ignore. We only need the title screen, nothing ingame.)

 

Open up the project and go into the scripts. The two, I think, you need to look through are Title, and Title. (Yes, there are two title scripts lol) The first Title is in the middleish of the scripts, and the second is near the bottom. Somewhere in there, possibly something I looked right past, is the code that makes the image scroll. There is another possibility, (And if this is the case then you probably can't figure it out anyway) that it's hardcoded into the moverange.dll in the main folder.

 

I included the other project, FEXP Save System 1.5, to show what my title screen looks like as of now. You can use this to compare the two projects and see if theres something I missed in the title scripts or whatever. There's only one title script in this one though, and it's at the very bottom of the scripts.

 

Also, the game uses a custom 320 x 192 resolution, in case you were wondering. I included my BG in both projects, you can easily see how it works just fine (Changes too fast if you check with the FE7x project, but that's just a matter of retiming it.) by renaming it in the Titles section of the art folder.

 

Download it Here.

Edited by Klokinator

Share this post


Link to post
Share on other sites
  • 0

Awesome, thanks for the help, anything will aid me. I'm probably just overlooking something obvious.

 

This is the single title script for my FEPS project. The two after it are the first and second title scripts for FE7x, respectively.

 

 

class Scene_Title
 #--------------------------------------------------------------------------
 # * Main Processing : Variable Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_variable, :main_variable
 def main_variable
Window_FE_Minimap.clear
bwd_fe_scnttl_main_variable
@timer = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Database Initialization - Game System
 #--------------------------------------------------------------------------
 def main_system
# Test for t0s ($game_system already loaded by the splash screen)
$game_system = Game_System.new if $game_system.nil?
FE_Class_Fix.fix
$game_system.tier_0_test
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
super
# Make title graphic
set_background
@sword = Sprite.new(@sprite.viewport)
###@sword.bitmap = RPG::Cache.picture('Title Sword')
@sword.x = FE_Config::SCREEN_WIDTH / 2
@sword.y = -44
@sword.z = 50
###@sword.ox = @sword.bitmap.width / 2
@fe_logo = Sprite.new(@sprite.viewport)
@fe_logo.bitmap = RPG::Cache.picture('Fire Emblem Logo')
@fe_logo.x = 55
@fe_logo.y = 58 + 8
@fe_logo.z = 50
@ps_logo = Sprite.new(@sprite.viewport)
@ps_logo.bitmap = RPG::Cache.picture('Phoenix Saga')
@ps_logo.x = FE_Config::SCREEN_WIDTH / 2
@ps_logo.y = 60 + 8
@ps_logo.z = 50
@ps_logo.ox = @ps_logo.bitmap.width / 2
@white_screen = Sprite.new
@white_screen.bitmap = Bitmap.new(320,192)
#@white_screen.bitmap.full_fill(Color.new(255,255,255))
 end

 def set_background
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
 end

 def make_press_start
@press_image = Press_Start.new
@press_image.x = FE_Config::SCREEN_WIDTH / 2
@press_image.y = FE_Config::SCREEN_HEIGHT - 48
@press_image.z = 100
@press_image.ox = @press_image.bitmap.width / 2
@press_image.opacity = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Window Initialization
 #--------------------------------------------------------------------------
 def main_window
super
###make_command_window
 end

 def make_command_window
# Make command window # Teehee
ary = Array.new
ary.push(SDK::Scene_Commands::Scene_Title::New_Game)
###ary.push(SDK::Scene_Commands::Scene_Title::Continue)
ary.push(SDK::Scene_Commands::Scene_Title::Frame_Rate)
ary.push(SDK::Scene_Commands::Scene_Title::Input_Change)
ary.push(IWS_FIXES::SAVE_SLOTS::Slot_1)
ary.push(IWS_FIXES::SAVE_SLOTS::Slot_2)

###ary.push(SDK::Scene_Commands::Scene_Title::Shutdown)
width = 96
@command_window = Window_Command.new(width, ary,
	224,
	FE_Config::SCREEN_HEIGHT - (ary.length + 1) * 16 + 8)
@command_window.back_opacity = 160
# If continue is enabled, move cursor to "Continue"
# If disabled, display "Continue" text in gray
@input_mode = Sprite.new(Viewport.new(
	0,0,FE_Config::SCREEN_WIDTH,FE_Config::SCREEN_HEIGHT))
@input_mode.viewport.z = 9001
@input_mode.bitmap = Bitmap.new(width,16)
@input_mode.x = 224
@input_mode.y = @command_window.y + 32 + 4
set_input_text
 end
 #--------------------------------------------------------------------------
 # * Main Test Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_test_continue, :main_test_continue
 def main_test_continue
bwd_fe_scnttl_main_test_continue
# Set Suspend Enabled Flag Off
@suspend_enabled = true
@two_enabled = true
@three_enabled = false
@four_enabled = false
@five_enabled = false
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_update, :update
 def update
# White flash/'Press Start' loading
if !@white_screen.nil?
  @white_screen.opacity -= 32
  Graphics.frame_fix.times do
	if @white_screen.opacity <= 0
	  case @timer
	  when 32
		@white_screen.bitmap.dispose
		@white_screen.dispose
		@white_screen = nil
		make_press_start
		@timer = 0
		break
	  else
		@timer += 1
	  end
	end
  end
# Inputing frame rate
elsif !@frame_rate_input.nil?
  @frame_rate_input.number = [[@frame_rate_input.number, 15].max, 60].min
  if Input.trigger?(Input::C)
	FE_Config.change_setting('frame rate', @frame_rate_input.number)
	###$frame_rate = Graphics.frame_rate = @frame_rate_input.number
	@frame_rate_input.dispose
	@frame_rate_input = nil
	@command_window.active = true
  end
# Selecting difficulty
elsif !@difficulty_select.nil?
  update_difficulty_selection
# Selecting map
elsif !@map_select.nil?
  update_map_selection
else
  if @command_window.nil?
	# Fade in 'Press Start'
	Graphics.frame_fix.times do
	  if @press_image.opacity < 255
		@press_image.opacity += 16
	  end
	end
	@timer += Graphics.frame_fix
	if Input.trigger?(Input::A) or Input.trigger?(Input::C)
	  Audio.se_play('Audio/SE/Press Start', 80)
	  @press_image.dispose
	  @press_image = nil
	  make_command_window
	  @timer = 0
	end
	if @timer >= 910
	  return $scene = Scene_Class_Reel.new
	end
  else
	if Input.trigger?(Input::B)
	  # Play cancel SE
	  $game_system.se_play($data_system.cancel_se)
	  make_press_start
	  @command_window.dispose
	  @command_window = nil
	  @input_mode.dispose
	else
	  @command_window.update
	  bwd_fe_scnttl_update
	end
  end
end
 end

 def update_map_selection
@map_select.update
if Input.trigger?(Input::C)
  case @map_select.index
  # Actual Map
  when 0
	@map = [$data_system.start_map_id,
		[$data_system.start_x, $data_system.start_y]]
  # Also Actual Map
  when 1
	@map = [18, [1, 1]]
  end
  select_difficulty
elsif Input.trigger?(Input::B)
  # Play cancel SE
  $game_system.se_play($data_system.cancel_se)
  @map_select.dispose
  @map_select = nil
  @command_window.active = true
end
 end

 def update_difficulty_selection
@difficulty_select.update
if Input.trigger?(Input::C)
  case @difficulty_select.index
  when 0
	@hard_mode = false
  when 1
	@hard_mode = true
  end
  @difficulty_select.dispose
  @difficulty_select = nil
  @map_select.dispose
  @map_select = nil
  command_new_game
elsif Input.trigger?(Input::B)
  # Play cancel SE
  $game_system.se_play($data_system.cancel_se)
  @difficulty_select.dispose
  @difficulty_select = nil
  @map_select.active = true
end
 end
 #--------------------------------------------------------------------------
 # * Command: New Game : Game Data Setup
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_cmndnwgm_gmdata, :commandnewgame_gamedata
 def commandnewgame_gamedata
bwd_fe_scnttl_cmndnwgm_gmdata
$game_system.set_hard_mode(@hard_mode)
 end
 #--------------------------------------------------------------------------
 # * Main Command Input
 #--------------------------------------------------------------------------
 def main_command_input
# Branch by command window cursor position
case @command_window.command
when SDK::Scene_Commands::Scene_Title::New_Game  # New game
  #command_new_game
  select_map
when IWS_FIXES::SAVE_SLOTS::Slot_1 # Resume suspend
  command_suspend_continue
when IWS_FIXES::SAVE_SLOTS::Slot_2  # Resume suspend
  command_two_continue
when SDK::Scene_Commands::Scene_Title::Continue  # Continue
  command_continue
when SDK::Scene_Commands::Scene_Title::Frame_Rate  # Adjust frame rate
  command_frame_rate
when SDK::Scene_Commands::Scene_Title::Input_Change  # Input Change
  command_input_change
when SDK::Scene_Commands::Scene_Title::Shutdown  # Shutdown
  command_shutdown
end
 end

 def select_map
$game_system.se_play($data_system.decision_se)
@command_window.active = false
ary = ['Ragefest']
ary.push('Skilltest Map')
@map_select = Window_Command.new(81, ary,
	FE_Config::SCREEN_WIDTH/2 - 17,
	FE_Config::SCREEN_HEIGHT - (9 + ary.length * 16))
 end

 def select_difficulty
$game_system.se_play($data_system.decision_se)
@map_select.active = false
ary = ['Normal', 'Hard']
@difficulty_select = Window_Command.new(81, ary,
	FE_Config::SCREEN_WIDTH/2 - 17,
	FE_Config::SCREEN_HEIGHT - (48 + ary.length * 16))
 end
 #--------------------------------------------------------------------------
 # * Command: Continue
 #--------------------------------------------------------------------------
 def command_suspend_continue
# If continue is disabled
unless @suspend_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_suspend
 end
 def command_two_continue
unless @two_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_two
 end
 def command_three_continue
unless @three_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_three
 end
 def command_four_continue
unless @four_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_four
 end
 def command_five_continue
unless @five_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_five
 end
 #--------------------------------------------------------------------------
 # * Command: Adjust frame rate
 #--------------------------------------------------------------------------
 def command_frame_rate
$game_system.se_play($data_system.decision_se)
@frame_rate_input = Window_InputNumber.new(2)
@frame_rate_input.number = Graphics.frame_rate
@frame_rate_input.x = 240 * $zoom
@frame_rate_input.y = 120 * $zoom
@command_window.active = false
@timer = 0
 end
 #--------------------------------------------------------------------------
 # * Command: Change input mode
 #--------------------------------------------------------------------------
 def command_input_change
$game_system.se_play($data_system.decision_se)
val = (FE_Config.settings['xp input'] + 1) % 2
FE_Config.change_setting('xp input', val)
set_input_text
 end

 def set_input_text
@input_mode.bitmap.clear
text = eval('SDK::Scene_Commands::Scene_Title::Input_Change' +
	FE_Config.settings['xp input'].to_s)
@input_mode.bitmap.bitmap_font(4, 2, text)
 end
 #--------------------------------------------------------------------------
 # * Command: New Game : Map Setup
 #--------------------------------------------------------------------------
 def commandnewgame_mapsetup
# Clean up spawned events
Event_Spawner.clear_saved_events
# Set up initial map position
if @map.nil?
  @map = [$data_system.start_map_id,
	  [$data_system.start_x, $data_system.start_y]]
end
$game_map.setup(@map[0], @map[1])
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update unless $BTEST
 end

 def soft_reset_test; end
 def terminate_message(immediately); end
 def main_transition
Graphics.transition(1)
 end
end

module SDK::Scene_Commands
 module Scene_Title
New_Game = 'New Game'
Resume = 'wth rape'
Resume2 = 'all rong'
Continue = 'Continue'
Frame_Rate = 'Adjust Frame Rate'
Input_Change = ''
Input_Change0 = 'GB Input Mode'
Input_Change1 = 'XP Input Mode'
Shutdown = 'Shutdown'
 end
end

class Window_InputNumber# < Window_Base
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
super
# If up directional button was pressed
if Input.repeat?(Input::UP)
  $game_system.se_play($data_system.cursor_se)
  @number += 1
  refresh
# If down directional button was pressed
elsif Input.repeat?(Input::DOWN)
  $game_system.se_play($data_system.cursor_se)
  @number -= 1
  refresh
# Cursor right
elsif Input.repeat?(Input::RIGHT)
  $game_system.se_play($data_system.cursor_se)
  @number += 10
  refresh
# Cursor left
elsif Input.repeat?(Input::LEFT)
  $game_system.se_play($data_system.cursor_se)
  @number -= 10
  refresh
end
update_cursor_rect
 end
 #--------------------------------------------------------------------------
 # * Get Normal Text Color
 #--------------------------------------------------------------------------
 def normal_color
return Color.black
 end
end



#==============================================================================
# ** Scene_Splash
#------------------------------------------------------------------------------
#  This class shows a splash screen before the title.
#==============================================================================
class Scene_Splash < SDK::Scene_Base
 def main_variable
Graphics.frame_rate = 60
@timer = 0
# Make system object
$game_system = Game_System.new
 end

 def update
@timer += 1
if Input.trigger?(Input::A) or Input.trigger?(Input::C)
  $scene = Scene_Title.new
elsif @timer >= 10
  $scene = Scene_Title_Load.new
end
 end

 def main_end
Graphics.frame_rate = $frame_rate
 end

 def main_window; end
 def soft_reset_test; end
 def terminate_message(immediately); end
end



#==============================================================================
# ** Scene_Title_Load
#------------------------------------------------------------------------------
#  This class shows a splash screen before the title.
#==============================================================================
class Scene_Title_Load < SDK::Scene_Base
 def main_variable
Graphics.frame_rate = 60
@timer = 0
@action = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
super
@sword = Sprite.new
####@sword.bitmap = RPG::Cache.picture('Title Sword')
@sword.x = FE_Config::SCREEN_WIDTH / 2
@sword.y = -44
@sword.oy = 272
####@sword.ox = @sword.bitmap.width / 2
@fe_logo = Sprite.new
@fe_logo.bitmap = RPG::Cache.picture('Fire Emblem Logo')
@fe_logo.x = 44 + 52
@fe_logo.y = 56 - 8 + 8
@fe_logo.opacity = 0
 end

 def update
if Input.trigger?(Input::A) or Input.trigger?(Input::C)
  $scene = Scene_Title.new
else
  case @action
  # Screen flash
  when 0
	case @timer
	when 0
	  @flash = Sprite.new
	  @flash.bitmap = Bitmap.new(
		  FE_Config::SCREEN_WIDTH,FE_Config::SCREEN_HEIGHT)
	  #@flash.bitmap.full_fill(Color.new(255,255,255))
	when 2
	  #@flash.bitmap.full_fill(Color.new(0,0,0))
	  $scene = Scene_Title.new
	end
	@timer += 1
  end
end
 end

 def main_end
Graphics.frame_rate = $frame_rate
 end

 def main_window; end
 def soft_reset_test; end
 def terminate_message(immediately); end
end



#==============================================================================
# ** Scene_Gameover
#------------------------------------------------------------------------------
#  This class performs game over screen processing.
#==============================================================================

class Scene_Gameover < SDK::Scene_Base
 #--------------------------------------------------------------------------
 # * Main Processing : Audio Initialization
 #--------------------------------------------------------------------------
 def main_audio
super
# Stop BGS and ME
$game_system.bgs_play(nil)
Audio.me_stop
# Play game over BGM
$game_system.bgm_play($data_system.gameover_bgm)
 end
end

 

 

 

FE7X TITLE 1

 

 

class Scene_Title
 #--------------------------------------------------------------------------
 # * Main Processing : Variable Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_variable, :main_variable
 def main_variable
Window_FE_Minimap.clear
bwd_fe_scnttl_main_variable
@timer = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Database Initialization - Game System
 #--------------------------------------------------------------------------
 def main_system
# Test for t0s ($game_system already loaded by the splash screen)
$game_system = Game_System.new if $game_system.nil?
FE_Class_Fix.fix
$game_system.tier_0_test
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
super
# Make title graphic
set_background
@sword = Sprite.new(@sprite.viewport)
@sword.bitmap = RPG::Cache.picture('Title Sword')
@sword.x = FE_Config::SCREEN_WIDTH / 2
@sword.y = -44
@sword.z = 50
@sword.ox = @sword.bitmap.width / 2
@fe_logo = Sprite.new(@sprite.viewport)
@fe_logo.bitmap = RPG::Cache.picture('Fire Emblem Logo')
@fe_logo.x = 36
@fe_logo.y = 56 + 8
@fe_logo.z = 50
@white_screen = Sprite.new
@white_screen.bitmap = Bitmap.new(320,192)
@white_screen.bitmap.full_fill(Color.new(255,255,255))
 end

 def set_background
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
 end

 def make_press_start
@press_image = Press_Start.new
@press_image.x = FE_Config::SCREEN_WIDTH / 2
@press_image.y = FE_Config::SCREEN_HEIGHT - 48
@press_image.z = 100
@press_image.ox = @press_image.bitmap.width / 2
@press_image.opacity = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Window Initialization
 #--------------------------------------------------------------------------
 def main_window
super
###make_command_window
 end

 def make_command_window
# Make command window # Teehee
ary = Array.new
ary.push(SDK::Scene_Commands::Scene_Title::New_Game)
ary.push(SDK::Scene_Commands::Scene_Title::Resume)
###ary.push(SDK::Scene_Commands::Scene_Title::Continue)
ary.push(SDK::Scene_Commands::Scene_Title::Frame_Rate)
ary.push(SDK::Scene_Commands::Scene_Title::Input_Change)
###ary.push(SDK::Scene_Commands::Scene_Title::Shutdown)
width = 96
@command_window = Window_Command.new(width, ary,
	FE_Config::SCREEN_WIDTH/2 - width/2,
	FE_Config::SCREEN_HEIGHT - (ary.length + 1) * 16 + 8)
@command_window.back_opacity = 160
# If continue is enabled, move cursor to "Continue"
# If disabled, display "Continue" text in gray
if @suspend_enabled#@continue_enabled
  @command_window.index = 1
else
  @command_window.disable_item(1)
end
@input_mode = Sprite.new(Viewport.new(
	0,0,FE_Config::SCREEN_WIDTH,FE_Config::SCREEN_HEIGHT))
@input_mode.viewport.z = 9001
@input_mode.bitmap = Bitmap.new(width,16)
@input_mode.x = FE_Config::SCREEN_WIDTH/2 - width/2
@input_mode.y = @command_window.y + 48 + 4
set_input_text
 end
 #--------------------------------------------------------------------------
 # * Main Test Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_test_continue, :main_test_continue
 def main_test_continue
bwd_fe_scnttl_main_test_continue
# Set Suspend Enabled Flag Off
@suspend_enabled = false
# Checks For Suspend File
if FileTest.exist?('Suspend.rxdata')
  # Sets Continued Enable Flag On
  @suspend_enabled = true
end
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_update, :update
 def update
# White flash/'Press Start' loading
if !@white_screen.nil?
  @white_screen.opacity -= 32
  Graphics.frame_fix.times do
	if @white_screen.opacity <= 0
	  case @timer
	  when 32
		@white_screen.bitmap.dispose
		@white_screen.dispose
		@white_screen = nil
		make_press_start
		@timer = 0
		break
	  else
		@timer += 1
	  end
	end
  end
# Inputing frame rate
elsif !@frame_rate_input.nil?
  @frame_rate_input.number = [[@frame_rate_input.number, 15].max, 60].min
  if Input.trigger?(Input::C)
	FE_Config.change_setting('frame rate', @frame_rate_input.number)
	###$frame_rate = Graphics.frame_rate = @frame_rate_input.number
	@frame_rate_input.dispose
	@frame_rate_input = nil
	@command_window.active = true
  end
# Selecting difficulty
elsif !@difficulty_select.nil?
  update_difficulty_selection
# Selecting map
elsif !@map_select.nil?
  update_map_selection
else
  if @command_window.nil?
	# Fade in 'Press Start'
	Graphics.frame_fix.times do
	  if @press_image.opacity < 255
		@press_image.opacity += 16
	  end
	end
	@timer += Graphics.frame_fix
	if Input.trigger?(Input::A) or Input.trigger?(Input::C)
	  Audio.se_play('Audio/SE/Press Start', 80)
	  @press_image.dispose
	  @press_image = nil
	  make_command_window
	  @timer = 0
	end
	if @timer >= 900
	  return $scene = Scene_Class_Reel.new
	end
  else
	if Input.trigger?(Input::B)
	  # Play cancel SE
	  $game_system.se_play($data_system.cancel_se)
	  make_press_start
	  @command_window.dispose
	  @command_window = nil
	  @input_mode.dispose
	else
	  @command_window.update
	  bwd_fe_scnttl_update
	end
  end
end
 end

 def update_map_selection
@map_select.update
if Input.trigger?(Input::C)
  case @map_select.index
  when 0
	@map = [59, [1, 1]]
  when 1
	@map = [60, [1, 1]]
  when 2
	@map = [69, [1, 1]]
  when 3
	@map = [$data_system.start_map_id,
		[$data_system.start_x, $data_system.start_y]]
  end
  select_difficulty
elsif Input.trigger?(Input::B)
  # Play cancel SE
  $game_system.se_play($data_system.cancel_se)
  @map_select.dispose
  @map_select = nil
  @command_window.active = true
end
 end

 def update_difficulty_selection
@difficulty_select.update
if Input.trigger?(Input::C)
  case @difficulty_select.index
  when 0
	@hard_mode = false
  when 1
	@hard_mode = true
  end
  @difficulty_select.dispose
  @difficulty_select = nil
  @map_select.dispose
  @map_select = nil
  command_new_game
elsif Input.trigger?(Input::B)
  # Play cancel SE
  $game_system.se_play($data_system.cancel_se)
  @difficulty_select.dispose
  @difficulty_select = nil
  @map_select.active = true
end
 end
 #--------------------------------------------------------------------------
 # * Command: New Game : Game Data Setup
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_cmndnwgm_gmdata, :commandnewgame_gamedata
 def commandnewgame_gamedata
bwd_fe_scnttl_cmndnwgm_gmdata
$game_system.set_hard_mode(@hard_mode)
 end
 #--------------------------------------------------------------------------
 # * Main Command Input
 #--------------------------------------------------------------------------
 def main_command_input
# Branch by command window cursor position
case @command_window.command
when SDK::Scene_Commands::Scene_Title::New_Game  # New game
  #command_new_game
  select_map
when SDK::Scene_Commands::Scene_Title::Resume  # Resume suspend
  command_suspend_continue
when SDK::Scene_Commands::Scene_Title::Continue  # Continue
  command_continue
when SDK::Scene_Commands::Scene_Title::Frame_Rate  # Adjust frame rate
  command_frame_rate
when SDK::Scene_Commands::Scene_Title::Input_Change  # Input Change
  command_input_change
when SDK::Scene_Commands::Scene_Title::Shutdown  # Shutdown
  command_shutdown
end
 end

 def select_map
$game_system.se_play($data_system.decision_se)
@command_window.active = false
ary = ['Trial Map 1', 'Trial Map 2', 'Trial Map 3']
#ary.push('Trial Map 3') if $DEBUG
ary.push('Actual Map') if $DEBUG
@map_select = Window_Command.new(80, ary,
	FE_Config::SCREEN_WIDTH/2 - 40,
	FE_Config::SCREEN_HEIGHT - (32 + ary.length * 16))
 end

 def select_difficulty
$game_system.se_play($data_system.decision_se)
@map_select.active = false
ary = ['Normal', 'Hard']
@difficulty_select = Window_Command.new(80, ary,
	FE_Config::SCREEN_WIDTH/2 - 40,
	FE_Config::SCREEN_HEIGHT - (40 + ary.length * 16))
 end
 #--------------------------------------------------------------------------
 # * Command: Continue
 #--------------------------------------------------------------------------
 def command_suspend_continue
# If continue is disabled
unless @suspend_enabled
  # Play buzzer SE
  $game_system.se_play($data_system.buzzer_se)
  return
end
load_suspend
 end
 #--------------------------------------------------------------------------
 # * Command: Adjust frame rate
 #--------------------------------------------------------------------------
 def command_frame_rate
$game_system.se_play($data_system.decision_se)
@frame_rate_input = Window_InputNumber.new(2)
@frame_rate_input.number = Graphics.frame_rate
@frame_rate_input.x = 240 * $zoom
@frame_rate_input.y = 120 * $zoom
@command_window.active = false
@timer = 0
 end
 #--------------------------------------------------------------------------
 # * Command: Change input mode
 #--------------------------------------------------------------------------
 def command_input_change
$game_system.se_play($data_system.decision_se)
val = (FE_Config.settings['xp input'] + 1) % 2
FE_Config.change_setting('xp input', val)
set_input_text
 end

 def set_input_text
@input_mode.bitmap.clear
text = eval('SDK::Scene_Commands::Scene_Title::Input_Change' +
	FE_Config.settings['xp input'].to_s)
@input_mode.bitmap.bitmap_font(4, 2, text)
 end
 #--------------------------------------------------------------------------
 # * Command: New Game : Map Setup
 #--------------------------------------------------------------------------
 def commandnewgame_mapsetup
# Clean up spawned events
Event_Spawner.clear_saved_events
# Set up initial map position
if @map.nil?
  @map = [$data_system.start_map_id,
	  [$data_system.start_x, $data_system.start_y]]
end
$game_map.setup(@map[0], @map[1])
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update unless $BTEST
 end

 def soft_reset_test; end
 def terminate_message(immediately); end
 def main_transition
Graphics.transition(1)
 end
end

module SDK::Scene_Commands
 module Scene_Title
New_Game = 'New Game'
Resume = 'Load Suspend'
Continue = 'Continue'
Frame_Rate = 'Adjust Frame Rate'
Input_Change = ''
Input_Change0 = 'GB Input Mode'
Input_Change1 = 'XP Input Mode'
Shutdown = 'Shutdown'
 end
end

class Window_InputNumber# < Window_Base
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
super
# If up directional button was pressed
if Input.repeat?(Input::UP)
  $game_system.se_play($data_system.cursor_se)
  @number += 1
  refresh
# If down directional button was pressed
elsif Input.repeat?(Input::DOWN)
  $game_system.se_play($data_system.cursor_se)
  @number -= 1
  refresh
# Cursor right
elsif Input.repeat?(Input::RIGHT)
  $game_system.se_play($data_system.cursor_se)
  @number += 10
  refresh
# Cursor left
elsif Input.repeat?(Input::LEFT)
  $game_system.se_play($data_system.cursor_se)
  @number -= 10
  refresh
end
update_cursor_rect
 end
 #--------------------------------------------------------------------------
 # * Get Normal Text Color
 #--------------------------------------------------------------------------
 def normal_color
return Color.black
 end
end



#==============================================================================
# ** Scene_Splash
#------------------------------------------------------------------------------
#  This class shows a splash screen before the title.
#==============================================================================
class Scene_Splash < SDK::Scene_Base
 def main_variable
Graphics.frame_rate = 60
@timer = 0
# Make system object
$game_system = Game_System.new
 end

 def update
@timer += 1
if Input.trigger?(Input::A) or Input.trigger?(Input::C)
  $scene = Scene_Title.new
elsif @timer >= 10
  $scene = Scene_Title_Load.new
end
 end

 def main_end
Graphics.frame_rate = $frame_rate
 end

 def main_window; end
 def soft_reset_test; end
 def terminate_message(immediately); end
end



#==============================================================================
# ** Scene_Title_Load
#------------------------------------------------------------------------------
#  This class shows a splash screen before the title.
#==============================================================================
class Scene_Title_Load < SDK::Scene_Base
 def main_variable
Graphics.frame_rate = 60
@timer = 0
@action = 0
 end
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 def main_sprite
super
@sword = Sprite.new
@sword.bitmap = RPG::Cache.picture('Title Sword')
@sword.x = FE_Config::SCREEN_WIDTH / 2
@sword.y = -44
@sword.oy = 272
@sword.ox = @sword.bitmap.width / 2
@fe_logo = Sprite.new
@fe_logo.bitmap = RPG::Cache.picture('Fire Emblem Logo')
@fe_logo.x = 44 + 52
@fe_logo.y = 56 - 8 + 8
@fe_logo.opacity = 0
audiofile = RPG::AudioFile.new('Chapter Transition Humming',
	  50, 100, 0)
$game_system.bgm_play(audiofile, true)
 end

 def update
if Input.trigger?(Input::A) or Input.trigger?(Input::C)
  $scene = Scene_Title.new
else
  case @action
  # Pause
  when 0
	@timer += 1
	if @timer > 60
	  @timer = 0
	  @action = 1
	end
  # FE Logo appears
  when 1
	@fe_logo.y += 1
	@fe_logo.opacity += 32
	if @fe_logo.opacity >= 255
	  @action = 2
	end
  # Pause again
  when 2
	@timer += 1
	if @timer > 60
	  @timer = 0
	  @action = 3
	end
  # Slide logo
  when 3
	@fe_logo.x -= 4
	if @fe_logo.x <= 36
	  @action = 4
	end
  # Pause again
  when 4
	@timer += 1
	if @timer > 6
	  @timer = 0
	  @action = 5
	end
  # Sword moves down
  when 5
	@sword.oy -= 16
	if @sword.oy <= 0
	  @action = 6
	end
  # Screen flash
  when 6
	case @timer
	when 0
	  @flash = Sprite.new
	  @flash.bitmap = Bitmap.new(
		  FE_Config::SCREEN_WIDTH,FE_Config::SCREEN_HEIGHT)
	  @flash.bitmap.full_fill(Color.new(255,255,255))
	when 2
	  @flash.bitmap.full_fill(Color.new(0,0,0))
	  $scene = Scene_Title.new
	end
	@timer += 1
  end
end
 end

 def main_end
Graphics.frame_rate = $frame_rate
 end

 def main_window; end
 def soft_reset_test; end
 def terminate_message(immediately); end
end



#==============================================================================
# ** Scene_Gameover
#------------------------------------------------------------------------------
#  This class performs game over screen processing.
#==============================================================================

class Scene_Gameover < SDK::Scene_Base
 #--------------------------------------------------------------------------
 # * Main Processing : Audio Initialization
 #--------------------------------------------------------------------------
 def main_audio
super
# Stop BGS and ME
$game_system.bgs_play(nil)
Audio.me_stop
# Play game over BGM
$game_system.bgm_play($data_system.gameover_bgm)
 end
end

 

 

 

FE7X TITLE 2

 

 

class Scene_Title
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_sprite, :main_sprite
 def main_sprite
bwd_fe_scnttl_main_sprite
@is_logo = Sprite.new(@sprite.viewport)
@is_logo.bitmap = RPG::Cache.picture('Immortal Sword Logo')
@is_logo.x = FE_Config::SCREEN_WIDTH / 2
@is_logo.y = 56 + 8
@is_logo.z = 50
@is_logo.ox = @is_logo.bitmap.width / 2
@sword.z += Title_Background::COLUMN_COUNT
@fe_logo.z += Title_Background::COLUMN_COUNT
@is_logo.z += Title_Background::COLUMN_COUNT
 end

 alias_method :bwd_fe_scnttl_make_press_start, :make_press_start
 def make_press_start
bwd_fe_scnttl_make_press_start
@press_image.z += Title_Background::COLUMN_COUNT
 end

 def set_background
@sprite = Title_Background.new
 end
end



class Scene_Class_Reel < SDK::Scene_Base
 def set_background(viewport)
@title_background = Title_Background.new(viewport)
 end

 alias_method :bwd_fe_scnreel_set_foreground, :set_foreground
 def set_foreground(viewport)
bwd_fe_scnreel_set_foreground(viewport)
@title_black.z += Title_Background::COLUMN_COUNT
@class_banner.z += Title_Background::COLUMN_COUNT
 end

 alias_method :bwd_fe_scnreel_add_letter, :add_letter
 def add_letter(viewport)
bwd_fe_scnreel_add_letter(viewport)
@letters[-1].z += Title_Background::COLUMN_COUNT
 end
end



class Title_Background < Sprite
 BG_UPDATE = 4
 COLUMN_UPDATE = 2
 INITIAL_DISTANCE = -110
 SPACING = 1
 INTERVAL = 180 * SPACING
 DISTANCE_RATIO = INTERVAL * 2 / SPACING.to_f * (
  COLUMN_UPDATE.to_f / BG_UPDATE.to_f)
 COLUMN_COUNT = 10 / SPACING
 def initialize(*args)
super(*args)
self.bitmap = RPG::Cache.title($data_system.title_name)
@bg_frames = self.bitmap.height / FE_Config::SCREEN_HEIGHT.to_f
self.src_rect.set(0,0,320,192)
@columns = Array.new
for i in 1..COLUMN_COUNT.to_i
  add_column(i * INTERVAL + INITIAL_DISTANCE, i == COLUMN_COUNT ? 0 : 255)
end
fix_z_values
@timer = 0
 end

 def update
super
Graphics.frame_fix.times do
  @timer = @timer + 1
  if @timer % COLUMN_UPDATE == 0
	for column in @columns
	  column.distance -= (
		  DISTANCE_RATIO / @bg_frames * COLUMN_UPDATE / BG_UPDATE)
	  column.update
	end
	if @columns[0].distance <= 0
	  offset = @columns[-1].distance
	  @columns[0].dispose
	  @columns.shift
	  @columns[0].dispose
	  @columns.shift
	  add_column(INTERVAL + offset, 0)
	  #add_column(COLUMN_COUNT * INTERVAL + offset, 0)
	  fix_z_values
	end
  end
  if @timer % BG_UPDATE == 0
	self.src_rect.set(0,(self.src_rect.y + 192) %
		self.bitmap.height,320,192)
  end
end
 end

 def add_column(distance, opacity)
@columns.push(Column.new(self.viewport))
@columns[-1].distance = distance
@columns[-1].opacity = opacity
@columns.push(Column_Other.new(self.viewport))
@columns[-1].distance = distance
@columns[-1].opacity = opacity
 end

 def fix_z_values
i = 0
while i < @columns.length
  @columns[i].z = ((@columns.length / 2) - (i / 2))
  @columns[i + 1].z = ((@columns.length / 2) - (i / 2))
  i += 2
end
 end

 def dispose
super
for column in @columns
  column.dispose
end
 end
end

class Column < Sprite
 attr_accessor :distance
 SWITCH_ANGLE = 14.5 #11.25 #22.5
 ANGLE_GAP = 2 #3 #5
 BRIGHT_ALPHA_MULT = 18 #15 #12 #6
 DARK_ALPHA_MULT = 6 #4 #6
 def initialize(*args)
super(*args)
self.bitmap = RPG::Cache.picture('Column')
self.ox = self.bitmap.width / 2
self.oy = self.bitmap.height / 2
self.y = FE_Config::SCREEN_HEIGHT / 2
self.color = Color.new(232, 224, 200, 0)
@distance = 500
update
 end

 def update
self.opacity += 16
return if @distance <= 0
return if @distance > 10000
x = @distance / 100.0
# Arcexsec lol
angle = base_angle = (Math::PI / 2) - Math.atan(Math.sqrt(x**2 + 2*x))
zoom = Math.tan(angle)
self.zoom_x = self.zoom_y = zoom * 2
set_x(zoom)
if (SWITCH_ANGLE + ANGLE_GAP) - angle * 360.0 / 2 / Math::PI > 0
  self.color.alpha = [(SWITCH_ANGLE - angle * 360.0 / 2 / Math::PI),
	  0].max * BRIGHT_ALPHA_MULT
else
  self.color.red = 88#72
  self.color.green = 56#56
  self.color.blue = 32#48
  self.color.alpha = -((SWITCH_ANGLE + ANGLE_GAP) -
	  angle * 360.0 / 2 / Math::PI) * DARK_ALPHA_MULT
end
 end

 def set_x(zoom)
self.x = FE_Config::SCREEN_WIDTH / 2 - (zoom * 240)#200)
 end
end

class Column_Other < Column
 def initialize(*args)
super(*args)
self.mirror = true
 end

 def set_x(zoom)
self.x = FE_Config::SCREEN_WIDTH / 2 + (zoom * 240)#200)
 end
end

 

Edited by Klokinator

Share this post


Link to post
Share on other sites
  • 0

sorry I took so long, also, I am a amateur scripter, so I may not be able to help you fully. It looks like your only packing part of the script in your game. You'll need both title scripts from FE:7x (they are part of the same script... I think) If that doesn't work I'll holler for Moon, Liz, or Kell to take a look at this.

Edited by Foxkit

Share this post


Link to post
Share on other sites
  • 0

I posted three scripts in the second post, that includes all three versions. I also made a download just for the purpose of being able to check yourself, it includes everything.

 

Edit: Oh you mean putting the FE7x title script into my game. Well, that actually doesn't work and it crashes the game I do believe.

 

Edit2: I spoilered the other post, nobody likes a wallotext :V

Edited by Klokinator

Share this post


Link to post
Share on other sites
  • 0

is the problem that you cant use the script in you own project or that its animating too fast, just a thought, as your frame rate is half of his, why dont you double up your images so it slows it down?

Share this post


Link to post
Share on other sites
  • 0

Sorry again for the late reply... (blames forums following stuff for not alerting me that Klokinator had posted)

what kind of error do you get when the game crashes?

 

Edit: nvm, I think I reproduced it myself, and it looks like its not finding the names at first glance, I can't dl your third link atm to see how his demo runs your title. but it looks like it should just be a matter of finding the names listed in the second problem script, and renaming them appropriately.

 

Edit 2: or, just renaiming stuff to match the script errors, its erroring because it can't fine collum in Graphics/Pictures. It just depends on which route you wanna take.

Edited by Foxkit

Share this post


Link to post
Share on other sites
  • 0
Sorry again for the late reply... (blames forums following stuff for not alerting me that Klokinator had posted)

I'll use that same excuse xD

 

Edit 2: or, just renaiming stuff to match the script errors, its erroring because it can't fine collum in Graphics/Pictures. It just depends on which route you wanna take.

Oooh I'll try that... thanks!

 

Edit: Didn't work.

 

I think I reproduced it myself, and it looks like its not finding the names at first glance

So, you mean that my screen works in my game, you managed to reproduce that? Would it be possible to get the demo back from you so I can examine it, if that's the case?

 

I can't dl your third link atm to see how his demo runs your title. but it looks like it should just be a matter of finding the names listed in the second problem script, and renaming them appropriately.

I'm not sure exactly what to rename though, that's the issue. Pressing Ctrl+Shift+F in his scripts for his original version brings up zero results for the name "Title BG", which is what needs to scroll. His original title bg scrolled great, and when I replace it with mine, it scrolls fine too, however I can't find anything in the scripts linked to that at all, leading me to believe it's hardcoded into the moverange.dll (which would majorly suck).

 

So, if you could send me the dermo where you got it working, whenever, that'd be amazing.

Edited by Klokinator

Share this post


Link to post
Share on other sites
  • 0

Okay so this is a great find. I realized that if you put his second title script in, it DOES animate the title screen, but ONLY if the class reel is running. That means somewhere in the script is the command that animated the title screen, and if I can port it over to the default title screen I can make it work.

 

 

class Scene_Title
 #--------------------------------------------------------------------------
 # * Main Processing : Sprite Initialization
 #--------------------------------------------------------------------------
 alias_method :bwd_fe_scnttl_main_sprite, :main_sprite
 def main_sprite
       bwd_fe_scnttl_main_sprite
       @is_logo = Sprite.new(@sprite.viewport)
       @is_logo.bitmap = RPG::Cache.picture('Immortal Sword Logo')
       @is_logo.x = FE_Config::SCREEN_WIDTH / 2
       @is_logo.y = 56 + 8
       @is_logo.z = 50
       @is_logo.ox = @is_logo.bitmap.width / 2
       @sword.z += Title_Background::COLUMN_COUNT
       @fe_logo.z += Title_Background::COLUMN_COUNT
       @is_logo.z += Title_Background::COLUMN_COUNT
 end

 alias_method :bwd_fe_scnttl_make_press_start, :make_press_start
 def make_press_start
       bwd_fe_scnttl_make_press_start
       @press_image.z += Title_Background::COLUMN_COUNT
 end

 def set_background
       @sprite = Title_Background.new
 end
end



class Scene_Class_Reel < SDK::Scene_Base
 def set_background(viewport)
       @title_background = Title_Background.new(viewport)
 end

 alias_method :bwd_fe_scnreel_set_foreground, :set_foreground
 def set_foreground(viewport)
       bwd_fe_scnreel_set_foreground(viewport)
       @title_black.z += Title_Background::COLUMN_COUNT
       @class_banner.z += Title_Background::COLUMN_COUNT
 end

 alias_method :bwd_fe_scnreel_add_letter, :add_letter
 def add_letter(viewport)
       bwd_fe_scnreel_add_letter(viewport)
       @letters[-1].z += Title_Background::COLUMN_COUNT
 end
end



class Title_Background < Sprite
 BG_UPDATE = 4
 COLUMN_UPDATE = 2
 INITIAL_DISTANCE = -110
 SPACING = 1
 INTERVAL = 180 * SPACING
 DISTANCE_RATIO = INTERVAL * 2 / SPACING.to_f * (
         COLUMN_UPDATE.to_f / BG_UPDATE.to_f)
 COLUMN_COUNT = 10 / SPACING
 def initialize(*args)
       super(*args)
       self.bitmap = RPG::Cache.title($data_system.title_name)
       @bg_frames = self.bitmap.height / FE_Config::SCREEN_HEIGHT.to_f
       self.src_rect.set(0,0,320,192)
       @columns = Array.new
       for i in 1..COLUMN_COUNT.to_i
         add_column(i * INTERVAL + INITIAL_DISTANCE, i == COLUMN_COUNT ? 0 : 255)
       end
       fix_z_values
       @timer = 0
 end

 def update
       super
       Graphics.frame_fix.times do
         @timer = @timer + 1
         if @timer % COLUMN_UPDATE == 0
               for column in @columns
                 column.distance -= (
                         DISTANCE_RATIO / @bg_frames * COLUMN_UPDATE / BG_UPDATE)
                 column.update
               end
               if @columns[0].distance <= 0
                 offset = @columns[-1].distance
                 @columns[0].dispose
                 @columns.shift
                 @columns[0].dispose
                 @columns.shift
                 add_column(INTERVAL + offset, 0)
                 #add_column(COLUMN_COUNT * INTERVAL + offset, 0)
                 fix_z_values
               end
         end
         if @timer % BG_UPDATE == 0
               self.src_rect.set(0,(self.src_rect.y + 192) %
                       self.bitmap.height,320,192)
         end
       end
 end

 def add_column(distance, opacity)
       @columns.push(Column.new(self.viewport))
       @columns[-1].distance = distance
       @columns[-1].opacity = opacity
       @columns.push(Column_Other.new(self.viewport))
       @columns[-1].distance = distance
       @columns[-1].opacity = opacity
 end

 def fix_z_values
       i = 0
       while i < @columns.length
         @columns[i].z = ((@columns.length / 2) - (i / 2))
         @columns[i + 1].z = ((@columns.length / 2) - (i / 2))
         i += 2
       end
 end

 def dispose
       super
       for column in @columns
         column.dispose
       end
 end
end

class Column < Sprite
 attr_accessor :distance
 SWITCH_ANGLE = 14.5 #11.25 #22.5
 ANGLE_GAP = 2 #3 #5
 BRIGHT_ALPHA_MULT = 18 #15 #12 #6
 DARK_ALPHA_MULT = 6 #4 #6
 def initialize(*args)
       super(*args)
       self.bitmap = RPG::Cache.picture('Column')
       self.ox = self.bitmap.width / 2
       self.oy = self.bitmap.height / 2
       self.y = FE_Config::SCREEN_HEIGHT / 2
       self.color = Color.new(232, 224, 200, 0)
       @distance = 500
       update
 end

 def update
       self.opacity += 16
       return if @distance <= 0
       return if @distance > 10000
       x = @distance / 100.0
       # Arcexsec lol
       angle = base_angle = (Math::PI / 2) - Math.atan(Math.sqrt(x**2 + 2*x))
       zoom = Math.tan(angle)
       self.zoom_x = self.zoom_y = zoom * 2
       set_x(zoom)
       if (SWITCH_ANGLE + ANGLE_GAP) - angle * 360.0 / 2 / Math::PI > 0
         self.color.alpha = [(SWITCH_ANGLE - angle * 360.0 / 2 / Math::PI),
                 0].max * BRIGHT_ALPHA_MULT
       else
         self.color.red = 88#72
         self.color.green = 56#56
         self.color.blue = 32#48
         self.color.alpha = -((SWITCH_ANGLE + ANGLE_GAP) -
                 angle * 360.0 / 2 / Math::PI) * DARK_ALPHA_MULT
       end
 end

 def set_x(zoom)
       self.x = FE_Config::SCREEN_WIDTH / 2 - (zoom * 240)#200)
 end
end

class Column_Other < Column
 def initialize(*args)
       super(*args)
       self.mirror = true
 end

 def set_x(zoom)
       self.x = FE_Config::SCREEN_WIDTH / 2 + (zoom * 240)#200)
 end
end

 

 

This script, that is. I found that modifying the BG_UPDATE line slows and speeds up the transition, so right in there is the key... moving it to the other title script smoothly is what needs to happen.

Share this post


Link to post
Share on other sites
  • 0

Otherwise, you can give a go at my Animated CMS. You can easily make an animated background with it, and it will apply to all menu scenes, including the title screen. Then again, if you don't want to use it for all menus, you can just grab the code for Scene_Title and delete that for all other scenes.

Share this post


Link to post
Share on other sites
  • 0

Otherwise, you can give a go at my Animated CMS. You can easily make an animated background with it, and it will apply to all menu scenes, including the title screen. Then again, if you don't want to use it for all menus, you can just grab the code for Scene_Title and delete that for all other scenes.

Thanks to his extensive customizations, 99% of all scripts don't work in FEXP and I doubt yours will. He customized the window system and etc. If you can see anything in the last script that might indicate a command that animates the title screen, that's all I need.

Edited by Klokinator

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...