Permanently cached some graphics (player charsets, windowskins and related graphics)

This commit is contained in:
Maruno17
2021-04-11 15:41:55 +01:00
parent e5a0e3acdd
commit c58164ef97
5 changed files with 27 additions and 3 deletions

View File

@@ -36,10 +36,10 @@ module RPG
cached = true
ret = fromCache(path)
if !ret
if filename != ""
ret = BitmapWrapper.new(path)
else
if filename == ""
ret = BitmapWrapper.new(32, 32)
else
ret = BitmapWrapper.new(path)
end
@cache[path] = ret
cached = false
@@ -85,6 +85,20 @@ module RPG
def self.transition(filename)
self.load_bitmap("Graphics/Transitions/", filename)
end
def self.addRef(folder_name, filename = "", hue = 0)
path = folder_name + filename
ret = fromCache(path)
if hue > 0
key = [path, hue]
ret2 = fromCache(key)
if ret2
ret2.addRef
return
end
end
ret.addRef if ret
end
end
end

View File

@@ -837,6 +837,7 @@ class SpriteWindow_Base < SpriteWindow
@curframe=MessageConfig.pbGetSystemFrame()
@curfont=MessageConfig.pbGetSystemFontName()
@sysframe=AnimatedBitmap.new(@curframe)
RPG::Cache.addRef(@curframe) if @curframe && !@curframe.empty?
@customskin=nil
__setWindowskin(@sysframe.bitmap)
__resolveSystemFrame()
@@ -869,6 +870,7 @@ class SpriteWindow_Base < SpriteWindow
resolvedName=pbResolveBitmap(skin)
return if !resolvedName || resolvedName==""
@customskin=AnimatedBitmap.new(resolvedName)
RPG::Cache.addRef(resolvedName)
__setWindowskin(@customskin.bitmap)
if self.skinformat==1
skinbase=resolvedName.sub(/\.[^\.\/\\]+$/,"")
@@ -903,6 +905,7 @@ class SpriteWindow_Base < SpriteWindow
if @sysframe && !@customskin
@sysframe.dispose if @sysframe
@sysframe=AnimatedBitmap.new(@curframe)
RPG::Cache.addRef(@curframe) if @curframe && !@curframe.empty?
@resolvedFrame=nil
__setWindowskin(@sysframe.bitmap)
__resolveSystemFrame()

View File

@@ -964,6 +964,8 @@ module UpDownArrowMixin
def initUpDownArrow
@uparrow = AnimatedSprite.create("Graphics/Pictures/uparrow",8,2,self.viewport)
@downarrow = AnimatedSprite.create("Graphics/Pictures/downarrow",8,2,self.viewport)
RPG::Cache.addRef("Graphics/Pictures/uparrow")
RPG::Cache.addRef("Graphics/Pictures/downarrow")
@uparrow.z = 99998
@downarrow.z = 99998
@uparrow.visible = false
@@ -1046,8 +1048,10 @@ class Window_DrawableCommand < SpriteWindow_SelectableEx
self.viewport = viewport if viewport
if isDarkWindowskin(self.windowskin)
@selarrow = AnimatedBitmap.new("Graphics/Pictures/selarrow_white")
RPG::Cache.addRef("Graphics/Pictures/selarrow_white")
else
@selarrow = AnimatedBitmap.new("Graphics/Pictures/selarrow")
RPG::Cache.addRef("Graphics/Pictures/selarrow")
end
@index = 0
colors = getDefaultTextColors(self.windowskin)