settings icons and parameters disabling

This commit is contained in:
Issac332 2026-07-28 14:13:15 +03:00
parent 29998e2385
commit bea36d374e
5 changed files with 234 additions and 86 deletions

View file

@ -23,8 +23,8 @@ module RPG
else
path = Graphics.adapted_file(folder_name + filename)
end
else
path = Graphics.adapted_file(folder_name + filename)
else
path = Graphics.adapted_file(folder_name + filename)
end
if not @cache.include?(path) or @cache[path].disposed?
if filename != ""

View file

@ -3,53 +3,53 @@ module Settings
def reset!
@data = {
# Audio
:bgm_volume => 100,
:sfx_volume => 100,
:use_fight_crime_track => false,
:bgm_volume => 100,
:sfx_volume => 100,
:use_fight_crime_track => false,
# Video
:fullscreen => false,
:resolution => 0,
:colorblind => false,
:frameskip => true,
:twm_shader => true,
:light => true,
:scaling_mode => 0,
:fullscreen => false,
:resolution => 0,
:colorblind => false,
:frameskip => true,
:twm_shader => true,
:light => true,
:scaling_mode => 0,
# UI
:in_game_timer => false,
:language => 0,
:fasttravel_ui => 0,
:in_game_timer => false,
:language => 0,
:fasttravel_ui => 0,
# Gameplay
:movement => 0,
:skip_text => false,
:en_purple_messagebox => true,
:enforce_april_fools => false,
:true_memory_mode => false,
:oneshot_mode => false,
:twm_shader_footprint => true,
:movement => 0,
:skip_text => false,
:en_purple_messagebox => true,
:enforce_april_fools => false,
:true_memory_mode => false,
:oneshot_mode => false,
:twm_shader_footprint => true,
# Advanced
:crashlog_privacy => false,
:streamer_privacy => false,
:SDL_HINT_INVALID_PARAM_CHECKS => false,
:crashlog_privacy => false,
:streamer_privacy => false,
:SDL_HINT_INVALID_PARAM_CHECKS => false,
#controls
:gamepad_led => true,
:gamepad_deadzone => 5,
:gamepad_led => true,
:gamepad_deadzone => 5,
# Debug
:debug => false,
:debug_character => false,
:debug_text => false,
:debug_text_scene_title => true,
:debug_picture_names => false,
:debug_lightmap => false,
:SDL_HINT_SHUTDOWN_DBUS_ON_QUIT => false,
:debug => false,
:debug_character => false,
:debug_text => false,
:debug_text_scene_title => true,
:debug_picture_names => false,
:debug_lightmap => false,
:SDL_HINT_SHUTDOWN_DBUS_ON_QUIT => false,
#Hidden
:is_dejavu => false,
:is_dejavu => false,
}
reset_controls!
end
@ -127,12 +127,29 @@ end
class Window_Settings
# if parameter is linked to data in class Settings, then default value in this structure is ignored
DATA = {
"Help" => [
{ :type => :base, :name => "(!) - It's Dangerous!" },
{ :type => :base, :name => "(WIP) - Work In Progress" },
{ :type => :base, :name => "(GRR) - Game Restart Required" },
{ :type => :base, :name => "(LRR) - Location Reload Required" },
],
"Help" => [
#{ :type => :sep }
{
:type => :base,
:name => "- It's Dangerous!",
:icon => [1, 0]
},
{
:type => :base,
:name => "- Work In Progress",
:icon => [0, 1]
},
{
:type => :base,
:name => "- Game Restart Required",
:icon => [3, 0]
},
{
:type => :base,
:name => "- Location Reload Required",
:icon => [1, 1]
},
],
"Audio" => [
{
:type => :slider,
@ -208,11 +225,12 @@ class Window_Settings
:type => :enum,
:name => "FastTravel UI",
:parameter => :fasttravel_ui,
:icon => [0, 1],
:values => ["Original", "WME (WIP)"]
},
],
"Gameplay" => [
{ :type => :sep, :name => "Vanila" },
{ :type => :sep, :name => "Vanilla" },
{
:type => :bool,
:name => "Colorblind mode",
@ -247,12 +265,14 @@ class Window_Settings
},
{
:type => :bool,
:name => "Freeware Mode(!)",
:name => "Freeware Mode",
:icon => [1, 0],
:parameter => :oneshot_mode
},
{
:type => :bool,
:name => "World machine shader on Entity footprints(WIP)",
:name => "World machine shader on Entity footprints",
:icon => [0, 1],
:parameter => :twm_shader_footprint
},
],
@ -357,14 +377,16 @@ class Window_Settings
{ :type => :sep, :name => "Other" },
{
:type => :bool,
:name => "SDL_HINT_INVALID_PARAM_CHECKS (!)",
:name => "SDL_HINT_INVALID_PARAM_CHECKS",
:icon => [1, 0],
:parameter => :SDL_HINT_INVALID_PARAM_CHECKS
},
],
"Debug" => [
{
:type => :bool,
:name => "Debug mode(!)",
:name => "Debug mode",
:icon => [1, 0],
:parameter => :debug
},
{
@ -404,7 +426,7 @@ class Window_Settings
:parameter => :controls_debug,
:bind => Input::DEBUGACTION
},
{ :type => :seps},
{ :type => :sep },
{
:type => :action,
:name => "Clear image cache",
@ -412,7 +434,12 @@ class Window_Settings
}
],
"Mods" => [
{ :type => :base, :name => "Modloader enabled? #{ModLoader::IS_ENABLED}" },
{
:type => :base,
:name => "Modloader enabled?",
:default => ModLoader::IS_ENABLED ? "ON" : "OFF",
:disabled => true
},
],
}

