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

Comparing deliantra/server/random_maps/exit.C (file contents):
Revision 1.10 by root, Wed Dec 20 09:14:22 2006 UTC vs.
Revision 1.11 by root, Mon Dec 25 14:54:44 2006 UTC

262 262
263 insert_ob_in_map (the_exit_up, map, NULL, 0); 263 insert_ob_in_map (the_exit_up, map, NULL, 0);
264 maze[the_exit_up->x][the_exit_up->y] = '<'; 264 maze[the_exit_up->x][the_exit_up->y] = '<';
265 265
266 /* set the starting x,y for this map */ 266 /* set the starting x,y for this map */
267 MAP_ENTER_X (map) = the_exit_up->x; 267 map->enter_x = the_exit_up->x;
268 MAP_ENTER_Y (map) = the_exit_up->y; 268 map->enter_y = the_exit_up->y;
269 269
270 /* first, look for a '>' character */ 270 /* first, look for a '>' character */
271 find_in_layout (0, '>', &downx, &downy, maze, RP); 271 find_in_layout (0, '>', &downx, &downy, maze, RP);
272 /* if no > is found use C */ 272 /* if no > is found use C */
273 if (downx == -1) 273 if (downx == -1)
337 return; 337 return;
338 338
339 the_exit_down->slaying = RP->final_map; 339 the_exit_down->slaying = RP->final_map;
340 strcpy (new_map->path, RP->final_map); 340 strcpy (new_map->path, RP->final_map);
341 341
342 for (tmp = GET_MAP_OB (new_map, MAP_ENTER_X (new_map), MAP_ENTER_Y (new_map)); tmp; tmp = tmp->above) 342 for (tmp = GET_MAP_OB (new_map, new_map->enter_x, new_map->enter_y); tmp; tmp = tmp->above)
343 /* Remove exit back to previous random map. There should only be one 343 /* Remove exit back to previous random map. There should only be one
344 * which is why we break out. To try to process more than one 344 * which is why we break out. To try to process more than one
345 * would require keeping a 'next' pointer, ad free_object kills tmp, which 345 * would require keeping a 'next' pointer, ad free_object kills tmp, which
346 * breaks the for loop. 346 * breaks the for loop.
347 */ 347 */
356 { 356 {
357 /* setup the exit back */ 357 /* setup the exit back */
358 the_exit_back->slaying = map->path; 358 the_exit_back->slaying = map->path;
359 the_exit_back->stats.hp = the_exit_down->x; 359 the_exit_back->stats.hp = the_exit_down->x;
360 the_exit_back->stats.sp = the_exit_down->y; 360 the_exit_back->stats.sp = the_exit_down->y;
361 the_exit_back->x = MAP_ENTER_X (new_map); 361 the_exit_back->x = new_map->enter_x;
362 the_exit_back->y = MAP_ENTER_Y (new_map); 362 the_exit_back->y = new_map->enter_y;
363 363
364 insert_ob_in_map (the_exit_back, new_map, NULL, 0); 364 insert_ob_in_map (the_exit_back, new_map, NULL, 0);
365 } 365 }
366 366
367 set_map_timeout (new_map); /* So it gets swapped out */ 367 set_map_timeout (new_map); /* So it gets swapped out */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines