summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-03-21 21:17:54 +0100
committerkdx <kikoodx@paranoici.org>2023-03-21 21:17:54 +0100
commit4beddb454cce722d31a889145ae4877071bd487e (patch)
tree1606d36dd9502195c50d556153ea0f81809c645f
parent176ed005d8bef40bd8fbf7e7bb82536fa7286ba9 (diff)
downloadhyperultra-4beddb454cce722d31a889145ae4877071bd487e.tar.gz
exit direction
-rw-r--r--map/weallstartsomewhere.json2
-rw-r--r--res/tset.pngbin316 -> 305 bytes
-rw-r--r--src/exit.c3
-rw-r--r--src/exit.h2
-rw-r--r--src/game.c5
5 files changed, 8 insertions, 4 deletions
diff --git a/map/weallstartsomewhere.json b/map/weallstartsomewhere.json
index 7d57dd6..10f4ff3 100644
--- a/map/weallstartsomewhere.json
+++ b/map/weallstartsomewhere.json
@@ -1 +1 @@
-{"width":25,"height":14,"data":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,4,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,5,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,5,1,1,0,2,0,0,0,5,0,0,0,1,1,0,1,1,1,0,0,5,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]} \ No newline at end of file
+{"width":25,"height":14,"data":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,3,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,5,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,5,1,1,0,2,0,0,0,5,0,0,0,1,1,0,1,1,1,0,0,5,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]} \ No newline at end of file
diff --git a/res/tset.png b/res/tset.png
index e751df9..6704f00 100644
--- a/res/tset.png
+++ b/res/tset.png
Binary files differ
diff --git a/src/exit.c b/src/exit.c
index e1a4909..c6ad4cb 100644
--- a/src/exit.c
+++ b/src/exit.c
@@ -7,10 +7,11 @@ IMPL_UPDATE() {
IMPL_DRAW() {
LZY_DrawSetColor(BLACK);
rotrect(this->pos[0], this->pos[1],
- this->width, this->height, 0.2);
+ this->width, this->height, 0.2 * this->exit.dir);
} IMPL_END
IMPL_INIT(exit) {
this->width = 12;
this->height = 12;
+ this->exit.dir = 1;
} IMPL_END
diff --git a/src/exit.h b/src/exit.h
index 633fe47..5ea3418 100644
--- a/src/exit.h
+++ b/src/exit.h
@@ -1,7 +1,7 @@
#pragma once
typedef struct {
- int _;
+ int dir;
} Exit;
struct Entity;
diff --git a/src/game.c b/src/game.c
index 665363d..62726ca 100644
--- a/src/game.c
+++ b/src/game.c
@@ -58,12 +58,15 @@ game_restart_scene(Game *this)
for (int x = 0; x < map_width(); x++) {
const int dx = x * TSIZE + TSIZE / 2;
const int dy = y * TSIZE + TSIZE / 2;
+ Entity *e;
switch (map_get(x, y)) {
case 2:
player_init(game_create_entity(this), dx, dy);
break;
+ case 3:
case 4:
- exit_init(game_create_entity(this), dx, dy);
+ e = exit_init(game_create_entity(this), dx, dy);
+ e->exit.dir = (map_get(x, y) == 3) ? -1 : 1;
break;
case 5:
spike_init(game_create_entity(this), dx, dy);