mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Permanently cached some graphics (player charsets, windowskins and related graphics)
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user