Mercurial > hg > early-roguelike
comparison arogue7/misc.c @ 219:f9ef86cf22b2
Advanced Rogue 7: convert to ANSI-style function declarations.
Almost 1500 lines of compiler warnings remain, and the GCC developers
are already working on a new version with even more warnings turned on
by default.
author | John "Elwin" Edwards |
---|---|
date | Fri, 19 Feb 2016 21:02:28 -0500 |
parents | 1cd604c827a3 |
children | e1cd27c5464f |
comparison
equal
deleted
inserted
replaced
218:56e748983fa8 | 219:f9ef86cf22b2 |
---|---|
13 */ | 13 */ |
14 | 14 |
15 #include "curses.h" | 15 #include "curses.h" |
16 #include <stdlib.h> | 16 #include <stdlib.h> |
17 #include <ctype.h> | 17 #include <ctype.h> |
18 #include <string.h> | |
18 #include "rogue.h" | 19 #include "rogue.h" |
19 #ifdef PC7300 | 20 #ifdef PC7300 |
20 #include "menu.h" | 21 #include "menu.h" |
21 #endif | 22 #endif |
22 | 23 |
27 /* | 28 /* |
28 * changeclass: | 29 * changeclass: |
29 * Change the player's class to the specified one. | 30 * Change the player's class to the specified one. |
30 */ | 31 */ |
31 | 32 |
32 changeclass(newclass) | 33 void |
33 int newclass; | 34 changeclass(int newclass) |
34 { | 35 { |
35 if (newclass == player.t_ctype) { | 36 if (newclass == player.t_ctype) { |
36 msg("You feel more skillful."); | 37 msg("You feel more skillful."); |
37 raise_level(); | 38 raise_level(); |
38 } | 39 } |
130 } | 131 } |
131 | 132 |
132 /* | 133 /* |
133 * Use the relic that our monster is wielding. | 134 * Use the relic that our monster is wielding. |
134 */ | 135 */ |
135 m_use_relic(monster) | 136 void |
136 register struct thing *monster; | 137 m_use_relic(struct thing *monster) |
137 { | 138 { |
138 register struct object *obj; | 139 register struct object *obj; |
139 | 140 |
140 /* Make sure we really have it */ | 141 /* Make sure we really have it */ |
141 if (monster->t_using) obj = OBJPTR(monster->t_using); | 142 if (monster->t_using) obj = OBJPTR(monster->t_using); |
159 hit_monster(unc(missile.o_pos), &missile, monster); | 160 hit_monster(unc(missile.o_pos), &missile, monster); |
160 monster->t_artifact = monster->t_artifact * 4 / 5; | 161 monster->t_artifact = monster->t_artifact * 4 / 5; |
161 } | 162 } |
162 when EMORI_CLOAK: | 163 when EMORI_CLOAK: |
163 debug("stunning with Emori's cloak"); | 164 debug("stunning with Emori's cloak"); |
164 do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, NULL); | 165 do_zap(monster, obj, &monster->t_newpos, WS_PARALYZE, 0); |
165 obj->o_charges = 0; | 166 obj->o_charges = 0; |
166 | 167 |
167 when ASMO_ROD: { | 168 when ASMO_ROD: { |
168 char *name; | 169 char *name; |
169 | 170 |
226 monster->t_using = NULL; | 227 monster->t_using = NULL; |
227 } | 228 } |
228 | 229 |
229 /* | 230 /* |
230 * add something to the contents of something else | 231 * add something to the contents of something else |
232 * bag: the holder of the items | |
233 * item: the item to put inside | |
231 */ | 234 */ |
232 put_contents(bag, item) | 235 void |
233 register struct object *bag; /* the holder of the items */ | 236 put_contents(struct object *bag, struct linked_list *item) |
234 register struct linked_list *item; /* the item to put inside */ | |
235 { | 237 { |
236 register struct linked_list *titem; | 238 register struct linked_list *titem; |
237 register struct object *tobj; | 239 register struct object *tobj; |
238 | 240 |
239 bag->o_ac++; | 241 bag->o_ac++; |
254 } | 256 } |
255 } | 257 } |
256 | 258 |
257 /* | 259 /* |
258 * remove something from something else | 260 * remove something from something else |
261 * bag: the holder of the items | |
259 */ | 262 */ |
260 take_contents(bag, item) | 263 void |
261 register struct object *bag; /* the holder of the items */ | 264 take_contents(struct object *bag, struct linked_list *item) |
262 register struct linked_list *item; | |
263 { | 265 { |
264 | 266 |
265 if (bag->o_ac <= 0) { | 267 if (bag->o_ac <= 0) { |
266 msg("Nothing to take out"); | 268 msg("Nothing to take out"); |
267 return; | 269 return; |
271 if (!add_pack(item, FALSE, NULL)) | 273 if (!add_pack(item, FALSE, NULL)) |
272 put_contents(bag, item); | 274 put_contents(bag, item); |
273 } | 275 } |
274 | 276 |
275 | 277 |
276 do_bag(item) | 278 void |
277 register struct linked_list *item; | 279 do_bag(struct linked_list *item) |
278 { | 280 { |
279 | 281 |
280 register struct linked_list *titem = NULL; | 282 register struct linked_list *titem = NULL; |
281 register struct object *obj, *tobj; | 283 register struct object *obj, *tobj; |
282 bool doit = TRUE; | 284 bool doit = TRUE; |
393 touchwin(cw); | 395 touchwin(cw); |
394 } | 396 } |
395 } | 397 } |
396 } | 398 } |
397 | 399 |
398 do_panic(who) | 400 /* who: Kind of monster to panic (all if who is NULL) */ |
399 int who; /* Kind of monster to panic (all if who is NULL) */ | 401 void |
402 do_panic(int who) | |
400 { | 403 { |
401 register int x,y; | 404 register int x,y; |
402 register struct linked_list *mon, *item; | 405 register struct linked_list *mon, *item; |
403 register struct thing *th; | 406 register struct thing *th; |
404 | 407 |
458 | 461 |
459 /* | 462 /* |
460 * print miscellaneous magic bonuses | 463 * print miscellaneous magic bonuses |
461 */ | 464 */ |
462 char * | 465 char * |
463 misc_name(obj) | 466 misc_name(struct object *obj) |
464 register struct object *obj; | |
465 { | 467 { |
466 static char buf[LINELEN]; | 468 static char buf[LINELEN]; |
467 char buf1[LINELEN]; | 469 char buf1[LINELEN]; |
468 | 470 |
469 buf[0] = '\0'; | 471 buf[0] = '\0'; |
521 } | 523 } |
522 strcat (buf, buf1); | 524 strcat (buf, buf1); |
523 return buf; | 525 return buf; |
524 } | 526 } |
525 | 527 |
526 use_emori() | 528 void |
529 use_emori(void) | |
527 { | 530 { |
528 char selection; /* Cloak function */ | 531 char selection; /* Cloak function */ |
529 int state = 0; /* Menu state */ | 532 int state = 0; /* Menu state */ |
530 | 533 |
531 msg("What do you want to do? (* for a list): "); | 534 msg("What do you want to do? (* for a list): "); |
631 static char Displines[MAXQUILL+1][LINELEN+1]; /* The lines themselves */ | 634 static char Displines[MAXQUILL+1][LINELEN+1]; /* The lines themselves */ |
632 #endif | 635 #endif |
633 /* | 636 /* |
634 * try to write a scroll with the quill of Nagrom | 637 * try to write a scroll with the quill of Nagrom |
635 */ | 638 */ |
636 use_quill(obj) | 639 void |
637 struct object *obj; | 640 use_quill(struct object *obj) |
638 { | 641 { |
639 struct linked_list *item; | 642 struct linked_list *item; |
640 register int i, | 643 register int i, |
641 scroll_ability; | 644 scroll_ability; |
642 int which_scroll, | 645 int which_scroll, |
764 goto got_scroll; | 767 goto got_scroll; |
765 } | 768 } |
766 #endif | 769 #endif |
767 /* Should we overlay? */ | 770 /* Should we overlay? */ |
768 if (menu_overlay && MAXQUILL + 3 < lines / 2) { | 771 if (menu_overlay && MAXQUILL + 3 < lines / 2) { |
769 over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, NULL); | 772 over_win(cw, hw, MAXQUILL + 5, maxlen + 3, 0, curlen, '\0'); |
770 } | 773 } |
771 else draw(hw); | 774 else draw(hw); |
772 } | 775 } |
773 | 776 |
774 if (!nohw) { | 777 if (!nohw) { |
793 if (maxlen < curlen) maxlen = curlen; | 796 if (maxlen < curlen) maxlen = curlen; |
794 | 797 |
795 /* Should we overlay? */ | 798 /* Should we overlay? */ |
796 if (menu_overlay && MAXQUILL + 3 < lines / 2) { | 799 if (menu_overlay && MAXQUILL + 3 < lines / 2) { |
797 over_win(cw, hw, MAXQUILL + 5, maxlen + 3, | 800 over_win(cw, hw, MAXQUILL + 5, maxlen + 3, |
798 0, curlen, NULL); | 801 0, curlen, '\0'); |
799 } | 802 } |
800 else draw(hw); | 803 else draw(hw); |
801 | 804 |
802 which_scroll = (int) (readchar() - 'a'); | 805 which_scroll = (int) (readchar() - 'a'); |
803 } | 806 } |
833 (OBJPTR(item))->o_pos = hero; | 836 (OBJPTR(item))->o_pos = hero; |
834 fall(item, TRUE); | 837 fall(item, TRUE); |
835 } | 838 } |
836 } | 839 } |
837 | 840 |
838 use_mm(which) | 841 void |
839 int which; | 842 use_mm(int which) |
840 { | 843 { |
841 register struct object *obj = NULL; | 844 register struct object *obj = NULL; |
842 register struct linked_list *item = NULL; | 845 register struct linked_list *item = NULL; |
843 bool cursed, blessed, is_mm; | 846 bool cursed, blessed, is_mm; |
844 | 847 |
913 /* Put monsters around us to sleep */ | 916 /* Put monsters around us to sleep */ |
914 read_scroll(S_HOLD, 0, FALSE); | 917 read_scroll(S_HOLD, 0, FALSE); |
915 when GERYON_HORN: | 918 when GERYON_HORN: |
916 /* Chase close monsters away */ | 919 /* Chase close monsters away */ |
917 msg("The horn blasts a shrill tone."); | 920 msg("The horn blasts a shrill tone."); |
918 do_panic(NULL); | 921 do_panic(0); |
919 when HEIL_ANKH: | 922 when HEIL_ANKH: |
920 case YENDOR_AMULET: | 923 case YENDOR_AMULET: |
921 case STONEBONES_AMULET: | 924 case STONEBONES_AMULET: |
922 /* Nothing happens by this mode */ | 925 /* Nothing happens by this mode */ |
923 msg("Nothing happens."); | 926 msg("Nothing happens."); |
936 case MM_JUG: | 939 case MM_JUG: |
937 if (obj->o_ac == JUG_EMPTY) { | 940 if (obj->o_ac == JUG_EMPTY) { |
938 msg("The jug is empty"); | 941 msg("The jug is empty"); |
939 break; | 942 break; |
940 } | 943 } |
941 quaff (obj->o_ac, NULL, NULL, FALSE); | 944 quaff (obj->o_ac, 0, 0, FALSE); |
942 obj->o_ac = JUG_EMPTY; | 945 obj->o_ac = JUG_EMPTY; |
943 fuse (alchemy, obj, ALCHEMYTIME, AFTER); | 946 fuse (alchemy, obj, ALCHEMYTIME, AFTER); |
944 if (!(obj->o_flags & ISKNOW)) | 947 if (!(obj->o_flags & ISKNOW)) |
945 whatis(item); | 948 whatis(item); |
946 | 949 |
1006 if (obj->o_charges <= 0) { | 1009 if (obj->o_charges <= 0) { |
1007 msg("The drum is broken!"); | 1010 msg("The drum is broken!"); |
1008 break; | 1011 break; |
1009 } | 1012 } |
1010 obj->o_charges--; | 1013 obj->o_charges--; |
1011 do_panic(NULL); | 1014 do_panic(0); |
1012 /* | 1015 /* |
1013 * dust of disappearance makes the player invisible for a while | 1016 * dust of disappearance makes the player invisible for a while |
1014 */ | 1017 */ |
1015 when MM_DISAPPEAR: | 1018 when MM_DISAPPEAR: |
1016 m_know[MM_DISAPPEAR] = TRUE; | 1019 m_know[MM_DISAPPEAR] = TRUE; |
1122 * Return how long it takes to use an item. For now we only give time | 1125 * Return how long it takes to use an item. For now we only give time |
1123 * for MM, RELIC, SCROLL, and POTION items. | 1126 * for MM, RELIC, SCROLL, and POTION items. |
1124 */ | 1127 */ |
1125 | 1128 |
1126 int | 1129 int |
1127 usage_time(item) | 1130 usage_time(struct linked_list *item) |
1128 struct linked_list *item; | |
1129 { | 1131 { |
1130 register struct object *obj; | 1132 register struct object *obj; |
1131 register int units = -1; | 1133 register int units = -1; |
1132 | 1134 |
1133 obj = OBJPTR(item); | 1135 obj = OBJPTR(item); |