#============================================================================== # ** [XP] Drago - Translucent Menu # Version : 2.00 # Contact : littledrago.blogspot.com / forum.chaos-project.com #============================================================================== module Transparency Scene = [Scene_Menu, Scene_Item, Scene_Skill, Scene_Equip, Scene_Status, Scene_Save, Scene_End, Scene_Shop, Scene_Name, Scene_Debug] No_Pause_Menu = true end ($imported ||= {})[:drg_translucent_menu] = 2.00 #============================================================================== # ** Object #------------------------------------------------------------------------------ # This class is superclass for all class #============================================================================== class Object #-------------------------------------------------------------------------- # * self.menu_transparency #-------------------------------------------------------------------------- def self.menu_transparency unless method_defined?(:menu_transparency_update) send(:alias_method, :menu_transparency_main, :main) send(:alias_method, :menu_transparency_update, :update) end send(:define_method, :main) do |*args| @spriteset = Spriteset_Map.new if $game_map && $game_map.map_id != 0 @menu_transparency = !@spriteset.nil? menu_transparency_main(*args) @spriteset && @spriteset.dispose end send(:define_method, :update) do |*args| menu_transparency_update(*args) return unless $game_temp return unless Transparency::No_Pause_Menu return if $game_temp.player_transferring return if $game_temp.transition_processing message = $game_temp.message_window_showing @spriteset && @spriteset.update $game_map && $game_map.update $game_system && $game_system.update $game_system && (sys = $game_system.map_interpreter) && sys.update $game_screen && $game_screen.update $game_temp.message_window_showing = true $game_player && $game_player.update $game_temp.message_window_showing = message end end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # This class is for all in-game windows. #============================================================================== class Window_Base #-------------------------------------------------------------------------- # * Alias Listing #-------------------------------------------------------------------------- alias_method :menu_transparency_main, :initialize #-------------------------------------------------------------------------- # * Aliased method: initialize #-------------------------------------------------------------------------- def initialize(*args) menu_transparency_main(*args) self.opacity = 180 if $scene.instance_variable_get(:@menu_transparency) end end Transparency::Scene.each {|scene| scene.menu_transparency }