… | |
… | |
347 | inline SV *to_sv (treasurelist * v) { return to_sv (v->name); } |
347 | inline SV *to_sv (treasurelist * v) { return to_sv (v->name); } |
348 | |
348 | |
349 | inline SV *to_sv (UUID v) |
349 | inline SV *to_sv (UUID v) |
350 | { |
350 | { |
351 | char buf[128]; |
351 | char buf[128]; |
352 | snprintf (buf, 128, "<1,%" PRIx64 ">", v.seq); |
352 | snprintf (buf, 128, "<1.%" PRIx64 ">", v.seq); |
353 | return newSVpv (buf, 0); |
353 | return newSVpv (buf, 0); |
354 | } |
354 | } |
355 | |
355 | |
356 | inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; } |
356 | inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; } |
357 | inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } |
357 | inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } |
… | |
… | |
1805 | void |
1805 | void |
1806 | set_animation (object *op, int idx) |
1806 | set_animation (object *op, int idx) |
1807 | CODE: |
1807 | CODE: |
1808 | SET_ANIMATION (op, idx); |
1808 | SET_ANIMATION (op, idx); |
1809 | |
1809 | |
|
|
1810 | int |
|
|
1811 | num_animations (object *op) |
|
|
1812 | CODE: |
|
|
1813 | RETVAL = NUM_ANIMATIONS (op); |
|
|
1814 | OUTPUT: RETVAL |
|
|
1815 | |
1810 | object *find_best_object_match (object *op, const char *match) |
1816 | object *find_best_object_match (object *op, const char *match) |
1811 | |
1817 | |
1812 | object *find_marked_object (object *op) |
1818 | object *find_marked_object (object *op) |
1813 | |
1819 | |
1814 | int need_identify (object *obj); |
1820 | int need_identify (object *obj); |