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.229 by root, Thu Jul 12 08:40:14 2007 UTC vs.
Revision 1.230 by root, Fri Jul 13 15:54:40 2007 UTC

2269 palette = SvRV (palette); 2269 palette = SvRV (palette);
2270 2270
2271 STRLEN idxlen; 2271 STRLEN idxlen;
2272 const uint8_t *idx = (const uint8_t *)SvPVbyte (data, idxlen); 2272 const uint8_t *idx = (const uint8_t *)SvPVbyte (data, idxlen);
2273 2273
2274 region **regionmap = (region **)malloc ( 2274 region_ptr *regionmap = new region_ptr [av_len ((AV *)palette) + 1];
2275 (av_len ((AV *)palette) + 1) * sizeof (region *));
2276 uint8_t *regions = salloc<uint8_t> (THIS->size ()); 2275 uint8_t *regions = salloc<uint8_t> (THIS->size ());
2277 2276
2278 for (int i = av_len ((AV *)palette) + 1; i--; ) 2277 for (int i = av_len ((AV *)palette) + 1; i--; )
2279 regionmap [i] = region::find ( 2278 regionmap [i] = region::find (SvPVutf8_nolen (*av_fetch ((AV *)palette, i, 1)));
2280 SvPVutf8_nolen (*av_fetch ((AV *)palette, i, 1)));
2281 2279
2282 for (int y = 0; y < THIS->height; ++y) 2280 for (int y = 0; y < THIS->height; ++y)
2283 memcpy (regions + y * THIS->width, idx + offset + y * stride, THIS->width); 2281 memcpy (regions + y * THIS->width, idx + offset + y * stride, THIS->width);
2284 2282
2285 sfree (THIS->regions, THIS->size ()); 2283 sfree (THIS->regions, THIS->size ());
2286 free (THIS->regionmap); 2284 delete [] THIS->regionmap;
2287 2285
2288 THIS->regions = regions; 2286 THIS->regions = regions;
2289 THIS->regionmap = regionmap; 2287 THIS->regionmap = regionmap;
2290} 2288}
2291 2289

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines