summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dat.h2
-rw-r--r--game.c8
-rw-r--r--sdl3_main.c3
3 files changed, 13 insertions, 0 deletions
diff --git a/dat.h b/dat.h
index b1bc066..4ad6fd9 100644
--- a/dat.h
+++ b/dat.h
@@ -40,6 +40,8 @@ EntityCollision *deqcoll(void);
Entity *allocentity(void);
void freeentity(Entity *);
+void entrestart(void);
+
extern Entity entitybuffer[2048];
extern int ebufi;
diff --git a/game.c b/game.c
index b00d4e3..d305318 100644
--- a/game.c
+++ b/game.c
@@ -34,6 +34,14 @@ int ebufi;
Entity *player;
void
+entrestart()
+{
+ ebufi = 0;
+ player = NULL;
+ entinit();
+}
+
+void
entinit()
{
player = allocentity();
diff --git a/sdl3_main.c b/sdl3_main.c
index 7d29a97..9780e3d 100644
--- a/sdl3_main.c
+++ b/sdl3_main.c
@@ -144,6 +144,9 @@ process_events()
case SDL_EVENT_KEY_UP:
case SDL_EVENT_KEY_DOWN:
+ if(event.key.scancode == SDL_SCANCODE_R && player->alive == false)
+ entrestart();
+
#define DEFINE_KEY(X, VAR) \
if(event.key.scancode == X) VAR = event.type == SDL_EVENT_KEY_DOWN