Actor spawning

This commit is contained in:
MaddoScientisto 2024-04-26 17:37:11 +02:00
commit 5d624acaea
2 changed files with 79 additions and 51 deletions

View file

@ -6,7 +6,7 @@ version 2
:: sfx/
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIscmV2aXNpb249OTEzXV1sejQAkAgAAPw9AADzFHtbMF09e2JtcD1weHUA
NC0yNiAxNTozNjo1NCIscmV2aXNpb249OTQ1XV1sejQA9ggAAKo_AADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
pgQAww0VAA2WHQUQvQXwE1gAHzNYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
@ -26,57 +26,58 @@ DiAeDQ4NPx8ODQ4NDhAGAGE8DQ4NHgALADENDhwHABE_BgAhHA4HABEeBgAnDhQaACUUDhoA4CwN
DixeTA4NTA0OAA48FgBSPA4QDixaAEEOIA4MCgBhDQ4cDkAuCgBPHnBeQMsAJAA-AFEuQA4PH0kA
Yw4NLiAOLAsAMRwOEMkAYA4NPAAOTAgAUUwuTC5MogAgFEy2ADccFBzOACwcHucANQ4AHhkACBoB
EiDUAG4NHkAuPC68AA-rAUHQE51QDX8QDVANDl8YDgcAQgw-HgwJAD8LHAsKABISOwgAEFwGAE5_
DVCdaAgPuAAXDzIAq5AGBwYHHxYGBx4JALEGBw4WHhYeZgcGHgMAAQIAdRYelh4WBwYCAHIeBgem
HhYODgADKABSVh4WHlYcAAZJABKmHAAfBkgAAAIoADxmHhZJAF8WDiYehsQAHfYA9QHfGBXeFd8V
Fd4V3hXdBgB-9QLdFd31AVAAHU-2AA0GAgDKL-YBYwEfRw8WDQ4CADgVDQ4CAHP1AQ8TLwwv6Agg
HwwiCRkPIwkZDwoJDw4ACXE-DA8TLxEvFgA1jxMfIAA3bxEPDgA-DwxfEAAEAUAAIQw-DgAv3xN1
Ax8PMgD--0Vf-xQS0B4CAAYPfwYdT-8UEPA1ACEv0B4CAAcPTwAd4PBIKLCIYIhgGNAY0AjgAgAQ
GAYAH2BMAR7DERSQFAAPFA8fBA4PPAmVDg0OBB4NBA0OAgDHBA0eBK4EDh0ErQQtBAAbDQIAQx0k
DQQCADk0DQQCAG8AFJAU8BHmAB47ERTAnAAoMA6aAIAgHgSeIB0EbQsAWh0EbR4NDQAiBA0OAFIN
JA0EPRAAMA0ETUYAMcRABBMAIQRQEAAeIJoAD7YCbyIfFBwCD7kCOD8SwC4CAAIf-psBHh7QngAP
0gIrmXAI4AhwFEAIMI8CGgiPAhUIjwIwTghOkQJdTQhNBC0GABQNAgAYCJkCGAiZAgMaACENAHMA
X4AY0BhQ0gFPmGAI4AiAFDAIQOQAGghzAxUY4wAhPhjjACA9GNcADAYAA78AJwQY4gAXGOEAAxgA
zw0AFDAYMBRwGNAYYJIBHS-w8OQCbC-_ELMAHk-Q-xQQywI5L-4STgAdWFA4sCjAAgBvmHB4oEjw
nQ0fj1AYAGhQ_BDw1AUeAO0BAgIArrA4kFhQiGB48Gh_AA-8AW9hMDwPHCxgwhHwCAcMDhwwHA4M
RwwODDAMDgxnDA4wHhcOAgAyDEAOCQDwISAeIFcADjAeIDcwHkAsCBwQHkAHLAgcB0AeAAdcBwAe
AB4QfBAeIAcMBwwHTHAXAAgAnwxwFxAXkBgQGH8BHvAFIAEsPxwBUAEcbgFAAQwOEQ4RBw4KACIH
DgMAAQwAMhwHHAoA8A8PF0cNDgEwARwnDSceATAxDAcOMVABBwwHCAcOBwEKAP8mDggOCB4HATAB
BxxuBwEQARcsXhcBAAEXfAEXARARBwEXAQcRBxFAAQABBwEHAZABHAEcAUC2AR8PMgD-GP8ngA8b
0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBNCF0wPQJtQF0CLWB9cG2QTbAtJQYgDzIA
-0f-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAHEAfwBAcQByAHMAeAQgAdkAgAOAAIAAgw
CAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA----------------------------------------
----w1A9MTF9fQ==
DVCdaAgPhgAgEzddAD8HHAcKABIeN4UADz0BHg8yAIGQBgcGBx8WBgceCQCxBgcOFh4WHmYHBh4D
AAECAHUWHpYeFgcGAgByHgYHph4WDg4AAygAUlYeFh5WHAAGSQASphwAHwZIAAACKAA8Zh4WSQBf
Fg4mHobEAB32APUB3xgV3hXfFRXeFd4V3QYAf-UC3RXd9QFQAB1P9gANBgIAyi-2AWMBH0cPFg0O
AgA4FQ0OAgBz9QEPEy8MLzsJIB8MdQkZD3YJGQ9dCQ8OAAlxPwwPEy8RLxYANY8THyAAN28RDw4A
Pw8MXxAABAFAACEMPw4AH9_nAyAPMgD--0Vf-xQS0B4CAAYP0gYdT-8UEPA1ACEv0B4CAAcPTwAd
4PBIKLCIYIhgGNAY0AjgAgAQGAYAH2BMAR7DERSQFAAPFA8fBA4PjwmVDg0OBB4NBA0OAgDHBA0e
BK4EDh0ErQQtBAAbDQIAQx0kDQQCADk0DQQCAG8AFJAU8BHmAB47ERTAnAAoMA6aAIAgHgSeIB0E
bQsAWh0EbR4NDQAiBA0OAFINJA0EPRAAMA0ETUYAMcRABBMAIQRQEAAeIJoAD7YCbyIfFBwCD7kC
OD8SwC4CAAIf-psBHh7QngAP0gIrmXAI4AhwFEAIMI8CGgiPAhUIjwIwTghOkQJdTQhNBC0GABQN
AgAYCJkCGAiZAgMaACENAHMAX4AY0BhQ0gFPmGAI4AiAFDAIQOQAGghzAxUY4wAhPhjjACA9GNcA
DAYAA78AJwQY4gAXGOEAAxgAzw0AFDAYMBRwGNAYYJIBHS-w8OQCbC-_ELMAHk-Q-xQQywI5L-4S
TgAdWFA4sCjAAgBvmHB4oEjw8A0fj1AYAGhQ_BDw1AUeAO0BAgIArrA4kFhQiGB48Gh_AA-8AW9h
MDwPHCxgFRLwCAcMDhwwHA4MRwwODDAMDgxnDA4wHhcOAgAyDEAOCQDwISAeIFcADjAeIDcwHkAs
CBwQHkAHLAgcB0AeAAdcBwAeAB4QfBAeIAcMBwwHTHAXAAgAnwxwFxAXkBgQGH8BHvAFIAEsPxwB
UAEcbgFAAQwOEQ4RBw4KACIHDgMAAQwAMhwHHAoA8A8PF0cNDgEwARwnDSceATAxDAcOMVABBwwH
CAcOBwEKAP8mDggOCB4HATABBxxuBwEQARcsXhcBAAEXfAEXARARBwEXAQcRBxFAAQABBwEHAZAB
HAEcAUC2AR8PMgD-GP8ngA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBNCF0wPQJt
QF0CLWB9cG2QTbAtJQYgDzIA-0f-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAHEAfwBAcQ
ByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA5fAUEL8YIA60DgAO
1B5EPEQeJBw-HBwkHiQMXQwkHhQMDVwNDBQIADIMPQwKABEdAgAICgDRJAwdHB0MJB4kHD0cJEUA
n9QOAA60DiC_EL8AHw8yAP------------------------------------------llA9MTF9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yNiAxNTozNjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIscmV2aXNpb249OTQzXV1sejQAqAMAABVCAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP_DLjEwDAAPAQDhPzQ4MAEAXi80MAEACz8xMzABAHMXNAQADwEANQ9Q
ACEfM4AAbg8BALoqNDgIAQ8EAwcOIAAPAQA2BIAAHzNgAQAvMzABAE4vNDgYAA8OJAAPAQA5DmgA
DwEAch4zgAEPgABgDwEA---------7-1HSIpLGhpZGRlbj1mYWxzZSxuYW1lPSJvYmplY3RzIixw
YW5feD0tMTQwLjgzAQABFwBpeT0tMTA1FwCSdGlsZV9oPTE2CgAQdwoAj3pvb209MX0shBAJDwEA
----mi9hMIAA-2AvMzABAP-------------WD4QQA6Zmb3JlZ3JvdW5khxAvNTKHEAMfMYcQvy8z
OQQAAw8BAFFjMzIwMDA5BAAaYgwAHzOAAF0aMAwAHzMAAW0WOIwBDwQAAQ_AADYPAQAFHmOUAAgI
AB8zgABZFzAMAA_AAD0XNQQACAEALzUwAQAIDwABUB8wgADUHzUEAAwEAQAaNQQADwABtg_AAOxq
MmIwMDJjBAAEAQAvMmMEAAQfZIAANz8zNTABAB4vM2KAAGsvMDCAAPwfMoAAO2cyODAwMjkEAB9h
AAFIL2QwXAAOACgADiQADwEALw5YAA9cAAMvMzIkAAEPAQAvD4AABgz8CA_AASUfM4AAIwF8CBc5
BAAPpAECDwEALwGAABc1BAAPgAARAywALzMwAQAzDuACDzAADAMcAw4BAA_QAycPiAEDDxwCEw8B
AAMPgABHDZwBD4AA3Q4BAA_AAK4FCAMPBAAkD4cQMU9zb2xpghBWDwEA-4QISgIvOTABANYvMWEE
AAMPAQBVLzFhBAADLzAwkAFTJzFiBAAWOQQALzA4BAAKDwEANx84BAAiDwEANx84BAAiD4ABNx84
BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMWIEAAAECAQf
YgQABw8BADYfOAQAIg8BADcfOAQAIg8BADcfOAQAIg8BADceOAQAD4IQAhs4BAAPAQA1HjgEAB8z
ogsBGzgEAA8BADUfOIAA-2wuMWJ4BA_AAAEEHAAOgAQPAQA0HzgEABIPAQBGLzE4BAATDwEARS8x
OAQAEw8BAEUvMTgEABMPAQBGHzgEACIPAQA3HzgEACIPCSG2TGJhY2sJIU4xMi4zhxAoMjYWAA_H
EAZQbT0xfX0=
NC0yNiAxNTozNjo1NCIscmV2aXNpb249OTgwXV1sejQArAMAABVCAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP_DLjEwDAAPAQDVNTU4MAEAPzQ4MAEAXi80MAEACz8xMzABAHMXNAQA
DwEANQ9QACEfM4AAbg8BALoqNDgIAQ8EAwcOIAAPAQA2BIAAHzNgAQAvMzABAE4vNDgYAA8OJAAP
AQA5DmgADwEAch4zgAEPgABgDwEA---------7-1HSIpLGhpZGRlbj1mYWxzZSxuYW1lPSJvYmpl
Y3RzIixwYW5feD0tMTQwLjgzAQABFwBpeT0tMTA1FwCSdGlsZV9oPTE2CgAQdwoAj3pvb209MX0s
hBAJDwEA----mi9hMIAA7Q8BAP--------------Sw_EEAOvZm9yZWdyb3VuZIcQ4i8zOQQAAw8B
AFFjMzIwMDA5BAAaYgwAHzOAAF0aMAwAHzMAAW0WOIwBDwQAAQ_AADYPAQAFHmOUAAgIAB8zgABZ
FzAMAA_AAD0XNQQACAEALzUwAQAIDwABUB8wgADUHzUEAAwEAQAaNQQADwABtg_AAOxqMmIwMDJj
BAAEAQAvMmMEAAQfZIAANz8zNTABAB4vM2KAAGsvMDCAAPwfMoAAO2cyODAwMjkEAB9hAAFIL2Qw
XAAOACgADiQADwEALw5YAA9cAAMvMzIkAAEPAQAvD4AABgz8CA_AASUfM4AAIwF8CBc5BAAPpAEC
DwEALwGAABc1BAAPgAARAywALzMwAQAzDuACDzAADAMcAw4BAA_QAycPiAEDDxwCEw8BAAMPgABH
DZwBD4AA3Q4BAA_AAK4FCAMPBAAkD4cQMUdzb2xpghAvNTKCEAMfMYIQMg8BAP_ECEoCLzkwAQDW
LzFhBAADDwEAVS8xYQQAAy8wMJABUycxYgQAFjkEAC8wOAQACg8BADcfOAQAIg8BADcfOAQAIg_A
ATcfOAQAIw8BADUvMTgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzFiBAAA
BAgEH2IEAAcPAQA2HzgEACIPAQA3HzgEACIPAQA3HzgEACIPAQA3HjgEAA_CEAIbOAQADwEANR44
BAAfM6ILARs4BAAPAQA1HziAAP9sLjFieAQPgAABBBwADoAEDwEANB84BAASDwEARi8xOAQAEw8B
AEUvMTgEABMPAQBFLzE4BAATDwEARh84BAAiDwEANx84BAAiDwkhtkxiYWNrCSFOMTIuM4cQKDI2
FgAPhxAGUG09MX19
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yNiAxNTozNjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIscmV2aXNpb249NzY2XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
NC0yNiAxNTozNjo1NCIscmV2aXNpb249Nzg5XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
@ -85,14 +86,14 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yNiAxNTozNjo1NCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: main.lua
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 13:30:52",revision=1041]]
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-26 15:36:54",revision=1065]]
include("/cirnofarm/src/game.lua")
:: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
NC0yNiAxMzozMDo1MiIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
NC0yNiAxNTozNjo1NCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9

