Auto-translated
I looked at the patch. It seems safe and functional in both versions (in the extended version, I would also recommend paying attention to 0x42DA39).
Although, of course, it is unlikely to completely solve this problem; many places in the game's code need to be checked.
I checked the address 0x42DA39; in my case, there is nothing particularly interesting there, although any section of code containing the MOVSX instruction could potentially contain an error. In general, given how buggy the game is, checking all potentially dangerous places is very problematic, so I proceed as follows: if there is an error that consistently occurs and is very annoying, then it can be investigated. In the case of this game, the first thing I would do is check the source code with a static analyzer, as there may be more than enough type conversion errors, but, unfortunately, this is not available. :smile21:
I believe that by gradually collecting information and eliminating errors bit by bit, acceptable results can be achieved.