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.308 by root, Mon Nov 24 05:19:59 2008 UTC vs.
Revision 1.309 by root, Thu Dec 4 03:48:19 2008 UTC

2525 for (object *o = nmap->at (nx, ny).bot; o; o = o->above) 2525 for (object *o = nmap->at (nx, ny).bot; o; o = o->above)
2526 XPUSHs (sv_2mortal (to_sv (o))); 2526 XPUSHs (sv_2mortal (to_sv (o)));
2527} 2527}
2528 2528
2529SV * 2529SV *
2530bot_at (maptile *obj, unsigned int x, unsigned int y) 2530bot_at (maptile *map, unsigned int x, unsigned int y)
2531 PROTOTYPE: $$$ 2531 PROTOTYPE: $$$
2532 ALIAS: 2532 ALIAS:
2533 top_at = 1 2533 top_at = 1
2534 flags_at = 2 2534 flags_at = 2
2535 light_at = 3 2535 light_at = 3
2536 move_block_at = 4 2536 move_block_at = 4
2537 move_slow_at = 5 2537 move_slow_at = 5
2538 move_on_at = 6 2538 move_on_at = 6
2539 move_off_at = 7 2539 move_off_at = 7
2540 INIT:
2541 if (x >= obj->width || y >= obj->height) XSRETURN_UNDEF;
2542 CODE: 2540 CODE:
2541{
2542 sint16 nx = x;
2543 sint16 ny = y;
2544
2545 if (!xy_normalise (map, nx, ny))
2546 XSRETURN_UNDEF;
2547
2548 mapspace &ms = map->at (nx, ny);
2549
2550 ms.update ();
2551
2543 switch (ix) 2552 switch (ix)
2544 { 2553 {
2545 case 0: RETVAL = to_sv (GET_MAP_OB (obj, x, y)); break; 2554 case 0: RETVAL = to_sv (ms.bot ); break;
2546 case 1: RETVAL = to_sv (GET_MAP_TOP (obj, x, y)); break; 2555 case 1: RETVAL = to_sv (ms.top ); break;
2547 case 2: RETVAL = newSVuv (GET_MAP_FLAGS (obj, x, y)); break; 2556 case 2: RETVAL = newSVuv (ms.flags_ ); break;
2548 case 3: RETVAL = newSViv (GET_MAP_LIGHT (obj, x, y)); break; 2557 case 3: RETVAL = newSViv (ms.light ); break;
2549 case 4: RETVAL = newSVuv (GET_MAP_MOVE_BLOCK (obj, x, y)); break; 2558 case 4: RETVAL = newSVuv (ms.move_block); break;
2550 case 5: RETVAL = newSVuv (GET_MAP_MOVE_SLOW (obj, x, y)); break; 2559 case 5: RETVAL = newSVuv (ms.move_slow ); break;
2551 case 6: RETVAL = newSVuv (GET_MAP_MOVE_ON (obj, x, y)); break; 2560 case 6: RETVAL = newSVuv (ms.move_on ); break;
2552 case 7: RETVAL = newSVuv (GET_MAP_MOVE_OFF (obj, x, y)); break; 2561 case 7: RETVAL = newSVuv (ms.move_off ); break;
2553 } 2562 }
2563}
2554 OUTPUT: RETVAL 2564 OUTPUT: RETVAL
2555 2565
2556void fix_walls (maptile *map, int x, int y) 2566void fix_walls (maptile *map, int x, int y)
2557 2567
2558void fix_walls_around (maptile *map, int x, int y) 2568void fix_walls_around (maptile *map, int x, int y)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines