ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/cfperl.xs
(Generate patch)

Comparing deliantra/server/server/cfperl.xs (file contents):
Revision 1.55 by root, Tue Sep 12 18:15:34 2006 UTC vs.
Revision 1.59 by root, Thu Sep 14 19:12:00 2006 UTC

190 190
191//TODO: 191//TODO:
192inline SV *to_sv (New_Face * v) { return to_sv (v->name); } 192inline SV *to_sv (New_Face * v) { return to_sv (v->name); }
193inline SV *to_sv (treasurelist * v) { return to_sv (v->name); } 193inline SV *to_sv (treasurelist * v) { return to_sv (v->name); }
194 194
195inline void sv_to (SV *sv, shstr &v) { v = SvPV_nolen (sv); } 195inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; }
196inline void sv_to (SV *sv, char * &v) { free (v); v = strdup (SvPV_nolen (sv)); } //TODO: verify that all simple pointers are strdup-managed 196inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } //TODO: verify that all simple pointers are strdup-managed
197inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); } 197inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); }
198inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); } 198inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); }
199inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); } 199inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); }
200inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); } 200inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); }
201inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } 201inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); }
1391 const_iv (NDI_MAX_COLOR) 1391 const_iv (NDI_MAX_COLOR)
1392 const_iv (NDI_COLOR_MASK) 1392 const_iv (NDI_COLOR_MASK)
1393 const_iv (NDI_UNIQUE) 1393 const_iv (NDI_UNIQUE)
1394 const_iv (NDI_ALL) 1394 const_iv (NDI_ALL)
1395 1395
1396 const_iv (UPD_LOCATION)
1397 const_iv (UPD_FLAGS)
1398 const_iv (UPD_WEIGHT)
1399 const_iv (UPD_FACE)
1400 const_iv (UPD_NAME)
1401 const_iv (UPD_ANIM)
1402 const_iv (UPD_ANIMSPEED)
1403 const_iv (UPD_NROF)
1404
1405 const_iv (UPD_SP_MANA)
1406 const_iv (UPD_SP_GRACE)
1407 const_iv (UPD_SP_DAMAGE)
1408
1396 const_iv (F_APPLIED) 1409 const_iv (F_APPLIED)
1397 const_iv (F_LOCATION) 1410 const_iv (F_LOCATION)
1398 const_iv (F_UNPAID) 1411 const_iv (F_UNPAID)
1399 const_iv (F_MAGIC) 1412 const_iv (F_MAGIC)
1400 const_iv (F_CURSED) 1413 const_iv (F_CURSED)
1616 reattach (pl); 1629 reattach (pl);
1617 1630
1618 for (mapstruct *map = first_map; map; map = map->next) 1631 for (mapstruct *map = first_map; map; map = map->next)
1619 reattach (map); 1632 reattach (map);
1620 1633
1621 for (object *op = objects; op; op = op->next) 1634 for (object *op = object::first; op; op = op->next)
1622 reattach (op); 1635 reattach (op);
1623} 1636}
1624 1637
1625NV floor (NV x) 1638NV floor (NV x)
1626 1639
1674 case 5: RETVAL = settings.playerdir; break; 1687 case 5: RETVAL = settings.playerdir; break;
1675 case 6: RETVAL = settings.datadir ; break; 1688 case 6: RETVAL = settings.datadir ; break;
1676 } 1689 }
1677 OUTPUT: RETVAL 1690 OUTPUT: RETVAL
1678 1691
1679int 1692void _exit (int status = 0)
1693
1680cf_find_animation (char *text) 1694int cf_find_animation (char *text)
1681 PROTOTYPE: $ 1695 PROTOTYPE: $
1682 1696
1683int random_roll(int min, int max, object *op, int goodbad); 1697int random_roll(int min, int max, object *op, int goodbad);
1684 1698
1685const char *cost_string_from_value(uint64 cost, int approx = 0) 1699const char *cost_string_from_value(uint64 cost, int approx = 0)
1752 CODE: 1766 CODE:
1753 RETVAL = registry_of (op); 1767 RETVAL = registry_of (op);
1754 OUTPUT: 1768 OUTPUT:
1755 RETVAL 1769 RETVAL
1756 1770
1771void mortals ()
1772 PPCODE:
1773 EXTEND (SP, object::mortals.size ());
1774 for (AUTODECL (i, object::mortals.begin ()); i != object::mortals.end (); ++i)
1775 PUSHs (to_sv (*i));
1776
1777object *first ()
1778 CODE:
1779 RETVAL = object::first;
1780 OUTPUT: RETVAL
1781
1757INCLUDE: $PERL genacc object ../include/object.h | 1782INCLUDE: $PERL genacc object ../include/object.h |
1758 1783
1759# missing properties 1784# missing properties
1760 1785
1761int flag (object *op, int flag, int value = 1) 1786int flag (object *op, int flag, int value = 1)
1788{ 1813{
1789 object *o; 1814 object *o;
1790 for (o = obj->inv; o; o = o->below) 1815 for (o = obj->inv; o; o = o->below)
1791 XPUSHs (sv_2mortal (newSVcfapi (CFAPI_POBJECT, o))); 1816 XPUSHs (sv_2mortal (newSVcfapi (CFAPI_POBJECT, o)));
1792} 1817}
1818
1819object *find_best_object_match (object *op, const char *match)
1820
1821object *find_marked_object (object *op)
1793 1822
1794int cf_object_get_resistance (object *op, int rtype) 1823int cf_object_get_resistance (object *op, int rtype)
1795 ALIAS: resistance = 0 1824 ALIAS: resistance = 0
1796 1825
1797int need_identify (const object *obj); 1826int need_identify (const object *obj);
1952bool on_same_map_as (object *ob, object *other) 1981bool on_same_map_as (object *ob, object *other)
1953 CODE: 1982 CODE:
1954 RETVAL = on_same_map (ob, other); 1983 RETVAL = on_same_map (ob, other);
1955 OUTPUT: RETVAL 1984 OUTPUT: RETVAL
1956 1985
1957char * 1986const char *
1958base_name (object *ob, int plural) 1987base_name (object *op, int plural = op->nrof > 1)
1959 CODE: 1988 CODE:
1960 RETVAL = cf_query_base_name (ob, plural); 1989 RETVAL = query_base_name (op, plural);
1961 OUTPUT: RETVAL 1990 OUTPUT: RETVAL
1962 1991
1963MODULE = cf PACKAGE = cf::object::player PREFIX = cf_player_ 1992MODULE = cf PACKAGE = cf::object::player PREFIX = cf_player_
1964 1993
1965player *player (object *op) 1994player *player (object *op)
1983 ALIAS: party = 0 2012 ALIAS: party = 0
1984 2013
1985void cf_player_set_party (object *op, partylist *party) 2014void cf_player_set_party (object *op, partylist *party)
1986 2015
1987void kill_player (object *op) 2016void kill_player (object *op)
2017
2018void esrv_update_item (object *op, int what, object *item)
2019 C_ARGS: what, op, item
1988 2020
1989MODULE = cf PACKAGE = cf::player PREFIX = cf_player_ 2021MODULE = cf PACKAGE = cf::player PREFIX = cf_player_
1990 2022
1991int invoke (player *pl, int event, ...) 2023int invoke (player *pl, int event, ...)
1992 CODE: 2024 CODE:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines