5359 Commits

Author SHA1 Message Date
Paul Speed
6cb691592d Fixed two potential race conditions in the DefaultClient.
In one case, closing a client while it was already closing on
another thread (say because the server is shutting down and
you are exiting at the same time) would cause an NPE if you
caught it just right.  Now the thing checking and setting the
connection state is synchronized to avoid the race.

The other more subtle one was caused by sending out the 'connected'
event before the services were all started.  It's quite common for
application code to start doing stuff when the 'connected' event comes
through like sending messages and stuff.  If the services hadn't been
fully started then even the serializers might not be registered yet...
and that = bad.

Now the client doesn't send the 'connected' event until the services
are started.  This should be safe and one could argue that it's more
'correct' but there is some small chance that it screws up certain
use-cases.  However, if a real use-case comes up that's not solved by
a service then we can always add some kind of prestarted event.
2015-12-26 17:56:31 -05:00
Paul Speed
d8d7d061f6 Small formatting change. 2015-12-26 17:51:47 -05:00
Paul Speed
0bfabacef6 Small formatting change. 2015-12-26 17:49:37 -05:00
Paul Speed
d241a9a235 Added a couple more bracketing log messages just to confirm
my own sanity.
Some small formatting changes.
2015-12-26 17:45:58 -05:00
Paul Speed
ab0628c070 Fixed a typo in an exception message. 2015-12-26 17:42:15 -05:00
Kirill Vainer
72423b682e Merge pull request #392 from NemesisMate/patch-4
Fixed a possible bug in TextureAtlas.java
2015-12-26 15:36:41 -05:00
Paul Speed
50b2f76bdf Modified the FieldSerializer to support classes with non-public no-arg constructors.
Finally we can end the tyranny of exposing dangerous public constructors in the
name of a cheap serialization.
2015-12-24 03:29:36 -05:00
Daniel Johansson
69c17d72c8 Reverted statistics code for tracking number of lights in the scene. Not counting correctly. Maybe this can be added back in later on. 2015-12-23 20:49:25 +00:00
Daniel Johansson
0354f976e9 Merge remote-tracking branch 'origin/master' 2015-12-22 11:11:31 +00:00
Daniel Johansson
25b9691e32 Added support for toggling lights on and off via Light.setEnabled(boolean). This implements #393
This commit also contains some minor changes to TestManyLightsSingle which now has a key trigger (L) for toggling lights on and off.
2015-12-22 11:10:47 +00:00
Daniel Johansson
67eb998ef4 Added numLights to statistics. This tells us how many lights are left to render after filtering has occurred. Also did some tidy up of javadoc in RenderManager. 2015-12-22 10:55:43 +00:00
Daniel Johansson
e0c24cd73a Added a guard to ensure setSinglePassLightBatchSize() is set to a minimum of at least 1. 2015-12-22 10:37:08 +00:00
Paul Speed
98194e83aa Modified the RPC layer to pass exceptions over the wire
if they are serializable.  They are still wrapped but at
least the original exception is intact if callers want to 
peel it out.
2015-12-22 05:33:44 -05:00
normen
fd4f9789cc Merge pull request #391 from NemesisMate/patch-5
Fixed BetterCharacterControl "flickering" when not moving.
2015-12-18 16:54:39 +01:00
NemesisMate
abdd739437 Fixed BetterCharacterControl "flickering" when not moving.
Sometimes, when the BetterCharacterControl is not moving, it flickers due it physics being always active. The reason for it being always active is that on the prePhysicsTick method it always set the rigidBody's linear velocity (and the method PhysicsRigidBody.setLinearVelocity(Vector3f) reactivates the physics each time is called).

