Releases: thpatch/thcrap
Releases · thpatch/thcrap
2013-10-25
The result of two months worth of painstaking detail work. DLL injection chaining (read: vpatch) support, a number of smaller bug fixes, and quite a lot of general quality improvements throughout the code base.
thcrap
- Actually call
strings_patch()
. -.- - Eliminate directory creation confusion and patch
CreateDirectoryA()
. - Patch Win32 dialog font sizes.
- Correctly determine the size of patched Win32 dialog items, once and for all.
strings_vsprintf()
: Rewrite to work independently of string encoding.- Introduce a "Rx" syntax for hexadecimal addresses relative to the game's base address.
- Use three methods to determine the entry point of the game process.
- Detour
CreateProcess()
andLoadLibrary()
for DLL injection chaining. - Detour
CreateRemoteThread()
to apply the thcrap detours to newly injected DLLs. - Add
inject_CreateProcessW()
. - Add a basic custom exception handler.
log_nprint()
: Check if the console was opened.
thcrap_tsa
tsa_CreateWindowExA()
: Observe CW_USEDEFAULT.
win32_utf8
- Add
GetModuleFileNameEx()
. - Redirect GetWindowLong and SetWindowLong to their W equivalents.
- Add
GetPrivateProfileInt()
.
2013-08-25
Win32 dialog patching, and a couple of smaller fixes for bigger problems.
thcrap
- Win32 dialog patching (f3ebea3, eff1907, 1fc959f, 89ccf7f)
strings_lookup()
forMessageBox
andCreateWindowEx
. (07e0df4)
thcrap_tsa
- Fix window placement bugs in the original games. (71c1dca)
- Do string lookup in
GetTextExtent()
, not inGetTextExtentBase()
. (cc018b3) - Add the
custom.exe
bug fix for Western systems. (b1f8031)
thcrap_configure
- Maximize the height of the console window. (af3f982)
win32_utf8
2013-08-20
Music Room and proper ruby. 'nuff said.
thcrap
- stack_game_file_resolve(): Fix build-specific files to actually work as expected. (75889b5)
thcrap_tsa
2013-08-15
2013-08-12
Three small things - one of that actually being a rather important improvement - before th14 comes out. Nothing relevant.
thcrap_configure
- Well, it's the th14 full version release and still no GUI... (cb49224)
- Disable console by default in new run configurations. (9b27784)
thcrap_update
- Actually verify the CRC32 of downloaded files. (25759eb)
2013-08-08
Hardcoded string translation... and comparatively many bug fixes.
thcrap
- Use thread-local storage for the global
file_rep_t
object. (File patching is thread-safe now.) (35e8c1d) - IsLatestBuild: Fix a crash if
latest
is neither array nor string.(8facb6a) - Include build-specific files in the patch stack resolving functions. (1e07240)
- Add basic translation of hardcoded strings via dictionary lookup. (e51a8e1)
- Add a safe and persistent
vsprintf
handler. (06089df) - CreateFontA: Check hardcoded strings for a replacement font. (9de60fc)
thcrap_tsa
- Layout command 't': Choose the longest string out of all given parameters. (Fixes a logic flaw in ending text alignment.) (e874005)
win32_utf8
- Add
GetEnvironmentVariable
. (Necessary to run th125 and later with user names that contain non-ASCII characters.) (afa4a21)
2013-08-05
2013-07-29
Images! (and probably Endings!, too)
thcrap
- Remove the th11 English patch assist font width kludge. (f869d73)
- Fix the infinite loop on failed plug-in loading. (64915c6)
- Move logging for file breakpoint down to the resolving functions. (09db994)
thcrap_update
- Fix the server number comparison. (3db5748)
thcrap_tsa
2013-07-16
Answers to a couple of smaller problems that came up with doing spell cards.
thcrap
- Thread-safe ESP manipulation in the breakpoint handler
- Add GetTextExtentForFont.
thcrap_configure
- Use a custom pausing function instead of
system("pause")
.
2013-07-14
Spell cards!
thcrap
- Automatically look up breakpoint functions using the runconfig key.
- Remove manual breakpoint registration.
- Add support for multi-slot breakpoints.
- Refactor stack file resolving to include support for game-local JSON files.
- Run patch hooks even without a dedicated patch file.
thcrap_tsa
- Add spell card patching.
- Add spell comment patching.