… | |
… | |
305 | return; |
305 | return; |
306 | |
306 | |
307 | if (INVOKE_PLAYER (MAP_CHANGE, op->contr, ARG_MAP (newmap), ARG_INT (x), ARG_INT (y))) |
307 | if (INVOKE_PLAYER (MAP_CHANGE, op->contr, ARG_MAP (newmap), ARG_INT (x), ARG_INT (y))) |
308 | return; |
308 | return; |
309 | |
309 | |
310 | if (INVOKE_MAP (ENTER, op->map, ARG_PLAYER (op->contr), ARG_INT (x), ARG_INT (y))) |
310 | if (INVOKE_MAP (ENTER, newmap, ARG_PLAYER (op->contr), ARG_INT (x), ARG_INT (y))) |
311 | return; |
311 | return; |
312 | |
312 | |
313 | /* If it is a player login, he has yet to be inserted anyplace. |
313 | /* If it is a player login, he has yet to be inserted anyplace. |
314 | * otherwise, we need to deal with removing the player here. |
314 | * otherwise, we need to deal with removing the player here. |
315 | */ |
315 | */ |
… | |
… | |
785 | return; |
785 | return; |
786 | |
786 | |
787 | /* First, lets figure out what map the player is going to go to */ |
787 | /* First, lets figure out what map the player is going to go to */ |
788 | if (exit_ob) |
788 | if (exit_ob) |
789 | { |
789 | { |
790 | |
|
|
791 | /* check to see if we make a template map */ |
790 | /* check to see if we make a template map */ |
792 | if (EXIT_PATH (exit_ob) && EXIT_PATH (exit_ob)[1] == '@') |
791 | if (EXIT_PATH (exit_ob) && EXIT_PATH (exit_ob)[1] == '@') |
793 | { |
792 | { |
794 | if (EXIT_PATH (exit_ob)[2] == '!') |
793 | if (EXIT_PATH (exit_ob)[2] == '!') |
795 | { |
794 | { |
… | |
… | |
917 | else |
916 | else |
918 | { |
917 | { |
919 | int flags = 0; |
918 | int flags = 0; |
920 | maptile *newmap; |
919 | maptile *newmap; |
921 | |
920 | |
922 | |
|
|
923 | /* Hypothetically, I guess its possible that a standard map matches |
921 | /* Hypothetically, I guess its possible that a standard map matches |
924 | * the localdir, but that seems pretty unlikely - unlikely enough that |
922 | * the localdir, but that seems pretty unlikely - unlikely enough that |
925 | * I'm not going to attempt to try to deal with that possibility. |
923 | * I'm not going to attempt to try to deal with that possibility. |
926 | * We use the fact that when a player saves on a unique map, it prepends |
924 | * We use the fact that when a player saves on a unique map, it prepends |
927 | * the localdir to that name. So its an easy way to see of the map is |
925 | * the localdir to that name. So its an easy way to see of the map is |
… | |
… | |
947 | { |
945 | { |
948 | LOG (llevError, "enter_exit: could not load emergency map? Fatal error\n"); |
946 | LOG (llevError, "enter_exit: could not load emergency map? Fatal error\n"); |
949 | abort (); |
947 | abort (); |
950 | } |
948 | } |
951 | } |
949 | } |
|
|
950 | |
952 | enter_map (op, newmap, op->x, op->y); |
951 | enter_map (op, newmap, op->x, op->y); |
953 | } |
952 | } |
954 | } |
953 | } |
955 | |
954 | |
956 | /* |
955 | /* |