2,064 Commits over 944 Days - 0.09cph!
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
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
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
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
Add map info database. Asset database uses dictionary so that hotload reloads the asset info file and not the path it points to.
Merge branch 'master' of github.com:Facepunch/SandboxGame
Update asset database when file with the correct extension is added or removed
Populate map list from map asset database
Add accessor to addons requires list. Check map info requires list against gamemodes addon requires list before showing it in list
LookAt and ModifyBone nodes use new param callback system
Fix fbx skeletal model loading NRE when there's no submeshes
Static and skeletal prop entities have prop path property so they can be saved to file
Merge branch 'master' of github.com:Facepunch/SandboxGame
Merge branch 'master' of github.com:Facepunch/SandboxGame
Extend anim parameter system to support vec2, vect3 and quaternion
Allow anim nodes to register param set callbacks so internal values can be updated from them
Parse anim params before anything else because nodes depend on them
Update blendspace coordinate from vec3 param
Merge branch 'master' of github.com:Facepunch/SandboxGame
Random sound array for sound def entrties
Add Vector2Converter
Random pitch and volume for sound def entries
SoundDef asset (collection of sounds with parameters, similar to sound scripts) Experimental AssetRef class so that json string can reference any asset
Fix out of range exception when loading fbx with no UVs
Assign material groups a random color material
Orbit camera around preview model center
Make sure to cleanup fbx importer when bailing out early
Only attempt to create physics asset from fbx if model is valid
Bail out of fbx loading early if there's no geometry
Basic model viewer with model file drag&drop. Logs mesh sections and material group names for now
Only invoke viewmodel anim events if the viewmodel can be seen locally (viewing firstperson)
Allow weapons to register worldmodel anim events, only invoke events if viewmodel is not visible locally
Add animdef for spas12 worldmodel
Only cache player state if it's valid
Run combat player OnUpdateView when builder player is not in thirdperson. Add view punching to rust weapons
Disable fbx embedded textures, problems on steam builds
Remove unused test layers in citizen animdef