OpenVR support plus some fixes #45

Yolo'd
dsc merged 15 commits from dsc/wowlet:openvr-qml-windows into master 4 months ago
dsc commented 4 months ago
Owner

So here is a rather large PR, it adds OpenVR integration to wowlet via an alternative QtQuick (QML) interface on windows that acts as a SteamVR overlay. The feature is in src/vr and is only compiled/included when passing the -DOPENVR=ON CMake definition, so for Linux/MacOS compilations there are no changes needed to the build system (famous last words).

This feature was made with the input from a VR community that likes to hang out in VRChat and go to "VR parties" (yes, with DJs and stuff). The idea is that such communities can now tip eachother whilst staying in-game =D

https://i.imgur.com/4EZ7i4L.png

deps/build

For the Windows dockerfile, there have been some changes to CMake and Dockerfile.windows to facilitate QML apps:

  • Compile Qt with some more components like "QtQuick, QtMultimedia, QtQML, QuickControls2" and so on.
  • Introduce QML and OPENVR definitions.
  • Introduce libpng and libzlib dependencies

2 new external libs were added to the project itself (in contrib/)

  • quirc via submodule (QR code scanning)
  • Valve OpenVR (vendored because a bunch of patches were neccesary to get it to compile)

The app

The QML app can be found in src/vr/qr/. It is loosely based on OpenVR-AdvancedSettings and is made as a SteamVR overlay.

You may send people money in 2 ways:

  • By looking at a QR code in-game and scanning it. src/vr/QR-Code-scanner
  • By talking to your recipient via chat and giving them a 4 digit code (10min expiry). wowlet-backend:wsparse.py

In addition, the interface also has the ability to:

  • Open regular Wownero wallets you already have
  • Create Wownero wallets
  • Show your balance in fiat
  • Send Wownero by specifying the amount in fiat
  • Streamer mode (hide balance)
  • Support for themes (default and WOW theme included currently) - see src/vr/assets/themes.json
  • Copy receiving address to clipboard
  • Save QR code image to disk

So, it's a fully fledged wallet for virtual reality.

This allows people to tip eachother in-game and/or game developers to integrate Wownero payments in the core gameplay of their games.

This PR has been tested for 2 weeks now - The normal, QtWidgets interface works just fine. The QML interface (VR) can be considered Beta, but it's useable.

Additional changes

  • Tor has been updated
  • FeatherSeed has been fixed
  • The websocket server has been updated (this fixes fiat price lookups / suchwow images / adds more remote nodes)

To-do:

  • Check if Linux still builds
  • Check if Mac OS still builds
  • Rebase PR
So here is a rather large PR, it adds OpenVR integration to wowlet via an alternative QtQuick (QML) interface on windows that acts as a SteamVR overlay. The feature is in `src/vr` and is only compiled/included when passing the `-DOPENVR=ON` CMake definition, so for Linux/MacOS compilations there are no changes needed to the build system (famous last words). This feature was made with the input from a VR community that likes to hang out in VRChat and go to "VR parties" (yes, with DJs and stuff). The idea is that such communities can now tip eachother whilst staying in-game =D ![https://i.imgur.com/4EZ7i4L.png](https://i.imgur.com/4EZ7i4L.png) ## deps/build For the Windows dockerfile, there have been some changes to CMake and `Dockerfile.windows` to facilitate QML apps: - Compile Qt with some more components like "QtQuick, QtMultimedia, QtQML, QuickControls2" and so on. - Introduce `QML` and `OPENVR` definitions. - Introduce `libpng` and `libzlib` dependencies 2 new external libs were added to the project itself (in `contrib/`) - quirc via submodule (QR code scanning) - Valve OpenVR (vendored because a bunch of patches were neccesary to get it to compile) ## The app The QML app can be found in `src/vr/qr/`. It is loosely based on [OpenVR-AdvancedSettings](https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings) and is made as a SteamVR overlay. You may send people money in 2 ways: - By looking at a QR code in-game and scanning it. `src/vr/QR-Code-scanner` - By talking to your recipient via chat and giving them a 4 digit code (10min expiry). [wowlet-backend:wsparse.py](https://git.wownero.com/wownero/wowlet-backend/src/commit/39845238fc0ef671b2f54bdb231302afb041505d/wowlet_backend/wsparse.py#L47-L133) In addition, the interface also has the ability to: - Open regular Wownero wallets you already have - Create Wownero wallets - Show your balance in fiat - Send Wownero by specifying the amount in fiat - Streamer mode (hide balance) - Support for themes (default and WOW theme included currently) - see `src/vr/assets/themes.json` - Copy receiving address to clipboard - Save QR code image to disk So, it's a fully fledged wallet for virtual reality. This allows people to tip eachother in-game and/or game developers to integrate Wownero payments in the core gameplay of their games. This PR has been tested for 2 weeks now - The normal, QtWidgets interface works just fine. The QML interface (VR) can be considered Beta, but it's useable. ## Additional changes - Tor has been updated - `FeatherSeed` has been fixed - The websocket server has been updated (this fixes fiat price lookups / suchwow images / adds more remote nodes) ## To-do: - Check if Linux still builds - Check if Mac OS still builds - Rebase PR
dsc added 13 commits 4 months ago
Owner
ping @chad-thundercock
dsc added 2 commits 4 months ago
dsc added 15 commits 4 months ago
dsc force-pushed openvr-qml-windows from a5f3b915e5 to 8962c3f940 4 months ago
dsc added 15 commits 4 months ago
dsc merged commit c82cad87fa into master 4 months ago
The pull request has been merged as c82cad87fa.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This pull request currently doesn't have any dependencies.

Loading…
There is no content yet.