shithub: choc

Download patch

ref: ea89b7c464576a18a8173d7da97d09eff2477edb
parent: 6a92bc54be4081c8821ca110947133b5f1f8516b
author: Simon Howard <fraggle@gmail.com>
date: Sat Feb 6 22:26:39 EST 2010

When initializing to load an HHE patch, patch the states[] table to be
like Heretic 1.0.

Subversion-branch: /branches/raven-branch
Subversion-revision: 1859

--- a/src/heretic/deh_frame.c
+++ b/src/heretic/deh_frame.c
@@ -46,6 +46,19 @@
   DEH_UNSUPPORTED_MAPPING("Action pointer")
 DEH_END_MAPPING
 
+// When a HHE patch is first loaded, we must apply a small change
+// to the states[] table.  The table was changed between 1.0 and
+// 1.3 to add two extra frames to the player "burning death"
+// animation.
+// If we are using an HHE patch, the table must behave like the
+// Heretic 1.0 table.  We must therefore change the table to cut
+// these out again.
+
+static void DEH_FrameInit(void)
+{
+    states[S_PLAY_FDTH18].nextstate = S_NULL;
+}
+
 static void *DEH_FrameStart(deh_context_t *context, char *line)
 {
     int frame_number = 0;
@@ -122,7 +135,7 @@
 deh_section_t deh_section_frame =
 {
     "Frame",
-    NULL,
+    DEH_FrameInit,
     DEH_FrameStart,
     DEH_FrameParseLine,
     NULL,