github thpatch/thcrap 2014-05-06

latest releases: 2025-12-02, 2025-07-06, 2025-07-01...
11 years ago

Over three months of development, resulting in digitally signed automatic updates of thcrap itself... as well as lots of features nobody has asked for, and which will only matter a few years from now.

thcrap
  • Use a custom resolving chain for global.js and the game's main JSON files.
  • Move thcrap updating information from patch.js to the run configuration.
  • Check for a valid file name pointer when dumping a data file.
  • Optionally check a binary hack against an expected sequence of bytes.
  • Detour ExitProcess() to properly shut down any thcrap worker threads.
  • textdisp_CreateFontA(): Only override iCharSet if a face name is given.
  • Implement detour chaining.
  • Add a module to watch for and apply changes to the patch files.
  • json_object_get_create(): Fail if the containing object is NULL.
  • Zip file reading support.
thcrap_configure
  • Use the flexible array loop for dependencies.
  • Default to the Nmlgc repository.
  • Mention the artwork offer.
thcrap_update
  • Link to the default zlib1.dll instead of zlibwapi.dll.
  • Allow deletion of unmodified patch files by using JSON nulls in files.js.
  • Move update notifications for thcrap and the game itself to thcrap_update.
  • Add digitally signed automatic updates of thcrap itself.
thcrap_tsa
  • MSG patching: Increment the line counter correctly to repair hard line patching.
  • Remove the <f$> ruby layout parser introduced in 2013-08-20.
  • BP_ruby_offset(): Fix a crash if "font_dialog" or "font_ruby" are not given.
  • Layout: Don't overwrite the current width when defining a tabstop.
  • Layout: Parse font-related commands before anything else.
  • sprite_patch_set(): Verify the destination sprite coordinates.
  • Layout: Only use the rightmost tab cell for the last token on a line.
scripts
  • repo_update.py: Dump JSON with Git-compatible whitespace.
  • repo_update.py: Explicitly set UTF-8 encoding for text I/O.
  • Add a script to digitally sign a release archive.
  • Don't try to create directories with empty names when writing JSON files.
  • Enforce Unix line endings for JSON files.
win32_utf8
  • Add MoveFile(), MoveFileEx() and MoveFileWithProgress().
  • Add GetTempPath().
  • Add GetFileAttributes() and GetFileAttributesEx().
  • Add LoadString().
  • Add WideCharToMultiByte() and MultiByteToWideChar().
  • Add InsertMenuItem().
  • Add fopen().
  • Add RemoveDirectory().
  • Add DeleteFile().

Don't miss a new thcrap release

NewReleases is sending notifications on new releases.