Mercurial > hg > early-roguelike
comparison rogue4/things.c @ 225:4f6e056438eb
Merge the GCC5 and build fix branches.
| author | John "Elwin" Edwards |
|---|---|
| date | Wed, 02 Mar 2016 21:28:34 -0500 |
| parents | 1b73a8641b37 |
| children | 2dcf10d45d5b |
comparison
equal
deleted
inserted
replaced
| 224:4d0f53998e8a | 225:4f6e056438eb |
|---|---|
| 14 #include <curses.h> | 14 #include <curses.h> |
| 15 #include <ctype.h> | 15 #include <ctype.h> |
| 16 #include <string.h> | 16 #include <string.h> |
| 17 #include "rogue.h" | 17 #include "rogue.h" |
| 18 | 18 |
| 19 int pick_one(struct magic_item *magic, int nitems); | |
| 20 void print_disc(char type); | |
| 21 void set_order(short *order, int numthings); | |
| 22 char *nothing(char type); | |
| 23 | |
| 19 bool got_genocide = FALSE; | 24 bool got_genocide = FALSE; |
| 20 | 25 |
| 21 /* | 26 /* |
| 22 * inv_name: | 27 * inv_name: |
| 23 * Return the name of something as it would appear in an | 28 * Return the name of something as it would appear in an |
| 24 * inventory. | 29 * inventory. |
| 25 */ | 30 */ |
| 26 char * | 31 char * |
| 27 inv_name(obj, drop) | 32 inv_name(THING *obj, bool drop) |
| 28 register THING *obj; | |
| 29 register bool drop; | |
| 30 { | 33 { |
| 31 register char *pb; | 34 register char *pb; |
| 32 | 35 |
| 33 pb = prbuf; | 36 pb = prbuf; |
| 34 switch (obj->o_type) | 37 switch (obj->o_type) |
| 161 | 164 |
| 162 /* | 165 /* |
| 163 * drop: | 166 * drop: |
| 164 * Put something down | 167 * Put something down |
| 165 */ | 168 */ |
| 166 drop() | 169 void |
| 170 drop(void) | |
| 167 { | 171 { |
| 168 register char ch; | 172 register char ch; |
| 169 register THING *nobj, *op; | 173 register THING *nobj, *op; |
| 170 | 174 |
| 171 ch = chat(hero.y, hero.x); | 175 ch = chat(hero.y, hero.x); |
| 209 | 213 |
| 210 /* | 214 /* |
| 211 * dropcheck: | 215 * dropcheck: |
| 212 * Do special checks for dropping or unweilding|unwearing|unringing | 216 * Do special checks for dropping or unweilding|unwearing|unringing |
| 213 */ | 217 */ |
| 214 dropcheck(op) | 218 bool |
| 215 register THING *op; | 219 dropcheck(THING *op) |
| 216 { | 220 { |
| 217 if (op == NULL) | 221 if (op == NULL) |
| 218 return TRUE; | 222 return TRUE; |
| 219 if (op != cur_armor && op != cur_weapon | 223 if (op != cur_armor && op != cur_weapon |
| 220 && op != cur_ring[LEFT] && op != cur_ring[RIGHT]) | 224 && op != cur_ring[LEFT] && op != cur_ring[RIGHT]) |
| 251 /* | 255 /* |
| 252 * new_thing: | 256 * new_thing: |
| 253 * Return a new thing | 257 * Return a new thing |
| 254 */ | 258 */ |
| 255 THING * | 259 THING * |
| 256 new_thing() | 260 new_thing(void) |
| 257 { | 261 { |
| 258 register THING *cur; | 262 register THING *cur; |
| 259 register int j, k; | 263 register int j, k; |
| 260 | 264 |
| 261 cur = new_item(); | 265 cur = new_item(); |
| 359 | 363 |
| 360 /* | 364 /* |
| 361 * pick_one: | 365 * pick_one: |
| 362 * Pick an item out of a list of nitems possible magic items | 366 * Pick an item out of a list of nitems possible magic items |
| 363 */ | 367 */ |
| 364 pick_one(magic, nitems) | 368 int |
| 365 register struct magic_item *magic; | 369 pick_one(struct magic_item *magic, int nitems) |
| 366 int nitems; | |
| 367 { | 370 { |
| 368 register struct magic_item *end; | 371 register struct magic_item *end; |
| 369 register int i; | 372 register int i; |
| 370 register struct magic_item *start; | 373 register struct magic_item *start; |
| 371 | 374 |
| 396 | 399 |
| 397 static bool newpage = FALSE; | 400 static bool newpage = FALSE; |
| 398 | 401 |
| 399 static char *lastfmt, *lastarg; | 402 static char *lastfmt, *lastarg; |
| 400 | 403 |
| 401 discovered() | 404 void |
| 405 discovered(void) | |
| 402 { | 406 { |
| 403 register char ch; | 407 register char ch; |
| 404 register bool disc_list; | 408 register bool disc_list; |
| 405 | 409 |
| 406 do { | 410 do { |
| 454 * Print what we've discovered of type 'type' | 458 * Print what we've discovered of type 'type' |
| 455 */ | 459 */ |
| 456 | 460 |
| 457 #define MAX(a,b,c,d) (a > b ? (a > c ? (a > d ? a : d) : (c > d ? c : d)) : (b > c ? (b > d ? b : d) : (c > d ? c : d))) | 461 #define MAX(a,b,c,d) (a > b ? (a > c ? (a > d ? a : d) : (c > d ? c : d)) : (b > c ? (b > d ? b : d) : (c > d ? c : d))) |
| 458 | 462 |
| 459 print_disc(type) | 463 void |
| 460 char type; | 464 print_disc(char type) |
| 461 { | 465 { |
| 462 register bool *know = NULL; | 466 register bool *know = NULL; |
| 463 register char **guess = NULL; | 467 register char **guess = NULL; |
| 464 register int i, maxnum = 0, num_found; | 468 register int i, maxnum = 0, num_found; |
| 465 static THING obj; | 469 static THING obj; |
| 506 | 510 |
| 507 /* | 511 /* |
| 508 * set_order: | 512 * set_order: |
| 509 * Set up order for list | 513 * Set up order for list |
| 510 */ | 514 */ |
| 511 set_order(order, numthings) | 515 void |
| 512 short *order; | 516 set_order(short *order, int numthings) |
| 513 int numthings; | |
| 514 { | 517 { |
| 515 register int i, r, t; | 518 register int i, r, t; |
| 516 | 519 |
| 517 for (i = 0; i< numthings; i++) | 520 for (i = 0; i< numthings; i++) |
| 518 order[i] = i; | 521 order[i] = i; |
| 589 /* | 592 /* |
| 590 * nothing: | 593 * nothing: |
| 591 * Set up prbuf so that message for "nothing found" is there | 594 * Set up prbuf so that message for "nothing found" is there |
| 592 */ | 595 */ |
| 593 char * | 596 char * |
| 594 nothing(type) | 597 nothing(char type) |
| 595 register char type; | |
| 596 { | 598 { |
| 597 register char *sp, *tystr = NULL; | 599 register char *sp, *tystr = NULL; |
| 598 | 600 |
| 599 if (terse) | 601 if (terse) |
| 600 sprintf(prbuf, "Nothing"); | 602 sprintf(prbuf, "Nothing"); |
