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 web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Roger Firth.