Fix Linux icon issue (#808)

- Try load icon
- Only build linux
- Set icon in conf.lua
- Set some global variables in conf.lua and set corresponding configs
- Avoid change fullscreen state when playing on mobile devices
- Try mobile
- Enable CI for merging
This commit is contained in:
Particle_G
2022-12-16 14:51:00 +08:00
committed by GitHub
parent c9e0a58232
commit eb1e7fd15a
4 changed files with 60 additions and 47 deletions

View File

@@ -1,34 +1,51 @@
function love.conf(t)
t.identity='Techmino'-- Saving folder
t.version="11.1"
t.gammacorrect=false
t.appendidentity=true-- Search files in source then in save directory
t.accelerometerjoystick=false-- Accelerometer=joystick on ios/android
for k, v in pairs(love) do print(k, v) end
print('\n\n\n')
SYSTEM=love._os if SYSTEM=='OS X' then SYSTEM='macOS' end
MOBILE=SYSTEM == 'Android' or SYSTEM == 'iOS'
FNNS=SYSTEM:find'\79\83'-- What does FNSF stand for? IDK so don't ask me lol
t.identity = 'Techmino' -- Saving folder
t.version = "11.4"
t.gammacorrect = false
t.appendidentity = true -- Search files in source then in save directory
t.accelerometerjoystick = false -- Accelerometer=joystick on ios/android
if t.audio then
t.audio.mic=false
t.audio.mixwithsystem=true
t.audio.mic = false
t.audio.mixwithsystem = true
end
local W=t.window
W.title="Techmino "..require"version".string
W.width,W.height=1280,720
W.minwidth,W.minheight=640,360
W.borderless=false
W.resizable=true
W.fullscreen=false
W.vsync=0-- Unlimited FPS
W.msaa=0-- Multi-sampled antialiasing
W.depth=0-- Bits/samp of depth buffer
W.stencil=1-- Bits/samp of stencil buffer
W.display=1-- Monitor ID
W.highdpi=true-- High-dpi mode for the window on a Retina display
W.x,W.y=nil
local M=t.modules
M.window,M.system,M.event,M.thread=true,true,true,true
M.timer,M.math,M.data=true,true,true
M.video,M.audio,M.sound=true,true,true
M.graphics,M.font,M.image=true,true,true
M.mouse,M.touch,M.keyboard,M.joystick=true,true,true,true
M.physics=false
local W = t.window
W.title = "Techmino " .. require "version".string
W.width, W.height = 1280, 720
W.minwidth, W.minheight = 640, 360
W.vsync = 0 -- Unlimited FPS
W.msaa = 16 -- Multi-sampled antialiasing
W.depth = 0 -- Bits/samp of depth buffer
W.stencil = 1 -- Bits/samp of stencil buffer
W.display = 1 -- Monitor ID
W.highdpi = true -- High-dpi mode for the window on a Retina display
W.x, W.y = nil, nil -- Position of the window
if love.filesystem.getInfo('media/image/icon.png') then
W.icon = 'media/image/icon.png'
end
if MOBILE then
W.borderless = true
W.resizable = false
W.fullscreen = true
else
W.borderless = false
W.resizable = true
W.fullscreen = false
end
local M = t.modules
M.window, M.system, M.event, M.thread = true, true, true, true
M.timer, M.math, M.data = true, true, true
M.video, M.audio, M.sound = true, true, true
M.graphics, M.font, M.image = true, true, true
M.mouse, M.touch, M.keyboard, M.joystick = true, true, true, true
M.physics = false
end

View File

@@ -22,9 +22,6 @@
local fs=love.filesystem
VERSION=require"version"
TIME=love.timer.getTime
SYSTEM=love.system.getOS() if SYSTEM=='OS X' then SYSTEM='macOS' end
FNNS=SYSTEM:find'\79\83'-- What does FNSF stand for? IDK so don't ask me lol
MOBILE=SYSTEM=='Android' or SYSTEM=='iOS'
-- Global Vars & Settings
SFXPACKS={'chiptune'}
@@ -37,14 +34,6 @@ math.randomseed(os.time()*626)
love.setDeprecationOutput(false)
love.keyboard.setKeyRepeat(true)
love.keyboard.setTextInput(false)
if MOBILE then
local w,h,f=love.window.getMode()
f.resizable=false
love.window.setMode(w,h,f)
end
if love.filesystem.getInfo('media/image/icon.png') then
love.window.setIcon(love.image.newImageData('media/image/icon.png'))
end
local _LOADTIMELIST_={}
local _LOADTIME_=TIME()
@@ -200,9 +189,11 @@ Z.setOnFnKeys({
function() if love['_openConsole'] then love['_openConsole']() end end,
})
Z.setOnGlobalKey('f11',function()
SETTING.fullscreen=not SETTING.fullscreen
applySettings()
saveSettings()
if not MOBILE then
SETTING.fullscreen=not SETTING.fullscreen
applySettings()
saveSettings()
end
end)
Z.setVersionText(VERSION.string)
Z.setDebugInfo{

View File

@@ -78,10 +78,10 @@ scene.widgetList={
WIDGET.newSwitch{name='highCam', x=450,y=1270,lim=360,disp=SETval('highCam'), code=SETrev('highCam')},
WIDGET.newSwitch{name='warn', x=450,y=1340,lim=360,disp=SETval('warn'), code=SETrev('warn')},
WIDGET.newSwitch{name='clickFX', x=950,y=980,lim=360,disp=SETval('clickFX'), code=function() SETTING.clickFX=not SETTING.clickFX applySettings() end},
WIDGET.newSwitch{name='power', x=950,y=1070,lim=360,disp=SETval('powerInfo'), code=function() SETTING.powerInfo=not SETTING.powerInfo applySettings() end},
WIDGET.newSwitch{name='clean', x=950,y=1160,lim=360,disp=SETval('cleanCanvas'), code=function() SETTING.cleanCanvas=not SETTING.cleanCanvas applySettings() end},
WIDGET.newSwitch{name='fullscreen', x=950,y=1250,lim=360,disp=SETval('fullscreen'), code=function() SETTING.fullscreen=not SETTING.fullscreen applySettings() end},
WIDGET.newSwitch{name='clickFX', x=950,y=980,lim=360,disp=SETval('clickFX'), code=function() SETTING.clickFX=not SETTING.clickFX applySettings() end},
WIDGET.newSwitch{name='power', x=950,y=1070,lim=360,disp=SETval('powerInfo'), code=function() SETTING.powerInfo=not SETTING.powerInfo applySettings() end},
WIDGET.newSwitch{name='clean', x=950,y=1160,lim=360,disp=SETval('cleanCanvas'), code=function() SETTING.cleanCanvas=not SETTING.cleanCanvas applySettings() end},
WIDGET.newSwitch{name='fullscreen', x=950,y=1250,lim=360,disp=SETval('fullscreen'),hideF=function() return MOBILE end,code=function() SETTING.fullscreen=not SETTING.fullscreen applySettings() end},
WIDGET.newKey{name='bg_on', x=680,y=1340,w=200,h=80,code=function() SETTING.bg='on'applySettings() end},
WIDGET.newKey{name='bg_off', x=900,y=1340,w=200,h=80,code=function() SETTING.bg='off'applySettings() end},

View File

@@ -2,6 +2,11 @@ return[=[
未来计划:
正在点亮科技树...
0.17.10: 暂停 Break
新增:
不允许移动端退出全屏模式
抗锯齿和垂直同步设置选项
0.17.9: 暂停 Break
修复:
第一次启动选择语言后直接就退出了