X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/32e97ccd7409faa7c0028480f30414a8aa0d1421..3a8de0fa374d25dd9b8c96c15a8ff130376b2e0a:/larn/store.c diff --git a/larn/store.c b/larn/store.c index c598cd39..2d335380 100644 --- a/larn/store.c +++ b/larn/store.c @@ -1,4 +1,4 @@ -/* $NetBSD: store.c,v 1.11 2008/01/28 03:39:31 dholland Exp $ */ +/* $NetBSD: store.c,v 1.16 2012/06/19 05:30:44 dholland Exp $ */ /*- * Copyright (c) 1988 The Regents of the University of California. @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)store.c 5.4 (Berkeley) 5/13/91"; #else -__RCSID("$NetBSD: store.c,v 1.11 2008/01/28 03:39:31 dholland Exp $"); +__RCSID("$NetBSD: store.c,v 1.16 2012/06/19 05:30:44 dholland Exp $"); #endif #endif /* not lint */ @@ -46,13 +46,17 @@ static void handsfull(void); static void outofstock(void); static void nogold(void); static void dnditem(int); -static void banktitle(char *); +static void banktitle(const char *); +static void obanksub(void); static void otradhead(void); +static void cnsitm(void); static int dndcount = 0, dnditm = 0; +/* number of items in the dnd inventory table */ +#define MAXITM 83 + /* this is the data for the stuff in the dnd store */ -int maxitm = 83; /* number of items in the dnd inventory table */ struct _itm itm[90] = { /* * cost iven name iven arg how gp @@ -187,16 +191,16 @@ struct _itm itm[90] = { /* function for the dnd store */ -void -dnd_2hed() +static void +dnd_2hed(void) { lprcat("Welcome to the Larn Thrift Shoppe. We stock many items explorers find useful\n"); lprcat(" in their adventures. Feel free to browse to your hearts content.\n"); lprcat("Also be advised, if you break 'em, you pay for 'em."); } -void -dnd_hed() +static void +dnd_hed(void) { int i; for (i = dnditm; i < 26 + dnditm; i++) @@ -206,7 +210,7 @@ dnd_hed() } static void -handsfull() +handsfull(void) { lprcat("\nYou can't carry anything more!"); lflush(); @@ -214,7 +218,7 @@ handsfull() } static void -outofstock() +outofstock(void) { lprcat("\nSorry, but we are out of that item."); lflush(); @@ -222,7 +226,7 @@ outofstock() } static void -nogold() +nogold(void) { lprcat("\nYou don't have enough gold to pay for that!"); lflush(); @@ -230,7 +234,7 @@ nogold() } void -dndstore() +dndstore(void) { int i; dnditm = 0; @@ -249,7 +253,7 @@ dndstore() lflush(); i = 0; while (i != '\33') - i = lgetchar(); + i = ttgetch(); drawscreen(); nosignal = 0; /* enable signals */ return; @@ -267,7 +271,7 @@ dndstore() lprcat(" to leave]? "); i = 0; while ((i < 'a' || i > 'z') && (i != ' ') && (i != '\33') && (i != 12)) - i = lgetchar(); + i = ttgetch(); if (i == 12) { clear(); dnd_2hed(); @@ -278,13 +282,13 @@ dndstore() return; } else if (i == ' ') { cl_dn(1, 4); - if ((dnditm += 26) >= maxitm) + if ((dnditm += 26) >= MAXITM) dnditm = 0; dnd_hed(); } else { /* buy something */ lprc(i);/* echo the byte */ i += dnditm - 'a'; - if (i >= maxitm) + if (i >= MAXITM) outofstock(); else if (itm[i].qty <= 0) outofstock(); @@ -316,11 +320,10 @@ dndstore() to print the item list; used in dndstore() enter with the index into itm */ static void -dnditem(i) - int i; +dnditem(int i) { int j, k; - if (i >= maxitm) + if (i >= MAXITM) return; cursor((j = (i & 1) * 40 + 1), (k = ((i % 26) >> 1) + 5)); if (itm[i].qty == 0) { @@ -344,12 +347,12 @@ dnditem(i) for the college of larn */ u_char course[26] = {0}; /* the list of courses taken */ -char coursetime[] = {10, 15, 10, 20, 10, 10, 10, 5}; +static char coursetime[] = {10, 15, 10, 20, 10, 10, 10, 5}; /* function to display the header info for the school */ -void -sch_hed() +static void +sch_hed(void) { clear(); lprcat("The College of Larn offers the exciting opportunity of higher education to\n"); @@ -386,7 +389,7 @@ sch_hed() } void -oschool() +oschool(void) { int i; long time_used; @@ -402,7 +405,7 @@ oschool() yrepcount = 0; i = 0; while ((i < 'a' || i > 'h') && (i != '\33') && (i != 12)) - i = lgetchar(); + i = ttgetch(); if (i == 12) { sch_hed(); continue; @@ -511,18 +514,18 @@ oschool() int lasttime = 0; /* last time he was in bank */ void -obank() +obank(void) { banktitle(" Welcome to the First National Bank of Larn."); } void -obank2() +obank2(void) { banktitle("Welcome to the 5th level branch office of the First National Bank of Larn."); } + static void -banktitle(str) - char *str; +banktitle(const char *str) { nosignal = 1; /* disable signals */ clear(); @@ -541,7 +544,7 @@ banktitle(str) lflush(); i = 0; while (i != '\33') - i = lgetchar(); + i = ttgetch(); drawscreen(); nosignal = 0; /* enable signals */ return; @@ -556,7 +559,7 @@ banktitle(str) * function to put interest on your bank account */ void -ointerest() +ointerest(void) { int i; if (c[BANKACCOUNT] < 0) @@ -575,9 +578,9 @@ static short gemorder[26] = {0}; /* the reference to screen location * for each */ static long gemvalue[26] = {0}; /* the appraisal of the gems */ void -obanksub() +obanksub(void) { - unsigned long amt; + long amt; int i, k; ointerest(); /* credit any needed interest */ @@ -622,7 +625,7 @@ obanksub() yrepcount = 0; i = 0; while (i != 'd' && i != 'w' && i != 's' && i != '\33') - i = lgetchar(); + i = ttgetch(); switch (i) { case 'd': lprcat("deposit\nHow much? "); @@ -660,7 +663,7 @@ obanksub() lprcat("\nWhich stone would you like to sell? "); i = 0; while ((i < 'a' || i > 'z') && i != '*') - i = lgetchar(); + i = ttgetch(); if (i == '*') for (i = 0; i < 26; i++) { if (gemvalue[i]) { @@ -697,12 +700,12 @@ obanksub() } } +#if 0 /* XXX: apparently unused */ /* subroutine to appraise any stone for the bank */ -void -appraise(gemstone) - int gemstone; +static void +appraise(int gemstone) { int j, amt; for (j = 0; j < 26; j++) @@ -736,11 +739,13 @@ appraise(gemstone) lprcat("no\nO. K.\n"); } } +#endif /* 0 - unused */ + /* function for the trading post */ static void -otradhead() +otradhead(void) { clear(); lprcat("Welcome to the Larn Trading Post. We buy items that explorers no longer find\n"); @@ -751,7 +756,7 @@ otradhead() } void -otradepost() +otradepost(void) { int i, j, value, isub, izarg; dnditm = dndcount = 0; @@ -766,7 +771,7 @@ otradepost() lprcat("] ? "); i = 0; while (i > 'z' || (i < 'a' && i != '*' && i != '\33' && i != '.')) - i = lgetchar(); + i = ttgetch(); if (i == '\33') { setscroll(); recalc(); @@ -794,7 +799,7 @@ otradepost() } else if (iven[isub] == 0) lprintf("\nYou don't have item %c!", isub + 'a'); else { - for (j = 0; j < maxitm; j++) + for (j = 0; j < MAXITM; j++) if ((itm[j].obj == iven[isub]) || (iven[isub] == ODIAMOND) || (iven[isub] == ORUBY) || (iven[isub] == OEMERALD) || (iven[isub] == OSAPPHIRE)) { srcount = 0; show3(isub); /* show what the item @@ -827,18 +832,18 @@ otradepost() iven[isub] = 0; } else lprcat("no thanks.\n"); - j = maxitm + 100; /* get out of the inner + j = MAXITM + 100; /* get out of the inner * loop */ } - if (j <= maxitm + 2) + if (j <= MAXITM + 2) lprcat("\nSo sorry, but we are not authorized to accept that item."); } } } } -void -cnsitm() +static void +cnsitm(void) { lprcat("\nSorry, we can't accept unidentified objects."); } @@ -847,10 +852,10 @@ cnsitm() * for the Larn Revenue Service */ void -olrs() +olrs(void) { int i, first; - unsigned long amt; + long amt; first = nosignal = 1; /* disable signals */ clear(); resetscroll(); @@ -870,7 +875,7 @@ olrs() yrepcount = 0; i = 0; while (i != 'p' && i != '\33') - i = lgetchar(); + i = ttgetch(); switch (i) { case 'p': lprcat("pay taxes\nHow much? "); @@ -881,7 +886,7 @@ olrs() } else if (amt > c[GOLD]) lprcat(" You don't have that much.\n"); else - c[GOLD] -= paytaxes((long) amt); + c[GOLD] -= paytaxes(amt); break; case '\33':