about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-07-19 15:44:16 -0400
committerJune McEnroe <june@causal.agency>2018-07-19 15:44:16 -0400
commit5d6de9e0f527db9658b05b877496c824faa96c55 (patch)
tree981ce3f4dd57f28762461e6172cd0c93d8338afe
parentAdd server map generation (diff)
downloadtorus-5d6de9e0f527db9658b05b877496c824faa96c55.tar.gz
torus-5d6de9e0f527db9658b05b877496c824faa96c55.zip
Add ARRAY_LEN macro
-rw-r--r--client.c2
-rw-r--r--server.c2
-rw-r--r--torus.h3
3 files changed, 4 insertions, 3 deletions
diff --git a/client.c b/client.c
index a7299ac..ea2eba7 100644
--- a/client.c
+++ b/client.c
@@ -197,7 +197,7 @@ static void readInput(void) {
 
 		break; case 'q': endwin(); exit(EX_OK);
 		break; case 'Q': {
-			if ((input.color & 0x07) < SPAWNS_LEN) {
+			if ((input.color & 0x07) < ARRAY_LEN(SPAWNS)) {
 				clientSpawn(input.color & 0x07);
 			} else {
 				clientSpawn(0);
diff --git a/server.c b/server.c
index 7312dba..0a8f365 100644
--- a/server.c
+++ b/server.c
@@ -218,7 +218,7 @@ static bool clientUpdate(const struct Client *client, const struct Client *old)
 }
 
 static bool clientSpawn(struct Client *client, uint8_t spawn) {
-	if (spawn >= SPAWNS_LEN) return false;
+	if (spawn >= ARRAY_LEN(SPAWNS)) return false;
 	struct Client old = *client;
 	client->tileX = SPAWNS[spawn].tileX;
 	client->tileY = SPAWNS[spawn].tileY;
diff --git a/torus.h b/torus.h
index c058a4d..b5a0235 100644
--- a/torus.h
+++ b/torus.h
@@ -24,6 +24,8 @@
 #define PACKED __attribute__((packed))
 #define ALIGNED(x) __attribute__((aligned(x)))
 
+#define ARRAY_LEN(a) (sizeof(a) / sizeof((a)[0]))
+
 #undef COLOR_BLACK
 #undef COLOR_RED
 #undef COLOR_GREEN
@@ -86,7 +88,6 @@ static const struct {
 	{ TILE_COLS * 1 / 4, TILE_ROWS * 1 / 4 }, // SE
 	{ TILE_COLS * 3 / 4, TILE_ROWS * 1 / 4 }, // SW
 };
-static const size_t SPAWNS_LEN = sizeof(SPAWNS) / sizeof(SPAWNS[0]);
 
 enum {
 	MAP_ROWS = 11,