… | |
… | |
2260 | RETVAL = map->invoke ((event_type)event, ARG_AV (av), DT_END); |
2260 | RETVAL = map->invoke ((event_type)event, ARG_AV (av), DT_END); |
2261 | OUTPUT: RETVAL |
2261 | OUTPUT: RETVAL |
2262 | |
2262 | |
2263 | SV *registry (maptile *map) |
2263 | SV *registry (maptile *map) |
2264 | |
2264 | |
|
|
2265 | void |
|
|
2266 | find_tagged_objects (maptile *map, utf8_string tag = 0) |
|
|
2267 | PPCODE: |
|
|
2268 | { |
|
|
2269 | if (!map->spaces) |
|
|
2270 | XSRETURN_EMPTY; |
|
|
2271 | |
|
|
2272 | if (tag) |
|
|
2273 | { |
|
|
2274 | shstr_cmp tag_ (tag); |
|
|
2275 | |
|
|
2276 | for (mapspace *ms = map->spaces + map->size (); ms-- > map->spaces; ) |
|
|
2277 | for (object *op = ms->bot; op; op = op->above) |
|
|
2278 | if (op->tag == tag_) |
|
|
2279 | XPUSHs (sv_2mortal (to_sv (op))); |
|
|
2280 | } |
|
|
2281 | else |
|
|
2282 | { |
|
|
2283 | for (mapspace *ms = map->spaces + map->size (); ms-- > map->spaces; ) |
|
|
2284 | for (object *op = ms->bot; op; op = op->above) |
|
|
2285 | if (op->tag) |
|
|
2286 | XPUSHs (sv_2mortal (to_sv (op))); |
|
|
2287 | } |
|
|
2288 | } |
|
|
2289 | |
2265 | INCLUDE: $PERL $srcdir/genacc maptile ../include/map.h | |
2290 | INCLUDE: $PERL $srcdir/genacc maptile ../include/map.h | |
2266 | |
2291 | |
2267 | void |
2292 | void |
2268 | maptile::instantiate () |
2293 | maptile::instantiate () |
2269 | |
2294 | |