Files
love-pe/main.lua
2018-05-16 21:59:41 +03:00

86 lines
2.5 KiB
Lua

io.stdout:setvbuf("no")
local lovePE = require("love-pe")
local message = "Replaced Icon Successfully"
function love.load(args)
love.graphics.setBackgroundColor(1,1,1,1)
local exeFile = assert(love.filesystem.newFile("love.exe","r"))
local icoFile = assert(love.filesystem.newFile("Icon.ico","r"))
local newFile = assert(love.filesystem.newFile("Patched-"..os.time()..".exe","w"))
local success = lovePE.patchIcon(exeFile,icoFile,newFile)
if success then
newFile:flush()
newFile:close()
love.system.openURL("file://"..love.filesystem.getSaveDirectory())
end
love.event.quit(0)
end
local exeFile, icoFile
--Override the testing function
function love.load()
love.graphics.setBackgroundColor(1,1,1,1)
message = "\nPlease drop the .exe and .ico files"
end
function love.filedropped(file)
if file:getFilename():sub(-4,-1) == ".exe" then
local ok, err = file:open("r")
if not ok then
message = "Failed to open the .exe file in read mode: "..(err or "unkown reason")
return
end
message = exeFile and ".exe file updated successfully" or ""
exeFile = file
elseif file:getFilename():sub(-4,-1) == ".ico" then
local ok, err = file:open("r")
if not ok then
message = "Failed to open the .ico file in read mode: "..(err or "unkown reason")
return
end
message = icoFile and ".ico file updated successfully" or ""
icoFile = file
else return end
if exeFile and icoFile then
local filename = exeFile:getFilename():sub(1,-5):gsub("\\","/")
local lastSlash = string.find(filename:reverse(),"/")
if lastSlash then filename = filename:sub(#filename-lastSlash+2,-1) end
local newFile = assert(love.filesystem.newFile(os.time().."_"..filename..".exe","w"))
lovePE.patchIcon(exeFile,icoFile,newFile)
newFile:flush() newFile:close()
exeFile:close() icoFile:close()
exeFile, icoFile = false,false
message = "Replaced icon successfully\nDrop new .exe and .ico files"
love.system.openURL("file://"..love.filesystem.getSaveDirectory())
elseif icoFile then
message = message.."\nPlease drop the .exe file"
elseif exeFile then
message = message.."\nPlease drop the .ico file"
else
message = message.."\nPlease drop the .exe and .ico files"
end
end
function love.draw()
love.graphics.setColor(0,0,0,1)
love.graphics.printf(message,0,200/2-20,300,"center")
end
function love.quit()
if exeFile then exeFile:close() end
if icoFile then icoFile:close() end
end