try load CCloaders one by one

it will try all available CCloaders in game.love and go back to 9S
if all CCloaders are not available
This commit is contained in:
Gompyn
2020-08-15 02:37:16 +08:00
parent 6641d402c0
commit c72dedf7cf

View File

@@ -20,21 +20,35 @@ local scs={{1,2},{1,2},{1,2},{1,2},{1,2},{1.5,1.5},{0.5,2.5}}
-------------------------------------------------Cold clear
local CCblockID={6,5,4,3,2,1,0}
CCloader_filename = {}
CCloader_filename.Windows = 'CCloader.dll'
CCloader_filename.Android = 'CCloader.so'
CCloader_filename.Linux = 'CCloader.so'
if CCloader_filename[system] then
local prefixed_CCloader_filename
if system == 'Windows' then
prefixed_CCloader_filename = '\\'..CCloader_filename[system]
elseif system == 'Android' or system == 'Linux' then
prefixed_CCloader_filename = '/'..CCloader_filename[system]
CCloader_filename.Windows = {'CCloader.dll', '\\', {'x86_64'}}
CCloader_filename.Android = {'libCCloader.so', '/', {'arm64-v8a', 'armeabi-v7a'}}
CCloader_filename.Linux = {'libCCloader.so', '/', {'x86_64'}}
local function loadCC()
if not CCloader_filename[system] then return end
local concatter = CCloader_filename[system][2]
local function path_concat(paths)
local res = paths[1]
for i=2,#paths do
res = res .. concatter .. paths[i]
end
return res
end
local f
for i=1,#CCloader_filename[system][3] do
local function simulate_continue()
local CCloader_f, size = love.filesystem.read('data', path_concat({'lib', system, CCloader_filename[system][3][i], CCloader_filename[system][1]}))
if not CCloader_f then return end
local success, message = love.filesystem.write(CCloader_filename[system][1], CCloader_f, size)
if not success then return end
return package.loadlib(path_concat({love.filesystem.getSaveDirectory(), CCloader_filename[system][1]}), "luaopen_CCloader")
end
f = simulate_continue()
if f then break end
end
if not f then
CCloader_filename[system] = nil
return
end
local CCloader_f, size = love.filesystem.read('data', CCloader_filename[system])
assert(CCloader_f, size)
local success, message = love.filesystem.write(CCloader_filename[system], CCloader_f, size)
assert(success, message)
local f = assert(package.loadlib(love.filesystem.getSaveDirectory()..prefixed_CCloader_filename, "luaopen_CCloader"))
f()
BOT={
getConf= cc.get_default_config ,--()options,weights
@@ -95,6 +109,7 @@ if CCloader_filename[system] then
collectgarbage()
end
end
loadCC()
-------------------------------------------------9 Stack setup
local dirCount={1,1,3,3,3,0,1}
local spinOffset={