4,794 Commits over 1,371 Days - 0.15cph!
Completely stripped out CursorController. Don't use native mouse for aiming etc but add an in-game cursor
Added recoil curves to weapons for controllable recoil
Move sound -> sounds and added other weapon sounds
Added MP5, M1911 and R870 models from Hidden for testing
Added WeaponResource and updated WeaponItem to use it
Fixed typo AmmoResouce -> AmmoResource
Strip WeaponConfig in favor of using WeaponResource and add MP5A4 and Crossbow support
Add MP5A4 and Crossbow game resources
Give crossbow + MP5A4 using new method
Test controllable recoil
Various inventory UI fixes (some still remain around pointer events oddities)
Simulate construction in FrameSimulate too so the ghost structures are positioned smoothly.
Don't constantly re-create the ghost structure unless the type has changed (was broken)
Added ArmorResource, ItemResource and ResourceItem for implementing item types as game resources (optionally)
Have ArmorItem extend ResourceItem<ArmorResource, ArmorItem>
Add baseball_cap.armor game resource and give it to players on joining for testing
Add checks to ensure Resource is not null, throw an exception if unable to find a game resource with an id when deserializing items
Added AmmoResource and updated AmmoItem to use it, clean up ItemResource
Give ammo by finding an appropriate AmmoResource
Add 5.56 Ammo, 9mm Ammo and Bolt game resources
Added name to the Storage Crate item
Added IContextActions interface. Added entity hovering for players. An entity that is hovered that implements IContextActions can glow. Add actual contextual actions later.
Add "world" tag to the world entity in PostLevelLoaded. Add DeployableItem.ValidTags.
Added Deployable system. Added Toolbox and Crate items. Added StorageCrate entity. Refactored Structure system to require a held Toolbox. Change open structure wheel to Secondary Attack.
Make TimeSystem an Entity and have stuff be networked properly. Avoid using constructor for Forsaken class.
Added sensible default values for the TimeController entity
Rename Tooltip to CustomTooltip (for now, look into using new tooltip stuff later)
Remove old Tooltip class
Add TimeController, TimeSection and TimeSystem
Add Time Controller editor icon + added fsk_time_test map for testing
Tooltips
Merge branch 'master' into custom-client-input
Added BBox.Contains(Vector3) & FromPositionAndSize( Vector3, Vector3 )
Added box soundscape entity
DisplayInfo will inherit from interfaces for type members
Fix pre-processing shader errors showing up as valid success compiles
Add a stop compiling button to the Shader Compile Output
Only disable the button if it actually exists
Get rid of features.minimal.hlsl. It's the same thing as features.hlsl
Expose combo free texture filtering selector for user built shaders
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_MUJMmnKlDF.mp4
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_F7l9inPSQS.mp4
Also includes glass & blendable too
Catch and report exceptions in OnParametersSetAsync, OnParametersSet
When deleting, destroy child blocks first
Friend.GetAll() returns empty array in outside of menu
Add context menu to entity list, allow deleting
Fix entity categories under Map entities
Add consistency to explorer widgets
Remove some unused gameui
Don't reset buttons when mouse cursor window
CQAttributeEditor_SoundPicker: use path instead of name for sound events
Create a resource reference on sounds in maps so custom sounds will get properly uploaded and loaded with the map
This will require you to reselect sounds in your maps to update to their full paths, asset name only is obsolete
Group projects better
Clip project path text so it doesn't overlap the settings icon
Saftey checks around memcpy in CCompositeParentSpaceState::CopyBoneTransformWeights to prevent crash, additional asserts to catch when this stuff is bad
Tooltips
Fix razor file extension checks case sensitive
Settings page partial cleanup
Codegen writes correct accessibility for partial classes it writes
Add descriptions to TypeLibrary's description classes
Focus GameFrame when entering full screen
Fixes sbox-issues/issues/2081
Project creator folder selector works first time when path already exists - Fixes Facepunch/sbox-issues#2454
Server list spelling
New Outfit Pieces - Shorts and Bucket Hat
https://files.facepunch.com/daniel/1b0111b1/sbox-dev_w0N25QkANK.jpg
LODs and Skinning adjustments to come soon.
Merge branch 'master' of sbox
Make it more clear that project rows are not clickable
Fixed exceptions when closing publish to asset.party window prematurely
Undo unintended changes
Deleted prop_dynamic, info(_particle)_target, point_camera native ents
Deleted prop_dynamic, info_target, info_particle_target, point_camera native entities
They all have c# alternatives
Deleted info_null, info_landmark, info_player_deathmatch engine ents
Citizen/clothing: bucket helmet seam fix
Merge branch 'master' of sbox
Whitelist System.Private.CoreLib/System.Diagnostics.ConditionalAttribute
Whitelist System.Private.CoreLib/System.Text.*
Whitelist System.ObjectModel/System.Collections.Specialized.*
Whitelist System.Private.CoreLib/System.IO.StreamReader.get_* and Close()
Small adjustment to Shorts
Party deck: fix avatar sizing, give margin between add button and party friends - Fixes Facepunch/sbox-issues#2453
Corrected description of (Real)TimeUntil.Absolute
RangedFloat can be used in Hammer entity properties now
Revert "Focus GameFrame when entering full screen"
This reverts commit 8904f4f5b1f11f0a8921373f2a42485a9eaab8ce.
Blur and disable console input's focus when entering fullscreen mode
This takes care of the editor sometimes auto-focusing the console and getting confused about whether it wants to be full screen or not
Support all the different orders CSS border property can be in, add unit tests too - resolves Facepunch/sbox-issues#89
added missing menu tool tip for local games
Only call tools.refresh when we have new tool assemblies and not game assemblies
Fixed default new material using invalid texture
sboxgame/issues/issues/2480
Added option to right click copy asset ident from asset.party
https://files.facepunch.com/louie/1b0211b1/sbox_wHZljKuQ2h.png
sboxgame/issues/issues/2477
AssertIsMainThread for SetupPhysicsFromModel, this is not safe to do
Assert trying to make scene model with meshless model, sceneobjects aren't created if there's no meshes
Do the same for sceneobject
Fix crash trying to render thumbnail of model with no meshes
Fix crash trying to preview model with no meshes
Improve error handling for firing Hammer/MapIO inputs
Use parameter default value when firing inputs for non number types too
Send some performance info
Fix particle preview rotation https://files.facepunch.com/layla/1b0211b1/sbox-dev_DE9zLfakRV.mp4
Fix Input.Pressed not working outside of Simulate when FPS was lower than tick rate
Citizen/clothing: jumpsuits skinning improvements + ID card on pocket has physics
Citizen/clothing: slightly safer angle limit setting on jumpsuit physics
Fix StartVoiceRecording and StopVoiceRecording being called continuously when it doesn't have to
Merge branch 'master' into custom-client-input
Merge in Matt's Input.Pressed fix for when FPS is lower than tick rate
Fix invalid SCSS property
Remove auto reload / auto reload delay and give a test armor item to players on spawn
Some temporary styling and override GetHashCode on InventoryContainer to hash its items
Update all inventory related stuff to Razor
Fix crossbow muzzle position
Added base weapon system, base inventory + item system, basic hotbar + storage + backpack, test items and 1 weapon
Move the doorway model import translation right by an inch
Move structure related stuff to entities/structures and add normal parameter to IsValidPlacement
Refactor structure ghost stuff (Structure.GetOrCreateGhost) and add material override for ghosts
Added Structure.OnConnected and prevent placement of Foundations outside of socket connections within 512 units
Some more refactoring and ensure that walls and doorways cannot be placed if there's other walls or doorways there
Refactoring of socket system. Add socket tags including ConnectAny and ConnectAll. Add Structure.ShouldRotate (for now), in future work out relative socket position from identity rotation
Restyled radial menu for structure selector and added icons
Added a radial arrow for the structure selector
Added a simple radial menu to control structure piece selection
Added RequiresSocket to Structure. By default, Walls and Doorways can only be attached to sockets on a Foundation. Make Socket an Entity.
Refactor some socket stuff
Updated wall, foundation and doorway to have the right pivot and a mesh collider
Started adding a basic socket system
Always move in the direction of the keys instead of by eye rotation
Added placeholder models for foundation, wall and doorway
Updated structure classes to use appropriate placeholder models
Started adding test code for structure placement (no slot logic yet)
Added stubs for Structure, Foundation and Wall
Namespace changes and cleanup
Added a basic Hud class and instantiate it in the Forsaken game class
Added the CursorController Razor class
Added a simple Top Down Camera class
Add simplified move controller and animator and implement them into the Player class. The player will look towards the cursor, but when sprinting they will look towards where they're running
Initial experimentation of the new shading model for the new shader
Merge branch 'custom-client-input'
Fixed atlas tool compile error
Fixed glows. Updated for new inputs. Fixed hotload error.
Fixed rounds
Fix minimap fog being rotated the wrong way. Fix models on units by just giving them a bunch remove obsolete CitizenClothing class.
Alter camera
Fixed ghost building glow and alpha
Pathmanager async changes
Merge pull request #150 from Facepunch/custom-client-input
RTS Updates
Update Pool for custom-client-input branch
Remove Game Rules ConVar and Game Setting (this will be an addon or fork)
Remove PB rules
Started upgrading to Razor
Fix background color
Cleanup
Updated PlayerDisplay to Razor and add @inherits to Razor components to fix some broken intellisense. Getting the hang of this...
Updated BallHistory to Razor
Update Hud RootPanel + CursorController
Remove RoundInfo because it isn't even used
Update ToastList to Razor + add ToastItem component
Updated WinSummary to Razor + added WinSummary components
Merge pull request #5 from Facepunch/custom-client-input
Pool Updates
Comment out post processing stuff (learn how it works now later). Fix pistol hold type. Update to use new input stuff.
ActiveChildInput
Bot rotation
Some PP upgrades
Health vignette fix
Add color overlay via CSS and vignette for Hidden
Update for new hitbox tags
Use BoneIndex for ragdoll force
Merge pull request #9 from Facepunch/custom-client-input
Hidden Fixes + Changes
Updated for new inputs + fixed various obsolete errors with Render.* some have no alternatives yet
Use new shaders for cw_color_1 and cw_nocolor_1
Add Util.Draw for now until we have a nice draw lib
Doubled the health of each team's core
Fix unused SCSS property
Team list has a blur and background
Fixed team core list not showing / updating on game start
Set block placement ghost to team color and reduce opacity
Health bar and stamina bar percentage values are not parented to the moving bar
Implement HasHovered
Use other grass clump models
Fixed materials on all resource pools
Fixed icon render distance and color for hud icons
Use shift for sprint + ctrl for duck. Remove block sneaking (for now) because it's terrible, plus it may not be needed now we have block ghosts
Fix airdrop icon render distances
Converted Tooltip to Razor
Added blocks_shine atlas and a bunch of dummy images for existing blocks
Merge pull request #27 from Facepunch/custom-client-input
Core Wars Obsolete Changes + Fixes + Shine Atlas
Added blocks_shine atlas and a bunch of dummy images for existing blocks
Added initial .addon setup and basic Forsaken game class
Add all the weapon stuff + update submodule
Fix tests that use sandbox game
Load addons after gamemode is compiled
Include base addon with Runtime content
Isolate the assemblies in their own LoadContext when loading
Compiled assemblies don't need a dynamic name now, unify name with release so addons work on local versions of games
Add map nodes MapGroup and MapInstance, example usage of MapInstance:
```
new MapInstance()
{
Position = Vector3.Up * 128.0f,
Target = Selection.All.First(),
};
```
Only tell ac to forget the assembly if it's going away
Throw more useful exception when ac can't resolve an assembly
For now don't include base with generic addons (needs some work)
Use correct assembly name for packaged content
When hotloading runtime stuff on the server, also include packaged addons so they hotload too
Client hotload in a more organised way
Fixed ResourceProperty not working with base Resources
Fixed a race condition with loading custom resources in tools
Add MapNode.Copy() creates a copy of the node and adds it to the current mapdoc
Make Hammer entities correctly categorize local projects again
Basic assembly reference rewriting
Better handle failed downloads when loading to a server
Switch some entity methods to check validity of internal pointer, not realm
ModelEntity.TakeDecalsFrom throws explicitly when given null
Fix malformed comment on RenderTreeBuilder.AddAttribute
Rewrite packaged addon references if needed
Merge branch 'assembly-rewrite'
Hammer: Fix base entities appearing as if they only belonged to certain local games
Only create this package.base Compiler in tools mode once again (for Hammer / GameData), since local compilations are now consolidated with base code
Make sure Global.Server gets set OnServerInfo so Global.GameTitle and shit is avaliable, fixes rich presence not working too
Citizen/clothing: various improvements
Obsolete ConstantBuffer, implement RenderAttributes.SetData
Fix assembly resolution when rewriting
Documentation + Support for arrays & spans
Increase menu build timeout
Don't show warnings/info in menu compile error
Cleaned up
Merge pull request #592 from Facepunch/dynamic-cbuf
Dynamic Constant Buffers
Fix error list exception
Fix error list not filtering
Handle and show a message when game fails to load, instead of loading anyway
Fixed server thinking build had failed if no build was needed
Superluminal instrumentation
Lobby settings are saved on game start
Some error protection around razor :bind
Include razor files in editorconfig
Nicer lobby addon list
Remove razor binds if they create exceptions
Add local category in packageselector
Mount local Content type projects on server start up
Allows usage of custom game resources from content addons
Draw the actual soundscape entities with overlay enabled
Improve responsiveness of selected map/game preview in lobby
No longer displays previous selected map/game while new data is being fetched
Fixed files with capital letters not being accepted for Hammer drag&drop
Playerclip shouldn't affect nav mesh
Added SoundEventBoxEntity
https://files.facepunch.com/louie/1b2911b1/sbox-dev_Pyq7g0zfc2.png
info_target C# Replacement
Targer.cs > TargetEntity.cs
Citizen: added ear_* bones
Citizen/clothing: army shirt uses neck_clothing bone instead of neck_0
Made project manager less shit
Fix local addons with packaged gamemode
Reset the server compilegroup when starting server (to clear previous errors)
Fixed line numbers being total bullshit
Can drag and drop addons onto the project list
Fix lobby addon list not shrinking
Cleaned up SoundEventBoxEntity
Enable client authoritative mesh groups when setting a client side procedural model so server doesn't stomp mesh groups
Combine Projects, Entities and UI into one dockpanel
Compile tool base first, so that if a tool addon is broken the UI won't be broken
CQBuildMapDialog::GetMapLaunchCommand wraps map name in quotes
Citizen: ship "all-in-one" FBX with the game files
(The "all-in-one" FBX includes the head and its morphs, unlike the regular LOD0/1 FBX files, because we use a DMX file for this. We might as well put it in here so you don't have to go look for it on the wiki.)
Citizen/clothing: v-neck t-shirt skinning/LOD improvements & seam fix
Citizen/clothing: fixes to blue variant of v-neck t-shirt
Citizen/clothing: (... and RenderMeshMarkup for the blue variant too)
Hammer: Fix entities from newly uploaded asset.party games not working
Citizen/clothing: adding RenderMeshMarkup for previous clothing items that have a cut-down torso mesh
Add IEnumerable<MapNode> MapNode.Children
Add MapPath and MapPathNode to C# API
MapGroup and MapInstance init their handles correctly
Fallback to default code editor if selected code editor is no longer installed
Load entity GameData after ToolsDll.OnAddonsCompiled instead of tools.refresh - I think this was accidentally still working somehow, but now it'll hotload and all that shit again
Fix errors in local projects preventing base loading for tools ( Hammer entities, ModelDoc data, base resources ), remove hack from Sandbox.Engine and make Sandbox.Tools responsible for compiling base before local projects are added to the compile group
Add MapNode.Parent property
Remove code I added that wasn't needed
Merge branch 'master' into custom-client-input