about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rwxr-xr-xserver.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/server.c b/server.c
index 8892d2d..cea66c1 100755
--- a/server.c
+++ b/server.c
@@ -129,13 +129,17 @@ static bool clientCast(struct Client *origin, const struct ServerMessage *msg) {
     return success;
 }
 
-static bool clientMove(struct Client *client, int8_t dx, uint8_t dy) {
+static bool clientMove(struct Client *client, int8_t dx, int8_t dy) {
     struct Client old = *client;
 
+    if (dx > CELL_COLS - client->cellX) dx = CELL_COLS - client->cellX;
+    if (dx < -client->cellX - 1)        dx = -client->cellX - 1;
+    if (dy > CELL_ROWS - client->cellY) dy = CELL_ROWS - client->cellY;
+    if (dy < -client->cellY - 1)        dy = -client->cellY - 1;
+
     client->cellX += dx;
     client->cellY += dy;
 
-    // TODO: Handle moves greater than 1 in either direction.
     if (client->cellX == CELL_COLS) { client->tileX++; client->cellX = 0; }
     if (client->cellX == UINT8_MAX) { client->tileX--; client->cellX = CELL_COLS - 1; }
     if (client->cellY == CELL_ROWS) { client->tileY++; client->cellY = 0; }
='/pounce/commit/dispatch.c?h=2.1&id=264df02658ee7bca1ff7b1391f4b2494846f9c1a&follow=1'>Use a fixed size pollfd array in calicoJune McEnroe My thinking here is that it's better to not allocate in response to incoming connections. This also just makes the code a little simpler. 2020-11-13Disallow / anywhere in server nameJune McEnroe 2020-11-12Check bounds of ClientHello extensions lengthJune McEnroe 2020-11-10Report paths in unveil errorsJune McEnroe 2020-10-24contrib/palaver: Use open_memstream instead of fmemopenJune McEnroe Somehow I never knew about this function. Much better than fmemopen with mode "w". 2020-10-11Handle signals before the main loopJune McEnroe This is a long-standing issue I ignored. 2020-09-09Fix possibliy uninitialized error 2.0June McEnroe It won't be, but gcc thinks it might. 2020-08-31Refactor reserialization and client self-producingJune McEnroe 2020-08-30Add chmod+chown to certbot exampleJune McEnroe 2020-08-30Rearrange bounce.c, move non-main mains below mainJune McEnroe 2020-08-30Sandbox pounce with unveil(2)June McEnroe 2020-08-28Refactor certificate loading and load all certs from config pathsJune McEnroe 2020-08-27Sandbox pounce with pledge(2)June McEnroe unveil(2) is a bit complicated to apply to this, I'll have to think about it more. 2020-08-27Sandbox calico with pledge(2) and unveil(2)June McEnroe 2020-08-27Add support for OpenBSDJune McEnroe 2020-08-27Remove rc scriptsJune McEnroe 2020-08-27contrib/palaver: Fix documented database pathJune McEnroe 2020-08-27contrib/palaver: Remove rc scriptJune McEnroe 2020-08-27contrib/palaver: Fix database search and creationJune McEnroe 2020-08-27contrib/palaver: Use pounce's XDG directoryJune McEnroe 2020-08-27contrib/palaver: Only allow HTTPSJune McEnroe 2020-08-25Support the pounce_env rc variableJune McEnroe 2020-08-25Remove deprecated option namesJune McEnroe The next release will be 2.0 so these can be removed now. 2020-08-25Document configuration and data file searchJune McEnroe 2020-08-24Use dataOpen for save fileJune McEnroe 2020-08-24Use configOpen to load localCAJune McEnroe 2020-08-24Use configPath to load client cert/privJune McEnroe 2020-08-24Use configOpen in getopt_configJune McEnroe 2020-08-24Import xdg.c from catgirlJune McEnroe 2020-08-23Replace “RAND_bytes” by “getentropy”Issam E. Maghni This removes the dependency on libcrypto. Signed-off-by: Issam E. Maghni <issam.e.maghni@mailbox.org> 2020-08-16contrib/palaver: Add no message preview flagsJune McEnroe 2020-08-13contrib/palaver: Don't set channel for PMsJune McEnroe 2020-08-13Fix unintended interception of NICK after registrationJune McEnroe Another bug caused by trying to support broken clients. I'm annoyed. 2020-08-12Add Additional Components section to READMEJune McEnroe 2020-08-12Document -L / palaver optionJune McEnroe 2020-08-11contrib/palaver: Document service configurationJune McEnroe 2020-08-11contrib/palaver: Add install target and rc scriptJune McEnroe 2020-08-11contrib/palaver: Implement command and notificationsJune McEnroe