billr@saab.CNA.TEK.COM (Bill Randle) (09/15/90)
Submitted-by: Robert Steven Glickstein <bobg+@andrew.cmu.edu> Posting-number: Volume 11, Issue 51 Archive-name: vcraps2/Patch2 Patch-To: vcraps2: Volume 11, Issue 34-35 [[This patch creates vcraps 2.2 from vcraps 2.1, and crapslib 2.1 from crapslib 2.0. Previously, crapslib allowed only single or double free odds bets. However, it has come to my attention that some casinos offer as much as 10x odds. Thus, crapslib now supports any integer free odds, as does vcraps. In earlier versions of vcraps, double odds was the default, and the "-s" switch selected single odds. The "-s" flag is still present for backward-compatability, but now there is a "-o <num>" switch to allow <num> odds.]] #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: patches02 # Wrapped by billr@saab on Fri Sep 14 14:30:50 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'patches02' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patches02'\" else echo shar: Extracting \"'patches02'\" \(12081 characters\) sed "s/^X//" >'patches02' <<'END_OF_FILE' X*** dist/crapslib.h Thu Sep 6 21:53:50 1990 X--- crapslib.h Thu Sep 6 21:48:49 1990 X*************** X*** 1,5 **** X #define CRAPSLIB_VERSION (2) X! #define CRAPSLIB_PATCHLEVEL (0) X X typedef enum { X craps_PassLine = 0, craps_PassLineOdds, X--- 1,5 ---- X #define CRAPSLIB_VERSION (2) X! #define CRAPSLIB_PATCHLEVEL (1) X X typedef enum { X craps_PassLine = 0, craps_PassLineOdds, X*************** X*** 45,51 **** X int bankroll, point, die1, die2; X int bought4, bought10; /* booleans */ X /* Configuration: */ X! int doublep; X CrapsPayoff_t field2payoff, field12payoff, big6payoff; X CrapsPayoff_t big8payoff, oneroll2payoff, oneroll3payoff; X CrapsPayoff_t oneroll11payoff, oneroll12payoff; X--- 45,51 ---- X int bankroll, point, die1, die2; X int bought4, bought10; /* booleans */ X /* Configuration: */ X! int odds; X CrapsPayoff_t field2payoff, field12payoff, big6payoff; X CrapsPayoff_t big8payoff, oneroll2payoff, oneroll3payoff; X CrapsPayoff_t oneroll11payoff, oneroll12payoff; X*************** X*** 59,65 **** X #define Craps_Die2(t) ((t)->die2) X #define Craps_Bought4(t) ((t)->bought4) X #define Craps_Bought10(t) ((t)->bought10) X! #define Craps_Doublep(t) ((t)->doublep) X #define Craps_Field2Payoff(t) (&((t)->field2payoff)) X #define Craps_Field12Payoff(t) (&((t)->field12payoff)) X #define Craps_Big6Payoff(t) (&((t)->big6payoff)) X--- 59,65 ---- X #define Craps_Die2(t) ((t)->die2) X #define Craps_Bought4(t) ((t)->bought4) X #define Craps_Bought10(t) ((t)->bought10) X! #define Craps_Odds(t) ((t)->odds) X #define Craps_Field2Payoff(t) (&((t)->field2payoff)) X #define Craps_Field12Payoff(t) (&((t)->field12payoff)) X #define Craps_Big6Payoff(t) (&((t)->big6payoff)) X*************** X*** 71,77 **** X #define Craps_GetBet(t,type) ((t)->bets[(int)(type)]) X X #define Craps_SetBankroll(t,b) (((t)->bankroll)=(b)) X! #define Craps_SetDouble(t,d) (((t)->doublep)=(d)) X X #define Craps_IncrBankroll(t,amt) (((t)->bankroll)+=(amt)) X X--- 71,77 ---- X #define Craps_GetBet(t,type) ((t)->bets[(int)(type)]) X X #define Craps_SetBankroll(t,b) (((t)->bankroll)=(b)) X! #define Craps_SetOdds(t,o) (((t)->odds)=(o)) X X #define Craps_IncrBankroll(t,amt) (((t)->bankroll)+=(amt)) X X*** dist/crapslib.c Thu Sep 6 21:53:48 1990 X--- crapslib.c Thu Sep 6 21:48:48 1990 X*************** X*** 224,230 **** X t->die1 = 5; X t->die2 = 6; X t->bought4 = t->bought10 = 0; X! t->doublep = 1; X t->field2payoff.numerator = 2; X t->field2payoff.denominator = 1; X t->field12payoff.numerator = 2; X--- 224,230 ---- X t->die1 = 5; X t->die2 = 6; X t->bought4 = t->bought10 = 0; X! t->odds = 2; X t->field2payoff.numerator = 2; X t->field2payoff.denominator = 1; X t->field12payoff.numerator = 2; X*************** X*** 695,702 **** X else { X Craps_GetPayoff(t, which, &payoff); X orig = t->bets[(int) craps_PassLine]; X! if (t->doublep) X! orig *= 2; X if (orig % payoff.denominator) X max = (orig - (orig % payoff.denominator)) + payoff.denominator; X else X--- 695,701 ---- X else { X Craps_GetPayoff(t, which, &payoff); X orig = t->bets[(int) craps_PassLine]; X! orig *= t->odds; X if (orig % payoff.denominator) X max = (orig - (orig % payoff.denominator)) + payoff.denominator; X else X*************** X*** 722,729 **** X case craps_ComeOdds4: X if (!(max = t->bets[(int) craps_Come4])) X return (crapserr_NoBet); X! if (t->doublep) X! max *= 2; X if (bet > max) { X CrapsErrorDatum = max; X return (crapserr_TooMuch); X--- 721,727 ---- X case craps_ComeOdds4: X if (!(max = t->bets[(int) craps_Come4])) X return (crapserr_NoBet); X! max *= t->odds; X if (bet > max) { X CrapsErrorDatum = max; X return (crapserr_TooMuch); X*************** X*** 733,740 **** X case craps_ComeOdds10: X if (!(max = t->bets[(int) craps_Come10])) X return (crapserr_NoBet); X! if (t->doublep) X! max *= 2; X if (bet > max) { X CrapsErrorDatum = max; X return (crapserr_TooMuch); X--- 731,737 ---- X case craps_ComeOdds10: X if (!(max = t->bets[(int) craps_Come10])) X return (crapserr_NoBet); X! max *= t->odds; X if (bet > max) { X CrapsErrorDatum = max; X return (crapserr_TooMuch); X*************** X*** 744,751 **** X case craps_ComeOdds5: X if (!(max = t->bets[(int) craps_Come5])) X return (crapserr_NoBet); X! if (t->doublep) X! max *= 2; X if (max % 2) X ++max; X if (bet > max) { X--- 741,747 ---- X case craps_ComeOdds5: X if (!(max = t->bets[(int) craps_Come5])) X return (crapserr_NoBet); X! max *= t->odds; X if (max % 2) X ++max; X if (bet > max) { X*************** X*** 761,768 **** X case craps_ComeOdds9: X if (!(max = t->bets[(int) craps_Come9])) X return (crapserr_NoBet); X! if (t->doublep) X! max *= 2; X if (max % 2) X ++max; X if (bet > max) { X--- 757,763 ---- X case craps_ComeOdds9: X if (!(max = t->bets[(int) craps_Come9])) X return (crapserr_NoBet); X! max *= t->odds; X if (max % 2) X ++max; X if (bet > max) { X*************** X*** 778,785 **** X case craps_ComeOdds6: X if (!(orig = t->bets[(int) craps_Come6])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X--- 773,779 ---- X case craps_ComeOdds6: X if (!(orig = t->bets[(int) craps_Come6])) X return (crapserr_NoBet); X! orig *= t->odds; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X*************** X*** 797,804 **** X case craps_ComeOdds8: X if (!(orig = t->bets[(int) craps_Come8])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X--- 791,797 ---- X case craps_ComeOdds8: X if (!(orig = t->bets[(int) craps_Come8])) X return (crapserr_NoBet); X! orig *= t->odds; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X*************** X*** 824,831 **** X return (crapserr_ComeOut); X if (!(orig = t->bets[(int) craps_DontPass])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X Craps_GetPayoff(t, which, &payoff); X if (orig % payoff.numerator) X max = (orig - (orig % payoff.numerator)) + payoff.numerator; X--- 817,823 ---- X return (crapserr_ComeOut); X if (!(orig = t->bets[(int) craps_DontPass])) X return (crapserr_NoBet); X! orig *= t->odds; X Craps_GetPayoff(t, which, &payoff); X if (orig % payoff.numerator) X max = (orig - (orig % payoff.numerator)) + payoff.numerator; X*************** X*** 851,858 **** X case craps_DontComeOdds4: X if (!(orig = t->bets[(int) craps_DontCome4])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X max = orig * 2; X if (bet > max) { X CrapsErrorDatum = max; X--- 843,849 ---- X case craps_DontComeOdds4: X if (!(orig = t->bets[(int) craps_DontCome4])) X return (crapserr_NoBet); X! orig *= t->odds; X max = orig * 2; X if (bet > max) { X CrapsErrorDatum = max; X*************** X*** 867,874 **** X case craps_DontComeOdds10: X if (!(orig = t->bets[(int) craps_DontCome10])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X max = orig * 2; X if (bet > max) { X CrapsErrorDatum = max; X--- 858,864 ---- X case craps_DontComeOdds10: X if (!(orig = t->bets[(int) craps_DontCome10])) X return (crapserr_NoBet); X! orig *= t->odds; X max = orig * 2; X if (bet > max) { X CrapsErrorDatum = max; X*************** X*** 883,890 **** X case craps_DontComeOdds5: X if (!(orig = t->bets[(int) craps_DontCome5])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X max = (orig % 2) ? (orig + 1) : orig; X max /= 2; X max *= 3; X--- 873,879 ---- X case craps_DontComeOdds5: X if (!(orig = t->bets[(int) craps_DontCome5])) X return (crapserr_NoBet); X! orig *= t->odds; X max = (orig % 2) ? (orig + 1) : orig; X max /= 2; X max *= 3; X*************** X*** 901,908 **** X case craps_DontComeOdds9: X if (!(orig = t->bets[(int) craps_DontCome9])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X max = (orig % 2) ? (orig + 1) : orig; X max /= 2; X max *= 3; X--- 890,896 ---- X case craps_DontComeOdds9: X if (!(orig = t->bets[(int) craps_DontCome9])) X return (crapserr_NoBet); X! orig *= t->odds; X max = (orig % 2) ? (orig + 1) : orig; X max /= 2; X max *= 3; X*************** X*** 919,926 **** X case craps_DontComeOdds6: X if (!(orig = t->bets[(int) craps_DontCome6])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X--- 907,913 ---- X case craps_DontComeOdds6: X if (!(orig = t->bets[(int) craps_DontCome6])) X return (crapserr_NoBet); X! orig *= t->odds; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X*************** X*** 940,947 **** X case craps_DontComeOdds8: X if (!(orig = t->bets[(int) craps_DontCome8])) X return (crapserr_NoBet); X! if (t->doublep) X! orig *= 2; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X--- 927,933 ---- X case craps_DontComeOdds8: X if (!(orig = t->bets[(int) craps_DontCome8])) X return (crapserr_NoBet); X! orig *= t->odds; X if (orig % 5) X max = (orig - (orig % 5)) + 5; X else X*** dist/vcraps.c Thu Sep 6 21:54:06 1990 X--- vcraps.c Thu Sep 6 21:52:05 1990 X*************** X*** 3,19 **** X #include <setjmp.h> X X #define VCRAPS_VERSION (2) X! #define VCRAPS_PATCHLEVEL (1) X X #define MSGQUEUELEN (20) X X extern int CrapsErrorDatum; X extern int optind; X! extern char *optarg, *malloc(); X X int MsgQueueLen, MsgQueueLatest; X char *MsgQueue[MSGQUEUELEN]; X X jmp_buf LoopEnv; X X WINDOW *dontplace4win, *dontplace5win, *dontplace6win, *dontplace8win; X--- 3,21 ---- X #include <setjmp.h> X X #define VCRAPS_VERSION (2) X! #define VCRAPS_PATCHLEVEL (2) X X #define MSGQUEUELEN (20) X X extern int CrapsErrorDatum; X extern int optind; X! extern char *optarg, *malloc(), *index(), *rindex(); X X int MsgQueueLen, MsgQueueLatest; X char *MsgQueue[MSGQUEUELEN]; X X+ char *ProgramName; X+ X jmp_buf LoopEnv; X X WINDOW *dontplace4win, *dontplace5win, *dontplace6win, *dontplace8win; X*************** X*** 130,151 **** X char **argv; X { X int c; X X MsgQueueLen = 0; X MsgQueueLatest = -1; X init(); X Craps_SetBankroll(&Table, 1000); X! while ((c = getopt(argc, argv, "b:sx")) != EOF) { X switch (c) { X case 'b': X Craps_SetBankroll(&Table, atoi(optarg)); X break; X case 's': X! Craps_SetDouble(&Table, 0); X break; X default: X deinit(); X! fprintf(stderr, "Usage: vcraps [-b bankroll] [-s]\n"); X exit(1); X } X } X--- 132,160 ---- X char **argv; X { X int c; X+ char *tmp; X X+ ProgramName = (tmp = rindex(argv[0], '/')) ? tmp + 1 : argv[0]; X MsgQueueLen = 0; X MsgQueueLatest = -1; X init(); X Craps_SetBankroll(&Table, 1000); X! Craps_SetOdds(&Table, 2); X! while ((c = getopt(argc, argv, "b:o:sx")) != EOF) { X switch (c) { X case 'b': X Craps_SetBankroll(&Table, atoi(optarg)); X break; X+ case 'o': X+ Craps_SetOdds(&Table, atoi(optarg)); X+ break; X case 's': X! Craps_SetOdds(&Table, 1); X break; X default: X deinit(); X! fprintf(stderr, "Usage: %s [-b bankroll] [-s] [-o odds]\n", X! ProgramName); X exit(1); X } X } X X*** patchlevel.h.orig Fri Sep 14 14:29:14 1990 X--- patchlevel.h Fri Sep 14 14:29:58 1990 X*************** X*** 1 **** X! #define PATCHLEVEL 1 X--- 1 ---- X! #define PATCHLEVEL 2 END_OF_FILE if test 12081 -ne `wc -c <'patches02'`; then echo shar: \"'patches02'\" unpacked with wrong size! fi # end of 'patches02' fi echo shar: End of shell archive. exit 0