… | |
… | |
1579 | |
1579 | |
1580 | void init_dynamic () |
1580 | void init_dynamic () |
1581 | |
1581 | |
1582 | void load_settings () |
1582 | void load_settings () |
1583 | |
1583 | |
1584 | void reload_exp_table () |
1584 | void _reload_exp_table () |
1585 | |
1585 | |
1586 | void reload_materials () |
1586 | void _reload_materials () |
1587 | |
1587 | |
1588 | void init_uuid () |
1588 | void init_uuid () |
1589 | CODE: |
1589 | CODE: |
1590 | UUID::init (); |
1590 | UUID::init (); |
1591 | |
1591 | |
… | |
… | |
1800 | |
1800 | |
1801 | int exp_to_level (val64 exp) |
1801 | int exp_to_level (val64 exp) |
1802 | |
1802 | |
1803 | val64 level_to_min_exp (int level) |
1803 | val64 level_to_min_exp (int level) |
1804 | |
1804 | |
|
|
1805 | const_utf8_string |
|
|
1806 | spellpathnames (int idx) |
|
|
1807 | CODE: |
|
|
1808 | RETVAL = spellpathnames [idx]; |
|
|
1809 | OUTPUT: RETVAL |
|
|
1810 | |
1805 | SV * |
1811 | SV * |
1806 | attacktype_name (int atnr) |
1812 | attacktype_name (int atnr) |
1807 | CODE: |
1813 | CODE: |
1808 | RETVAL = IN_RANGE_EXC (atnr, 0, NROFATTACKS) |
1814 | RETVAL = IN_RANGE_EXC (atnr, 0, NROFATTACKS) |
1809 | ? newSVpv (attacktype_name [atnr], 0) |
1815 | ? newSVpv (attacktype_name [atnr], 0) |
… | |
… | |
2580 | archetype *archetypes (U32 index) |
2586 | archetype *archetypes (U32 index) |
2581 | CODE: |
2587 | CODE: |
2582 | RETVAL = index < archetypes.size () ? archetypes [index] : 0; |
2588 | RETVAL = index < archetypes.size () ? archetypes [index] : 0; |
2583 | OUTPUT: RETVAL |
2589 | OUTPUT: RETVAL |
2584 | |
2590 | |
|
|
2591 | int skillvec_size () |
|
|
2592 | CODE: |
|
|
2593 | RETVAL = skillvec.size (); |
|
|
2594 | OUTPUT: RETVAL |
|
|
2595 | |
|
|
2596 | archetype *skillvec (U32 index) |
|
|
2597 | CODE: |
|
|
2598 | RETVAL = index < skillvec.size () ? (archetype *)(object *)skillvec [index] : 0; |
|
|
2599 | OUTPUT: RETVAL |
|
|
2600 | |
2585 | INCLUDE: $PERL $srcdir/genacc archetype $srcdir/../include/object.h | |
2601 | INCLUDE: $PERL $srcdir/genacc archetype $srcdir/../include/object.h | |
2586 | |
2602 | |
2587 | MODULE = cf PACKAGE = cf::party |
2603 | MODULE = cf PACKAGE = cf::party |
2588 | |
2604 | |
2589 | partylist *first () |
2605 | partylist *first () |
… | |
… | |
2761 | faceinfo *f = face_info (idx); assert (f); |
2777 | faceinfo *f = face_info (idx); assert (f); |
2762 | facedata *d = f->face + faceset; |
2778 | facedata *d = f->face + faceset; |
2763 | sv_to (data, d->data); |
2779 | sv_to (data, d->data); |
2764 | STRLEN clen; |
2780 | STRLEN clen; |
2765 | char *cdata = SvPVbyte (chksum, clen); |
2781 | char *cdata = SvPVbyte (chksum, clen); |
2766 | clen = min (CHKSUM_MAXLEN, clen); |
|
|
2767 | |
2782 | |
|
|
2783 | assert (("cf::face::set_data called with too long checksum", clen <= CHKSUM_MAXLEN)); |
2768 | assert (("cf::face::set_data must be called with a non-empty checksum", clen)); |
2784 | assert (("cf::face::set_data must be called with a non-empty checksum", clen)); |
2769 | |
2785 | |
2770 | if (clen != d->chksum_len || memcmp (d->chksum, cdata, clen)) |
2786 | if (clen != d->chksum_len || memcmp (d->chksum, cdata, clen)) |
2771 | { |
2787 | { |
2772 | d->chksum_len = clen; |
2788 | d->chksum_len = clen; |
2773 | memcpy (d->chksum, cdata, clen); |
2789 | memcpy (d->chksum, cdata, clen); |
2774 | |
2790 | |
2775 | // invalidate existing client face info |
2791 | // invalidate existing client face info |
2776 | for_all_clients (ns) |
2792 | for_all_clients (ns) |
2777 | if (ns->faceset == faceset) |
2793 | ns->invalidate_face (idx); |
2778 | { |
|
|
2779 | ns->faces_sent [idx] = false; |
|
|
2780 | ns->force_newmap = true; |
|
|
2781 | } |
|
|
2782 | } |
2794 | } |
2783 | } |
2795 | } |
2784 | |
2796 | |
2785 | int get_data_size (faceidx idx, int faceset = 0) |
2797 | int get_data_size (faceidx idx, int faceset = 0) |
2786 | CODE: |
2798 | CODE: |
… | |
… | |
2796 | faceinfo *f = face_info (idx); assert (f); |
2808 | faceinfo *f = face_info (idx); assert (f); |
2797 | SvREFCNT_dec (f->meta_hv); |
2809 | SvREFCNT_dec (f->meta_hv); |
2798 | f->meta_hv = SvOK (sv) ? (HV *)SvREFCNT_inc (SvRV (sv)) : 0; |
2810 | f->meta_hv = SvOK (sv) ? (HV *)SvREFCNT_inc (SvRV (sv)) : 0; |
2799 | } |
2811 | } |
2800 | |
2812 | |
|
|
2813 | SV *mangle_chksum (SV *chksum) |
|
|
2814 | CODE: |
|
|
2815 | STRLEN len; |
|
|
2816 | char *data = SvPVbyte (chksum, len); |
|
|
2817 | RETVAL = newSVpvn (data, min (len, CHKSUM_MAXLEN)); |
|
|
2818 | OUTPUT: |
|
|
2819 | RETVAL |
|
|
2820 | |
2801 | SV *get_chksum (faceidx idx, int faceset = 0) |
2821 | SV *get_chksum (faceidx idx, int faceset = 0) |
2802 | CODE: |
2822 | CODE: |
2803 | facedata *d = face_data (idx, faceset); |
2823 | facedata *d = face_data (idx, faceset); |
2804 | if (!d) XSRETURN_UNDEF; |
2824 | if (!d) XSRETURN_UNDEF; |
2805 | RETVAL = newSVpvn ((char *)d->chksum, d->chksum_len); |
2825 | RETVAL = newSVpvn ((char *)d->chksum, d->chksum_len); |
… | |
… | |
2809 | int get_type (faceidx idx) |
2829 | int get_type (faceidx idx) |
2810 | CODE: |
2830 | CODE: |
2811 | faceinfo *f = face_info (idx); |
2831 | faceinfo *f = face_info (idx); |
2812 | if (!f) XSRETURN_UNDEF; |
2832 | if (!f) XSRETURN_UNDEF; |
2813 | RETVAL = f->type; |
2833 | RETVAL = f->type; |
|
|
2834 | OUTPUT: |
|
|
2835 | RETVAL |
|
|
2836 | |
|
|
2837 | SV *get_name (faceidx idx) |
|
|
2838 | CODE: |
|
|
2839 | faceinfo *f = face_info (idx); |
|
|
2840 | if (!f) XSRETURN_UNDEF; |
|
|
2841 | RETVAL = to_sv (f->name); |
2814 | OUTPUT: |
2842 | OUTPUT: |
2815 | RETVAL |
2843 | RETVAL |
2816 | |
2844 | |
2817 | SV *get_data (faceidx idx, int faceset = 0) |
2845 | SV *get_data (faceidx idx, int faceset = 0) |
2818 | CODE: |
2846 | CODE: |