diff --git a/Zframework/image.lua b/Zframework/image.lua index 7ccf8eb9..7385ce6c 100644 --- a/Zframework/image.lua +++ b/Zframework/image.lua @@ -1,37 +1,26 @@ -local IMG={ - getCount=function()return 0 end, - loadOne=function()error("Cannot load before init!")end, - loadAll=function()error("Cannot load before init!")end, -} +local IMG={} function IMG.init(list) IMG.init=nil - local count=0 - for k,v in next,list do - count=count+1 - IMG[k]=v - end - function IMG.getCount()return count end - local function load(skip) - local loaded=0 - for k,v in next,list do - if type(v)=='string'then - IMG[k]=love.graphics.newImage('media/image/'..v) - else - for i=1,#v do - v[i]=love.graphics.newImage('media/image/'..v[i]) - end - IMG[k]=v - end - loaded=loaded+1 - if not skip and loaded~=count then - coroutine.yield() + + local null=love.graphics.newCanvas(1,1) + setmetatable(IMG,{__index=function(self,name) + if type(list[name])=='table'then + self[name]={} + for i=1,#list do + self[name][i]=love.graphics.newImage(list[name][i]) end + elseif type(list[name])=='string'then + self[name]=love.graphics.newImage(list[name]) + else + MES.new('warn',"No BGM: "..name,5) + self[name]=null end - IMG.loadOne=nil + return self[name] + end}) + + function IMG.loadAll() + for k in next,list do local _=IMG[k]end IMG.loadAll=nil end - - IMG.loadOne=coroutine.wrap(load) - function IMG.loadAll()load(true)end end return IMG \ No newline at end of file diff --git a/main.lua b/main.lua index b3aa4bc7..65ce089f 100644 --- a/main.lua +++ b/main.lua @@ -96,33 +96,33 @@ if SETTING.fullscreen then love.window.setFullscreen(true)end --Initialize image libs IMG.init{ - lock='mess/lock.png', - dialCircle='mess/dialCircle.png', - dialNeedle='mess/dialNeedle.png', - lifeIcon='mess/life.png', - badgeIcon='mess/badge.png', - ctrlSpeedLimit='mess/ctrlSpeedLimit.png', - speedLimit='mess/speedLimit.png',--Not used, for future C2-mode - pay1='mess/pay1.png', - pay2='mess/pay2.png', + lock='media/image/mess/lock.png', + dialCircle='media/image/mess/dialCircle.png', + dialNeedle='media/image/mess/dialNeedle.png', + lifeIcon='media/image/mess/life.png', + badgeIcon='media/image/mess/badge.png', + ctrlSpeedLimit='media/image/mess/ctrlSpeedLimit.png', + speedLimit='media/image/mess/speedLimit.png',--Not used, for future C2-mode + pay1='media/image/mess/pay1.png', + pay2='media/image/mess/pay2.png', - miyaCH='characters/miya.png', - miyaF1='characters/miya_f1.png', - miyaF2='characters/miya_f2.png', - miyaF3='characters/miya_f3.png', - miyaF4='characters/miya_f4.png', - nakiCH='characters/nakiharu.png', - xiaoyaCH='characters/xiaoya.png', - electric='characters/electric.png', - hbm='characters/hbm.png', + miyaCH='media/image/characters/miya.png', + miyaF1='media/image/characters/miya_f1.png', + miyaF2='media/image/characters/miya_f2.png', + miyaF3='media/image/characters/miya_f3.png', + miyaF4='media/image/characters/miya_f4.png', + nakiCH='media/image/characters/nakiharu.png', + xiaoyaCH='media/image/characters/xiaoya.png', + electric='media/image/characters/electric.png', + hbm='media/image/characters/hbm.png', lanterns={ - 'lanterns/1.png', - 'lanterns/2.png', - 'lanterns/3.png', - 'lanterns/4.png', - 'lanterns/5.png', - 'lanterns/6.png', + 'media/image/lanterns/1.png', + 'media/image/lanterns/2.png', + 'media/image/lanterns/3.png', + 'media/image/lanterns/4.png', + 'media/image/lanterns/5.png', + 'media/image/lanterns/6.png', }, } SKIN.init{ diff --git a/parts/scenes/load.lua b/parts/scenes/load.lua index c8845ecf..6a798b69 100644 --- a/parts/scenes/load.lua +++ b/parts/scenes/load.lua @@ -21,7 +21,6 @@ local loadingThread=coroutine.wrap(function() logoColor2={COLOR.rainbow_light(r)} end YIELD('loadSFX')SFX.loadAll() - YIELD('loadImage')IMG.loadAll() YIELD('loadSkin') for i=1,SKIN.getCount()do SKIN.loadOne()