Skip to content

Commit 9bd9600

Browse files
committed
修Singularity跳过前奏的时间不对
添加更多的日志信息 fmod遇到各种exception会输出更多日志 整理代码 框架跟进
1 parent 766b636 commit 9bd9600

23 files changed

+132
-109
lines changed

assets/char.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ for packName,set in next,L do
360360
setmetatable(set,{
361361
__index=function(t,k)
362362
t[k]='?'
363-
LOG("warn","char set '"..packName.."' has no char '"..k.."'")
363+
LOG('warn',"char set '"..packName.."' has no char '"..k.."'")
364364
end
365365
})
366366
for name,code in next,set do

assets/discordRPC.lua

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ local Cname
5757
if SYSTEM=='Windows' or SYSTEM=='Linux' then
5858
Cname=LOADLIB.ffi('discord-rpc')
5959
elseif MOBILE then
60-
LOG("warn",STRING.repD("No Discord-RPC for $1",SYSTEM))
60+
LOG('warn',STRING.repD("No Discord-RPC for $1",SYSTEM))
6161
else
62-
MSG.warnLog(STRING.repD("Waiting Discord-RPC for $1",SYSTEM))
62+
MSG.log('warn',STRING.repD("Waiting Discord-RPC for $1",SYSTEM))
6363
end
6464

6565
if not Cname then return MyRPC end
6666

67-
LOG("info","DiscordRPC loaded")
67+
LOG('info',"DiscordRPC loaded")
6868

