36a98f8794b49390b0f9215a449c124f043f067f
calls on the Java side, to match this added convenience we introduced to the ActionScript side some time ago. Before arms are raised into the air and waved like they really do care, bear the following in mind: Nothing will change at all on your project until you take some action to do so. That action could include any of the following: 1. Continue to use narya-tools-1.2 to run genservice and you'll get the old style "pass a Client reference for every service method invocation" marshallers and you can continue to live happily in the past. 2. Leave some of your stuff un-regenerated, but generate new stuff using the new tools and use the Client-reference-free style for new services. This is likely to engender some PITA if you're trying to use both styles in the same project because genservice just wants to operate on everything, but I offer it as an option in case some other PITA motivates the tolerance of this (presumably smaller) PITA. 3. Embrace the brave new world of simplicity and wield your good friend sed for fun and profit: (make necessary build.xml updates to start using narya-tools-1.4-SNAPSHOT) % find src -name '*Service.java' | xargs sed -i 's:Client client, ::g' (this will remove the Client argument from most of your services, some manual fixes may be needed) % ant genservice % find src -name '*.java' | xargs sed -i 's:_ctx.getClient(), ::g' (this will fix most of the places that pass a client reference into an invocation service, some manual fixes will probably be needed) I did this on Vilya and it magically took care of like 95% of the places where changes were needed. The remaining half dozen changes were painless. Clearly something like Yohoho vastly dwarfs Vilya in scope, but someone looking for an hour or two of mindless typing to distract them on a lazy Sunday afternoon would likely breeze through even that vast codebase without breaking a sweat. Two more notes: 1. I'm going to switch Narya and Vilya over to the new style, and I'll be fixing all the projects that use their services. 2. I lied (a teeny bit) about nothing changing. I made the old Client-taking sendRequest methods deprecated, so projects that don't switch to the new style will be presented with a large number of deprecation warnings. If this is too terrible a burden to bear, I can remove the deprecation annotations on those methods. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6395 542714f4-19e9-0310-aa3c-eee0fc999fb1
The Narya library
-----------------
The Narya library provides various facilities for making networked
multiplayer games. Its various packages include:
* geom, util, io - basic tools for doing networked I/O, data structure
manipulation and some geometry math
* resource - tools for bundling, deploying and managing media (images,
sounds, etc.) with a game
* media - a framework for doing "active" rendering in Java
* media.image - tools for loading, caching, manipulating and displaying images
* media.sound - tools for loading, caching, and playing audio
* media.animation, media.sprite - works in concert with the active
rendering system and provides tools for defining and manipulating
sprites (graphical entities that follow paths) and animations
(graphical entities that affect the display in other ways)
* miso - a framework for defining and displaying isometrically rendered scenes
* presents - a framework for distributing information among a server and
networked clients
* crowd - builds on the presents framework to create the notion of
bodies and rooms and provides chat infrastructure
* whirled - builds on the crowd framework and defines a scene graph with
portals to move between scenes and provides hooks for distributing and
updating scene data (for example isometric rendering information) over
the network
* cast - a framework for defining and using recolorable, composited
characters with different poses and actions
* parlor - builds upon the crowd framework to create the notion of a
game with players and provides tools for making turn based games
* puzzle - builds on the parlor and media frameworks to provide tools
for implementing puzzle games in a networked environment
* micasa - builds on the parlor framework to provide lobbies and
matchmaking for multiplayer games
Documentation is somewhat sparse at the moment, but inspection of the code
in the tests/ directory shows examples of use of many features of the
library.
Building
--------
Building the library is very simple. First ensure that the necessary third
party jar files are available either in the lib/ directory or in the
system wide jar file location specified in build.xml. See lib/README for a
list of the necessary third party jar files and how to get them.
The library is built using ant, a modern build tool available from The
Jakarta Project. If you aren't already using ant for other projects, it
can be found here:
http://jakarta.apache.org/ant/
Invoke ant with any of the following targets:
all: builds the distribution files and javadoc documentation
compile: builds only the class files (dist/classes)
javadoc: builds only the javadoc documentation (dist/docs)
dist: builds the distribution jar files (dist/*.jar)
Distribution
------------
The Narya library is released under the LGPL. The most recent version of
the library is available here:
http://code.google.com/p/narya/
Contributions and Contact Information
-------------------------------------
Narya is actively developed by the scurvy dogs at Three Rings Design, Inc.
Contributions are welcome.
Questions, comments, contributions, and other worldly endeavors can be
handled in the Google Group for Three Rings libraries:
http://groups.google.com/group/ooo-libs
$Id$
Description
Languages
Java
69.1%
ActionScript
26.6%
C++
3.1%
Go Template
0.8%
HTML
0.2%
Other
0.1%