UnofficialCrusaderPatch / UnofficialCrusaderPatch3

Development for the dll Injection approach
GNU General Public License v3.0
11 stars 2 forks source link

✔️ Extend game speed limits. Working, except + in Extreme (- works) in conjunction with graphicsApiReplacer #63

Closed gynt closed 11 months ago

gynt commented 11 months ago

Broken feature: in Extreme, hitting the + key does not increase the game speed, but crashes the game.

Turns out that the crash is not due to UCP, but due to graphics api replacer or winprochandler.

Steps to reproduce:

activate graphicsApiReplacer Run Extreme load a game Press +

gynt commented 11 months ago

Turns out that the crash is not due to UCP, but due to graphics api replacer or winprochandler.

Steps to reproduce:

  1. activate graphicsApiReplacer
  2. Run Extreme
  3. load a game
  4. Press +
TheRedDaemon commented 11 months ago

Which "+"? I will see when I find time. Have not used the the dev setup in a while. Meanwhile, can you check if this happens when only the "winProcHandler" is used?

TheRedDaemon commented 11 months ago

So, just by looking at the code, I find nothing obvious. It also means I until I get around to test it myself, it would be good to know your actual config settings, @gynt, and if you are sure that no other software intercepts/interacts with Crusader, like compatibility mode.

gynt commented 11 months ago

Activated winprochandler and graphicsapireplacer, started the game via steam => no crash same, but started the game from outside steam => crash

Then... I de activated my dev.lua codes and voila, bug is gone...

Lesson learned: when testing, make sure your env is clean :D

gynt commented 11 months ago

Given the steam/no steam aspect, I really thought graphicsApiReplacer had something to do with it, and maybe it has actually, but it is a non-issue because I have unsupported code in my dev.lua :)

TheRedDaemon commented 11 months ago

Makes me kinda curious what you did that caused this and what Steam does that it fixes the effect... Steam injects some stuff to the game one launches with it, like the overlay for example (which should work with the API Replacer, I think even with the OpenGL backend, but I am not so sure anymore). Maybe something the dev code did was overriden by Steam? But there are stilll blind spots in the whole system, anyway. Maybe I change something to state that "just works", but makes other stuff vulnerable. I asked regarding the "winprochandler", because this module was also me playing a bit with the stack, since I manipulate the stack so that the return of the NextWinProc funcs directly return to the previous instead of intermediate selection func. Did not cause any problems so far and it would be strange if it caused one with the "+" , but crashes always make me think about this module.