constructed. The reason being that derived classes want to override things
like updateRenderOrigin() which should be called every time the sprite's
location is set, but if we do it in the base class constructor, a derived
class's updateRenderOrigin() will be called before the derived class's
constructor has been called. This is not good. Neither was the existing
code which simply half-assed a location change by updating the sprite's
origin position but not calling updateRenderOrigin(), leaving things
generally confuzzled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1559 542714f4-19e9-0310-aa3c-eee0fc999fb1
fixed bug that happened when HIGHLIGHT_WITH_ACTION was on.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1555 542714f4-19e9-0310-aa3c-eee0fc999fb1
vectors share a common origin; added whichSide() which determines whether
a point is on the left or right hand side of a line.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1550 542714f4-19e9-0310-aa3c-eee0fc999fb1
support for 16 orientations in situations where it is merited.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1548 542714f4-19e9-0310-aa3c-eee0fc999fb1
to their nearest compass direction instead of the wacky way it did before.
Also added getFineDirection() along with rotateCW() and rotateCCW() to
rotate through (fine) directions (though coarse directions can be rotated
as well, simply by always requesting two ticks of rotation). Also wrote
some test code to make sure everything works.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1545 542714f4-19e9-0310-aa3c-eee0fc999fb1
We don't want to do that when we mean simply to repaint the whole
component.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1536 542714f4-19e9-0310-aa3c-eee0fc999fb1
problems with my previous hack and made offscreen also paths have
huge 'costs', and also bound in potential paths from being
too expensive (to prevent infinite loops if there's no path to a location.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1532 542714f4-19e9-0310-aa3c-eee0fc999fb1
may well have a -1 origin offset. We use Integer.MIN_VALUE now which is
definitely not going to be a valid value.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1527 542714f4-19e9-0310-aa3c-eee0fc999fb1
reasons: we don't want anything coming in between the call to tick() and
the call to paint() and components will likely want to be validated before
they are ticked if they happen to be a frame participant and are invalid.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1523 542714f4-19e9-0310-aa3c-eee0fc999fb1
it from a call to getUnoccupiedLocation(). Anyone can move into the
location (regardless of who reserved it), but it won't be reported as
unoccupied until someone enters it and leaves from it once again.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1520 542714f4-19e9-0310-aa3c-eee0fc999fb1
which contains the routines to do it; modified said routines to allow them
to be called with the internal location tracking array maintained by the
spot scene manager because that is the only thing guaranteed to be truly
up to date; made use of where() in spot scene manager's log messages.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1517 542714f4-19e9-0310-aa3c-eee0fc999fb1
errors to report the "place" in which the error happen. The SceneManager
overrides this to include scene information. Scrupulous use will make log
messages much more scrutable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1514 542714f4-19e9-0310-aa3c-eee0fc999fb1
local member names to reflect their actual functionality, flipped the sign
of the origin offset so that it's an offset rather than a negative offset.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1512 542714f4-19e9-0310-aa3c-eee0fc999fb1