979 Commits over 610 Days - 0.07cph!
Squash game-exporting branch
Bring everything up to date
Exit whole app in standalone mode
Export option in Project menu
CMaterialSystem2AppSystemDict uses struct for initialisation instead of parameters
Custom steam app ID for standalone games
Put steam appid field here for now - we might wanna rethink this later though
would help if I labelled this correctly
Init steamclient in standalone
Explicit copy sounds
Reject API access in Standalone (we should probably dependency inject this stuff, it'd be cleaner)
Slightly better time estimate
Generate .ico from thumbnail, try changing it on the exe
Can't get this working no matter what, just corrupts the exe header, disable it
Use correct exit function
Get networking working, even if it's a bit hacky
Move API into backends for standalone/platform, stub out standalone backend
Standalone.Init()
Get rid of LoadStandaloneGameAsync, roll diff into LoadGamePackageAsync
Make a StandaloneGameInstance in standalone
Remove all these file hacks so I'm forced to do something to fix them
Fix file hacks
Add missing sbox-standalone exe back to sln
We only need to copy core/scripts/soundmixers.txt as far as I know
Move gamecontrollerdb.txt into core/cfg/
Get rid of `IsCitizenEnabled` hack
Don't override window title with gameinfo name, apply it nice and early when making app dict
Can't think of any other way to filter out citizen assets, cuts down build by 1.8gb(!) so we'll have to live with this for now
Copy all compiled assets from enabled addons again, because sometimes they'll be referenced at runtime even though they're not in a dependency tree
Rebase fixes
Standalone config / wizard changes:
- Can either export standalone or publish to sbox.game, but not both
- Add dialog warning about no whitelist, sbox.game access
- Export step is similar to sbox.game upload rather than being its own thing
- Tell people not to distribute their games or anything
- Remove AppID, Icon entries for now
Remove logs
Respect desired executable name
Delete IconChanger, it don't work
Delete IconChanger, it don't work
Remove logs
Respect desired executable name
Rebase fixes
Standalone config / wizard changes:
- Can either export standalone or publish to sbox.game, but not both
- Add dialog warning about no whitelist, sbox.game access
- Export step is similar to sbox.game upload rather than being its own thing
- Tell people not to distribute their games or anything
- Remove AppID, Icon entries for now
Squash game-exporting branch
Bring everything up to date
Exit whole app in standalone mode
Export option in Project menu
CMaterialSystem2AppSystemDict uses struct for initialisation instead of parameters
Custom steam app ID for standalone games
Put steam appid field here for now - we might wanna rethink this later though
would help if I labelled this correctly
Init steamclient in standalone
Explicit copy sounds
Reject API access in Standalone (we should probably dependency inject this stuff, it'd be cleaner)
Slightly better time estimate
Generate .ico from thumbnail, try changing it on the exe
Can't get this working no matter what, just corrupts the exe header, disable it
Use correct exit function
Get networking working, even if it's a bit hacky
Move API into backends for standalone/platform, stub out standalone backend
Standalone.Init()
Get rid of LoadStandaloneGameAsync, roll diff into LoadGamePackageAsync
Make a StandaloneGameInstance in standalone
Remove all these file hacks so I'm forced to do something to fix them
Fix file hacks
Add missing sbox-standalone exe back to sln
We only need to copy core/scripts/soundmixers.txt as far as I know
Move gamecontrollerdb.txt into core/cfg/
Get rid of `IsCitizenEnabled` hack
Don't override window title with gameinfo name, apply it nice and early when making app dict
Can't think of any other way to filter out citizen assets, cuts down build by 1.8gb(!) so we'll have to live with this for now
Copy all compiled assets from enabled addons again, because sometimes they'll be referenced at runtime even though they're not in a dependency tree
Can't think of any other way to filter out citizen assets, cuts down build by 1.8gb(!) so we'll have to live with this for now
Copy all compiled assets from enabled addons again, because sometimes they'll be referenced at runtime even though they're not in a dependency tree
Use correct exit function
Get networking working, even if it's a bit hacky
Move API into backends for standalone/platform, stub out standalone backend
Standalone.Init()
Get rid of LoadStandaloneGameAsync, roll diff into LoadGamePackageAsync
Make a StandaloneGameInstance in standalone
Remove all these file hacks so I'm forced to do something to fix them
Fix file hacks
Add missing sbox-standalone exe back to sln
We only need to copy core/scripts/soundmixers.txt as far as I know
Move gamecontrollerdb.txt into core/cfg/
Get rid of `IsCitizenEnabled` hack
Don't override window title with gameinfo name, apply it nice and early when making app dict
Explicit copy sounds
Reject API access in Standalone (we should probably dependency inject this stuff, it'd be cleaner)
Slightly better time estimate
Generate .ico from thumbnail, try changing it on the exe
Can't get this working no matter what, just corrupts the exe header, disable it
would help if I labelled this correctly
Init steamclient in standalone
CMaterialSystem2AppSystemDict uses struct for initialisation instead of parameters
Custom steam app ID for standalone games
Put steam appid field here for now - we might wanna rethink this later though
Export option in Project menu
Exit whole app in standalone mode
Squash game-exporting branch
Bring everything up to date
Don't implicitly lerp torque
Use rigidbody space for up/down
Add `position: relative` to devui console (fixes sbox-issues/issues/5817)
Split out VR input into multiple files, delete Finger
VR: Calculate tracked object velocities
VR: Call UpdateHaptics() on VR controller
VR: Only offset for skeletal hand poses - not for raw /input/grip/pose data
VR: Add Delta to DigitalInput - WasPressed works as intended, but isn't the same as a delta, so maybe this is helpful?
VR: Might as well obsolete these while I'm here
Initial commit
Minor tweaks
Wheel radius
Clean up
Initial VR scene for main menu
https://files.facepunch.com/alexguthrie/1b2011b1/sbox_pKFaTyqkgq.png
UI: Fix worldpanel depth issues, treat worldpanel roots as layers
Render VR menu at 4k, scale down to fit
Basic VR world input component, menu works properly
https://files.facepunch.com/alexguthrie/1b2511b1/Desktop%202024.06.25%20-%2015.51.37.05.mp4
Line hands up better in VR menu scene
Quick little test map just so I'm not staring at an orange texture
VR: Get skeletal data from OpenXR
VR: Match controller positions with SteamVR ones, which better represent where the controller is
VR Input cleanup
Update Facepunch.XR to d7212d3, fixes broken digital actions
InputBooleanActionState state is uint32_t for interop
Detect hand tracking, if not available (meta runtime) fallback to /input/grip/pose
Update Facepunch.XR to 915dcf5
Fix poses not working if you didn't have fully tracked hands
Save off system properties when we make the system
Debug utils extension is optional, only do hand tracking stuff if we have it supported
Log enabled API layers
Don't exit immediately on fail, becomes confusing
Remove VR suffixes from enums
Split Input.Vr.cs out into separate files within a VR folder
Update menu scene
Hand tracking elements
Pull velocity up into TrackedObject, calculate manually
Move input related enums into their own files
VRController -> TrackedController
Remove TrackedControllerType, HMDType - not supported by OpenXR
VR anchor sets Input.VR.Scale based on transform scale (so that IPD matches)
Remove `Finger`, `FingerValue` already exists
Initial support for skeletal data, supports both SteamVR skeleton estimate (controllers) and full hand tracking (leap motion, virtual desktop)
https://files.facepunch.com/alexguthrie/1b0311b1/Desktop%202024.07.03%20-%2018.56.33.85.mp4
Add support for finger curls, update Facepunch.XR to 98dab99
Hand joint data
Obsolte VR Model Renderer
Initial support for full hand skeleton on VR Hand component
Rename VRHand to VRHandSkeleton
Hand tracking support
Emulate finger curl by calculating distance between palm and finger tip bones
Add support for optional extensions, e.g. XR_EXT_hand_tracking
Initial VR scene for main menu
https://files.facepunch.com/alexguthrie/1b2011b1/sbox_pKFaTyqkgq.png
Remap worldpanel depth correctly, fixes depth issues
Treat worldpanels as layers
Render VR menu at 4k, scale down to fit
Basic VR world input component, menu works properly
https://files.facepunch.com/alexguthrie/1b2511b1/Desktop%202024.06.25%20-%2015.51.37.05.mp4
Update Facepunch.XR to 92bea5f
Provide poses for Facepunch.XR submit, prevents jittery and spongey tracking
Line hands up better in VR menu scene
Quick little test map just so I'm not staring at an orange texture
Init package string table before loading menu
Main menu panel has background if running in VR
Update map, add references (ideally we should be shipping these with the game, but this is easier to iterate with)
Update Facepunch.XR to 8839c8e
Remove unused InputSource and InputSourceHandle properties on TrackedDevice
Make headset a tracked object, means it can appear in Input.VR.TrackedObjects & matches controllers
Changes the API without breaking it, e.g.:
`var headTransform = Input.VR.Head;`
becomes:
`var headTransform = Input.VR.HMD.Transform;`
VR: revert back to using grip pose because it's closer to what we want
VR haptic bindings
VR: Use aim instead of grip pose for controller positions + update fpxr to 8839c8e
Update Facepunch.XR to 8d9bfbf, re-work pose submit
Save off the exact same poses we get from Facepunch.XR when syncing + only call beginframe/endframe/sync if we're rendering in VR
Use one single space for everything (stage space), move some stuff into sync()
Use local space for VR render poses, update Facepunch.XR to c537b77
Use local space instead of stage space for view locate & layer composition
Update Facepunch.XR to e0d5682, makes it so that we use local space for headset view/projection rather than stage space
Might help fix things on SteamVR headsets that use SteamVR for room-scale tracking?
Use local space for headset view/projection rather than stage space
Update poses for Facepunch.XR submit, prevents jittery and spongey tracking
Line hands up better in VR menu scene
Quick little test map just so I'm not staring at an orange texture
Init package string table before loading menu
Main menu panel has background if running in VR
Update map, add references (ideally we should be shipping these with the game, but this is easier to iterate with)
Update Facepunch.XR to 92bea5f
Provide poses for Facepunch.XR submit, prevents jittery and spongey tracking
Applications must provide poses manually when submitting (to ensure accurate reprojection)
Remap worldpanel depth correctly, fixes depth issues
Treat worldpanels as layers
Render VR menu at 4k, scale down to fit
Basic VR world input component, menu works properly
https://files.facepunch.com/alexguthrie/1b2511b1/Desktop%202024.06.25%20-%2015.51.37.05.mp4
Initial VR scene for main menu
https://files.facepunch.com/alexguthrie/1b2011b1/sbox_pKFaTyqkgq.png
OpenXR backend for VR (#1600)