Mercurial > hg > early-roguelike
comparison xrogue/command.c @ 225:4f6e056438eb
Merge the GCC5 and build fix branches.
author | John "Elwin" Edwards |
---|---|
date | Wed, 02 Mar 2016 21:28:34 -0500 |
parents | f54901b9c39b |
children | 7c1cb43f346e |
comparison
equal
deleted
inserted
replaced
224:4d0f53998e8a | 225:4f6e056438eb |
---|---|
22 #include <stdlib.h> | 22 #include <stdlib.h> |
23 #include <string.h> | 23 #include <string.h> |
24 #include "mach_dep.h" | 24 #include "mach_dep.h" |
25 #include "rogue.h" | 25 #include "rogue.h" |
26 | 26 |
27 void display(void); | |
28 void d_level(void); | |
29 void u_level(void); | |
30 void shell(void); | |
31 void nameit(void); | |
32 void namemonst(void); | |
33 void count_gold(void); | |
34 | |
27 /* | 35 /* |
28 * command: | 36 * command: |
29 * Process the user commands | 37 * Process the user commands |
30 */ | 38 */ |
31 | 39 |
32 command() | 40 void |
41 command(void) | |
33 { | 42 { |
34 unsigned int ch; | 43 unsigned int ch; |
35 struct linked_list *item; | 44 struct linked_list *item; |
36 unsigned int countch = 0, direction = 0, newcount = FALSE; | 45 unsigned int countch = 0, direction = 0, newcount = FALSE; |
37 int segment = 1; | 46 int segment = 1; |
286 player.t_no_move = 2*movement(&player); | 295 player.t_no_move = 2*movement(&player); |
287 } | 296 } |
288 else { | 297 else { |
289 after = FALSE; | 298 after = FALSE; |
290 player.t_action = A_NIL; | 299 player.t_action = A_NIL; |
291 fright(); | 300 fright(NULL); |
292 } | 301 } |
293 when 'g' : /* Give command: give slime-molds to monsters */ | 302 when 'g' : /* Give command: give slime-molds to monsters */ |
294 if (player.t_action == A_NIL) { | 303 if (player.t_action == A_NIL) { |
295 player.t_action = 'g'; | 304 player.t_action = 'g'; |
296 player.t_no_move = 2*movement(&player); | 305 player.t_no_move = 2*movement(&player); |
297 } | 306 } |
298 else { | 307 else { |
299 after = FALSE; | 308 after = FALSE; |
300 player.t_action = A_NIL; | 309 player.t_action = A_NIL; |
301 give(); | 310 give(NULL); |
302 } | 311 } |
303 when 'G' : | 312 when 'G' : |
304 if (player.t_action == A_NIL) { | 313 if (player.t_action == A_NIL) { |
305 player.t_action = 'G'; | 314 player.t_action = 'G'; |
306 player.t_no_move = movement(&player); | 315 player.t_no_move = movement(&player); |
355 | 364 |
356 /* no character descriptions yet until updated (help.c) */ | 365 /* no character descriptions yet until updated (help.c) */ |
357 /* when '\\' : after = FALSE; ident_hero(); */ | 366 /* when '\\' : after = FALSE; ident_hero(); */ |
358 when '\\' : msg("Charon (the Boatman) looks at you... "); | 367 when '\\' : msg("Charon (the Boatman) looks at you... "); |
359 | 368 |
360 when '/' : after = FALSE; identify(NULL); | 369 when '/' : after = FALSE; identify('\0'); |
361 when C_COUNT : count_gold(); | 370 when C_COUNT : count_gold(); |
362 when C_DIP : dip_it(); | 371 when C_DIP : dip_it(); |
363 when C_DROP : player.t_action = C_DROP; | 372 when C_DROP : player.t_action = C_DROP; |
364 drop((struct linked_list *)NULL); | 373 drop((struct linked_list *)NULL); |
365 when C_EAT : eat(); | 374 when C_EAT : eat(); |
366 when C_QUAFF : quaff(-1, NULL, NULL, TRUE); | 375 when C_QUAFF : quaff(-1, 0, 0, TRUE); |
367 when C_READ : read_scroll(-1, NULL, TRUE); | 376 when C_READ : read_scroll(-1, 0, TRUE); |
368 when C_SETTRAP : set_trap(&player, hero.y, hero.x); | 377 when C_SETTRAP : set_trap(&player, hero.y, hero.x); |
369 when C_SEARCH : | 378 when C_SEARCH : |
370 if (player.t_action == A_NIL) { | 379 if (player.t_action == A_NIL) { |
371 player.t_action = C_SEARCH; | 380 player.t_action = C_SEARCH; |
372 player.t_no_move = 2 + movement(&player); | 381 player.t_no_move = 2 + movement(&player); |
377 } | 386 } |
378 when C_TAKEOFF : take_off(); | 387 when C_TAKEOFF : take_off(); |
379 when C_USE : use_mm(-1); | 388 when C_USE : use_mm(-1); |
380 when C_WEAR : wear(); | 389 when C_WEAR : wear(); |
381 when C_WIELD : wield(); | 390 when C_WIELD : wield(); |
382 when C_ZAP : if (!player_zap(NULL, FALSE)) after=FALSE; | 391 when C_ZAP : if (!player_zap(0, FALSE)) after=FALSE; |
383 when C_CAST : cast(); | 392 when C_CAST : cast(); |
384 when C_CHANT : chant(); | 393 when C_CHANT : chant(); |
385 when C_PRAY : pray(); | 394 when C_PRAY : pray(); |
386 when CTRL('B') : msg("Current score: %d", | 395 when CTRL('B') : msg("Current score: %d", |
387 pstats.s_exp + (long) purse); | 396 pstats.s_exp + (long) purse); |
636 /* | 645 /* |
637 * display | 646 * display |
638 * tell the player what is at a certain coordinates assuming | 647 * tell the player what is at a certain coordinates assuming |
639 * it can be seen. | 648 * it can be seen. |
640 */ | 649 */ |
641 display() | 650 void |
651 display(void) | |
642 { | 652 { |
643 coord c; | 653 coord c; |
644 struct linked_list *item; | 654 struct linked_list *item; |
645 struct thing *tp; | 655 struct thing *tp; |
646 int what; | 656 int what; |
671 * Have player make certain, then exit. | 681 * Have player make certain, then exit. |
672 */ | 682 */ |
673 | 683 |
674 /*UNUSED*/ | 684 /*UNUSED*/ |
675 void | 685 void |
676 quit(sig) | 686 quit(int sig) |
677 int sig; | |
678 { | 687 { |
679 register int oy, ox; | 688 register int oy, ox; |
680 | 689 |
681 NOOP(sig); | 690 NOOP(sig); |
682 | 691 |
725 /* | 734 /* |
726 * bugkill: | 735 * bugkill: |
727 * killed by a program bug instead of voluntarily. | 736 * killed by a program bug instead of voluntarily. |
728 */ | 737 */ |
729 | 738 |
730 bugkill(sig) | 739 void |
731 int sig; | 740 bugkill(int sig) |
732 { | 741 { |
733 signal(sig, quit); /* If we get it again, give up */ | 742 signal(sig, quit); /* If we get it again, give up */ |
734 if (levtype == OUTSIDE) { | 743 if (levtype == OUTSIDE) { |
735 msg("Oh no! You walk right into a flying swarm of nasty little bugs!! "); | 744 msg("Oh no! You walk right into a flying swarm of nasty little bugs!! "); |
736 msg("One of them penetrates your brain!!! --More--"); | 745 msg("One of them penetrates your brain!!! --More--"); |
746 /* | 755 /* |
747 * search: | 756 * search: |
748 * Player gropes about him to find hidden things. | 757 * Player gropes about him to find hidden things. |
749 */ | 758 */ |
750 | 759 |
751 search(is_thief, door_chime) | 760 void |
752 register bool is_thief, door_chime; | 761 search(bool is_thief, bool door_chime) |
753 { | 762 { |
754 register int x, y; | 763 register int x, y; |
755 register char ch, /* The trap or door character */ | 764 register char ch, /* The trap or door character */ |
756 sch; /* Trap or door character (as seen on screen) */ | 765 sch; /* Trap or door character (as seen on screen) */ |
757 register unsigned char mch; /* Monster, if a monster is on the trap or door */ | 766 register unsigned char mch; /* Monster, if a monster is on the trap or door */ |
859 /* | 868 /* |
860 * d_level: | 869 * d_level: |
861 * He wants to go down a level | 870 * He wants to go down a level |
862 */ | 871 */ |
863 | 872 |
864 d_level() | 873 void |
874 d_level(void) | |
865 { | 875 { |
866 bool no_phase=FALSE; | 876 bool no_phase=FALSE; |
867 char position = winat(hero.y, hero.x); | 877 char position = winat(hero.y, hero.x); |
868 int au; | 878 int au; |
869 | 879 |
960 /* | 970 /* |
961 * u_level: | 971 * u_level: |
962 * He wants to go up a level | 972 * He wants to go up a level |
963 */ | 973 */ |
964 | 974 |
965 u_level() | 975 void |
976 u_level(void) | |
966 { | 977 { |
967 bool no_phase = FALSE; | 978 bool no_phase = FALSE; |
968 register struct linked_list *item; | 979 register struct linked_list *item; |
969 char position = winat(hero.y, hero.x); | 980 char position = winat(hero.y, hero.x); |
970 struct thing *tp; | 981 struct thing *tp; |
1051 | 1062 |
1052 /* | 1063 /* |
1053 * Let him escape for a while | 1064 * Let him escape for a while |
1054 */ | 1065 */ |
1055 | 1066 |
1056 shell() | 1067 void |
1068 shell(void) | |
1057 { | 1069 { |
1058 /* | 1070 /* |
1059 * Set the terminal back to original mode | 1071 * Set the terminal back to original mode |
1060 */ | 1072 */ |
1061 wclear(hw); | 1073 wclear(hw); |
1077 } | 1089 } |
1078 | 1090 |
1079 /* | 1091 /* |
1080 * see what we want to name -- an item or a monster. | 1092 * see what we want to name -- an item or a monster. |
1081 */ | 1093 */ |
1082 nameit() | 1094 void |
1095 nameit(void) | |
1083 { | 1096 { |
1084 char answer; | 1097 char answer; |
1085 | 1098 |
1086 msg("Name monster or item (m or i)? "); | 1099 msg("Name monster or item (m or i)? "); |
1087 answer = wgetch(cw); | 1100 answer = wgetch(cw); |
1101 | 1114 |
1102 /* | 1115 /* |
1103 * allow a user to call a potion, scroll, or ring something | 1116 * allow a user to call a potion, scroll, or ring something |
1104 */ | 1117 */ |
1105 | 1118 |
1106 nameitem(item, mark) | 1119 void |
1107 struct linked_list *item; | 1120 nameitem(struct linked_list *item, bool mark) |
1108 bool mark; | |
1109 { | 1121 { |
1110 register struct object *obj; | 1122 register struct object *obj; |
1111 register char **guess = NULL, *elsewise = NULL; | 1123 register char **guess = NULL, *elsewise = NULL; |
1112 register bool *know; | 1124 register bool *know; |
1113 | 1125 |
1189 } | 1201 } |
1190 } | 1202 } |
1191 | 1203 |
1192 /* Name a monster */ | 1204 /* Name a monster */ |
1193 | 1205 |
1194 namemonst() | 1206 void |
1207 namemonst(void) | |
1195 { | 1208 { |
1196 register struct thing *tp; | 1209 register struct thing *tp; |
1197 struct linked_list *item; | 1210 struct linked_list *item; |
1198 coord c; | 1211 coord c; |
1199 | 1212 |
1234 } | 1247 } |
1235 | 1248 |
1236 msg("There is no monster there to name."); | 1249 msg("There is no monster there to name."); |
1237 } | 1250 } |
1238 | 1251 |
1239 count_gold() | 1252 void |
1253 count_gold(void) | |
1240 { | 1254 { |
1241 if (player.t_action != C_COUNT) { | 1255 if (player.t_action != C_COUNT) { |
1242 msg("You take a break to count your money.. "); | 1256 msg("You take a break to count your money.. "); |
1243 player.t_using = NULL; | 1257 player.t_using = NULL; |
1244 player.t_action = C_COUNT; /* We are counting */ | 1258 player.t_action = C_COUNT; /* We are counting */ |
1257 | 1271 |
1258 /* | 1272 /* |
1259 * Teleport somewhere, anywhere... | 1273 * Teleport somewhere, anywhere... |
1260 */ | 1274 */ |
1261 | 1275 |
1262 do_teleport() | 1276 void |
1277 do_teleport(void) | |
1263 { | 1278 { |
1264 int tlev; | 1279 int tlev; |
1265 prbuf[0] = '\0'; | 1280 prbuf[0] = '\0'; |
1266 msg("To which level do you wish to teleport? "); | 1281 msg("To which level do you wish to teleport? "); |
1267 if(get_str(prbuf,msgw) == NORM) { | 1282 if(get_str(prbuf,msgw) == NORM) { |