View file

@ -92,6 +92,16 @@ LAYERS = {
{index=1, name="objects", render=false, render_objects=false, spawn_objects=true}
}
actors_db = {
{name="teleporter",sprite=88,actor=nil},
{name="barrel",sprite=3,actor=Barrel},
{name="strawberry",sprite=72,actor=Strawberry},
{name="player",sprite=65,actor=nil},
{name="box",sprite=4,actor=nil},
{name="alarm",sprite=19,actor=nil},
{name="fan",sprite=16,actor=nil}
}
actors = {}
bullets = {}
particles = {}
@ -120,14 +130,21 @@ function spawn_objects()
for y=0,height,1 do
local tile = map_manager.get_layer_tile(x,y,1)
if (tile == 3) then
local b = Barrel:new(x*tile_width,y*tile_height)
add(actors,b)
elseif(tile == 72) then
local s = Strawberry:new(x*tile_width,y*tile_height)
add(actors,s)
local a = get_actor_from_sprite(tile)
if (a) then
local ai = a:new(x*tile_width,y*tile_height)
--local ai = Barrel:new(x*tile_width,y*tile_height)
add(actors,ai)
end
-- if (tile == 3) then
-- local b = Barrel:new(x*tile_width,y*tile_height)
-- add(actors,b)
-- elseif(tile == 72) then
-- local s = Strawberry:new(x*tile_width,y*tile_height)
-- add(actors,s)
-- end
end
end
@ -135,6 +152,16 @@ function spawn_objects()
end
function get_actor_from_sprite(sprite)
local res = nil
for a in all(actors_db) do
if (a.sprite == sprite) then
res = a.actor
end
end
return res
end
function render_layer(layer)
if (layer.render) then
-- todo move function in map manager