Commit Graph

  • b32ca52809 Fixed up logging; added code to mark a location as reserved when we return it from a call to getUnoccupiedLocation(). Anyone can move into the location (regardless of who reserved it), but it won't be reported as unoccupied until someone enters it and leaves from it once again. Michael Bayne 2002-06-20 22:38:58 +00:00
  • 01d2318133 Convenience method for reporting username and object oid easily. Michael Bayne 2002-06-20 22:37:32 +00:00
  • 9f61770db1 Removed verbose debugging. Michael Bayne 2002-06-20 22:16:09 +00:00
  • eb3a4909d6 Moved getUnoccupiedLocation() into SpotSceneManager; created SpotSceneUtil which contains the routines to do it; modified said routines to allow them to be called with the internal location tracking array maintained by the spot scene manager because that is the only thing guaranteed to be truly up to date; made use of where() in spot scene manager's log messages. Michael Bayne 2002-06-20 22:14:58 +00:00
  • cb14ec144c Use IntListUtil. Michael Bayne 2002-06-20 22:13:39 +00:00
  • 300312782a Added a StringUtil Formatter for printing out only the user oid and location id from an occupantInfo set. Michael Bayne 2002-06-20 22:13:20 +00:00
  • fadf226677 Added convenient where() method to PlaceManager which is used when logging errors to report the "place" in which the error happen. The SceneManager overrides this to include scene information. Scrupulous use will make log messages much more scrutable. Michael Bayne 2002-06-20 22:12:23 +00:00
  • d88e6bc490 Provide access to scene name. Michael Bayne 2002-06-20 22:10:56 +00:00
  • 1f80cf9805 Cleaned up some sprite business: better documented various things, changed local member names to reflect their actual functionality, flipped the sign of the origin offset so that it's an offset rather than a negative offset. Michael Bayne 2002-06-20 21:42:53 +00:00
  • 29cd8ec051 Sanity check the sources we're passed for compositing. Michael Bayne 2002-06-20 18:31:03 +00:00
  • 15e23c1076 Only fetch our default GraphicsConfiguration if we're using it. Michael Bayne 2002-06-20 17:54:26 +00:00
  • b09989f928 Added getLabel(). Walter Korman 2002-06-20 09:01:28 +00:00
  • ea31232166 Added code to ensure that the scene view is not scrolled outside the bounds described by the view model. Michael Bayne 2002-06-20 07:50:33 +00:00
  • fd05e9cdbc Added access to the pathable's bounds. Michael Bayne 2002-06-20 07:50:02 +00:00
  • 7562ba50f5 Fixed bug when rendering scrolling view (need to set the clip properly before scrolling); added encloses pathable mode which is like follows pathable except that the pathable is not tracked with the center of the screen but instead their bounds are kept inside the visible area. Michael Bayne 2002-06-20 07:49:44 +00:00
  • 43191a0512 Minor reformatting. Walter Korman 2002-06-20 07:47:14 +00:00
  • b0ab364885 Zoiks! Ze bug! Michael Bayne 2002-06-20 00:58:36 +00:00
  • 5db81eb137 Don't check for sprite collisions presently. We'll have to revisit this when we actually want to use the collision support. Michael Bayne 2002-06-20 00:54:53 +00:00
  • d18ce7a79d Call GameManagerDelegate.setAI() when a player is set to an AI player. Don't expose the game manager's internal AI skill level array to external parties. Walter Korman 2002-06-19 23:41:25 +00:00
  • 0ddf11ab57 Major revampage to support composited actions that create images that are exactly big enough to accomodate all of their trimmed components and no bigger. Michael Bayne 2002-06-19 23:31:57 +00:00
  • 330767e193 Cleaned up a few things related to render origin. If a derived class wants the render origin to be other than (_x, _y) it can update (_rxoff, _ryoff) when it is appropriate to do so, but we don't really need an overridden method to do that. Michael Bayne 2002-06-19 23:30:06 +00:00
  • 73ee48bc3f Provide access to our trimmed bounds. Michael Bayne 2002-06-19 23:28:14 +00:00
  • dd85c179f2 Updates to reflect cleanups. Michael Bayne 2002-06-19 23:24:19 +00:00
  • 5a98d450a1 Cleaned up; don't attempt to edit classes with no components; no need to use the FrameManager and MediaPanel for displaying sprites since we're not doing things properly anyway (properly meaning using a sprite manager and all the associated business). Michael Bayne 2002-06-19 23:24:04 +00:00
  • a3196fbad3 added inValidLocation() to check if an player is in a non-portal location within the room. Ray Greenwell 2002-06-19 23:22:51 +00:00
  • 5bfbc9f17a Provide access to player info via safer getter methods rather than giving away references to our internal arrays. Michael Bayne 2002-06-19 23:18:58 +00:00
  • 823bafb2f5 added ChatValidator interface, so that validators can be registered to veto speak or tell requests. Ray Greenwell 2002-06-19 23:12:48 +00:00
  • 6b8e19f011 Make the array of AI skill levels accessible so that delegates can figure out what kind of AI-related machinations they should engage in during startup. Added isAI() to allow checking whether a particular player index belongs to an AI player. Walter Korman 2002-06-19 23:06:08 +00:00
  • 8e4d4382bd ComponentBundlerTask now requires the action definitions. Michael Bayne 2002-06-19 21:15:47 +00:00
  • 50d78fecc4 removed unused method Ray Greenwell 2002-06-19 20:27:07 +00:00
  • 33158f5e8a Component bundling process now automatically generates trimmed tilesets and images from the untrimmed source tilesets and images. Michael Bayne 2002-06-19 08:33:14 +00:00
  • fcc65fc4d9 A utility class for generating a trimmed tileset (and associated trimmed image) from some other (presumably non-trimmed) tileset. Michael Bayne 2002-06-19 08:29:59 +00:00
  • 2c50a44608 Formatting fix. Michael Bayne 2002-06-19 08:28:55 +00:00
  • 38584bb12e Switch to using a subimage instead of clipping because clipping creates too much garbage. Michael Bayne 2002-06-19 08:28:25 +00:00
  • 1b6811d221 Tileset -> TileSet. Michael Bayne 2002-06-19 08:27:35 +00:00
  • 5214d15ac6 Tileset => TileSet; made getTileSetImage() public so that the trimming code can get to the underlying tileset image. Michael Bayne 2002-06-19 08:27:06 +00:00
  • 2c9be83574 Moved subimage creation into overridable method. Michael Bayne 2002-06-19 08:26:22 +00:00
  • f8c31a6432 More utility methods: one for creating a new image with the same configuration as another and one for computing a rectangle that bounds all non-transparent pixels in an image. Michael Bayne 2002-06-19 08:24:22 +00:00
  • 8ca5fc3857 We need to ensure that dirty regions are constrained to the bounds of the component in MediaPanel as well as VirtualMediaPanel. Michael Bayne 2002-06-19 07:41:37 +00:00
  • 1ef85b78d8 Worked around the Windows copyArea() bug; yay! Michael Bayne 2002-06-19 02:34:39 +00:00
  • 3976cc2c42 Cache our graphics objects. Michael Bayne 2002-06-19 00:52:34 +00:00
  • e91b6420b1 Go ahead and return our cached subimage since we have it. Michael Bayne 2002-06-19 00:20:49 +00:00
  • 30071e79c2 Lose the magic circle. Michael Bayne 2002-06-18 23:34:34 +00:00
  • 1f5cfa6f4c Updated to work with new media architecture. Michael Bayne 2002-06-18 22:38:55 +00:00
  • 4036904d0e Brought miso stuff into line with new media architecture; implemented various and sundry optimizations in the process. We love the spiral development. Michael Bayne 2002-06-18 22:38:12 +00:00
  • 7253a68c7c Death, taxes and refactoring: seriously revamped the low-level media code to handle scrolling in a much cleaner and happier way. There's now a VirtualMediaPanel which operates in virtual coordinates and can be made to "view" any location in those virtual coordinates. By changing the view, the view can be scrolled and the view can be made to center on a pathable (generally a sprite) which will cause it to scroll around as the pathable moves around in the virtual coordinate space. Michael Bayne 2002-06-18 22:25:33 +00:00
  • 4b29f806df We've discovered that setting the clipping rectangle generates a crapload of rectangle objects. Thus rendering hundreds of tiles each frame has an "undesirable" impact on garbage collection. I think Walter and I were seeing something like 400k per second of garbage. So we're back to extracting a subimage, which we're pretty sure doesn't copy the image data, but simply draws the cropped image data directly from the original rasters without creating shitloads of garbage. Michael Bayne 2002-06-18 22:19:56 +00:00
  • f84b6b1e26 Behave appropriately in circumstances where we have no data left to return but the caller asks for zero bytes. In such cases we are to return zero rather than -1 (which would indicate EOF). Michael Bayne 2002-06-18 22:07:38 +00:00
  • f91f47d73b Added ScreenTilePath, which does everything in screen coordinates, but after each movement it updates the sprite that it's moving to tell it the latest tile coordinates. Ray Greenwell 2002-06-18 21:22:34 +00:00
  • 1f32380f62 Descriptors are inequal if one has colorizations and the other doesn't. Walter Korman 2002-06-18 04:55:44 +00:00
  • abcc329e78 Expanded imports. Walter Korman 2002-06-18 02:35:10 +00:00
  • a68638ddb9 Added facility for toggling whether object footprints are to be shown. Walter Korman 2002-06-17 18:01:47 +00:00
  • e52a400a3f Allow specifying the color and stroke with which an edge is to be rendered. Walter Korman 2002-06-15 02:13:11 +00:00
  • 5599b715df Removed repaint on mouse-move intended only for use when debugging to highlight the last entered node. Walter Korman 2002-06-15 02:00:05 +00:00
  • 82ce5ad939 Commented out debugging-intended highlighting of the last entered node. Walter Korman 2002-06-15 01:59:43 +00:00
  • f3590ef1a0 Expanded imports. Walter Korman 2002-06-15 01:59:25 +00:00
  • 6c30814f60 Minor reformatting. Walter Korman 2002-06-15 01:59:12 +00:00
  • 0317828b1d Clone the occupant info before updating the location. This fixes the beamed-in NPP problem- they were updating their location on the server before the element added event was even distributed to the clients. Ray Greenwell 2002-06-14 23:03:44 +00:00
  • 830364c48d Increased the frame action cache size to 30 for now. We'll likely want to allow setting this externally in the near future, but we'll iron that out later when we get around to scrutinizing all of the caching business more closely. Walter Korman 2002-06-14 21:15:31 +00:00
  • d61c009a4d Updated to use fitRectInRect() to position the node tool tip. Walter Korman 2002-06-14 07:56:29 +00:00
  • 36a8a9672f zone moves and portal traversals can now have an optional result listener passed in. Ray Greenwell 2002-06-14 01:40:16 +00:00
  • 891e1a319f Return true if we send a traverse portal request, false if we don't. Michael Bayne 2002-06-14 01:27:53 +00:00
  • a7a427f972 Return true from moveTo() if we actually sent the request, false if the request was rejected out of hand. Michael Bayne 2002-06-14 01:24:49 +00:00
  • 25b22b4f11 Need to mark our last move request time regardless of whether we have a pending request outstanding. Michael Bayne 2002-06-14 01:19:16 +00:00
  • b9000bf08c Don't declare a pending moveTo request to be stale until at least a minute has gone by. This prevents us from getting shafted by double clicks. Michael Bayne 2002-06-14 00:57:49 +00:00
  • 541eb01446 Added a constructor that takes two Points and a direction. Ray Greenwell 2002-06-12 23:33:03 +00:00
  • 4f2ca1dae9 Undid last revision. Ray Greenwell 2002-06-12 23:31:42 +00:00
  • 4623c07fc2 Undid revisions 1.16 and 1.15: null tiles and invalid coordinates are unpassable again. Ray Greenwell 2002-06-12 23:30:40 +00:00
  • 9a27409a97 occam's razor Ray Greenwell 2002-06-12 21:51:19 +00:00
  • a3628a419c Upped the ante from my last modification: - invalid coordinates are traversable. - check to see if an out-of-bounds node is requested and gracefully create it. Ray Greenwell 2002-06-12 17:48:11 +00:00
  • 3f45a25bdb Store the current round id in the game object rather than tracking separately in the game manager and controller which can then get unhappily out of sync. Walter Korman 2002-06-12 07:59:19 +00:00
  • c1a92c761b Keep track of which locations are portals and don't track users when they move there and prevent more than one user from occupying a portal. Removed unused method. Ray Greenwell 2002-06-12 07:05:55 +00:00
  • eadfe2bad1 Don't make the occupant move to the portal location when they traverse it, they'll handle that themselves now. Ray Greenwell 2002-06-12 07:04:41 +00:00
  • e3df1a5894 Don't request to change locations if we're already there. Ray Greenwell 2002-06-12 07:03:23 +00:00
  • b27a863f62 behavior change: null tiles are passable. Hopefully this doesn't break anything, but it was required to make sprites walk off/on-screen. Ray Greenwell 2002-06-12 07:02:31 +00:00
  • 7de32e1c24 Be compatible with out superclass, LineSegmentPath, if someone calls it's addNode() method. Ray Greenwell 2002-06-12 07:01:29 +00:00
  • 7ffa3087e1 Don't switch to a rest action if null is returned by getRestingAction() (used now in YoCharacterSprite) Ray Greenwell 2002-06-12 07:00:49 +00:00
  • ad5b77899f We want to truncate rather than round; it's faster and more consistent with the other math done in the rendering code. Michael Bayne 2002-06-12 01:11:55 +00:00
  • cfb8c77d2f If we're using a path to drive the view, we need to let it know when we scroll. Michael Bayne 2002-06-12 00:51:24 +00:00
  • d7a41e61d8 We need the ability to instruct the path *not* to scroll with the view (useful when the path is actually operating in virtual coordinates which are mapped to scrolled view coordinates by the pathable). Michael Bayne 2002-06-12 00:49:15 +00:00
  • 1a3ad13d6e Various and sundry revampage to make life easier when scrolling the media panel to follow a path. Michael Bayne 2002-06-11 21:40:52 +00:00
  • d05d0c8558 Added getPath() to provide access to the path being followed by the sprite. Michael Bayne 2002-06-11 05:56:44 +00:00
  • 544d2382ad Extracted position computation into static method. Michael Bayne 2002-06-11 02:39:14 +00:00
  • c1ccaac10d Javadoc fixes. Michael Bayne 2002-06-11 00:52:37 +00:00
  • 916513f306 Modified code that makes view follow path to not require an origin point which was a wacky hack in the first place. Michael Bayne 2002-06-11 00:05:31 +00:00
  • 4c589d3802 Fixed up to conform to new setPath() signature. Michael Bayne 2002-06-11 00:04:43 +00:00
  • cccd28ea9d Now that paths drive the scrolling of our view, we can go back to the simple line path calculations that don't suffer from the accumulated rounding errors that our previous method did. Michael Bayne 2002-06-11 00:03:30 +00:00
  • 0443a31294 extend SafeInterval Ray Greenwell 2002-06-10 21:37:13 +00:00
  • 7a9946e0ad Catch and report any exceptions thrown by Component.paint() to allow peacable continued frame painting in cases where a component gets in a bad way and fails to paint itself happily. Walter Korman 2002-06-10 21:31:56 +00:00
  • 43f7fc44c1 Modified simulator server interface to allow initializing the server with asynchronous notification when initialization is complete. Walter Korman 2002-06-10 19:16:41 +00:00
  • a74f3e4422 Fixed up the code that outlines uncommitted values in red. Michael Bayne 2002-06-07 18:48:41 +00:00
  • 60a02f3c39 Wired up the field editor to generate and receive attr changed events. Michael Bayne 2002-06-07 17:34:37 +00:00
  • 6202c1a463 Beginnings of runtime control panel stuff. Michael Bayne 2002-06-07 06:22:24 +00:00
  • b81ab2f176 added systemMessage() which can optionally queue up a message for when the game starts. Ray Greenwell 2002-06-06 22:13:56 +00:00
  • 89d7a1078c Handle the conversion from mixed to uppercase of fields like serverURL properly (was generating SERVER_U_R_L, now generates SERVER_URL). Michael Bayne 2002-06-06 07:18:10 +00:00
  • b9ba9b3d66 bugfix: ImageSprites constructed with their frames were hosed and never got drawn. Ray Greenwell 2002-06-05 23:38:18 +00:00
  • 4368463907 Created a SafeInterval that requeues itself on the client invoker thread (the main client thread, which will generally be the AWT thread unless the client is being used in a situation where there is no AWT) to avoid bad thread clashy. Michael Bayne 2002-06-05 02:50:57 +00:00
  • b46aa1c1c3 Default all games to rated. Ray Greenwell 2002-06-05 00:47:13 +00:00
  • 67492e13f0 Modified client observer notification process to: Michael Bayne 2002-06-04 16:34:24 +00:00
  • 1b3b5bb794 Wrote tools to ease the process of renaming tilesets. Michael Bayne 2002-06-04 02:50:02 +00:00