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.283 by root, Wed Apr 30 08:29:31 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:
1951void apply_below (object *op) 1979void apply_below (object *op)
1952 CODE: 1980 CODE:
1953 player_apply_below (op); 1981 player_apply_below (op);
1954 1982
1955int cast_heal (object *op, object *caster, object *spell, int dir = 0) 1983int cast_heal (object *op, object *caster, object *spell, int dir = 0)
1956
1957#//TODO
1958object *clone_ (object *op, int recursive = 0)
1959 CODE:
1960 if (recursive)
1961 RETVAL = object_create_clone (op);
1962 else
1963 {
1964 RETVAL = object::create ();
1965 op->copy_to (RETVAL);
1966 }
1967 OUTPUT: RETVAL
1968 1984
1969int pay_item (object *op, object *buyer) 1985int pay_item (object *op, object *buyer)
1970 CODE: 1986 CODE:
1971 RETVAL = pay_for_item (op, buyer); 1987 RETVAL = pay_for_item (op, buyer);
1972 OUTPUT: RETVAL 1988 OUTPUT: RETVAL
2050 CODE: 2066 CODE:
2051{ 2067{
2052 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);
2053} 2069}
2054 2070
2055const_utf8_string get_ob_key_value (object *op, utf8_string key) 2071shstr
2072object::kv_get (shstr key)
2056 2073
2057bool 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)
2058 2079
2059object *get_nearest_player (object *ob) 2080object *get_nearest_player (object *ob)
2060 ALIAS: nearest_player = 0 2081 ALIAS: nearest_player = 0
2061 PREINIT: 2082 PREINIT:
2062 extern object *get_nearest_player (object *); 2083 extern object *get_nearest_player (object *);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines