c7d26cea8e
Fixed scene rendering issues and improved performance.
Walter Korman
2001-10-22 18:21:42 +00:00
7bd5d86c34
Use a mouse adapter to listen to mouse events.
Walter Korman
2001-10-22 18:15:57 +00:00
841f732174
Pass the dirty rectangle for a dirty item to its paint() method so that we can join multiple dirty rectangles for an item into a single larger item but still rely on the dirty item to know how to paint itself.
Walter Korman
2001-10-22 18:14:57 +00:00
7d667778b1
We only need the dimensions for creating the offscreen image.
Walter Korman
2001-10-22 18:13:51 +00:00
1c6e066444
Allow sprite sub-classes to modify their render offset more easily.
Walter Korman
2001-10-22 18:13:09 +00:00
9b3af10abe
Renamed getPoint() for posterity.
Walter Korman
2001-10-22 18:11:59 +00:00
97940360dc
Removed image from toString().
Walter Korman
2001-10-22 18:11:25 +00:00
d5d89b93d8
Allow specifying the origin of the character image.
Walter Korman
2001-10-22 18:09:48 +00:00
ef97b42acd
Revamped iso scene rendering yet again to remove unnecessary dirty rectangle propagation and to only render the dirty portions of dirty objects and sprites.
Walter Korman
2001-10-19 23:26:31 +00:00
9b89a3f994
Back-end facilities for table matchmaking.
Michael Bayne
2001-10-19 22:02:36 +00:00
3a4d8f7d77
Added facilities for observing the creation of the place object.
Michael Bayne
2001-10-19 22:02:20 +00:00
cc5473745e
Modified startTurn() to get the player name from the _players array rather than looking up their body object (because we don't *really* need them to be online to start their turn).
Michael Bayne
2001-10-19 21:07:06 +00:00
85fec1b758
Coerce null strings into empty strings when marshalling.
Michael Bayne
2001-10-19 18:03:28 +00:00
33b76cd711
Added standard error code for internal server errors.
Michael Bayne
2001-10-19 18:03:06 +00:00
8c1d9e9a3d
Beginnings of table matchmaking services.
Michael Bayne
2001-10-19 02:04:29 +00:00
7844e4db85
Handle system messages.
Michael Bayne
2001-10-18 23:55:37 +00:00
094c1f1ce6
Added facilities for sending system messages to places which are like speak messages but come from the server and are displayed differently (like in all red or something because these will say things like "The system is shutting down in five minutes.")
Michael Bayne
2001-10-18 23:55:24 +00:00
a78728edcb
Add /clear for clearing the chat box.
Michael Bayne
2001-10-18 23:10:32 +00:00
69dd36f101
Created iso scene view model listener to handle modifications to the scene view model more elegantly. Updated editor and scene view panel to make use of said listener.
Walter Korman
2001-10-18 21:01:44 +00:00
35a0671430
Added isOurTurn() for derived classes to call to determine correctly whether or not it is their turn.
Michael Bayne
2001-10-18 20:53:23 +00:00
46ab6ff6e8
Added ability to remove the "Send" button for chat boxes in cramped spaces. Modified getPreferredSize() to return a width that isn't pathologically skinny and to avoid allowing the underlying JTextPane from requesting a ridiculously large width when it gets a nice long string of text to display.
Michael Bayne
2001-10-18 20:52:58 +00:00
d34b92b11c
Moved code for sending chat message to place into separate function that can be called by outside services.
Michael Bayne
2001-10-18 20:51:59 +00:00
bcae50aa08
Render the placing tile to facilitate proper tile placement. Fixed up tile highlighting accordingly on tile deletion and location actions.
Walter Korman
2001-10-18 20:25:46 +00:00
511f2e13ee
Fixed bug in checking whether two objects overlap horizontally.
Walter Korman
2001-10-18 20:24:05 +00:00
bfe6491eb1
Notes.
Michael Bayne
2001-10-18 18:41:56 +00:00
c14b396edf
Need to remove ourselves from the listener list as well as the subscriber list now that we do both.
Michael Bayne
2001-10-18 18:41:29 +00:00
8dcdfb7e8a
Added loggedOn() which indicates whether or not we're logged on and modified code not to try to logoff in logoff() unless we're actually logged on.
Michael Bayne
2001-10-18 18:40:18 +00:00
ff8fb2eae7
If the user clicks the close button, logoff only if we're logged on. Otherwise just exit.
Michael Bayne
2001-10-18 18:39:40 +00:00
01737e6486
Only start the game once when we receive all of our player ready notifications. If someone disconnects and comes back, we don't want to restart the game when they show up and we determine that everyone is once again available.
Michael Bayne
2001-10-18 18:39:10 +00:00
47d9b36675
Don't choke if a player is not around to receive their game ready notification.
Michael Bayne
2001-10-18 02:19:54 +00:00
26b7f1c6bb
Fixed bug with header length decoding.
Michael Bayne
2001-10-18 01:42:42 +00:00
fba67a6957
Allow username and initial room oid to be forced.
Michael Bayne
2001-10-18 01:40:40 +00:00
aa5d97023f
Report failed moveTo requests in case no one else does.
Michael Bayne
2001-10-18 01:40:04 +00:00
bed0a2facb
Invalidate objects, and any tiles, sprites or objects impacted by an object's dirty rectangle, when invalidating dirty rectangles. Commented out verbose logging.
Walter Korman
2001-10-17 23:39:06 +00:00
a140c24a53
Added getTurnHolderIndex().
Michael Bayne
2001-10-17 23:29:42 +00:00
3db1a86fac
Connect to my machine for now.
Michael Bayne
2001-10-17 23:29:18 +00:00
12e6bda817
Removed now-unused, eminently undesirable red anime character.
Walter Korman
2001-10-17 22:25:17 +00:00
1a1eda672d
Store and make available the parent object associated with the shadow tile.
Walter Korman
2001-10-17 22:22:03 +00:00
2ecd879692
More work on object placement, removal, and rendering within scenes.
Walter Korman
2001-10-17 22:21:22 +00:00
b0a8f3b6fc
Write the default scene tile in lieu of shadow tiles since shadow tiles will be re-generated when the object footprint is stamped on scene un-serialization.
Walter Korman
2001-10-17 22:18:22 +00:00
381dc55b69
Miscellaneous clean-up.
Walter Korman
2001-10-17 22:16:04 +00:00
336d99d0e9
Add sprites and objects to the dirty item list separately since the latter have a bounds associated with them. Dirty items can now paint themselves to simplify scene-specific code.
Walter Korman
2001-10-17 22:13:53 +00:00
c3229055e2
Basic implementation of an AnimatedView built on top of a JPanel.
Walter Korman
2001-10-17 22:12:20 +00:00
f0d1911a67
De-capitalize destScene to avoid connoting case-sensitivity.
Walter Korman
2001-10-17 22:11:35 +00:00
e12aad6622
Test tileset images.
Walter Korman
2001-10-17 22:10:50 +00:00
e62fede257
Removed obsolete building scene.
Walter Korman
2001-10-17 22:10:32 +00:00
d78cfe35eb
Added two test building tilesets and the pirate. Har!
Walter Korman
2001-10-17 22:10:04 +00:00
cd39295574
Added field marshaller for int arrays.
Michael Bayne
2001-10-17 02:56:51 +00:00
1e4d93205d
Added toString().
Michael Bayne
2001-10-17 02:49:37 +00:00
cc27d0fb60
Log a strack trace if we choke while trying to create a game manager.
Michael Bayne
2001-10-17 02:49:17 +00:00
9e6c104015
Stick the players array in the game object; also implemented toString().
Michael Bayne
2001-10-17 02:48:57 +00:00
f863620d39
Added a field marshaller for string array fields.
Michael Bayne
2001-10-17 02:48:11 +00:00
59d7b9028e
Notes.
Michael Bayne
2001-10-17 02:22:06 +00:00
afc7b6cfbb
Turned ObjectStreamException into a nested exception so that we can provide information on what exception caused the object serialization or unserialization to freak out.
Michael Bayne
2001-10-16 16:44:20 +00:00
dec8be5d57
Added size(), fixed two bugs in internal array expansion: one was that it was doubling the size of the internal array every time add() was called, whether it needed to or not, the other was that unserializing an empty set caused expand() to be called with -1 as the index from which mayhem would ensue.
Michael Bayne
2001-10-16 16:43:20 +00:00
3df5a5d1cb
Commented out debug logging.
Michael Bayne
2001-10-16 16:41:14 +00:00
00d57dfb92
Added character manager and character descriptions. Allow tile sets that have no specified layer. Made the scene editor gracefully handle the case where there are no valid tile sets for use with the selected scene layer.
Walter Korman
2001-10-15 23:53:43 +00:00
3773da79a6
More work on object tiles. Revamped isometric scene rendering to gather dirty sprites and objects and render after base and fringe tile layers. Add shadow tiles in the footprint of objects to make them impassable.
Walter Korman
2001-10-13 01:08:59 +00:00
eb3bc62083
Log a stack trace if we catch an error invoking an invocation response handler.
Michael Bayne
2001-10-12 20:26:00 +00:00
0ab1638611
When setting aggregate values (arrays, DSet objects), we need to clone them before setting their value in the distributed object to prevent subsequent events from modifying those aggregate values before the originals were propagated to the clients by the networking thread.
Michael Bayne
2001-10-12 20:12:48 +00:00
e8f5f9b904
We want Streamable.class.isAssignableFrom(clazz) rather than the other way around. I always mess that up because it's backwards from instanceof.
Michael Bayne
2001-10-12 20:11:53 +00:00
0b44521984
Implement clone().
Michael Bayne
2001-10-12 20:11:00 +00:00
654a0a316a
More turn management code and callbacks.
Michael Bayne
2001-10-12 19:31:35 +00:00
48df2b374f
Added didInit() so that derived classes can do initialization without having to import the arguments to the normal init().
Michael Bayne
2001-10-12 19:31:15 +00:00
60c829d921
Removed the PlaceObject argument from MessageHandler.handleEvent. You already have that around in 99% of the cases that you're implementing message handlers and you more likely have it casted to the type you're interested in and don't get any use out of that extra argument and have to import PlaceObject when you might not otherwise have had to.
Michael Bayne
2001-10-12 19:30:44 +00:00
087fdd489c
Added code to handle Streamable implementing DObject fields.
Michael Bayne
2001-10-12 19:28:43 +00:00
ccc182e6f7
Modified to account for generic List objects returned by the TileSetParser interface.
Walter Korman
2001-10-12 16:38:59 +00:00
9fc38238a6
Tile sets that are specified as object tile sets now always produce object tiles. If no dimensions are specified for an object, it defaults to 1x1 unit tile units. The media package supports specification of tilesets as object tile sets via the "layer" attribute.
Walter Korman
2001-10-12 16:36:58 +00:00
15eca5d163
Made MisoTileSet an interface.
Walter Korman
2001-10-12 00:43:04 +00:00
6638380a4d
More work on object tiles.
Walter Korman
2001-10-12 00:42:08 +00:00
9df7d2d882
Use time-based animation to animate the sprite while moving. Make sure the sprite comes to rest at a stand-still frame index.
Walter Korman
2001-10-12 00:41:48 +00:00
e8d41b9592
More work on object tiles. Simplified tile set manager as the editor will now obtain tile set information directly from the tile sets.
Walter Korman
2001-10-12 00:38:15 +00:00
1cd07dc217
Notify sprites when a new path is begun. Made time-based animation work.
Walter Korman
2001-10-12 00:36:03 +00:00
cb296d1467
Skeleton of turn-based game services.
Michael Bayne
2001-10-12 00:30:10 +00:00
0994b27240
Forgot to implement MessageHandler.
Michael Bayne
2001-10-12 00:29:51 +00:00
8521994204
DSet needs to implement Streamable so that we can pass it around as a distributed value.
Michael Bayne
2001-10-12 00:29:34 +00:00
2ffe47e282
Do the right thing with a null _listeners array.
Michael Bayne
2001-10-12 00:29:06 +00:00
5ae6875bbb
Added a note about listener registration management.
Michael Bayne
2001-10-12 00:05:31 +00:00
804505890f
We love to revamp! Created a set of listener interfaces which are used with distributed objects rather than having a single handleEvent() by which all subscribers are forced to hear about all events. Now one subscribes separately and then adds onesself as any of a few types of listener once they have access to the subscribed object reference.
Michael Bayne
2001-10-12 00:03:03 +00:00
de8d9dabd1
Missed a spot.
Michael Bayne
2001-10-11 21:12:29 +00:00
6634eb3fc9
Moved Parlor game stuff into parlor.game package instead of spreading it across parlor.client, parlor.server and parlor.data.
Michael Bayne
2001-10-11 21:08:22 +00:00
915e13ca12
Make sure screen coordinates that are converted to tile and full coordinates when editing a scene are valid before forging ahead with scene modifications.
Walter Korman
2001-10-11 16:21:09 +00:00
bc9a03988a
Removed unused test panels.
Walter Korman
2001-10-11 16:20:06 +00:00
057256e2fe
Removed obsolete test tilesets.
Walter Korman
2001-10-11 15:22:44 +00:00
eac87300d2
Design edits. Moved MiCasa into the Narya package because it needn't be its own separate project and it fits in more nicely now that we've renamed everything.
Michael Bayne
2001-10-11 04:19:32 +00:00
55093e30f8
Big fat renaming!
Michael Bayne
2001-10-11 04:13:33 +00:00
8a4c46badc
The first great Three Rings renaming. Cocktail changed to Narya, Cher changed to Presents and Party changed to Crowd. Whee!
Michael Bayne
2001-10-11 04:07:54 +00:00
ac477756ea
Added code to handle sending player ready notifications and to process them on the server (and start the game).
Michael Bayne
2001-10-11 03:12:38 +00:00
3c203cccd7
Changed project name to Narya.
Michael Bayne
2001-10-11 03:11:27 +00:00
78b62b5da1
Don't need to reference constant through ChatService.
Michael Bayne
2001-10-11 03:10:55 +00:00
ad7b64d4a1
Initial work on support for objects whose images span multiple tiles. Made TileSet an interface. Throw exceptions for unknown tile or tile set requests. General clean-up and documentation.
Walter Korman
2001-10-11 00:41:27 +00:00
5c79f8f082
Sorted out some basic invitation stuff so that we can force an invitation to take place for testing. Will flesh all the rest out later.
Michael Bayne
2001-10-09 20:22:51 +00:00
9d34d6c770
We now specify the GameConfig class to use when creating games from a particular lobby.
Michael Bayne
2001-10-09 20:21:49 +00:00
05d2d84353
For now, just head directly to the game room when we are notified that our game is ready.
Michael Bayne
2001-10-09 20:20:52 +00:00
c69b6a2a32
Log something when we create a game manager.
Michael Bayne
2001-10-09 20:20:35 +00:00
9bb91d5eac
Lose the chatbox label.
Michael Bayne
2001-10-09 19:49:59 +00:00
9249e17d3c
Put the logoff button in the side panel. Actually put the main panel in the UI.
Michael Bayne
2001-10-09 19:24:54 +00:00
e7bc462545
Keep track of a "default" lobby which is presently the first one created.
Michael Bayne
2001-10-09 19:24:11 +00:00
758bac6f28
Extend PartyClient, do the right thing with our BootstrapData.
Michael Bayne
2001-10-09 19:23:50 +00:00
8eb3dba6dc
Move logoff handling into ClientController.
Michael Bayne
2001-10-09 19:23:26 +00:00