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.191 by root, Tue Apr 17 18:40:32 2007 UTC vs.
Revision 1.192 by root, Tue Apr 17 20:41:15 2007 UTC

1323} 1323}
1324 1324
1325void _post_tick () 1325void _post_tick ()
1326 CODE: 1326 CODE:
1327 coroapi::next_cede = SvNV (sv_next_tick) - TICK * (1. - 1. / CEDES_PER_TICK); 1327 coroapi::next_cede = SvNV (sv_next_tick) - TICK * (1. - 1. / CEDES_PER_TICK);
1328
1329# support function for map-world.ext
1330void _quantise (SV *data_sv, SV *plt_sv)
1331 CODE:
1332{
1333 if (!SvROK (plt_sv) || SvTYPE (SvRV (plt_sv)) != SVt_PVAV)
1334 croak ("_quantise called with invalid agruments");
1335
1336 plt_sv = SvRV (plt_sv);
1337 SV **plt = AvARRAY (plt_sv);
1338 int plt_count = AvFILL (plt_sv) + 1;
1339
1340 STRLEN len;
1341 char *data = SvPVbyte (data_sv, len);
1342 char *dst = data;
1343
1344 while (len >= 3)
1345 {
1346 for (SV **val_sv = plt + plt_count; val_sv-- > plt; )
1347 {
1348 char *val = SvPVX (*val_sv);
1349
1350 if (val [0] == data [0]
1351 && val [1] == data [1]
1352 && val [2] == data [2])
1353 {
1354 *dst++ = val [3];
1355 goto next;
1356 }
1357 }
1358
1359 croak ("_quantise: color not found in palette: #%02x%02x%02x, at offset %d %d",
1360 (uint8_t)data [0], (uint8_t)data [1], (uint8_t)data [2],
1361 dst - SvPVX (data_sv), len);
1362
1363 next:
1364 data += 3;
1365 len -= 3;
1366 }
1367
1368 SvCUR_set (data_sv, dst - SvPVX (data_sv));
1369}
1328 1370
1329NV floor (NV x) 1371NV floor (NV x)
1330 1372
1331NV ceil (NV x) 1373NV ceil (NV x)
1332 1374

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines