summaryrefslogtreecommitdiff
path: root/src/doom/p_local.h
diff options
context:
space:
mode:
authorFabian Greffrath2014-06-18 13:06:25 +0200
committerFabian Greffrath2014-06-18 13:06:25 +0200
commit0632e537f9277e7c3c0cbc2874be94531ff50134 (patch)
treea4868dd7674e3f6e72be4b072a0a9ccf8591aa25 /src/doom/p_local.h
parenta2c75d271a2c4c25fb98303071f9e99a9ac46de0 (diff)
downloadchocolate-doom-0632e537f9277e7c3c0cbc2874be94531ff50134.tar.gz
chocolate-doom-0632e537f9277e7c3c0cbc2874be94531ff50134.tar.bz2
chocolate-doom-0632e537f9277e7c3c0cbc2874be94531ff50134.zip
Move extern definitions for p_map.c to p_local.h
This fixes conflicting array sizes for the variable "spechit" as reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748393. Fixes #414
Diffstat (limited to 'src/doom/p_local.h')
-rw-r--r--src/doom/p_local.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/doom/p_local.h b/src/doom/p_local.h
index fea6f1ea..95fa4053 100644
--- a/src/doom/p_local.h
+++ b/src/doom/p_local.h
@@ -208,6 +208,20 @@ extern fixed_t tmceilingz;
extern line_t* ceilingline;
+// fraggle: I have increased the size of this buffer. In the original Doom,
+// overrunning past this limit caused other bits of memory to be overwritten,
+// affecting demo playback. However, in doing so, the limit was still
+// exceeded. So we have to support more than 8 specials.
+//
+// We keep the original limit, to detect what variables in memory were
+// overwritten (see SpechitOverrun())
+
+#define MAXSPECIALCROSS 20
+#define MAXSPECIALCROSS_ORIGINAL 8
+
+extern line_t* spechit[MAXSPECIALCROSS];
+extern int numspechit;
+
boolean P_CheckPosition (mobj_t *thing, fixed_t x, fixed_t y);
boolean P_TryMove (mobj_t* thing, fixed_t x, fixed_t y);
boolean P_TeleportMove (mobj_t* thing, fixed_t x, fixed_t y);