View file

@ -6,6 +6,7 @@ class Window_Settings
PARAMETER_HEIGHT = 32
PARAMETER_VALUE_WIDTH = PARAMETER_WIDTH / 2
PARAMETER_KEY_WIDTH = PARAMETER_WIDTH / 5
ICON_SIZE = 16
# typed sizes
BOOL_VALUE_WIDTH = 120
@ -108,6 +109,7 @@ class Window_Settings
def add_parameter(sreen_name, parameter)
@parameters[sreen_name] << parameter
parameter
end
def get_parameter(screen_name, parameter_id)
@ -120,6 +122,21 @@ class Window_Settings
@parameters&.values&.[](@screen)&.[](@index)
end
def disable_setting(screen, position)
if screen.is_a?(String)
get_parameter(screen, position).disable
else
get_parameter_by_sceen_id(screen, position).disable
end
end
def enable_setting(screen, position)
if screen.is_a?(String)
get_parameter(screen, position).enable
else
get_parameter_by_sceen_id(screen, position).enable
end
end
# updating
def update()
screen_result_pos = @screen * Graphics.width
@ -309,7 +326,7 @@ class Window_Settings
class BaseParameter
TYPE = :base
def initialize(settings_content, screen_id, position, name, parameter, init_value)
def initialize(settings_content, screen_id, position, name, icon, parameter, init_value)
@settings_content = settings_content
@screen_id = screen_id
@position = position
@ -317,24 +334,38 @@ class Window_Settings
@value = Settings[parameter] || init_value
@parameter = parameter
@opacity = 1.0
@icon_position = icon
@disabled = false
@sprite = Sprite.new(@settings_content.viewport)
@sprite.bitmap = Bitmap.new(PARAMETER_WIDTH, PARAMETER_HEIGHT + 1)
@sprite.bitmap.font.size = 20
if @icon_position
@icon = Sprite.new(@settings_content.viewport)
@icon.bitmap = Bitmap.new(ICON_SIZE, ICON_SIZE)
@icon.zoom_x = @icon.zoom_y = 2
end
Language.register_text_sprite("settings_parameter #{screen_id}-#{position}", @sprite)
@value_width = PARAMETER_VALUE_WIDTH
self.value = self.value # appling init settings
redraw
end
def enable
@disabled = false
end
def disable
@disabled = true
end
def opacity
@opacity
end
def opacity=(value)
@opacity = value.to_f / 255.0
redraw
end
def value
@ -358,35 +389,59 @@ class Window_Settings
end
def name=(name)
@name = name
redraw()
redraw
end
def get_display_value()
self.value.to_s || "null"
end
def redraw_icon()
if @icon_position
@icon.bitmap.clear
@icon.bitmap.blt(0, 0, RPG::Cache.menu("icons"), Rect.new(@icon_position[0] * ICON_SIZE, @icon_position[1] * ICON_SIZE, ICON_SIZE, ICON_SIZE))
end
end
def redraw()
offset = !!@icon_position ? ICON_SIZE * 2 + 8 : 0
@sprite.bitmap.clear
@sprite.bitmap.draw_text(0, 0, @sprite.bitmap.width - @value_width, @sprite.bitmap.height, tr(@name))
@sprite.bitmap.draw_text(offset, 0, @sprite.bitmap.width - @value_width - offset, @sprite.bitmap.height, tr(@name))
@sprite.bitmap.draw_text(@sprite.bitmap.width - @value_width, 0, @value_width, @sprite.bitmap.height, tr(get_display_value), 2)
if (@settings_content.need_draw_line(@screen_id, @position))
@sprite.bitmap.fill_rect(Rect.new(0, PARAMETER_HEIGHT - 1, PARAMETER_WIDTH, 2), Color.new(255, 255, 255, 24))
end
#if @icon_position
# @sprite.bitmap.blt(0, (PARAMETER_HEIGHT - ICON_SIZE * 2) / 2, RPG::Cache.menu("icons"), Rect.new(@icon_position[0] * ICON_SIZE, @icon_position[1] * ICON_SIZE, ICON_SIZE, ICON_SIZE))
#end
redraw_icon
end
def update()
disabled_opacity = @disabled ? 0.5 : 1
@sprite.x = @screen_id * Graphics.width - @settings_content.visible_x + @settings_content.x
@sprite.y = @settings_content.visible_y + @position * PARAMETER_HEIGHT
@sprite.opacity = ((1.0 + ((@sprite.y - @settings_content.offset).to_f / 64.0).clamp(-1.0, 0.0)) * @opacity * (@settings_content.opacity.to_f / 255.0) * 255.0).to_i
@sprite.opacity = ((1.0 + ((@sprite.y - @settings_content.offset).to_f / 64.0).clamp(-1.0, 0.0)) * @opacity * (@settings_content.opacity.to_f / 255.0) * disabled_opacity * 255.0).to_i
if @icon_position
@icon.opacity = (@opacity * (@settings_content.opacity.to_f / 255.0) * disabled_opacity * 255.0)
@icon.x = @sprite.x
@icon.y = @sprite.y - (PARAMETER_HEIGHT - ICON_SIZE * 2) / 2
end
end
def dispose()
@sprite.dispose
if @icon_position
@icon.dispose
end
end
def value_left() end
def value_right() end
def action() end
# only for visual updating, its not selecting for real
def select(previous) end
def deselect() end
end
@ -395,17 +450,23 @@ class Window_Settings
class Separator < BaseParameter
TYPE = :sep
def initialize(settings_content, screen_id, position, name)
super(settings_content, screen_id, position, name, nil, "")
def initialize(settings_content, screen_id, position, name, icon)
super(settings_content, screen_id, position, name, icon, nil, "")
end
def redraw()
redraw_icon
@sprite.bitmap.clear
@sprite.bitmap.fill_rect(Rect.new(0, PARAMETER_HEIGHT / 2 - 1, PARAMETER_WIDTH, 2), Color.new(255, 255, 255, 64))
if (@name && @name != "")
offset = !!@icon_position ? ICON_SIZE + 8 : 0
name = tr(@name)
@sprite.bitmap.clear_rect(Rect.new((PARAMETER_WIDTH - name.length * 10) / 2 - 8, 0, name.length * 10 + 16, PARAMETER_HEIGHT))
@sprite.bitmap.draw_text(0, 0, @sprite.bitmap.width, @sprite.bitmap.height, name, 1)
text_width = @sprite.bitmap.text_size(name).width
@sprite.bitmap.clear_rect(Rect.new((PARAMETER_WIDTH - text_width - offset) / 2 - 8, 0, text_width + 16 + offset, PARAMETER_HEIGHT))
@sprite.bitmap.draw_text(offset, 0, @sprite.bitmap.width - offset, @sprite.bitmap.height, name, 1)
#if @icon_position
# @sprite.bitmap.blt((PARAMETER_WIDTH - text_width - offset - 16) / 2, (PARAMETER_HEIGHT - ICON_SIZE * 2) / 2, RPG::Cache.menu("icons"), Rect.new(@icon_position[0] * ICON_SIZE, @icon_position[1] * ICON_SIZE, ICON_SIZE, ICON_SIZE))
#end
end
end
end
@ -414,8 +475,8 @@ class Window_Settings
class BoolParameter < BaseParameter
TYPE = :bool
def initialize(settings_content, screen_id, position, name, parameter, bool_value)
super(settings_content, screen_id, position, name, parameter, bool_value || false)
def initialize(settings_content, screen_id, position, name, icon, parameter, bool_value)
super(settings_content, screen_id, position, name, icon, parameter, bool_value || false)
@value_width = BOOL_VALUE_WIDTH
end
@ -431,14 +492,17 @@ class Window_Settings
end
def value_left()
return if @disabled
self.value = !self.value
redraw
end
def value_right()
return if @disabled
self.value = !self.value
redraw
end
def action()
return if @disabled
self.value = !self.value
redraw
end
@ -448,11 +512,11 @@ class Window_Settings
class SwitchPatameter < BoolParameter
TYPE = :switch
def initialize(settings_content, screen_id, position, name, parameter, bool_value, switch, invert)
def initialize(settings_content, screen_id, position, name, icon, parameter, bool_value, switch, invert)
@switch = switch
@invert = invert
super(settings_content, screen_id, position, name, parameter, bool_value)
super(settings_content, screen_id, position, name, icon, parameter, bool_value)
end
def value=(value)
@ -471,11 +535,11 @@ class Window_Settings
attr_reader :max_value
attr_reader :min_value
def initialize(settings_content, screen_id, position, name, parameter, int_value, min_value, max_value)
def initialize(settings_content, screen_id, position, name, icon, parameter, int_value, min_value, max_value)
@min_value = min_value
@max_value = max_value
super(settings_content, screen_id, position, name, parameter, int_value)
super(settings_content, screen_id, position, name, icon, parameter, int_value)
end
def value=(value)
@ -486,10 +550,12 @@ class Window_Settings
end
def value_left()
return if @disabled
self.value = (self.value - 1).clamp(@min_value, @max_value)
redraw
end
def value_right()
return if @disabled
self.value = (self.value + 1).clamp(@min_value, @max_value)
redraw
end
@ -499,8 +565,8 @@ class Window_Settings
class SliderParameter < IntParameter
TYPE = :slider
def initialize(settings_content, screen_id, position, name, parameter, int_value, min_value, max_value)
super(settings_content, screen_id, position, name, parameter, int_value, min_value, max_value)
def initialize(settings_content, screen_id, position, name, icon, parameter, int_value, min_value, max_value)
super(settings_content, screen_id, position, name, icon, parameter, int_value, min_value, max_value)
end
def get_display_value()
@ -509,10 +575,12 @@ class Window_Settings
end
def redraw()
redraw_icon
offset = !!@icon_position ? ICON_SIZE * 2 + 8 : 0
@sprite.bitmap.clear
@sprite.bitmap.font.color = Color.new(255, 255, 255)
@sprite.bitmap.draw_text(0, 0, @sprite.bitmap.width - @value_width, @sprite.bitmap.height, tr(@name))
@sprite.bitmap.draw_text(offset, 0, @sprite.bitmap.width - @value_width - offset, @sprite.bitmap.height, tr(@name))
percent = (self.value.to_f - @min_value.to_f) / @max_value.to_f
width = (@value_width * percent).to_i
@ -531,6 +599,10 @@ class Window_Settings
if (@settings_content.need_draw_line(@screen_id, @position))
@sprite.bitmap.fill_rect(Rect.new(0, PARAMETER_HEIGHT - 1, PARAMETER_WIDTH, 2), Color.new(255, 255, 255, 24))
end
#if @icon_position
# @sprite.bitmap.blt(0, (PARAMETER_HEIGHT - ICON_SIZE * 2) / 2, RPG::Cache.menu("icons"), Rect.new(@icon_position[0] * ICON_SIZE, @icon_position[1] * ICON_SIZE, ICON_SIZE, ICON_SIZE))
#end
end
end
@ -542,12 +614,12 @@ class Window_Settings
attr_reader :min_value
attr_reader :step
def initialize(settings_content, screen_id, position, name, parameter, float_value, step, min_value, max_value)
def initialize(settings_content, screen_id, position, name, icon, parameter, float_value, step, min_value, max_value)
@step = step
@min_value = min_value
@max_value = max_value
super(settings_content, screen_id, position, name, parameter, float_value)
super(settings_content, screen_id, position, name, icon, parameter, float_value)
end
def value=(value)
@ -558,10 +630,12 @@ class Window_Settings
end
def value_left()
return if @disabled
self.value = (self.value - @step).clamp(@min_value, @max_value)
redraw
end
def value_right()
return if @disabled
self.value = (self.value + @step).clamp(@min_value, @max_value)
redraw
end
@ -571,10 +645,10 @@ class Window_Settings
class EnumParameter < IntParameter
TYPE = :enum
def initialize(settings_content, screen_id, position, name, parameter, int_value, enum_texts)
def initialize(settings_content, screen_id, position, name, icon, parameter, int_value, enum_texts)
@texts = enum_texts
super(settings_content, screen_id, position, name, parameter, int_value, 0, enum_texts.length - 1)
super(settings_content, screen_id, position, name, icon, parameter, int_value, 0, enum_texts.length - 1)
end
def get_display_value
@ -582,10 +656,12 @@ class Window_Settings
end
def value_left()
return if @disabled
self.value = (self.value - 1) % [1, @max_value + 1].max
redraw
end
def value_right()
return if @disabled
self.value = (self.value + 1) % [1, @max_value + 1].max
redraw
end
@ -599,7 +675,7 @@ class Window_Settings
attr_reader :selection
def initialize(settings_content, screen_id, position, name, parameter, key_binds, input_bind)
def initialize(settings_content, screen_id, position, name, icon, parameter, key_binds, input_bind)
@selected = false
@selection = 0
@key_binds = parameter ? Settings[parameter] : key_binds
@ -607,7 +683,7 @@ class Window_Settings
@waiting_for_key = false
@accept_action = false
super(settings_content, screen_id, position, name, parameter, nil)
super(settings_content, screen_id, position, name, icon, parameter, nil)
apply
end
@ -657,6 +733,8 @@ class Window_Settings
end
def redraw()
redraw_icon
offset = !!@icon_position ? ICON_SIZE * 2 + 8 : 0
if (@parameter)
@key_binds = Settings[@parameter]
end
@ -669,7 +747,7 @@ class Window_Settings
@sprite.bitmap.draw_text(@sprite.bitmap.width - PARAMETER_KEY_WIDTH * (3 - @selection) - SELECTED_KEYS_MARGIN, 0, SELECTED_KEYS_MARGIN, @sprite.bitmap.height, "", 1)
end
@sprite.bitmap.draw_text(0, 0, @sprite.bitmap.width - PARAMETER_KEY_WIDTH * 4, @sprite.bitmap.height, tr(@name))
@sprite.bitmap.draw_text(offset, 0, @sprite.bitmap.width - PARAMETER_KEY_WIDTH * 4 - offset, @sprite.bitmap.height, tr(@name))
for i in 0..3
offset = (@selected && i == @selection ? SELECTED_KEYS_MARGIN : 4)
parameter_x = @sprite.bitmap.width - PARAMETER_KEY_WIDTH * (4 - i) + offset
@ -680,6 +758,10 @@ class Window_Settings
if (@settings_content.need_draw_line(@screen_id, @position))
@sprite.bitmap.fill_rect(Rect.new(0, PARAMETER_HEIGHT - 1, PARAMETER_WIDTH, 2), Color.new(255, 255, 255, 24))
end
#if @icon_position
# @sprite.bitmap.blt(0, (PARAMETER_HEIGHT - ICON_SIZE * 2) / 2, RPG::Cache.menu("icons"), Rect.new(@icon_position[0] * ICON_SIZE, @icon_position[1] * ICON_SIZE, ICON_SIZE, ICON_SIZE))
#end
end
def value_left()
@ -698,6 +780,7 @@ class Window_Settings
end
def action()
return if @disabled
@accept_action = false
@waiting_for_key = true
@settings_content.waiting_for_key = true
@ -762,17 +845,18 @@ class Window_Settings
class ActionParameter < BaseParameter
TYPE = :action
def initialize(settings_content, screen_id, position, name, value_text, func, arg1, arg2, arg3, arg4)
def initialize(settings_content, screen_id, position, name, icon, value_text, func, arg1, arg2, arg3, arg4)
@func = func
@arg1 = arg1
@arg2 = arg2
@arg3 = arg3
@arg4 = arg4
super(settings_content, screen_id, position, name, nil, value_text)
super(settings_content, screen_id, position, name, icon, nil, value_text)
end
def action()
return if @disabled
if @arg1 == nil && @arg2 == nil && @arg3 == nil && @arg4 == nil
@func.call
elsif @arg2 == nil && @arg3 == nil && @arg4 == nil

