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.
Files changed (411) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +74 -74
  3. data/Gemfile +13 -13
  4. data/Gemfile.lock +40 -40
  5. data/LICENSE.txt +21 -21
  6. data/README.md +37 -35
  7. data/Rakefile +6 -6
  8. data/bin/rmxp_extractor +13 -13
  9. data/bin/setup +8 -8
  10. data/diff_check.rb +13 -13
  11. data/lib/rmxp_extractor/classnames.rb +227 -245
  12. data/lib/rmxp_extractor/data_export.rb +80 -82
  13. data/lib/rmxp_extractor/data_import.rb +74 -69
  14. data/lib/rmxp_extractor/ron.rb +144 -144
  15. data/lib/rmxp_extractor/script_handler.rb +85 -85
  16. data/lib/rmxp_extractor/version.rb +3 -3
  17. data/lib/rmxp_extractor.rb +46 -46
  18. data/rmxp_extractor.gemspec +30 -30
  19. data/spec/spec_helper.rb +100 -100
  20. metadata +2 -393
  21. data/Data/Actors.rxdata +0 -0
  22. data/Data/Animations.rxdata +0 -0
  23. data/Data/Armors.rxdata +0 -0
  24. data/Data/Classes.rxdata +0 -0
  25. data/Data/CommonEvents.rxdata +0 -0
  26. data/Data/Enemies.rxdata +0 -0
  27. data/Data/Items.rxdata +0 -0
  28. data/Data/Map001.rxdata +0 -0
  29. data/Data/Map002.rxdata +0 -0
  30. data/Data/Map003.rxdata +0 -0
  31. data/Data/Map004.rxdata +0 -0
  32. data/Data/Map005.rxdata +0 -0
  33. data/Data/Map006.rxdata +0 -0
  34. data/Data/Map007.rxdata +0 -0
  35. data/Data/Map008.rxdata +0 -0
  36. data/Data/Map009.rxdata +0 -0
  37. data/Data/Map010.rxdata +0 -0
  38. data/Data/Map011.rxdata +0 -0
  39. data/Data/Map012.rxdata +0 -0
  40. data/Data/Map013.rxdata +0 -0
  41. data/Data/Map014.rxdata +0 -0
  42. data/Data/Map015.rxdata +0 -0
  43. data/Data/Map016.rxdata +0 -0
  44. data/Data/Map017.rxdata +0 -0
  45. data/Data/Map018.rxdata +0 -0
  46. data/Data/Map019.rxdata +0 -0
  47. data/Data/Map020.rxdata +0 -0
  48. data/Data/Map021.rxdata +0 -0
  49. data/Data/Map022.rxdata +0 -0
  50. data/Data/Map023.rxdata +0 -0
  51. data/Data/Map024.rxdata +0 -0
  52. data/Data/Map025.rxdata +0 -0
  53. data/Data/Map026.rxdata +0 -0
  54. data/Data/Map027.rxdata +0 -0
  55. data/Data/Map028.rxdata +0 -0
  56. data/Data/Map029.rxdata +0 -0
  57. data/Data/Map030.rxdata +0 -0
  58. data/Data/Map031.rxdata +0 -0
  59. data/Data/Map032.rxdata +0 -0
  60. data/Data/Map033.rxdata +0 -0
  61. data/Data/Map034.rxdata +0 -0
  62. data/Data/Map035.rxdata +0 -0
  63. data/Data/Map036.rxdata +0 -0
  64. data/Data/Map037.rxdata +0 -0
  65. data/Data/Map038.rxdata +0 -0
  66. data/Data/Map039.rxdata +0 -0
  67. data/Data/Map040.rxdata +0 -0
  68. data/Data/Map041.rxdata +0 -0
  69. data/Data/Map042.rxdata +0 -0
  70. data/Data/Map043.rxdata +0 -0
  71. data/Data/Map044.rxdata +0 -0
  72. data/Data/Map045.rxdata +0 -0
  73. data/Data/Map046.rxdata +0 -0
  74. data/Data/Map047.rxdata +0 -0
  75. data/Data/Map048.rxdata +0 -0
  76. data/Data/Map049.rxdata +0 -0
  77. data/Data/Map050.rxdata +0 -0
  78. data/Data/Map051.rxdata +0 -0
  79. data/Data/Map052.rxdata +0 -0
  80. data/Data/Map053.rxdata +0 -0
  81. data/Data/Map054.rxdata +0 -0
  82. data/Data/Map055.rxdata +0 -0
  83. data/Data/Map056.rxdata +0 -0
  84. data/Data/Map057.rxdata +0 -0
  85. data/Data/Map058.rxdata +0 -0
  86. data/Data/Map059.rxdata +0 -0
  87. data/Data/Map060.rxdata +0 -0
  88. data/Data/Map061.rxdata +0 -0
  89. data/Data/Map062.rxdata +0 -0
  90. data/Data/Map063.rxdata +0 -0
  91. data/Data/Map064.rxdata +0 -0
  92. data/Data/Map065.rxdata +0 -0
  93. data/Data/Map066.rxdata +0 -0
  94. data/Data/Map067.rxdata +0 -0
  95. data/Data/Map068.rxdata +0 -0
  96. data/Data/Map069.rxdata +0 -0
  97. data/Data/Map070.rxdata +0 -0
  98. data/Data/Map071.rxdata +0 -0
  99. data/Data/Map072.rxdata +0 -0
  100. data/Data/Map073.rxdata +0 -0
  101. data/Data/Map074.rxdata +0 -0
  102. data/Data/Map075.rxdata +0 -0
  103. data/Data/Map076.rxdata +0 -0
  104. data/Data/Map077.rxdata +0 -0
  105. data/Data/Map078.rxdata +0 -0
  106. data/Data/Map079.rxdata +0 -0
  107. data/Data/Map080.rxdata +0 -0
  108. data/Data/Map081.rxdata +0 -0
  109. data/Data/Map082.rxdata +0 -0
  110. data/Data/Map083.rxdata +0 -0
  111. data/Data/Map084.rxdata +0 -0
  112. data/Data/Map085.rxdata +0 -0
  113. data/Data/Map086.rxdata +0 -0
  114. data/Data/Map087.rxdata +0 -0
  115. data/Data/Map088.rxdata +0 -0
  116. data/Data/Map089.rxdata +0 -0
  117. data/Data/Map090.rxdata +0 -0
  118. data/Data/Map091.rxdata +0 -0
  119. data/Data/Map092.rxdata +0 -0
  120. data/Data/Map093.rxdata +0 -0
  121. data/Data/Map094.rxdata +0 -0
  122. data/Data/Map095.rxdata +0 -0
  123. data/Data/Map096.rxdata +0 -0
  124. data/Data/Map097.rxdata +0 -0
  125. data/Data/Map098.rxdata +0 -0
  126. data/Data/Map099.rxdata +0 -0
  127. data/Data/Map100.rxdata +0 -0
  128. data/Data/Map101.rxdata +0 -0
  129. data/Data/Map102.rxdata +0 -0
  130. data/Data/Map103.rxdata +0 -0
  131. data/Data/Map104.rxdata +0 -0
  132. data/Data/Map105.rxdata +0 -0
  133. data/Data/Map106.rxdata +0 -0
  134. data/Data/Map107.rxdata +0 -0
  135. data/Data/Map108.rxdata +0 -0
  136. data/Data/Map109.rxdata +0 -0
  137. data/Data/Map110.rxdata +0 -0
  138. data/Data/Map111.rxdata +0 -0
  139. data/Data/Map112.rxdata +0 -0
  140. data/Data/Map113.rxdata +0 -0
  141. data/Data/Map114.rxdata +0 -0
  142. data/Data/Map115.rxdata +0 -0
  143. data/Data/Map116.rxdata +0 -0
  144. data/Data/Map117.rxdata +0 -0
  145. data/Data/Map118.rxdata +0 -0
  146. data/Data/Map119.rxdata +0 -0
  147. data/Data/Map120.rxdata +0 -0
  148. data/Data/Map121.rxdata +0 -0
  149. data/Data/Map122.rxdata +0 -0
  150. data/Data/Map123.rxdata +0 -0
  151. data/Data/Map124.rxdata +0 -0
  152. data/Data/Map125.rxdata +0 -0
  153. data/Data/Map126.rxdata +0 -0
  154. data/Data/Map127.rxdata +0 -0
  155. data/Data/Map128.rxdata +0 -0
  156. data/Data/Map129.rxdata +0 -0
  157. data/Data/Map130.rxdata +0 -0
  158. data/Data/Map131.rxdata +0 -0
  159. data/Data/Map132.rxdata +0 -0
  160. data/Data/Map133.rxdata +0 -0
  161. data/Data/Map134.rxdata +0 -0
  162. data/Data/Map135.rxdata +0 -0
  163. data/Data/Map136.rxdata +0 -0
  164. data/Data/Map137.rxdata +0 -0
  165. data/Data/Map138.rxdata +0 -0
  166. data/Data/Map139.rxdata +0 -0
  167. data/Data/Map140.rxdata +0 -0
  168. data/Data/Map141.rxdata +0 -0
  169. data/Data/Map142.rxdata +0 -0
  170. data/Data/Map143.rxdata +0 -0
  171. data/Data/Map144.rxdata +0 -0
  172. data/Data/Map145.rxdata +0 -0
  173. data/Data/Map146.rxdata +0 -0
  174. data/Data/Map147.rxdata +0 -0
  175. data/Data/Map148.rxdata +0 -0
  176. data/Data/Map149.rxdata +0 -0
  177. data/Data/Map150.rxdata +0 -0
  178. data/Data/Map151.rxdata +0 -0
  179. data/Data/Map152.rxdata +0 -0
  180. data/Data/Map153.rxdata +0 -0
  181. data/Data/Map154.rxdata +0 -0
  182. data/Data/Map155.rxdata +0 -0
  183. data/Data/Map156.rxdata +0 -0
  184. data/Data/Map157.rxdata +0 -0
  185. data/Data/Map158.rxdata +0 -0
  186. data/Data/Map159.rxdata +0 -0
  187. data/Data/Map160.rxdata +0 -0
  188. data/Data/Map161.rxdata +0 -0
  189. data/Data/Map162.rxdata +0 -0
  190. data/Data/Map163.rxdata +0 -0
  191. data/Data/Map164.rxdata +0 -0
  192. data/Data/Map165.rxdata +0 -0
  193. data/Data/Map166.rxdata +0 -0
  194. data/Data/Map167.rxdata +0 -0
  195. data/Data/Map168.rxdata +0 -0
  196. data/Data/Map169.rxdata +0 -0
  197. data/Data/Map170.rxdata +0 -0
  198. data/Data/Map171.rxdata +0 -0
  199. data/Data/Map172.rxdata +0 -0
  200. data/Data/Map173.rxdata +0 -0
  201. data/Data/Map174.rxdata +0 -0
  202. data/Data/Map175.rxdata +0 -0
  203. data/Data/Map176.rxdata +0 -0
  204. data/Data/Map177.rxdata +0 -0
  205. data/Data/Map178.rxdata +0 -0
  206. data/Data/Map179.rxdata +0 -0
  207. data/Data/Map180.rxdata +0 -0
  208. data/Data/Map181.rxdata +0 -0
  209. data/Data/Map182.rxdata +0 -0
  210. data/Data/Map183.rxdata +0 -0
  211. data/Data/Map184.rxdata +0 -0
  212. data/Data/Map185.rxdata +0 -0
  213. data/Data/Map186.rxdata +0 -0
  214. data/Data/Map187.rxdata +0 -0
  215. data/Data/Map188.rxdata +0 -0
  216. data/Data/Map189.rxdata +0 -0
  217. data/Data/Map190.rxdata +0 -0
  218. data/Data/Map191.rxdata +0 -0
  219. data/Data/Map192.rxdata +0 -0
  220. data/Data/Map193.rxdata +0 -0
  221. data/Data/Map194.rxdata +0 -0
  222. data/Data/Map195.rxdata +0 -0
  223. data/Data/Map196.rxdata +0 -0
  224. data/Data/Map197.rxdata +0 -0
  225. data/Data/Map198.rxdata +0 -0
  226. data/Data/Map199.rxdata +0 -0
  227. data/Data/Map200.rxdata +0 -0
  228. data/Data/Map201.rxdata +0 -0
  229. data/Data/Map202.rxdata +0 -0
  230. data/Data/Map203.rxdata +0 -0
  231. data/Data/Map204.rxdata +0 -0
  232. data/Data/Map205.rxdata +0 -0
  233. data/Data/Map206.rxdata +0 -0
  234. data/Data/Map207.rxdata +0 -0
  235. data/Data/Map208.rxdata +0 -0
  236. data/Data/Map209.rxdata +0 -0
  237. data/Data/Map210.rxdata +0 -0
  238. data/Data/Map211.rxdata +0 -0
  239. data/Data/Map212.rxdata +0 -0
  240. data/Data/Map213.rxdata +0 -0
  241. data/Data/Map214.rxdata +0 -0
  242. data/Data/Map215.rxdata +0 -0
  243. data/Data/Map216.rxdata +0 -0
  244. data/Data/Map217.rxdata +0 -0
  245. data/Data/Map218.rxdata +0 -0
  246. data/Data/Map219.rxdata +0 -0
  247. data/Data/Map220.rxdata +0 -0
  248. data/Data/Map221.rxdata +0 -0
  249. data/Data/Map222.rxdata +0 -0
  250. data/Data/Map223.rxdata +0 -0
  251. data/Data/Map224.rxdata +0 -0
  252. data/Data/Map225.rxdata +0 -0
  253. data/Data/Map226.rxdata +0 -0
  254. data/Data/Map227.rxdata +0 -0
  255. data/Data/Map228.rxdata +0 -0
  256. data/Data/Map229.rxdata +0 -0
  257. data/Data/Map230.rxdata +0 -0
  258. data/Data/Map231.rxdata +0 -0
  259. data/Data/Map232.rxdata +0 -0
  260. data/Data/Map233.rxdata +0 -0
  261. data/Data/Map234.rxdata +0 -0
  262. data/Data/Map235.rxdata +0 -0
  263. data/Data/Map236.rxdata +0 -0
  264. data/Data/Map237.rxdata +0 -0
  265. data/Data/Map238.rxdata +0 -0
  266. data/Data/Map239.rxdata +0 -0
  267. data/Data/Map240.rxdata +0 -0
  268. data/Data/Map241.rxdata +0 -0
  269. data/Data/Map242.rxdata +0 -0
  270. data/Data/Map243.rxdata +0 -0
  271. data/Data/Map244.rxdata +0 -0
  272. data/Data/Map245.rxdata +0 -0
  273. data/Data/Map246.rxdata +0 -0
  274. data/Data/Map247.rxdata +0 -0
  275. data/Data/Map248.rxdata +0 -0
  276. data/Data/Map249.rxdata +0 -0
  277. data/Data/Map250.rxdata +0 -0
  278. data/Data/Map251.rxdata +0 -0
  279. data/Data/Map252.rxdata +0 -0
  280. data/Data/Map253.rxdata +0 -0
  281. data/Data/Map254.rxdata +0 -0
  282. data/Data/Map255.rxdata +0 -0
  283. data/Data/Map256.rxdata +0 -0
  284. data/Data/Map257.rxdata +0 -0
  285. data/Data/Map258.rxdata +0 -0
  286. data/Data/Map259.rxdata +0 -0
  287. data/Data/Map260.rxdata +0 -0
  288. data/Data/Map261.rxdata +0 -0
  289. data/Data/Map262.rxdata +0 -0
  290. data/Data/Map263.rxdata +0 -0
  291. data/Data/MapInfos.rxdata +0 -0
  292. data/Data/Scripts.rxdata +0 -0
  293. data/Data/Skills.rxdata +0 -0
  294. data/Data/States.rxdata +0 -0
  295. data/Data/System.rxdata +0 -0
  296. data/Data/Tilesets.rxdata +0 -0
  297. data/Data/Troops.rxdata +0 -0
  298. data/Data/Weapons.rxdata +0 -0
  299. data/Data/xScripts.rxdata +0 -0
  300. data/Scripts/Credits_Message.rb +0 -259
  301. data/Scripts/Data_FastTravel.rb +0 -50
  302. data/Scripts/Data_Footsteps.rb +0 -77
  303. data/Scripts/Data_Item.rb +0 -50
  304. data/Scripts/Data_SpecialEventData.rb +0 -60
  305. data/Scripts/Demo.rb +0 -7
  306. data/Scripts/Desktop_Message.rb +0 -210
  307. data/Scripts/Doc_Message.rb +0 -273
  308. data/Scripts/EdText.rb +0 -50
  309. data/Scripts/Ed_Message.rb +0 -234
  310. data/Scripts/FastTravel.rb +0 -175
  311. data/Scripts/Game_Actor.rb +0 -156
  312. data/Scripts/Game_Actors.rb +0 -28
  313. data/Scripts/Game_BattleAction.rb +0 -145
  314. data/Scripts/Game_Battler 1.rb +0 -307
  315. data/Scripts/Game_Battler 2.rb +0 -294
  316. data/Scripts/Game_Battler 3.rb +0 -354
  317. data/Scripts/Game_Character 1.rb +0 -291
  318. data/Scripts/Game_Character 2.rb +0 -355
  319. data/Scripts/Game_Character 3.rb +0 -505
  320. data/Scripts/Game_CommonEvent.rb +0 -70
  321. data/Scripts/Game_Enemy.rb +0 -317
  322. data/Scripts/Game_Event.rb +0 -264
  323. data/Scripts/Game_FastTravel.rb +0 -40
  324. data/Scripts/Game_Follower.rb +0 -76
  325. data/Scripts/Game_Light.rb +0 -13
  326. data/Scripts/Game_Map.rb +0 -551
  327. data/Scripts/Game_Oneshot.rb +0 -83
  328. data/Scripts/Game_Party.rb +0 -380
  329. data/Scripts/Game_Picture.rb +0 -164
  330. data/Scripts/Game_Player.rb +0 -298
  331. data/Scripts/Game_Screen.rb +0 -148
  332. data/Scripts/Game_SelfSwitches.rb +0 -30
  333. data/Scripts/Game_Switches.rb +0 -45
  334. data/Scripts/Game_System.rb +0 -210
  335. data/Scripts/Game_Temp.rb +0 -145
  336. data/Scripts/Game_Variables.rb +0 -36
  337. data/Scripts/Interpreter 1.rb +0 -320
  338. data/Scripts/Interpreter 2.rb +0 -286
  339. data/Scripts/Interpreter 3.rb +0 -474
  340. data/Scripts/Interpreter 4.rb +0 -327
  341. data/Scripts/Interpreter 5.rb +0 -448
  342. data/Scripts/Interpreter 6.rb +0 -307
  343. data/Scripts/Interpreter 7.rb +0 -282
  344. data/Scripts/Main.rb +0 -50
  345. data/Scripts/Particles.rb +0 -141
  346. data/Scripts/Persistent.rb +0 -71
  347. data/Scripts/Puzzle_Film.rb +0 -14
  348. data/Scripts/Puzzle_Pixel.rb +0 -210
  349. data/Scripts/Puzzle_Safe.rb +0 -152
  350. data/Scripts/Puzzle_Sokoban.rb +0 -14
  351. data/Scripts/RPG.rb +0 -55
  352. data/Scripts/SaveLoad.rb +0 -275
  353. data/Scripts/Scene_Debug.rb +0 -190
  354. data/Scripts/Scene_End.rb +0 -108
  355. data/Scripts/Scene_Equip.rb +0 -222
  356. data/Scripts/Scene_File.rb +0 -111
  357. data/Scripts/Scene_Item.rb +0 -205
  358. data/Scripts/Scene_Load.rb +0 -106
  359. data/Scripts/Scene_Map.rb +0 -540
  360. data/Scripts/Scene_Menu.rb +0 -213
  361. data/Scripts/Scene_Name.rb +0 -113
  362. data/Scripts/Scene_Save.rb +0 -88
  363. data/Scripts/Scene_Skill.rb +0 -232
  364. data/Scripts/Scene_Status.rb +0 -78
  365. data/Scripts/Scene_Title.rb +0 -237
  366. data/Scripts/Script.rb +0 -780
  367. data/Scripts/Sprite_Battler.rb +0 -131
  368. data/Scripts/Sprite_Character.rb +0 -192
  369. data/Scripts/Sprite_Footprint.rb +0 -35
  370. data/Scripts/Sprite_Footsplash.rb +0 -54
  371. data/Scripts/Sprite_Light.rb +0 -18
  372. data/Scripts/Sprite_MapText.rb +0 -63
  373. data/Scripts/Sprite_Picture.rb +0 -72
  374. data/Scripts/Sprite_Timer.rb +0 -52
  375. data/Scripts/Spriteset_Map.rb +0 -370
  376. data/Scripts/Window_Base.rb +0 -327
  377. data/Scripts/Window_BattleResult.rb +0 -51
  378. data/Scripts/Window_BattleStatus.rb +0 -62
  379. data/Scripts/Window_Command.rb +0 -49
  380. data/Scripts/Window_DebugLeft.rb +0 -57
  381. data/Scripts/Window_DebugRight.rb +0 -69
  382. data/Scripts/Window_EquipItem.rb +0 -94
  383. data/Scripts/Window_EquipLeft.rb +0 -61
  384. data/Scripts/Window_EquipRight.rb +0 -56
  385. data/Scripts/Window_Gold.rb +0 -27
  386. data/Scripts/Window_Help.rb +0 -33
  387. data/Scripts/Window_InputNumber.rb +0 -111
  388. data/Scripts/Window_Item.rb +0 -229
  389. data/Scripts/Window_MainMenu.rb +0 -150
  390. data/Scripts/Window_MenuStatus.rb +0 -48
  391. data/Scripts/Window_Message.rb +0 -459
  392. data/Scripts/Window_NameEdit.rb +0 -108
  393. data/Scripts/Window_NameInput.rb +0 -262
  394. data/Scripts/Window_PartyCommand.rb +0 -42
  395. data/Scripts/Window_PlayTime.rb +0 -40
  396. data/Scripts/Window_SaveFile.rb +0 -91
  397. data/Scripts/Window_Selectable.rb +0 -203
  398. data/Scripts/Window_Settings.rb +0 -469
  399. data/Scripts/Window_ShopBuy.rb +0 -93
  400. data/Scripts/Window_ShopCommand.rb +0 -37
  401. data/Scripts/Window_ShopNumber.rb +0 -87
  402. data/Scripts/Window_ShopSell.rb +0 -94
  403. data/Scripts/Window_ShopStatus.rb +0 -107
  404. data/Scripts/Window_Skill.rb +0 -83
  405. data/Scripts/Window_SkillStatus.rb +0 -28
  406. data/Scripts/Window_Status.rb +0 -64
  407. data/Scripts/Window_Steps.rb +0 -26
  408. data/Scripts/Window_Target.rb +0 -49
  409. data/Scripts/_scripts.txt +0 -111
  410. data/Scripts/i18n_English.rb +0 -59
  411. data/Scripts/i18n_Language.rb +0 -130
@@ -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
@@ -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
@@ -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