EvoSC icon indicating copy to clipboard operation
EvoSC copied to clipboard

Overlapping UI elements

Open EmileCalixte opened this issue 2 years ago • 3 comments

Describe the bug I've set up EvoSC on a Trackmania server. I did not modify the configuration files created by default.

When connecting to the server, the interface element "Live ranking" is badly placed and passes over other elements of the interface. This problem persists during the whole match, and the widget position seems to be reloaded correctly when the next match starts.

Also, there is some text that seems to be options for administrators that overlays the chat time countdown, at the end of each match.

Expected behavior The elements should not overlap

To Reproduce

  1. Setup EvoSC with default config
  2. Connect to the server
  3. See bad widget placement during the current match
  4. Wait for the end of the match
  5. As Admin or MasterAdmin, see overlapping text on the chat timer

Screenshots/Logs

When I connect to the server: image

After the match has ended and the next map has been loaded: image

Overlapping text on timer during chat time, at the end of each match (only for admins): image

EvoSC

  • EvoSC-Version: 0.99.78
  • Game: TM2020

When using git (please complete the following information):

  • Current-Commit: 686d14609ad1b980f36ad14a143dd9e0474bf1c9

EmileCalixte avatar Jun 01 '22 16:06 EmileCalixte

Hi, yea, this is a thing we're aware of but don't really know how to fix. This happens for the first time our grid system is initialized, a simple /reset in chat should fix this.

Chris92de avatar Jun 01 '22 21:06 Chris92de

I can tell you what happens here as ive dealt with it myself: Manialinks are executed in parallel. Each module is it's own manialink. So when the modules sends their manialink to the clients, its all executed in parallel. The code that sorts the ui has race conditions with the slot values due to no synchronization. Sometimes /reset wont help either. This is also difficult to fix as maniascript doesn't really provide any way to synchronize these things. The whole setup would need to be re-done from scratch, and I think it would be better to do this in EvoSC# or something.

snixtho avatar Jun 02 '22 08:06 snixtho

I have added some counter-measures against it. It won't fix the problem but atleast align the UI properly after joining (hopefully).

araszka avatar Jun 04 '22 10:06 araszka