overte-org / overte

Overte open source virtual worlds platform.
https://overte.org/
Other
128 stars 47 forks source link

Refactor Application.cpp #939

Open HifiExperiments opened 2 months ago

HifiExperiments commented 2 months ago

Closes #931

(apologies to whoever reviews this)

Application.cpp has gotten totally out of control over the years (in many cases because of my dumb decisions). This is an attempt to corral it. I've organized the code as best I could into sections - Assets, Camera, Entities, Events, Graphics, Plugins, Setup, and UI - and divided the implementations into separate, smaller files. I completely rebuilt the includes from scratch so we only have what's necessary. I broke some of the classes into their own files. Overall, I changed very little functionally. I removed a few unused variables and functions but nearly everything is directly copy-pasted.

Testing-wise, things should just work as before. In particular, anything related to startup, login UI, and plugins.

Funding

This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

HifiExperiments commented 2 months ago

hm

/__w/overte/overte/interface/src/scripting/PerformanceScriptingInterface.cpp:14:10: fatal error: QtQML: No such file or directory
   14 | #include <QtQML>
      |          ^~~~~~~

I'll look into that...

ksuprynowicz commented 3 weeks ago

I'm also having trouble building it on Linux using Overte-builder: image

ksuprynowicz commented 2 weeks ago

I tested it on Windows, and it asks to log in every time. A different than usual login screen is used for this: overte-snap-by--on-2024-06-15_15-10-47 Kraftwerk world becomes entirely white after skybox loads:

overte-snap-by--on-2024-06-15_15-02-21 No audio devices are detected: obraz

ksuprynowicz commented 2 weeks ago

It also seems that login screen that it uses in VR is intended for desktop?

ksuprynowicz commented 2 weeks ago

The good thing about that different login screen though is that it has option to continue anonymously. Ours is badly missing this.

HifiExperiments commented 1 week ago

I believe I've fixed the audio device issue. for the login screen, it turns out I had accidentally deleted _disableLoginScreen which was always set to true. so whatever that fullscreen login page was for, it appears to have been disabled intentionally at some point. I've re-disabled it to just avoid messing with stuff, but maybe we should look into re-enabling it properly at some point. I'm not sure if this also fixed the VR login screen, if that's still a problem could you send me a screenshot?

I wasn't able to reproduce the issue in kraftwerk; I wonder if the download got corrupted or something? does it still happen if you clear your caches, including ktx cache?