ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/loader.C
(Generate patch)

Comparing deliantra/server/common/loader.C (file contents):
Revision 1.155 by root, Tue Apr 13 03:24:32 2010 UTC vs.
Revision 1.156 by root, Sun Apr 18 12:37:07 2010 UTC

1451 CMP_OUT (move_slow); 1451 CMP_OUT (move_slow);
1452 CMP_OUT (move_slow_penalty); 1452 CMP_OUT (move_slow_penalty);
1453 1453
1454 object::flags_t diff = (op->flag ^ arch->flag) & flagmask; 1454 object::flags_t diff = (op->flag ^ arch->flag) & flagmask;
1455 1455
1456#if stdcpp // we need gcc, sorry
1456 if (diff [FLAG_OBJ_ORIGINAL]) 1457 if (diff [FLAG_OBJ_ORIGINAL])
1457 f.put (flag_names [FLAG_OBJ_ORIGINAL], op->flag [FLAG_OBJ_ORIGINAL] ? CS(1) : CS(0)); 1458 f.put (flag_names [FLAG_OBJ_ORIGINAL], op->flag [FLAG_OBJ_ORIGINAL] ? CS(1) : CS(0));
1458 1459
1459 diff.reset (FLAG_OBJ_ORIGINAL); 1460 diff.reset (FLAG_OBJ_ORIGINAL);
1460 1461
1461 // quickly test whether any other flags differ 1462 // quickly test whether any other flags differ
1462 if (expect_true (diff.any ())) 1463 if (expect_true (diff.any ()))
1463 for (int i = 0; i < NUM_FLAGS; i++) 1464 for (int i = 0; i < NUM_FLAGS; i++)
1464 if (expect_false (diff [i])) 1465 if (expect_false (diff [i]))
1465 f.put (flag_names [i], op->flag [i] ? CS(1) : CS(0)); 1466 f.put (flag_names [i], op->flag [i] ? CS(1) : CS(0));
1467#else
1468 // use sgi extensions
1469 for (int i = diff._Find_first (); i < diff.size (); i = diff._Find_next (i))
1470 f.put (flag_names [i], op->flag [i] ? CS(1) : CS(0));
1471#endif
1466 1472
1467 // save body locations. gcc's memcmp does an abysmal job when used 1473 // save body locations. gcc's memcmp does an abysmal job when used
1468 for (int i = 0; i < NUM_BODY_LOCATIONS; i++) 1474 for (int i = 0; i < NUM_BODY_LOCATIONS; i++)
1469 if (expect_false (op->slot[i].info != arch->slot[i].info)) 1475 if (expect_false (op->slot[i].info != arch->slot[i].info))
1470 f.put (body_locations[i].save_name, op->slot[i].info); 1476 f.put (body_locations[i].save_name, op->slot[i].info);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines