rmxp_extractor 1.5 → 1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- 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 +259 -0
- data/Scripts/Data_FastTravel.rb +50 -0
- data/Scripts/Data_Footsteps.rb +77 -0
- data/Scripts/Data_Item.rb +50 -0
- data/Scripts/Data_SpecialEventData.rb +60 -0
- data/Scripts/Demo.rb +7 -0
- data/Scripts/Desktop_Message.rb +210 -0
- data/Scripts/Doc_Message.rb +273 -0
- data/Scripts/EdText.rb +50 -0
- data/Scripts/Ed_Message.rb +234 -0
- data/Scripts/FastTravel.rb +175 -0
- data/Scripts/Game_Actor.rb +156 -0
- data/Scripts/Game_Actors.rb +28 -0
- data/Scripts/Game_BattleAction.rb +145 -0
- data/Scripts/Game_Battler 1.rb +307 -0
- data/Scripts/Game_Battler 2.rb +294 -0
- data/Scripts/Game_Battler 3.rb +354 -0
- data/Scripts/Game_Character 1.rb +291 -0
- data/Scripts/Game_Character 2.rb +355 -0
- data/Scripts/Game_Character 3.rb +505 -0
- data/Scripts/Game_CommonEvent.rb +70 -0
- data/Scripts/Game_Enemy.rb +317 -0
- data/Scripts/Game_Event.rb +264 -0
- data/Scripts/Game_FastTravel.rb +40 -0
- data/Scripts/Game_Follower.rb +76 -0
- data/Scripts/Game_Light.rb +13 -0
- data/Scripts/Game_Map.rb +551 -0
- data/Scripts/Game_Oneshot.rb +83 -0
- data/Scripts/Game_Party.rb +380 -0
- data/Scripts/Game_Picture.rb +164 -0
- data/Scripts/Game_Player.rb +298 -0
- data/Scripts/Game_Screen.rb +148 -0
- data/Scripts/Game_SelfSwitches.rb +30 -0
- data/Scripts/Game_Switches.rb +45 -0
- data/Scripts/Game_System.rb +210 -0
- data/Scripts/Game_Temp.rb +145 -0
- data/Scripts/Game_Variables.rb +36 -0
- data/Scripts/Interpreter 1.rb +320 -0
- data/Scripts/Interpreter 2.rb +286 -0
- data/Scripts/Interpreter 3.rb +474 -0
- data/Scripts/Interpreter 4.rb +327 -0
- data/Scripts/Interpreter 5.rb +448 -0
- data/Scripts/Interpreter 6.rb +307 -0
- data/Scripts/Interpreter 7.rb +282 -0
- data/Scripts/Main.rb +46 -9
- data/Scripts/Particles.rb +141 -0
- data/Scripts/Persistent.rb +71 -0
- data/Scripts/Puzzle_Film.rb +14 -0
- data/Scripts/Puzzle_Pixel.rb +210 -0
- data/Scripts/Puzzle_Safe.rb +152 -0
- data/Scripts/Puzzle_Sokoban.rb +14 -0
- data/Scripts/RPG.rb +55 -0
- data/Scripts/SaveLoad.rb +275 -0
- data/Scripts/Scene_Debug.rb +190 -0
- data/Scripts/Scene_End.rb +108 -0
- data/Scripts/Scene_Equip.rb +222 -0
- data/Scripts/Scene_File.rb +111 -0
- data/Scripts/Scene_Item.rb +205 -0
- data/Scripts/Scene_Load.rb +106 -0
- data/Scripts/Scene_Map.rb +540 -0
- data/Scripts/Scene_Menu.rb +213 -0
- data/Scripts/Scene_Name.rb +113 -0
- data/Scripts/Scene_Save.rb +88 -0
- data/Scripts/Scene_Skill.rb +232 -0
- data/Scripts/Scene_Status.rb +78 -0
- data/Scripts/Scene_Title.rb +237 -0
- data/Scripts/Script.rb +780 -0
- data/Scripts/Sprite_Battler.rb +131 -0
- data/Scripts/Sprite_Character.rb +192 -0
- data/Scripts/Sprite_Footprint.rb +35 -0
- data/Scripts/Sprite_Footsplash.rb +54 -0
- data/Scripts/Sprite_Light.rb +18 -0
- data/Scripts/Sprite_MapText.rb +63 -0
- data/Scripts/Sprite_Picture.rb +72 -0
- data/Scripts/Sprite_Timer.rb +52 -0
- data/Scripts/Spriteset_Map.rb +370 -0
- data/Scripts/Window_Base.rb +327 -0
- data/Scripts/Window_BattleResult.rb +51 -0
- data/Scripts/Window_BattleStatus.rb +62 -0
- data/Scripts/Window_Command.rb +49 -0
- data/Scripts/Window_DebugLeft.rb +57 -0
- data/Scripts/Window_DebugRight.rb +69 -0
- data/Scripts/Window_EquipItem.rb +94 -0
- data/Scripts/Window_EquipLeft.rb +61 -0
- data/Scripts/Window_EquipRight.rb +56 -0
- data/Scripts/Window_Gold.rb +27 -0
- data/Scripts/Window_Help.rb +33 -0
- data/Scripts/Window_InputNumber.rb +111 -0
- data/Scripts/Window_Item.rb +229 -0
- data/Scripts/Window_MainMenu.rb +150 -0
- data/Scripts/Window_MenuStatus.rb +48 -0
- data/Scripts/Window_Message.rb +459 -0
- data/Scripts/Window_NameEdit.rb +108 -0
- data/Scripts/Window_NameInput.rb +262 -0
- data/Scripts/Window_PartyCommand.rb +42 -0
- data/Scripts/Window_PlayTime.rb +40 -0
- data/Scripts/Window_SaveFile.rb +91 -0
- data/Scripts/Window_Selectable.rb +203 -0
- data/Scripts/Window_Settings.rb +469 -0
- data/Scripts/Window_ShopBuy.rb +93 -0
- data/Scripts/Window_ShopCommand.rb +37 -0
- data/Scripts/Window_ShopNumber.rb +87 -0
- data/Scripts/Window_ShopSell.rb +94 -0
- data/Scripts/Window_ShopStatus.rb +107 -0
- data/Scripts/Window_Skill.rb +83 -0
- data/Scripts/Window_SkillStatus.rb +28 -0
- data/Scripts/Window_Status.rb +64 -0
- data/Scripts/Window_Steps.rb +26 -0
- data/Scripts/Window_Target.rb +49 -0
- data/Scripts/_scripts.txt +110 -0
- data/Scripts/i18n_English.rb +59 -0
- data/Scripts/i18n_Language.rb +130 -0
- data/lib/rmxp_extractor/classnames.rb +6 -0
- data/lib/rmxp_extractor/data_export.rb +4 -2
- data/lib/rmxp_extractor/version.rb +1 -1
- metadata +111 -125
- data/Data/Map-1.rxdata +0 -0
- data/Data/Map-327.rxdata +0 -0
- data/Data/Map264.rxdata +0 -0
- data/Data/Map265.rxdata +0 -0
- data/Data/Map266.rxdata +0 -0
- data/Data/Map267.rxdata +0 -0
- data/Data/Map268.rxdata +0 -0
- data/Data/Map269.rxdata +0 -0
- data/Data/Map270.rxdata +0 -0
- data/Data/Map271.rxdata +0 -0
- data/Data/Map272.rxdata +0 -0
- data/Data/Map273.rxdata +0 -0
- data/Data/Map274.rxdata +0 -0
- data/Data/Map275.rxdata +0 -0
- data/Data/Map276.rxdata +0 -0
- data/Data/Map277.rxdata +0 -0
- data/Data/Map278.rxdata +0 -0
- data/Data/Map279.rxdata +0 -0
- data/Data/Map280.rxdata +0 -0
- data/Data/Map281.rxdata +0 -0
- data/Data/Map282.rxdata +0 -0
- data/Data/Map283.rxdata +0 -0
- data/Data/Map284.rxdata +0 -0
- data/Data/Map285.rxdata +0 -0
- data/Data/Map286.rxdata +0 -0
- data/Data/Map287.rxdata +0 -0
- data/Data/Map288.rxdata +0 -0
- data/Data/Map289.rxdata +0 -0
- data/Data/Map290.rxdata +0 -0
- data/Data/Map291.rxdata +0 -0
- data/Data/Map292.rxdata +0 -0
- data/Data/Map293.rxdata +0 -0
- data/Data/Map294.rxdata +0 -0
- data/Data/Map295.rxdata +0 -0
- data/Data/Map296.rxdata +0 -0
- data/Data/Map297.rxdata +0 -0
- data/Data/Map298.rxdata +0 -0
- data/Data/Map299.rxdata +0 -0
- data/Data/Map300.rxdata +0 -0
- data/Data/Map301.rxdata +0 -0
- data/Data/Map302.rxdata +0 -0
- data/Data/Map303.rxdata +0 -0
- data/Data/Map304.rxdata +0 -0
- data/Data/Map305.rxdata +0 -0
- data/Data/Map306.rxdata +0 -0
- data/Data/Map307.rxdata +0 -0
- data/Data/Map308.rxdata +0 -0
- data/Data/Map309.rxdata +0 -0
- data/Data/Map310.rxdata +0 -0
- data/Data/Map311.rxdata +0 -0
- data/Data/Map312.rxdata +0 -0
- data/Data/Map313.rxdata +0 -0
- data/Data/Map314.rxdata +0 -0
- data/Data/Map315.rxdata +0 -0
- data/Data/Map316.rxdata +0 -0
- data/Data/Map317.rxdata +0 -0
- data/Data/Map318.rxdata +0 -0
- data/Data/Map319.rxdata +0 -0
- data/Data/Map320.rxdata +0 -0
- data/Data/Map321.rxdata +0 -0
- data/Data/Map322.rxdata +0 -0
- data/Data/Map323.rxdata +0 -0
- data/Data/Map324.rxdata +0 -0
- data/Data/Map325.rxdata +0 -0
- data/Data/Map326.rxdata +0 -0
- data/Data/Map327.rxdata +0 -0
- data/Data/Map328.rxdata +0 -0
- data/Data/Map329.rxdata +0 -0
- data/Data/Map330.rxdata +0 -0
- data/Data/Map331.rxdata +0 -0
- data/Data/Map332.rxdata +0 -0
- data/Data/Map333.rxdata +0 -0
- data/Data/Map334.rxdata +0 -0
- data/Data/Map335.rxdata +0 -0
- data/Data/Map336.rxdata +0 -0
- data/Data/Map337.rxdata +0 -0
- data/Data/Map338.rxdata +0 -0
- data/Data/Map339.rxdata +0 -0
- data/Data/Map340.rxdata +0 -0
- data/Data/Map341.rxdata +0 -0
- data/Data/Map342.rxdata +0 -0
- data/Data/Map343.rxdata +0 -0
- data/Data/Map344.rxdata +0 -0
- data/Data/Map345.rxdata +0 -0
- data/Data/Map346.rxdata +0 -0
- data/Data/Map347.rxdata +0 -0
- data/Data/Map348.rxdata +0 -0
- data/Data/Map349.rxdata +0 -0
- data/Data/Map350.rxdata +0 -0
- data/Data/Map351.rxdata +0 -0
- data/Data/Map352.rxdata +0 -0
- data/Data/Map353.rxdata +0 -0
- data/Data/Map354.rxdata +0 -0
- data/Data/Map355.rxdata +0 -0
- data/Data/Map356.rxdata +0 -0
- data/Data/Map357.rxdata +0 -0
- data/Data/Map358.rxdata +0 -0
- data/Data/Map359.rxdata +0 -0
- data/Data/Map360.rxdata +0 -0
- data/Data/Map361.rxdata +0 -0
- data/Data/Map362.rxdata +0 -0
- data/Data/Map363.rxdata +0 -0
- data/Data/Map364.rxdata +0 -0
- data/Data/Map365.rxdata +0 -0
- data/Data/Map366.rxdata +0 -0
- data/Data/Map367.rxdata +0 -0
- data/Data/Map368.rxdata +0 -0
- data/Data/Map369.rxdata +0 -0
- data/Data/Map370.rxdata +0 -0
- data/Data/Map371.rxdata +0 -0
- data/Data/Map372.rxdata +0 -0
- data/Data/Map373.rxdata +0 -0
- data/Data/Map374.rxdata +0 -0
- data/Data/Map375.rxdata +0 -0
- data/Data/Map376.rxdata +0 -0
- data/Data/Map377.rxdata +0 -0
- data/Data/Map378.rxdata +0 -0
- data/Data/Map379.rxdata +0 -0
- data/Data/Map380.rxdata +0 -0
- data/Data/Map381.rxdata +0 -0
- data/Data/Map382.rxdata +0 -0
- data/Data/Map383.rxdata +0 -0
- data/Data/Map384.rxdata +0 -0
- data/Data/Map385.rxdata +0 -0
@@ -0,0 +1,262 @@
|
|
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
|
@@ -0,0 +1,42 @@
|
|
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
|
@@ -0,0 +1,40 @@
|
|
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
|
@@ -0,0 +1,91 @@
|
|
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
|
@@ -0,0 +1,203 @@
|
|
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
|