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: Refactor yx_uint8 moving; handle actors hitting the map edge.
[plomrogue]
/
src
/
server
/
map.c
diff --git
a/src/server/map.c
b/src/server/map.c
index 8ed37d9b50cbd017baf0cb2c0464e5e547aebeab..50c7bf1560105c5e6b3f2af12971637492ae2ac5 100644
(file)
--- a/
src/server/map.c
+++ b/
src/server/map.c
@@
-7,6
+7,7
@@
#include "../common/try_malloc.h" /* try_malloc() */
#include "../common/yx_uint8.h" /* struct yx_uint8 */
#include "rrand.h" /* rrand() */
#include "../common/try_malloc.h" /* try_malloc() */
#include "../common/yx_uint8.h" /* struct yx_uint8 */
#include "rrand.h" /* rrand() */
+#include "yx_uint8.h" /* mv_yx_in_dir_wrap() */
#include "world.h" /* global world */
#include "world.h" /* global world */
@@
-160,3
+161,15
@@
extern uint8_t is_passable(struct yx_uint8 pos)
}
return passable;
}
}
return passable;
}
+
+
+
+extern uint8_t mv_yx_in_dir_legal(char dir, struct yx_uint8 * yx)
+{
+ uint8_t wraptest = mv_yx_in_dir_wrap(dir, yx, 0);
+ if (!wraptest && yx->x < world.map.length && yx->y < world.map.length)
+ {
+ return 1;
+ }
+ return 0;
+}