View file

@ -452,4 +452,16 @@ class Scene_Map
@window_settings.redraw_all
end
end
def disable_setting(screen, parameter_id)
if @window_settings
@window_settings.disable_setting(screen, parameter_id)
end
end
def enable_setting(screen, parameter_id)
if @window_settings
@window_settings.enable_setting(screen, parameter_id)
end
end
end

View file

@ -67,43 +67,61 @@ class Window_Settings
DATA.each_with_index do |(screen_title, parameters_info), screen_index|
@content.add_screen(screen_title)
parameters_info.each_with_index do |parameter_info, parameter_index|
parameter = nil
if parameters_info == :sep
@content.add_parameter(screen_title, Separator.new(@content, screen_index, parameter_index, ""))
parameter = @content.add_parameter(screen_title, Separator.new(@content, screen_index, parameter_index, ""))
else
case parameter_info[:type]
when :base
parameter =
@content.add_parameter(screen_title, BaseParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default]))
when :bool
parameter =
@content.add_parameter(screen_title, BoolParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default]))
when :switch
parameter =
@content.add_parameter(screen_title, SwitchPatameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default], parameter_info[:switch], parameter_info[:invert]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default],
parameter_info[:switch], parameter_info[:invert]))
when :int
parameter =
@content.add_parameter(screen_title, IntParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default], parameter_info[:min], parameter_info[:max]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default],
parameter_info[:min], parameter_info[:max]))
when :slider
parameter =
@content.add_parameter(screen_title, SliderParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default], parameter_info[:min], parameter_info[:max]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default],
parameter_info[:min], parameter_info[:max]))
when :float
parameter =
@content.add_parameter(screen_title, FloatParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default], parameter_info[:step], parameter_info[:min], parameter_info[:max]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default],
parameter_info[:step], parameter_info[:min], parameter_info[:max]))
when :enum
parameter =
@content.add_parameter(screen_title, EnumParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:default], parameter_info[:values]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:default],
parameter_info[:values]))
when :sep
parameter =
@content.add_parameter(screen_title, Separator.new(@content, screen_index, parameter_index,
parameter_info[:name]))
parameter_info[:name], parameter_info[:icon]))
when :key
parameter =
@content.add_parameter(screen_title, KeyParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:parameter], parameter_info[:key_binds], parameter_info[:bind]))
parameter_info[:name], parameter_info[:icon], parameter_info[:parameter], parameter_info[:key_binds],
parameter_info[:bind]))
when :action
parameter =
@content.add_parameter(screen_title, ActionParameter.new(@content, screen_index, parameter_index,
parameter_info[:name], parameter_info[:default], parameter_info[:action],
parameter_info[:name], parameter_info[:icon], parameter_info[:default], parameter_info[:action],
parameter_info[:arg1], parameter_info[:arg2], parameter_info[:arg3], parameter_info[:arg4]))
end
end
parameter.disable if parameter_info[:disabled] && parameter
end
end
@content.redraw_all
@ -116,6 +134,13 @@ class Window_Settings
@update_connection.disconnect
end
def disable_setting(screen, position)
@content.disable_setting(screen, position)
end
def enable_setting(screen, position)
@content.enable_setting(screen, position)
end
def open
self.visible = true
self.opacity = 0