Commit Graph

36 Commits

Author SHA1 Message Date
Michael Bayne 768da14b79 Allow derived class to turn off "block visible" warning. More debug
logging to help sort out the blue screen problem.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2599 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-21 17:10:05 +00:00
Michael Bayne 569522fd01 rethink() needs to return the number of "visible" blocks pending; added
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
2003-05-21 15:27:45 +00:00
Michael Bayne 98216ddcbb Account for blocks a bit below our visible bounds because otherwise there
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
2003-05-21 00:28:22 +00:00
Michael Bayne bf4142423f That should be debug not info.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2596 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-20 23:58:27 +00:00
Michael Bayne 5bdf72f615 Differentiate between blocks that are visible and those that probably
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
2003-05-20 23:57:48 +00:00
Michael Bayne ded2a44c28 No longer check for on-screen paths here, we'll leave that to Yohoho!, but
we do allow derived classes to dictate whether or not unresolved tiles are
passable. Additionally, we sanity check the number of nodes searched when
computing paths.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-16 00:49:16 +00:00
Michael Bayne 16aaad3daf Report the block bounds and the view bounds when a block is reported as
having become visible during resolution.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2578 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-15 23:03:29 +00:00
Michael Bayne 863af05b72 Allow derived classes to dictate whether or not we allow traversal of
tiles that are offscreen.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2576 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-15 18:24:01 +00:00
Michael Bayne 8ca388fb7e Implemented a debugging view that shows when scene blocks are being
resolved; adjusted influential bounds based on new strategy for scrolling
around and resolving blocks.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2567 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-12 02:03:31 +00:00
Michael Bayne 286cd5019e Oh god, unresolved blocks are again unpassable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2558 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-09 01:12:06 +00:00
Michael Bayne bd18c4cbb1 If a block finishes resolution after it's already become visible, repaint
its bounds immediately rather than waiting for the remaining queued blocks
to be resolved.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2525 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-02 18:12:34 +00:00
Michael Bayne 57ee4d56c8 Let's have some debug logging so that we can investigate potential block
resolution wackiness.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2524 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-02 18:09:56 +00:00
Michael Bayne 02bd2ade00 We just flip flop back and forth on this one: now non-resolved tiles *are*
traversable so that if a sprite claims to have relocated somewhere outside
your resolved scene bounds, we'll just bee line them to their new
location. Since the user can never click outside their resolved view
bounds, we won't ever compute an invalid path for them. Joy.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2522 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-02 15:13:20 +00:00
Michael Bayne 99fa7fd6ff renderMedia() -> paint().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2509 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-30 20:48:51 +00:00
Michael Bayne 2a909b772e When we're resized, delay our rethink until the next tick so that the view
bounds are properly updated for the rethink.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2497 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 21:46:33 +00:00
Michael Bayne 4d7993b59f Only delay repaint on setBounds() if we end up queueing up blocks as a
result.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2496 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 21:10:19 +00:00
Michael Bayne 98d6d2f086 Broke out influential bounds computation into a method that can be
overridden.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 21:02:54 +00:00
Michael Bayne da3ec5f6e4 Report unexpected visibility more sensibly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2491 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 20:28:45 +00:00
Michael Bayne 7c5d0f275e Document that little feller.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2487 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 18:12:09 +00:00
Michael Bayne 831539b09d How simple! If our bounds change, delay a repaint until we have all of our
blocks resolved. In the future, we could attempt to resolve the blocks
that are needed to repaint the visible view first and allow repaint as
soon as those blocks are resolved.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2486 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-28 18:08:57 +00:00
Michael Bayne b907bc02b0 Ensure that we always eventually claim to be resolved.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-26 02:16:18 +00:00
Michael Bayne d86ddce45d More delayed block loading improvements: resolve fewer blocks, use the
same mechanism for including and excluding blocks.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-25 22:13:14 +00:00
Michael Bayne cca2a9cd16 Beginnings of support for asynchronous scene image data resolution.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2462 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-25 18:22:52 +00:00
Michael Bayne 995f33af84 Provide our view bounds to the radial menu services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2445 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-22 22:00:51 +00:00
Michael Bayne 1274fbb7c0 Let's inform the derived classes of the delta rather than the new _vbounds
upper left which is something they're already much more likely to be
making use of directly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2443 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-22 18:12:40 +00:00
Michael Bayne 6b0e816643 Dooh! We need to recompute our visible object set regardless of whether or
not new scene blocks were resolved.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2440 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-21 17:56:55 +00:00
Michael Bayne e628a8e429 Added support for specifying a default tileset for scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2439 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-21 17:08:57 +00:00
Michael Bayne 3c94cd67f6 Various fixes to support negative tile coordinates; created sparse miso
scene model and associated business to store scene data in an arbitrary
set of blocks rather than fixed arrays; finally stuck a fork in scene
width and height as well as view width and height along with origin offset
and a few other now obsolete bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2434 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 22:40:34 +00:00
Michael Bayne 299e0845bb Center on the center of the scene when it is first set. Adjust our view
bounds to preserve the current center point when we are resized. Deep
sixed "bounded" and some other needless fiddling.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2430 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 17:06:08 +00:00
Michael Bayne bdd1697a41 Don't repaint when we rethink, rearranged some things so that we can avoid
recomputing visible objects, etc. if no blocks were loaded or flushed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2429 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 02:01:56 +00:00
Michael Bayne 626d59a718 Apparently revalidating ain't going to do it, so we recenter and rethink.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2427 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 01:04:57 +00:00
Michael Bayne 3abbd1c8af Removed old testing code. Whoopskidoodle!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2425 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 00:56:35 +00:00
Michael Bayne d398c84a7b Pass the mouse event so that other information can be obtained.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2424 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-19 00:25:13 +00:00
Michael Bayne f0a1bf2311 Don't can all mouse button 1 presses; allow objects without actions to
become the hover object if derived classes really want it (like the
editor).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2423 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-18 23:19:13 +00:00
Michael Bayne 1182241d57 Removed highlighting code; cleaned up some other stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2416 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-18 18:32:24 +00:00
Michael Bayne d5701962a3 The big fat bernie revamp! Er, big fat miso revamp rather:
- Combined SceneViewPanel and IsoSceneView into one happy panel.
- Ditched the DisplayMisoScene notion; the new MisoScenePanel now manages
  resolved scene information (like base, object and fringe tiles) itself
  so that it can...
- ...support scrolling scenes by keeping blocks of resolved base, fringe
  and object information loaded only for what is potentially visible
  rather than for the whole scene.

Other things were surely cleaned up or broken in the process to keep a
keen eye out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2413 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-17 19:21:17 +00:00