on multiple ports, falling back from one to the next as appropriate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4158 542714f4-19e9-0310-aa3c-eee0fc999fb1
prevent the last copy from being garbage collected.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4156 542714f4-19e9-0310-aa3c-eee0fc999fb1
try to delete a buffer that's still bound to a source.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4147 542714f4-19e9-0310-aa3c-eee0fc999fb1
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
also added a log error message to my equals() logic error checking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4141 542714f4-19e9-0310-aa3c-eee0fc999fb1
interface and specific games can define their own concept of a location.
Portal and SceneLocation now both have a Location instance within them.
All the whirled stuff is happy not knowing the details of the Location even
though it manages portals and other such goodies. The 'stage' stuff
does need to know, and yohoho uses the new StageLocation class
that is essentially identical to the old 'Location'.
SceneLocation previously extended Location, and there were a lot of places
where they were used somewhat interchangeably, or a SceneLocation and
a regular Location were compared. This shouldn't be done anymore and I've
left in code that should dump stack if it occurs, so that we can spot
these logic errors at runtime.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4140 542714f4-19e9-0310-aa3c-eee0fc999fb1
The basic whirled stuff is here; compiling and working.
'Spot' still to come.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4133 542714f4-19e9-0310-aa3c-eee0fc999fb1
- set up the playerStatus array before gameWillStart() so that we can properly
note players that abandon ship before the game is going;
- fixed some raw collection usage;
- fixed some assumptions about IN_PLAY being the only state that means a game
is in play.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4127 542714f4-19e9-0310-aa3c-eee0fc999fb1
package, use those. The ResourceBundle stuff is not quite working now due
to bugs in beta3, but I'll loop back to it later.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4126 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Track the size of non-simple keys separately so that we really know when
to resize the map.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4121 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Renamed HashMap Hashtable, because I wanted a version without ties to
mx.* code. User-defined hashing functions may be specified.
- Created a subclass of Hashtable called HashMap which uses
functions in mx.utils.ObjectUtil to hash non-Hashable complex keys.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4120 542714f4-19e9-0310-aa3c-eee0fc999fb1
Internally, three different things may be done for storage:
- Simple keys can utilize the Dictionary class, we just use one of those
inside the map.
- If the key implements Hashable, we can hash it.
- Otherwise, use mx.utils.ObjectUtil to generate a hash for any other key and
also to compare the keys. Keys are then wrapped in a KeyWrapper object
that implements Hashable. This last case will also handle null as a key.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4117 542714f4-19e9-0310-aa3c-eee0fc999fb1
there's no point in keeping the data buffers around.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4111 542714f4-19e9-0310-aa3c-eee0fc999fb1