Commit Graph

  • f79d2de522 Don't bail out so early. We may have already updated the user object but need to update another place object with a subsequent call to updateOccupantStatus(). Michael Bayne 2002-11-06 04:12:39 +00:00
  • be6645db40 Have the sprite animation start the sprite along its desired path the first time the animation is ticked so that we don't get apparently physics defying behavior if someone creates a sprite and sprite animation but then doesn't activate the animation immediately. Michael Bayne 2002-11-06 01:40:39 +00:00
  • 1f44f241c3 Logging cleanups. Michael Bayne 2002-11-06 01:39:32 +00:00
  • 7acc400904 Added toString(). Walter Korman 2002-11-06 00:05:16 +00:00
  • 10c2251bdb This is tricky business; we need to be more careful about how we handle animations triggered on the completion of previous animations so as not to booch things if a triggered animation is queued up after all previous animations have already been started. Michael Bayne 2002-11-05 23:56:35 +00:00
  • 562111a95d Better debug logging. Michael Bayne 2002-11-05 21:53:56 +00:00
  • 07ee41afef Whoops! Didn't finish the job prior to that last checkin. Michael Bayne 2002-11-05 21:29:00 +00:00
  • b24800922a Changed addAnimation() to startAnimation(), made it protected. Removed getAnimationCount() because it's no longer valid. Michael Bayne 2002-11-05 21:27:49 +00:00
  • 913264c225 Documentation cleanup; removed vestigal _lastidx. Michael Bayne 2002-11-05 21:23:55 +00:00
  • f3fd0744ec Further clean up. We love helper classes. Michael Bayne 2002-11-05 21:17:32 +00:00
  • da1119b61a Cleaned up and robustified. There were issues. Michael Bayne 2002-11-05 21:12:55 +00:00
  • a1fb4647a5 Removed vestigal test logging. Michael Bayne 2002-11-05 21:03:31 +00:00
  • 2ab8861dba - Set the resource freeing timer to operate in non-repeating mode, since I previously stopped it every time it fired anyway. - Enforce a maximum queue size for played sounds so that things don't get out of hand. Ray Greenwell 2002-11-05 21:02:03 +00:00
  • 3eba0dcf13 Animation sequencer revamp: animations can be added incrementally; animations can be cued on the completion of the previous animation; runnables can be provided for invocation upon animation completion or in place of an animation in the chain. Michael Bayne 2002-11-05 20:53:53 +00:00
  • d5dbc514ca Use observer lists. Michael Bayne 2002-11-05 20:52:39 +00:00
  • 400b8ca638 Use ObserverList; provide timestamp to animation events. Michael Bayne 2002-11-05 20:51:50 +00:00
  • 144cf2299a Provide a timestamp with animation events. Michael Bayne 2002-11-05 20:51:13 +00:00
  • ece79bc86c Use observer lists for our observers instead of array lists. Michael Bayne 2002-11-05 20:50:42 +00:00
  • 6a2cc6a16f optimize common case of having no dirty rectangles Ray Greenwell 2002-11-05 18:52:11 +00:00
  • e05341f035 When the JViewport scrolls its components, it simply calls setLocation() which results in the component (and every other component in between that component and the Sun) becoming invalid. Unfortunately, it isn't kind enough to also let the RepaintManager know about its jokey business, and so things simply remain invalid until some other joker comes along and invalidates everything on God's green earth (like the JTextField). We hack in a call to revalidate() on our poor unsuspecting scrolled component so that everything will work properly. Michael Bayne 2002-11-05 05:51:18 +00:00
  • b69e92c992 The joy of Swing. We have to refuse to acknowlege JScrollPane instances as validate roots because when their children are invalidated, it causes the entire hierarchy to be invalidated, which we then must revalidate lest they live the rest of their mortal lives as invalids. Michael Bayne 2002-11-05 05:49:31 +00:00
  • b9fe4f4b01 Do our disconnect fiddling on the new safe sessionConnectionClosed() calldown method rather than the old wasUnmapped() which is called on the conmgr thread. Michael Bayne 2002-11-05 05:48:18 +00:00
  • 0cd73d2e56 Expose a calldown method that is called on the dobjmgr thread when a client loses their connection (either gracefully or not). Michael Bayne 2002-11-05 05:47:36 +00:00
  • 0608a27c67 Set the sprite's location to exactly what it needs to be in order for its image to render in the upper left of where we want it. Michael Bayne 2002-11-05 03:40:06 +00:00
  • 118f6b2363 Provide access to the x and y origin offsets. Michael Bayne 2002-11-05 03:38:59 +00:00
  • 260c304fbe Report more useful information if an already in-play game is requested to start. Michael Bayne 2002-11-05 02:24:42 +00:00
  • fa206b76ed Metrics! Added support for a "state of the server" report, in which managers can participate, reporting lies, damned lies and useful statistics. Initial participants include the client manager, the connection manager and the distributed object manager. Michael Bayne 2002-11-05 02:17:56 +00:00
  • 65bc9f7eff Return number of bytes written when writing a frame. Michael Bayne 2002-11-05 02:16:46 +00:00
  • d81451c2c1 Create ClusterObject instances for cluster chat objects. Michael Bayne 2002-11-04 23:02:10 +00:00
  • 6edc33c6ed Created a specialization of DObject to use for cluster event dispatch. This is mainly so that these objects show up as distinct in our DObject table reports. Michael Bayne 2002-11-04 22:33:39 +00:00
  • dea46e4cc0 Assume the keyboard focus, or relinquish it, when we're enabled or disabled respectively. Sanity-check before adding ourselves as a window focus listener when enabled to make sure we don't add ourselves more than once. Walter Korman 2002-11-04 22:28:58 +00:00
  • 01219cd341 Added ChatterValidator interface to validate usernames before they can be added to the 'chatters' list. Ray Greenwell 2002-11-04 20:06:15 +00:00
  • e8ee391d24 Report moveTo() for now as it may inform the hunt for the puzzle in world view bug. Michael Bayne 2002-11-03 01:15:36 +00:00
  • 3736670fb0 Refuse to set a null scene. Michael Bayne 2002-11-03 01:15:06 +00:00
  • 271d0ffb85 a timorous transition from listening to stop events to just calculating the time at which the sound will stop. Stop events are flawed. Ray Greenwell 2002-11-02 01:49:20 +00:00
  • c81cf22659 Don't complain about receiving playerReady() for non-players if the game is a party game. Walter Korman 2002-11-02 01:20:59 +00:00
  • 7b9f0332f1 Cleaned things up so that a single keyboard manager is to be constructed and used throughout an application that cares to make use of its functionality. Allow registering key observers that are notified of all key presses while the keyboard manager is active. Clear things out properly when the keyboard manager is disabled or reset. Walter Korman 2002-11-02 00:59:00 +00:00
  • 4cbca95044 Sound manager revamp. - let the AudioSystem figure out the file format from the sound data. - LRU cache for clip data - Don't free system resources from clips until at least 4 seconds after they're finished playing. Reuse clips (and their resources) when possible. Ray Greenwell 2002-11-02 00:26:55 +00:00
  • cf101fad52 Don't need dobjmgr in BodyProvider's constructor. Walter Korman 2002-11-01 21:33:49 +00:00
  • 1c5165e44b Update a user's status in their occupant info via the place manager as required, rather than directly in the place object. Don't need dobjmgr in constructor. Walter Korman 2002-11-01 21:33:21 +00:00
  • 9347fec9ce Populate newly created occupant info with the body object's status. Walter Korman 2002-11-01 21:32:23 +00:00
  • 383d500f4b Created LACK_ACCESS error code; use it for chat. Michael Bayne 2002-11-01 01:01:27 +00:00
  • 8f1bfa66ff Freak out when they don't have access. Not when they do. Michael Bayne 2002-11-01 00:57:50 +00:00
  • f25c028cca Initial work on a body service to allow setting a user's idled state. Walter Korman 2002-11-01 00:39:18 +00:00
  • b07fef8396 Added support for a global message bundle to which other bundles fall back if they can't find a message in their own list of strings. Michael Bayne 2002-11-01 00:01:37 +00:00
  • dd4b1c69c3 Added broadcast chat mechanism. Michael Bayne 2002-10-31 23:27:16 +00:00
  • 35f3173694 Added pluggable mechanism for feature-level access control. Michael Bayne 2002-10-31 21:32:39 +00:00
  • bb22856f76 Changed get...() to enumerate...(). Michael Bayne 2002-10-31 21:32:15 +00:00
  • 2e32b6c3a7 Periodically scan the clients table and end the session of any expired clients. Michael Bayne 2002-10-31 21:04:19 +00:00
  • 79259479c6 Make a note of when we started our session and when we most recently connected or disconnected. Use this to determine if a client has "expired" (meaning they've been disconnected for too long). Michael Bayne 2002-10-31 21:03:57 +00:00
  • 2f7399ed68 Added support for specifying a version string during the client authentication process. Michael Bayne 2002-10-31 18:44:34 +00:00
  • f1c8ccd347 Added PlaceManager.applyToOccupants(), and a generic useful OccupantOp. Walter Korman 2002-10-31 01:12:08 +00:00
  • 8252efeed1 No more ping verbosity. Michael Bayne 2002-10-30 18:46:33 +00:00
  • d9f7ebc792 Busted a cap in the accidentally-left-in verbose logging that pissed me off so much while I was sailing around. Take that you little fucker! How do you like that, huh? Walter Korman 2002-10-30 09:34:08 +00:00
  • c919832043 we actually want to report disconnect time with a granularity of SECOND Ray Greenwell 2002-10-30 01:56:17 +00:00
  • 316634eb58 report idle / disconnected times when whispering. Ray Greenwell 2002-10-30 01:47:12 +00:00
  • 7adcf49ef3 We need to allow the caller to specify the location in which the users status should be updated. Michael Bayne 2002-10-30 00:47:19 +00:00
  • 77ae8c7d0f Maintain user's status in their body object; also maintain a timestamp that indicates the time at which their status became what it is. Michael Bayne 2002-10-30 00:42:37 +00:00
  • 6b651c2f9c Don't request to dirty an invalid region if we scroll more than an entire screen vertically, instead request to dirty one with zero height. Michael Bayne 2002-10-30 00:27:37 +00:00
  • 92c6a8a564 Complain about invalid dirty regions; ignore useless regions. Michael Bayne 2002-10-30 00:26:53 +00:00
  • 98d19e055a Added facilities for idling out clients that have not communicated with the server in 90 seconds. The client is set up to ping the server if it has had nothing to say to it for other reasons in the last 60 seconds. Michael Bayne 2002-10-29 23:51:26 +00:00
  • af5b530b4c Fixed log message formatting. Walter Korman 2002-10-29 23:44:23 +00:00
  • 6334b6d690 Sanity-check dirty rectangles when painting the media panel. Walter Korman 2002-10-29 20:33:51 +00:00
  • 092e0f110c Sanity-check for null dirty rectangles. Walter Korman 2002-10-29 20:33:26 +00:00
  • e94ff3de5e Added shiftToContain(). Michael Bayne 2002-10-29 06:07:22 +00:00
  • 5c189fbb14 Added isWinner() and getWinnerIndex(). Walter Korman 2002-10-29 02:09:03 +00:00
  • b5e5f5f4e1 director audit: make sure things shut down well. Ray Greenwell 2002-10-28 00:22:38 +00:00
  • 883f912a30 Added gameWillEnd(), and GameObject.winners that details the winners of the game, as assigned by GameManager.assignWinners() when the game ends. Walter Korman 2002-10-27 23:54:32 +00:00
  • 556347c778 Clear things out when the client logs off. Walter Korman 2002-10-27 23:30:56 +00:00
  • c3743cd98c change to ChatDisplay.clear() method signature Ray Greenwell 2002-10-27 22:34:43 +00:00
  • 811ccd0bf1 when the client logs off, forcibly clear all chat displays Ray Greenwell 2002-10-27 22:34:11 +00:00
  • a3eb2e1b7a changed clear() -> clear(boolean force), if force is true, ChatDisplays may not ignore the request to clear. Ray Greenwell 2002-10-27 22:33:42 +00:00
  • 34e777c444 Debug log fiddle. Michael Bayne 2002-10-27 22:24:59 +00:00
  • e166a3efff Debug logging. Michael Bayne 2002-10-27 22:24:20 +00:00
  • 31baef425a Director audit: make sure these guys clean up after themselves when the client logs off. Michael Bayne 2002-10-27 22:23:14 +00:00
  • 7aa16f09e0 Removed obsolete comment. Michael Bayne 2002-10-27 22:19:21 +00:00
  • 2625d76084 Oh god, how did I accidentally leave this in here? Removed verbose logging. Walter Korman 2002-10-27 21:58:18 +00:00
  • 6781e1da56 Oh the price we pay for wanting to be able to logoff and log back on without exiting the client. Michael Bayne 2002-10-27 21:24:58 +00:00
  • 14a313486b Documentation repairs. Michael Bayne 2002-10-27 18:49:51 +00:00
  • 4b97ff9916 Fixed typo in javadoc. Walter Korman 2002-10-27 02:05:26 +00:00
  • a5576eed88 Factored out code to update a player's connection status to make it available for use by derived classes, and because it's cleaner this way. Walter Korman 2002-10-27 02:04:50 +00:00
  • 657a8a6f03 Initial version. Walter Korman 2002-10-27 02:03:40 +00:00
  • 28a3cde90b Use an ObserverList. Walter Korman 2002-10-27 02:03:13 +00:00
  • 76ba2840c4 Provide access to the values that existed previous to the application of events that change values. Michael Bayne 2002-10-27 01:33:43 +00:00
  • bb489caf39 New OccupantObserver signature. Michael Bayne 2002-10-27 01:25:18 +00:00
  • 561f25bb18 Provide the previous occupant info record when reporting an update so that observers can determine which fields have changed. Michael Bayne 2002-10-27 01:25:08 +00:00
  • c3eb45bbed Remove crack pipe; insert correct code. Michael Bayne 2002-10-26 23:21:19 +00:00
  • 2c2a9f819d Documented SafeScrollPane requirement. Michael Bayne 2002-10-26 20:31:15 +00:00
  • 868ce6f471 Added method for obtaining the sign of a value. Michael Bayne 2002-10-26 20:31:06 +00:00
  • fec48b8586 Track a user's connection status in their occupant info so that we can react to player disconnection, idle (implementation still pending), and reconnection appropriately. Added PlaceManager.bodyUpdated(). Walter Korman 2002-10-26 02:40:30 +00:00
  • ad344e05e1 Fixed typo in javadoc. Walter Korman 2002-10-26 02:37:59 +00:00
  • 286892639e Removed the vestigal return as it confused the comment. Michael Bayne 2002-10-25 21:15:27 +00:00
  • f7b462b9c2 added MuteObserver interface. Ray Greenwell 2002-10-25 20:32:41 +00:00
  • fd44620d57 Incorporate a hash of the resource URL into the cache directory so that bundles from one client installation don't overwrite bundles from another. Michael Bayne 2002-10-25 17:21:00 +00:00
  • beca9850aa Return null in getImageSource() if the specified bundle can't be found, as was documented, so that callers can do things like fall back to trying the classpath rather than having the previously-thrown IOException circumvent the rest of their antics. Walter Korman 2002-10-25 00:44:16 +00:00
  • dd912c3d7d Need to use getPlayerSlots() not getPlayerCount(). Michael Bayne 2002-10-24 19:05:46 +00:00
  • 58d33880b1 Added getPlayerSlots() which returns the maximum number of players allowed in the game and which doesn't choke if called before we have a game object. Modified code to use it where appropriate. Michael Bayne 2002-10-24 18:51:41 +00:00
  • d46423ea7b Added addPlayerAt(). Don't send gameReady notification to players when added since it's (at least currently) assumed that the puzzle has already been created and the player is fully present in the puzzle room. Sanity-check to disallow adding a player to a game more than once. Walter Korman 2002-10-24 07:01:08 +00:00
  • ea6733ba20 Log image dimensions when given a badly sized image. Walter Korman 2002-10-22 02:05:42 +00:00
  • 2a26c76006 Deal gracefully with images that we can't usefully tile (which includes the default 1x1 transparent image we're given if the image manager failed to load an image successfully.) Walter Korman 2002-10-22 02:02:40 +00:00