ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/Client.xs
(Generate patch)

Comparing deliantra/Deliantra-Client/Client.xs (file contents):
Revision 1.153 by root, Tue Sep 19 22:02:38 2006 UTC vs.
Revision 1.156 by root, Thu Sep 21 14:47:51 2006 UTC

315 315
316 cell = row->col + x - row->c0; 316 cell = row->col + x - row->c0;
317 317
318 cell->darkness = 0; 318 cell->darkness = 0;
319 cell->stat_hp = 0; 319 cell->stat_hp = 0;
320 cell->flags = 0;
321 cell->player = 0;
320 } 322 }
321 } 323 }
322} 324}
323 325
324static void 326static void
1244void 1246void
1245scroll (CFPlus::Map self, int dx, int dy) 1247scroll (CFPlus::Map self, int dx, int dy)
1246 CODE: 1248 CODE:
1247{ 1249{
1248 if (dx > 0) 1250 if (dx > 0)
1249 map_blank (self, self->x, self->y, dx - 1, self->h); 1251 map_blank (self, self->x, self->y, dx, self->h);
1250 else if (dx < 0) 1252 else if (dx < 0)
1251 map_blank (self, self->x + self->w + dx + 1, self->y, 1 - dx, self->h); 1253 map_blank (self, self->x + self->w + dx + 1, self->y, -dx, self->h);
1252 1254
1253 if (dy > 0) 1255 if (dy > 0)
1254 map_blank (self, self->x, self->y, self->w, dy - 1); 1256 map_blank (self, self->x, self->y, self->w, dy);
1255 else if (dy < 0) 1257 else if (dy < 0)
1256 map_blank (self, self->x, self->y + self->h + dy + 1, self->w, 1 - dy); 1258 map_blank (self, self->x, self->y + self->h + dy + 1, self->w, -dy);
1257 1259
1258 self->ox += dx; self->x += dx; 1260 self->ox += dx; self->x += dx;
1259 self->oy += dy; self->y += dy; 1261 self->oy += dy; self->y += dy;
1260 1262
1261 while (self->y < 0) 1263 while (self->y < 0)
1287 1289
1288 if (flags & 15) 1290 if (flags & 15)
1289 { 1291 {
1290 if (!cell->darkness) 1292 if (!cell->darkness)
1291 { 1293 {
1294 memset (cell, 0, sizeof (*cell));
1292 cell->darkness = 256; 1295 cell->darkness = 256;
1293 cell->face [0] = 0;
1294 cell->face [1] = 0;
1295 cell->face [2] = 0;
1296 } 1296 }
1297 1297
1298 //TODO: don't trust server data to be in-range(!) 1298 //TODO: don't trust server data to be in-range(!)
1299 1299
1300 if (flags & 8) 1300 if (flags & 8)
1351 { 1351 {
1352 cell->face [2] = self->face [(data [0] << 8) + data [1]]; data += 2; 1352 cell->face [2] = self->face [(data [0] << 8) + data [1]]; data += 2;
1353 } 1353 }
1354 } 1354 }
1355 else 1355 else
1356 {
1357 cell->darkness = 0; 1356 cell->darkness = 0;
1358 cell->stat_hp = 0;
1359 }
1360 } 1357 }
1361} 1358}
1362 1359
1363SV * 1360SV *
1364mapmap (CFPlus::Map self, int x0, int y0, int w, int h) 1361mapmap (CFPlus::Map self, int x0, int y0, int w, int h)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines