Charlie Groves
70ef6a644a
Widened and genericized
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@528 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-06 21:16:45 +00:00
Charlie Groves
7d613a999a
Allow cache sizes to be set programatically
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@527 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-06 21:15:05 +00:00
Michael Bayne
e00b4ddd6b
Switch to new logging API.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@510 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 22:55:10 +00:00
Charlie Groves
b521b4bfbf
Instead of caching the last 10 sound clips, cache up to 4 megs of clips
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@509 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 22:09:03 +00:00
Michael Bayne
209504479d
Fix this user of samskivert's log object.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@507 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 18:53:20 +00:00
Mike Thomas
ef15781c28
Add the ability for network resource bundles to have an index file which tells them which files they should expect to find. This turns out to be pretty useful since resources try to grab a locale-specific version first, which often fails, and then they have to grab their generic version. This allows us to bypass some of this latency when we're able to know ahead of time which resources we will have.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@500 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-22 18:34:37 +00:00
Michael Bayne
7835b083b8
Nixed some if true then true (ITTT?) stylings. Ray happiness++.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@499 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-21 11:19:51 +00:00
Charlie Groves
a012977741
Need to use floating point numbers if you want floating point math
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@498 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-20 22:04:13 +00:00
Charlie Groves
14dd85bb45
Switch to fixed-delay scheduling from fixed-rate so our interval being blocked
...
won't cause multiple calls to calibrate. Since a fixed-delay Interval can't be
used with a RunQueue, move the calibrate interval onto the Timer's thread and
switch to floats for the drift ratio so synchronization isn't needed around
updating it as a double.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@497 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-20 21:05:46 +00:00
Charlie Groves
c0b0b9c94a
Start with no alpha so getting a paint before we're ticked doesn't blow up
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@495 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-14 21:18:54 +00:00
Charlie Groves
6029530e73
Wait till willStart to create the gleaming functions so subclasses can fill in their desired alpha ranges and so on and the huge constructors aren't needed
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@476 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-24 01:05:10 +00:00
Charlie Groves
9b20077820
Allow the min alpha to be specified in addition to the max
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@471 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-21 19:03:47 +00:00
Charlie Groves
0a5fff92d3
Don't require a SpriteManager for gleamed sprites that aren't used as sprites otherwise
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@470 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-19 23:05:47 +00:00
Charlie Groves
ab5729654c
Keep the drift ratio between .01 and 10 for timer siestas and fiestas
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@468 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-18 19:01:44 +00:00
Charlie Groves
5a654ebd99
Don't compound the problem of the timer going into the past by sticking the drift at 0 for 5 seconds
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@445 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-13 01:27:04 +00:00
Charlie Groves
f3c2097498
Cancel the calibration interval and start a new one in reset to prevent calibrate calls coming immediately after the reset from producing a crazy drift
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@442 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-12 00:06:00 +00:00
Dave Hoover
d349c1f91a
Pull out our drift range to constants, and tighten it up a little bit.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@441 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-11 18:16:16 +00:00
Dave Hoover
3d4241540f
Let us clear our CalibratedTimer's memory about drifts we've seen.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@440 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-11 18:12:21 +00:00
Dave Hoover
381bfd239b
Have CalibratingTimer remember the largest drift it's seen, and let us get at that
...
via our FrameManager.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@439 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-10 16:58:45 +00:00
Charlie Groves
3466303b91
Log what's actually going on in the calibration in one final attempt to figure out what's going wrong here before ripping it out and going back to business as usual
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@438 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-08 00:35:55 +00:00
Michael Bayne
55ac76bd0b
Let's have a header on that file.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@437 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-06 22:17:40 +00:00
Charlie Groves
017a81072f
Rollback yesterday's commit to use a calibration interval since we're actually pretty good about only having the ticker call getElapsed. It actually appears that the problems arise from the time between calibrations being influenced by timer time. Since we're explicitly trying to work around someone jacking their timer to several times normal speed, relying on it to decide when to calibrate is a bad idea as it can lead to tiny, quick calibrations with varying numbers of underlying millis. Instead, schedule calibrations with an Interval on the AWT thread since that will be run based on System.currentTimeMillis and hope the third time's the charm.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@435 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-06 21:51:04 +00:00
Mike Thomas
8a10f090da
Apparently only yohoho ever uses the runtimeadjust stuff, so we don't care about backwards compatibility and this naming scheme is better. We now have ClientImageManager and ImageManager.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@434 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-06 18:56:26 +00:00
Mike Thomas
f00ff51a7b
Split the runtime-adjustment functionality of ImageManager out. In order to preserve backwards compatibility, the complete functionality including runtime-adjustment can be found in ImageManager which now extends BaseImageManager. The bulk of functionality is now in BaseImageManager and anyone who wants an image manager without the RuntimeAdjustment bits (it uses ClientPrefs and thus isn't friendly in server-land) should use that directly.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@433 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-06 18:31:04 +00:00
Charlie Groves
9c3a7e2904
Calibrate every 5 seconds instead of every 1000 calls. When many things are being animated, the timer will get a ton of calls and the variation in the number of millis elapsed per timer time may be leading to unwanted variations in the drift value.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@432 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-06 01:24:21 +00:00
Charlie Groves
5a569a2fa3
Adjust _startStamp by the amount of drift since the previous call to elapsed rather than adjusting the entire elapsed time.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@429 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-27 19:15:08 +00:00
Charlie Groves
c72fea4411
Perf isn't yielding nanos, so it needs to be divided by the _milliDivider to get millis
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@425 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-20 22:56:00 +00:00
Charlie Groves
4c002c5682
Looks like much of the speedmodding in Puzzle Pirates comes from futzing with
...
the speed of the system timer, but that leaves System.currentTimeMillis alone.
If the precise timer is moving way faster or way slower than currentTimeMillis,
tack our timing to currentTimeMillis. This will make timing precision blow,
but that's what you get for cheating.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@424 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-02-20 02:28:57 +00:00
Charlie Groves
6451cfffae
Don't update the bundle until we're done iterating over it. Fuck if I know how this worked up until now
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@405 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-31 22:02:01 +00:00
Dave Hoover
f91b7714a5
Remove unneeded casts.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@397 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-17 01:26:05 +00:00
Dave Hoover
56df6f1913
Truth in commenting: the DirectoryTileSetBundler isn't rewriting things in our own image format
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@392 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-10 19:55:45 +00:00
Dave Hoover
9733142d35
It's not a perfect solution, but make it so we can call the tile trimming task and
...
not actually write out new image to a file if we don't need to.
This cuts my tileset building from 42 seconds to 22 when no files have changed
(as opposed to 4 when it was skipping it altogether, but winding up with a hosed
tsbundles.dat), so it's at least a decent bit better.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@391 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-10 19:51:24 +00:00
Dave Hoover
9458c0704a
Truth in commenting: don't claim we can't trim something and then immediately turn around and trim it.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@390 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-10 19:27:49 +00:00
Dave Hoover
7ef9682355
We can't skip these tilesets even if they're up to date like this, since we would've
...
done some extra logic & changed the tileset on the bundle. I obviously want to fix this
so things aren't so insanely grindy when nothing's changed, but it's time to run for my
train, so in the meantime I'm going to make this burn cpu but do the right thing.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@389 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-10 01:45:15 +00:00
Charlie Groves
ce1649d79b
Don't adjust the image path to end in .raw since we're actually making .pngs
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@380 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 19:17:42 +00:00
Michael Bayne
d0f8f1e1d0
Turns out people had extended Sprite and added their own Comparable
...
implementation, so let's not stick a fork in that.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@353 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-22 06:45:42 +00:00
Mike Thomas
c73ec397e0
The old way I had the Directory-based bundlers checking for out-of-dateness was prone to error in the face of new files or unfortunate subdirectory situations. Now check on an entry-by-entry basis instead, which is much happier.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@351 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-15 21:56:34 +00:00
Mike Thomas
d6b01cab7a
Enable keyword substitution on these new files.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@348 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 19:24:53 +00:00
Mike Thomas
f57e973987
Rather than forcing a rebuild of our tileset and component bundles every time when we're deploying to a directory bundle, decide based on the oldest modification time stamp of any file within the directory. Otherwise, these builds get crazy long.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@347 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 18:29:49 +00:00
Mike Thomas
ee73dd43de
New type of ResourceBundle - NetworkResourceBundle - This bundle grabs its resources over HTTP from a root URL rather than from a local jar file. To make use of this, we need a way to put all the contents of the bundle into an appropriate directory instead of a jar, including its metadata, so some new Bundler Tasks were created to do this. Finally, allow tile set trimming to be done to a non-raw image format through passing an optional imgFormat parameter. If no parameter is passed, it'll default ot the old behavior of using raw/FastIO. Note that to use network bundles, you can set the set_type in the resource manager.properties file. (e.g. "resource.set_type.tilesets = network") If no set_type is set for a resource set, it defaults to a normal FileResourceBundle
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@343 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 01:12:18 +00:00
Michael Bayne
fd64f4d460
Nix unused imports.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@336 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-10 01:19:07 +00:00
Michael Bayne
5485cf2ab4
Make our ManagedRoot available to callers.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@335 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-09 23:00:04 +00:00
Dave Hoover
ffd07764ee
In case something goes screwy and we come up with a bogus time to sleep waiting
...
on our sound to play, make sure we do at least our half second fudge, rather
than spewing errors as we try to sleep for negative amounts of time.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@332 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-07 18:34:40 +00:00
Dave Hoover
e46e126604
Cut this back; 16 seems to be adequate, and with how everything's structured
...
right now, we only cancel looping sounds after working with a full buffer's
worth of audio, so going too large is problematic.
It'd probably be a Good Thing to do something a little fancier for cancelling
looping sounds more immediately, but for now, we'll stick with close to what's
been the status quo for years.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@331 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-05 19:58:43 +00:00
Michael Bayne
9055539f69
We want to hear about repaints, though I need to test this more in various
...
other scenarios to really really be sure. Oh the twisty maze of AWT passages.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@330 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-03 00:45:12 +00:00
Dave Hoover
bbbb5a2498
Only jump through extra hoops converting our sounds to pcm if we need to
...
(e.g. decoding oggs, but not playing wavs)
And then make looping work even if we're playing something that doesn't
support resetting to marks in the stream (e.g. decoding oggs)
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@325 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-31 23:34:03 +00:00
Dave Hoover
b0a9cb847e
Millis, not seconds.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@322 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-30 23:10:40 +00:00
Dave Hoover
bf50fef84c
When playing sounds, sleep for our estimated line reading time based on
...
how long we think the sound will really take to play, not how long the last
chunk of our buffer will take. With bumped up LINEBUF_SIZE, we'd sleep longer,
but would actually START sleeping much sooner, so we would truncate sounds.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@321 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-30 22:54:46 +00:00
Mike Thomas
b9d255b032
We can't reliably make the decision as to how to load the image (FastImageIO/raw v normal) at the ResourceManager level - the path name by this point may be a file in the cache which will have lost its indicative extension. Instead, make the decision before we turn the resource path into an actual file name. This fixes YPP's current image loading issues.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@318 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-29 20:15:25 +00:00
Dave Hoover
618e688aab
Nix unnecessary cast and unused compare function.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@314 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-26 22:55:49 +00:00