From 0632e537f9277e7c3c0cbc2874be94531ff50134 Mon Sep 17 00:00:00 2001 From: Fabian Greffrath Date: Wed, 18 Jun 2014 13:06:25 +0200 Subject: 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 --- src/doom/p_local.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/doom/p_local.h') 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); -- cgit v1.2.3