16     if (dx<-8 || 8<dx || dy<-8 || 8<dy) 
return false;
 
   24       assert(! offset.
zero());
 
   25       int dx1=dx+offset.
dx();
 
   26       int dy1=dy+offset.
dy();
 
   28       if (abs(dx0-dx1)>1 || abs(dy0-dy1)>1) 
return true;
 
   30       if (dx1<-8 || 8<dx1 || dy1<-8 || 8<dy1) 
return true;
 
   37       assert(! offset.
zero());
 
   38       if (dx0==offset.
dx() && dy0==offset.
dy())
 
   49     if (dx<-8 || 8<dx || dy<-8 || 8<dy) 
return false;
 
   61     unsigned int mask=0xff;
 
   67     for (
int i=0;i<8;i++){
 
   99     if ((ptype==
PROOK || ptype==
ROOK) && abs(dx)==1 && abs(dy)==1){
 
  105       int index=offset32.
index();
 
  113     typedef std::pair<Offset,unsigned char> OffsetMask;
 
  114     typedef std::pair<int,OffsetMask> LenOffsetMask;
 
  115     typedef vector<LenOffsetMask> LenOffsetMasks;
 
  117     LenOffsetMasks lenOffsetMasks;
 
  118     for (
size_t i=0;i<8;i++){
 
  126         int len=abs(dx2)+abs(dy2);
 
  128         unsigned char mask=(1<<i);
 
  129         lenOffsetMasks.push_back(LenOffsetMask(len,OffsetMask(offset,mask)));
 
  132     if (lenOffsetMasks.size()>0){
 
  133       std::sort(lenOffsetMasks.begin(),lenOffsetMasks.end());
 
  134       ret.setOffset(lenOffsetMasks[0].second.first);
 
  135       for (
size_t i=0;i<lenOffsetMasks.size();i++){
 
  136         ret.setMask(i,lenOffsetMasks[i].second.second);
 
  159       for (
int dx= -8;dx<=8;dx++){
 
  160         for (
int dy= -8;dy<=8;dy++){
 
  162           int index=offset32.
index();
 
  173     os << 
"LongEffect(" << longEffect.
getOffset() << 
",[";
 
  174     for (
int i=0;i<3;i++){
 
  175       if (longEffect.
getMask(i)==0)
break;
 
  176       os << std::setbase(16) << 
"0x" << longEffect.
getMask(i) << std::setbase(10) << 
",";