--- deliantra/server/server/cfperl.xs 2012/11/11 05:53:12 1.421 +++ deliantra/server/server/cfperl.xs 2012/11/14 02:22:04 1.422 @@ -2938,6 +2938,35 @@ self->skip (); } +MODULE = cf PACKAGE = cf::treasurelist + +# quick hack, because I didn't want to implement accessors for treasurelist. +# this asks for even more autogen, actually. + +void +expand (treasurelist *list) + PPCODE: + EXTEND (SP, 3); + PUSHs (sv_2mortal (to_sv (list->name))); + PUSHs (sv_2mortal (to_sv (list->total_chance))); + AV *av = newAV (); + PUSHs (sv_2mortal (newRV_noinc ((SV *)av))); + for (treasure *item = list->items; item; item = item->next) + { + AV *iav = newAV (); + av_push (av, newRV_noinc ((SV *)iav)); + + av_extend (iav, 7); + av_push (iav, to_sv (item->item)); + av_push (iav, to_sv (item->name)); + av_push (iav, to_sv (item->change_arch.name)); + av_push (iav, to_sv (item->change_arch.title)); + av_push (iav, to_sv (item->change_arch.slaying)); + av_push (iav, to_sv (item->chance)); + av_push (iav, to_sv (item->nrof)); + av_push (iav, to_sv (item->magic)); + } + MODULE = cf PACKAGE = cf::layout INCLUDE: $PERL $srcdir/genacc layout $srcdir/../include/rmg.h |