5,121 Commits over 1,552 Days - 0.14cph!
Make default gamemode sbdm
Build-Game does build instead of rebuild
Latest tools
Added PhysicsGroup.Pos, .MassCenter
Switch to SpectateRagdollCamera on killed
CodeGen: Fix RPC with no args
BecomeRagdollOnClient is an RPC that is called on killed
Added Entity.SetRagdollVelocityFrom( ent ) // revisit: maybe this should be on a RagdollHelper class or something rather than Entity where it won't ve usable 99% of the time
Added PhysicsBody.AngularVelocity
Added Transform.TransformVector( localvec )
Set ragdoll bone velocity, angular velocity based on parent animation
InteropGen: generate GetManagedHandle to convert a class to a handle while dealing with nulls
Added Transform constructor
Added ModelEntity.GetBonePhysicsBody( boneid )
Added ModelEntity.ComputeBones( timeoffset )
Codegen
Enable fog entities that were ifdef'd out
Create a UI render layer and call into managed from render thread
Exploring binding of IRenderContext
Added Entity.IsClientOnly
Throw an exception if trying to delete an entity clientside and it's not a client only entity
HandleManager keeps a list of all the IHandleIndex'es and Clears them all at the end of the game
Added GameLoop.LoopShutdown
remove Debug
Ragdoll test
Fixed camera lerping when switch to FirstPersonCamera
Remove Unused
Fixed server not unloading ConVars/Library at end of game
Clean up
Fixed network data writing inconsistency
Cleaning Handle Stuff
Allow Tasks/Await
Handles for IPhysAggregateInstance (we're calling it PhysicsGroup)
UTIL_Remove for client
Added Entity.PhysicsGroup property
PhysicsGroup class
Interop: When getting a Handle class, we send native IntPtr but we recieve Handles
Updating Binds
Tests to see if accessing PhysicsGroup after entity is deleted causes a crash
Added PhysicsBody ManagedHandle
Added PhysicsWorld ManagedContext
Added ManagedContext, set it on created PhysicsWorld
Interop: Allow multiple TypeNameAttribute
Interop: Added [Handles attribute syntax (see engine\Definitions\readme.txt)
Switched ManagedHandle to an int
Made PhysicsBody a Handle type
Ragdoll tweaks
Add vphysics/rubikon to sbox_game
Added Transform.WorldToLocal, Transform.LocalToWorld
entity.CopyBonesFrom( ent )
Added DebugOverlay.Skeleton
SetBoneTransform also sets the physics object tx if the bone has one
Rename EngineEntityBase to NativeEntityClass to avoid ambigiuty
Can create pure clientside entities
Updated all Lerp/Slerp functions to have an optional clamp param, defaulted to true
Proper versions of Set/GetBoneTransform
Fixed AnimEntity NativeEntityClass
Wip test code
Merge branch 'master' of sbox
Bind GetWorldspaceBones, GetBoneParent, GetBoneName
Draw bones in dev camera
Added constructor to convert TransformUnaligned to a Transform
Safe to assume SkeletonInstance exists, it's the default body component for model entity
Tweaked fall anim to stop the head looking down
Bind CGameSceneNode
Added Transform (counterpark to CTransformUnaligned)
Rotation equality
Bind a bunch of skeleton stuff
Create BoneFlags.cs
Bind Transform
Remove unused code
Fixed ragdoll delayed render
Update tools
ModelDoc: Don't do ScaleAndMirror on any of the physics stuff. Their scaled sizes/positions aren't reflected in the modeldoc viewport - so end up being different scales to what you think!! Should we be disabling it like this or trying to reflecty the scale in the viewport?
Bind CBaseAnimating BecomeRagdollOnClient
Add ragdoll setup to citizen model
(test) Become a ragdoll if Use pressed
Toggle devcam with devcam command
Added Rotation Up, Down
Added Rotation.LookAt( Vector3 forward )
Camera.Activated when switching to it (allows initialization)
Added DebugOverlay.Axis
Added ModelEntity.OOBBox, CollisionPos, CollisionRot properties
Fixed LastButtons getting stomped in ClientInput
Update DevCamera.cs
Removing some more unused code
Fixed not overriding buttons properly
Camera is primarily responsible for building ClientInput - but Gamemode, Player, Animator and Controller all get a go on it
DebugCamera override BuildInput, prevent player input
Fixed infinite loop in Vector2 constructor
Clear look input deltas if UI wants the mouse
Added Rotation.Angles()
Pass ClientInput to Gamemode
Updated default keys with controller binds
Added Rotation +, *, -, FromAxis
InteropGen - fixed accidentally hardcoded NativeEngine.ViewDesc in AsRef
Bind ClientInput
Changing these from static so we can access them in clientinput.cpp
Hook input processing in CClientInput::ProcessInput
use +iv_ binds
Removed ambigious InputButton's (MoveLeft, MoveRight, Speed)
Pass ButtonBits to ClientInput
Delete clientinput_camera.cpp, clientinput_joystick.cpp, inputmovement.cpp/h
Access iv's directly,. delete FindSource2ClientInputVar
CalcButtonBits uses InputValueDigital's instead of kbutton_t
No need for CLinkInputValuesToKButtons now
Deleted kbutton_t
Deleted legacy IN_ concommands
Deleted a ton more redundancy input code
Noclip is now defined in managed https://files.facepunch.com/garry/58b93b13-1881-4008-b343-03e7e5f3d999.mp4
Merge branch 'master' of sbox
Increase model turn speed if ducked
Fix WishVelocity calc
testmap with duck jump tests
Duck jumping
Merge branch 'master' of sbox
Added DebugOverlay.ScreenText
Fixed player getting stuck in corner
Moved 'kill' convar to managed
Added basic third person camera
Toggle first/third camera with mouse2
Start on DebugCamera - switch to it using E
Added CRenderComponent.SetClientAllowDraw (this component is networked so calling SetRenderingEnabled clientside gets stomped)
Added Viewer property to Camera
Simplify C_BaseEntity::UpdateVisibility
Call UpdateVisibilityAllEntities when g_ViewEntity changes
C_BaseEntity::ShouldDraw returns false if it's g_ViewEntity
FirstPersonCamera test, show the player model when holding attack1
net5 has problems with structs and [UnmanagedCallersOnly] - so pass as a IntPtr Unsafe.AsRef if var has flag asref
Added ViewDesc shared struct
Call GameLoop.GetView from SetUpView to set up the view params
Added Camera class
Added GetActiveCamera to Gamemode
Added Camera property, GetActiveCamera to Player
Added FirstPersonCamera
Test gamemodes use FirstPersonCamera
GameSceneNode: if in prespawn or no heirachy, redirect SetLocal* to SetAbs* [RISKY]
Bind EntitySystem.ExecuteQueuedCreation
Update gamescenenode.cpp
We can use sizeof now instead of Marshal.SizeOf
Fixed interop reporting struct size mismatch causing false subsequent mismatches
Skip trying to download files if we're a listen server host
Simple event system to allow PlayerController to store messages for PlayerAnimator (and Player if it wants them)
Rotation.Clamp optional overload returns the amount clamped by
Shuffle feet when rotating (disabled because no aniamtion for it)
Clean/Document StandardPlayerAnimator
Moved Player.Tick, Respawn, OnKilled to BasePlayer
Added Rotation.Difference
Added Rotation.Angle()
Added Rotation.Slerp
Added Rotation.Clamp
Added PlayerAnimator system
Added Entity.WorldToLocal( vec )
Made Player abstract, created BasePlayer in Sandbox.Base addon
Output changed [Replicate] properties to the .codegen
Added Rotation.LookAt 😅
Keep player model upright
Don't SetLocalAngles in c_baseplayer
Binding a bunch of animgraph functions
Fix crashes with bad animgraph input (ankles)
Added basic walk animgraph for citizen
Added Rotation.Inverse
Added AnimatingEntity.SetAnimParam
Renamed AnimatingEntity to AnimEntity
Fixed UserInput forward/side/up not properly clamped
Added temporary SetAnimParam to WalkController
Players call AnimFrame on server after simulating
Don't call animrame in WalkController
Update AnimatingEntity.cs
Set SUPPORTS_ANIM_GRAPH 1
Run/Walk keys work
Rename PlayerController.Run to PlayerController.Tick (avoid ambiguity)
Add animationsystem to sbox_game
Fix crash in CGroundIKSolveInstanceData
Citizen animgraph start
Don't get stuck in the ceiling
Added TraceResult.SurfaceFriction
CMoveData, IGameMovement no longer needed
WalkController Clean