Switch to new logging API.

git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@608 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Michael Bayne
2008-05-27 20:00:28 +00:00
parent 3b7ef57a20
commit a133c7c693
91 changed files with 486 additions and 722 deletions
+4 -28
View File
@@ -21,36 +21,12 @@
package com.threerings.puzzle;
import com.samskivert.util.Logger;
/**
* A placeholder class that contains a reference to the log object used by
* this package.
* Contains a reference to the log object used by this package.
*/
public class Log
{
public static com.samskivert.util.Log log =
new com.samskivert.util.Log("puzzle");
/** Convenience function. */
public static void debug (String message)
{
log.debug(message);
}
/** Convenience function. */
public static void info (String message)
{
log.info(message);
}
/** Convenience function. */
public static void warning (String message)
{
log.warning(message);
}
/** Convenience function. */
public static void logStackTrace (Throwable t)
{
log.logStackTrace(com.samskivert.util.Log.WARNING, t);
}
public static Logger log = Logger.getLogger("com.threerings.puzzle");
}
@@ -46,11 +46,12 @@ import com.threerings.media.sprite.Sprite;
import com.threerings.parlor.game.data.GameConfig;
import com.threerings.parlor.media.ScoreAnimation;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.data.PuzzleCodes;
import com.threerings.puzzle.util.PuzzleContext;
import static com.threerings.puzzle.Log.log;
/**
* The puzzle board view displays a view of a puzzle game.
*/
@@ -160,7 +161,7 @@ public abstract class PuzzleBoardView extends VirtualMediaPanel
protected void animationFinished (Animation anim)
{
if (DEBUG_ACTION) {
Log.info("Animation cleared " + StringUtil.shortClassName(anim) +
log.info("Animation cleared " + StringUtil.shortClassName(anim) +
":" + _actionAnims.contains(anim));
}
@@ -194,7 +195,7 @@ public abstract class PuzzleBoardView extends VirtualMediaPanel
super.removeSprite(sprite);
if (DEBUG_ACTION) {
Log.info("Sprite cleared " + StringUtil.shortClassName(sprite) +
log.info("Sprite cleared " + StringUtil.shortClassName(sprite) +
":" + _actionSprites.contains(sprite));
}
@@ -253,7 +254,7 @@ public abstract class PuzzleBoardView extends VirtualMediaPanel
return StringUtil.shortClassName(obj);
}
};
Log.info("Board contents [board=" + StringUtil.shortClassName(this) +
log.info("Board contents [board=" + StringUtil.shortClassName(this) +
", sprites=" + StringUtil.listToString(_actionSprites, fmt) +
", anims=" + StringUtil.listToString(_actionAnims, fmt) +
"].");
@@ -348,7 +349,7 @@ public abstract class PuzzleBoardView extends VirtualMediaPanel
protected void maybeFireCleared ()
{
if (DEBUG_ACTION) {
Log.info("Maybe firing cleared " +
log.info("Maybe firing cleared " +
getActionCount() + ":" + isShowing());
}
if (getActionCount() == 0) {
@@ -50,12 +50,13 @@ import com.threerings.crowd.data.PlaceObject;
import com.threerings.parlor.game.client.GameController;
import com.threerings.parlor.game.data.GameObject;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.data.PuzzleCodes;
import com.threerings.puzzle.data.PuzzleObject;
import com.threerings.puzzle.util.PuzzleContext;
import static com.threerings.puzzle.Log.log;
/**
* The puzzle game controller handles logical actions for a puzzle game.
*/
@@ -163,7 +164,7 @@ public abstract class PuzzleController extends GameController
// if we're moving focus to chat..
if (chatting) {
if (_unpauser != null) {
Log.warning("Huh? Already have a mouse unpauser?");
log.warning("Huh? Already have a mouse unpauser?");
_unpauser.release();
}
_unpauser = new Unpauser(_panel);
@@ -407,26 +408,26 @@ public abstract class PuzzleController extends GameController
// refuse to start the action if our puzzle view is hidden
if (_pidx != -1 && !_panel.getBoardView().isShowing()) {
Log.warning("Refusing to start action on hidden puzzle.");
log.warning("Refusing to start action on hidden puzzle.");
Thread.dumpStack();
return;
}
// refuse to start the action if it's already going
if (_astate != ACTION_CLEARED) {
Log.warning("Action state inappropriate for startAction() " +
log.warning("Action state inappropriate for startAction() " +
"[astate=" + _astate + "].");
Thread.dumpStack();
return;
}
if (isChatting() && supportsActionPause()) {
Log.info("Not starting action, player is chatting in a puzzle " +
log.info("Not starting action, player is chatting in a puzzle " +
"that supports pausing the action.");
return;
}
Log.debug("Starting puzzle action.");
log.debug("Starting puzzle action.");
// register the game progress updater; it may already be updated
// because we can cycle through clearing the action and starting
@@ -498,7 +499,7 @@ public abstract class PuzzleController extends GameController
return;
}
Log.debug("Attempting to clear puzzle action.");
log.debug("Attempting to clear puzzle action.");
// put ourselves into a pending clear state and attempt to clear
// the action
@@ -527,13 +528,13 @@ public abstract class PuzzleController extends GameController
// if the action is already ended, fire this pender immediately
if (_astate == ACTION_CLEARED) {
if (pender.actionCleared() == ClearPender.RESTART_ACTION) {
Log.debug("Restarting action at behest of pender " +
log.debug("Restarting action at behest of pender " +
pender + ".");
startAction();
}
} else {
Log.debug("Queueing action pender " + pender + ".");
log.debug("Queueing action pender " + pender + ".");
_clearPenders.add(pender);
}
}
@@ -593,7 +594,7 @@ public abstract class PuzzleController extends GameController
*/
protected void actuallyClearAction ()
{
Log.debug("Actually clearing action.");
log.debug("Actually clearing action.");
// make a note that we've cleared the action
_astate = ACTION_CLEARED;
@@ -617,8 +618,7 @@ public abstract class PuzzleController extends GameController
try {
actionWasCleared();
} catch (Exception e) {
Log.warning("Choked in actionWasCleared");
Log.logStackTrace(e);
log.warning("Choked in actionWasCleared", e);
}
// notify any penders that the action has cleared
@@ -734,7 +734,7 @@ public abstract class PuzzleController extends GameController
{
// make sure they don't queue things up at strange times
if (_puzobj.state != PuzzleObject.IN_PLAY) {
Log.warning("Rejecting progress event; game not in play " +
log.warning("Rejecting progress event; game not in play " +
"[puzobj=" + _puzobj.which() +
", event=" + event + "].");
return;
@@ -744,7 +744,7 @@ public abstract class PuzzleController extends GameController
if (isSyncingBoards()) {
_states.add((board == null) ? null : board.clone());
if (board == null) {
Log.warning("Added progress event with no associated board " +
log.warning("Added progress event with no associated board " +
"state, server will not be able to ensure " +
"board state synchronization.");
}
@@ -37,11 +37,12 @@ import com.threerings.crowd.data.PlaceObject;
import com.threerings.parlor.game.data.GameConfig;
import com.threerings.parlor.util.RobotPlayer;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.PuzzleCodes;
import com.threerings.puzzle.data.PuzzleGameCodes;
import com.threerings.puzzle.util.PuzzleContext;
import static com.threerings.puzzle.Log.log;
/**
* The puzzle panel class should be extended by classes that provide a
* view for a puzzle game. The {@link PuzzleController} calls these
@@ -108,7 +109,7 @@ public abstract class PuzzlePanel extends JPanel
{
// bail if we've already got an overlay
if (_opanel != null) {
Log.info("Refusing to push overlay panel, we've already got one " +
log.info("Refusing to push overlay panel, we've already got one " +
"[opanel=" + _opanel + ", npanel=" + opanel + "].");
return false;
}
@@ -40,7 +40,6 @@ import com.threerings.media.util.Path;
import com.threerings.parlor.game.data.GameConfig;
import com.threerings.parlor.media.ScoreAnimation;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.client.PuzzleBoardView;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.util.PuzzleContext;
@@ -49,6 +48,8 @@ import com.threerings.puzzle.drop.data.DropBoard;
import com.threerings.puzzle.drop.data.DropConfig;
import com.threerings.puzzle.drop.data.DropPieceCodes;
import static com.threerings.puzzle.Log.log;
/**
* The drop board view displays a drop puzzle game in progress for a
* single player.
@@ -141,7 +142,7 @@ public abstract class DropBoardView extends PuzzleBoardView
public void createPiece (int piece, int sx, int sy)
{
if (sx < 0 || sy < 0 || sx >= _bwid || sy >= _bhei) {
Log.warning("Requested to create piece in invalid location " +
log.warning("Requested to create piece in invalid location " +
"[sx=" + sx + ", sy=" + sy + "].");
Thread.dumpStack();
return;
@@ -171,7 +172,7 @@ public abstract class DropBoardView extends PuzzleBoardView
public void updatePiece (int piece, int sx, int sy)
{
if (sx < 0 || sy < 0 || sx >= _bwid || sy >= _bhei) {
Log.warning("Requested to update piece in invalid location " +
log.warning("Requested to update piece in invalid location " +
"[sx=" + sx + ", sy=" + sy + "].");
Thread.dumpStack();
return;
@@ -192,7 +193,7 @@ public abstract class DropBoardView extends PuzzleBoardView
long duration)
{
if (tx < 0 || ty < 0 || tx >= _bwid || ty >= _bhei) {
Log.warning("Requested to create and move piece to invalid " +
log.warning("Requested to create and move piece to invalid " +
"location [tx=" + tx + ", ty=" + ty + "].");
Thread.dumpStack();
return;
@@ -224,7 +225,7 @@ public abstract class DropBoardView extends PuzzleBoardView
int spos = sy * _bwid + sx;
Sprite piece = _pieces[spos];
if (piece == null) {
Log.warning("Missing source sprite for drop [sx=" + sx +
log.warning("Missing source sprite for drop [sx=" + sx +
", sy=" + sy + ", tx=" + tx + ", ty=" + ty + "].");
return null;
}
@@ -247,11 +248,9 @@ public abstract class DropBoardView extends PuzzleBoardView
if (sx == tx && sy == ty) {
int tpos = ty * _bwid + tx;
if (_pieces[tpos] != null) {
Log.warning("Zoiks! Asked to add a piece where we already " +
log.warning("Zoiks! Asked to add a piece where we already " +
"have one [sx=" + sx + ", sy=" + sy +
", tx=" + tx + ", ty=" + ty + "].");
Log.logStackTrace(where);
return;
", tx=" + tx + ", ty=" + ty + "].", where);
}
_pieces[tpos] = piece;
piece.setLocation(start.x, start.y);
@@ -269,10 +268,9 @@ public abstract class DropBoardView extends PuzzleBoardView
public void pathCompleted (Sprite sprite, Path path, long when) {
sprite.removeSpriteObserver(this);
if (_pieces[tpos] != null) {
Log.warning("Oh god, we're dropping onto another piece " +
log.warning("Oh god, we're dropping onto another piece " +
"[sx=" + sx + ", sy=" + sy +
", tx=" + tx + ", ty=" + ty + "].");
Log.logStackTrace(where);
", tx=" + tx + ", ty=" + ty + "].", where);
return;
}
_pieces[tpos] = sprite;
@@ -39,7 +39,6 @@ import com.threerings.crowd.util.CrowdContext;
import com.threerings.puzzle.util.PuzzleContext;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.client.PuzzleController;
import com.threerings.puzzle.client.PuzzleControllerDelegate;
import com.threerings.puzzle.client.PuzzlePanel;
@@ -55,6 +54,8 @@ import com.threerings.puzzle.drop.util.PieceDropLogic;
import com.threerings.puzzle.drop.util.PieceDropper.PieceDropInfo;
import com.threerings.puzzle.drop.util.PieceDropper;
import static com.threerings.puzzle.Log.log;
/**
* Games that wish to make use of the drop puzzle services will need to
* create an extension of this delegate class, customizing it for their
@@ -187,7 +188,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
// it on its merry way once more
if (_blocksprite != null) {
long delta = _dview.getTimeStamp() - _blockStamp;
Log.info("Restarting drop sprite [delta=" + delta + "].");
log.info("Restarting drop sprite [delta=" + delta + "].");
_blocksprite.fastForward(delta);
_blockStamp = 0L;
_dview.addSprite(_blocksprite);
@@ -196,7 +197,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
// bouncing, we need to land the block to get things going
// again
if (_blocksprite.isBouncing()) {
Log.info("Ended on a bounce, landing the block and " +
log.info("Ended on a bounce, landing the block and " +
"starting things up.");
checkBlockLanded("bounced", true, true);
}
@@ -210,7 +211,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
protected boolean canClearAction ()
{
if (!_stable) {
Log.info("Rejecting canClear() request because not stable.");
log.info("Rejecting canClear() request because not stable.");
}
return _stable && super.canClearAction();
}
@@ -442,7 +443,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
protected void dropNextBlock ()
{
if (_blocksprite != null || !_ctrl.hasAction()) {
Log.info("Not dropping block [bs=" + (_blocksprite != null) +
log.info("Not dropping block [bs=" + (_blocksprite != null) +
", action=" + _ctrl.hasAction() + "].");
return;
}
@@ -674,7 +675,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
if (_dboard.isValidDrop(rows, cols, pctdone)) {
if (commit) {
Log.info("Not valid drop [source=" + source +
log.info("Not valid drop [source=" + source +
", commit=" + commit + ", atTop=" + atTop +
", pctdone=" + pctdone + "].");
}
@@ -698,7 +699,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
// a valid position, and that we aren't somehow
// overwriting an existing piece
if (col < 0 || col >= _bwid || row >= _bhei) {
Log.warning("Placing drop block piece outside board " +
log.warning("Placing drop block piece outside board " +
"bounds!? [x=" + col + ", y=" + row +
", pidx=" + ii +
", blocksprite=" + _blocksprite + "].");
@@ -707,7 +708,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
} else {
int cpiece = _dboard.getPiece(col, row);
if (cpiece != PIECE_NONE) {
Log.warning("Placing drop block piece onto " +
log.warning("Placing drop block piece onto " +
"occupied board position!? [x=" + col +
", y=" + row + ", pidx=" + ii +
", blocksprite=" + _blocksprite + "].");
@@ -724,7 +725,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
if (DEBUG_PUZZLE && error) {
_dboard.dump();
Log.warning("Bailing out in a flaming pyre of glory.");
log.warning("Bailing out in a flaming pyre of glory.");
System.exit(0);
}
}
@@ -910,7 +911,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
boolean evolving = evolveBoard();
boolean debug = false;
if (debug) {
Log.info("Evolved board [evolving=" + evolving + "].");
log.info("Evolved board [evolving=" + evolving + "].");
}
// if we're no longer evolving and the action has not ended, go
@@ -922,7 +923,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
// this will trigger further puzzle activity
if (debug) {
Log.info("Board did stabilize");
log.info("Board did stabilize");
}
boardDidStabilize();
@@ -930,7 +931,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
// evolution, that it will now be cleared
if (!_ctrl.hasAction()) {
if (debug) {
Log.info("Maybe clearing action.");
log.info("Maybe clearing action.");
}
maybeClearAction();
}
@@ -1067,7 +1068,7 @@ public abstract class DropControllerDelegate extends PuzzleControllerDelegate
unstabilizeBoard();
} else {
Log.debug("Sticking fork in it [risers=" +
log.debug("Sticking fork in it [risers=" +
StringUtil.toString(pieces) + ".");
// let the controller know that we're done for
@@ -32,7 +32,7 @@ import com.threerings.util.DirectionUtil;
import com.threerings.media.image.Mirage;
import com.threerings.media.sprite.Sprite;
import com.threerings.puzzle.Log;
import static com.threerings.puzzle.Log.log;
/**
* The drop sprite is a sprite that displays one or more pieces falling
@@ -29,11 +29,12 @@ import org.apache.commons.lang.StringUtils;
import com.threerings.util.DirectionUtil;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.drop.client.DropControllerDelegate;
import com.threerings.puzzle.drop.util.DropBoardUtil;
import static com.threerings.puzzle.Log.log;
/**
* A class that provides for various useful logical operations to be enacted on a two-dimensional
* board and provides an easier mechanism for referencing pieces by position.
@@ -132,8 +133,7 @@ public class DropBoard extends Board
try {
return _board[(row*_bwid) + col];
} catch (Exception e) {
Log.warning("Failed getting piece [col=" + col + ", row=" + row + ", error=" + e + "].");
Log.logStackTrace(e);
log.warning("Failed getting piece [col=" + col + ", row=" + row + "].", e);
return -1;
}
}
@@ -319,7 +319,7 @@ public class DropBoard extends Board
// this should never happen since even in the most tightly constrained case where the block
// is entirely surrounded by other pieces there are always two valid orientations.
Log.warning("**** We're horked and couldn't rotate at all!");
log.warning("**** We're horked and couldn't rotate at all!");
// System.exit(0);
return null;
}
@@ -425,7 +425,7 @@ public class DropBoard extends Board
return true;
} else {
Log.warning("Attempt to set piece outside board bounds " +
log.warning("Attempt to set piece outside board bounds " +
"[col=" + col + ", row=" + row + ", p=" + piece + "].");
return false;
}
@@ -649,7 +649,7 @@ public class DropBoard extends Board
{
// make sure the target board is a valid target
if (board.getWidth() != _bwid || board.getHeight() != _bhei) {
Log.warning("Can't copy board into destination board with different dimensions " +
log.warning("Can't copy board into destination board with different dimensions " +
"[src=" + this + ", dest=" + board + "].");
return;
}
@@ -686,7 +686,7 @@ public class DropBoard extends Board
{
int size = (_bwid*_bhei);
if (board.length < size) {
Log.warning("Attempt to set board with invalid data size " +
log.warning("Attempt to set board with invalid data size " +
"[len=" + board.length + ", expected=" + size + "].");
return;
}
@@ -24,7 +24,6 @@ package com.threerings.puzzle.drop.server;
import com.threerings.crowd.data.PlaceConfig;
import com.threerings.crowd.data.PlaceObject;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.data.PuzzleCodes;
import com.threerings.puzzle.server.PuzzleManager;
@@ -37,6 +36,8 @@ import com.threerings.puzzle.drop.data.DropLogic;
import com.threerings.puzzle.drop.util.PieceDropLogic;
import com.threerings.puzzle.drop.util.PieceDropper;
import static com.threerings.puzzle.Log.log;
/**
* Provides the necessary support for a puzzle game that involves a
* two-dimensional board containing pieces, with new pieces either falling
@@ -81,7 +82,7 @@ public abstract class DropManagerDelegate extends PuzzleManagerDelegate
_usedrop = logic.useBlockDropping();
_userise = logic.useBoardRising();
if (_usedrop && _userise) {
Log.warning("Can't use dropping blocks and board rising "+
log.warning("Can't use dropping blocks and board rising "+
"functionality simultaneously in a drop puzzle game! " +
"Falling back to straight dropping.");
_userise = false;
@@ -27,10 +27,11 @@ import java.util.List;
import com.samskivert.util.StringUtil;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.drop.data.DropBoard;
import com.threerings.puzzle.drop.data.DropPieceCodes;
import static com.threerings.puzzle.Log.log;
/**
* Handles dropping pieces in a board.
*/
@@ -156,7 +157,7 @@ public class PieceDropper
int end = _logic.getConstrainedEdge(board, xx, yy, RIGHT);
int bwid = board.getWidth();
if (start < 0 || end >= bwid) {
Log.warning("Board reported bogus constrained edge " +
log.warning("Board reported bogus constrained edge " +
"[x=" + xx + ", y=" + yy + ", start=" + start + ", end=" + end + "].");
board.dump();
start = Math.max(start, 0);
@@ -42,13 +42,14 @@ import com.threerings.parlor.game.server.GameManager;
import com.threerings.util.MessageBundle;
import com.threerings.util.Name;
import com.threerings.puzzle.Log;
import com.threerings.puzzle.data.Board;
import com.threerings.puzzle.data.BoardSummary;
import com.threerings.puzzle.data.PuzzleCodes;
import com.threerings.puzzle.data.PuzzleGameMarshaller;
import com.threerings.puzzle.data.PuzzleObject;
import static com.threerings.puzzle.Log.log;
/**
* Extends the {@link GameManager} with facilities for the puzzle games
* that are used in Yohoho. Only features generic to all of our games are
@@ -263,7 +264,7 @@ public abstract class PuzzleManager extends GameManager
// log the AI skill levels for games involving AIs as it's useful
// when tuning AI algorithms
if (_AIs != null) {
Log.info("AIs on the job [game=" + _puzobj.which() +
log.info("AIs on the job [game=" + _puzobj.which() +
", skillz=" + StringUtil.toString(_AIs) + "].");
}
}
@@ -411,7 +412,7 @@ public abstract class PuzzleManager extends GameManager
// apply the event to the player's board
if (!applyProgressEvent(pidx, gevent, cboard)) {
Log.warning("Unknown event [puzzle=" + where() +
log.warning("Unknown event [puzzle=" + where() +
", pidx=" + pidx + ", event=" + gevent + "].");
}
@@ -429,19 +430,19 @@ public abstract class PuzzleManager extends GameManager
int gevent, boolean before)
{
if (DEBUG_PUZZLE) {
Log.info((before ? "About to apply " : "Just applied ") +
log.info((before ? "About to apply " : "Just applied ") +
"[game=" + _puzobj.which() + ", pidx=" + pidx +
", event=" + gevent + "].");
}
if (boardstate == null) {
if (DEBUG_PUZZLE) {
Log.info("No board state provided. Can't compare.");
log.info("No board state provided. Can't compare.");
}
return;
}
boolean equal = _boards[pidx].equals(boardstate);
if (!equal) {
Log.warning("Client and server board states not equal! " +
log.warning("Client and server board states not equal! " +
"[game=" + _puzobj.which() +
", type=" + _puzobj.getClass().getName() + "].");
}
@@ -524,7 +525,7 @@ public abstract class PuzzleManager extends GameManager
// only warn if this isn't a straggling update from the
// previous round
if (roundId != _puzobj.roundId-1) {
Log.warning("Received progress update for invalid round, " +
log.warning("Received progress update for invalid round, " +
"not applying [game=" + _puzobj.which() +
", invalidRoundId=" + roundId +
", roundId=" + _puzobj.roundId + "].");
@@ -534,7 +535,7 @@ public abstract class PuzzleManager extends GameManager
// if the game is over, we wing straggling updates
if (!_puzobj.isInPlay()) {
Log.debug("Ignoring straggling events " +
log.debug("Ignoring straggling events " +
"[game=" + _puzobj.which() +
", who=" + caller.who() +
", events=" + StringUtil.toString(events) + "].");
@@ -544,7 +545,7 @@ public abstract class PuzzleManager extends GameManager
// determine the caller's player index in the game
int pidx = IntListUtil.indexOf(_playerOids, caller.getOid());
if (pidx == -1) {
Log.warning("Received progress update for non-player?! " +
log.warning("Received progress update for non-player?! " +
"[game=" + _puzobj.which() + ", who=" + caller.who() +
", ploids=" + StringUtil.toString(_playerOids) + "].");
return;
@@ -24,7 +24,7 @@ package com.threerings.puzzle.util;
import java.awt.Point;
import java.util.Iterator;
import com.threerings.puzzle.Log;
import static com.threerings.puzzle.Log.log;
/**
* The point set class provides an efficient implementation of a set
@@ -224,7 +224,7 @@ public class PointSet
}
if (_curY >= _rangeY) {
Log.warning("Advanced past point range.");
log.warning("Advanced past point range.");
_curY = 0;
}
}