From: Christian Heller <c.heller@plomlompom.de>
Date: Sun, 7 Dec 2014 03:00:21 +0000 (+0100)
Subject: Server: Send THINGS_HERE data only about things in player's map memory.
X-Git-Tag: tce~566
X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/day_todos?a=commitdiff_plain;h=dd74c7f63defe31b7783f1ce2b2a96deba6d9690;p=plomrogue

Server: Send THINGS_HERE data only about things in player's map memory.
---

diff --git a/SERVER_COMMANDS b/SERVER_COMMANDS
index de6ad7b..04092ac 100644
--- a/SERVER_COMMANDS
+++ b/SERVER_COMMANDS
@@ -54,9 +54,9 @@ QUIT
 Shut down server.
 
 THINGS_HERE [0 to 255] [0 to 255]
-If world exists, write line-by-line list of things at y position of first
-argument, x position of second argument of map into ./server/out file, enclosed
-by two lines "THINGS_HERE START" and "THINGS_HERE END".
+If world exists, write line-by-line list of things in memory at y position of
+first argument, x position of second argument of map into ./server/out file,
+enclosed by two lines "THINGS_HERE START" and "THINGS_HERE END".
 
 Player commands
 ---------------
diff --git a/src/server/run.c b/src/server/run.c
index d88d583..83fc1a0 100644
--- a/src/server/run.c
+++ b/src/server/run.c
@@ -29,8 +29,8 @@
 #include "god_commands.h" /* parse_god_command_(1|2|3)arg() */
 #include "hardcoded_strings.h" /* s */
 #include "io.h" /* io_round(), save_world() */
-#include "things.h" /* Thing, ThingType, get_thing_action_id_by_name(),
-                     * get_player(), try_thing_proliferation()
+#include "things.h" /* Thing, ThingType, ThingInMemory, get_player(),
+                     * get_thing_action_id_by_name(), try_thing_proliferation()
                      */
 #include "world.h" /* world */
 
@@ -220,8 +220,9 @@ static uint8_t parse_command_meta(char * tok0)
                 return 0;
             }
             send_to_outfile("THINGS_HERE START\n", 1);
-            struct Thing * t;
-            for (t = world.things; t; t = t->next)
+            struct Thing * player = get_player();
+            struct ThingInMemory * t;
+            for (t = player->t_mem; t; t = t->next)
             {
                 if (t->pos.y == atoi(tok1) && t->pos.x == atoi(tok2))
                 {