by normal means and then walks them in a straight line from there (when
the straight line part will invariably be off-screen, this is OK).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2937 542714f4-19e9-0310-aa3c-eee0fc999fb1
object tips, replaced it with a system whereby custom tip layout
mechanisms can be registered for object action prefixes. The default tip
layout centers the tip in the object exactly as before minus the height
limitation business (which is actually no longer needed as the sailing
duty stations are no longer assigned to the rigging but to the wall below
the rigging).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2932 542714f4-19e9-0310-aa3c-eee0fc999fb1
for an action (we already let them have a crack at the icon).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2930 542714f4-19e9-0310-aa3c-eee0fc999fb1
if they are fringed on by any SPECIFIED tileId (ie, not the default tileId)
that is impassible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2852 542714f4-19e9-0310-aa3c-eee0fc999fb1
space, it ends up considering up to 10,000 nodes with a max path length of
50 which causes the client to hang for like 5 seconds. Not so good. With a
max path length of 20, that comes down to about 1,300 nodes which ends up
being non-linearly faster.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2825 542714f4-19e9-0310-aa3c-eee0fc999fb1
going to need to make this customizable by derived classes at some point.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2670 542714f4-19e9-0310-aa3c-eee0fc999fb1
- 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
Random, instead it relies on a duplicatable hashing method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2621 542714f4-19e9-0310-aa3c-eee0fc999fb1
code to log when we're not painting for lack of blocks and when we restore
painting so that we can further debug the proverbial blue screen situation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2598 542714f4-19e9-0310-aa3c-eee0fc999fb1
can be serious popping when entire buildings don't come into view until
after we've started displaying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2597 542714f4-19e9-0310-aa3c-eee0fc999fb1
aren't (we can't truly know if a block is visible until we resolve it
because objects of arbitrary height can overlap the view bounds even if
the block's footprint does not); resolve the definitely visible ones first
and go ahead and start drawing once the known visible blocks are ready.
This cuts the time spent on the "blue screen" by about 75%.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2595 542714f4-19e9-0310-aa3c-eee0fc999fb1