ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/cfperl.xs
(Generate patch)

Comparing deliantra/server/server/cfperl.xs (file contents):
Revision 1.181 by root, Tue Apr 3 00:21:38 2007 UTC vs.
Revision 1.182 by root, Fri Apr 6 19:20:33 2007 UTC

2561 assert (f); 2561 assert (f);
2562 f->smooth = smooth; 2562 f->smooth = smooth;
2563 2563
2564void set_data (faceidx idx, int faceset, SV *data, SV *chksum) 2564void set_data (faceidx idx, int faceset, SV *data, SV *chksum)
2565 CODE: 2565 CODE:
2566{
2566 facedata *d = face_data (idx, faceset); 2567 facedata *d = face_data (idx, faceset);
2567 assert (d); 2568 assert (d);
2568 sv_to (data, d->data); 2569 sv_to (data, d->data);
2569 STRLEN clen; 2570 STRLEN clen;
2570 char *cdata = SvPVbyte (chksum, clen); 2571 char *cdata = SvPVbyte (chksum, clen);
2572 clen = min (CHKSUM_SIZE, clen);
2573
2574 if (memcmp (d->chksum, cdata, clen))
2575 {
2571 memcpy (d->chksum, cdata, min (CHKSUM_SIZE, clen)); 2576 memcpy (d->chksum, cdata, clen);
2577
2578 // invalidate existing client face info
2579 for_all_clients (ns)
2580 if (ns->faceset == faceset)
2581 {
2582 ns->faces_sent [idx] = false;
2583 ns->force_newmap = true;
2584 }
2585 }
2586}
2572 2587
2573void invalidate (faceidx idx) 2588void invalidate (faceidx idx)
2574 CODE: 2589 CODE:
2575 for_all_clients (ns) 2590 for_all_clients (ns)
2591 {
2576 ns->faces_sent [idx] = false; 2592 ns->faces_sent [idx] = false;
2593 ns->force_newmap = true;
2594 }
2577 2595
2578void invalidate_all () 2596void invalidate_all ()
2579 CODE: 2597 CODE:
2580 for_all_clients (ns) 2598 for_all_clients (ns)
2599 {
2581 ns->faces_sent.reset (); 2600 ns->faces_sent.reset ();
2601 ns->force_newmap = true;
2602 }
2582 2603

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines