979 Commits over 610 Days - 0.07cph!
Don't call NetworkSpawnRecursive in editor 🤦♂️🤦♂️
Networked scene load (#1648)
Loading a scene over the network now just sends a fresh snapshot and re-handshakes with clients, rather than telling them to reconnect later and disconnecting them all.
OnChangingLevelMsg -> OnSceneLoadMsg
Separate scene loading & finished loading, broadcast to clients as soon as we start loading a new scene
Move SceneLoadOptions into Sandbox.Engine, forward to Sandbox.Game
Send SceneLoadOptions over network
We only need to worry about ShowLoadingScreen - both IsAdditive and
DeleteEverything would be handled by the host and then applied to the
fresh snapshot that we send over, so we shouldn't have to worry about
those
Remove auto-added using
protocol++
Cut all this down some more so we're not changing things for no reason
Register handler instead of using internal message type (same as before)
Make it clear that all of this is called after the scene has loaded, clean up
Enable lingering on TCP channel
Reload scene data on clients rather than disconnecting and rejoining when calling `Scene.Load` on a networked game
Chat in top right, style tweaks
Kenney UI textures
UI toast test
Toast lasts 3 seconds
Hide toast for now
UI: Layered backdrop filters require different UVs (because they render in a different space)
Fixes broken rendering when both filters/masks and backdrop filters are used in conjunction with each other
Fix hidden zero-width space in Chat UI, would create an additional unwanted label (!?)
Theme globals
Chat tweaks
Add networking support, apply low speed threshold differently
Better default friction values
Jeep: oversteer less, override mass center to prevent pulling slowly to the right
Update aspect when it changes
Water material tweaks
Planar reflections use static resolution (128 by default) multiplied by aspect, should help for high res displays
Delete this unused camera
Can't use atmosphere sky, doesn't render in anything but main camera?
Enable planar reflections for water
hc1water more closely matches s1 water - remove foam, use planar reflections
Oman fog / lighting adjustments
Jeep sets on fire at half health
Revert "Jeep tries to stay upright"
This reverts commit 248a5eae6855cd64846b623362d22696dc5d17fa.
Improved jeep handling
Jeep tries to stay upright
Improve water shader
Code for planar reflections
Delete this seemingly unused camera
Scene setup for planar reflections, disabled otherwise everyone will complain about how shit the game runs
Basic water shader, will improve in a bit
Add foam, make ocean shader look vaguely like water
Disable vertex anim for now
Make these two windmills static otherwise they fall through the map
Apply surface friction to wheels
Dirt road surface, more friction than grass etc
Add a second jeep on the other side of the map for testing
Network jeep
Ownership only necessary for driver
Tighten steering and suspension up slightly again, I went overboard
Make VehicleInputState a reference type
If the vehicle has no driver then reset input state
Rotate wheels individually
Tweak suspension, give wheels render models (looks bit shit right now)
Slap IsProxy where it makes sense to do so
Wheels ignore player
Make suspension less stiff
VehicleInputState.CreateFromLocal()
More handling adjustments, try to match bf4
Boost key
Make accel/braking rate properties, jeep accelerates faster but has slower top speed
Proportional friction force, prevents wobbling
Remove force gizmos
Tweak handling
Reversing
Wheel gizmo
Adjust and balance wheels
Add steering, jeep drives properly
Jeep drives, stick it in cq_oman for quick testing
Initial jeep vehicle (won't drive properly yet)
Mount assembly filesystem here too
Mount assemblies from downloaded packages
Init API earlier
Init API in unit tests
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
Allow disabling whitelist on projects - prevents uploading to sbox.game, will only let you export
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