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.282 by root, Wed Apr 23 07:13:23 2008 UTC vs.
Revision 1.288 by root, Tue May 6 18:47:32 2008 UTC

977{ 977{
978 CALL_BEGIN (1); 978 CALL_BEGIN (1);
979 CALL_ARG (name); 979 CALL_ARG (name);
980 CALL_CALL ("cf::player::find", G_SCALAR); 980 CALL_CALL ("cf::player::find", G_SCALAR);
981 981
982 player *retval; 982 player *retval = 0;
983
984 if (count)
985 sv_to (POPs, retval); 983 if (count) sv_to (POPs, retval);
986 else 984
987 retval = 0; 985 CALL_END;
986
987 return retval;
988}
989
990maptile *
991find_style (const char *dirname, const char *stylename, int difficulty)
992{
993 CALL_BEGIN (3);
994 CALL_ARG (dirname);
995 CALL_ARG (stylename);
996 CALL_ARG (difficulty);
997 CALL_CALL ("ext::map_random::find_style", G_SCALAR);
998
999 maptile *retval = 0;
1000 if (count) sv_to (POPs, retval);
988 1001
989 CALL_END; 1002 CALL_END;
990 1003
991 return retval; 1004 return retval;
992} 1005}
997 CALL_BEGIN (2); 1010 CALL_BEGIN (2);
998 CALL_ARG (path); 1011 CALL_ARG (path);
999 CALL_ARG (origin); 1012 CALL_ARG (origin);
1000 CALL_CALL ("cf::map::find_sync", G_SCALAR); 1013 CALL_CALL ("cf::map::find_sync", G_SCALAR);
1001 1014
1002 maptile *retval; 1015 maptile *retval = 0;
1003
1004 if (count)
1005 sv_to (POPs, retval); 1016 if (count) sv_to (POPs, retval);
1006 else
1007 retval = 0;
1008 1017
1009 CALL_END; 1018 CALL_END;
1010 1019
1011 return retval; 1020 return retval;
1012} 1021}
1018 CALL_ARG (path); 1027 CALL_ARG (path);
1019 CALL_ARG (origin); 1028 CALL_ARG (origin);
1020 CALL_ARG (load); 1029 CALL_ARG (load);
1021 CALL_CALL ("cf::map::find_async", G_SCALAR); 1030 CALL_CALL ("cf::map::find_async", G_SCALAR);
1022 1031
1023 maptile *retval; 1032 maptile *retval = 0;
1024
1025 if (count)
1026 sv_to (POPs, retval); 1033 if (count) sv_to (POPs, retval);
1027 else
1028 retval = 0;
1029 1034
1030 CALL_END; 1035 CALL_END;
1031 1036
1032 return retval; 1037 return retval;
1033} 1038}
1058 1063
1059 CALL_BEGIN (2); 1064 CALL_BEGIN (2);
1060 CALL_ARG (this); 1065 CALL_ARG (this);
1061 CALL_ARG (exit); 1066 CALL_ARG (exit);
1062 CALL_CALL ("cf::object::player::enter_exit", G_VOID); 1067 CALL_CALL ("cf::object::player::enter_exit", G_VOID);
1068 CALL_END;
1069}
1070
1071void
1072object::player_goto (const char *path, int x, int y)
1073{
1074 if (type != PLAYER)
1075 return;
1076
1077 CALL_BEGIN (4);
1078 CALL_ARG (this);
1079 CALL_ARG (path);
1080 CALL_ARG (x);
1081 CALL_ARG (y);
1082 CALL_CALL ("cf::object::player::goto", G_VOID);
1063 CALL_END; 1083 CALL_END;
1064} 1084}
1065 1085
1066const char * 1086const char *
1067object::ref () const 1087object::ref () const
1573NV floor (NV x) 1593NV floor (NV x)
1574 1594
1575NV ceil (NV x) 1595NV ceil (NV x)
1576 1596
1577NV rndm (...) 1597NV rndm (...)
1598 ALIAS:
1599 rmg_rndm = 1
1578 CODE: 1600 CODE:
1601{
1602 rand_gen &gen = ix ? rmg_rndm : rndm;
1579 switch (items) 1603 switch (items)
1580 { 1604 {
1581 case 0: RETVAL = rndm (); break; 1605 case 0: RETVAL = gen (); break;
1582 case 1: RETVAL = rndm (SvUV (ST (0))); break; 1606 case 1: RETVAL = gen (SvUV (ST (0))); break;
1583 case 2: RETVAL = rndm (SvIV (ST (0)), SvIV (ST (1))); break; 1607 case 2: RETVAL = gen (SvIV (ST (0)), SvIV (ST (1))); break;
1584 default: croak ("cf::rndm requires none, one or two parameters."); break; 1608 default: croak ("cf::rndm requires none, one or two parameters."); break;
1585 } 1609 }
1610}
1586 OUTPUT: 1611 OUTPUT:
1587 RETVAL 1612 RETVAL
1588 1613
1589NV clamp (NV value, NV min_value, NV max_value) 1614NV clamp (NV value, NV min_value, NV max_value)
1590 CODE: 1615 CODE:
1787 PUSHs (sv_2mortal (to_sv (archetype::find (coins [i])))); 1812 PUSHs (sv_2mortal (to_sv (archetype::find (coins [i]))));
1788 1813
1789bool 1814bool
1790load_resource_file_ (octet_string filename) 1815load_resource_file_ (octet_string filename)
1791 1816
1817void
1818fix_weight ()
1819
1792MODULE = cf PACKAGE = cf::attachable 1820MODULE = cf PACKAGE = cf::attachable
1793 1821
1794int 1822int
1795valid (SV *obj) 1823valid (SV *obj)
1796 CODE: 1824 CODE:
1859object *actives (U32 index) 1887object *actives (U32 index)
1860 CODE: 1888 CODE:
1861 RETVAL = index < actives.size () ? actives [index] : 0; 1889 RETVAL = index < actives.size () ? actives [index] : 0;
1862 OUTPUT: RETVAL 1890 OUTPUT: RETVAL
1863 1891
1892int mortals_size ()
1893 CODE:
1894 RETVAL = attachable::mortals.size ();
1895 OUTPUT: RETVAL
1896
1864const char *slot_use_name (U32 slot) 1897const char *slot_use_name (U32 slot)
1865 ALIAS: 1898 ALIAS:
1866 slot_nonuse_name = 1 1899 slot_nonuse_name = 1
1867 CODE: 1900 CODE:
1868{ 1901{
1946void apply_below (object *op) 1979void apply_below (object *op)
1947 CODE: 1980 CODE:
1948 player_apply_below (op); 1981 player_apply_below (op);
1949 1982
1950int cast_heal (object *op, object *caster, object *spell, int dir = 0) 1983int cast_heal (object *op, object *caster, object *spell, int dir = 0)
1951
1952#//TODO
1953object *clone_ (object *op, int recursive = 0)
1954 CODE:
1955 if (recursive)
1956 RETVAL = object_create_clone (op);
1957 else
1958 {
1959 RETVAL = object::create ();
1960 op->copy_to (RETVAL);
1961 }
1962 OUTPUT: RETVAL
1963 1984
1964int pay_item (object *op, object *buyer) 1985int pay_item (object *op, object *buyer)
1965 CODE: 1986 CODE:
1966 RETVAL = pay_for_item (op, buyer); 1987 RETVAL = pay_for_item (op, buyer);
1967 OUTPUT: RETVAL 1988 OUTPUT: RETVAL
2045 CODE: 2066 CODE:
2046{ 2067{
2047 RETVAL = insert_ob_in_map_at (ob, where, orig, flag, x, y); 2068 RETVAL = insert_ob_in_map_at (ob, where, orig, flag, x, y);
2048} 2069}
2049 2070
2050const_utf8_string get_ob_key_value (object *op, utf8_string key) 2071shstr
2072object::kv_get (shstr key)
2051 2073
2052bool set_ob_key_value (object *op, utf8_string key, utf8_string value = 0, int add_key = 1) 2074void
2075object::kv_del (shstr key)
2076
2077void
2078object::kv_set (shstr key, shstr value)
2053 2079
2054object *get_nearest_player (object *ob) 2080object *get_nearest_player (object *ob)
2055 ALIAS: nearest_player = 0 2081 ALIAS: nearest_player = 0
2056 PREINIT: 2082 PREINIT:
2057 extern object *get_nearest_player (object *); 2083 extern object *get_nearest_player (object *);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines