home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Server: Send THINGS_HERE data only about things in player's map memory.
[plomrogue]
/
src
/
server
/
run.c
diff --git
a/src/server/run.c
b/src/server/run.c
index 339a849fbe190a00d701e10119df3be032d9576c..83fc1a0f737963d5b17b7ceaa0e9d13507941af4 100644
(file)
--- 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 "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 */
*/
#include "world.h" /* world */
@@
-212,11
+212,17
@@
static uint8_t parse_command_meta(char * tok0)
{
char * tok1 = token_from_line(NULL);
char * tok2 = token_from_line(NULL);
{
char * tok1 = token_from_line(NULL);
char * tok2 = token_from_line(NULL);
- if (
!parsetest_int(tok1, '8') &&
!parsetest_int(tok2, '8'))
+ if (
tok1&&tok2 && !parsetest_int(tok1, '8')&&
!parsetest_int(tok2, '8'))
{
{
+ if (!world.exists)
+ {
+ err_line(1, "Command only works on existing worlds.");
+ return 0;
+ }
send_to_outfile("THINGS_HERE START\n", 1);
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))
{
{
if (t->pos.y == atoi(tok1) && t->pos.x == atoi(tok2))
{
@@
-411,7
+417,7
@@
extern uint8_t obey_msg(char * msg, uint8_t obey_state)
}
else if (!world.replay)
{
}
else if (!world.replay)
{
- err_line(1, "
Unknown
command/argument or bad number of tokens.");
+ err_line(1, "
Invalid
command/argument or bad number of tokens.");
}
}
free(msg_copy);
}
}
free(msg_copy);