3,308 Commits over 944 Days - 0.15cph!
Fix client to server RPC breaking due to prediction trying to access ClientId from unreal
ent.ClassName falls back on type full name when attribute has no name
Add ent.NativeClassName so I can see what bullshit unreal is spawning
Destroy current gamemode when making a new one (wont need this when we have world cleanup)
Tell gamemode when a client joins/leaves
Make sure socket async stops on close
Close client socket when going back to main menu or ending game
Close server socket on shutdown
Create gamemode and init new menu system on server info. Destroy previous menu system when initializing a new one (we don't have world tear down to handle this yet)
Don't auto connect to local server when running as dedicated server
Get rid of dedicatedserver and menusystem internal unreal maps, only empty bootstrap map is needed now
Manager.StartGame determines game state based on main menu argument and Global.IsDedicatedServer instead of using internal unreal map names
Don't attempt connection to a socket if it already exists, null out socket on disconnect
HandleNetworkFailure not dependant on unreal
Game.JoinServer connects directly to server instead of unreal client travel
Create server socket with port from Global.Port. Make sure to connect using server port when connecting to your own listen server.
Bail starting new game if game server is already initialized
Shut down game server when going back to main menu or ending game
Send server info to client on successful steam auth
Remove required gamemode, unused and sucks
Init game server when starting new game instead of using unreal server travel. Create new client without unreal player controller bullshit after steam auth.
Insert IsServer check before sending var across network (vars can only be replicated from server to client)
Add empty gamemode specifically for testing new networking
Support owner only netvars
Send netvars through steam sockets instead of unreal sockets (message per var change until we bunch them up)
Add auth ticket message type. Client sends auth ticket message on initial connection, server uses it to begin auth session.
Server->Client RPC sends to connection that owns the entity
Get client from net identity to handle client to server RPC
Send RPC's through steam networking sockets
Prepend rpc type to rpc data as a byte so steam sockets know what type of message it is, ignore it when recvd on unreal socket
Handle Client->Server RPC through steam sockets
Update Facepunch.Steamworks to 2.0. Remove ENet.
Create steam networking socket and try to connect to it
Only accept connections if they've been authed
Fixing buttons on Game View
Sandbox Container VAlign, Quit menu, Secondary button style
Add ragdoll and playermodel collision responses
Allow entities to set their own collision object type and collision responses to channels instead of using internal collision profiles so that profiles can be configured on the managed side
Allow entities to set collision mode (none, query, physics, both) instead of just enabled or disabled
Remove collision profile param from sweep shape functions
Add collision responses object (probably need a better name) Allow entities to set collision channel responses from responses object
Add constructor to set all channel collision responses
Add static collision responses default objects (block all, ignore all, overlap all)
Fix entities not setting collision responses object internally
Fix internal collision response object not being created
Game tiles, game view, typography
fixing container on prop spawner
Ellipsis long usernames on Menu
Truncate username on Sandboxuser
Routing and views for options pages
Options pages styling + header buttons
ServerBrowser side menu
Fix inconsistent accessibility errors from generated code
Add FileSystem.FindInAddons to search addons that haven't been mounted yet
Remove some unused stuff
Save terrain to user data (r16 for heightmap, png for weightmaps)
Fix terrain saving weightmaps incorrect size
Fix new terrain weightmap loading from incorrect image size
Load all weightmaps from saved user data
Load terrain heightmap from r16 file
Check heightmap file exists before loading it
Generate and update terrain weightmap mips
Normalize weightmap layers when creating new terrain
Support up to 4 weightmap layers on terrain
Add single internal function to create terrain of any size with optional heightmap and weightmap data pointers
Bail out of creating new terrain if it already has been created, it's better to just create a new entity than to clean up the existing one
Initialize weightmaps on new terrain using weightmap data if it exists, otherwise default to 255 on first layer, 0 on the rest
Pass heightmap and weightmap data from managed to native. Ensure data arrays match terrain size
Test loading weightmap data from png
Image slider loading holder, User component, Gameinfo, table and button changes
Generating the slider off real data + test screenshots
Fix data func and methods so code that runs on regular vue just works
Fix super weird compiler bug (I think)
Fix build errors in standalone
Initial terrain editor and support for multiple material blending on terrain by using weightmaps
Fix terrain creation using incorrect number of verts
Merge branch 'master' of github.com:Facepunch/SandboxGame
Add function to edit terrain weightmaps at runtime. Add temp terrain tool to test painting.
Merge branch 'master' of github.com:Facepunch/SandboxGame
Add function to get terrain weightmap data from a region of a layer
Unlock weightmap mip data once finished reading from it
Fix weightmap sampling
Use dev dirt/grass material blend to test terrain painting
Options page styling, fixed pageheader
Go Back nav button
Menu light/dark toggle
Slot for header on Container
Conditional styles on Games view, gametile changes
SandboxMenu structure
Steam Avatar status and name, Discover page
Server Browser, Tabs and Buttons styles, PageHeader component
Button, Tags, Gameinfo styling, scrollbars
Container supporting a background image
Game info structure and styling