Mercurial > hg > early-roguelike
comparison arogue5/pack.c @ 218:56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
This still leaves over a thousand lines of warning messages, mostly
related to the return types of daemons and fuses.
author | John "Elwin" Edwards |
---|---|
date | Sun, 07 Feb 2016 14:39:21 -0500 |
parents | 0ed67132cf10 |
children |
comparison
equal
deleted
inserted
replaced
217:94a0d9dd5ce1 | 218:56e748983fa8 |
---|---|
16 #include <ctype.h> | 16 #include <ctype.h> |
17 #include "rogue.h" | 17 #include "rogue.h" |
18 | 18 |
19 char outstring[512]; /* ridiculously long string for use with msg */ | 19 char outstring[512]; /* ridiculously long string for use with msg */ |
20 | 20 |
21 bool is_type (struct object *obj, int type); | |
22 | |
21 /* | 23 /* |
22 * add_pack: | 24 * add_pack: |
23 * Pick up an object and add it to the pack. If the argument is non-null | 25 * Pick up an object and add it to the pack. If the argument is non-null |
24 * use it as the linked_list pointer instead of gettting it off the ground. | 26 * use it as the linked_list pointer instead of gettting it off the ground. |
25 */ | 27 */ |
26 bool | 28 bool |
27 add_pack(item, silent, packret) | 29 add_pack(struct linked_list *item, bool silent, struct linked_list **packret) |
28 register struct linked_list *item, **packret; | |
29 bool silent; | |
30 { | 30 { |
31 register struct linked_list *ip, *lp = NULL, *ap; | 31 register struct linked_list *ip, *lp = NULL, *ap; |
32 register struct object *obj, *op = NULL; | 32 register struct object *obj, *op = NULL; |
33 register bool exact, from_floor; | 33 register bool exact, from_floor; |
34 | 34 |
303 | 303 |
304 /* | 304 /* |
305 * inventory: | 305 * inventory: |
306 * list what is in the pack | 306 * list what is in the pack |
307 */ | 307 */ |
308 inventory(list, type) | 308 bool |
309 register struct linked_list *list; | 309 inventory(struct linked_list *list, int type) |
310 register int type; | |
311 { | 310 { |
312 register struct object *obj; | 311 register struct object *obj; |
313 register char ch; | 312 register char ch; |
314 register int n_objs; | 313 register int n_objs; |
315 register int cnt; | 314 register int cnt; |
388 | 387 |
389 /* | 388 /* |
390 * pick_up: | 389 * pick_up: |
391 * Add something to characters pack. | 390 * Add something to characters pack. |
392 */ | 391 */ |
393 pick_up(ch) | 392 void |
394 char ch; | 393 pick_up(char ch) |
395 { | 394 { |
396 switch (ch) { | 395 switch (ch) { |
397 default: | 396 default: |
398 debug("Where did you pick that up???"); | 397 debug("Where did you pick that up???"); |
399 case GOLD: | 398 case GOLD: |
414 /* | 413 /* |
415 * picky_inven: | 414 * picky_inven: |
416 * Allow player to inventory a single item | 415 * Allow player to inventory a single item |
417 */ | 416 */ |
418 void | 417 void |
419 picky_inven() | 418 picky_inven(void) |
420 { | 419 { |
421 register struct linked_list *item; | 420 register struct linked_list *item; |
422 register char ch, mch; | 421 register char ch, mch; |
423 | 422 |
424 if (pack == NULL) | 423 if (pack == NULL) |
469 | 468 |
470 | 469 |
471 /* | 470 /* |
472 * get_item: | 471 * get_item: |
473 * pick something out of a pack for a purpose | 472 * pick something out of a pack for a purpose |
473 * purpose: NULL if we should be silent (no prompts) * | |
474 */ | 474 */ |
475 struct linked_list * | 475 struct linked_list * |
476 get_item(list, purpose, type) | 476 get_item(struct linked_list *list, char *purpose, int type) |
477 reg struct linked_list *list; | |
478 char *purpose; /* NULL if we should be silent (no prompts) */ | |
479 int type; | |
480 { | 477 { |
481 reg struct linked_list *item; | 478 reg struct linked_list *item; |
482 reg struct object *obj; | 479 reg struct object *obj; |
483 reg int cnt, ch, och; | 480 reg int cnt, ch, och; |
484 struct linked_list *saveitem = NULL; | 481 struct linked_list *saveitem = NULL; |
608 else | 605 else |
609 msg ("You can't %s that!", purpose); | 606 msg ("You can't %s that!", purpose); |
610 } | 607 } |
611 } | 608 } |
612 | 609 |
613 pack_char(list, obj) | 610 char |
614 register struct object *obj; | 611 pack_char(struct linked_list *list, struct object *obj) |
615 struct linked_list *list; | |
616 { | 612 { |
617 register struct linked_list *item; | 613 register struct linked_list *item; |
618 register char c; | 614 register char c; |
619 | 615 |
620 c = 'a'; | 616 c = 'a'; |
632 | 628 |
633 /* | 629 /* |
634 * cur_null: | 630 * cur_null: |
635 * This updates cur_weapon etc for dropping things | 631 * This updates cur_weapon etc for dropping things |
636 */ | 632 */ |
637 cur_null(op) | 633 void |
638 reg struct object *op; | 634 cur_null(struct object *op) |
639 { | 635 { |
640 if (op == cur_weapon) cur_weapon = NULL; | 636 if (op == cur_weapon) cur_weapon = NULL; |
641 else if (op == cur_armor) cur_armor = NULL; | 637 else if (op == cur_armor) cur_armor = NULL; |
642 else if (op == cur_ring[LEFT_1]) cur_ring[LEFT_1] = NULL; | 638 else if (op == cur_ring[LEFT_1]) cur_ring[LEFT_1] = NULL; |
643 else if (op == cur_ring[LEFT_2]) cur_ring[LEFT_2] = NULL; | 639 else if (op == cur_ring[LEFT_2]) cur_ring[LEFT_2] = NULL; |
657 | 653 |
658 /* | 654 /* |
659 * idenpack: | 655 * idenpack: |
660 * Identify all the items in the pack | 656 * Identify all the items in the pack |
661 */ | 657 */ |
662 idenpack() | 658 void |
659 idenpack(void) | |
663 { | 660 { |
664 reg struct linked_list *pc; | 661 reg struct linked_list *pc; |
665 | 662 |
666 for (pc = pack ; pc != NULL ; pc = next(pc)) | 663 for (pc = pack ; pc != NULL ; pc = next(pc)) |
667 whatis(pc); | 664 whatis(pc); |
668 } | 665 } |
669 | 666 |
670 is_type (obj, type) | 667 bool |
671 register struct object *obj; | 668 is_type (struct object *obj, int type) |
672 register int type; | |
673 { | 669 { |
674 register bool current; | 670 register bool current; |
675 | 671 |
676 if (type == obj->o_type) | 672 if (type == obj->o_type) |
677 return (TRUE); | 673 return (TRUE); |
802 } | 798 } |
803 } | 799 } |
804 return(FALSE); | 800 return(FALSE); |
805 } | 801 } |
806 | 802 |
807 del_pack(item) | 803 void |
808 register struct linked_list *item; | 804 del_pack(struct linked_list *item) |
809 { | 805 { |
810 register struct object *obj; | 806 register struct object *obj; |
811 | 807 |
812 obj = OBJPTR(item); | 808 obj = OBJPTR(item); |
813 if (obj->o_count > 1) { | 809 if (obj->o_count > 1) { |
825 * carry_obj: | 821 * carry_obj: |
826 * Check to see if a monster is carrying something and, if so, give | 822 * Check to see if a monster is carrying something and, if so, give |
827 * it to him. | 823 * it to him. |
828 */ | 824 */ |
829 | 825 |
830 carry_obj(mp, chance) | 826 void |
831 register struct thing *mp; | 827 carry_obj(struct thing *mp, int chance) |
832 int chance; | |
833 { | 828 { |
834 reg struct linked_list *item; | 829 reg struct linked_list *item; |
835 reg struct object *obj; | 830 reg struct object *obj; |
836 | 831 |
837 /* | 832 /* |
849 * the relic will be on top if there is a stack of item lying on the | 844 * the relic will be on top if there is a stack of item lying on the |
850 * floor and so the hero will know where it is if he's trying to | 845 * floor and so the hero will know where it is if he's trying to |
851 * avoid it | 846 * avoid it |
852 */ | 847 */ |
853 if (on(*mp, CARRYDAGGER)) { | 848 if (on(*mp, CARRYDAGGER)) { |
854 item = spec_item(RELIC, MUSTY_DAGGER, NULL, NULL); | 849 item = spec_item(RELIC, MUSTY_DAGGER, 0, 0); |
855 obj = OBJPTR(item); | 850 obj = OBJPTR(item); |
856 obj->o_pos = mp->t_pos; | 851 obj->o_pos = mp->t_pos; |
857 attach(mp->t_pack, item); | 852 attach(mp->t_pack, item); |
858 } | 853 } |
859 | 854 |
860 if (on(*mp, CARRYCLOAK)) { | 855 if (on(*mp, CARRYCLOAK)) { |
861 item = spec_item(RELIC, EMORI_CLOAK, NULL, NULL); | 856 item = spec_item(RELIC, EMORI_CLOAK, 0, 0); |
862 obj = OBJPTR(item); | 857 obj = OBJPTR(item); |
863 obj->o_pos = mp->t_pos; | 858 obj->o_pos = mp->t_pos; |
864 attach(mp->t_pack, item); | 859 attach(mp->t_pack, item); |
865 } | 860 } |
866 | 861 |
867 if (on(*mp, CARRYANKH)) { | 862 if (on(*mp, CARRYANKH)) { |
868 item = spec_item(RELIC, HEIL_ANKH, NULL, NULL); | 863 item = spec_item(RELIC, HEIL_ANKH, 0, 0); |
869 obj = OBJPTR(item); | 864 obj = OBJPTR(item); |
870 obj->o_pos = mp->t_pos; | 865 obj->o_pos = mp->t_pos; |
871 attach(mp->t_pack, item); | 866 attach(mp->t_pack, item); |
872 } | 867 } |
873 | 868 |
874 if (on(*mp, CARRYSTAFF)) { | 869 if (on(*mp, CARRYSTAFF)) { |
875 item = spec_item(RELIC, MING_STAFF, NULL, NULL); | 870 item = spec_item(RELIC, MING_STAFF, 0, 0); |
876 obj = OBJPTR(item); | 871 obj = OBJPTR(item); |
877 obj->o_pos = mp->t_pos; | 872 obj->o_pos = mp->t_pos; |
878 attach(mp->t_pack, item); | 873 attach(mp->t_pack, item); |
879 } | 874 } |
880 | 875 |
881 if (on(*mp, CARRYWAND)) { | 876 if (on(*mp, CARRYWAND)) { |
882 item = spec_item(RELIC, ORCUS_WAND, NULL, NULL); | 877 item = spec_item(RELIC, ORCUS_WAND, 0, 0); |
883 obj = OBJPTR(item); | 878 obj = OBJPTR(item); |
884 obj->o_pos = mp->t_pos; | 879 obj->o_pos = mp->t_pos; |
885 attach(mp->t_pack, item); | 880 attach(mp->t_pack, item); |
886 } | 881 } |
887 | 882 |
888 if (on(*mp, CARRYROD)) { | 883 if (on(*mp, CARRYROD)) { |
889 item = spec_item(RELIC, ASMO_ROD, NULL, NULL); | 884 item = spec_item(RELIC, ASMO_ROD, 0, 0); |
890 obj = OBJPTR(item); | 885 obj = OBJPTR(item); |
891 obj->o_pos = mp->t_pos; | 886 obj->o_pos = mp->t_pos; |
892 attach(mp->t_pack, item); | 887 attach(mp->t_pack, item); |
893 } | 888 } |
894 | 889 |
895 if (on(*mp, CARRYAMULET)) { | 890 if (on(*mp, CARRYAMULET)) { |
896 item = spec_item(RELIC, YENDOR_AMULET, NULL, NULL); | 891 item = spec_item(RELIC, YENDOR_AMULET, 0, 0); |
897 obj = OBJPTR(item); | 892 obj = OBJPTR(item); |
898 obj->o_pos = mp->t_pos; | 893 obj->o_pos = mp->t_pos; |
899 attach(mp->t_pack, item); | 894 attach(mp->t_pack, item); |
900 } | 895 } |
901 | 896 |
902 if (on(*mp, CARRYMANDOLIN)) { | 897 if (on(*mp, CARRYMANDOLIN)) { |
903 item = spec_item(RELIC, BRIAN_MANDOLIN, NULL, NULL); | 898 item = spec_item(RELIC, BRIAN_MANDOLIN, 0, 0); |
904 obj = OBJPTR(item); | 899 obj = OBJPTR(item); |
905 obj->o_pos = mp->t_pos; | 900 obj->o_pos = mp->t_pos; |
906 attach(mp->t_pack, item); | 901 attach(mp->t_pack, item); |
907 } | 902 } |
908 if (on(*mp, CARRYMSTAR)) { | 903 if (on(*mp, CARRYMSTAR)) { |
909 item = spec_item(RELIC, HRUGGEK_MSTAR, NULL, NULL); | 904 item = spec_item(RELIC, HRUGGEK_MSTAR, 0, 0); |
910 obj = OBJPTR(item); | 905 obj = OBJPTR(item); |
911 obj->o_pos = mp->t_pos; | 906 obj->o_pos = mp->t_pos; |
912 attach(mp->t_pack, item); | 907 attach(mp->t_pack, item); |
913 } | 908 } |
914 if (on(*mp, CARRYFLAIL)) { | 909 if (on(*mp, CARRYFLAIL)) { |
915 item = spec_item(RELIC, YEENOGHU_FLAIL, NULL, NULL); | 910 item = spec_item(RELIC, YEENOGHU_FLAIL, 0, 0); |
916 obj = OBJPTR(item); | 911 obj = OBJPTR(item); |
917 obj->o_pos = mp->t_pos; | 912 obj->o_pos = mp->t_pos; |
918 attach(mp->t_pack, item); | 913 attach(mp->t_pack, item); |
919 } | 914 } |
920 if (on(*mp, CARRYHORN)) { | 915 if (on(*mp, CARRYHORN)) { |
921 item = spec_item(RELIC, GERYON_HORN, NULL, NULL); | 916 item = spec_item(RELIC, GERYON_HORN, 0, 0); |
922 obj = OBJPTR(item); | 917 obj = OBJPTR(item); |
923 obj->o_pos = mp->t_pos; | 918 obj->o_pos = mp->t_pos; |
924 attach(mp->t_pack, item); | 919 attach(mp->t_pack, item); |
925 } | 920 } |
926 /* | 921 /* |
927 * If it carries gold, give it some | 922 * If it carries gold, give it some |
928 */ | 923 */ |
929 if (on(*mp, CARRYGOLD) && rnd(100) < chance) { | 924 if (on(*mp, CARRYGOLD) && rnd(100) < chance) { |
930 item = spec_item(GOLD, NULL, NULL, NULL); | 925 item = spec_item(GOLD, 0, 0, 0); |
931 obj = OBJPTR(item); | 926 obj = OBJPTR(item); |
932 obj->o_count = GOLDCALC + GOLDCALC; | 927 obj->o_count = GOLDCALC + GOLDCALC; |
933 obj->o_pos = mp->t_pos; | 928 obj->o_pos = mp->t_pos; |
934 attach(mp->t_pack, item); | 929 attach(mp->t_pack, item); |
935 } | 930 } |
936 | 931 |
937 /* | 932 /* |
938 * If it carries food, give it some | 933 * If it carries food, give it some |
939 */ | 934 */ |
940 if (on(*mp, CARRYFOOD) && rnd(100) < chance) { | 935 if (on(*mp, CARRYFOOD) && rnd(100) < chance) { |
941 item = spec_item(FOOD, NULL, NULL, NULL); | 936 item = spec_item(FOOD, 0, 0, 0); |
942 obj = OBJPTR(item); | 937 obj = OBJPTR(item); |
943 obj->o_weight = things[TYP_FOOD].mi_wght; | 938 obj->o_weight = things[TYP_FOOD].mi_wght; |
944 obj->o_pos = mp->t_pos; | 939 obj->o_pos = mp->t_pos; |
945 attach(mp->t_pack, item); | 940 attach(mp->t_pack, item); |
946 } | 941 } |
1039 * nothing is there, do nothing. If there is one thing, pick it | 1034 * nothing is there, do nothing. If there is one thing, pick it |
1040 * up. If there are multiple things, prompt the player for what | 1035 * up. If there are multiple things, prompt the player for what |
1041 * he wants (* means everything). | 1036 * he wants (* means everything). |
1042 */ | 1037 */ |
1043 | 1038 |
1044 grab(y, x) | 1039 int |
1045 register y, x; | 1040 grab(int y, int x) |
1046 { | 1041 { |
1047 register struct linked_list *next_item, *item; | 1042 register struct linked_list *next_item, *item; |
1048 register struct object *obj; | 1043 register struct object *obj; |
1049 register int cnt; | 1044 register int cnt; |
1050 int num_there = 0, ch, och; | 1045 int num_there = 0, ch, och; |