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.232 by elmex, Mon Jul 16 14:49:01 2007 UTC vs.
Revision 1.237 by root, Mon Jul 23 23:46:03 2007 UTC

964} 964}
965 965
966SV * 966SV *
967cfperl_result (int idx) 967cfperl_result (int idx)
968{ 968{
969 AV *av = get_av ("cf::invoke_results", 0); 969 AV *av = get_av ("cf::INVOKE_RESULTS", 0);
970 if (!av) 970 if (!av)
971 return &PL_sv_undef; 971 return &PL_sv_undef;
972 972
973 SV **sv = av_fetch (av, idx, 0); 973 SV **sv = av_fetch (av, idx, 0);
974 if (!sv) 974 if (!sv)
1021void 1021void
1022cfperl_send_msg (client *ns, int color, const char *type, const char *msg) 1022cfperl_send_msg (client *ns, int color, const char *type, const char *msg)
1023{ 1023{
1024 CALL_BEGIN (4); 1024 CALL_BEGIN (4);
1025 CALL_ARG (ns); 1025 CALL_ARG (ns);
1026 CALL_ARG (color);
1027 CALL_ARG (type); 1026 CALL_ARG (type);
1028 CALL_ARG_SV (newSVpv_utf8 (msg)); 1027 CALL_ARG_SV (newSVpv_utf8 (msg));
1028 CALL_ARG (color);
1029 CALL_CALL ("cf::client::send_msg", G_VOID); 1029 CALL_CALL ("cf::client::send_msg", G_VOID);
1030 CALL_END; 1030 CALL_END;
1031}
1032
1033int
1034cfperl_can_merge (object *ob1, object *ob2)
1035{
1036 int can;
1037
1038 CALL_BEGIN (2);
1039 CALL_ARG (ob1);
1040 CALL_ARG (ob2);
1041 CALL_CALL ("cf::_can_merge", G_SCALAR);
1042 can = count && SvTRUE (TOPs);
1043 CALL_END;
1044
1045 return can;
1031} 1046}
1032 1047
1033maptile * 1048maptile *
1034maptile::find_sync (const char *path, maptile *origin) 1049maptile::find_sync (const char *path, maptile *origin)
1035{ 1050{
1549 1564
1550 for_all_objects (op) 1565 for_all_objects (op)
1551 op->reattach (); 1566 op->reattach ();
1552} 1567}
1553 1568
1554void _post_tick ()
1555 CODE:
1556 coroapi::next_cede = SvNV (sv_next_tick) - TICK * (1. - 1. / CEDES_PER_TICK);
1557
1558# support function for map-world.ext 1569# support function for map-world.ext
1559void _quantise (SV *data_sv, SV *plt_sv) 1570void _quantise (SV *data_sv, SV *plt_sv)
1560 CODE: 1571 CODE:
1561{ 1572{
1562 if (!SvROK (plt_sv) || SvTYPE (SvRV (plt_sv)) != SVt_PVAV) 1573 if (!SvROK (plt_sv) || SvTYPE (SvRV (plt_sv)) != SVt_PVAV)
1594 len -= 3; 1605 len -= 3;
1595 } 1606 }
1596 1607
1597 SvCUR_set (data_sv, dst - SvPVX (data_sv)); 1608 SvCUR_set (data_sv, dst - SvPVX (data_sv));
1598} 1609}
1610
1611void _post_tick ()
1612 CODE:
1613 coroapi::next_cede = SvNV (sv_next_tick) - TICK * (1. - 1. / CEDES_PER_TICK);
1614
1615NV till_cede ()
1616 CODE:
1617 RETVAL = coroapi::next_cede - now ();
1618 OUTPUT:
1619 RETVAL
1620
1621NV till_tick ()
1622 CODE:
1623 RETVAL = SvNV (sv_next_tick) - now ();
1624 OUTPUT:
1625 RETVAL
1599 1626
1600NV floor (NV x) 1627NV floor (NV x)
1601 1628
1602NV ceil (NV x) 1629NV ceil (NV x)
1603 1630
2594 char *buf = SvPVbyte (packet, len); 2621 char *buf = SvPVbyte (packet, len);
2595 2622
2596 THIS->send_packet (buf, len); 2623 THIS->send_packet (buf, len);
2597} 2624}
2598 2625
2626faceidx
2627client::find_face (utf8_string name, faceidx defidx = 0)
2628 CODE:
2629 RETVAL = face_find (name, defidx);
2630 THIS->send_face (RETVAL);
2631 THIS->flush_fx ();
2632 OUTPUT:
2633 RETVAL
2634
2599MODULE = cf PACKAGE = cf::face PREFIX = face_ 2635MODULE = cf PACKAGE = cf::face PREFIX = face_
2600 2636
2601#INCLUDE: $PERL $srcdir/genacc faceset ../include/face.h | 2637#INCLUDE: $PERL $srcdir/genacc faceset ../include/face.h |
2602 2638
2603faceidx face_find (utf8_string name, faceidx defidx = 0) 2639faceidx face_find (utf8_string name, faceidx defidx = 0)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines