kichikuou / xsystem35-sdl2

Multi-platform implementation of AliceSoft's System3.x game engine.
https://kichikuou.github.io/web/
GNU General Public License v2.0
63 stars 8 forks source link

Rance 4 2.05 map lag in System 3.9 #36

Closed RottenBlock closed 1 year ago

RottenBlock commented 1 year ago

Environment

Steps to reproduce the behavior

  1. Decompile Rance 4 v2.05 (may also apply to Rance 4 vanilla?)
  2. Adjust xsystem35.cfg to compile to System 3.9 instead of System 3.6. Add a line to output a System39.ain file ("output_ain = ../System39.ain")
  3. Attempt to move around on a map screen.

Expected behavior

The party icon should move in direct response to mouse and keyboard input.

Actual behavior

The game does not respond to all input. It can take multiple clicks or keyboard presses to produce a response. Reverting the game to System 3.6 corrects the error.

Additional context

I knew something was strange when I was getting lag after "not" changing anything, and I eventually narrowed things down to automatic changes to the xsystem35.cfg file. Hopefully that's enough to diagnose the problem.

It's possible the ideal fix will be to change something Rance 4's code, Unfortunately, I need System 3.9 to use ASCII or UTF-8.

I wasn't sure if this should be reported to the xsys35c repo or the xsystem35 repo, sorry if it should have been the other way.

RottenBlock commented 1 year ago

Sorry, I just saw your response to the other post, I will try what you suggested.

RottenBlock commented 1 year ago

Okay, I've run a few tests based on your post. I don't believe the hack is working for me even with the latest build, although I'm not sure what I'm doing wrong. I can change the English title temporarily, that's not a problem, but it still seems to be happening when I work with the Japanese version. Like I described above, I'm directly decompiling the code, then recompiling it for System 3.9, I assume something else is changing between then and there that causes the title to change enough to break the hack?

Modifying xsystem35 to recognize the English title also doesn't seem to be working for me. Clearly the problem is on my end, so I'm open to suggestions.

kichikuou commented 1 year ago

Adjust xsystem35.cfg to compile to System 3.9 instead of System 3.6.

Ah, that's the reason. When compiled for System3.9, MT command is compiled differently so commandMT() is not used.

Should be fixed with https://github.com/kichikuou/xsystem35-sdl2/commit/99632397da623bd28041b375bc799de0413f3428.

RottenBlock commented 1 year ago

Great, that's got it, and I've compiled a temporary fix to recognize the English title. Thanks a lot!

kichikuou commented 1 year ago

Now you can enable the hack by creating a file named .xsys35rc in the game folder with the following contents:

game: rance4_v2
RottenBlock commented 1 year ago

Thank you, the patch is done now thanks to your help!

kichikuou commented 1 year ago

Congrats on the English patch release!