… | |
… | |
404 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
404 | inline void sv_to (SV *sv, refptr<T> &v) { T *tmp; sv_to (sv, tmp); v = tmp; } |
405 | |
405 | |
406 | template<int N> |
406 | template<int N> |
407 | inline void sv_to (SV *sv, char (&v)[N]) { assign (v, SvPV_nolen (sv)); } |
407 | inline void sv_to (SV *sv, char (&v)[N]) { assign (v, SvPV_nolen (sv)); } |
408 | |
408 | |
409 | inline void sv_to (SV *sv, rangetype &v) { v = (rangetype) SvIV (sv); } |
|
|
410 | inline void sv_to (SV *sv, bowtype_t &v) { v = (bowtype_t) SvIV (sv); } |
409 | inline void sv_to (SV *sv, bowtype_t &v) { v = (bowtype_t) SvIV (sv); } |
411 | inline void sv_to (SV *sv, petmode_t &v) { v = (petmode_t) SvIV (sv); } |
410 | inline void sv_to (SV *sv, petmode_t &v) { v = (petmode_t) SvIV (sv); } |
412 | inline void sv_to (SV *sv, usekeytype &v) { v = (usekeytype) SvIV (sv); } |
411 | inline void sv_to (SV *sv, usekeytype &v) { v = (usekeytype) SvIV (sv); } |
413 | inline void sv_to (SV *sv, unapplymode &v) { v = (unapplymode) SvIV (sv); } |
412 | inline void sv_to (SV *sv, unapplymode &v) { v = (unapplymode) SvIV (sv); } |
414 | |
413 | |
… | |
… | |
1999 | if (SV **elem = av_fetch ((AV *)palette, idx [offs], 0)) |
1998 | if (SV **elem = av_fetch ((AV *)palette, idx [offs], 0)) |
2000 | { |
1999 | { |
2001 | object *ob = get_archetype (SvPVutf8_nolen (*elem)); |
2000 | object *ob = get_archetype (SvPVutf8_nolen (*elem)); |
2002 | ob->flag [FLAG_NO_MAP_SAVE] = true; |
2001 | ob->flag [FLAG_NO_MAP_SAVE] = true; |
2003 | THIS->insert (ob, x, y, 0, INS_ABOVE_FLOOR_ONLY); |
2002 | THIS->insert (ob, x, y, 0, INS_ABOVE_FLOOR_ONLY); |
|
|
2003 | |
|
|
2004 | if (ob->randomitems) |
|
|
2005 | { |
|
|
2006 | if (!ob->above) |
|
|
2007 | { |
|
|
2008 | ob->create_treasure (ob->randomitems); |
|
|
2009 | |
|
|
2010 | for (object *op = ob->above; op; op = op->above) |
|
|
2011 | op->flag [FLAG_NO_MAP_SAVE] = true; |
|
|
2012 | } |
|
|
2013 | |
|
|
2014 | ob->randomitems = 0; |
|
|
2015 | } |
2004 | } |
2016 | } |
2005 | } |
2017 | } |
2006 | } |
2018 | } |
2007 | |
2019 | |
2008 | skip_space: ; |
2020 | skip_space: ; |