rmxp_extractor 1.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CODE_OF_CONDUCT.md +74 -74
- data/Gemfile +13 -13
- data/Gemfile.lock +40 -40
- data/LICENSE.txt +21 -21
- data/README.md +37 -35
- data/Rakefile +6 -6
- data/bin/rmxp_extractor +13 -13
- data/bin/setup +8 -8
- data/diff_check.rb +13 -13
- data/lib/rmxp_extractor/classnames.rb +227 -245
- data/lib/rmxp_extractor/data_export.rb +80 -82
- data/lib/rmxp_extractor/data_import.rb +74 -69
- data/lib/rmxp_extractor/ron.rb +144 -144
- data/lib/rmxp_extractor/script_handler.rb +85 -85
- data/lib/rmxp_extractor/version.rb +3 -3
- data/lib/rmxp_extractor.rb +46 -46
- data/rmxp_extractor.gemspec +30 -30
- data/spec/spec_helper.rb +100 -100
- metadata +2 -393
- data/Data/Actors.rxdata +0 -0
- data/Data/Animations.rxdata +0 -0
- data/Data/Armors.rxdata +0 -0
- data/Data/Classes.rxdata +0 -0
- data/Data/CommonEvents.rxdata +0 -0
- data/Data/Enemies.rxdata +0 -0
- data/Data/Items.rxdata +0 -0
- data/Data/Map001.rxdata +0 -0
- data/Data/Map002.rxdata +0 -0
- data/Data/Map003.rxdata +0 -0
- data/Data/Map004.rxdata +0 -0
- data/Data/Map005.rxdata +0 -0
- data/Data/Map006.rxdata +0 -0
- data/Data/Map007.rxdata +0 -0
- data/Data/Map008.rxdata +0 -0
- data/Data/Map009.rxdata +0 -0
- data/Data/Map010.rxdata +0 -0
- data/Data/Map011.rxdata +0 -0
- data/Data/Map012.rxdata +0 -0
- data/Data/Map013.rxdata +0 -0
- data/Data/Map014.rxdata +0 -0
- data/Data/Map015.rxdata +0 -0
- data/Data/Map016.rxdata +0 -0
- data/Data/Map017.rxdata +0 -0
- data/Data/Map018.rxdata +0 -0
- data/Data/Map019.rxdata +0 -0
- data/Data/Map020.rxdata +0 -0
- data/Data/Map021.rxdata +0 -0
- data/Data/Map022.rxdata +0 -0
- data/Data/Map023.rxdata +0 -0
- data/Data/Map024.rxdata +0 -0
- data/Data/Map025.rxdata +0 -0
- data/Data/Map026.rxdata +0 -0
- data/Data/Map027.rxdata +0 -0
- data/Data/Map028.rxdata +0 -0
- data/Data/Map029.rxdata +0 -0
- data/Data/Map030.rxdata +0 -0
- data/Data/Map031.rxdata +0 -0
- data/Data/Map032.rxdata +0 -0
- data/Data/Map033.rxdata +0 -0
- data/Data/Map034.rxdata +0 -0
- data/Data/Map035.rxdata +0 -0
- data/Data/Map036.rxdata +0 -0
- data/Data/Map037.rxdata +0 -0
- data/Data/Map038.rxdata +0 -0
- data/Data/Map039.rxdata +0 -0
- data/Data/Map040.rxdata +0 -0
- data/Data/Map041.rxdata +0 -0
- data/Data/Map042.rxdata +0 -0
- data/Data/Map043.rxdata +0 -0
- data/Data/Map044.rxdata +0 -0
- data/Data/Map045.rxdata +0 -0
- data/Data/Map046.rxdata +0 -0
- data/Data/Map047.rxdata +0 -0
- data/Data/Map048.rxdata +0 -0
- data/Data/Map049.rxdata +0 -0
- data/Data/Map050.rxdata +0 -0
- data/Data/Map051.rxdata +0 -0
- data/Data/Map052.rxdata +0 -0
- data/Data/Map053.rxdata +0 -0
- data/Data/Map054.rxdata +0 -0
- data/Data/Map055.rxdata +0 -0
- data/Data/Map056.rxdata +0 -0
- data/Data/Map057.rxdata +0 -0
- data/Data/Map058.rxdata +0 -0
- data/Data/Map059.rxdata +0 -0
- data/Data/Map060.rxdata +0 -0
- data/Data/Map061.rxdata +0 -0
- data/Data/Map062.rxdata +0 -0
- data/Data/Map063.rxdata +0 -0
- data/Data/Map064.rxdata +0 -0
- data/Data/Map065.rxdata +0 -0
- data/Data/Map066.rxdata +0 -0
- data/Data/Map067.rxdata +0 -0
- data/Data/Map068.rxdata +0 -0
- data/Data/Map069.rxdata +0 -0
- data/Data/Map070.rxdata +0 -0
- data/Data/Map071.rxdata +0 -0
- data/Data/Map072.rxdata +0 -0
- data/Data/Map073.rxdata +0 -0
- data/Data/Map074.rxdata +0 -0
- data/Data/Map075.rxdata +0 -0
- data/Data/Map076.rxdata +0 -0
- data/Data/Map077.rxdata +0 -0
- data/Data/Map078.rxdata +0 -0
- data/Data/Map079.rxdata +0 -0
- data/Data/Map080.rxdata +0 -0
- data/Data/Map081.rxdata +0 -0
- data/Data/Map082.rxdata +0 -0
- data/Data/Map083.rxdata +0 -0
- data/Data/Map084.rxdata +0 -0
- data/Data/Map085.rxdata +0 -0
- data/Data/Map086.rxdata +0 -0
- data/Data/Map087.rxdata +0 -0
- data/Data/Map088.rxdata +0 -0
- data/Data/Map089.rxdata +0 -0
- data/Data/Map090.rxdata +0 -0
- data/Data/Map091.rxdata +0 -0
- data/Data/Map092.rxdata +0 -0
- data/Data/Map093.rxdata +0 -0
- data/Data/Map094.rxdata +0 -0
- data/Data/Map095.rxdata +0 -0
- data/Data/Map096.rxdata +0 -0
- data/Data/Map097.rxdata +0 -0
- data/Data/Map098.rxdata +0 -0
- data/Data/Map099.rxdata +0 -0
- data/Data/Map100.rxdata +0 -0
- data/Data/Map101.rxdata +0 -0
- data/Data/Map102.rxdata +0 -0
- data/Data/Map103.rxdata +0 -0
- data/Data/Map104.rxdata +0 -0
- data/Data/Map105.rxdata +0 -0
- data/Data/Map106.rxdata +0 -0
- data/Data/Map107.rxdata +0 -0
- data/Data/Map108.rxdata +0 -0
- data/Data/Map109.rxdata +0 -0
- data/Data/Map110.rxdata +0 -0
- data/Data/Map111.rxdata +0 -0
- data/Data/Map112.rxdata +0 -0
- data/Data/Map113.rxdata +0 -0
- data/Data/Map114.rxdata +0 -0
- data/Data/Map115.rxdata +0 -0
- data/Data/Map116.rxdata +0 -0
- data/Data/Map117.rxdata +0 -0
- data/Data/Map118.rxdata +0 -0
- data/Data/Map119.rxdata +0 -0
- data/Data/Map120.rxdata +0 -0
- data/Data/Map121.rxdata +0 -0
- data/Data/Map122.rxdata +0 -0
- data/Data/Map123.rxdata +0 -0
- data/Data/Map124.rxdata +0 -0
- data/Data/Map125.rxdata +0 -0
- data/Data/Map126.rxdata +0 -0
- data/Data/Map127.rxdata +0 -0
- data/Data/Map128.rxdata +0 -0
- data/Data/Map129.rxdata +0 -0
- data/Data/Map130.rxdata +0 -0
- data/Data/Map131.rxdata +0 -0
- data/Data/Map132.rxdata +0 -0
- data/Data/Map133.rxdata +0 -0
- data/Data/Map134.rxdata +0 -0
- data/Data/Map135.rxdata +0 -0
- data/Data/Map136.rxdata +0 -0
- data/Data/Map137.rxdata +0 -0
- data/Data/Map138.rxdata +0 -0
- data/Data/Map139.rxdata +0 -0
- data/Data/Map140.rxdata +0 -0
- data/Data/Map141.rxdata +0 -0
- data/Data/Map142.rxdata +0 -0
- data/Data/Map143.rxdata +0 -0
- data/Data/Map144.rxdata +0 -0
- data/Data/Map145.rxdata +0 -0
- data/Data/Map146.rxdata +0 -0
- data/Data/Map147.rxdata +0 -0
- data/Data/Map148.rxdata +0 -0
- data/Data/Map149.rxdata +0 -0
- data/Data/Map150.rxdata +0 -0
- data/Data/Map151.rxdata +0 -0
- data/Data/Map152.rxdata +0 -0
- data/Data/Map153.rxdata +0 -0
- data/Data/Map154.rxdata +0 -0
- data/Data/Map155.rxdata +0 -0
- data/Data/Map156.rxdata +0 -0
- data/Data/Map157.rxdata +0 -0
- data/Data/Map158.rxdata +0 -0
- data/Data/Map159.rxdata +0 -0
- data/Data/Map160.rxdata +0 -0
- data/Data/Map161.rxdata +0 -0
- data/Data/Map162.rxdata +0 -0
- data/Data/Map163.rxdata +0 -0
- data/Data/Map164.rxdata +0 -0
- data/Data/Map165.rxdata +0 -0
- data/Data/Map166.rxdata +0 -0
- data/Data/Map167.rxdata +0 -0
- data/Data/Map168.rxdata +0 -0
- data/Data/Map169.rxdata +0 -0
- data/Data/Map170.rxdata +0 -0
- data/Data/Map171.rxdata +0 -0
- data/Data/Map172.rxdata +0 -0
- data/Data/Map173.rxdata +0 -0
- data/Data/Map174.rxdata +0 -0
- data/Data/Map175.rxdata +0 -0
- data/Data/Map176.rxdata +0 -0
- data/Data/Map177.rxdata +0 -0
- data/Data/Map178.rxdata +0 -0
- data/Data/Map179.rxdata +0 -0
- data/Data/Map180.rxdata +0 -0
- data/Data/Map181.rxdata +0 -0
- data/Data/Map182.rxdata +0 -0
- data/Data/Map183.rxdata +0 -0
- data/Data/Map184.rxdata +0 -0
- data/Data/Map185.rxdata +0 -0
- data/Data/Map186.rxdata +0 -0
- data/Data/Map187.rxdata +0 -0
- data/Data/Map188.rxdata +0 -0
- data/Data/Map189.rxdata +0 -0
- data/Data/Map190.rxdata +0 -0
- data/Data/Map191.rxdata +0 -0
- data/Data/Map192.rxdata +0 -0
- data/Data/Map193.rxdata +0 -0
- data/Data/Map194.rxdata +0 -0
- data/Data/Map195.rxdata +0 -0
- data/Data/Map196.rxdata +0 -0
- data/Data/Map197.rxdata +0 -0
- data/Data/Map198.rxdata +0 -0
- data/Data/Map199.rxdata +0 -0
- data/Data/Map200.rxdata +0 -0
- data/Data/Map201.rxdata +0 -0
- data/Data/Map202.rxdata +0 -0
- data/Data/Map203.rxdata +0 -0
- data/Data/Map204.rxdata +0 -0
- data/Data/Map205.rxdata +0 -0
- data/Data/Map206.rxdata +0 -0
- data/Data/Map207.rxdata +0 -0
- data/Data/Map208.rxdata +0 -0
- data/Data/Map209.rxdata +0 -0
- data/Data/Map210.rxdata +0 -0
- data/Data/Map211.rxdata +0 -0
- data/Data/Map212.rxdata +0 -0
- data/Data/Map213.rxdata +0 -0
- data/Data/Map214.rxdata +0 -0
- data/Data/Map215.rxdata +0 -0
- data/Data/Map216.rxdata +0 -0
- data/Data/Map217.rxdata +0 -0
- data/Data/Map218.rxdata +0 -0
- data/Data/Map219.rxdata +0 -0
- data/Data/Map220.rxdata +0 -0
- data/Data/Map221.rxdata +0 -0
- data/Data/Map222.rxdata +0 -0
- data/Data/Map223.rxdata +0 -0
- data/Data/Map224.rxdata +0 -0
- data/Data/Map225.rxdata +0 -0
- data/Data/Map226.rxdata +0 -0
- data/Data/Map227.rxdata +0 -0
- data/Data/Map228.rxdata +0 -0
- data/Data/Map229.rxdata +0 -0
- data/Data/Map230.rxdata +0 -0
- data/Data/Map231.rxdata +0 -0
- data/Data/Map232.rxdata +0 -0
- data/Data/Map233.rxdata +0 -0
- data/Data/Map234.rxdata +0 -0
- data/Data/Map235.rxdata +0 -0
- data/Data/Map236.rxdata +0 -0
- data/Data/Map237.rxdata +0 -0
- data/Data/Map238.rxdata +0 -0
- data/Data/Map239.rxdata +0 -0
- data/Data/Map240.rxdata +0 -0
- data/Data/Map241.rxdata +0 -0
- data/Data/Map242.rxdata +0 -0
- data/Data/Map243.rxdata +0 -0
- data/Data/Map244.rxdata +0 -0
- data/Data/Map245.rxdata +0 -0
- data/Data/Map246.rxdata +0 -0
- data/Data/Map247.rxdata +0 -0
- data/Data/Map248.rxdata +0 -0
- data/Data/Map249.rxdata +0 -0
- data/Data/Map250.rxdata +0 -0
- data/Data/Map251.rxdata +0 -0
- data/Data/Map252.rxdata +0 -0
- data/Data/Map253.rxdata +0 -0
- data/Data/Map254.rxdata +0 -0
- data/Data/Map255.rxdata +0 -0
- data/Data/Map256.rxdata +0 -0
- data/Data/Map257.rxdata +0 -0
- data/Data/Map258.rxdata +0 -0
- data/Data/Map259.rxdata +0 -0
- data/Data/Map260.rxdata +0 -0
- data/Data/Map261.rxdata +0 -0
- data/Data/Map262.rxdata +0 -0
- data/Data/Map263.rxdata +0 -0
- data/Data/MapInfos.rxdata +0 -0
- data/Data/Scripts.rxdata +0 -0
- data/Data/Skills.rxdata +0 -0
- data/Data/States.rxdata +0 -0
- data/Data/System.rxdata +0 -0
- data/Data/Tilesets.rxdata +0 -0
- data/Data/Troops.rxdata +0 -0
- data/Data/Weapons.rxdata +0 -0
- data/Data/xScripts.rxdata +0 -0
- data/Scripts/Credits_Message.rb +0 -259
- data/Scripts/Data_FastTravel.rb +0 -50
- data/Scripts/Data_Footsteps.rb +0 -77
- data/Scripts/Data_Item.rb +0 -50
- data/Scripts/Data_SpecialEventData.rb +0 -60
- data/Scripts/Demo.rb +0 -7
- data/Scripts/Desktop_Message.rb +0 -210
- data/Scripts/Doc_Message.rb +0 -273
- data/Scripts/EdText.rb +0 -50
- data/Scripts/Ed_Message.rb +0 -234
- data/Scripts/FastTravel.rb +0 -175
- data/Scripts/Game_Actor.rb +0 -156
- data/Scripts/Game_Actors.rb +0 -28
- data/Scripts/Game_BattleAction.rb +0 -145
- data/Scripts/Game_Battler 1.rb +0 -307
- data/Scripts/Game_Battler 2.rb +0 -294
- data/Scripts/Game_Battler 3.rb +0 -354
- data/Scripts/Game_Character 1.rb +0 -291
- data/Scripts/Game_Character 2.rb +0 -355
- data/Scripts/Game_Character 3.rb +0 -505
- data/Scripts/Game_CommonEvent.rb +0 -70
- data/Scripts/Game_Enemy.rb +0 -317
- data/Scripts/Game_Event.rb +0 -264
- data/Scripts/Game_FastTravel.rb +0 -40
- data/Scripts/Game_Follower.rb +0 -76
- data/Scripts/Game_Light.rb +0 -13
- data/Scripts/Game_Map.rb +0 -551
- data/Scripts/Game_Oneshot.rb +0 -83
- data/Scripts/Game_Party.rb +0 -380
- data/Scripts/Game_Picture.rb +0 -164
- data/Scripts/Game_Player.rb +0 -298
- data/Scripts/Game_Screen.rb +0 -148
- data/Scripts/Game_SelfSwitches.rb +0 -30
- data/Scripts/Game_Switches.rb +0 -45
- data/Scripts/Game_System.rb +0 -210
- data/Scripts/Game_Temp.rb +0 -145
- data/Scripts/Game_Variables.rb +0 -36
- data/Scripts/Interpreter 1.rb +0 -320
- data/Scripts/Interpreter 2.rb +0 -286
- data/Scripts/Interpreter 3.rb +0 -474
- data/Scripts/Interpreter 4.rb +0 -327
- data/Scripts/Interpreter 5.rb +0 -448
- data/Scripts/Interpreter 6.rb +0 -307
- data/Scripts/Interpreter 7.rb +0 -282
- data/Scripts/Main.rb +0 -50
- data/Scripts/Particles.rb +0 -141
- data/Scripts/Persistent.rb +0 -71
- data/Scripts/Puzzle_Film.rb +0 -14
- data/Scripts/Puzzle_Pixel.rb +0 -210
- data/Scripts/Puzzle_Safe.rb +0 -152
- data/Scripts/Puzzle_Sokoban.rb +0 -14
- data/Scripts/RPG.rb +0 -55
- data/Scripts/SaveLoad.rb +0 -275
- data/Scripts/Scene_Debug.rb +0 -190
- data/Scripts/Scene_End.rb +0 -108
- data/Scripts/Scene_Equip.rb +0 -222
- data/Scripts/Scene_File.rb +0 -111
- data/Scripts/Scene_Item.rb +0 -205
- data/Scripts/Scene_Load.rb +0 -106
- data/Scripts/Scene_Map.rb +0 -540
- data/Scripts/Scene_Menu.rb +0 -213
- data/Scripts/Scene_Name.rb +0 -113
- data/Scripts/Scene_Save.rb +0 -88
- data/Scripts/Scene_Skill.rb +0 -232
- data/Scripts/Scene_Status.rb +0 -78
- data/Scripts/Scene_Title.rb +0 -237
- data/Scripts/Script.rb +0 -780
- data/Scripts/Sprite_Battler.rb +0 -131
- data/Scripts/Sprite_Character.rb +0 -192
- data/Scripts/Sprite_Footprint.rb +0 -35
- data/Scripts/Sprite_Footsplash.rb +0 -54
- data/Scripts/Sprite_Light.rb +0 -18
- data/Scripts/Sprite_MapText.rb +0 -63
- data/Scripts/Sprite_Picture.rb +0 -72
- data/Scripts/Sprite_Timer.rb +0 -52
- data/Scripts/Spriteset_Map.rb +0 -370
- data/Scripts/Window_Base.rb +0 -327
- data/Scripts/Window_BattleResult.rb +0 -51
- data/Scripts/Window_BattleStatus.rb +0 -62
- data/Scripts/Window_Command.rb +0 -49
- data/Scripts/Window_DebugLeft.rb +0 -57
- data/Scripts/Window_DebugRight.rb +0 -69
- data/Scripts/Window_EquipItem.rb +0 -94
- data/Scripts/Window_EquipLeft.rb +0 -61
- data/Scripts/Window_EquipRight.rb +0 -56
- data/Scripts/Window_Gold.rb +0 -27
- data/Scripts/Window_Help.rb +0 -33
- data/Scripts/Window_InputNumber.rb +0 -111
- data/Scripts/Window_Item.rb +0 -229
- data/Scripts/Window_MainMenu.rb +0 -150
- data/Scripts/Window_MenuStatus.rb +0 -48
- data/Scripts/Window_Message.rb +0 -459
- data/Scripts/Window_NameEdit.rb +0 -108
- data/Scripts/Window_NameInput.rb +0 -262
- data/Scripts/Window_PartyCommand.rb +0 -42
- data/Scripts/Window_PlayTime.rb +0 -40
- data/Scripts/Window_SaveFile.rb +0 -91
- data/Scripts/Window_Selectable.rb +0 -203
- data/Scripts/Window_Settings.rb +0 -469
- data/Scripts/Window_ShopBuy.rb +0 -93
- data/Scripts/Window_ShopCommand.rb +0 -37
- data/Scripts/Window_ShopNumber.rb +0 -87
- data/Scripts/Window_ShopSell.rb +0 -94
- data/Scripts/Window_ShopStatus.rb +0 -107
- data/Scripts/Window_Skill.rb +0 -83
- data/Scripts/Window_SkillStatus.rb +0 -28
- data/Scripts/Window_Status.rb +0 -64
- data/Scripts/Window_Steps.rb +0 -26
- data/Scripts/Window_Target.rb +0 -49
- data/Scripts/_scripts.txt +0 -111
- data/Scripts/i18n_English.rb +0 -59
- data/Scripts/i18n_Language.rb +0 -130
data/Scripts/Window_NameInput.rb
DELETED
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Window_NameInput
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This window is used to select text characters on the input name screen.
|
|
5
|
-
#==============================================================================
|
|
6
|
-
|
|
7
|
-
class NameInputMode
|
|
8
|
-
attr_reader :names
|
|
9
|
-
attr_reader :size
|
|
10
|
-
attr_accessor :index
|
|
11
|
-
attr_accessor :count
|
|
12
|
-
|
|
13
|
-
def initialize(names, bitmap)
|
|
14
|
-
@names = names
|
|
15
|
-
@size = names.map { |n| bitmap.text_size(n).width }.max
|
|
16
|
-
@index = 0
|
|
17
|
-
@count = 0
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def cycle
|
|
21
|
-
@index = (@index + 1) % @count
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def label
|
|
25
|
-
@names[(@index + 1) % @count]
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
class Window_NameInput < Window_Base
|
|
30
|
-
BUTTON_BUFFER = 8
|
|
31
|
-
BUTTON_PADDING = 16
|
|
32
|
-
|
|
33
|
-
attr_accessor :index
|
|
34
|
-
attr_accessor :ok_text
|
|
35
|
-
attr_accessor :character_tables
|
|
36
|
-
attr_accessor :table_height
|
|
37
|
-
attr_accessor :char_w
|
|
38
|
-
attr_accessor :char_h
|
|
39
|
-
|
|
40
|
-
#--------------------------------------------------------------------------
|
|
41
|
-
# * Object Initialization
|
|
42
|
-
#--------------------------------------------------------------------------
|
|
43
|
-
def initialize
|
|
44
|
-
super(0, 128, 640, 352)
|
|
45
|
-
self.contents = Bitmap.new(width - 32, height - 32)
|
|
46
|
-
@index = 0
|
|
47
|
-
@ok_text = "OK"
|
|
48
|
-
@char_w = 28
|
|
49
|
-
@char_h = 32
|
|
50
|
-
end
|
|
51
|
-
def init
|
|
52
|
-
# Create dimension information
|
|
53
|
-
@table_size = @character_tables.values.first.size
|
|
54
|
-
@table_width = @table_size / @table_height
|
|
55
|
-
@start_x = ((width - 32) - @table_width * @char_w) / 2
|
|
56
|
-
@start_y = ((height - 32) - (@table_height + 1) * @char_h + BUTTON_BUFFER) / 2
|
|
57
|
-
@ok_text_size = self.contents.text_size(@ok_text).width
|
|
58
|
-
|
|
59
|
-
# Initialize mode information
|
|
60
|
-
@character_tables.each_key do |key|
|
|
61
|
-
key.each_with_index do |new_max, i|
|
|
62
|
-
@modes[i].count = new_max + 1 if @modes[i].count < new_max + 1
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
refresh
|
|
67
|
-
update_cursor_rect
|
|
68
|
-
self
|
|
69
|
-
end
|
|
70
|
-
#--------------------------------------------------------------------------
|
|
71
|
-
# * Properties
|
|
72
|
-
#--------------------------------------------------------------------------
|
|
73
|
-
def set_mode_buttons(buttons)
|
|
74
|
-
@modes = buttons.map { |n| NameInputMode.new(n, self.contents) }
|
|
75
|
-
end
|
|
76
|
-
#--------------------------------------------------------------------------
|
|
77
|
-
# * Text Character Acquisition
|
|
78
|
-
#--------------------------------------------------------------------------
|
|
79
|
-
def character
|
|
80
|
-
return current_table[@index]
|
|
81
|
-
end
|
|
82
|
-
#--------------------------------------------------------------------------
|
|
83
|
-
# * Mode Button Cursor Positioning
|
|
84
|
-
#--------------------------------------------------------------------------
|
|
85
|
-
def mode_button_slot
|
|
86
|
-
pos = @index % @table_width
|
|
87
|
-
x = 0
|
|
88
|
-
@modes.each_with_index do |mode, i|
|
|
89
|
-
size = mode.size + BUTTON_PADDING * 2
|
|
90
|
-
if pos * @char_w >= x && pos * @char_w <= x + size
|
|
91
|
-
if (pos + 1) * @char_w - BUTTON_PADDING <= x + size || i < @modes.size - 1
|
|
92
|
-
return i
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
x += size
|
|
96
|
-
end
|
|
97
|
-
return -1
|
|
98
|
-
end
|
|
99
|
-
#--------------------------------------------------------------------------
|
|
100
|
-
# * Cycle Current Mode
|
|
101
|
-
#--------------------------------------------------------------------------
|
|
102
|
-
def cycle_mode(slot)
|
|
103
|
-
@modes[slot].cycle
|
|
104
|
-
refresh
|
|
105
|
-
end
|
|
106
|
-
#--------------------------------------------------------------------------
|
|
107
|
-
# * Get Character Table for Mode
|
|
108
|
-
#--------------------------------------------------------------------------
|
|
109
|
-
def current_table
|
|
110
|
-
@character_tables[@modes.map { |m| m.index }]
|
|
111
|
-
end
|
|
112
|
-
#--------------------------------------------------------------------------
|
|
113
|
-
# * Refresh
|
|
114
|
-
#--------------------------------------------------------------------------
|
|
115
|
-
def refresh
|
|
116
|
-
self.contents.clear
|
|
117
|
-
delete_text = tr("Press X to delete characters (default controls)")
|
|
118
|
-
delete_width = self.contents.text_size(delete_text).width
|
|
119
|
-
delete_height = self.contents.text_size(delete_text).height
|
|
120
|
-
self.contents.draw_text((self.contents.width - delete_width)/2, self.contents.height - (delete_height+2), delete_width, delete_height, delete_text, 1)
|
|
121
|
-
table = current_table
|
|
122
|
-
@table_size.times do |i|
|
|
123
|
-
x = @start_x + (i % @table_width) * @char_w
|
|
124
|
-
y = @start_y + (i / @table_width) * @char_h
|
|
125
|
-
self.contents.draw_text(x, y, @char_w, @char_h, table[i], 1)
|
|
126
|
-
end
|
|
127
|
-
# OK button
|
|
128
|
-
self.contents.draw_text(@start_x + @table_width * @char_w - @ok_text_size - BUTTON_PADDING,
|
|
129
|
-
@start_y + @table_height * @char_h + BUTTON_BUFFER,
|
|
130
|
-
@ok_text_size, @char_h, @ok_text, 1)
|
|
131
|
-
# Mode buttons
|
|
132
|
-
x = @start_x + BUTTON_PADDING
|
|
133
|
-
@modes.each do |mode|
|
|
134
|
-
self.contents.draw_text(x, @start_y + @table_height * @char_h + BUTTON_BUFFER,
|
|
135
|
-
mode.size, @char_h, mode.label, 1)
|
|
136
|
-
x += BUTTON_PADDING * 2 + mode.size
|
|
137
|
-
end
|
|
138
|
-
end
|
|
139
|
-
#--------------------------------------------------------------------------
|
|
140
|
-
# * Cursor Rectangle Update
|
|
141
|
-
#--------------------------------------------------------------------------
|
|
142
|
-
def update_cursor_rect
|
|
143
|
-
if @index >= @table_size
|
|
144
|
-
# Cursor is positioned on OK or mode buttons
|
|
145
|
-
slot = mode_button_slot
|
|
146
|
-
if slot >= 0
|
|
147
|
-
# Cursor is positioned on mode button
|
|
148
|
-
x = @start_x
|
|
149
|
-
@modes.each_with_index do |mode, i|
|
|
150
|
-
if slot == i
|
|
151
|
-
self.cursor_rect.set(x, @start_y + @table_height * @char_h + BUTTON_BUFFER,
|
|
152
|
-
mode.size + BUTTON_PADDING * 2, @char_h)
|
|
153
|
-
break
|
|
154
|
-
end
|
|
155
|
-
x += BUTTON_PADDING * 2 + mode.size
|
|
156
|
-
end
|
|
157
|
-
else
|
|
158
|
-
# Cursor is positioned on OK button
|
|
159
|
-
self.cursor_rect.set(@start_x + @table_width * @char_w - @ok_text_size - BUTTON_PADDING * 2,
|
|
160
|
-
@start_y + @table_height * @char_h + BUTTON_BUFFER,
|
|
161
|
-
@ok_text_size + 32, @char_h)
|
|
162
|
-
end
|
|
163
|
-
else
|
|
164
|
-
# Cursor is not positioned on OK or mode buttons
|
|
165
|
-
x = @start_x + (@index % @table_width) * @char_w
|
|
166
|
-
y = @start_y + (@index / @table_width) * @char_h
|
|
167
|
-
self.cursor_rect.set(x, y, @char_w, @char_h)
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
#--------------------------------------------------------------------------
|
|
171
|
-
# * Frame Update
|
|
172
|
-
#--------------------------------------------------------------------------
|
|
173
|
-
def update
|
|
174
|
-
super
|
|
175
|
-
if @index >= @table_size
|
|
176
|
-
# Cursor is positioned on OK or mode buttons
|
|
177
|
-
if Input.repeat?(Input::LEFT)
|
|
178
|
-
# If directional button pressed down is not a repeat, or
|
|
179
|
-
# cursor is not positioned on the left edge
|
|
180
|
-
old_slot = mode_button_slot
|
|
181
|
-
if Input.trigger?(Input::LEFT) || old_slot != 0
|
|
182
|
-
$game_system.se_play($data_system.cursor_se)
|
|
183
|
-
if old_slot == 0
|
|
184
|
-
@index = @table_size + @table_width - 1
|
|
185
|
-
else
|
|
186
|
-
loop do
|
|
187
|
-
@index -= 1
|
|
188
|
-
break if old_slot != mode_button_slot
|
|
189
|
-
end
|
|
190
|
-
end
|
|
191
|
-
end
|
|
192
|
-
end
|
|
193
|
-
if Input.repeat?(Input::RIGHT)
|
|
194
|
-
# If directional button pressed down is not a repeat, or
|
|
195
|
-
# cursor is not positioned on the right edge
|
|
196
|
-
old_slot = mode_button_slot
|
|
197
|
-
if Input.trigger?(Input::RIGHT) || old_slot != -1
|
|
198
|
-
$game_system.se_play($data_system.cursor_se)
|
|
199
|
-
if old_slot == -1
|
|
200
|
-
@index = @table_size
|
|
201
|
-
else
|
|
202
|
-
loop do
|
|
203
|
-
@index += 1
|
|
204
|
-
break if old_slot != mode_button_slot
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
if Input.trigger?(Input::DOWN)
|
|
210
|
-
$game_system.se_play($data_system.cursor_se)
|
|
211
|
-
@index -= @table_size
|
|
212
|
-
end
|
|
213
|
-
if Input.repeat?(Input::UP)
|
|
214
|
-
$game_system.se_play($data_system.cursor_se)
|
|
215
|
-
@index -= @table_width
|
|
216
|
-
end
|
|
217
|
-
else
|
|
218
|
-
# Cursor is not positioned on OK or mode buttons
|
|
219
|
-
if Input.repeat?(Input::RIGHT)
|
|
220
|
-
# If directional button pressed down is not a repeat, or
|
|
221
|
-
# cursor is not positioned on the right edge
|
|
222
|
-
if Input.trigger?(Input::RIGHT) || @index % @table_width < @table_width - 1
|
|
223
|
-
$game_system.se_play($data_system.cursor_se)
|
|
224
|
-
if @index % @table_width < @table_width - 1
|
|
225
|
-
@index += 1
|
|
226
|
-
else
|
|
227
|
-
@index -= @table_width - 1
|
|
228
|
-
end
|
|
229
|
-
end
|
|
230
|
-
end
|
|
231
|
-
if Input.repeat?(Input::LEFT)
|
|
232
|
-
# If directional button pressed down is not a repeat, or
|
|
233
|
-
# cursor is not positioned on the left edge
|
|
234
|
-
if Input.trigger?(Input::LEFT) || @index % @table_width > 0
|
|
235
|
-
$game_system.se_play($data_system.cursor_se)
|
|
236
|
-
if @index % @table_width > 0
|
|
237
|
-
@index -= 1
|
|
238
|
-
else
|
|
239
|
-
@index += @table_width - 1
|
|
240
|
-
end
|
|
241
|
-
end
|
|
242
|
-
end
|
|
243
|
-
if Input.repeat?(Input::DOWN)
|
|
244
|
-
$game_system.se_play($data_system.cursor_se)
|
|
245
|
-
@index += @table_width
|
|
246
|
-
end
|
|
247
|
-
if Input.repeat?(Input::UP)
|
|
248
|
-
# If directional button pressed down is not a repeat, or
|
|
249
|
-
# cursor is not positioned on the upper edge
|
|
250
|
-
if Input.trigger?(Input::UP) || @index >= @table_width
|
|
251
|
-
$game_system.se_play($data_system.cursor_se)
|
|
252
|
-
if @index >= @table_width
|
|
253
|
-
@index -= @table_width
|
|
254
|
-
else
|
|
255
|
-
@index += @table_size
|
|
256
|
-
end
|
|
257
|
-
end
|
|
258
|
-
end
|
|
259
|
-
end
|
|
260
|
-
update_cursor_rect
|
|
261
|
-
end
|
|
262
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Window_PartyCommand
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This window is used to select whether to fight or escape on the battle
|
|
5
|
-
# screen.
|
|
6
|
-
#==============================================================================
|
|
7
|
-
|
|
8
|
-
class Window_PartyCommand < Window_Selectable
|
|
9
|
-
#--------------------------------------------------------------------------
|
|
10
|
-
# * Object Initialization
|
|
11
|
-
#--------------------------------------------------------------------------
|
|
12
|
-
def initialize
|
|
13
|
-
super(0, 0, 640, 64)
|
|
14
|
-
self.contents = Bitmap.new(width - 32, height - 32)
|
|
15
|
-
self.back_opacity = 160
|
|
16
|
-
@commands = ["Fight", "Escape"]
|
|
17
|
-
@item_max = 2
|
|
18
|
-
@column_max = 2
|
|
19
|
-
draw_item(0, normal_color)
|
|
20
|
-
draw_item(1, $game_temp.battle_can_escape ? normal_color : disabled_color)
|
|
21
|
-
self.active = false
|
|
22
|
-
self.visible = false
|
|
23
|
-
self.index = 0
|
|
24
|
-
end
|
|
25
|
-
#--------------------------------------------------------------------------
|
|
26
|
-
# * Draw Item
|
|
27
|
-
# index : item number
|
|
28
|
-
# color : text character color
|
|
29
|
-
#--------------------------------------------------------------------------
|
|
30
|
-
def draw_item(index, color)
|
|
31
|
-
self.contents.font.color = color
|
|
32
|
-
rect = Rect.new(160 + index * 160 + 4, 0, 128 - 10, 32)
|
|
33
|
-
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
|
|
34
|
-
self.contents.draw_text(rect, @commands[index], 1)
|
|
35
|
-
end
|
|
36
|
-
#--------------------------------------------------------------------------
|
|
37
|
-
# * Cursor Rectangle Update
|
|
38
|
-
#--------------------------------------------------------------------------
|
|
39
|
-
def update_cursor_rect
|
|
40
|
-
self.cursor_rect.set(160 + index * 160, 0, 128, 32)
|
|
41
|
-
end
|
|
42
|
-
end
|
data/Scripts/Window_PlayTime.rb
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Window_PlayTime
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This window displays play time on the menu screen.
|
|
5
|
-
#==============================================================================
|
|
6
|
-
|
|
7
|
-
class Window_PlayTime < Window_Base
|
|
8
|
-
#--------------------------------------------------------------------------
|
|
9
|
-
# * Object Initialization
|
|
10
|
-
#--------------------------------------------------------------------------
|
|
11
|
-
def initialize
|
|
12
|
-
super(0, 0, 160, 96)
|
|
13
|
-
self.contents = Bitmap.new(width - 32, height - 32)
|
|
14
|
-
refresh
|
|
15
|
-
end
|
|
16
|
-
#--------------------------------------------------------------------------
|
|
17
|
-
# * Refresh
|
|
18
|
-
#--------------------------------------------------------------------------
|
|
19
|
-
def refresh
|
|
20
|
-
self.contents.clear
|
|
21
|
-
self.contents.font.color = system_color
|
|
22
|
-
self.contents.draw_text(4, 0, 120, 32, "Play Time")
|
|
23
|
-
@total_sec = Graphics.frame_count / Graphics.frame_rate
|
|
24
|
-
hour = @total_sec / 60 / 60
|
|
25
|
-
min = @total_sec / 60 % 60
|
|
26
|
-
sec = @total_sec % 60
|
|
27
|
-
text = sprintf("%02d:%02d:%02d", hour, min, sec)
|
|
28
|
-
self.contents.font.color = normal_color
|
|
29
|
-
self.contents.draw_text(4, 32, 120, 32, text, 2)
|
|
30
|
-
end
|
|
31
|
-
#--------------------------------------------------------------------------
|
|
32
|
-
# * Frame Update
|
|
33
|
-
#--------------------------------------------------------------------------
|
|
34
|
-
def update
|
|
35
|
-
super
|
|
36
|
-
if Graphics.frame_count / Graphics.frame_rate != @total_sec
|
|
37
|
-
refresh
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
data/Scripts/Window_SaveFile.rb
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Window_SaveFile
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This window displays save files on the save and load screens.
|
|
5
|
-
#==============================================================================
|
|
6
|
-
|
|
7
|
-
class Window_SaveFile < Window_Base
|
|
8
|
-
#--------------------------------------------------------------------------
|
|
9
|
-
# * Public Instance Variables
|
|
10
|
-
#--------------------------------------------------------------------------
|
|
11
|
-
attr_reader :filename # file name
|
|
12
|
-
attr_reader :selected # selected
|
|
13
|
-
#--------------------------------------------------------------------------
|
|
14
|
-
# * Object Initialization
|
|
15
|
-
# file_index : save file index (0-3)
|
|
16
|
-
# filename : file name
|
|
17
|
-
#--------------------------------------------------------------------------
|
|
18
|
-
def initialize(file_index, filename)
|
|
19
|
-
super(0, 64 + file_index % 4 * 104, 640, 104)
|
|
20
|
-
self.contents = Bitmap.new(width - 32, height - 32)
|
|
21
|
-
@file_index = file_index
|
|
22
|
-
@filename = "Save#{@file_index + 1}.rxdata"
|
|
23
|
-
@time_stamp = Time.at(0)
|
|
24
|
-
@file_exist = FileTest.exist?(@filename)
|
|
25
|
-
if @file_exist
|
|
26
|
-
file = File.open(@filename, "r")
|
|
27
|
-
@time_stamp = file.mtime
|
|
28
|
-
@characters = Marshal.load(file)
|
|
29
|
-
@frame_count = Marshal.load(file)
|
|
30
|
-
@game_system = Marshal.load(file)
|
|
31
|
-
@game_switches = Marshal.load(file)
|
|
32
|
-
@game_variables = Marshal.load(file)
|
|
33
|
-
@total_sec = @frame_count / Graphics.frame_rate
|
|
34
|
-
file.close
|
|
35
|
-
end
|
|
36
|
-
refresh
|
|
37
|
-
@selected = false
|
|
38
|
-
end
|
|
39
|
-
#--------------------------------------------------------------------------
|
|
40
|
-
# * Refresh
|
|
41
|
-
#--------------------------------------------------------------------------
|
|
42
|
-
def refresh
|
|
43
|
-
self.contents.clear
|
|
44
|
-
# Draw file number
|
|
45
|
-
self.contents.font.color = normal_color
|
|
46
|
-
name = "File#{@file_index + 1}"
|
|
47
|
-
self.contents.draw_text(4, 0, 600, 32, name)
|
|
48
|
-
@name_width = contents.text_size(name).width
|
|
49
|
-
# If save file exists
|
|
50
|
-
if @file_exist
|
|
51
|
-
# Draw character
|
|
52
|
-
for i in 0...@characters.size
|
|
53
|
-
bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
|
|
54
|
-
cw = bitmap.rect.width / 4
|
|
55
|
-
ch = bitmap.rect.height / 4
|
|
56
|
-
src_rect = Rect.new(0, 0, cw, ch)
|
|
57
|
-
x = 300 - @characters.size * 32 + i * 64 - cw / 2
|
|
58
|
-
self.contents.blt(x, 68 - ch, bitmap, src_rect)
|
|
59
|
-
end
|
|
60
|
-
# Draw play time
|
|
61
|
-
hour = @total_sec / 60 / 60
|
|
62
|
-
min = @total_sec / 60 % 60
|
|
63
|
-
sec = @total_sec % 60
|
|
64
|
-
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
|
|
65
|
-
self.contents.font.color = normal_color
|
|
66
|
-
self.contents.draw_text(4, 8, 600, 32, time_string, 2)
|
|
67
|
-
# Draw timestamp
|
|
68
|
-
self.contents.font.color = normal_color
|
|
69
|
-
time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
|
|
70
|
-
self.contents.draw_text(4, 40, 600, 32, time_string, 2)
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
#--------------------------------------------------------------------------
|
|
74
|
-
# * Set Selected
|
|
75
|
-
# selected : new selected (true = selected, false = unselected)
|
|
76
|
-
#--------------------------------------------------------------------------
|
|
77
|
-
def selected=(selected)
|
|
78
|
-
@selected = selected
|
|
79
|
-
update_cursor_rect
|
|
80
|
-
end
|
|
81
|
-
#--------------------------------------------------------------------------
|
|
82
|
-
# * Cursor Rectangle Update
|
|
83
|
-
#--------------------------------------------------------------------------
|
|
84
|
-
def update_cursor_rect
|
|
85
|
-
if @selected
|
|
86
|
-
self.cursor_rect.set(0, 0, @name_width + 8, 32)
|
|
87
|
-
else
|
|
88
|
-
self.cursor_rect.empty
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
#==============================================================================
|
|
2
|
-
# ** Window_Selectable
|
|
3
|
-
#------------------------------------------------------------------------------
|
|
4
|
-
# This window class contains cursor movement and scroll functions.
|
|
5
|
-
#==============================================================================
|
|
6
|
-
|
|
7
|
-
class Window_Selectable < Window_Base
|
|
8
|
-
#--------------------------------------------------------------------------
|
|
9
|
-
# * Public Instance Variables
|
|
10
|
-
#--------------------------------------------------------------------------
|
|
11
|
-
attr_reader :index # cursor position
|
|
12
|
-
attr_reader :help_window # help window
|
|
13
|
-
#--------------------------------------------------------------------------
|
|
14
|
-
# * Object Initialization
|
|
15
|
-
# x : window x-coordinate
|
|
16
|
-
# y : window y-coordinate
|
|
17
|
-
# width : window width
|
|
18
|
-
# height : window height
|
|
19
|
-
#--------------------------------------------------------------------------
|
|
20
|
-
def initialize(x, y, width, height)
|
|
21
|
-
super(x, y, width, height)
|
|
22
|
-
@item_max = 1
|
|
23
|
-
@column_max = 1
|
|
24
|
-
@index = -1
|
|
25
|
-
end
|
|
26
|
-
#--------------------------------------------------------------------------
|
|
27
|
-
# * Set Cursor Position
|
|
28
|
-
# index : new cursor position
|
|
29
|
-
#--------------------------------------------------------------------------
|
|
30
|
-
def index=(index)
|
|
31
|
-
@index = index
|
|
32
|
-
# Update Help Text (update_help is defined by the subclasses)
|
|
33
|
-
if self.active and @help_window != nil
|
|
34
|
-
update_help
|
|
35
|
-
end
|
|
36
|
-
# Update cursor rectangle
|
|
37
|
-
update_cursor_rect
|
|
38
|
-
end
|
|
39
|
-
#--------------------------------------------------------------------------
|
|
40
|
-
# * Get Row Count
|
|
41
|
-
#--------------------------------------------------------------------------
|
|
42
|
-
def row_max
|
|
43
|
-
# Compute rows from number of items and columns
|
|
44
|
-
return (@item_max + @column_max - 1) / @column_max
|
|
45
|
-
end
|
|
46
|
-
#--------------------------------------------------------------------------
|
|
47
|
-
# * Get Top Row
|
|
48
|
-
#--------------------------------------------------------------------------
|
|
49
|
-
def top_row
|
|
50
|
-
# Divide y-coordinate of window contents transfer origin by 1 row
|
|
51
|
-
# height of 32
|
|
52
|
-
return self.oy / 32
|
|
53
|
-
end
|
|
54
|
-
#--------------------------------------------------------------------------
|
|
55
|
-
# * Set Top Row
|
|
56
|
-
# row : row shown on top
|
|
57
|
-
#--------------------------------------------------------------------------
|
|
58
|
-
def top_row=(row)
|
|
59
|
-
# If row is less than 0, change it to 0
|
|
60
|
-
if row < 0
|
|
61
|
-
row = 0
|
|
62
|
-
end
|
|
63
|
-
# If row exceeds row_max - 1, change it to row_max - 1
|
|
64
|
-
if row > row_max - 1
|
|
65
|
-
row = row_max - 1
|
|
66
|
-
end
|
|
67
|
-
# Multiply 1 row height by 32 for y-coordinate of window contents
|
|
68
|
-
# transfer origin
|
|
69
|
-
self.oy = row * 32
|
|
70
|
-
end
|
|
71
|
-
#--------------------------------------------------------------------------
|
|
72
|
-
# * Get Number of Rows Displayable on 1 Page
|
|
73
|
-
#--------------------------------------------------------------------------
|
|
74
|
-
def page_row_max
|
|
75
|
-
# Subtract a frame height of 32 from the window height, and divide it by
|
|
76
|
-
# 1 row height of 32
|
|
77
|
-
return (self.height - 32) / 32
|
|
78
|
-
end
|
|
79
|
-
#--------------------------------------------------------------------------
|
|
80
|
-
# * Get Number of Items Displayable on 1 Page
|
|
81
|
-
#--------------------------------------------------------------------------
|
|
82
|
-
def page_item_max
|
|
83
|
-
# Multiply row count (page_row_max) times column count (@column_max)
|
|
84
|
-
return page_row_max * @column_max
|
|
85
|
-
end
|
|
86
|
-
#--------------------------------------------------------------------------
|
|
87
|
-
# * Set Help Window
|
|
88
|
-
# help_window : new help window
|
|
89
|
-
#--------------------------------------------------------------------------
|
|
90
|
-
def help_window=(help_window)
|
|
91
|
-
@help_window = help_window
|
|
92
|
-
# Update help text (update_help is defined by the subclasses)
|
|
93
|
-
if self.active and @help_window != nil
|
|
94
|
-
update_help
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
#--------------------------------------------------------------------------
|
|
98
|
-
# * Update Cursor Rectangle
|
|
99
|
-
#--------------------------------------------------------------------------
|
|
100
|
-
def update_cursor_rect
|
|
101
|
-
# If cursor position is less than 0
|
|
102
|
-
if @index < 0
|
|
103
|
-
self.cursor_rect.empty
|
|
104
|
-
return
|
|
105
|
-
end
|
|
106
|
-
# Get current row
|
|
107
|
-
row = @index / @column_max
|
|
108
|
-
# If current row is before top row
|
|
109
|
-
if row < self.top_row
|
|
110
|
-
# Scroll so that current row becomes top row
|
|
111
|
-
self.top_row = row
|
|
112
|
-
end
|
|
113
|
-
# If current row is more to back than back row
|
|
114
|
-
if row > self.top_row + (self.page_row_max - 1)
|
|
115
|
-
# Scroll so that current row becomes back row
|
|
116
|
-
self.top_row = row - (self.page_row_max - 1)
|
|
117
|
-
end
|
|
118
|
-
# Calculate cursor width
|
|
119
|
-
cursor_width = self.width / @column_max - 32
|
|
120
|
-
# Calculate cursor coordinates
|
|
121
|
-
x = @index % @column_max * (cursor_width + 32)
|
|
122
|
-
y = @index / @column_max * 32 - self.oy
|
|
123
|
-
# Update cursor rectangle
|
|
124
|
-
self.cursor_rect.set(x, y, cursor_width, 32)
|
|
125
|
-
end
|
|
126
|
-
#--------------------------------------------------------------------------
|
|
127
|
-
# * Frame Update
|
|
128
|
-
#--------------------------------------------------------------------------
|
|
129
|
-
def update
|
|
130
|
-
super
|
|
131
|
-
# If cursor is movable
|
|
132
|
-
if self.active and @item_max > 0 and @index >= 0
|
|
133
|
-
# If pressing down on the directional buttons
|
|
134
|
-
if Input.repeat?(Input::DOWN)
|
|
135
|
-
# If column count is 1 and directional button was pressed down with no
|
|
136
|
-
# repeat, or if cursor position is more to the front than
|
|
137
|
-
# (item count - column count)
|
|
138
|
-
if (@column_max == 1 and Input.trigger?(Input::DOWN)) or
|
|
139
|
-
@index < @item_max - @column_max
|
|
140
|
-
# Move cursor down
|
|
141
|
-
$game_system.se_play($data_system.cursor_se)
|
|
142
|
-
@index = (@index + @column_max) % @item_max
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
# If the up directional button was pressed
|
|
146
|
-
if Input.repeat?(Input::UP)
|
|
147
|
-
# If column count is 1 and directional button was pressed up with no
|
|
148
|
-
# repeat, or if cursor position is more to the back than column count
|
|
149
|
-
if (@column_max == 1 and Input.trigger?(Input::UP)) or
|
|
150
|
-
@index >= @column_max
|
|
151
|
-
# Move cursor up
|
|
152
|
-
$game_system.se_play($data_system.cursor_se)
|
|
153
|
-
@index = (@index - @column_max + @item_max) % @item_max
|
|
154
|
-
end
|
|
155
|
-
end
|
|
156
|
-
# If the right directional button was pressed
|
|
157
|
-
if Input.repeat?(Input::RIGHT)
|
|
158
|
-
# If column count is 2 or more, and cursor position is closer to front
|
|
159
|
-
# than (item count -1)
|
|
160
|
-
if @column_max >= 2 and @index < @item_max - 1
|
|
161
|
-
# Move cursor right
|
|
162
|
-
$game_system.se_play($data_system.cursor_se)
|
|
163
|
-
@index += 1
|
|
164
|
-
end
|
|
165
|
-
end
|
|
166
|
-
# If the left directional button was pressed
|
|
167
|
-
if Input.repeat?(Input::LEFT)
|
|
168
|
-
# If column count is 2 or more, and cursor position is more back than 0
|
|
169
|
-
if @column_max >= 2 and @index > 0
|
|
170
|
-
# Move cursor left
|
|
171
|
-
$game_system.se_play($data_system.cursor_se)
|
|
172
|
-
@index -= 1
|
|
173
|
-
end
|
|
174
|
-
end
|
|
175
|
-
# If R button was pressed
|
|
176
|
-
#if Input.repeat?(Input::R)
|
|
177
|
-
# # If bottom row being displayed is more to front than bottom data row
|
|
178
|
-
# if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
|
|
179
|
-
# # Move cursor 1 page back
|
|
180
|
-
# $game_system.se_play($data_system.cursor_se)
|
|
181
|
-
# @index = [@index + self.page_item_max, @item_max - 1].min
|
|
182
|
-
# self.top_row += self.page_row_max
|
|
183
|
-
# end
|
|
184
|
-
#end
|
|
185
|
-
# If L button was pressed
|
|
186
|
-
#if Input.repeat?(Input::L)
|
|
187
|
-
# # If top row being displayed is more to back than 0
|
|
188
|
-
# if self.top_row > 0
|
|
189
|
-
# # Move cursor 1 page forward
|
|
190
|
-
# $game_system.se_play($data_system.cursor_se)
|
|
191
|
-
# @index = [@index - self.page_item_max, 0].max
|
|
192
|
-
# self.top_row -= self.page_row_max
|
|
193
|
-
# end
|
|
194
|
-
#end
|
|
195
|
-
end
|
|
196
|
-
# Update help text (update_help is defined by the subclasses)
|
|
197
|
-
if self.active and @help_window != nil
|
|
198
|
-
update_help
|
|
199
|
-
end
|
|
200
|
-
# Update cursor rectangle
|
|
201
|
-
update_cursor_rect
|
|
202
|
-
end
|
|
203
|
-
end
|