Looping through rooms

Posted by Zeno on Sun 12 Sep 2004 09:25 PM — 4 posts, 17,231 views.

USA #0
Whats the best way to loop through existing rooms? I need to add an update to all rooms if a certain room variable is greater than 0. But I'm not sure how to use 'for' to loop through all the rooms.
Canada #1
You can't use a singular loop, you need to loop through the hashtables, then through all the rooms in that hash. If you need to update rooms, you might try putting it in the reset code, since all the looping and room finding is done already.
USA #2
Wouldn't that only update on each area reset though? This variable is a deadly mist, and needs to dissipate a little every few seconds.
USA #3
A description for doing what Greven said is this:

int hash;
ROOM_INDEX_DATA *room;

  for ( hash = 0; hash < MAX_KEY_HASH; hash++ )
   for ( room = room_index_hash[hash] ; room ; room = room->next)
   {
      /* your code here */
   }

What I would do is make a seperate update function for it, that way in bug tracking you can tell that its calling it.