… | |
… | |
2626 | set_visibility = 1 |
2626 | set_visibility = 1 |
2627 | set_magicmap = 2 |
2627 | set_magicmap = 2 |
2628 | set_smooth = 3 |
2628 | set_smooth = 3 |
2629 | set_smoothlevel = 4 |
2629 | set_smoothlevel = 4 |
2630 | CODE: |
2630 | CODE: |
2631 | faceinfo *f = face_info (idx); |
2631 | faceinfo *f = face_info (idx); assert (f); |
2632 | assert (f); |
|
|
2633 | switch (ix) |
2632 | switch (ix) |
2634 | { |
2633 | { |
2635 | case 0: f->type = value; break; |
2634 | case 0: f->type = value; break; |
2636 | case 1: f->visibility = value; break; |
2635 | case 1: f->visibility = value; break; |
2637 | case 2: f->magicmap = value; break; |
2636 | case 2: f->magicmap = value; break; |
… | |
… | |
2640 | } |
2639 | } |
2641 | |
2640 | |
2642 | void set_data (faceidx idx, int faceset, SV *data, SV *chksum) |
2641 | void set_data (faceidx idx, int faceset, SV *data, SV *chksum) |
2643 | CODE: |
2642 | CODE: |
2644 | { |
2643 | { |
2645 | facedata *d = face_data (idx, faceset); |
2644 | facedata *d = face_data (idx, faceset); assert (d); |
2646 | assert (d); |
|
|
2647 | sv_to (data, d->data); |
2645 | sv_to (data, d->data); |
2648 | STRLEN clen; |
2646 | STRLEN clen; |
2649 | char *cdata = SvPVbyte (chksum, clen); |
2647 | char *cdata = SvPVbyte (chksum, clen); |
2650 | clen = min (CHKSUM_SIZE, clen); |
2648 | clen = min (CHKSUM_SIZE, clen); |
2651 | |
2649 | |
… | |
… | |
2661 | ns->force_newmap = true; |
2659 | ns->force_newmap = true; |
2662 | } |
2660 | } |
2663 | } |
2661 | } |
2664 | } |
2662 | } |
2665 | |
2663 | |
|
|
2664 | int get_data_size (faceidx idx, int faceset = 0) |
|
|
2665 | CODE: |
|
|
2666 | facedata *d = face_data (idx, faceset); assert (d); |
|
|
2667 | RETVAL = d->data.size (); |
|
|
2668 | OUTPUT: |
|
|
2669 | RETVAL |
|
|
2670 | |
|
|
2671 | SV *get_chksum (faceidx idx, int faceset = 0) |
|
|
2672 | CODE: |
|
|
2673 | facedata *d = face_data (idx, faceset); assert (d); |
|
|
2674 | RETVAL = newSVpvn ((char *)d->chksum, CHKSUM_SIZE); |
|
|
2675 | OUTPUT: |
|
|
2676 | RETVAL |
|
|
2677 | |
2666 | void invalidate (faceidx idx) |
2678 | void invalidate (faceidx idx) |
2667 | CODE: |
2679 | CODE: |
2668 | for_all_clients (ns) |
2680 | for_all_clients (ns) |
2669 | { |
2681 | { |
2670 | ns->faces_sent [idx] = false; |
2682 | ns->faces_sent [idx] = false; |