local math = ((function() local x, y = pcall(require, 'math'); return x and y end)()) or _G.math
local src_audio_55b17c110440 = nil
local src_event_55b17c110830 = nil
local src_filesystem_55b17c110d10 = nil
local src_graphics_55b17c111550 = nil
local src_image_55b17c111e30 = nil
local src_joystick_55b17c111ef0 = nil
local src_keyboard_55b17c1126a0 = nil
local src_lovemath_55b17c113090 = nil
local src_mouse_55b17c113760 = nil
local src_sound_55b17c113800 = nil
local src_system_55b17c1140c0 = nil
local src_timer_55b17c1167a0 = nil
local src_window_55b17c118b00 = nil
local function main_55b17c10b940()
if not arg then
arg = {}
end
if not unpack then
unpack = function(t) return t and table.unpack(t) end
end
love = {
color_r = 1,
color_g = 1,
color_b = 1,
color_a = 1,
load = function() end,
update = function(dt) end,
draw = function() end,
resize = function(w, h) end,
keypressed = function (key, scancode, isrepeat) end,
keyreleased = function (key, scancode) end,
physics = {},
filesystem = {},
graphics = {},
joystick = {},
keyboard = {},
image = {},
timer = {},
system = {},
mouse = {},
math = {},
audio = {},
sound = {},
window = {},
event = {}
}
src_audio_55b17c110440()
src_event_55b17c110830()
src_filesystem_55b17c110d10()
src_graphics_55b17c111550()
src_image_55b17c111e30()
src_joystick_55b17c111ef0()
src_keyboard_55b17c1126a0()
src_lovemath_55b17c113090()
src_mouse_55b17c113760()
src_sound_55b17c113800()
src_system_55b17c1140c0()
src_timer_55b17c1167a0()
src_window_55b17c118b00()
engine = {
width=1280,
height=720,
keys={},
milis=0
}
keybindings = {
}
function love.getVersion()
return 11, 0, 0
end
function native_callback_loop(dt)
engine.milis = engine.milis + dt
love.update(dt/1000)
end
function native_callback_draw()
native_draw_start()
love.draw()
native_draw_flush()
end
function native_callback_resize(width, height)
engine.width = width
engine.height = height
love.resize(w, h)
end
function native_callback_keyboard(vkey, value)
local key = keybindings[vkey] or vkey
if value == true or value == 1 then
engine.keys[key] = true
love.keypressed(key, key, false)
else
engine.keys[key] = false
love.keyreleased(key, key)
end
end
function native_callback_init(width, height, game_lua)
engine.width = width
engine.height = height
native_draw_clear(0x000000FF, 0, 0, engine.width, engine.height)
native_draw_color(0xFFFFFFFF)
native_text_font_size(12)
local ok, app = pcall(loadstring, game_lua)
if not ok then
ok, app = pcall(load, game_lua)
end
while type(app) == 'function' do
app = app()
end
love.load(arg)
end
local function main()
local config_file = io and io.open and io.open('love.json')
if config_file then
local index = 1
local config_content = config_file:read('*a')
local config_table = native_json_decode(config_content) or {}
local key_list = {'a', 'b', 'c', 'd', 'menu', 'up', 'left', 'down', 'right'}
while index <= #key_list do
keybindings[key_list[index]] = config_table['key_'..key_list[index]]
index = index + 1
end
end
pcall(require, 'conf')
end
main()
local P = {
meta={
title='love-engine',
author='RodrigoDornelles',
description='reimplementation of the love2d framework to make homebrew games to gba, nds, wii, ps2 and many other platforms!',
version='0.0.19'
}
}
return P
end
src_audio_55b17c110440 = function()
function love.audio.play()
end
function love.audio.stop()
end
function love.audio.setPosition()
end
function love.audio.newSource()
return {
play = function() end,
stop = function() end,
setLooping = function() end,
setVolume = function() end,
setPosition = function() end,
setAttenuationDistances=function() end,
}
end
end
--
src_event_55b17c110830 = function()
function love.event.quit()
end
end
--
src_filesystem_55b17c110d10 = function()
function love.filesystem.getInfo()
end
function love.filesystem.read()
end
end
--
src_graphics_55b17c111550 = function()
local conversor_frame = {
fill = 0,
line = 1,
frame = 1
}
function love.graphics.print(text, x, y)
return native_text_print(x, y, text)
end
function love.graphics.rectangle(mode, x, y, w, h)
return native_draw_rect(conversor_frame[mode], x, y, w, h)
end
function love.graphics.getColor()
return love.color_r, love.color_g, love.color_b, love.color_a
end
function love.graphics.setColor(r, g, b, a)
love.color_r, love.color_g, love.color_b, love.color_a = r, g, b, a
local color = (r * 0xFF000000) + (g * 0xFF0000) + (b * 0xFF00) + ((a or 1) * 0xFF)
return native_draw_color(color)
end
function love.graphics.clear(r, g, b, a)
local color = (r * 0xFF000000) + (g * 0xFF0000) + (b * 0xFF00) + ((a or 1) * 0xFF)
native_draw_clear(0x000000FF, 0, 0, engine.width, engine.height)
end
function love.graphics.getHeight()
return engine.height
end
function love.graphics.getWidth()
return engine.width
end
function love.graphics.setDefaultFilter()
end
function love.graphics.setBackgroundColor()
end
function love.graphics.setBlendMode()
end
function love.graphics.setShader()
end
function love.graphics.newShader()
return {
send = function() end
}
end
function love.graphics.newCanvas()
return {
renderTo = function() end
}
end
function love.graphics.newFont()
return {}
end
function love.graphics.newImageFont()
return {}
end
function love.graphics.present()
end
function love.graphics.draw(src, x, y)
if src.src and src.t == 'img' then
if type(x) == 'table' then
y, x = x.y, x.x
end
return native_draw_image(src.src, x, y)
end
end
function love.graphics.newImage(src)
return {
t='img',
src=src,
release = function() end,
getWidth = function() return 100 end,
getHeight = function() return 100 end,
setWrap = function() end,
setFilter = function() end,
}
end
function love.graphics.newQuad(x, y, width, height, sw,sh)
return {
t='quad',
x=x,
y=y,
width=width,
height=height
}
end
function love.graphics.newSpriteBatch()
return {
setColor=function() end,
clear=function() end,
add=function() end
}
end
function love.graphics.scale()
end
function love.graphics.translate()
end
function love.graphics.origin()
end
end
--
src_image_55b17c111e30 = function()
function love.image.newImageData(width, height)
return {
paste = function() end,
setPixel = function() end,
getWidth = function() return 100 end,
getHeight = function() return 100 end
}
end
end
--
src_joystick_55b17c111ef0 = function()
function love.joystick.getJoysticks()
return {}
end
end
--
src_keyboard_55b17c1126a0 = function()
function love.keyboard.isDown(key)
return engine.keys[key] == true
end
function love.keyboard.setKeyRepeat()
end
end
--
src_lovemath_55b17c113090 = function()
function love.math.random(foo, bar)
local one = bar and foo or 0
local two = bar or foo
return math.random(one, two)
end
function love.math.newRandomGenerator()
return {
random = function(self)
return math.random(0, 1)
end
}
end
end
--
src_mouse_55b17c113760 = function()
function love.mouse.setVisible()
end
function love.mouse.getPosition()
return 0, 0
end
end
--
src_sound_55b17c113800 = function()
function love.sound.newSoundData()
return {}
end
end
--
src_system_55b17c1140c0 = function()
function love.system.getOS()
return 'Web'
end
end
--
src_timer_55b17c1167a0 = function()
function love.timer.getTime()
return engine.milis
end
end
--
src_window_55b17c118b00 = function()
function love.window.setMode()
end
function love.window.toPixels(w)
return w
end
function love.window.setTitle()
end
function love.window.setIcon()
end
function love.window.getDesktopDimensions()
return engine.width, engine.height
end
end
--
return main_55b17c10b940()
