106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
Uint8 b;
Uint16 c;
if(!o) goto nrle;
b=o->dir&7;
if(o->x==x+1) b|=0x40; else if(o->x!=x) b|=0x20;
if(o->y!=y) b|=0x10;
p=m[b&0x70?0:1];
if((b&0x70)!=0x20 || !r || !p) goto nrle;
if(o->class!=p->class || o->image!=p->image || !ValueEq(o->misc1,p->misc1) || !ValueEq(o->misc2,p->misc2) || !ValueEq(o->misc3,p->misc3)) goto nrle;
if(0x0F&~r) {
r++;
} else {
sqlite3_str_appendchar(s,1,r);
if(r&0x20) sqlite3_str_appendchar(s,1,rx);
if(r&0x10) sqlite3_str_appendchar(s,1,ry);
|
|
|
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
Uint8 b;
Uint16 c;
if(!o) goto nrle;
b=o->dir&7;
if(o->x==x+1) b|=0x40; else if(o->x!=x) b|=0x20;
if(o->y!=y) b|=0x10;
p=m[b&0x70?0:1];
if((b&0x70)!=0x40 || !r || !p) goto nrle;
if(o->class!=p->class || o->image!=p->image || !ValueEq(o->misc1,p->misc1) || !ValueEq(o->misc2,p->misc2) || !ValueEq(o->misc3,p->misc3)) goto nrle;
if(0x0F&~r) {
r++;
} else {
sqlite3_str_appendchar(s,1,r);
if(r&0x20) sqlite3_str_appendchar(s,1,rx);
if(r&0x10) sqlite3_str_appendchar(s,1,ry);
|