ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/object.h
(Generate patch)

Comparing deliantra/server/include/object.h (file contents):
Revision 1.123 by root, Thu May 17 20:27:01 2007 UTC vs.
Revision 1.124 by root, Fri May 18 12:13:02 2007 UTC

297 { 297 {
298 if (!flag [FLAG_REMOVED]) 298 if (!flag [FLAG_REMOVED])
299 do_remove (); 299 do_remove ();
300 } 300 }
301 301
302 // move this object to the top of its env's inventory to speed up
303 // searches for it.
304 MTH object *inv_splay ()
305 {
306 if (env && env->inv != this)
307 {
308 if (above) above->below = below;
309 if (below) below->above = above;
310
311 above = 0;
312 below = env->inv;
313 below->above = this;
314 env->inv = this;
315 }
316
317 return this;
318 }
319
320 static bool can_merge_slow (object *op1, object *op2); 302 static bool can_merge_slow (object *op1, object *op2);
321 303
322 // this is often used in time-critical code, so optimise 304 // this is often used in time-critical code, so optimise
323 MTH static bool can_merge (object *op1, object *op2) 305 MTH static bool can_merge (object *op1, object *op2)
324 { 306 {
507 void unlink (); 489 void unlink ();
508 490
509 object (); 491 object ();
510 ~object (); 492 ~object ();
511}; 493};
494
495// move this object to the top of its env's inventory to speed up
496// searches for it.
497static object *
498splay (object *ob)
499{
500 if (ob->env && ob->env->inv != ob)
501 {
502 if (ob->above) ob->above->below = ob->below;
503 if (ob->below) ob->below->above = ob->above;
504
505 ob->above = 0;
506 ob->below = ob->env->inv;
507 ob->below->above = ob;
508 ob->env->inv = ob;
509 }
510
511 return ob;
512}
512 513
513typedef object_vector<object, &object::index > objectvec; 514typedef object_vector<object, &object::index > objectvec;
514typedef object_vector<object, &object::active> activevec; 515typedef object_vector<object, &object::active> activevec;
515 516
516extern objectvec objects; 517extern objectvec objects;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines