Commit Graph

750 Commits

Author SHA1 Message Date
Ray Greenwell 708008b65f Changed so that to follow a pathable you pass in the pathable and one of the
public follow mode constants, instead of having a different method for
enabling each different follow mode.
Added a new follow mode: track, which aligns the upper-left coordinate of the
view with the hotspot of the pathable.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2851 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-12 21:47:09 +00:00
Michael Bayne 342cce503e Added isRegisteredFrameParticipant().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2849 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-11-03 22:19:51 +00:00
Ray Greenwell 969008a6b8 Added a method for playing sounds after a specified delay.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2826 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-16 01:01:51 +00:00
Michael Bayne e6ae375c00 Not to freak out if somehow we don't have a current path.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2815 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-25 21:07:20 +00:00
Michael Bayne 748db4d5d7 Failing to locate a class is apparently a RuntimeException even if you do
it through Class.forName().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2755 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 23:55:06 +00:00
Michael Bayne 6cf90dcddd Not so fast, we need to jigger this differently.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2753 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 21:43:05 +00:00
Michael Bayne dbd2422bd4 Added another note about the ills of System.currentTimeMillis().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 21:41:28 +00:00
Michael Bayne 6cccd396e6 Two fixes: use the high-performance timer if it's available and make our
frame tick interval 10ms on Windows because any non-multiple of 10 causes
the big fat fuckola in the form of heinously accelerated clock drift.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 21:41:10 +00:00
Michael Bayne a5eaa52a8e In 1.4.2 Sun introduced an interface to the Windows high performance timer
in sun.misc.Perf. If we can use that, we do.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 21:40:22 +00:00
Michael Bayne cfe7f19669 Was clearing out the wrong business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-08-08 21:39:29 +00:00
Michael Bayne 6928f9aa96 We need to handle this in the frame manager because all we can do in
SystemMediaTimer is make time stop while we're in the past, whereas in the
FrameManager we can just note that strangeness is afoot and keep on
tickin'.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2736 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-29 00:41:40 +00:00
Michael Bayne 28bdcd942d Added a workaround to the time fluctuation WinXP bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2735 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-29 00:27:32 +00:00
Ray Greenwell 1b9c9dac62 Decreased the maximum number of sound spoolers to 10. What was I smoking
when I set it to 24? Let's try it like this for a spell.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2734 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-28 05:32:04 +00:00
Michael Bayne 7961683cb0 Added support for dumping a bundle metadata file directly in addition to
extracting it from a bundle.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2732 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-28 04:07:30 +00:00
Michael Bayne fbd52c2be3 Tone down cache performance reporting; upped image cache size by a meg.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2730 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-28 04:06:14 +00:00
Michael Bayne 13ded21e51 Added summarizeState().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2704 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-12 03:59:54 +00:00
Ray Greenwell 8f0ec22267 Undid my last revision; the X/Y coordinates of a pathable are actually the
hotspot, which does not need to be the upper left coordinate. So we let
the sprite do the right thing and we just center on the hotspot.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-24 18:02:58 +00:00
Ray Greenwell 71109615bc Added setMirage().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2678 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-24 02:25:10 +00:00
Ray Greenwell 0d79024b5c When centering on a pathable, center on its center rather than its
upper-left coordinate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2677 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-24 02:24:54 +00:00
Michael Bayne 25ebfba64f For some strange reason, reusing Colorization instances causes character
creation to break.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2675 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-23 18:06:57 +00:00
Michael Bayne 28a9441143 Allow the ImageManager to function if we're running in headless mode. It
will create all images as 32-bit ARGB.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2674 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-23 17:59:04 +00:00
Ray Greenwell 5398ce5656 Added support for adding a new bundle on the fly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2666 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-19 01:12:32 +00:00
Michael Bayne cbe229ccb7 Revamped BundledTileSetRepository to make it easier to add bundles on the
fly in the future; it also now provides efficient tileset name to tileset
id mappings which is exported via the TileSetRepository interface. Lastly,
TileManager now relies on TileSetRepository to efficiently provide tiles
by name or id and no longer maintains its own cache (because the
BundledTileSetRepository already maintains the same mappings).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-18 05:48:45 +00:00
Ray Greenwell 572570de75 Added a static createBundle() to create a jar file from an already prepared
TileSetBundle.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2662 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-18 00:34:47 +00:00
Ray Greenwell 3fb9a4272d Maximally compress jar files that we create.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2661 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-17 23:29:33 +00:00
Ray Greenwell d9e38c1d35 Don't hork if there is a config for a music key, but it's empty.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2647 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-07 00:41:25 +00:00
Michael Bayne ef6fe1c6ee Whoops, left in a call to System.gc().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2644 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-06 00:20:41 +00:00
Michael Bayne d0ad3559cd Use SoftReference rather than WeakReference, the former apparently being
subtly more appropriate for what we're doing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-05 17:32:03 +00:00
Michael Bayne 52e5206ff4 Keep a single colorization record around for each ColorRecord rather than
creating the same Colorization instance over and over each time we're
asked for one.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2641 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-05 17:31:21 +00:00
Michael Bayne 10f5536a6a Not to create a key every time we do a lookup. Only create a key when we
know we're adding a new entry.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2637 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-04 22:00:59 +00:00
Ray Greenwell 35f7f0806b Make sure that the transparent color is first in the colormap so that
Java's png encoder doesn't get confused and merge black pixels into
the transparency.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2636 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-06-04 05:56:58 +00:00
Michael Bayne 73a4a02aa1 A few substantial changes:
- Tiles are initialized after being constructed which makes life simpler
  for custom tiles which no longer have to have their own constructor that
  passes Tile's stuff down to it.

- Tiles are no longer LRU cached (because we blow through that cache
  instantly on all but the smallest of scenes), and are now tracked by
  weak references so that we guarantee that only one instance of a tile is
  ever in memory.

- Added code to track and report memory usage of weak cached tiles as well
  as "stray" tiles which are created through other means than asking a
  TileSet for a tile (fringe tiles being the most prolific example).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2628 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-31 00:56:38 +00:00
Ray Greenwell 3f0d839400 Noted that I had changed the QUICK constant to false.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2625 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-29 03:08:37 +00:00
Ray Greenwell c941c96141 Color reduction algorithm. From web, with modifications to support
transparency.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2624 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-29 03:02:38 +00:00
Michael Bayne acfea90fe4 Make our colorization options available.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2613 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-27 18:25:04 +00:00
Michael Bayne cb0d7713b5 Use our handy dandy new DelegatingPathable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2590 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-20 04:09:13 +00:00
Michael Bayne 1981f9b2d2 A helper class for easily delegating all calls but those we want to mess
with to a subordinate pathable.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2589 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-20 04:04:56 +00:00
Michael Bayne 234e8a8ade Make available the frame that we manage.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2588 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-19 03:01:13 +00:00
Michael Bayne 9773147e54 Track and report statistics on the tile cache.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2587 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-17 18:39:26 +00:00
Ray Greenwell 4d19964e46 A handy class to sequence paths.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2585 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-16 02:22:52 +00:00
Ray Greenwell cf99e657e7 Allow a LinePath to be constructed with only one point, and the
source point will be the position of the pathable at initialization time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2584 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-16 02:22:19 +00:00
Ray Greenwell e44f7c243a Close streams immediately after using them.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2575 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-14 21:34:01 +00:00
Ray Greenwell a323d157dd UniformTileSets no longer need to have their tileCount set, they will
figure it out from their width/height compared to the source image's
width/height.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2573 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-13 21:33:58 +00:00
Michael Bayne c0aacd5f41 Provide the colorization index when asking for an object colorization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2572 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-13 02:16:21 +00:00
Michael Bayne 7f08d36ce7 Up the default tile cache to 2 megs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2568 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-12 02:03:53 +00:00
Michael Bayne d4c4596403 Build our new unsafe library (on Linux at least) and some other random
viztool crap that doesn't really matter.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2561 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-09 03:24:12 +00:00
Michael Bayne fa5c8cc6a3 Use our native (select()-based) sleep() on Linux to achieve 10ms
granularity instead of 20ms which is what we get from Thread.sleep() which
probably uses the less than aptly named nanosleep() which seems to give
about that granularity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2557 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-08 21:26:27 +00:00
Michael Bayne 704cee77d1 No more regions of interest, now we follow pathables.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2555 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-08 16:10:50 +00:00
Michael Bayne fac7c3cb75 The frame manager may decide not to paint us if needsPaint() returns
false, but we still need to call willPaint() after *every* tick, so we
have to do that in needsPaint() where we can be sure it will get called.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2554 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-08 05:46:45 +00:00
Ray Greenwell 4d267ebc8c Allow specification of a background image to tile the background
of the panel in an aligned manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2553 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-08 04:52:24 +00:00