Modulized cirno and mouse

This commit is contained in:
MaddoScientisto 2024-04-22 22:14:26 +02:00
commit b23a944c3e
4 changed files with 60 additions and 49 deletions

View file

@ -6,7 +6,7 @@ version 2
:: sfx/
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NTM1XV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
NC0yMiAyMDoxNDoxMiIscmV2aXNpb249NTY0XV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
pgQAww0VAA2WHQUQvQXwE1gAHzFYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
@ -38,11 +38,11 @@ EAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA--------
------------------------------------w1A9MTF9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAyMDoxNDoxMyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NTQ2XV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
NC0yMiAyMDoxNDoxMiIscmV2aXNpb249NTc1XV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
PSJvYmplY3RzIixwYW5feD0tOTAKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
@ -56,11 +56,11 @@ ACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4
BAAjD9cg-----------FTGJhY2vXIA9uEBFQbT0xfX0=
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAyMDoxNDoxMyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NDQ1XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
NC0yMiAyMDoxNDoxMiIscmV2aXNpb249NDc0XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
@ -69,10 +69,10 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAyMDoxNDoxMyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: main.lua
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-22 19:53:43",revision=587]]
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-22 20:14:12",revision=639]]
--cd("/cirnofarm/src")
--include("/cirnofarm/src/cirno.lua")
@ -127,6 +127,10 @@ local strawberry = require(make_path("strawberry"))
strawberry.func()
local cirno = require(make_path("cirno"))
local mouse_debug = require(make_path("mouse_debug"))
tile_width = 16
tile_height = 16
function _init()
cirno.init()
@ -138,11 +142,12 @@ end
function _draw()
cirno.draw()
mouse_debug.draw(3, tile_width, tile_height)
end
:: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAxOTo1Mzo0MyIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM2NiIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
NC0yMiAyMDoxNDoxMyIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM2NSIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
dGlvbj0iZ2Z4LzAuZ2Z4Iix3b3Jrc3BhY2VfaW5kZXg9Mn0se2xvY2F0aW9uPSJtYXAvMC5tYXAi
LHdvcmtzcGFjZV9pbmRleD0zfSx7bG9jYXRpb249InNmeC8wLnNmeCIsd29ya3NwYWNlX2luZGV4
PTR9fV1dbHo0AAQAAAADAAAAMG5pbA==

View file

@ -1,13 +1,10 @@
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-22 19:53:44",revision=324]]
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-22 20:14:15",revision=333]]
--include("/cirnofarm/src/actor.lua")
last_coll=0
mouse_debug = true
w=480
h=300
tile_width = 16
tile_height = 16
asdf = {top=0, side=1}
LAYERS_COUNT=4
@ -123,9 +120,9 @@ function cirno_draw()
foreach(LAYERS, render_layer)
--drawMap()
debug_mouse()
--debug_mouse()
print(string.format("%.4f %dfps",stat(1),stat(7)),2,2,5)
print(string.format("%.4f %dfps",stat(1),stat(7)),2,2,5)
end
function render_layer(layer)
@ -201,39 +198,6 @@ function can_move(x,y)
return is_tile(0,x,y)
end
function debug_mouse()
local mx,my = mouse()
local x_offset = 5
local y_offset = 5
-- tile size
local tw=tile_width
local th=tile_height
-- window width and height
local w=480
local h=270
-- offset if box leaves screen
if mx>w-20 then x_offset=-15 end
if my>h-29 then y_offset=-24 end
-- draw debug text box
local tile_x = mx\tw
local tile_y = my\th
rect((tile_x*tw)+tw,(tile_y*th)+th,tile_x*tw,(tile_y*th),8)
rectfill(mx+x_offset-1,my+y_offset-1,mx+x_offset+14,my+y_offset+23+8,1)
print(string.format("%d (%d)",tile_x,mx),mx+x_offset,my+y_offset,8)
print(string.format("%d (%d)",tile_y,my),mx+x_offset,my+y_offset+8,9)
for i=LAYERS_COUNT,1,-1 do
local sprite = get_layer_tile(tile_x,tile_y,i)
local flag = fget(sprite)
print(sprite,mx+x_offset+(i*16),my+y_offset+8*2,10)
print(flag,mx+x_offset+(i*16),my+y_offset+8+8*2,10)
end
end
function cmap(o)
local ct=false

42
src/mouse_debug.lua Normal file
View file

@ -0,0 +1,42 @@
--[[pod_format="raw",created="2024-04-22 19:55:03",modified="2024-04-22 20:14:14",revision=9]]
M = {}
function debug_mouse(layers_count, tile_width, tile_height)
local mx,my = mouse()
local x_offset = 5
local y_offset = 5
-- tile size
local tw=tile_width
local th=tile_height
-- window width and height
local w=480
local h=270
-- offset if box leaves screen
if mx>w-20 then x_offset=-15 end
if my>h-29 then y_offset=-24 end
-- draw debug text box
local tile_x = mx\tw
local tile_y = my\th
rect((tile_x*tw)+tw,(tile_y*th)+th,tile_x*tw,(tile_y*th),8)
rectfill(mx+x_offset-1,my+y_offset-1,mx+x_offset+14,my+y_offset+23+8,1)
print(string.format("%d (%d)",tile_x,mx),mx+x_offset,my+y_offset,8)
print(string.format("%d (%d)",tile_y,my),mx+x_offset,my+y_offset+8,9)
for i=layers_count,1,-1 do
local sprite = get_layer_tile(tile_x,tile_y,i)
local flag = fget(sprite)
print(sprite,mx+x_offset+(i*16),my+y_offset+8*2,10)
print(flag,mx+x_offset+(i*16),my+y_offset+8+8*2,10)
end
end
function M.draw(layers_count, tile_width, tile_height)
return debug_mouse(layers_count, tile_width, tile_height)
end
return M

View file

@ -1,4 +1,4 @@
--[[pod_format="raw",created="2024-04-22 19:32:54",modified="2024-04-22 19:53:44",revision=3]]
--[[pod_format="raw",created="2024-04-22 19:32:54",modified="2024-04-22 20:14:13",revision=5]]
M = {}
function M.func()