From b23a944c3efefdd4b2ef2376e5a83bac8d46b418 Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Mon, 22 Apr 2024 22:14:26 +0200 Subject: [PATCH] Modulized cirno and mouse --- cirnofarm.p64 | 23 ++++++++++++++--------- src/cirno.lua | 42 +++--------------------------------------- src/mouse_debug.lua | 42 ++++++++++++++++++++++++++++++++++++++++++ src/strawberry.lua | 2 +- 4 files changed, 60 insertions(+), 49 deletions(-) create mode 100644 src/mouse_debug.lua diff --git a/cirnofarm.p64 b/cirnofarm.p64 index 53ffcf1..9090c6b 100644 --- a/cirnofarm.p64 +++ b/cirnofarm.p64 @@ -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== diff --git a/src/cirno.lua b/src/cirno.lua index b349560..d8d0634 100644 --- a/src/cirno.lua +++ b/src/cirno.lua @@ -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 diff --git a/src/mouse_debug.lua b/src/mouse_debug.lua new file mode 100644 index 0000000..0fdfa80 --- /dev/null +++ b/src/mouse_debug.lua @@ -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 \ No newline at end of file diff --git a/src/strawberry.lua b/src/strawberry.lua index 8963446..63395e6 100644 --- a/src/strawberry.lua +++ b/src/strawberry.lua @@ -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()