4,791 Commits over 1,371 Days - 0.15cph!
Trick to only play sound to local player
Some cleanup. Additional IsHost checks in some places / asserts. Fixed BallType not being assigned properly when potting first ball. Ball render alpha is networked / serialized.
Set startup scene. Fixed NRE in PlayerDisplay. Can use [Authority] for PoolBall.TryMoveTo now
In OnTargetedMessage if the TargetId is Guid.Empty, assume it's for us (this may happen if we're using OwnerId as the Target, but the "owner" is the host)
Send actual connection id instead of checking steam id as fixes local testing
Fix white ball placement, disable cue renderer when appropriate to hide it
Fix toasts not showing up
Make some vars private
Cleanup
Update player's BallType in INetworkSerializable.Read/Write
Move white ball move logic
Started porting over UI. Start implementing game logic for turns and potting logic. Try to network as much as possible right now - some hacky bits in the mean time.
Fix NRE when calling [Authority] RPC but authority is the host
Add PoolPlayer, BallPocket, add pocket triggers to table
When two players have joined it'll spawn balls (networked), cue (networked), and assign cue to first player for now.
Fix shot strength fps variable
Set substeps, adjust damping, enforce ball z velocity - try to lock balls to axis, collision start event for sounds later
Add GameManager. Update physics props of ball / table. Set some sort of sensible angular and linear damping of balls for now
Add PoolCue component - do basic logic for cue shot
Make 'em a bit translucent
PoolBallSpawn uses Gizmo to render in editor - add hitbox, set material group etc.
Add pool ball spawn component - ball prefab... setup (roughly) spawns in scene, bring over old enums
OnTagsChannged -> OnTagsChanged
Random force component test + add rigidbody to the model collider objects
Make a really thin box collider for the middle felt
Setup camera and colliders (this may not work off the bat)
Remove old lounge_v2
Add pool_lounge reference map
Add pool.scene and start assembling the table
Assembled table mostly except felt marking (white ball line), regular ball area
Initial commit - import materials, models, map, sounds and ui textures
Fix [Broadcast] requiring `using System;` statement in file
Squashed commit of the following:
commit 04050373a0633a5122791133885299c358f4b0eb
Merge: 577fcd3fec 2fd2d4d278
Author: kurozael <kurozael@gmail.com>
Date: Wed Dec 6 13:32:00 2023 +0000
Merge branch 'master' into codegen-struct-arg
commit 577fcd3fec861bb7f6cbde51621bbcd1558f2ff3
Author: kurozael <kurozael@gmail.com>
Date: Wed Dec 6 07:39:32 2023 +0000
Update CodeGenerator unit tests for new stuff
commit 64f62b40059c7d3ba16a373a1420401f6d79e2a6
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 15:57:11 2023 +0000
Readonly ref for Wrapped structs. Store Identity on MemberDescription. virtual method for generating identity hash, override it for MethodDescription... store global lookup for member idents. Add TypeLibrary.GetMemberByIdent. Clear members for types when assembly removed
commit 6c14f5b5784fb490e2a73c49a987df8087c8f4e6
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 15:24:45 2023 +0000
Added typeparam docs for T in WrappedPropertySet/Get and WrappedMethod
commit b9dbf0592cee5b4ae091670b592ace183722fb5b
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 15:21:17 2023 +0000
Typo
commit 52253bee1e373d09adc7be59b3e8669f93cb1caf
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 15:20:26 2023 +0000
Unused params
commit 0ff3451a31caa63537c9559e0bc59243352f8c3e
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 15:09:40 2023 +0000
Add TypeDescription.GetMethodByIdent, fix array param types not matching from codegen + methoddescription hash
commit e251f3fc500252431683c9a36de704cdfe8cc298
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 10:38:36 2023 +0000
Add support for codegen to pass methodidentity in struct, and split typename from methodname and add IsStatic as well to help differentiate properly
commit 55c6710de87bb61c1eb7e141a4bc8961b67cfcc1
Author: kurozael <kurozael@gmail.com>
Date: Tue Dec 5 10:37:43 2023 +0000
MethodDescription.Identity built from return type, name, params but not fully qualified rn as hard to correlate with results from ITypeSymbol in codegen
commit 7b0d25a70a0f8ee7afac0252c6dcf0338582e0db
Author: kurozael <kurozael@gmail.com>
Date: Mon Dec 4 13:30:18 2023 +0000
Initial commit / struct names not finalized
Update rpc and MakeDirtyAttribute callbacks to use new codegen structs. Authority rpcs and static rpc support
Assets for createwrappedmethod
These methods will need to be protected (comment with why)
Make `ListView.ItemAlign = Align.SpaceBetween` work better, especially when there's not enough items to fill a row
Add r_depth_debug to visualize the depth buffer
Fix EnumControlWidget for [Flags] enums
Before: https://files.facepunch.com/ziks/1b0411b1/flags-before.mp4
After: https://files.facepunch.com/ziks/1b0411b1/flags-after.mp4
Citizen: improved 'Land_Standing' animation & removed old 'Land' animation from VMDL/files
Citizen: improved 'Land_Movement_N' animation, & fixes it potentially causing weird IK leg flips in some movement animations
Citizen: perform a post-motion-extraction offset on the sprint anims, to get the center-of-mass & pivot point feel better during turns, and blending in general
New Outfit Piece - Fisherman Jumpsuit
LODs and Skinning adjustments coming asap!
Add PhysicsBody.GetLerpedTransform
Add PhysicsBody.SmoothMove
sceneanimatableobject sets physics bone positions on non animated models too
Fix skinned mesh bounds being fucked (although this needs another look later on)
Rotation.SmoothDamp is static
Add SmoothMove.SmoothMove which takes a transform, does rotation too
Cleanup failed experiment
Remove r_depth_prepass option, we should always be doing it as part of forward+
Depth class uses the pre-resolved depth chain from the prepass instead of trying to sample an MSAA buffer, which was never working on certain MSAA levels and would've required a combo and loads of extra bullshit to do.
Fix api break
Up Engine API version
Pass engine version how web expects it when searching for packages
depthresolve uses min of all msaa samples
Update izabu and add my changes
Render menu
Fix rendering `RootPanel`s in VR: separate out `IsWorldPanel` from `RenderedManually`
Clear attributes after popping a layer when rendering UI
Izabu: Fix RemoveContacts skipping the first contact, fixes old contact hanging around sometimes when joint collision is disabled
TreeView shift multi select works as expected
Add MultiSerializedObject
Clean inspector creation
Fix mistakes
Widget contenthash should be ready to update straight away
Multi edit support in a bunch of ControlWidgets
Let's get rid of all the GameSetting/PackageSetting convar stuff now (#1375)
Completely strip Saved Game functionality - re-evaluate if this is actually needed or something we want later on with the scene system though most likely easy enough for people to just do themselves now (#1374)
Disable tests that load games or addons for now. Closes #1376
Disable TestGamemode unit test and game and extension templates unit tests
Go through code looking for painday comments and try to sort them out (#1377)
* Go through code looking for painday comments and try to sort them out
* Readonly get
Clear all [Obsolete] for a fresh slate (#1378)
* Clear a bunch of [Obsolete] stuff
* Remove obsolete template element override
Disable tests testing against package.facepunch.platformer.dll and package.facepunch.sandbox.dll for now
Disable test for package.facepunch.sandbox.dll Should_Pass
Disable 2 more tests that will be broken right now
Merge branch 'master' into codegen-struct-arg
AnimatedModelComponent => SkinnedModelRenderer, ModelComponent => ModelRenderer
DecalRenderer component assumes we're using the new decal shader, has some settings
Add decal test scenne
Add some simple decals
Add decal prefab
SkinnedModelRenderer derives from ModelRenderer
Added OnTagsChanged, tags cascade to child objects
Tags show differently depending on whether they're inherited or not
Fix missing player in volume fog scene
Batch component callbacks nicer
CallbackBatch deals with calling adding inside execute
Make CallbackBatch awesomer
Cleanup
Make OnValidate protected
FixedUpdate renamed to OnFixedUpdate, made protected, don't call in editor unless ExecuteInEditor
Update renamed to OnUpdate, made protected
OnStart is protected
Unit test fix
Made everything else protected
Fix model not getting updated in ModelRenderer
Fix GetComponents getting components of disabled GameObjects
Fixed children gameobjects not disabling properly
Put a decal in the volume fog cave
Moved HeaderBar folder up one to remove Editor directory warning
Move Component access to a class, so we can use the same from Components without twinning methods
GetComponent => Components.Get etc
Rename Components.Add to Components.Create
Tweaks Components.Get/GetAll so they can take flags to filter instead of the two bools
Reverse the disable condition in ForEachChild to match new Component default
Add GetOrCreate
Add component.OnLoad - allows a component to keep the loading screen open while it's doing stuff (in theory)
Show loading screen when loading scene
Update the skinned meshes in order when parented
Fix undo json max depth
Fix ComponentList not updating
Fix undo breaking with too much depth
Update component template to match new API
Hierarchy tree doesn't swallow shortcuts when focused
Stop using emoji for create object menu, everyone hates it except me
Scene hook system, convert Animation and Physics to use hook system
Add Scene.GetAllComponents<T> (fast path)
PostProcessers can use this shortcut to get their camera
Rename SoundListenerComponent to AudioListener
Sound.Listener defaults to camera position
Soundscape component
Sound Point test
soundscape box shape
box shape in soundscape scene
Sound Box component + scene
correct path for box sound component
Rename SceneHook to GameObjectSystem
Fix components not getting unregistered on destroy
Add Scene.Trace, HitboxGroup (heaby work in progress)
Add AnimationHelper.WithWishVelocity to example playercontroller
Add Scene.GetSystem<T>
Fix opening all menus as modal
Add BaseComponent.OnDirty, [MakeDirty] property attribute
Add GameObjectSystem.ITraceProvider
Remove CameraPhysicsDebug from menu camera 🤦
Hitbox components, Hitbox System
PlayerController faces the direction of the camera when spawning
CameraPhysicsDebug does its traces in a thread
Joint components
ModelPhysics creates ragdolls propertly
Grabber uses new SmoothMove
Cleanup
Fix sound scene description
Joints grab body from keyframe collider if all else fails
Joints test scene https://files.facepunch.com/layla/1b0511b1/sbox.2023.12.05.13.20.39.mp4
Joint scene name + description
Fixed SkinnedModelRenderer bugs when multiple on same GameObject
Fix CharacterControllerHelper getting stuck along multiple planes
With a few small changes to read closer to the original source
Hinge center and axis use game object transform instead of properties
Do the same for slider axis
Fix incorrect hinge gizmo drawing
GameObjectInspector, start multi edit
GameObjectInspector support adding components to multiple gameobjects at once
Handle component multi-select
Component/GameObject ControlWidget multi edit support
Update to consider removed painstuff / obsolete
Merge branch 'main' into staticrpc-authorityrpc
Disable 2 more tests that will be broken right now
Disable tests testing against package.facepunch.platformer.dll and package.facepunch.sandbox.dll for now
Disable test for package.facepunch.sandbox.dll Should_Pass
Clear all [Obsolete] for a fresh slate (#1378)
* Clear a bunch of [Obsolete] stuff
* Remove obsolete template element override
Remove obsolete template element override
Clear a bunch of [Obsolete] stuff
Update to consider removed painstuff / obsolete
Go through code looking for painday comments and try to sort them out (#1377)
* Go through code looking for painday comments and try to sort them out
* Readonly get
TreeView shift multi select works as expected
Add MultiSerializedObject
Clean inspector creation
Fix mistakes
Widget contenthash should be ready to update straight away
Multi edit support in a bunch of ControlWidgets
Let's get rid of all the GameSetting/PackageSetting convar stuff now (#1375)
Completely strip Saved Game functionality - re-evaluate if this is actually needed or something we want later on with the scene system though most likely easy enough for people to just do themselves now (#1374)
Disable tests that load games or addons for now. Closes #1376
Disable TestGamemode unit test and game and extension templates unit tests
Merge branch 'master' into painday-cleanup
Disable TestGamemode unit test and game and extension templates unit tests
Disable tests that load games or addons for now. Closes #1376
Completely strip Saved Game functionality - re-evaluate if this is actually needed or something we want later on with the scene system though most likely easy enough for people to just do themselves now (#1374)
TreeView shift multi select works as expected
Add MultiSerializedObject
Clean inspector creation
Fix mistakes
Widget contenthash should be ready to update straight away
Multi edit support in a bunch of ControlWidgets
Let's get rid of all the GameSetting/PackageSetting convar stuff now (#1375)
Merge branch 'master' into remove-savedgames
Let's get rid of all the GameSetting/PackageSetting convar stuff now (#1375)
Go through code looking for painday comments and try to sort them out
Let's get rid of all the GameSetting/PackageSetting convar stuff now
Completely strip Saved Game functionality - re-evaluate if this is actually needed or something we want later on with the scene system though most likely easy enough for people to just do themselves now
Update CodeGenerator unit tests for new stuff