version 1.62 | | version 1.63 |
---|
| | |
/* | | /* |
* static char *rcsid_main_c = | | * static char *rcsid_main_c = |
* "$Id: main.c,v 1.62 2002/06/19 04:33:25 mwedel Exp $"; | | * "$Id: main.c,v 1.63 2002/07/15 04:57:13 mwedel Exp $"; |
*/ | | */ |
| | |
/* | | /* |
| | |
*/ | | */ |
if (op==NULL) return; | | if (op==NULL) return; |
new_draw_info(NDI_UNIQUE, 0,op,"Authors and contributors to this program:"); | | new_draw_info(NDI_UNIQUE, 0,op,"Authors and contributors to this program:"); |
new_draw_info(NDI_UNIQUE, 0,op,"mark@scruz.net (Mark Wedel)"); | | new_draw_info(NDI_UNIQUE, 0,op,"mwedel@sonic.net (Mark Wedel)"); |
new_draw_info(NDI_UNIQUE, 0,op,"frankj@ifi.uio.no (Frank Tore Johansen)"); | | new_draw_info(NDI_UNIQUE, 0,op,"frankj@ifi.uio.no (Frank Tore Johansen)"); |
new_draw_info(NDI_UNIQUE, 0,op,"kjetilho@ifi.uio.no (Kjetil Torgrim Homme)"); | | new_draw_info(NDI_UNIQUE, 0,op,"kjetilho@ifi.uio.no (Kjetil Torgrim Homme)"); |
new_draw_info(NDI_UNIQUE, 0,op,"tvangod@ecst.csuchico.edu (Tyler Van Gorder)"); | | new_draw_info(NDI_UNIQUE, 0,op,"tvangod@ecst.csuchico.edu (Tyler Van Gorder)"); |
| | |
if (op->contr) { | | if (op->contr) { |
strcpy(op->contr->maplevel, newmap->path); | | strcpy(op->contr->maplevel, newmap->path); |
op->contr->count=0; | | op->contr->count=0; |
op->contr->count_left=0; | | |
} | | } |
| | |
/* Update any golems */ | | /* Update any golems */ |
| | |
| | |
process_players1 (map); | | process_players1 (map); |
| | |
| | memset(&marker, 0, sizeof(object)); |
/* Put marker object at beginning of active list */ | | /* Put marker object at beginning of active list */ |
marker.active_next = active_objects; | | marker.active_next = active_objects; |
| | |
if (marker.active_next) | | if (marker.active_next) |
marker.active_next->active_prev = ▮ | | marker.active_next->active_prev = ▮ |
marker.active_prev = NULL; | | marker.active_prev = NULL; |
active_objects = ▮ | | active_objects = ▮ |
| | |
while (marker.active_next) | | while (marker.active_next) { |
{ | | |
op = marker.active_next; | | op = marker.active_next; |
tag = op->count; | | tag = op->count; |
| | |
/* Move marker forward - swap op and marker */ | | /* Move marker forward - swap op and marker */ |
op->active_prev = marker.active_prev; | | op->active_prev = marker.active_prev; |
| | |
if (op->active_prev) | | if (op->active_prev) |
op->active_prev->active_next = op; | | op->active_prev->active_next = op; |
else | | else |
active_objects = op; | | active_objects = op; |
| | |
marker.active_next = op->active_next; | | marker.active_next = op->active_next; |
| | |
if (marker.active_next) | | if (marker.active_next) |
marker.active_next->active_prev = ▮ | | marker.active_next->active_prev = ▮ |
marker.active_prev = op; | | marker.active_prev = op; |
| | |
} | | } |
| | |
if (op->map == NULL && op->env == NULL && op->name && | | if (op->map == NULL && op->env == NULL && op->name && |
op->type != MAP && map == NULL) | | op->type != MAP && map == NULL) { |
{ | | |
LOG (llevError, "BUG: process_events(): Object without map or " | | LOG (llevError, "BUG: process_events(): Object without map or " |
"inventory is on active list: %s (%d)\n", | | "inventory is on active list: %s (%d)\n", |
op->name, op->count); | | op->name, op->count); |
| | |
if (map != NULL && op->map != map) | | if (map != NULL && op->map != map) |
continue; | | continue; |
| | |
/* Eneq(@csd.uu.se): Handle archetype-field anim_speed differently when | | /* Animate the object. Bug of feature that andim_speed |
it comes to the animation. If we have a value on this we don't animate it | | * is based on ticks, and not the creatures speed? |
at speed-events. */ | | */ |
| | |
if (op->anim_speed && op->last_anim >= op->anim_speed) { | | if (op->anim_speed && op->last_anim >= op->anim_speed) { |
animate_object (op); | | animate_object (op); |
op->last_anim = 1; | | op->last_anim = 1; |