Commit Graph

403 Commits

Author SHA1 Message Date
Ray Greenwell 02dd621601 If fringing a rectangular area, you must pass in your own Random object.
If fringing an entire scene, you must pass in a randomization seed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1226 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 18:05:07 +00:00
Ray Greenwell 5cedd42923 optimized getMultiTilePolygon to do less swapping
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1225 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 17:02:50 +00:00
Ray Greenwell 595aa68539 we love to comment.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1224 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 04:37:38 +00:00
Ray Greenwell b1d7c171f0 added getMultiTilePolygon, which returns a Polygon describing a rectangle
bounding the two specified tiles.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1223 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 04:36:06 +00:00
Ray Greenwell dc82aa0a98 We needn't add the first vertex of a polygon again at the end.
Quoth the java.awt.Polygon documentation:
    The first and final pairs of (x, y) points are joined by a line
    segment that closes the polygon.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 03:12:43 +00:00
Ray Greenwell 8adde69e3b make sure we fringe when a base tile is deleted.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1221 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-09 01:58:37 +00:00
Ray Greenwell 94feee3436 Moved the bits -> index reverse lookup from FringeConfiguration to
AutoFringer because our fringe tileset is hardcoded now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1220 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-08 19:41:52 +00:00
Ray Greenwell 41185335c7 Don't parse the 'tiles' attribute, we decide to just hardcode the tiles
since the autofringer can create any fringe now anyway.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1219 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-08 19:40:04 +00:00
Ray Greenwell 03579fa0ef Oops: our variables were still defined as 'static'.
Changed private to protected.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-08 18:41:58 +00:00
Ray Greenwell 601d515df2 If we fail on a lookup of turning fringebits into a fringe index,
try decomposing the bits into contiguous regions and see if we
can't get fringe indexes for those regions.
This makes everything always fringes everywhere.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1211 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 22:07:41 +00:00
Ray Greenwell 0768f82fd9 Use the FringeTile multi-image functionality to allow different base tilesets
to simultaneously fringe upon another base.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1210 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 20:50:30 +00:00
Ray Greenwell 79cde8f9eb cleanup
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:52:28 +00:00
Ray Greenwell 91b7065486 Store images in our mask cache, use the new FringeTile object and
ImageUtil.composeMaskedImage() to create the masked fringe images.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1204 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:43:24 +00:00
Ray Greenwell 3474c9c199 FringeTile- a Tile object that may contain multiple images.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1203 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 03:41:58 +00:00
Ray Greenwell af777c5ab6 bugfix
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1201 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 02:43:34 +00:00
Ray Greenwell e61181ed5e fixed import; implemented setBaseTiles in the Impl
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1199 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 02:08:21 +00:00
Ray Greenwell 07eb05ce27 compiles now!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1198 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 02:07:13 +00:00
Michael Bayne b6c69d1fca Return a MisoTileManager now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1197 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 02:04:23 +00:00
Michael Bayne 168b16d006 Screw the miso tileset repository; we'll just have the miso tile manager
load the fringe configuration from a standard place in the classpath.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1194 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:56:46 +00:00
Ray Greenwell 825cbb969d Added method to fill a rectangle with a base tile. Will only fringe once
the entire rectangle is set.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1193 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:55:28 +00:00
Ray Greenwell 7bac770744 The AutoFringer!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1192 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:53:58 +00:00
Michael Bayne b06c592a1b Display and editable miso scenes now take a miso tile manager so that they
can do their fringing business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:52:34 +00:00
Michael Bayne b4d6464075 Miso tile manager extends regular tile manager and provides access to an
auto fringer; miso tileset repository does same and provides access to
fringe configuration.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1190 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:46:56 +00:00
Michael Bayne bab3b54d41 Moved into miso.tile from miso.scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1189 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:38:32 +00:00
Ray Greenwell b2180b0072 Added method to get a whole random FringeTileSetRecord, instead of getting
the fringe tsid.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1188 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 01:34:12 +00:00
Ray Greenwell 3ca8de355e Fixed turning a String into a boolean value.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1187 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-05 23:18:36 +00:00
Ray Greenwell 5805f6bd5b Moved code to determine if the records are fully specified into
FringeConfiguration- the parser now just reports the error but doesn't
know exactly what it did wrong.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1186 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-05 01:45:53 +00:00
Ray Greenwell d92f623f17 Moved all validation into the parser.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1185 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-05 01:35:11 +00:00
Ray Greenwell 42e773579a Fixed bug with bogus tileset ids being inserted into fringe configuration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1184 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-05 00:34:57 +00:00
Ray Greenwell 833aa75ff4 Added code to read configuration of which fringing tiles we have images
for.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1183 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-04 04:06:57 +00:00
Ray Greenwell 006c25a8d8 Fringe configuration class and supporting classes to read in the xml
specification file and turn it into a serializable object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1181 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-03 22:52:44 +00:00
Michael Bayne 6acdb6daae Act on an object's entire bounds rather than one constrained to the shape
of the bottom of its footprint. This allows objects to spill out beyond
their footprint (and not get clipped) as long as they are otherwise well
behaved.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1172 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-02 01:06:46 +00:00
Michael Bayne 405f105f0c Added a method that gets the actual object bounds rather than one confined
to the shape of the bottom of the object footprint; renamed the old method
and left it around in case we want to use it later.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1171 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-02 01:05:49 +00:00
Michael Bayne b486315e47 Revamp! Modified the way configuration is handled.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-28 22:32:34 +00:00
Ray Greenwell 1a53da6727 Formatting changes:
- removed tabs
- explicitly specify imports
- I made each comment a complete and punctuated sentance.
- other minor convention changes


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-26 23:35:02 +00:00
Ray Greenwell aca95b8540 Store object tiles in HashIntMaps instead of in arrays because they may
have coordinates outside of the normal scene coordinates.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1150 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-26 20:17:51 +00:00
Walter Korman 76cff072be Split Sprite into Sprite and ImageSprite. Added LabelSprite. Cleaned up
directional constant usage.  Added ability to render sprites in two
distinct layers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-16 03:15:06 +00:00
Michael Bayne 137e9e9ea8 Revampola! Moved the code that handles viewport offset into the animated
panel; restructured things so everyone deals with "view" coordinates
rather than screen coordinates and the animated panel takes care of doing
the final translation before rendering.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-21 06:01:29 +00:00
Michael Bayne 2e6c813bd6 Pass the current time stamp to viewWillScroll().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1063 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-21 00:20:22 +00:00
Michael Bayne 0db9ce6d2d Don't need to create our own sprite manager; added a method for adding
sprites to the screen which takes care of assigning their tile
coordinates.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1048 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 19:58:19 +00:00
Michael Bayne 9b465b9fe3 Split the rendering into scrolled items and fixed items. Render the
sprites (and object tiles) as fixed items.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 19:57:46 +00:00
Michael Bayne cbaba2b381 Tell the sprite manager about our viewport offset.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1042 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 07:41:55 +00:00
Michael Bayne 922fdc292f Have to translate invalidated rectangles according to our viewport
translations for everything to work out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1038 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 07:20:13 +00:00
Michael Bayne 7db44c5ee3 Let the animated panel handle invalidating the regions exposed by
scrolling so that it can do so with the actual dimensions of the panel
(the scene view only knows how big its model wants to be). Changed
scrollView to viewWillScroll to more accurately reflect what's going on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1036 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 05:03:17 +00:00
Michael Bayne f2f6407c1e Need to account for negative scrolling deltas.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 04:45:14 +00:00
Michael Bayne b95f764282 Use smart polygons.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1033 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 04:02:50 +00:00
Michael Bayne b0364efa34 Only request a repaint in mouseMoved() when our hobject changes if we're
highlighting objects and the object's action status is in line with
whether or not we're only highlighting objects with actions. Also changed
some things to support the new, simpler, AnimatedView interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1023 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 01:26:17 +00:00
Michael Bayne e0e60c3fe3 Modifications to bring things up to speed with interface changes in the
animation base classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1022 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 01:24:59 +00:00
Michael Bayne 8d56ec853a Documentation clarification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1020 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-18 06:06:14 +00:00
Michael Bayne c97222993b Have the scene view panel create its own sprite manager and supply it with
a scene view model rather than a config object from which it would create
a model.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1017 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-18 00:40:58 +00:00