6969
ffi.cdef[[
7070
typedef struct DiscordRichPresence {
@@ -312,22 +312,22 @@ getmetatable(RPC.gcDummy).__gc=function()
312312
end
313313

314314
function RPC.ready(userId,username,discriminator,avatar)
315-
LOG("info",string.format("Discord: ready (%s,%s,%s,%s)",userId,username,discriminator,avatar))
315+
LOG('info',string.format("Discord: ready (%s,%s,%s,%s)",userId,username,discriminator,avatar))
316316
end
317317
function RPC.disconnected(errorCode,message)
318-
LOG("info",string.format("Discord: disconnected (%d: %s)",errorCode,message))
318+
LOG('info',string.format("Discord: disconnected (%d: %s)",errorCode,message))
319319
end
320320
function RPC.errored(errorCode,message)
321-
LOG("info",string.format("Discord: error (%d: %s)",errorCode,message))
321+
LOG('info',string.format("Discord: error (%d: %s)",errorCode,message))
322322
end
323323
function RPC.joinGame(joinSecret)
324-
LOG("info",string.format("Discord: join (%s)",joinSecret))
324+
LOG('info',string.format("Discord: join (%s)",joinSecret))
325325
end
326326
function RPC.spectateGame(spectateSecret)
327-
LOG("info",string.format("Discord: spectate (%s)",spectateSecret))
327+
LOG('info',string.format("Discord: spectate (%s)",spectateSecret))
328328
end
329329
function RPC.joinRequest(userId,username,discriminator,avatar)
330-
LOG("info",string.format("Discord: join request (%s,%s,%s,%s)",userId,username,discriminator,avatar))
330+
LOG('info',string.format("Discord: join request (%s,%s,%s,%s)",userId,username,discriminator,avatar))
331331
RPC.respond(userId,'yes')
332332
end
333333
RPC.initialize(MyRPC.appId,true)

assets/fmod20221/init.lua

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ if SYSTEM=='Web' then
88
__index=function(t,k)
99
t[k]=NOLL
1010
return NOLL
11-
end
11+
end,
1212
})
1313
end
1414

@@ -36,7 +36,7 @@ if M.C and M.C2 then
3636
require'constants'
3737
require'wrap'
3838
require'errors'
39-
LOG("info","FMOD loaded")
39+
LOG('info',"FMOD loaded")
4040
end
4141

4242
--------------------------------------------------------------
@@ -52,11 +52,22 @@ function M.init(args)
5252
M.studio:release()
5353
firstTime=false
5454
end
55-
M.studio=M.newStudio()
56-
M.core=M.studio:getCoreSystem()
55+
56+
local res
57+
M.studio,res=M.newStudio()
58+
if res~=M.FMOD_OK then MSG.log('error',"fmod newStudio error: "..M.errorString[res]) return end
59+
60+
M.core,res=M.studio:getCoreSystem()
61+
if res~=M.FMOD_OK then MSG.log('error',"fmod getCoreSystem error: "..M.errorString[res]) return end
62+
5763
studio,core=M.studio,M.core
58-
core:setDSPBufferSize(args.DSPBufferLength or 128,args.DSPBufferCount or 4)
59-
studio:initialize(args.maxChannel,args.studioFlag,args.coreFlag)
64+
65+
res=core:setDSPBufferSize(args.DSPBufferLength or 128,args.DSPBufferCount or 4)
66+
if res~=M.FMOD_OK then MSG.log('error',"fmod setDSPBufferSize error: "..M.errorString[res]) return end
67+
68+
res=studio:initialize(args.maxChannel,args.studioFlag,args.coreFlag)
69+
if res~=M.FMOD_OK then MSG.log('error',"fmod initialize error: "..M.errorString[res]) return end
70+
6071
if firstTime then
6172
TASK.new(function()
6273
while studio do
@@ -77,12 +88,13 @@ end
7788
---This method can only load files visible to fmod
7889
---@param path string
7990
---@param flag? FMOD.Const
91+
---@return FMOD.Studio.Bank?, string? errInfo
8092
function M.loadBank(path,flag)
8193
if not studio then return end
8294
local bank,res=studio:loadBankFile(path,flag or M.FMOD_STUDIO_LOAD_BANK_NORMAL)
8395
if res~=M.FMOD_OK then
84-
MSG.errorLog("FMOD loadBank error: "..M.errorString[res])
85-
return
96+
LOG('error',"fmodstudio:loadBankFile error: "..M.errorString[res])
97+
return nil,M.errorString[res]
8698
end
8799
M.banks[path]=bank
88100
return bank
@@ -91,20 +103,20 @@ end
91103
---This method uses 'loadBankMemory' instead of 'loadBankFile', which makes files visible to love2d's filesystem can be loaded
92104
---@param path string
93105
---@param flag? FMOD.Const
94-
---@return FMOD.Studio.Bank?
106+
---@return FMOD.Studio.Bank?, string? errInfo
95107
function M.loadBank2(path,flag)
96108
if not studio then return end
97109
if not love.filesystem.getInfo(path) then
98-
MSG.new('warn',"Bank file not found: "..path)
99-
return
110+
LOG('warn',"Bank file not found: "..path)
111+
return nil,"Bank file not found: "..path
100112
end
101113
local file=love.filesystem.newFile(path)
102114
local data,size=file:read('data')
103115
local bank,res=studio:loadBankMemory(data:getPointer(),size,0,flag or M.FMOD_STUDIO_LOAD_BANK_NORMAL)
104116
file:close(); file:release(); data:release()
105117
if res~=M.FMOD_OK then
106-
MSG.errorLog("FMOD loadBankMemory error: "..M.errorString[res])
107-
return
118+
LOG('error',"FMOD loadBankMemory error: "..M.errorString[res])
119+
return nil,M.errorString[res]
108120
end
109121
M.banks[path]=bank
110122
return bank
@@ -187,13 +199,13 @@ function M.music.play(name,args)
187199
if not desc then
188200
if not unhintedBGM[name] then
189201
unhintedBGM[name]=true
190-
MSG.new('warn',"No BGM named "..name)
202+
MSG.log('warn',"No BGM named "..name)
191203
end
192204
return
193205
end
194206
local event,res=desc:createInstance()
195207
if res~=M.FMOD_OK then
196-
MSG.new('warn',"Event named "..name.." created failed: "..M.errorString[res])
208+
MSG.log('warn',"Event named "..name.." created failed: "..M.errorString[res])
197209
return
198210
end
199211
playing={
@@ -329,13 +341,13 @@ function M.effect.play(name,args)
329341
if not desc then
330342
if not unhintedSFX[name] then
331343
unhintedSFX[name]=true
332-
MSG.new('warn',"No SE named "..name)
344+
MSG.log('warn',"No SE named "..name)
333345
end
334346
return
335347
end
336348
local event,res=desc:createInstance()
337349
if res~=M.FMOD_OK then
338-
MSG.new('warn',"Play SE '"..name.."' failed: "..M.errorString[res])
350+
MSG.log('warn',"Play SE '"..name.."' failed: "..M.errorString[res])
339351
return
340352
end
341353

assets/game/basePlayer.lua

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ function P:playSound(event,...)
9595
if self.soundEvent[event] then
9696
self.soundEvent[event](...)
9797
else
98-
MSG.new('warn',"Unknown sound event: "..event)
98+
MSG.log('warn',"Unknown sound event: "..event)
9999
end
100100
end
101101
end
@@ -312,7 +312,7 @@ function P:finish(reason)
312312

313313
-- TODO: Just for temporary use
314314
if self.isMain then
315-
MSG.new(reason=='win' and 'check' or 'error',finishTexts[reason] or finishTexts.other,6.26)
315+
MSG(reason=='win' and 'check' or 'error',finishTexts[reason] or finishTexts.other,6.26)
316316
self:playSound('finish_'..reason)
317317
end
318318
end
@@ -820,7 +820,7 @@ local function dump(self,L,t,path)
820820
k='["FUNC:'..regFuncToStr[k]..'"]='
821821
else
822822
k='["*'..tostring(k)..'"]='
823-
LOG("Wrong key type: "..T..", "..nPath)
823+
LOG('warn',"Wrong key type: "..T..", "..nPath)
824824
end
825825

826826
T=type(v)
@@ -831,19 +831,19 @@ local function dump(self,L,t,path)
831831
elseif T=='table' then
832832
v=t<10 and dump(self,v,t+1,nPath)
833833
elseif T=='function' then
834-
v='"FUNC:'..(regFuncToStr[v] or LOG("UNKNOWN_FUNCTION: "..nPath) or "unknown")..'"'
834+
v='"FUNC:'..(regFuncToStr[v] or LOG('warn',"UNKNOWN_FUNCTION: "..nPath) or "unknown")..'"'
835835
elseif T=='userdata' then
836836
T=v:type()
837837
if T=='RandomGenerator' then
838838
v=dump(self,{__type=T,state=v:getState()},t+1,nPath)
839839
elseif T=='ParticleSystem' then
840840
v=nil -- Skip
841841
else
842-
LOG("Un-handled type:"..T..", "..nPath)
842+
LOG('warn',"Un-handled type:"..T..", "..nPath)
843843
end
844844
else
845845
v='["*'..tostring(v)..'"]='
846-
LOG("Wrong value type: "..T..", "..nPath)
846+
LOG('warn',"Wrong value type: "..T..", "..nPath)
847847
end
848848

849849
if v~=nil then
@@ -864,10 +864,10 @@ local function undump(self,L,t)
864864
if T=='number' or T=='boolean' then
865865
elseif T=='string' then
866866
if k:sub(1,5)=='FUNC:' then
867-
k=regStrToFunc[k:sub(6)] or LOG("UNKNOWN_FUNCTION: "..k)
867+
k=regStrToFunc[k:sub(6)] or LOG('warn',"UNKNOWN_FUNCTION: "..k)
868868
end
869869
else
870-
LOG("Abnormal key type: "..T)
870+
LOG('warn',"Abnormal key type: "..T)
871871
end
872872

873873
T=type(v)
@@ -877,18 +877,18 @@ local function undump(self,L,t)
877877
self[k]=love.math.newRandomGenerator()
878878
self[k]:setState(v.state)
879879
else
880-
LOG("Un-handled type:"..v.__type)
880+
LOG('warn',"Un-handled type:"..v.__type)
881881
end
882882
elseif t<=10 then
883883
self[k]={}
884884
undump(self[k],v,t+1)
885885
else
886-
LOG("WARNING: table depth over 10, skipped")
886+
LOG('warn',"WARNING: table depth over 10, skipped")
887887
end
888888
else
889889
if T=='string' then
890890
if v:sub(1,5)=='FUNC:' then
891-
v=regStrToFunc[v:sub(6)] or LOG("UNKNOWN_FUNCTION: "..v)
891+
v=regStrToFunc[v:sub(6)] or LOG('warn',"UNKNOWN_FUNCTION: "..v)
892892
end
893893
end
894894
self[k]=v
@@ -898,10 +898,10 @@ end
898898
function P:unserialize(data)
899899
local f='return'..data
900900
f=loadstring(f)
901-
if type(f)~='function' then return LOG("Cannot parse data as luaon") end
901+
if type(f)~='function' then return LOG('warn',"Cannot parse data as luaon") end
902902
setfenv(f,{})
903903
local res=f()
904-
if type(res)~='table' then return LOG("Cannot parse data as luaon") end
904+
if type(res)~='table' then return LOG('warn',"Cannot parse data as luaon") end
905905
undump(self,res,0)
906906

907907
self.soundTimeHistory=setmetatable({},soundTimeMeta)

assets/game/exteriorMap.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ local function _enterMode(m)
243243
FMOD.effect('map_enter')
244244
SCN.go('game_out','fade','brik/exterior/'..m.name)
245245
else
246-
MSG.new('warn',"No mode file")
246+
MSG.log('warn',"No mode file")
247247
end
248248
end
249249
end

assets/game/init.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ end
215215
function GAME.load(mode,seed)
216216
-- print("Game Loaded: "..mode.."-"..seed)
217217
if GAME.mode then
218-
MSG.new('warn',"Game is running")
218+
MSG.log('warn',"Game is running")
219219
return
220220
end
221221
GAME.playing=true
@@ -232,7 +232,7 @@ function GAME.load(mode,seed)
232232
TASK.removeTask_code(task_unloadGame)
233233

234234
if #GAME.playerList==0 then
235-
MSG.new('warn',"No players created in this mode")
235+
MSG.log('warn',"No players created in this mode")
236236
else
237237
if GAME.mainPlayer then
238238
local conf=SETTINGS['game_'..GAME.mainPlayer.gameMode]
@@ -276,7 +276,7 @@ end
276276
---@param remote? boolean
277277
function GAME.newPlayer(id,pType,remote)
278278
if not (type(id)=='number' and math.floor(id)==id and id>=1 and id<=1000) then
279-
MSG.new('error',"player id must be 1~1000 integer")
279+
MSG.log('error',"player id must be 1~1000 integer")
280280
return
281281
end
282282

@@ -288,7 +288,7 @@ function GAME.newPlayer(id,pType,remote)
288288
elseif pType=='acry' then
289289
P=require'acryPlayer'.new(remote)
290290
else
291-
MSG.new('error',"invalid player type :'"..tostring(pType).."'")
291+
MSG.log('error',"invalid player type :'"..tostring(pType).."'")
292292
return
293293
end
294294

assets/gamefunc.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
function sureCheck(event)
22
if TASK.lock('sureCheck_'..event,1) then
3-
MSG.new('info',Text.sureText[event],1)
3+
MSG('info',Text.sureText[event],1)
44
else
55
return true
66
end
@@ -227,7 +227,7 @@ local interiorModeMeta={
227227
if success then
228228
SCN.go('game_in','none',self.name)
229229
else
230-
MSG.new('warn',Text.noMode:repD(tostring(self.name):simplifyPath(),errInfo))
230+
MSG.log('warn',Text.noMode:repD(tostring(self.name):simplifyPath(),errInfo))
231231
end
232232
end
233233
}
@@ -241,7 +241,7 @@ local exteriorModeMeta={
241241
if success then
242242
SCN.go('game_out','fade',self.name)
243243
else
244-
MSG.new('warn',Text.noMode:repD(tostring(self.name):simplifyPath(),errInfo))
244+
MSG.log('warn',Text.noMode:repD(tostring(self.name):simplifyPath(),errInfo))
245245
end
246246
end
247247
}
@@ -319,7 +319,7 @@ end
319319

320320
function _getLatestBank(dt)
321321
TASK.new(function()
322-
MSG.new('info',"Opening URL to bank files...")
322+
MSG('info',"Opening URL to bank files...")
323323
TASK.yieldT(dt or 0.626)
324324
love.system.openURL("https://kyzj-my.sharepoint.com/:f:/g/personal/noreply_studio26f_org/ElmKJZYcNpFDhGks9nekrUYBoyr1ZJZgpx1lCyFu6tHXQg?e=vJnaQX")
325325
end)

0 commit comments

Comments
 (0)