The fix consist on just comparing if the current velocity and the setting one aren't the same and, thus, not setting it (using ZERO_TOLERANCE instead 0 to best results).
2015-12-18 12:11:54 +00:00
NemesisMate
19577c3288 Fixed a possible bug in TextureAtlas.java
It seems that the variable was the wrong one when adding the normal texture to the atlas.
2015-12-15 19:13:12 +00:00
Paul Speed
b006204c0f Various warning-related cleanups. Added @Overrides
and removed some manual unboxing.
2015-12-05 22:14:36 -05:00
Paul Speed
3189323c2f Converted manual array + list management over to just use SafeArrayList.
It was a class added after this code.
2015-12-05 20:00:52 -05:00
Paul Speed
46794e251d Allow the caller to override the axis' default dead
zone configured at startup.
2015-12-05 06:27:17 -05:00
Paul Speed
2a2c71dadf Modified to pay attention to the joystick axis'
dead zone if it is larger than the globally defined
dead zone.
2015-12-05 06:26:55 -05:00
Paul Speed
84ccd71873 Added additional information to the range check exception. 2015-12-05 04:16:56 -05:00
Paul Speed
14e84a4dd7 Added a constructor that just takes the service's
default channel.
2015-12-05 04:15:48 -05:00
Paul Speed
99742a76f2 Added additional trace logging. 2015-12-05 04:15:28 -05:00
Paul Speed
15afcfb735 Added the error information to the toString() if
there is error information to show.
2015-12-05 04:05:49 -05:00
jmekaelthas
8958459ef9 Bugfix: fixed a bug that caused NURB lines did not use their proper
resolution.
2015-12-01 22:31:54 +01:00
jmekaelthas
7e185b25df Bugfix: fixed a bug that caused Bezier objects to use only the vertices
of its first bezier line (out of many).
2015-12-01 20:50:01 +01:00
jmekaelthas
153cb27d78 Bugfix: fixed error in Inverse Kinematics constraint (animations with
these constraint should look better now, although not yet perfect ;).
2015-11-29 19:34:03 +01:00
Nehon
6b262e56c8 Fixed the javadoc fixes :D 2015-11-26 21:00:27 +01:00
Nehon
2648f67b34 Javadoc in RenderManager : Fixed some typos and added some for light mode methods. 2015-11-26 20:47:44 +01:00
Kirill Vainer
d5ba6b92bd Merge pull request #384 from Dokthar/fix_physicsRigidBody_read
fix #383 : in PhysicsRigidBody the old statement in read() (l.741) was always false
2015-11-22 12:49:33 -05:00
Paul Speed
197ed33c9e Added some missing @Overrides and finals. 2015-11-22 05:23:24 -05:00
Paul Speed
388a8a8bd7 Added a bunch of lower level logging that can be
used to either watch traffic or debug serialization
issues, etc..
Went ahead and instrumented the service manager while
I was at it... and fixed a potential NPE in the AbstractService's
toString() method.
Fixed a bug in the DefaultClient where it couldn't be shutdown
if attempted before the services had been started.
2015-11-22 05:13:12 -05:00
Dokthar
00c687b4d8 fix #383 : in PhysicsRigidBody the old statement in read() (l.741) was always false 2015-11-21 13:06:30 +01:00
Nehon
022899c199 Changed the way texture previews are done in the SDK.
All texture loading is now done on JME's thread and not on the awt thread anymore to avoid to stall the UI when loading big textures.
2015-11-20 16:29:08 +01:00
Julien Gouesse
361cb0893a Merge pull request #379 from davidB/fix_opengl3
jogl: use pixel unit for window's dimension (fix issue on MaxOS X)
2015-11-20 14:04:32 +01:00
Nehon
50a9a8636b HDRLoader, reverted the change that loaded the HDR files in sRGB space, since the specs says that data is in linear space for this format. 2015-11-20 08:59:42 +01:00
Nehon
822d327236 Image now properly save it's colorSpace when saved 2015-11-18 15:06:58 +01:00
Nehon
ad4634ce04 .hdr files are now loaded in sRGB color space as there is no reason it should be loaded in linear space. 2015-11-17 14:54:59 +01:00
Paul Speed
d57147e392 A small optimization. The BitmapTextPage does not
require custom updates so it now signifies that.
2015-11-17 02:39:46 -05:00
Paul Speed
cde35a005a Just fixing an indent. 2015-11-17 01:46:38 -05:00
Paul Speed
31cab674b3 Removing the dodgy 'optimization' that broke some people and caused other 'makeup' changes to better support the dodginess.
(And I do realize I have the benefit of analyzing the aftermath, hindsight is 20/20, etc.)  Included a big long comment about the right way to implement this optimization.
2015-11-16 03:03:53 -05:00
Paul Speed
3a4624a5fe Added a bunch of javadoc and changed the names of one of the
method sets to be a little less confusing.
2015-11-16 02:38:45 -05:00
Paul Speed
95aa2d72d0 Added a basic RMI service that uses the RPC service.
I'll add some more javadoc in a sec.
2015-11-16 02:04:31 -05:00
Paul Speed
95603c46c4 Added a better check. The old one had the side-effect
of registering the class if it wasn't already registered.
2015-11-16 02:03:27 -05:00
Paul Speed
dfe4b083f0 Added a check to try and detect the case where a server and
a client are running on the same instance.  This should cover
99% of the cases where this would come up... and the others
can't really use this service anyway and so must disable it.
2015-11-15 02:24:18 -05:00
Paul Speed
4b2f361026 Modified to skip registering the message classes if they are
already registered.  This avoids one of the issues of a client
running in the same JVM as a server that already registered these
classes.  This was the easy fix.
2015-11-15 02:22:53 -05:00
Paul Speed
2c337123a9 Added a test/example of running a client and a server in the
same JVM.  a) this makes a good example of self-hosted style
LAN multiplayer games, and b) it causes the serialization bug
to show up so I can fix it.  (Already fixed it and that commit
will be next... it's almost like TDD.)
2015-11-15 02:15:30 -05:00
Paul Speed
e832ad5c94 Added an isRunning() method so that other classes can
check if the server is still running.
2015-11-15 02:14:26 -05:00
Paul Speed
17df399f68 Commented out the message class serialization and left
a comment as to why: in 3.1 there is a default service
that automatically does this on clients.
2015-11-15 02:13:58 -05:00
Paul Speed
cea36ffc47 Added some more client-side error and connection handling
to make a more complete example.  It should now be relatively
well behaved through all normal shutdown paths.
Modified the server to gracefully close the client connections
when shutting down rather than just letting the sockets die.
2015-11-15 01:53:32 -05:00