rgss3_default_scripts 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/Gemfile +4 -0
- data/README.md +9 -0
- data/Rakefile +2 -0
- data/lib/rgss3_default_scripts.rb +109 -0
- data/lib/rgss3_default_scripts/BattleManager.rb +392 -0
- data/lib/rgss3_default_scripts/Cache.rb +134 -0
- data/lib/rgss3_default_scripts/DataManager.rb +267 -0
- data/lib/rgss3_default_scripts/Game_Action.rb +262 -0
- data/lib/rgss3_default_scripts/Game_ActionResult.rb +159 -0
- data/lib/rgss3_default_scripts/Game_Actor.rb +696 -0
- data/lib/rgss3_default_scripts/Game_Actors.rb +22 -0
- data/lib/rgss3_default_scripts/Game_BaseItem.rb +51 -0
- data/lib/rgss3_default_scripts/Game_Battler.rb +824 -0
- data/lib/rgss3_default_scripts/Game_BattlerBase.rb +731 -0
- data/lib/rgss3_default_scripts/Game_Character.rb +396 -0
- data/lib/rgss3_default_scripts/Game_CharacterBase.rb +443 -0
- data/lib/rgss3_default_scripts/Game_CommonEvent.rb +41 -0
- data/lib/rgss3_default_scripts/Game_Enemy.rb +264 -0
- data/lib/rgss3_default_scripts/Game_Event.rb +308 -0
- data/lib/rgss3_default_scripts/Game_Follower.rb +74 -0
- data/lib/rgss3_default_scripts/Game_Followers.rb +112 -0
- data/lib/rgss3_default_scripts/Game_Interpreter.rb +1413 -0
- data/lib/rgss3_default_scripts/Game_Map.rb +704 -0
- data/lib/rgss3_default_scripts/Game_Message.rb +101 -0
- data/lib/rgss3_default_scripts/Game_Party.rb +418 -0
- data/lib/rgss3_default_scripts/Game_Picture.rb +161 -0
- data/lib/rgss3_default_scripts/Game_Pictures.rb +28 -0
- data/lib/rgss3_default_scripts/Game_Player.rb +488 -0
- data/lib/rgss3_default_scripts/Game_Screen.rb +234 -0
- data/lib/rgss3_default_scripts/Game_SelfSwitches.rb +35 -0
- data/lib/rgss3_default_scripts/Game_Switches.rb +35 -0
- data/lib/rgss3_default_scripts/Game_System.rb +122 -0
- data/lib/rgss3_default_scripts/Game_Temp.rb +45 -0
- data/lib/rgss3_default_scripts/Game_Timer.rb +56 -0
- data/lib/rgss3_default_scripts/Game_Troop.rb +205 -0
- data/lib/rgss3_default_scripts/Game_Unit.rb +131 -0
- data/lib/rgss3_default_scripts/Game_Variables.rb +34 -0
- data/lib/rgss3_default_scripts/Game_Vehicle.rb +193 -0
- data/lib/rgss3_default_scripts/SceneManager.rb +94 -0
- data/lib/rgss3_default_scripts/Scene_Base.rb +132 -0
- data/lib/rgss3_default_scripts/Scene_Battle.rb +693 -0
- data/lib/rgss3_default_scripts/Scene_Debug.rb +87 -0
- data/lib/rgss3_default_scripts/Scene_End.rb +61 -0
- data/lib/rgss3_default_scripts/Scene_Equip.rb +144 -0
- data/lib/rgss3_default_scripts/Scene_File.rb +203 -0
- data/lib/rgss3_default_scripts/Scene_Gameover.rb +85 -0
- data/lib/rgss3_default_scripts/Scene_Item.rb +75 -0
- data/lib/rgss3_default_scripts/Scene_ItemBase.rb +147 -0
- data/lib/rgss3_default_scripts/Scene_Load.rb +40 -0
- data/lib/rgss3_default_scripts/Scene_Map.rb +276 -0
- data/lib/rgss3_default_scripts/Scene_Menu.rb +127 -0
- data/lib/rgss3_default_scripts/Scene_MenuBase.rb +63 -0
- data/lib/rgss3_default_scripts/Scene_Name.rb +32 -0
- data/lib/rgss3_default_scripts/Scene_Save.rb +38 -0
- data/lib/rgss3_default_scripts/Scene_Shop.rb +299 -0
- data/lib/rgss3_default_scripts/Scene_Skill.rb +108 -0
- data/lib/rgss3_default_scripts/Scene_Status.rb +25 -0
- data/lib/rgss3_default_scripts/Scene_Title.rb +137 -0
- data/lib/rgss3_default_scripts/Sound.rb +135 -0
- data/lib/rgss3_default_scripts/Sprite_Base.rb +232 -0
- data/lib/rgss3_default_scripts/Sprite_Battler.rb +231 -0
- data/lib/rgss3_default_scripts/Sprite_Character.rb +226 -0
- data/lib/rgss3_default_scripts/Sprite_Picture.rb +82 -0
- data/lib/rgss3_default_scripts/Sprite_Timer.rb +77 -0
- data/lib/rgss3_default_scripts/Spriteset_Battle.rb +389 -0
- data/lib/rgss3_default_scripts/Spriteset_Map.rb +273 -0
- data/lib/rgss3_default_scripts/Spriteset_Weather.rb +184 -0
- data/lib/rgss3_default_scripts/Vocab.rb +145 -0
- data/lib/rgss3_default_scripts/Window_ActorCommand.rb +78 -0
- data/lib/rgss3_default_scripts/Window_Base.rb +571 -0
- data/lib/rgss3_default_scripts/Window_BattleActor.rb +38 -0
- data/lib/rgss3_default_scripts/Window_BattleEnemy.rb +70 -0
- data/lib/rgss3_default_scripts/Window_BattleItem.rb +40 -0
- data/lib/rgss3_default_scripts/Window_BattleLog.rb +425 -0
- data/lib/rgss3_default_scripts/Window_BattleSkill.rb +34 -0
- data/lib/rgss3_default_scripts/Window_BattleStatus.rb +111 -0
- data/lib/rgss3_default_scripts/Window_ChoiceList.rb +88 -0
- data/lib/rgss3_default_scripts/Window_Command.rb +152 -0
- data/lib/rgss3_default_scripts/Window_DebugLeft.rb +104 -0
- data/lib/rgss3_default_scripts/Window_DebugRight.rb +119 -0
- data/lib/rgss3_default_scripts/Window_EquipCommand.rb +36 -0
- data/lib/rgss3_default_scripts/Window_EquipItem.rb +78 -0
- data/lib/rgss3_default_scripts/Window_EquipSlot.rb +111 -0
- data/lib/rgss3_default_scripts/Window_EquipStatus.rb +97 -0
- data/lib/rgss3_default_scripts/Window_GameEnd.rb +38 -0
- data/lib/rgss3_default_scripts/Window_Gold.rb +47 -0
- data/lib/rgss3_default_scripts/Window_Help.rb +43 -0
- data/lib/rgss3_default_scripts/Window_HorzCommand.rb +106 -0
- data/lib/rgss3_default_scripts/Window_ItemCategory.rb +54 -0
- data/lib/rgss3_default_scripts/Window_ItemList.rb +117 -0
- data/lib/rgss3_default_scripts/Window_KeyItem.rb +55 -0
- data/lib/rgss3_default_scripts/Window_MapName.rb +96 -0
- data/lib/rgss3_default_scripts/Window_MenuActor.rb +43 -0
- data/lib/rgss3_default_scripts/Window_MenuCommand.rb +106 -0
- data/lib/rgss3_default_scripts/Window_MenuStatus.rb +85 -0
- data/lib/rgss3_default_scripts/Window_Message.rb +397 -0
- data/lib/rgss3_default_scripts/Window_NameEdit.rb +129 -0
- data/lib/rgss3_default_scripts/Window_NameInput.rb +253 -0
- data/lib/rgss3_default_scripts/Window_NumberInput.rb +148 -0
- data/lib/rgss3_default_scripts/Window_PartyCommand.rb +47 -0
- data/lib/rgss3_default_scripts/Window_SaveFile.rb +69 -0
- data/lib/rgss3_default_scripts/Window_ScrollText.rb +90 -0
- data/lib/rgss3_default_scripts/Window_Selectable.rb +442 -0
- data/lib/rgss3_default_scripts/Window_ShopBuy.rb +115 -0
- data/lib/rgss3_default_scripts/Window_ShopCommand.rb +36 -0
- data/lib/rgss3_default_scripts/Window_ShopNumber.rb +137 -0
- data/lib/rgss3_default_scripts/Window_ShopSell.rb +27 -0
- data/lib/rgss3_default_scripts/Window_ShopStatus.rb +124 -0
- data/lib/rgss3_default_scripts/Window_SkillCommand.rb +76 -0
- data/lib/rgss3_default_scripts/Window_SkillList.rb +121 -0
- data/lib/rgss3_default_scripts/Window_SkillStatus.rb +38 -0
- data/lib/rgss3_default_scripts/Window_Status.rb +125 -0
- data/lib/rgss3_default_scripts/Window_TitleCommand.rb +45 -0
- data/rgss3_default_scripts.gemspec +23 -0
- metadata +186 -0
@@ -0,0 +1,87 @@
|
|
1
|
+
#==============================================================================
|
2
|
+
# ** Scene_Debug
|
3
|
+
#------------------------------------------------------------------------------
|
4
|
+
# This class performs debug screen processing.
|
5
|
+
#==============================================================================
|
6
|
+
|
7
|
+
class Scene_Debug < Scene_MenuBase
|
8
|
+
#--------------------------------------------------------------------------
|
9
|
+
# * Start Processing
|
10
|
+
#--------------------------------------------------------------------------
|
11
|
+
def start
|
12
|
+
super
|
13
|
+
create_left_window
|
14
|
+
create_right_window
|
15
|
+
create_debug_help_window
|
16
|
+
end
|
17
|
+
#--------------------------------------------------------------------------
|
18
|
+
# * Termination Processing
|
19
|
+
#--------------------------------------------------------------------------
|
20
|
+
def terminate
|
21
|
+
super
|
22
|
+
#$game_map.refresh
|
23
|
+
end
|
24
|
+
#--------------------------------------------------------------------------
|
25
|
+
# * Create Left Window
|
26
|
+
#--------------------------------------------------------------------------
|
27
|
+
def create_left_window
|
28
|
+
@left_window = Window_DebugLeft.new(0, 0)
|
29
|
+
@left_window.set_handler(:ok, method(:on_left_ok))
|
30
|
+
@left_window.set_handler(:cancel, method(:return_scene))
|
31
|
+
end
|
32
|
+
#--------------------------------------------------------------------------
|
33
|
+
# * Create Right Window
|
34
|
+
#--------------------------------------------------------------------------
|
35
|
+
def create_right_window
|
36
|
+
wx = @left_window.width
|
37
|
+
ww = Graphics.width - wx
|
38
|
+
@right_window = Window_DebugRight.new(wx, 0, ww)
|
39
|
+
@right_window.set_handler(:cancel, method(:on_right_cancel))
|
40
|
+
@left_window.right_window = @right_window
|
41
|
+
end
|
42
|
+
#--------------------------------------------------------------------------
|
43
|
+
# * Create Help Window
|
44
|
+
#--------------------------------------------------------------------------
|
45
|
+
def create_debug_help_window
|
46
|
+
wx = @right_window.x
|
47
|
+
wy = @right_window.height
|
48
|
+
ww = @right_window.width
|
49
|
+
wh = Graphics.height - wy
|
50
|
+
@debug_help_window = Window_Base.new(wx, wy, ww, wh)
|
51
|
+
end
|
52
|
+
#--------------------------------------------------------------------------
|
53
|
+
# * Left [OK]
|
54
|
+
#--------------------------------------------------------------------------
|
55
|
+
def on_left_ok
|
56
|
+
refresh_help_window
|
57
|
+
@right_window.activate
|
58
|
+
@right_window.select(0)
|
59
|
+
end
|
60
|
+
#--------------------------------------------------------------------------
|
61
|
+
# * Right [Cancel]
|
62
|
+
#--------------------------------------------------------------------------
|
63
|
+
def on_right_cancel
|
64
|
+
@left_window.activate
|
65
|
+
@right_window.unselect
|
66
|
+
@debug_help_window.contents.clear
|
67
|
+
end
|
68
|
+
#--------------------------------------------------------------------------
|
69
|
+
# * Refresh Help Window
|
70
|
+
#--------------------------------------------------------------------------
|
71
|
+
def refresh_help_window
|
72
|
+
@debug_help_window.draw_text_ex(4, 0, help_text)
|
73
|
+
end
|
74
|
+
#--------------------------------------------------------------------------
|
75
|
+
# * Get Help Text
|
76
|
+
#--------------------------------------------------------------------------
|
77
|
+
def help_text
|
78
|
+
if @left_window.mode == :switch
|
79
|
+
"C (Enter) : ON / OFF"
|
80
|
+
else
|
81
|
+
"← (Left) : -1\n" +
|
82
|
+
"→ (Right) : +1\n" +
|
83
|
+
"L (Pageup) : -10\n" +
|
84
|
+
"R (Pagedown) : +10"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#==============================================================================
|
2
|
+
# ** Scene_End
|
3
|
+
#------------------------------------------------------------------------------
|
4
|
+
# This class performs game over screen processing.
|
5
|
+
#==============================================================================
|
6
|
+
|
7
|
+
class Scene_End < Scene_MenuBase
|
8
|
+
#--------------------------------------------------------------------------
|
9
|
+
# * Start Processing
|
10
|
+
#--------------------------------------------------------------------------
|
11
|
+
def start
|
12
|
+
super
|
13
|
+
create_command_window
|
14
|
+
end
|
15
|
+
#--------------------------------------------------------------------------
|
16
|
+
# * Pre-Termination Processing
|
17
|
+
#--------------------------------------------------------------------------
|
18
|
+
def pre_terminate
|
19
|
+
super
|
20
|
+
close_command_window
|
21
|
+
end
|
22
|
+
#--------------------------------------------------------------------------
|
23
|
+
# * Create Background
|
24
|
+
#--------------------------------------------------------------------------
|
25
|
+
def create_background
|
26
|
+
super
|
27
|
+
@background_sprite.tone.set(0, 0, 0, 128)
|
28
|
+
end
|
29
|
+
#--------------------------------------------------------------------------
|
30
|
+
# * Create Command Window
|
31
|
+
#--------------------------------------------------------------------------
|
32
|
+
def create_command_window
|
33
|
+
@command_window = Window_GameEnd.new
|
34
|
+
@command_window.set_handler(:to_title, method(:command_to_title))
|
35
|
+
@command_window.set_handler(:shutdown, method(:command_shutdown))
|
36
|
+
@command_window.set_handler(:cancel, method(:return_scene))
|
37
|
+
end
|
38
|
+
#--------------------------------------------------------------------------
|
39
|
+
# * Close Command Window
|
40
|
+
#--------------------------------------------------------------------------
|
41
|
+
def close_command_window
|
42
|
+
@command_window.close
|
43
|
+
update until @command_window.close?
|
44
|
+
end
|
45
|
+
#--------------------------------------------------------------------------
|
46
|
+
# * [Go to Title] Command
|
47
|
+
#--------------------------------------------------------------------------
|
48
|
+
def command_to_title
|
49
|
+
close_command_window
|
50
|
+
fadeout_all
|
51
|
+
SceneManager.goto(Scene_Title)
|
52
|
+
end
|
53
|
+
#--------------------------------------------------------------------------
|
54
|
+
# * [Shut Down] Command
|
55
|
+
#--------------------------------------------------------------------------
|
56
|
+
def command_shutdown
|
57
|
+
close_command_window
|
58
|
+
fadeout_all
|
59
|
+
SceneManager.exit
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,144 @@
|
|
1
|
+
#==============================================================================
|
2
|
+
# ** Scene_Equip
|
3
|
+
#------------------------------------------------------------------------------
|
4
|
+
# This class performs the equipment screen processing.
|
5
|
+
#==============================================================================
|
6
|
+
|
7
|
+
class Scene_Equip < Scene_MenuBase
|
8
|
+
#--------------------------------------------------------------------------
|
9
|
+
# * Start Processing
|
10
|
+
#--------------------------------------------------------------------------
|
11
|
+
def start
|
12
|
+
super
|
13
|
+
create_help_window
|
14
|
+
create_status_window
|
15
|
+
create_command_window
|
16
|
+
create_slot_window
|
17
|
+
create_item_window
|
18
|
+
end
|
19
|
+
#--------------------------------------------------------------------------
|
20
|
+
# * Create Status Window
|
21
|
+
#--------------------------------------------------------------------------
|
22
|
+
def create_status_window
|
23
|
+
@status_window = Window_EquipStatus.new(0, @help_window.height)
|
24
|
+
@status_window.viewport = @viewport
|
25
|
+
@status_window.actor = @actor
|
26
|
+
end
|
27
|
+
#--------------------------------------------------------------------------
|
28
|
+
# * Create Command Window
|
29
|
+
#--------------------------------------------------------------------------
|
30
|
+
def create_command_window
|
31
|
+
wx = @status_window.width
|
32
|
+
wy = @help_window.height
|
33
|
+
ww = Graphics.width - @status_window.width
|
34
|
+
@command_window = Window_EquipCommand.new(wx, wy, ww)
|
35
|
+
@command_window.viewport = @viewport
|
36
|
+
@command_window.help_window = @help_window
|
37
|
+
@command_window.set_handler(:equip, method(:command_equip))
|
38
|
+
@command_window.set_handler(:optimize, method(:command_optimize))
|
39
|
+
@command_window.set_handler(:clear, method(:command_clear))
|
40
|
+
@command_window.set_handler(:cancel, method(:return_scene))
|
41
|
+
@command_window.set_handler(:pagedown, method(:next_actor))
|
42
|
+
@command_window.set_handler(:pageup, method(:prev_actor))
|
43
|
+
end
|
44
|
+
#--------------------------------------------------------------------------
|
45
|
+
# * Create Slot Window
|
46
|
+
#--------------------------------------------------------------------------
|
47
|
+
def create_slot_window
|
48
|
+
wx = @status_window.width
|
49
|
+
wy = @command_window.y + @command_window.height
|
50
|
+
ww = Graphics.width - @status_window.width
|
51
|
+
@slot_window = Window_EquipSlot.new(wx, wy, ww)
|
52
|
+
@slot_window.viewport = @viewport
|
53
|
+
@slot_window.help_window = @help_window
|
54
|
+
@slot_window.status_window = @status_window
|
55
|
+
@slot_window.actor = @actor
|
56
|
+
@slot_window.set_handler(:ok, method(:on_slot_ok))
|
57
|
+
@slot_window.set_handler(:cancel, method(:on_slot_cancel))
|
58
|
+
end
|
59
|
+
#--------------------------------------------------------------------------
|
60
|
+
# * Create Item Window
|
61
|
+
#--------------------------------------------------------------------------
|
62
|
+
def create_item_window
|
63
|
+
wx = 0
|
64
|
+
wy = @slot_window.y + @slot_window.height
|
65
|
+
ww = Graphics.width
|
66
|
+
wh = Graphics.height - wy
|
67
|
+
@item_window = Window_EquipItem.new(wx, wy, ww, wh)
|
68
|
+
@item_window.viewport = @viewport
|
69
|
+
@item_window.help_window = @help_window
|
70
|
+
@item_window.status_window = @status_window
|
71
|
+
@item_window.actor = @actor
|
72
|
+
@item_window.set_handler(:ok, method(:on_item_ok))
|
73
|
+
@item_window.set_handler(:cancel, method(:on_item_cancel))
|
74
|
+
@slot_window.item_window = @item_window
|
75
|
+
end
|
76
|
+
#--------------------------------------------------------------------------
|
77
|
+
# * [Change Equipment] Command
|
78
|
+
#--------------------------------------------------------------------------
|
79
|
+
def command_equip
|
80
|
+
@slot_window.activate
|
81
|
+
@slot_window.select(0)
|
82
|
+
end
|
83
|
+
#--------------------------------------------------------------------------
|
84
|
+
# * [Ultimate Equipment] Command
|
85
|
+
#--------------------------------------------------------------------------
|
86
|
+
def command_optimize
|
87
|
+
Sound.play_equip
|
88
|
+
@actor.optimize_equipments
|
89
|
+
@status_window.refresh
|
90
|
+
@slot_window.refresh
|
91
|
+
@command_window.activate
|
92
|
+
end
|
93
|
+
#--------------------------------------------------------------------------
|
94
|
+
# * [Remove All] Command
|
95
|
+
#--------------------------------------------------------------------------
|
96
|
+
def command_clear
|
97
|
+
Sound.play_equip
|
98
|
+
@actor.clear_equipments
|
99
|
+
@status_window.refresh
|
100
|
+
@slot_window.refresh
|
101
|
+
@command_window.activate
|
102
|
+
end
|
103
|
+
#--------------------------------------------------------------------------
|
104
|
+
# * Slot [OK]
|
105
|
+
#--------------------------------------------------------------------------
|
106
|
+
def on_slot_ok
|
107
|
+
@item_window.activate
|
108
|
+
@item_window.select(0)
|
109
|
+
end
|
110
|
+
#--------------------------------------------------------------------------
|
111
|
+
# * Slot [Cancel]
|
112
|
+
#--------------------------------------------------------------------------
|
113
|
+
def on_slot_cancel
|
114
|
+
@slot_window.unselect
|
115
|
+
@command_window.activate
|
116
|
+
end
|
117
|
+
#--------------------------------------------------------------------------
|
118
|
+
# * Item [OK]
|
119
|
+
#--------------------------------------------------------------------------
|
120
|
+
def on_item_ok
|
121
|
+
Sound.play_equip
|
122
|
+
@actor.change_equip(@slot_window.index, @item_window.item)
|
123
|
+
@slot_window.activate
|
124
|
+
@slot_window.refresh
|
125
|
+
@item_window.unselect
|
126
|
+
@item_window.refresh
|
127
|
+
end
|
128
|
+
#--------------------------------------------------------------------------
|
129
|
+
# * Item [Cancel]
|
130
|
+
#--------------------------------------------------------------------------
|
131
|
+
def on_item_cancel
|
132
|
+
@slot_window.activate
|
133
|
+
@item_window.unselect
|
134
|
+
end
|
135
|
+
#--------------------------------------------------------------------------
|
136
|
+
# * Change Actors
|
137
|
+
#--------------------------------------------------------------------------
|
138
|
+
def on_actor_change
|
139
|
+
@status_window.actor = @actor
|
140
|
+
@slot_window.actor = @actor
|
141
|
+
@item_window.actor = @actor
|
142
|
+
@command_window.activate
|
143
|
+
end
|
144
|
+
end
|
@@ -0,0 +1,203 @@
|
|
1
|
+
#==============================================================================
|
2
|
+
# ** Scene_File
|
3
|
+
#------------------------------------------------------------------------------
|
4
|
+
# This class performs common processing for the save screen and load screen.
|
5
|
+
#==============================================================================
|
6
|
+
|
7
|
+
class Scene_File < Scene_MenuBase
|
8
|
+
#--------------------------------------------------------------------------
|
9
|
+
# * Start Processing
|
10
|
+
#--------------------------------------------------------------------------
|
11
|
+
def start
|
12
|
+
super
|
13
|
+
create_help_window
|
14
|
+
create_savefile_viewport
|
15
|
+
create_savefile_windows
|
16
|
+
init_selection
|
17
|
+
end
|
18
|
+
#--------------------------------------------------------------------------
|
19
|
+
# * Termination Processing
|
20
|
+
#--------------------------------------------------------------------------
|
21
|
+
def terminate
|
22
|
+
super
|
23
|
+
@savefile_viewport.dispose
|
24
|
+
@savefile_windows.each {|window| window.dispose }
|
25
|
+
end
|
26
|
+
#--------------------------------------------------------------------------
|
27
|
+
# * Frame Update
|
28
|
+
#--------------------------------------------------------------------------
|
29
|
+
def update
|
30
|
+
super
|
31
|
+
@savefile_windows.each {|window| window.update }
|
32
|
+
update_savefile_selection
|
33
|
+
end
|
34
|
+
#--------------------------------------------------------------------------
|
35
|
+
# * Create Help Window
|
36
|
+
#--------------------------------------------------------------------------
|
37
|
+
def create_help_window
|
38
|
+
@help_window = Window_Help.new(1)
|
39
|
+
@help_window.set_text(help_window_text)
|
40
|
+
end
|
41
|
+
#--------------------------------------------------------------------------
|
42
|
+
# * Get Help Window Text
|
43
|
+
#--------------------------------------------------------------------------
|
44
|
+
def help_window_text
|
45
|
+
return ""
|
46
|
+
end
|
47
|
+
#--------------------------------------------------------------------------
|
48
|
+
# * Create Save File Viewport
|
49
|
+
#--------------------------------------------------------------------------
|
50
|
+
def create_savefile_viewport
|
51
|
+
@savefile_viewport = Viewport.new
|
52
|
+
@savefile_viewport.rect.y = @help_window.height
|
53
|
+
@savefile_viewport.rect.height -= @help_window.height
|
54
|
+
end
|
55
|
+
#--------------------------------------------------------------------------
|
56
|
+
# * Create Save File Window
|
57
|
+
#--------------------------------------------------------------------------
|
58
|
+
def create_savefile_windows
|
59
|
+
@savefile_windows = Array.new(item_max) do |i|
|
60
|
+
Window_SaveFile.new(savefile_height, i)
|
61
|
+
end
|
62
|
+
@savefile_windows.each {|window| window.viewport = @savefile_viewport }
|
63
|
+
end
|
64
|
+
#--------------------------------------------------------------------------
|
65
|
+
# * Initialize Selection State
|
66
|
+
#--------------------------------------------------------------------------
|
67
|
+
def init_selection
|
68
|
+
@index = first_savefile_index
|
69
|
+
@savefile_windows[@index].selected = true
|
70
|
+
self.top_index = @index - visible_max / 2
|
71
|
+
ensure_cursor_visible
|
72
|
+
end
|
73
|
+
#--------------------------------------------------------------------------
|
74
|
+
# * Get Number of Items
|
75
|
+
#--------------------------------------------------------------------------
|
76
|
+
def item_max
|
77
|
+
DataManager.savefile_max
|
78
|
+
end
|
79
|
+
#--------------------------------------------------------------------------
|
80
|
+
# * Get Number of Save Files to Show on Screen
|
81
|
+
#--------------------------------------------------------------------------
|
82
|
+
def visible_max
|
83
|
+
return 4
|
84
|
+
end
|
85
|
+
#--------------------------------------------------------------------------
|
86
|
+
# * Get Height of Save File Window
|
87
|
+
#--------------------------------------------------------------------------
|
88
|
+
def savefile_height
|
89
|
+
@savefile_viewport.rect.height / visible_max
|
90
|
+
end
|
91
|
+
#--------------------------------------------------------------------------
|
92
|
+
# * Get File Index to Select First
|
93
|
+
#--------------------------------------------------------------------------
|
94
|
+
def first_savefile_index
|
95
|
+
return 0
|
96
|
+
end
|
97
|
+
#--------------------------------------------------------------------------
|
98
|
+
# * Get Current Index
|
99
|
+
#--------------------------------------------------------------------------
|
100
|
+
def index
|
101
|
+
@index
|
102
|
+
end
|
103
|
+
#--------------------------------------------------------------------------
|
104
|
+
# * Get Top Index
|
105
|
+
#--------------------------------------------------------------------------
|
106
|
+
def top_index
|
107
|
+
@savefile_viewport.oy / savefile_height
|
108
|
+
end
|
109
|
+
#--------------------------------------------------------------------------
|
110
|
+
# * Set Top Index
|
111
|
+
#--------------------------------------------------------------------------
|
112
|
+
def top_index=(index)
|
113
|
+
index = 0 if index < 0
|
114
|
+
index = item_max - visible_max if index > item_max - visible_max
|
115
|
+
@savefile_viewport.oy = index * savefile_height
|
116
|
+
end
|
117
|
+
#--------------------------------------------------------------------------
|
118
|
+
# * Get Bottom Index
|
119
|
+
#--------------------------------------------------------------------------
|
120
|
+
def bottom_index
|
121
|
+
top_index + visible_max - 1
|
122
|
+
end
|
123
|
+
#--------------------------------------------------------------------------
|
124
|
+
# * Set Bottom Index
|
125
|
+
#--------------------------------------------------------------------------
|
126
|
+
def bottom_index=(index)
|
127
|
+
self.top_index = index - (visible_max - 1)
|
128
|
+
end
|
129
|
+
#--------------------------------------------------------------------------
|
130
|
+
# * Update Save File Selection
|
131
|
+
#--------------------------------------------------------------------------
|
132
|
+
def update_savefile_selection
|
133
|
+
return on_savefile_ok if Input.trigger?(:C)
|
134
|
+
return on_savefile_cancel if Input.trigger?(:B)
|
135
|
+
update_cursor
|
136
|
+
end
|
137
|
+
#--------------------------------------------------------------------------
|
138
|
+
# * Save File [OK]
|
139
|
+
#--------------------------------------------------------------------------
|
140
|
+
def on_savefile_ok
|
141
|
+
end
|
142
|
+
#--------------------------------------------------------------------------
|
143
|
+
# * Save File [Cancel]
|
144
|
+
#--------------------------------------------------------------------------
|
145
|
+
def on_savefile_cancel
|
146
|
+
Sound.play_cancel
|
147
|
+
return_scene
|
148
|
+
end
|
149
|
+
#--------------------------------------------------------------------------
|
150
|
+
# * Update Cursor
|
151
|
+
#--------------------------------------------------------------------------
|
152
|
+
def update_cursor
|
153
|
+
last_index = @index
|
154
|
+
cursor_down (Input.trigger?(:DOWN)) if Input.repeat?(:DOWN)
|
155
|
+
cursor_up (Input.trigger?(:UP)) if Input.repeat?(:UP)
|
156
|
+
cursor_pagedown if Input.trigger?(:R)
|
157
|
+
cursor_pageup if Input.trigger?(:L)
|
158
|
+
if @index != last_index
|
159
|
+
Sound.play_cursor
|
160
|
+
@savefile_windows[last_index].selected = false
|
161
|
+
@savefile_windows[@index].selected = true
|
162
|
+
end
|
163
|
+
end
|
164
|
+
#--------------------------------------------------------------------------
|
165
|
+
# * Move Cursor Down
|
166
|
+
#--------------------------------------------------------------------------
|
167
|
+
def cursor_down(wrap)
|
168
|
+
@index = (@index + 1) % item_max if @index < item_max - 1 || wrap
|
169
|
+
ensure_cursor_visible
|
170
|
+
end
|
171
|
+
#--------------------------------------------------------------------------
|
172
|
+
# * Move Cursor Up
|
173
|
+
#--------------------------------------------------------------------------
|
174
|
+
def cursor_up(wrap)
|
175
|
+
@index = (@index - 1 + item_max) % item_max if @index > 0 || wrap
|
176
|
+
ensure_cursor_visible
|
177
|
+
end
|
178
|
+
#--------------------------------------------------------------------------
|
179
|
+
# * Move Cursor One Page Down
|
180
|
+
#--------------------------------------------------------------------------
|
181
|
+
def cursor_pagedown
|
182
|
+
if top_index + visible_max < item_max
|
183
|
+
self.top_index += visible_max
|
184
|
+
@index = [@index + visible_max, item_max - 1].min
|
185
|
+
end
|
186
|
+
end
|
187
|
+
#--------------------------------------------------------------------------
|
188
|
+
# * Move Cursor One Page Up
|
189
|
+
#--------------------------------------------------------------------------
|
190
|
+
def cursor_pageup
|
191
|
+
if top_index > 0
|
192
|
+
self.top_index -= visible_max
|
193
|
+
@index = [@index - visible_max, 0].max
|
194
|
+
end
|
195
|
+
end
|
196
|
+
#--------------------------------------------------------------------------
|
197
|
+
# * Scroll Cursor to Position Within Screen
|
198
|
+
#--------------------------------------------------------------------------
|
199
|
+
def ensure_cursor_visible
|
200
|
+
self.top_index = index if index < top_index
|
201
|
+
self.bottom_index = index if index > bottom_index
|
202
|
+
end
|
203
|
+
end
|