Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCVR (Rift) support #13

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Conversation

Lucky-Mic
Copy link

Currently not all available ovr functions are imlemented. Support for Initialize, Entitlement, Message, User and Achievements.

Michael Schmitz added 5 commits October 23, 2024 08:37
Currently not all available ovr functions are imlemented. Support for Initialize, Entitlement, Message, User and Achievements.
- Available functions are:
   - ovr_IsPlatformInitialized
   - ovrPlatformInitializeResult_ToString
   - ovr_GetLoggedInUserID
   - ovr_GetLoggedInUserLocale
   - ovr_Entitlement_GetIsViewerEntitled
   - ovr_Message_GetType
   - ovrMessageType_ToString
   - ovr_Message_IsError
   - ovr_Message_GetError
   - ovr_Message_GetRequestID
   - ovr_Message_GetPlatformInitialize
   - ovr_Message_GetUserAccountAgeCategory
   - ovr_Message_GetUser
   - ovr_Message_GetString
   - ovr_Error_GetMessage
   - ovr_PlatformInitialize_GetResult
   - ovr_UserAccountAgeCategory_GetAgeCategory
   - ovr_User_GetID
   - ovr_User_GetLoggedInUser
   - ovr_User_Get
   - ovr_User_GetDisplayName
   - ovr_User_GetOculusID
   - ovr_User_GetImageUrl
   - ovr_User_GetSmallImageUrl
   - ovr_UserAgeCategory_Get
   - ovrID_FromString
   - ovrID_ToString
   - ovr_FreeMessage
   - ovr_Achievements_AddCount
   - ovr_Achievements_AddFields
   - ovr_Achievements_Unlock
   - ovr_Achievements_GetAllDefinitions
   - ovr_Achievements_GetAllProgress
   - ovr_Achievements_GetDefinitionsByName
   - ovr_Achievements_GetProgressByName
   - ovr_Message_GetAchievementDefinitionArray
   - ovr_Message_GetAchievementProgressArray
   - ovr_AchievementProgressArray_GetElement
   - ovr_AchievementProgressArray_GetNextUrl
   - ovr_AchievementProgressArray_GetSize
   - ovr_AchievementProgressArray_HasNextPage
   - ovr_AchievementProgress_GetBitfield
   - ovr_AchievementProgress_GetCount
   - ovr_AchievementProgress_GetIsUnlocked
   - ovr_AchievementProgress_GetName
   - ovr_AchievementProgress_GetUnlockTime
   - ovr_Message_GetAchievementUpdate
   - ovr_AchievementUpdate_GetJustUnlocked
   - ovr_AchievementUpdate_GetName
   - ovr_AchievementDefinitionArray_GetElement
   - ovr_AchievementDefinitionArray_GetNextUrl
   - ovr_AchievementDefinitionArray_GetSize
   - ovr_AchievementDefinitionArray_HasNextPage
   - ovr_Achievements_GetNextAchievementDefinitionArrayPage
   - ovr_AchievementDefinition_GetBitfieldLength
   - ovr_AchievementDefinition_GetName
   - ovr_AchievementDefinition_GetType
   - ovrAchievementType_ToString
   - ovrAchievementType_FromString
   - ovr_AchievementDefinition_GetTarget
   - ovr_Achievements_GetNextAchievementProgressArrayPage
@Lucky-Mic
Copy link
Author

In my opinion the initialize_android and initialize_android_async should be renamed to initialize_platform and initialize_platform_async.

Michael Schmitz added 2 commits October 24, 2024 16:10
ovr_ApplicationLifecycle_GetLaunchDetails
ovr_ApplicationLifecycle_LogDeeplinkResult
ovr_LaunchDetails_GetDeeplinkMessage
ovr_LaunchDetails_GetDestinationApiName
ovr_LaunchDetails_GetLaunchSource
ovr_LaunchDetails_GetLaunchType
ovr_LaunchDetails_GetLobbySessionID
ovr_LaunchDetails_GetMatchSessionID
ovr_LaunchDetails_GetTrackingID
ovr_LaunchDetails_GetUsers
ovrLaunchType_ToString
ovrLaunchType_FromString
ovr_UserArray_GetElement
ovr_UserArray_GetNextUrl
ovr_UserArray_GetSize
ovr_UserArray_HasNextPage
ovr_Application_GetVersion
ovr_Message_GetApplicationVersion
ovr_ApplicationVersion_GetCurrentCode
ovr_ApplicationVersion_GetCurrentName
ovr_ApplicationVersion_GetLatestCode
ovr_ApplicationVersion_GetLatestName
ovr_ApplicationVersion_GetReleaseDate
ovr_ApplicationVersion_GetSize
Added for PCVR:
application_get_version
application_get_launch_details
@decacis
Copy link
Owner

decacis commented Oct 24, 2024

Hi Michael! Thank you for this. I haven't had the chance to test this yet, but at first glance it looks good.

There are only two things that I'd like to note:

First is that, I believe we still need the godot_oculus_platform_editor.cpp file. Maybe not for windows anymore, but there might be people that develop on a Mac or use Linux, and when they test from the Godot editor, it's good to at least have autocompletion for the functions and so on.

The other thing I'd like to see if you can do is to move the OVR_PlatformLoader_windows.cpp file maybe to the include folder under a subfolder named windows? Mainly because we have to include the LICENSE.txt file along with whatever comes with the oculus SDK.

@Lucky-Mic
Copy link
Author

Lucky-Mic commented Oct 25, 2024 via email

@Lucky-Mic
Copy link
Author

Lucky-Mic commented Oct 25, 2024 via email

@Lucky-Mic
Copy link
Author

Good news: I found a good solution with SCons for your second point:

I changed the SConstruct to generate a src/OVR_PlatformLoader.os from the source demo/addons/godot_oculus_platform/bin/windows/OVR_PlatformLoader.cpp.
I checked in this windows directory with LICENSE.txt now.
The OVR_PlatformLoader_windows.cpp includes the OVR_PlatformLoader.os now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants