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.306 by elmex, Fri Oct 31 16:13:41 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); }
2243 pl->ob->stats.grace = pl->ob->stats.maxgrace; 2250 pl->ob->stats.grace = pl->ob->stats.maxgrace;
2244 pl->orig_stats = pl->ob->stats; 2251 pl->orig_stats = pl->ob->stats;
2245 2252
2246void clear_los (player *pl) 2253void clear_los (player *pl)
2247 2254
2255void esrv_new_player (player *pl)
2256
2248bool 2257bool
2249cell_visible (player *pl, int dx, int dy) 2258cell_visible (player *pl, int dx, int dy)
2250 CODE: 2259 CODE:
2251 RETVAL = FABS (dx) <= pl->ns->mapx / 2 && FABS (dy) <= pl->ns->mapy / 2 2260 RETVAL = FABS (dx) <= pl->ns->mapx / 2 && FABS (dy) <= pl->ns->mapy / 2
2252 && !pl->blocked_los [dx + pl->ns->mapx / 2][dy + pl->ns->mapy / 2]; 2261 && !pl->blocked_los [dx + pl->ns->mapx / 2][dy + pl->ns->mapy / 2];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines