… | |
… | |
306 | inline SV *to_sv (living * v) { return newSVptr (v, stash_cf_living_wrap); } |
306 | inline SV *to_sv (living * v) { return newSVptr (v, stash_cf_living_wrap); } |
307 | |
307 | |
308 | inline SV *to_sv (object & v) { return to_sv (&v); } |
308 | inline SV *to_sv (object & v) { return to_sv (&v); } |
309 | inline SV *to_sv (living & v) { return to_sv (&v); } |
309 | inline SV *to_sv (living & v) { return to_sv (&v); } |
310 | |
310 | |
311 | //TODO: |
|
|
312 | inline SV *to_sv (New_Face * v) { return to_sv (v->name); } |
311 | inline SV *to_sv (New_Face * v) { return to_sv (v->name); } |
313 | inline SV *to_sv (treasurelist * v) { return to_sv (v->name); } |
312 | inline SV *to_sv (treasurelist * v) { return to_sv (v->name); } |
314 | |
313 | |
315 | inline SV *to_sv (UUID v) |
314 | inline SV *to_sv (UUID v) |
316 | { |
315 | { |
… | |
… | |
342 | inline void sv_to (SV *sv, attachable * &v) { v = (attachable *)SvPTR_ornull (sv, "cf::attachable"); } |
341 | inline void sv_to (SV *sv, attachable * &v) { v = (attachable *)SvPTR_ornull (sv, "cf::attachable"); } |
343 | inline void sv_to (SV *sv, partylist * &v) { v = (partylist *)SvPTR_ornull (sv, "cf::party"); } |
342 | inline void sv_to (SV *sv, partylist * &v) { v = (partylist *)SvPTR_ornull (sv, "cf::party"); } |
344 | inline void sv_to (SV *sv, region * &v) { v = (region *)SvPTR_ornull (sv, "cf::region"); } |
343 | inline void sv_to (SV *sv, region * &v) { v = (region *)SvPTR_ornull (sv, "cf::region"); } |
345 | inline void sv_to (SV *sv, living * &v) { v = (living *)SvPTR_ornull (sv, "cf::living"); } |
344 | inline void sv_to (SV *sv, living * &v) { v = (living *)SvPTR_ornull (sv, "cf::living"); } |
346 | |
345 | |
347 | inline void sv_to (SV *sv, New_Face * &v) { v = &new_faces[FindFace (SvPV_nolen (sv), 0)]; } //TODO |
346 | inline void sv_to (SV *sv, New_Face * &v) { v = &new_faces[FindFace (SvPV_nolen (sv), 0)]; } |
348 | inline void sv_to (SV *sv, treasurelist * &v) { v = find_treasurelist (SvPV_nolen (sv)); } // TODO |
347 | inline void sv_to (SV *sv, treasurelist * &v) { v = find_treasurelist (SvPV_nolen (sv)); } |
349 | |
348 | |
350 | template<class T> |
349 | template<class T> |
351 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
350 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
352 | |
351 | |
353 | template<int N> |
352 | template<int N> |