Lasse Öörni
6f927f6997
Split Network subsystem update into two parts to queue new messages as early as possible.
2011-07-29 00:35:16 +00:00
Lasse Öörni
38fe1554ba
Initial multiplayer NinjaSnowWar.
...
Various networking and script API bugfixes.
Fixed kNet profiling compile errors due to STL -> Container library conversion.
Fixed loading of textures failing in headless mode (just return success without doing anything.)
The E_CLIENTCONNECTED and E_CLIENTDISCONNECTED events now also come from the Connection in question, to allow using GetSender() for convenience, instead of looking up the connection from event data.
Added simple network traffic statistics logging to Connection.
2011-07-29 00:04:52 +00:00
Lasse Öörni
f622066c4a
Changed certain profile blocks (extra/transparent passes, debug geometry) to trigger only when there is actually some work to be done.
2011-07-28 18:41:15 +00:00
Lasse Öörni
444c18673e
Code formatting & optimization.
2011-07-28 16:14:56 +00:00
Lasse Öörni
1c154ef17e
Uncommented the package file download test from TestScene.as.
...
Fixed missing default arguments in the script API.
Fixed crash if a script file is unloaded while executing a script function.
Fixed Urho3D.exe not correcting the script file name to internal format (slashes instead of backslashes.)
Use black default background for the Direct3D9 window.
2011-07-28 11:41:56 +00:00
Lasse Öörni
43671aa66f
Fixed up to one second delay in starting UDP datagram sends.
...
Refactored SendMessage API in Connection & Network, allowing the user to specify message priority.
Split Network library internal messages into 3 priority categories.
2011-07-28 09:01:33 +00:00
Lasse Öörni
1d3f797643
Removed unnecessary code from Connection.
2011-07-27 23:06:12 +00:00
Lasse Öörni
f70cc35815
Added package file download support to the network protocol.
...
Added commented out package download test code to TestScene.as.
Increased kNet's UDP send rate upper limit and aggressiveness in increasing the send rate.
Fixed being unable to do sparse seeks in files when writing.
Container library bugfixes.
2011-07-27 22:41:12 +00:00
Lasse Öörni
db453e642d
Network code cleanup.
...
Enabled kNet flow control.
Fixed kNet uninitialized variables.
2011-07-27 17:07:42 +00:00
Lasse Öörni
bad8e776de
Added networking documentation.
2011-07-27 08:41:16 +00:00
Lasse Öörni
07281ba969
Documentation update.
2011-07-26 16:04:26 +00:00
Lasse Öörni
4d0e922e3f
Added common script code for parsing network-related command line arguments.
2011-07-26 15:29:33 +00:00
Lasse Öörni
67eec15057
Converted kNet to use Container library instead of STL.
...
Fixed Container library bugs.
Fixed uninitialized variable in PhysicsWorld.
2011-07-26 09:42:36 +00:00
Lasse Öörni
40d04b377b
Added Compare function to String, which is optionally case-insensitive.
...
Added registration of allowed remote events.
2011-07-25 23:15:04 +00:00
Lasse Öörni
fbf5bd4076
Added log prints for loading & saving the scene.
2011-07-25 18:26:02 +00:00
Lasse Öörni
48aa81e8e4
Added Node functions to get the world unsmoothed (target) transform.
...
Added proper support for parented rigidbodies.
2011-07-25 15:30:18 +00:00
Lasse Öörni
d88b66deab
Network code cleanup. Eliminated copying of initial node or component state.
2011-07-25 10:57:45 +00:00
Lasse Öörni
40ad2d09b6
Queue remote events instead of sending immediately to avoid synchronization problems with scene updates.
...
Changed inSerialization flag to loading flag.
2011-07-25 10:35:27 +00:00
Lasse Öörni
19874cfb31
Changed RigidBody Vector3 set/get functions to use const references.
2011-07-24 23:03:49 +00:00
Lasse Öörni
163aa247d9
Cleaned up animation network serialization code.
...
Do not send autofadetime if not used.
Do not reassign animation tracks if the start bone did not actually change.
2011-07-24 22:37:00 +00:00
Lasse Öörni
a6cc202b3c
Added network replication of instant set weight / set time position commands for AnimationController.
...
Increased precision of speed and fade time in Animationcontroller network replication.
2011-07-24 21:34:50 +00:00
Lasse Öörni
23b410d9f4
Added AnimationController network replication.
...
Changed the animation state layer to 8-bit.
2011-07-24 11:22:29 +00:00
Lasse Öörni
21cb202f63
Disable motion smoothing from the scene when the server connection is destroyed.
2011-07-23 23:47:39 +00:00
Lasse Öörni
ffad4ba005
Fixed UI related crashes in headless mode.
...
Fixed loading of materials in headless mode (just return success while doing nothing.)
Fixed EventType parameter of SendRemoteEvent() / BroadcastRemoteEvent() in the script API, should be a string.
Added smoothed motion for nodes in network client scene.
Added enum CreateMode to CreateChild() & CreateComponent() which replaces the "local" bool parameter.
Added possibility for client to spawn physics boxes in networked TestScene.
2011-07-23 23:33:57 +00:00
Lasse Öörni
13d449d9cc
Added Abs() to Vector2, Vector3 and Vector4.
...
Compressed rotation and angular velocity to half size in network replication.
2011-07-23 18:00:38 +00:00
Lasse Öörni
cc2a487361
Further optimization of the parent node network replication attribute.
2011-07-23 15:05:38 +00:00
Lasse Öörni
84d70dcbe7
Optimized away constant dynamic Variant allocation in comparing attributes when sending a server update.
2011-07-23 14:54:20 +00:00
Lasse Öörni
0421200d2b
Fixed missing base class network replication attributes.
2011-07-23 13:21:45 +00:00
Lasse Öörni
50682de1c6
Store network replication attributes separately to optimize sending and receiving updates.
2011-07-23 12:36:03 +00:00
Lasse Öörni
9000621bd2
Fixed CreateNode message.
...
Added primitive client/server scene replication test to TestScene.
Optimized reading delta & latestdata updates by exiting if all data has already been read.
2011-07-23 10:00:02 +00:00
Lasse Öörni
67c77087bc
Disabled network replication from SoundSource's position and autoremove attributes.
2011-07-22 23:17:00 +00:00
Lasse Öörni
9b1a81d84a
Changed _WIN32 #ifdef to WIN32.
...
Early-exit Thread::Stop() if already stopped.
2011-07-22 22:58:54 +00:00
Lasse Öörni
2e4d006674
Updated to newest kNet.
2011-07-22 21:00:38 +00:00
Lasse Öörni
17dea98f14
Reading of scene update messages.
...
Added network deltaupdate utility functions to Serializable.
More network code refactoring.
2011-07-22 16:32:05 +00:00
Lasse Öörni
644f08c12d
Network code refactoring.
2011-07-22 14:27:11 +00:00
Lasse Öörni
bddedd7fd2
Added a function for components to list the nodes they depend on.
2011-07-22 09:53:28 +00:00
Lasse Öörni
ee9b6cc0f8
Renamed the script PostLoad() to FinishUpdate().
...
Optimized the finalization of CollisionShape & Joint attributes: the ODE object is not needlessly recreated.
2011-07-21 23:16:28 +00:00
Lasse Öörni
7b15b34c83
Removed most OnGetAttribute() / OnSetAttribute() functions in favor of accessor attributes.
...
Added compare to attribute default values when sending initial node or component attributes.
Network updates for parent nodes are now sent before their child nodes.
Renamed PostLoad() to OnFinishUpdate().
Fixed kNet null pointer assert in debug mode.
Re-enabled memory leak checking in debug mode.
2011-07-21 21:23:49 +00:00
Lasse Öörni
489053b85f
Added content ID computation for latestdata messages.
2011-07-17 22:18:33 +00:00
Lasse Öörni
1c6cd6a744
Fixed attribute indexing with latestdata updates.
2011-07-17 22:09:48 +00:00
Lasse Öörni
bd35b5a0e0
Added sending of scene replication messages.
2011-07-17 21:13:32 +00:00
Lasse Öörni
4c3dd57980
Added more networking functionality, including remote events and client's controls update.
...
Added Append functions to String.
Removed networking mode from Scene, as it seems to be unnecessary.
2011-07-15 14:52:43 +00:00
Lasse Öörni
f28728b3e2
Send identity VariantMap on connecting to server.
...
Fixed possible bug in WriteString/ReadString if the string contains zeroes in the middle.
2011-07-14 13:11:39 +00:00
Lasse Öörni
91a0b5b41c
Fixed Network library to use kNet forward defines.
...
Added support for handling internal network messages.
2011-07-14 09:39:59 +00:00
Lasse Öörni
b89e9a547f
Added log print when starting the connect attempt.
2011-07-13 23:43:52 +00:00
Lasse Öörni
4e2c3376b7
Switched logging & event order for consistency.
2011-07-13 23:38:37 +00:00
Lasse Öörni
2910f128f3
Added Connection class missing from previous commit.
2011-07-13 23:36:00 +00:00
Lasse Öörni
71603ae52e
Initial kNet-based networking implementation.
...
Renamed SharedPtr::Ptr() to RawPtr() to avoid conflicts with kNet's Ptr macro.
Added chat test program.
2011-07-13 23:32:57 +00:00
Lasse Öörni
07fda9f32e
Preparation to using kNet: renamed SharedPtr.h to Ptr.h to avoid conflicts.
2011-07-13 13:09:39 +00:00
Lasse Öörni
af2b4311dc
Function name unification and cleanup. ChildElement -> Child. RootElement -> Root. ScriptedChildren -> ChildrenWithScript.
2011-07-12 09:08:17 +00:00