Inform - Support - Patches

About Patches  

Compiler  
Library  

DM4 Errata  

Issue C62002

Checksum not written to header of infix
Submitted by: Evin Robertson     Appeared in: Compiler 6.20     Fixed in: Compiler 6.21
Problem

You can make inform generate 'infix' debugging info by using the -k option. This info contains the header of the gamefile so you can check to see if things match, but inform doesn't write the checksum into the header in the infix file, like it does in game file.

Solution

In files.c (around line 180), move this code:

  if (debugfile_switch)
  {   write_debug_byte(HEADER_DBR);
      for (i=0; i<64; i++)
          write_debug_byte((int) (zmachine_paged_memory[i]));
  }

down to after this code:

  if (ferror(sf_handle))
     fatalerror("I/O failure: couldn't backtrack on story file for checksum");

  fclose(sf_handle);

And change it to this:

  if (debugfile_switch)
  {   write_debug_byte(HEADER_DBR);
      zmachine_paged_memory[0x1c] = checksum_high_byte;
      zmachine_paged_memory[0x1d] = checksum_low_byte;
      for (i=0; i<64; i++)
          write_debug_byte((int) (zmachine_paged_memory[i]));
  }


Last updated 17 April 2013. This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation. Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Roger Firth.