Git Product home page Git Product logo

heroes.graphics.essentials.reloadedii's Issues

Force RenderWare Reset to workaround Unexpected Client Area Behaviour

Purpose of Patch 1.4.2

https://discord.com/channels/288415776782942210/288417145493258240/1223814148610068520

On this user's 1440p panel with display scaling, game did not correctly set the render region for some strange reason. Both with and without dxvk.

For now we force a window resize to correct it, but in the long run, we should do a more proper patch and figure out what the game does during window resize, and replicate that.

Possible Heap Corruption in Hook Managed to Native transitions when Compiling in Release Mode!?

I am dumbfounded, speechless and in the last two days, cannot come to a conclusion.

There appears to be a possibility of either a very deeply rooted runtime bug in the .NET Core runtime involving managed -> unmanaged code transition that is exposed hooking certain functions or heap corruption when hooking some functions.

Specifically compiling the Hooks Project of Graphics Essentials in Release Mode causes the following side effects:

Initial Problems

Passing the interface to constructor of ExtendedController caused an access violation... for passing an object on the stack.

This error was only triggered in Special Stages, whereby the game would crash when the emerald indicator is drawn.

Fixed?

These initial problems may have been fixed by adding the ESI parameter into the following function used to draw the emerald indicator:

public delegate void* sub_458920(void* preserveEax, void* preserveEsi, float x, float y, float width, float height);

Which the previous lack of may have possibly caused memory corruption.

Persistent Issues

  • Special Stage Emerald Indicator Draw Crash

Directly related to the heading above, and the same function.
Compiling the library as Release still causes the game to freeze when the emerald indicator is drawn. The game works for another 2-3 frames, until it freezes without crashing.

According to the Crash Dumps %localappdata%\Crash Dumps, the error is 0xC0000409 (Stack Overflow/Stack Buffer overrun) however debugging the process I could not find any evidence of a stack overflow.

This might be a case of perhaps an expected register to be callee preserved used later in code, I have yet unfortunately not figured out.

Help would be appreciated.

Things incorrectly adjusted

  • The vertical FOV expansion was meant to lock the horizontal fov to 16:9 while extending the vertical, not zoom it in.
  • Certain orthographic elements such as the "Now Loading" text render using the main resolution on it's code execution before they're resized into 4:3 canvas making it appear incorrect on a blank screen.
  • Powerup icons aren't positioned correctly on vertical display.
  • The dot in the 2P hud is scaled incorrectly and the bar is supposed to be above the formation maestro.
  • Shadows shouldn't be scaled by the screen aspect ratio.

vlcsnap-2019-08-05-01h58m52s255
Tsonic_win 2019-08-05 02-51-15-522
Tsonic_win 2019-08-05 05-11-13-331
Tsonic_win 2019-08-05 02-58-37-405

Anti-aliasing

Is it possible to configure anti-aliasing with this mod?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.