mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
104 lines
3 KiB
Ruby
104 lines
3 KiB
Ruby
module Settings
|
|
FILE_PATH = [Oneshot::SAVE_PATH, 'settings.sunshine.dat'].join '/'
|
|
|
|
class << self
|
|
def [](k)
|
|
@data[k]
|
|
end
|
|
|
|
def []=(k, v)
|
|
if @data[k] == false or @data[k] == true
|
|
if not (v == false or v == true)
|
|
return
|
|
end
|
|
elsif @data[k] == NilClass
|
|
return
|
|
elsif @data[k].class != v.class
|
|
return
|
|
end
|
|
|
|
@data[k] = v;
|
|
end
|
|
|
|
def load!
|
|
#Settings::Legacy.load!
|
|
Settings.reset!
|
|
|
|
if FileTest.exist?(Settings::FILE_PATH)
|
|
File.open(Settings::FILE_PATH, "rb") do |f|
|
|
settings = Marshal.load(f) rescue return
|
|
if settings.class == Hash
|
|
settings.each do |key, value|
|
|
Settings[key] = value;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Settings.save!
|
|
end
|
|
|
|
def save!
|
|
#Settings::Legacy.save!
|
|
|
|
if @data
|
|
File.open(Settings::FILE_PATH, "wb") do |f|
|
|
f.write Marshal.dump(@data)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#module Legacy
|
|
# FILE_PATH = [Oneshot::SAVE_PATH, 'settings.conf'].join '/'
|
|
#
|
|
# def self.load!
|
|
# if not FileTest.exist?(Settings::Legacy::FILE_PATH)
|
|
# Settings::Legacy.save!
|
|
# return
|
|
# end
|
|
#
|
|
# File.foreach(Settings::Legacy::FILE_PATH) do |line|
|
|
# if not line.include? "="
|
|
# next
|
|
# end
|
|
#
|
|
# key, value = line.strip.split("=", 2)
|
|
# puts ([key, value].join '=')
|
|
# case key
|
|
# when "bgm_volume"
|
|
# Audio.bgm_volume = value.to_i
|
|
# when "sfx_volume"
|
|
# Audio.sfx_volume = value.to_i
|
|
# when "fullscreen"
|
|
# Graphics.fullscreen = (value.casecmp "true") == 0
|
|
# when "default_run"
|
|
# $game_switches[251] = (value.casecmp "true") == 0
|
|
# when "colorblind_mode"
|
|
# $game_switches[252] = (value.casecmp "true") == 0
|
|
# when "automash_enabled"
|
|
# $game_switches[253] = (value.casecmp "true") == 0
|
|
# when "frameskip"
|
|
# Graphics.frameskip = (value.casecmp "true") == 0
|
|
# when "in_game_timer"
|
|
# $game_temp.igt_timer_visible = (value.casecmp "true") == 0
|
|
# $scene.in_game_timer.visible = $game_temp.igt_timer_visible if $scene.is_a?(Scene_Map)
|
|
# end
|
|
# end
|
|
# end
|
|
#
|
|
# def self.save!
|
|
# $persistent.save
|
|
# File.open(Settings::Legacy::FILE_PATH, 'w') do |f|
|
|
# f.puts (["bgm_volume", Audio.bgm_volume].join '=')
|
|
# f.puts (["sfx_volume", Audio.sfx_volume].join '=')
|
|
# f.puts (["fullscreen", Graphics.fullscreen].join '=')
|
|
# f.puts (["default_run", ($game_switches[251])].join '=')
|
|
# f.puts (["colorblind_mode", ($game_switches[252])].join '=')
|
|
# f.puts (["automash_enabled", ($game_switches[253])].join '=')
|
|
# f.puts (["frameskip", Graphics.frameskip].join '=')
|
|
# f.puts (["in_game_timer", $game_temp.igt_timer_visible].join '=')
|
|
# end
|
|
# end
|
|
#end
|
|
end
|