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.304 by root, Wed Oct 1 05:50:19 2008 UTC vs.
Revision 1.308 by root, Mon Nov 24 05:19:59 2008 UTC

88 *stash_cf_arch_wrap, 88 *stash_cf_arch_wrap,
89 *stash_cf_party_wrap, 89 *stash_cf_party_wrap,
90 *stash_cf_region_wrap, 90 *stash_cf_region_wrap,
91 *stash_cf_living_wrap; 91 *stash_cf_living_wrap;
92 92
93#ifndef newSVpv_utf8
93static inline SV * 94static inline SV *
94newSVpv_utf8 (const char *s) 95newSVpv_utf8 (const char *s)
95{ 96{
96 if (!s) 97 if (!s)
97 return newSV (0); 98 return newSV (0);
98 99
99 SV *sv = newSVpv (s, 0); 100 SV *sv = newSVpv (s, 0);
100 SvUTF8_on (sv); 101 SvUTF8_on (sv);
101 return sv; 102 return sv;
102} 103}
104#endif
103 105
106#ifndef newSVpvn_utf8
104static inline SV * 107static inline SV *
105newSVpvn_utf8 (const char *s, STRLEN l) 108newSVpvn_utf8 (const char *s, STRLEN l, int utf8)
106{ 109{
107 if (!s) 110 if (!s)
108 return newSV (0); 111 return newSV (0);
109 112
110 SV *sv = newSVpvn (s, l); 113 SV *sv = newSVpvn (s, l);
114
115 if (utf8)
111 SvUTF8_on (sv); 116 SvUTF8_on (sv);
117
112 return sv; 118 return sv;
113} 119}
120#endif
114 121
115// helper cast function, returns super class * or 0 122// helper cast function, returns super class * or 0
116template<class super> 123template<class super>
117static super * 124static super *
118is_a (attachable *at) 125is_a (attachable *at)
407 return SvPTR (sv, klass); 414 return SvPTR (sv, klass);
408 else 415 else
409 return 0; 416 return 0;
410} 417}
411 418
412inline SV *to_sv (const shstr & v) { return newSVpvn_utf8 ((const char *)v, v.length ()); } 419inline SV *to_sv (const shstr & v) { return newSVpvn_utf8 ((const char *)v, v.length (), 1); }
413inline SV *to_sv (const char * v) { return v ? newSVpv (v, 0) : newSV (0); } 420inline SV *to_sv (const char * v) { return v ? newSVpv (v, 0) : newSV (0); }
414inline SV *to_sv (bool v) { return newSViv (v); } 421inline SV *to_sv (bool v) { return newSViv (v); }
415inline SV *to_sv ( signed char v) { return newSViv (v); } 422inline SV *to_sv ( signed char v) { return newSViv (v); }
416inline SV *to_sv (unsigned char v) { return newSViv (v); } 423inline SV *to_sv (unsigned char v) { return newSViv (v); }
417inline SV *to_sv ( signed short v) { return newSViv (v); } 424inline SV *to_sv ( signed short v) { return newSViv (v); }
1788 PUSHs (sv_2mortal (newSVpv ("fsmblks" , 0))); PUSHs (sv_2mortal (newSViv (mai.fsmblks))); 1795 PUSHs (sv_2mortal (newSVpv ("fsmblks" , 0))); PUSHs (sv_2mortal (newSViv (mai.fsmblks)));
1789 PUSHs (sv_2mortal (newSVpv ("uordblks", 0))); PUSHs (sv_2mortal (newSViv (mai.uordblks))); 1796 PUSHs (sv_2mortal (newSVpv ("uordblks", 0))); PUSHs (sv_2mortal (newSViv (mai.uordblks)));
1790 PUSHs (sv_2mortal (newSVpv ("fordblks", 0))); PUSHs (sv_2mortal (newSViv (mai.fordblks))); 1797 PUSHs (sv_2mortal (newSVpv ("fordblks", 0))); PUSHs (sv_2mortal (newSViv (mai.fordblks)));
1791 PUSHs (sv_2mortal (newSVpv ("keepcost", 0))); PUSHs (sv_2mortal (newSViv (mai.keepcost))); 1798 PUSHs (sv_2mortal (newSVpv ("keepcost", 0))); PUSHs (sv_2mortal (newSViv (mai.keepcost)));
1792#endif 1799#endif
1793 EXTEND (SP, 2*2); 1800 EXTEND (SP, 5*2);
1794 PUSHs (sv_2mortal (newSVpv ("slice_alloc", 0))); PUSHs (sv_2mortal (newSVuv (slice_alloc))); 1801 PUSHs (sv_2mortal (newSVpv ("slice_alloc", 0))); PUSHs (sv_2mortal (newSVuv (slice_alloc)));
1795 PUSHs (sv_2mortal (newSVpv ("shstr_alloc", 0))); PUSHs (sv_2mortal (newSVuv (shstr_alloc))); 1802 PUSHs (sv_2mortal (newSVpv ("shstr_alloc", 0))); PUSHs (sv_2mortal (newSVuv (shstr_alloc)));
1796 PUSHs (sv_2mortal (newSVpv ("objects" , 0))); PUSHs (sv_2mortal (newSVuv (objects.size () * sizeof (object)))); 1803 PUSHs (sv_2mortal (newSVpv ("objects" , 0))); PUSHs (sv_2mortal (newSVuv (objects.size () * sizeof (object))));
1804 PUSHs (sv_2mortal (newSVpv ("sv_count" , 0))); PUSHs (sv_2mortal (newSVuv (PL_sv_count)));
1805 PUSHs (sv_2mortal (newSVpv ("sv_objcount", 0))); PUSHs (sv_2mortal (newSVuv (PL_sv_objcount)));
1797} 1806}
1798 1807
1799int find_animation (utf8_string text) 1808int find_animation (utf8_string text)
1800 PROTOTYPE: $ 1809 PROTOTYPE: $
1801 1810
2242 pl->ob->stats.sp = pl->ob->stats.maxsp; 2251 pl->ob->stats.sp = pl->ob->stats.maxsp;
2243 pl->ob->stats.grace = pl->ob->stats.maxgrace; 2252 pl->ob->stats.grace = pl->ob->stats.maxgrace;
2244 pl->orig_stats = pl->ob->stats; 2253 pl->orig_stats = pl->ob->stats;
2245 2254
2246void clear_los (player *pl) 2255void clear_los (player *pl)
2256
2257# should only be temporary
2258void esrv_new_player (player *pl)
2247 2259
2248bool 2260bool
2249cell_visible (player *pl, int dx, int dy) 2261cell_visible (player *pl, int dx, int dy)
2250 CODE: 2262 CODE:
2251 RETVAL = FABS (dx) <= pl->ns->mapx / 2 && FABS (dy) <= pl->ns->mapy / 2 2263 RETVAL = FABS (dx) <= pl->ns->mapx / 2 && FABS (dy) <= pl->ns->mapy / 2

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines