SFTtech / openage

Free (as in freedom) open source clone of the Age of Empires II engine 🚀
http://openage.dev
Other
12.51k stars 1.11k forks source link

Can't start the game after asset conversion due to missing Qt platform plugin on Windows 10 #1650

Open C3pa opened 1 month ago

C3pa commented 1 month ago

While trying to run the game on Windows 10, with this command:

python -m openage --add-dll-search-path C:\Users\Vlasnik\openage\build\libopenage\RelWithDebInfo --add-dll-search-path C:\Users\Vlasnik\nyan\build\nyan\RelWithDebInfo  --add-dll-search-path C:\Users\Vlasnik\AppData\Local\Programs\Python\Python311 game --modpacks aoe2_base

It errors out with:

INFO [py] launching openage v0.5.3-187-g36e39076
INFO [py] compiled by MSVC 19.39.33523.0
INFO [py] running in DEVMODE
INFO [py] openage nyan API modpack is up to date
INFO [py] Found modpack aoe2_base
INFO [py] Found modpack engine
INFO loading configuration files...
INFO [py] loading config file [Union(Directory(C:/Users/Vlasnik/openage\cfg).root @ (b'cfg',), <openage.util.fslike.union.Union object at 0x000002339C953C50>.root @ (b'assets',))]:cfg/keybinds.oac...
INFO launching engine with root directoryPath(Union(Directory(C:/Users/Vlasnik/openage\cfg).root @ (b'cfg',), <openage.util.fslike.union.Union object at 0x000002339C953C50>.root @ (b'assets',)):)
INFO loading configuration files...
INFO [py] loading config file [Union(Directory(C:/Users/Vlasnik/openage\cfg).root @ (b'cfg',), <openage.util.fslike.union.Union object at 0x000002339C953C50>.root @ (b'assets',))]:cfg/keybinds.oac...
INFO Found modpack: aoe2_base
INFO Found modpack: engine
INFO Created game simulation
INFO Activated modpack: engine
INFO Activated modpack: aoe2_base
INFO Using 3 threads (4 available)
INFO [T1] Time loop started
INFO [T2] Presenter: Launching subsystems...
INFO [T2] Presenter: Initializing graphics subsystems...
INFO Loading .nyan file: engine/ability/property/type.nyan
INFO Loading .nyan file: engine/util/lock.nyan
INFO Loading .nyan file: engine/ability/property.nyan
WARN [T2] Could not find the Qt platform plugin "windows" in ""
INFO Loading .nyan file: engine/util/animation_
![1](https://github.com/SFTtech/openage/assets/41503714/6883ebae-f386-4cc1-875a-ef92b2e38602)
override.nyan
CRIT [T2] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Here are some things I have stumbled upon, but still, I can't fix the issue:

  1. Somebody else had the same issue in a Python project using Qt: https://stackoverflow.com/questions/41994485/how-to-fix-could-not-find-or-load-the-qt-platform-plugin-windows-while-using-m. They suggest setting QT_PLUGIN_PATH environment variable.
  2. I suppose the error is about missing qwindows.dll file (as mentioned in one of the answers to the linked StackOverflow thread). If it helps, when installing dependencies in the way described in the docs, that file is found at: C:\vcpkg\buildtrees\qtbase\x64-windows-rel\Qt6\plugins\platforms\qwindows.dll.
  3. Finally, it may not be required, but here I provided a gif that shows the directory structure of another program using Qt (that has qwindows.dll): 1

Moved from #1644.

heinezen commented 1 month ago

Can you try setting QT_QPA_PLATFORM_PLUGIN_PATH to C:\vcpkg\buildtrees\qtbase\x64-windows-rel\Qt6\plugins\platforms\?

C3pa commented 1 month ago

Ok, after setting that, I don't get the error anymore. A window briefly shows up and then closes. Here is the log output:

out.txt

This is how to window looks:

1

heinezen commented 1 month ago

Ok we are slowly getting to the root of the problem :D

heinezen commented 1 month ago

I think this is caused by a file load, specifically the loading of the placeholder animation for missing textures. Now I only have to find out why it fails...