userAlexcancel
reposboxcancel

704 Commits over 610 Days - 0.05cph!

5 Months Ago
Game Exporting (#1641)
5 Months Ago
Mount assembly filesystem here too
5 Months Ago
Mount assemblies from downloaded packages
5 Months Ago
Init API earlier Init API in unit tests
5 Months Ago
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 Revert formatting this entire file Add missing ctor Can export without having to disable whitelist Don't need loads of warnings here, people can read Unify terminology, icons Allow disabling whitelist on projects - prevents uploading to sbox.game, will only let you export
5 Months Ago
Allow disabling whitelist on projects - prevents uploading to sbox.game, will only let you export
5 Months Ago
Revert formatting this entire file Add missing ctor Can export without having to disable whitelist Don't need loads of warnings here, people can read Unify terminology, icons
5 Months Ago
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
5 Months Ago
Delete IconChanger, it don't work
5 Months Ago
Remove logs Respect desired executable name
5 Months Ago
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
5 Months Ago
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
5 Months Ago
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
5 Months Ago
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
5 Months Ago
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
5 Months Ago
would help if I labelled this correctly Init steamclient in standalone
5 Months Ago
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
5 Months Ago
Export option in Project menu
5 Months Ago
Exit whole app in standalone mode
5 Months Ago
Squash game-exporting branch Bring everything up to date
5 Months Ago
Add `position: relative` to devui console (fixes sbox-issues/issues/5817)
5 Months Ago
Split out VR input into multiple files, delete Finger
5 Months Ago
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
5 Months Ago
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
6 Months Ago
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
6 Months Ago
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
6 Months Ago
Remove VR suffixes from enums Split Input.Vr.cs out into separate files within a VR folder
6 Months Ago
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
6 Months Ago
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
6 Months Ago
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
6 Months Ago
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;`
6 Months Ago
VR: revert back to using grip pose because it's closer to what we want
6 Months Ago
VR haptic bindings VR: Use aim instead of grip pose for controller positions + update fpxr to 8839c8e
6 Months Ago
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
6 Months Ago
Use local space for VR render poses, update Facepunch.XR to c537b77
6 Months Ago
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?
6 Months Ago
Update poses for Facepunch.XR submit, prevents jittery and spongey tracking
6 Months Ago
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)
6 Months Ago
Update Facepunch.XR to 92bea5f Provide poses for Facepunch.XR submit, prevents jittery and spongey tracking
6 Months Ago
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
6 Months Ago
Initial VR scene for main menu https://files.facepunch.com/alexguthrie/1b2011b1/sbox_pKFaTyqkgq.png
6 Months Ago
OpenXR backend for VR (#1600)
6 Months Ago
Treat Facepunch.XR fail results as warnings Update Facepunch.XR to 1.0.0
6 Months Ago
Move from SteamVR over to Facepunch.XR Remove direct OpenXR bindings Pass debug callback to Facepunch.XR, make a session Move OpenXR requirements into Facepunch.XR Requirements are done automatically now, make instance/device extension format consistent Hack around extension-related crash for now Events Pass vulkan-related stuff in as structure Fetch rendering recommendations from fpxr Remove silly hack hard-coding all our extensions, fetch them properly Bind fpxr compositor and add everything we should need to start submitting FPXR: Session now handled by Compositor, Instance is now a class Delete all OpenVR files & references, stub out anything that required them Initial FPXR presentation logic Fetch display info from compositor Submit texture, render loop, etc. Use Facepunch.XR provided logging levels Pass bounds to texture submit info Default IPD (for testing with null driver) Facepunch.XR works out bounds for us, gives us full render target size separately from eye render target size Do BeginFrame() and EndFrame() on render thread Native to managed bindings cleanup, sync manually Sync cleanup, fpxr update Update fpxr FPXR returns error codes for various functions now, doesn't use builder pattern for instances FPXR enum update Initial XR input support Port SteamVR actions over to Facepunch.XR format, update fpxr lib Clean up When fetching extensions, check if we want to initialise rather than if we have initialised Clean up structs Digital, float, vector2 input state fetching DigitalAction -> BooleanAction, strip down input stuff, remove unnecessary refresh rate calculations Strip down input stuff, we can just do everything by path New actions manifest format FPXR update, new actions manifest path format, temporarily remove knuckles bindings Remove references to menu chord We don't have to worry about action sets right now Store controller bindings in separate files Rebase fixes Use input sources for controller differentiation Fetch controller poses (position & orientation) InputSource as enum, only include public fpxr headers Coordinate system fixes Remove openvr_api.lib dep, unused preprocessor definitions Facepunch.XR update Add openxr_loader pdb and dll Forgot to change these, oops Refactor VR input to work better for us, remove stubs Minor cleanup & fpxr update Fetch view info Use fpxr.h instead of old fpxr_public.h Remove unused native -> managed GetHmdMatrix function Implement world scale, tracked object list Only init with a debug messenger if launched with -vrdebug, remove some unused stuff Go through VR performance stats, obsolete everything we can't fetch (not sure there's much point keeping this at this stage 😅) Implement functions for Facepunch.XR get instance properties `vr_info` concommand cleanup, uses tracked objects from Input.VR Remove refs to obsolete VR performance stats Projection matrix calculation tweaks - need to figure out why we're getting squares (most likely incorrect frustum) Calculate our own proj matrix from scratch No more WaitGetPoses Input cleanup Vibrations fpxr update Obsolete VROverlay / VROverlayPanel (openxr has no direct concept) - we could re-implement these ourselves at a later date if we want to Re-implement or remove stubbed functions FPXR update Convert tracked object positions to world Delete SteamVR bindings and actions Valve knuckles bindings Update Facepunch.XR library
6 Months Ago
Convert tracked object positions to world Delete SteamVR bindings and actions Valve knuckles bindings Update Facepunch.XR library
6 Months Ago
No more WaitGetPoses Input cleanup Vibrations fpxr update Obsolete VROverlay / VROverlayPanel (openxr has no direct concept) - we could re-implement these ourselves at a later date if we want to Re-implement or remove stubbed functions FPXR update
6 Months Ago
Calculate our own proj matrix from scratch
6 Months Ago
Remove refs to obsolete VR performance stats Projection matrix calculation tweaks - need to figure out why we're getting squares (most likely incorrect frustum)
6 Months Ago
Use fpxr.h instead of old fpxr_public.h Remove unused native -> managed GetHmdMatrix function Implement world scale, tracked object list Only init with a debug messenger if launched with -vrdebug, remove some unused stuff Go through VR performance stats, obsolete everything we can't fetch (not sure there's much point keeping this at this stage 😅) Implement functions for Facepunch.XR get instance properties `vr_info` concommand cleanup, uses tracked objects from Input.VR
6 Months Ago
Fetch view info