Commit Graph

  • 01592d2593 Reorganized basic permissions handling to be more cleanly extensible. Michael Bayne 2005-03-02 03:22:27 +00:00
  • 713e76373b Allow the authenticator to slip some authentication data down the line to the PresentsClient which can then use it to fill in things like access control information for the user. We could use this to replace the UserStash mechanism we use on Yohoho, but that works so I doubt I'll do that. However, this is needed to do things the more elegant way on future projects, like Game Gardens. Michael Bayne 2005-03-02 03:08:23 +00:00
  • 40eb978a96 Added a simple turn display widget (for game gardens). Ray Greenwell 2005-03-02 02:33:46 +00:00
  • a9df96d6dd Fixed a bug with days not having a defined next-highest unit, which caused day values to incorrectly always display as 0. I'm surprised nobody else noticed this, it's right there on the blockade panel. Ray Greenwell 2005-03-01 01:16:01 +00:00
  • 9733fc2303 Added support for looping sounds. Ray Greenwell 2005-02-28 19:29:44 +00:00
  • a784ce8a79 Comment change so that I can check it in with the right umask.. grr. Ray Greenwell 2005-02-26 14:30:52 +00:00
  • 008b9ad896 When a new default access controller is set, switch any objects that were using the old default (usually null) to use the new default. Ray Greenwell 2005-02-26 14:04:25 +00:00
  • 708431bf86 Allow the SceneFactory to be set after construction. Ray Greenwell 2005-02-25 00:59:35 +00:00
  • 8491496226 Actually, it was stupid of me to handle a non-RandomAccess list differently, as they still implement get() and however they do that internally is bound to be more efficient than doing the same thing through an Iterator. Ray Greenwell 2005-02-24 06:52:09 +00:00
  • a107aef489 Added a form of pickRandom that takes a List argument. I just can't bear to see a useless object created (an Iterator) and potentially a great many objects iterated past in order to find the chosen random object when the original List is usually RandomAccess. Ray Greenwell 2005-02-24 06:45:25 +00:00
  • 44f2a29f4f Regenerated with updated copyright information. Michael Bayne 2005-02-22 18:56:52 +00:00
  • eac29cb3b9 Small documentation addition. Michael Bayne 2005-02-22 18:55:09 +00:00
  • 53be9a74ca Added more sanity checking to portal traversal to avoid spurious error messages if repeat requests come in or for some reason the client and server ever differ in opinion as to which scene the player is in. Michael Bayne 2005-02-22 18:54:48 +00:00
  • 7ec0eeca56 Added a bevy of interfaces that Sprites can implement to be recognized by the MediaPanel as sprites that interact in some standard way with the mouse. Modified existing ButtonSprite to work this new way, and it now implements CommandSprite, ArmingSprite, and DisableableSprite. One method name changed. Ray Greenwell 2005-02-22 04:14:44 +00:00
  • 097730e84d Update for 2005. Michael Bayne 2005-02-20 00:37:52 +00:00
  • 121f6d7e53 Did the refactoring necessary to get the client and server to live happily together in one JVM and both interoperate with the AWT thread in a manner so harmonious as to bring a tear to the eye. This was surprisingly much easier that I expected, thanks to my eminently sensible initial design, I'm sure. ;) Michael Bayne 2005-02-20 00:37:34 +00:00
  • 41fb0b1b80 The PuzzleService was superfluous. The ParlorService can handle starting single player games and indeed should because it's useful outside the context of puzzles and their ilk. Michael Bayne 2005-02-19 22:38:06 +00:00
  • 4036d12121 Further test fixes. Michael Bayne 2005-02-17 02:14:44 +00:00
  • e8705b6137 We need more libraries. Michael Bayne 2005-02-17 02:07:10 +00:00
  • c0cd2cd3ca Further repairs to the build configuration. Michael Bayne 2005-02-17 02:05:35 +00:00
  • 2198748dcb Brought the tests back into the land of compilability. Michael Bayne 2005-02-17 01:54:54 +00:00
  • ebf4d7cfa2 Now throws the proper type of exception when a color name lookup fails. Ted V 2005-02-16 22:21:01 +00:00
  • 785259a4a8 Quite obviously the parsing should check for integers, not bytes. Ted V 2005-02-15 21:44:35 +00:00
  • d618c12c93 Added accessor function that handles color name -> id lookups. Could be made faster with some sort of reverse string lookup table, but it doesn't seem worth the overhead right now. Ted V 2005-02-15 20:53:49 +00:00
  • 93794d5a77 Fixed some comment grammar. Michael Bayne 2005-02-15 01:02:17 +00:00
  • 877892b4c8 Allow the ZoneManager to veto a body's departure from the zone. Michael Bayne 2005-02-15 00:58:16 +00:00
  • 7cf98ba971 Automatically lay out our label if it has not already been. Michael Bayne 2005-02-14 03:01:28 +00:00
  • 99d382fdbf Updated the constructor. Michael Bayne 2005-02-14 03:01:14 +00:00
  • 459d677a2f Provide the AbstractMediaManager with a reference to the panel it's working with rather than just the RegionManager. Michael Bayne 2005-02-14 03:00:58 +00:00
  • 113ca65f7a We need to know who did the dirty deed. Michael Bayne 2005-02-10 22:47:56 +00:00
  • 8f9af12fdb Use a direct buffer for our overflow queue partial buffer as well because there will be relatively few of those (at most one per client that is experiencing lag) and while the client is experiencing lag we will be trying to write their data once per pass through the sockets (which could be hundreds of times a second) and we don't want each write attempt to result in the creation of a temporary direct buffer. Michael Bayne 2005-02-10 04:39:23 +00:00
  • 10e84f9471 Gee wally, now that sound is fixed, let's go back to expiring late sounds at a reasonable time again. Ray Greenwell 2005-02-10 04:00:12 +00:00
  • 5ff24097a7 Tested and verified: the bug is fixed. Removed extra debugging, found another instance of append() that needed to be changed to appendLoud(). Ray Greenwell 2005-02-09 23:02:39 +00:00
  • 2ff14aa456 Well then! That last bit of debugging has finally shown me the light! Queue.append() only does a notify() if the queue was previously empty. So when the dobj thread was requesting two sounds one after another, it only woke up one player thread, which played the first sound and then came back 'round to play the next sound after it was done. The next sound was usually expired by that time. Ray Greenwell 2005-02-09 22:34:55 +00:00
  • 67521e973d Even more logging, to ensure that two different threads are indeed playing these two different sounds. Ray Greenwell 2005-02-09 22:02:22 +00:00
  • 86757cb55e Even more verbose logging to figure out why the sound manager is being so slow. Ray Greenwell 2005-02-09 20:59:14 +00:00
  • f027797120 Added some more info to some logging, cleaned up formatting of logging. Ray Greenwell 2005-02-09 19:55:31 +00:00
  • 60c5f60a23 Added additional verbose logging to figure out why some clips take so long to get played. Ray Greenwell 2005-02-08 07:09:05 +00:00
  • cb6da9d5bc Playing with the sound under windows, it seems that a lot of sounds are getting dropped because they're taking too long to play. Extended the max delay to 1000ms, which will surely help more sounds play, but may not be worth it. Hey, we've got a test server to test on... Ray Greenwell 2005-02-08 06:26:27 +00:00
  • 45ec296ba0 Here's a giant performance improvement: the current Presents architecture flattens messages into a buffer and then passes that bucket to a SocketChannel.write() method which is part of the NIO business. If said buffer is a "direct" buffer, the write() method will in theory do high-performance shit like DMA the data right to the network card. If it's not a direct buffer, Sun apparently makes a temporary direct buffer, copies the data into it and passes that on to the underlying socket send() call. We weren't using direct buffers which means that we were copying everything one more time than needed (not a huge deal) and that we were allocating a direct buffer for every message (a much bigger deal). This should take a serious load off of the I/O thread and fortunately we can test it on Ice to make sure it doesn't do anything super crazy. Michael Bayne 2005-02-08 05:08:47 +00:00
  • 53c3435854 Handle cases where one or the other direction does not scroll for lack of need. Michael Bayne 2005-02-07 03:53:54 +00:00
  • ff4f9d4a9c A helper that makes it easy to wire up scrollbars or a scrollbox to a virtual media panel. Michael Bayne 2005-02-07 03:37:39 +00:00
  • 02db6a2b73 Further cross-"platform" jockeying. Michael Bayne 2005-02-03 01:59:59 +00:00
  • 40b6fc31d7 More jockeying to make things happy with Linux and FreeBSD. Michael Bayne 2005-02-03 01:30:33 +00:00
  • d49873820d Use names that correspond with System.getProperty("os.name"). Michael Bayne 2005-02-03 01:25:21 +00:00
  • 279849151c Use names that correspond with System.getProperty("os.name"). Michael Bayne 2005-02-03 01:24:57 +00:00
  • 924ab5c9e6 We've got crablegs! And a special Makefile for Linux and FreeBSD. Michael Bayne 2005-02-03 01:22:28 +00:00
  • ecf7c7f415 Fuck me riding a pony; whatever goddamned make that FreeBSD uses is sufficiently incompatible with GNU make that I'd rather just have two whole separate goddamned directories with their own Makefile than try to get everyone to agree on how to do things. Michael Bayne 2005-02-03 01:16:12 +00:00
  • f26c58ef4d Revamped things to work in multiple flavors of Joonix. Michael Bayne 2005-02-03 01:02:58 +00:00
  • f7109f64bf Was doing some debugging; opted to leave the log import checked in. Ted V 2005-02-01 23:11:42 +00:00
  • 66321690e6 Animation now accounts for X acceleration. Ted V 2005-02-01 20:42:21 +00:00
  • 6206d9f71b Added construction interface for X axis acceleration. Ted V 2005-02-01 20:22:09 +00:00
  • bf463e46e9 Left logging import. Ted V 2005-01-28 22:52:53 +00:00
  • 42fb1f095b Needed some debug information from this class; figured I'd leave the Log import in there. Ted V 2005-01-28 21:13:27 +00:00
  • 56417cdb0a Indicate whether we rejected an attempt to logon because we're still in the throes of a previous connection. Also don't spuriously recreate our ticker because it's very possible for logon() to be called and not logoff(), logon() might fail, for example. Michael Bayne 2005-01-28 05:03:37 +00:00
  • 44be1bda18 Fixed bug where action animations and sprites weren't being removed when all animations and sprites were cleared out. Ted V 2005-01-28 03:28:38 +00:00
  • 81487748dc Scale animations now report when they've finished. Ted V 2005-01-28 00:07:56 +00:00
  • d8749a8b41 Bunch of updates to handle actual drawing of the image. Some bug fixes too. Ted V 2005-01-27 23:59:39 +00:00
  • 4033d08113 Most of the class has been rewritten. Ted V 2005-01-27 21:17:59 +00:00
  • cdb7284ea2 Skeleton of a scaling animation stolen from GleamAnimation. Nothing has been changed, except the names to protect the innocent. Ted V 2005-01-27 20:49:34 +00:00
  • aa80b920c8 More documentation updates. Michael Bayne 2005-01-27 04:48:00 +00:00
  • ae5105185c More progress on our glorious Presents documentation. Michael Bayne 2005-01-27 04:16:45 +00:00
  • c11e8c4d3c The beginnings of documentation for the Presents distributed object system. Oh the complexity. Michael Bayne 2005-01-27 01:55:48 +00:00
  • dc09c1214d Added getTimeString() which returns more than one element of a duration (example: 3 hours, 12 minutes and 32 seconds). Ray Greenwell 2005-01-27 00:46:44 +00:00
  • d2ea985abb Regenerated invocation receivers; fixing a javadoc booch in the process. Michael Bayne 2005-01-24 23:13:00 +00:00
  • afabea71ad Big fat Bernie javadoc cleanup. Michael Bayne 2005-01-24 23:08:21 +00:00
  • dd04679568 Deal with the new Invoker.UnitProfile when reporting profiling statistics, changed the output format to be the same as the one for DObjectManager profiling output. Michael Bayne 2005-01-24 17:17:27 +00:00
  • be93e5eb12 Make sure to catch any error while processing our events, not just when actually dispatching the event to subscribers. We can't trust anyone. Michael Bayne 2005-01-24 07:59:31 +00:00
  • 05d72fb406 In the fix for the macintosh copy area bug, it's pointless to compute the rectangle of the area that would have been copied, as we know that the _entire_ visible area is now dirty due to the failed copy. Replace the list of dirty rectangles with one rectangle encompassing everything, it will cut down on the iterations in the paint() method and should improve performance on the JVM that exhibits the copyArea bug. Ray Greenwell 2005-01-21 23:59:04 +00:00
  • 69fd36030f Added support for using a custom classloader when loading message bundles. Michael Bayne 2005-01-20 16:32:10 +00:00
  • 8f40cfa2e3 Be sure to mark all the sound playing threads as daemon. Ray Greenwell 2005-01-20 00:07:27 +00:00
  • 64b5b856ca We need to translate mouse wheel events as well. Michael Bayne 2005-01-19 16:09:17 +00:00
  • 2b085bd8c2 Finished a weekend project: rewrote the SoundManager. Ray Greenwell 2005-01-17 23:30:38 +00:00
  • f2a5845db9 GameManager was calling gameDidEnd for games that never began. Changed to check that the game was actually in play. Andrzej Kapolka 2005-01-14 22:49:13 +00:00
  • 93ef73095e Make it possible for external entities to add delegates. Michael Bayne 2005-01-14 17:06:23 +00:00
  • b295fb2630 Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code. Ray Greenwell 2005-01-08 22:05:00 +00:00
  • 8446cf4f78 We can't clone null. Ray Greenwell 2005-01-08 22:02:27 +00:00
  • 033e3984b6 Added a potentially dangerous temporary hack to deal with people not having compatible CreateAccountCredentials, and being told that our servers are down when they try to create an account. Ray Greenwell 2005-01-06 19:28:53 +00:00
  • c59290c91f Allow tables of one player which are started immediately. Michael Bayne 2005-01-06 07:32:06 +00:00
  • 5ba72dce1a Occam's razor. Ray Greenwell 2005-01-05 08:07:13 +00:00
  • 61c0dde5d5 Regenerated the distributed objects with the new clone happy bits. Michael Bayne 2005-01-05 06:46:11 +00:00
  • e5acc3e45f More DObject fun! We need to keep a careful separation for container objects (DSet, arrays) in a DEvent (which should not change as a result of other events being applied) and those in the object itself (which do change and evolve as events are applied to the object). Michael Bayne 2005-01-05 06:24:11 +00:00
  • 7777a14c9c DSet already complains if we add a duplicate; no need to do so twice. Michael Bayne 2005-01-05 06:00:37 +00:00
  • 920726f9f9 Noticed some other cleanup that could now be done. Michael Bayne 2004-12-31 05:31:53 +00:00
  • 0127ccba96 Only Yohoho needs the game object registered as an auxiliary source because it plays games in a special place rather than actually moving the player into the game room which naturally registers the place object as a chat source. Fortunately, we can implement the necessary hackery to support Yohoho in a reasonably generic manner. Michael Bayne 2004-12-31 05:30:38 +00:00
  • f9f3d784cf My laptop repeatedly gets the sound looping bug, and I noticed that it goes for about 30 seconds before stopping. We keep the line open for 30 seconds, waiting for another sound, and there must be a bug in the Java libraries that sometimes loops the end of the sound. Expire LineSpoolers after 1 second. If this works I may restructure things so that the threads stay around longer but the lines get closed immediately after the drain delay. Ray Greenwell 2004-12-29 21:56:58 +00:00
  • a6da0baf48 Regenerated in the new DObject world order. Michael Bayne 2004-12-28 03:51:47 +00:00
  • 55a0ab91f7 Regenerated our DObject derivations in the new world order. Michael Bayne 2004-12-28 03:51:29 +00:00
  • d27b150365 Comment fixy. Michael Bayne 2004-12-28 03:50:07 +00:00
  • 9386fabeee Use the new DObject.changeAttribute() instead of hand-constructing an AttributeChangedEvent which is no longer allowed. Michael Bayne 2004-12-28 03:49:23 +00:00
  • 1fde5f69c0 Added a getter for the frame's manager. Michael Bayne 2004-12-28 03:48:40 +00:00
  • 1d976ceaf8 Merry Christmas to the server CPUs. It occurred to me that we could accomplish our "previous value" support in the distributed object system without using reflection and could also avoid using reflection in the case where we have already applied the event on the server (which is generally the case on the server). Michael Bayne 2004-12-28 03:48:07 +00:00
  • bd80c348eb The great Interval revamp. There is no more SafeInterval, instead Intervals can be constructed with a RunQueue to use for expiring. PresentsDObjectMgr implements RunQueue. Client has a getRunQueue() method to get the client side RunQueue. Ray Greenwell 2004-12-22 19:23:00 +00:00
  • 8ee6cb6fae There is no more nodemap.jar Ray Greenwell 2004-12-22 19:00:30 +00:00
  • 60582d2f5c May as well let the PAUSE key pause/unpause, and cleaned up comments. Ray Greenwell 2004-12-22 00:23:10 +00:00
  • 6b8ac486b3 Removed ancient nodemap stuff of questionable value. Ray Greenwell 2004-12-22 00:04:07 +00:00
  • 19aaa0fa3c Rather than greatly complicating the user interface (and code) for defining custom keys to include a 'global' section, I've just re-added the P key in a hard-coded manner. If the P key is pressed, the puzzle isn't already paused, and the user has not redefined P to perform some other command in the puzzle, it will pause. Ray Greenwell 2004-12-20 23:46:36 +00:00
  • 7afefd747b Only allow sprites and objects to be clicked with the first mouse button. Will this change be as ill received as removing "P" from chat? Who knows. Ray Greenwell 2004-12-15 23:01:45 +00:00
  • cea4f80676 Compute from the screen size the longest we will allow our A* paths to reach while path finding. Michael Bayne 2004-12-15 03:29:32 +00:00
  • b56061da46 Added a default implementation of getRatingTypeId() as well since that's a wacky notion from Yohoho that shouldn't really be in parlor in the first place. Michael Bayne 2004-12-15 02:39:58 +00:00