Ignore the fact that the module is named CMS, it is in fact for my menu system but I mutilated *cough* I mean edited this class into a module for you.
Please note, this is only going to affect scenes which are children of SDK::Scene_Base, which if you have latest SDK and you're using it correctly then all default scenes are children of SDK::Scene_Base
To have the Map show in the background of all menus, go to the bottom of the CMS class *cough* err module I mean, and change Show_Map.default = true
(NOTE: It'll still show black background if the scene isn't associated with SDK::Scene_Base and/or if there was a problem creating Spriteset_Map. If the alternative, no error will pop because I wrapped it in a begin/rescue clause.)
To have all windows transparent enough to show the map, again go to the bottom of the CMS module and set Opacity.default to 160 or whatever looks good.
(NOTE: This will only apply when windows are initialized, so if the opacity 'n stuff are changed later then it won't be what you set in this setting anymore.)
#===============================================================================
# ** CMS
#===============================================================================
module CMS
#-----------------------------------------------------------------------------
# * Opacity
#-----------------------------------------------------------------------------
Opacity = {}
#-----------------------------------------------------------------------------
# * B_Opacity
#-----------------------------------------------------------------------------
B_Opacity = {}
#-----------------------------------------------------------------------------
# * C_Opacity
#-----------------------------------------------------------------------------
C_Opacity = {}
#-----------------------------------------------------------------------------
# * Zoom
#-----------------------------------------------------------------------------
Zoom = {}
#-----------------------------------------------------------------------------
# * Stretch
#-----------------------------------------------------------------------------
Stretch = {}
#-----------------------------------------------------------------------------
# * Show Map
#-----------------------------------------------------------------------------
Show_Map = {'Scene_Battle' => false}
#-----------------------------------------------------------------------------
# * Default Settings
#-----------------------------------------------------------------------------
Opacity.default = 255
B_Opacity.default = 255
C_Opacity.default = 255
Stretch.default = true
Zoom.default = 100
Show_Map.default = true
end
#===============================================================================
# ** Window_Base
#===============================================================================
class Window_Base < Window
#-----------------------------------------------------------------------------
# * Alias Listings
#-----------------------------------------------------------------------------
alias_method :cms_winbase_initialize, :initialize
#-----------------------------------------------------------------------------
# * Object Initialization
#-----------------------------------------------------------------------------
def initialize(*args)
cms_winbase_initialize(*args)
self.stretch = apply_CMS_Settings('Stretch')
self.opacity = apply_CMS_Settings('Opacity')
self.back_opacity = apply_CMS_Settings('B_Opacity')
self.contents_opacity = apply_CMS_Settings('C_Opacity')
self.z = apply_CMS_Settings('Zoom')
end
#-----------------------------------------------------------------------------
# * Apply CMS Settings
#-----------------------------------------------------------------------------
def apply_CMS_Settings(const)
setting = CMS.const_get(const)
setting[self.class.to_s]
end
end
#===============================================================================
# ** SDK::Scene_Base
#===============================================================================
class SDK::Scene_Base
#-----------------------------------------------------------------------------
# * Alias Listing
#-----------------------------------------------------------------------------
alias_method :cms_scnbase_mainspriteset, :main_spriteset
#-----------------------------------------------------------------------------
# * Main Spriteset
#-----------------------------------------------------------------------------
def main_spriteset
cms_scnbase_mainspriteset
begin
if create_spriteset_map?
unless spriteset_map_created?
@spriteset = Spriteset_Map.new
end
end
rescue
end
end
#-----------------------------------------------------------------------------
# * Create Spriteset Map?
#-----------------------------------------------------------------------------
def create_spriteset_map?
return false if $scene.is_a?(Scene_Battle)
return false if $scene.is_a?(Scene_Map)
CMS::Show_Map[$scene.class.to_s]
end
#-----------------------------------------------------------------------------
# * Spriteset_Map Created?
#-----------------------------------------------------------------------------
def spriteset_map_created?
return true if $scene.is_a?(Scene_Map)
instance_variables.each {|var|
object = self.instance_variable_get(var)
return true if object.is_a?(Spriteset_Map)}
return false
end
end
Alternatively, if you don't use SDK then somebody will really have to slave their ass off for you to edit all the default scenes for you
PS: Since I didn't test the edits of my system, then you can PM me if you have any troubles, but I'm hypothesizing it should work fine. Lastly, if you decide to share this with anybody later, then you need to change the code and unassociate the module as the "CMS" module, name it something else.
Enjoy!