Charlie Groves
2f411f5c2d
Expose the xmlization of ObjectInfo for use by other RuleSets and Writers
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@443 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-12 06:10:25 +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
cc1a550a55
Oh, and roll back the compiled mac ones, too.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@402 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-18 19:51:28 +00:00
Dave Hoover
bed5271a28
Let's roll back my last change to Unsafe and do this differently; my shared
...
object compiled on my laptop that I checked in blows up on my desktop. Yay
for worrying about where you compile. So instead, because we only needed to
call init() to setup jvmpi for garbage collection, only call that if we
touch that functionality so we can keep the same old compiled code kicking
around, nobody that consumes this needs to change things, etc.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@401 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-18 19:49:48 +00:00
Charlie Groves
611098c7d6
Mac version of Dave's libunsafegc
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@400 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-17 23:40:42 +00:00
Dave Hoover
406b2a4662
Break Unsafe apart into Unsafe and UnsafeGC, the latter having only the
...
things to play with garbage collection. The gc stuff required JVMPI which the
"server" jvm doesn't have, so poor saps like me with two processors and gobs
of ram needed to hack things to run yohoho & force java to run with the
"client" vm since it used stuff out of unsafe (but not the gc stuff)
Still need to hit up people to build me the shared objects on other platforms,
but the linux ones are there & working.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@398 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-17 23:10:46 +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
d8367eeb6f
Quick smattering of type safety to go along with other misc cleanup I've
...
got in progress over in yohoho.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@395 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-01-15 21:32:59 +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
Michael Bayne
73b8dd0d48
Nix stray crowd dependency. No one uses this interface.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@382 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-18 00:19:18 +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
Charlie Groves
60cb064c21
Vestigial Random
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@379 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 18:55:30 +00:00
Charlie Groves
80a952de68
The DirectoryComponentBundler task doesn't create a single output stream for a jar file, so fout doesn't need to be closed at the end of the bundling
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@378 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 18:51:48 +00:00
Mike Thomas
9d6fa8d4d5
The earlier workaround didn't succeed in working around anything. The stream's data got used up in the failing attempt to create the image and so there's nothing left to create it the second way.
...
Instead, let's directly check the java version number. Oh, the hackery... (The check-versions functionality should perhaps be moved to RunAnywhere in samskivert, but this should work for now.)
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@377 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 03:29:19 +00:00
Mike Thomas
a06eddcd95
Super-sweet. Java 1.4.2 apparently has some kind of awesome bug in its MemoryCacheImageStream. Let's work around that by falling back to the Image IO reading that's gonna bork in sandbox land. Guess anything in a sandbox is gonna require Java 1.5 unless we find a different way around this.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@376 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 00:48:34 +00:00
Dave Hoover
1074d68d5f
While one could fake this up by asking for all objects in a region large
...
enough to cover the scene, I really just wanted a quick & dirty way to get
all objects in the scene.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@372 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-12 07:55:51 +00:00
Dave Hoover
8f2700dcc8
Keyword substitution.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@359 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-03 21:08:33 +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
c68df0bab2
If the directory is missing/empty, don't fail to get the last modification date.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@350 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-15 18:28:20 +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
a0b5874d5f
Since we're dropping in individual files here, always assume out of date rather than using the directory's modification time. Eventually, maybe we can scan the directory for the newest file and use that, but we'll cross that bridge later.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@346 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 17:49:05 +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
Mike Thomas
785eb10234
Other errors can occur when loading native keyboard lib, such as security exceptions, so let's catch those too and cope.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@342 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 00:44:53 +00:00
Michael Bayne
93e28d42a6
Let's just install rather than build and install here as well.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@337 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-10 19:43:07 +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
Michael Bayne
cba2fc4f67
Freak not out when loading images from input streams in a sandbox.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@333 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-08 02:36:17 +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
Mike Thomas
5ab6e41f2f
Rename parameters to reflect reality.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@324 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-31 23:21:59 +00:00