Make the spot information available via the object tile; convert object
tile internals to use dimension and points. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2244 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,9 +1,15 @@
|
|||||||
//
|
//
|
||||||
// $Id: ObjectTile.java,v 1.14 2003/01/29 21:31:37 mdb Exp $
|
// $Id: ObjectTile.java,v 1.15 2003/02/06 06:23:05 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.tile;
|
package com.threerings.media.tile;
|
||||||
|
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Point;
|
||||||
|
|
||||||
|
import com.samskivert.util.StringUtil;
|
||||||
|
|
||||||
import com.threerings.media.image.Mirage;
|
import com.threerings.media.image.Mirage;
|
||||||
|
import com.threerings.util.DirectionUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object tile extends the base tile to provide support for objects
|
* An object tile extends the base tile to provide support for objects
|
||||||
@@ -36,7 +42,7 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
public int getBaseWidth ()
|
public int getBaseWidth ()
|
||||||
{
|
{
|
||||||
return _baseWidth;
|
return _base.width;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,7 +50,7 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
public int getBaseHeight ()
|
public int getBaseHeight ()
|
||||||
{
|
{
|
||||||
return _baseHeight;
|
return _base.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,8 +58,8 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
protected void setBase (int width, int height)
|
protected void setBase (int width, int height)
|
||||||
{
|
{
|
||||||
_baseWidth = width;
|
_base.width = width;
|
||||||
_baseHeight = height;
|
_base.height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +71,7 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
public int getOriginX ()
|
public int getOriginX ()
|
||||||
{
|
{
|
||||||
return _originX;
|
return _origin.x;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +83,7 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
public int getOriginY ()
|
public int getOriginY ()
|
||||||
{
|
{
|
||||||
return _originY;
|
return _origin.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,8 +96,8 @@ public class ObjectTile extends Tile
|
|||||||
*/
|
*/
|
||||||
protected void setOrigin (int x, int y)
|
protected void setOrigin (int x, int y)
|
||||||
{
|
{
|
||||||
_originX = x;
|
_origin.x = x;
|
||||||
_originY = y;
|
_origin.y = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -110,33 +116,67 @@ public class ObjectTile extends Tile
|
|||||||
_priority = priority;
|
_priority = priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configures the "spot" associated with this object.
|
||||||
|
*/
|
||||||
|
public void setSpot (int x, int y, byte orient)
|
||||||
|
{
|
||||||
|
_spot = new Point(x, y);
|
||||||
|
_sorient = orient;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the x-coordinate of the "spot" associated with this object.
|
||||||
|
*/
|
||||||
|
public int getSpotX ()
|
||||||
|
{
|
||||||
|
return (_spot == null) ? 0 : _spot.x;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the x-coordinate of the "spot" associated with this object.
|
||||||
|
*/
|
||||||
|
public int getSpotY ()
|
||||||
|
{
|
||||||
|
return (_spot == null) ? 0 : _spot.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the orientation of the "spot" associated with this object.
|
||||||
|
*/
|
||||||
|
public int getSpotOrient ()
|
||||||
|
{
|
||||||
|
return _sorient;
|
||||||
|
}
|
||||||
|
|
||||||
// documentation inherited
|
// documentation inherited
|
||||||
public void toString (StringBuffer buf)
|
public void toString (StringBuffer buf)
|
||||||
{
|
{
|
||||||
super.toString(buf);
|
super.toString(buf);
|
||||||
buf.append(", baseWidth=").append(_baseWidth);
|
buf.append(", base=").append(StringUtil.toString(_base));
|
||||||
buf.append(", baseHeight=").append(_baseHeight);
|
buf.append(", origin=").append(StringUtil.toString(_origin));
|
||||||
buf.append(", originX=").append(_originX);
|
|
||||||
buf.append(", originY=").append(_originY);
|
|
||||||
buf.append(", priority=").append(_priority);
|
buf.append(", priority=").append(_priority);
|
||||||
|
if (_spot != null) {
|
||||||
|
buf.append(", spot=").append(StringUtil.toString(_spot));
|
||||||
|
buf.append(", sorient=");
|
||||||
|
buf.append(DirectionUtil.toShortString(_sorient));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The object footprint width in unit tile units. */
|
/** The object footprint width in unit tile units. */
|
||||||
protected int _baseWidth = 1;
|
protected Dimension _base = new Dimension(1, 1);
|
||||||
|
|
||||||
/** The object footprint height in unit tile units. */
|
/** The offset from the origin of the tile image to the object's
|
||||||
protected int _baseHeight = 1;
|
|
||||||
|
|
||||||
/** The x offset from the origin of the tile image to the object's
|
|
||||||
* origin or MIN_VALUE if the origin should be calculated based on the
|
* origin or MIN_VALUE if the origin should be calculated based on the
|
||||||
* footprint. */
|
* footprint. */
|
||||||
protected int _originX = Integer.MIN_VALUE;
|
protected Point _origin = new Point(Integer.MIN_VALUE, Integer.MIN_VALUE);
|
||||||
|
|
||||||
/** The y offset from the origin of the tile image to the object's
|
|
||||||
* origin or MIN_VALUE if the origin should be calculated based on the
|
|
||||||
* footprint. */
|
|
||||||
protected int _originY = Integer.MIN_VALUE;
|
|
||||||
|
|
||||||
/** This object tile's default render priority. */
|
/** This object tile's default render priority. */
|
||||||
protected int _priority;
|
protected int _priority;
|
||||||
|
|
||||||
|
/** The coordinates of the "spot" associated with this object. */
|
||||||
|
protected Point _spot;
|
||||||
|
|
||||||
|
/** The orientation of the "spot" associated with this object. */
|
||||||
|
protected byte _sorient;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ObjectTileSet.java,v 1.13 2003/02/04 02:59:47 mdb Exp $
|
// $Id: ObjectTileSet.java,v 1.14 2003/02/06 06:23:05 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.tile;
|
package com.threerings.media.tile;
|
||||||
|
|
||||||
@@ -161,6 +161,10 @@ public class ObjectTileSet extends SwissArmyTileSet
|
|||||||
if (_priorities != null) {
|
if (_priorities != null) {
|
||||||
tile.setPriority(_priorities[tileIndex]);
|
tile.setPriority(_priorities[tileIndex]);
|
||||||
}
|
}
|
||||||
|
if (_xspots != null) {
|
||||||
|
tile.setSpot(_xspots[tileIndex], _yspots[tileIndex],
|
||||||
|
_sorients[tileIndex]);
|
||||||
|
}
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TrimmedObjectTileSet.java,v 1.6 2003/02/05 00:22:05 mdb Exp $
|
// $Id: TrimmedObjectTileSet.java,v 1.7 2003/02/06 06:23:05 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.media.tile;
|
package com.threerings.media.tile;
|
||||||
|
|
||||||
@@ -70,7 +70,11 @@ public class TrimmedObjectTileSet extends TileSet
|
|||||||
tile.setBase(_ometrics[tileIndex].width, _ometrics[tileIndex].height);
|
tile.setBase(_ometrics[tileIndex].width, _ometrics[tileIndex].height);
|
||||||
tile.setOrigin(_ometrics[tileIndex].x, _ometrics[tileIndex].y);
|
tile.setOrigin(_ometrics[tileIndex].x, _ometrics[tileIndex].y);
|
||||||
if (_bits != null) {
|
if (_bits != null) {
|
||||||
tile.setPriority(_bits[tileIndex].priority);
|
Bits bits = _bits[tileIndex];
|
||||||
|
tile.setPriority(bits.priority);
|
||||||
|
if (bits.xspot != 0 || bits.yspot != 0 || bits.sorient != 0) {
|
||||||
|
tile.setSpot(bits.xspot, bits.yspot, bits.sorient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
@@ -177,7 +181,7 @@ public class TrimmedObjectTileSet extends TileSet
|
|||||||
public short yspot;
|
public short yspot;
|
||||||
|
|
||||||
/** The orientation of the "spot" associated with this object. */
|
/** The orientation of the "spot" associated with this object. */
|
||||||
public short sorient;
|
public byte sorient;
|
||||||
|
|
||||||
/** Generates a string representation of this instance. */
|
/** Generates a string representation of this instance. */
|
||||||
public String toString ()
|
public String toString ()
|
||||||
|
|||||||
Reference in New Issue
Block a user