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.285 by root, Sun May 4 08:25:33 2008 UTC vs.
Revision 1.289 by root, Thu May 8 20:03:50 2008 UTC

944 CALL_CALL ("ext::books::make_book", G_VOID); 944 CALL_CALL ("ext::books::make_book", G_VOID);
945 CALL_END; 945 CALL_END;
946} 946}
947 947
948void 948void
949cfperl_expand_cfpod (player *pl, std::string &msg)
950{
951 CALL_BEGIN (2);
952 CALL_ARG (pl);
953 CALL_ARG_SV (newSVpvn_utf8 (msg.data (), msg.size ()));
954 CALL_CALL ("cf::player::expand_cfpod", G_SCALAR);
955
956 if (count)
957 {
958 STRLEN len;
959 char *data = SvPVutf8 (TOPs, len);
960 msg.assign (data, len);
961 }
962
963 CALL_END;
964}
965
966void
949cfperl_send_msg (client *ns, int color, const char *type, const char *msg) 967cfperl_send_msg (client *ns, int color, const char *type, const char *msg)
950{ 968{
951 CALL_BEGIN (4); 969 CALL_BEGIN (4);
952 CALL_ARG (ns); 970 CALL_ARG (ns);
953 CALL_ARG (type); 971 CALL_ARG (type);
977{ 995{
978 CALL_BEGIN (1); 996 CALL_BEGIN (1);
979 CALL_ARG (name); 997 CALL_ARG (name);
980 CALL_CALL ("cf::player::find", G_SCALAR); 998 CALL_CALL ("cf::player::find", G_SCALAR);
981 999
982 player *retval; 1000 player *retval = 0;
983
984 if (count)
985 sv_to (POPs, retval); 1001 if (count) sv_to (POPs, retval);
986 else 1002
987 retval = 0; 1003 CALL_END;
1004
1005 return retval;
1006}
1007
1008maptile *
1009find_style (const char *dirname, const char *stylename, int difficulty)
1010{
1011 CALL_BEGIN (3);
1012 CALL_ARG (dirname);
1013 CALL_ARG (stylename);
1014 CALL_ARG (difficulty);
1015 CALL_CALL ("ext::map_random::find_style", G_SCALAR);
1016
1017 maptile *retval = 0;
1018 if (count) sv_to (POPs, retval);
988 1019
989 CALL_END; 1020 CALL_END;
990 1021
991 return retval; 1022 return retval;
992} 1023}
997 CALL_BEGIN (2); 1028 CALL_BEGIN (2);
998 CALL_ARG (path); 1029 CALL_ARG (path);
999 CALL_ARG (origin); 1030 CALL_ARG (origin);
1000 CALL_CALL ("cf::map::find_sync", G_SCALAR); 1031 CALL_CALL ("cf::map::find_sync", G_SCALAR);
1001 1032
1002 maptile *retval; 1033 maptile *retval = 0;
1003
1004 if (count)
1005 sv_to (POPs, retval); 1034 if (count) sv_to (POPs, retval);
1006 else
1007 retval = 0;
1008 1035
1009 CALL_END; 1036 CALL_END;
1010 1037
1011 return retval; 1038 return retval;
1012} 1039}
1018 CALL_ARG (path); 1045 CALL_ARG (path);
1019 CALL_ARG (origin); 1046 CALL_ARG (origin);
1020 CALL_ARG (load); 1047 CALL_ARG (load);
1021 CALL_CALL ("cf::map::find_async", G_SCALAR); 1048 CALL_CALL ("cf::map::find_async", G_SCALAR);
1022 1049
1023 maptile *retval; 1050 maptile *retval = 0;
1024
1025 if (count)
1026 sv_to (POPs, retval); 1051 if (count) sv_to (POPs, retval);
1027 else
1028 retval = 0;
1029 1052
1030 CALL_END; 1053 CALL_END;
1031 1054
1032 return retval; 1055 return retval;
1033} 1056}
1058 1081
1059 CALL_BEGIN (2); 1082 CALL_BEGIN (2);
1060 CALL_ARG (this); 1083 CALL_ARG (this);
1061 CALL_ARG (exit); 1084 CALL_ARG (exit);
1062 CALL_CALL ("cf::object::player::enter_exit", G_VOID); 1085 CALL_CALL ("cf::object::player::enter_exit", G_VOID);
1086 CALL_END;
1087}
1088
1089void
1090object::player_goto (const char *path, int x, int y)
1091{
1092 if (type != PLAYER)
1093 return;
1094
1095 CALL_BEGIN (4);
1096 CALL_ARG (this);
1097 CALL_ARG (path);
1098 CALL_ARG (x);
1099 CALL_ARG (y);
1100 CALL_CALL ("cf::object::player::goto", G_VOID);
1063 CALL_END; 1101 CALL_END;
1064} 1102}
1065 1103
1066const char * 1104const char *
1067object::ref () const 1105object::ref () const
1573NV floor (NV x) 1611NV floor (NV x)
1574 1612
1575NV ceil (NV x) 1613NV ceil (NV x)
1576 1614
1577NV rndm (...) 1615NV rndm (...)
1616 ALIAS:
1617 rmg_rndm = 1
1578 CODE: 1618 CODE:
1619{
1620 rand_gen &gen = ix ? rmg_rndm : rndm;
1579 switch (items) 1621 switch (items)
1580 { 1622 {
1581 case 0: RETVAL = rndm (); break; 1623 case 0: RETVAL = gen (); break;
1582 case 1: RETVAL = rndm (SvUV (ST (0))); break; 1624 case 1: RETVAL = gen (SvUV (ST (0))); break;
1583 case 2: RETVAL = rndm (SvIV (ST (0)), SvIV (ST (1))); break; 1625 case 2: RETVAL = gen (SvIV (ST (0)), SvIV (ST (1))); break;
1584 default: croak ("cf::rndm requires none, one or two parameters."); break; 1626 default: croak ("cf::rndm requires none, one or two parameters."); break;
1585 } 1627 }
1628}
1586 OUTPUT: 1629 OUTPUT:
1587 RETVAL 1630 RETVAL
1588 1631
1589NV clamp (NV value, NV min_value, NV max_value) 1632NV clamp (NV value, NV min_value, NV max_value)
1590 CODE: 1633 CODE:
1786 for (int i = 0; i < NUM_COINS; ++i) 1829 for (int i = 0; i < NUM_COINS; ++i)
1787 PUSHs (sv_2mortal (to_sv (archetype::find (coins [i])))); 1830 PUSHs (sv_2mortal (to_sv (archetype::find (coins [i]))));
1788 1831
1789bool 1832bool
1790load_resource_file_ (octet_string filename) 1833load_resource_file_ (octet_string filename)
1834
1835void
1836fix_weight ()
1791 1837
1792MODULE = cf PACKAGE = cf::attachable 1838MODULE = cf PACKAGE = cf::attachable
1793 1839
1794int 1840int
1795valid (SV *obj) 1841valid (SV *obj)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines