Advertisement
Zeriab

[RGSS3] YEP Save Core polish

Jan 6th, 2021
1,396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.75 KB | None | 0 0
  1. module YEA
  2.   module SAVE
  3.     TITLE_SELECT_HELP = "Please select a file to load."
  4.   end
  5. end
  6.  
  7. class Scene_Load < Scene_File
  8.   ##
  9.   # Change to load immediately
  10.   #
  11.   def create_file_window
  12.     wy = @help_window.height
  13.     @file_window = Window_FileList.new(0, wy)
  14.     @file_window.set_handler(:ok, method(:on_action_load))
  15.     @file_window.set_handler(:cancel, method(:return_scene))
  16.   end
  17.   ##
  18.   # Remove action window
  19.   #
  20.   def create_all_windows
  21.     create_help_window
  22.     create_file_window
  23.     create_status_window
  24.   end
  25.   ##
  26.   # Alter status window size accordingly
  27.   #
  28.   def create_status_window
  29.     wx = @file_window.width
  30.     wy = @help_window.height
  31.     @status_window = Window_FileStatus.new(wx, wy, @file_window)
  32.   end
  33.   ##
  34.   # Change select help text
  35.   #
  36.   def create_help_window
  37.     @help_window = Window_Help.new(1)
  38.     @help_window.set_text(YEA::SAVE::TITLE_SELECT_HELP)
  39.   end
  40. end
  41.  
  42. class Scene_File < Scene_MenuBase
  43.   ##
  44.   # Reduce help window size
  45.   #
  46.   def create_help_window
  47.     @help_window = Window_Help.new(1)
  48.     @help_window.set_text(YEA::SAVE::SELECT_HELP)
  49.   end
  50.  
  51.   ##
  52.   # Autosave starts on 'load' where as other saves start on 'save'
  53.   #
  54.   def on_file_ok
  55.     @action_window.activate
  56.     index = @file_window.index == 0 ? 0 : 1
  57.     @action_window.select(index)
  58.   end
  59. end
  60.  
  61. ##
  62. # Disable save and delete for the auto-save
  63. #
  64. class Window_FileAction < Window_HorzCommand
  65.   alias_method :zeriab_save_enabled?, :save_enabled?
  66.   def save_enabled?
  67.     return false if @file_window.index <= 0
  68.     return zeriab_save_enabled?
  69.   end
  70.  
  71.   alias_method :zeriab_delete_enabled?, :delete_enabled?
  72.   def delete_enabled?
  73.     return false if @file_window.index <= 0
  74.     return zeriab_delete_enabled?
  75.   end
  76. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement