Added scripts
This commit is contained in:
parent
d40ae86ba4
commit
5118df09f4
106 changed files with 15680 additions and 0 deletions
94
scripts/Scene_Load.rb
Normal file
94
scripts/Scene_Load.rb
Normal file
|
@ -0,0 +1,94 @@
|
|||
#==============================================================================
|
||||
# ** Scene_Load
|
||||
#------------------------------------------------------------------------------
|
||||
# This class performs load screen processing.
|
||||
#==============================================================================
|
||||
|
||||
class Scene_Load < Scene_File
|
||||
#--------------------------------------------------------------------------
|
||||
# * Object Initialization
|
||||
#--------------------------------------------------------------------------
|
||||
def initialize
|
||||
# Remake temporary object
|
||||
$game_temp = Game_Temp.new
|
||||
# Timestamp selects new file
|
||||
$game_temp.last_file_index = 0
|
||||
latest_time = Time.at(0)
|
||||
for i in 0..3
|
||||
filename = make_filename(i)
|
||||
if FileTest.exist?(filename)
|
||||
file = File.open(filename, "r")
|
||||
if file.mtime > latest_time
|
||||
latest_time = file.mtime
|
||||
$game_temp.last_file_index = i
|
||||
end
|
||||
file.close
|
||||
end
|
||||
end
|
||||
super("Which file would you like to load?")
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Decision Processing
|
||||
#--------------------------------------------------------------------------
|
||||
def on_decision(filename)
|
||||
# If file doesn't exist
|
||||
unless FileTest.exist?(filename)
|
||||
# Play buzzer SE
|
||||
$game_system.se_play($data_system.buzzer_se)
|
||||
return
|
||||
end
|
||||
# Play load SE
|
||||
$game_system.se_play($data_system.load_se)
|
||||
# Read save data
|
||||
file = File.open(filename, "rb")
|
||||
read_save_data(file)
|
||||
file.close
|
||||
# Restore BGM and BGS
|
||||
$game_system.bgm_play($game_system.playing_bgm)
|
||||
$game_system.bgs_play($game_system.playing_bgs)
|
||||
# Update map (run parallel process event)
|
||||
$game_map.update
|
||||
# Switch to map screen
|
||||
$scene = Scene_Map.new
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Cancel Processing
|
||||
#--------------------------------------------------------------------------
|
||||
def on_cancel
|
||||
# Play cancel SE
|
||||
$game_system.se_play($data_system.cancel_se)
|
||||
# Switch to title screen
|
||||
$scene = Scene_Title.new
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Read Save Data
|
||||
# file : file object for reading (opened)
|
||||
#--------------------------------------------------------------------------
|
||||
def read_save_data(file)
|
||||
# Read character data for drawing save file
|
||||
characters = Marshal.load(file)
|
||||
# Read frame count for measuring play time
|
||||
Graphics.frame_count = Marshal.load(file)
|
||||
# Read each type of game object
|
||||
$game_system = Marshal.load(file)
|
||||
$game_switches = Marshal.load(file)
|
||||
$game_variables = Marshal.load(file)
|
||||
$game_self_switches = Marshal.load(file)
|
||||
$game_screen = Marshal.load(file)
|
||||
$game_actors = Marshal.load(file)
|
||||
$game_party = Marshal.load(file)
|
||||
$game_troop = Marshal.load(file)
|
||||
$game_map = Marshal.load(file)
|
||||
$game_player = Marshal.load(file)
|
||||
$game_oneshot = Marshal.load(file)
|
||||
# If magic number is different from when saving
|
||||
# (if editing was added with editor)
|
||||
if $game_system.magic_number != $data_system.magic_number
|
||||
# Load map
|
||||
$game_map.setup($game_map.map_id)
|
||||
$game_player.center($game_player.x, $game_player.y)
|
||||
end
|
||||
# Refresh party members
|
||||
$game_party.refresh
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue