Address comments

This commit is contained in:
hondew
2022-02-20 15:32:32 -05:00
parent a578fa5e2b
commit 26e87eed0a

View File

@@ -65,6 +65,14 @@
#define BIAS_SPECIAL (BIAS_7 | BIAS_REELTIME) #define BIAS_SPECIAL (BIAS_7 | BIAS_REELTIME)
#define BIAS_REGULAR (BIAS_REPLAY | BIAS_CHERRY | BIAS_LOATAD | BIAS_AZURILL | BIAS_POWER) #define BIAS_REGULAR (BIAS_REPLAY | BIAS_CHERRY | BIAS_LOATAD | BIAS_AZURILL | BIAS_POWER)
// The slot machine will try to manipulate the outcome by adding up to 4 extra
// turns to the reel after you press stop.
//
// The only exception is when it is stopping the third reel and it has decided
// you will lose. In this case, it adds as many turns as necessary to prevent a
// match.
#define MAX_EXTRA_TURNS 4
enum { enum {
GFXTAG_7_RED, GFXTAG_7_RED,
GFXTAG_7_BLUE, GFXTAG_7_BLUE,
@@ -122,12 +130,12 @@ enum {
}; };
enum { enum {
ROW_MIDDLE, MATCH_MIDDLE_ROW,
ROW_TOP, MATCH_TOP_ROW,
ROW_BOTTOM, MATCH_BOTTOM_ROW,
ROW_DIAG_NWSE, MATCH_NWSE_DIAG,
ROW_DIAG_NESW, MATCH_NESW_DIAG,
NUM_MATCH_ROWS, NUM_MATCH_LINES,
}; };
enum { enum {
@@ -374,7 +382,7 @@ struct SlotMachine
/*0x41*/ u8 reelTimeExplosionSpriteId; /*0x41*/ u8 reelTimeExplosionSpriteId;
/*0x42*/ u8 reelTimeBrokenMachineSpriteId; /*0x42*/ u8 reelTimeBrokenMachineSpriteId;
/*0x43*/ u8 reelTimeSmokeSpriteId; /*0x43*/ u8 reelTimeSmokeSpriteId;
/*0x44*/ u8 flashMatchLineSpriteIds[NUM_MATCH_ROWS]; /*0x44*/ u8 flashMatchLineSpriteIds[NUM_MATCH_LINES];
/*0x49*/ u8 reelTimeMachineSpriteIds[2]; /*0x49*/ u8 reelTimeMachineSpriteIds[2];
/*0x49*/ u8 reelTimeNumberSpriteIds[3]; /*0x49*/ u8 reelTimeNumberSpriteIds[3];
/*0x4E*/ u8 reelTimeShadowSpriteIds[2]; /*0x4E*/ u8 reelTimeShadowSpriteIds[2];
@@ -694,9 +702,9 @@ static const u8 sReelTimeProbabilities_LuckyGame[][17];
static const u8 sTagToMatch[]; static const u8 sTagToMatch[];
static const u8 sReelTimeTags[]; static const u8 sReelTimeTags[];
static const u8 sReelTileTags[NUM_REELS][TAGS_PER_REEL]; static const u8 sReelTileTags[NUM_REELS][TAGS_PER_REEL];
static const u16 *const sLitMatchLinePalTable[NUM_MATCH_ROWS]; static const u16 *const sLitMatchLinePalTable[NUM_MATCH_LINES];
static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_ROWS]; static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_LINES];
static const u8 sMatchLinePalOffsets[NUM_MATCH_ROWS]; static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES];
static const u8 sBetToMatchLineIds[MAX_BET][2]; static const u8 sBetToMatchLineIds[MAX_BET][2];
static const u8 sMatchLinesPerBet[MAX_BET]; static const u8 sMatchLinesPerBet[MAX_BET];
static const u16 *const sFlashingLightsPalTable[]; static const u16 *const sFlashingLightsPalTable[];
@@ -1985,7 +1993,7 @@ static void CheckMatch_CenterRow(void)
{ {
sSlotMachine->payout += sSlotPayouts[match]; sSlotMachine->payout += sSlotPayouts[match];
sSlotMachine->matches |= sSlotMatchFlags[match]; sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(ROW_MIDDLE); FlashMatchLine(MATCH_MIDDLE_ROW);
} }
} }
@@ -2003,7 +2011,7 @@ static void CheckMatch_TopAndBottom(void)
match = MATCH_TOPBOT_CHERRY; match = MATCH_TOPBOT_CHERRY;
sSlotMachine->payout += sSlotPayouts[match]; sSlotMachine->payout += sSlotPayouts[match];
sSlotMachine->matches |= sSlotMatchFlags[match]; sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(ROW_TOP); FlashMatchLine(MATCH_TOP_ROW);
} }
tag1 = GetTagAtRest(LEFT_REEL, 3); tag1 = GetTagAtRest(LEFT_REEL, 3);
tag2 = GetTagAtRest(MIDDLE_REEL, 3); tag2 = GetTagAtRest(MIDDLE_REEL, 3);
@@ -2015,7 +2023,7 @@ static void CheckMatch_TopAndBottom(void)
match = MATCH_TOPBOT_CHERRY; match = MATCH_TOPBOT_CHERRY;
sSlotMachine->payout += sSlotPayouts[match]; sSlotMachine->payout += sSlotPayouts[match];
sSlotMachine->matches |= sSlotMatchFlags[match]; sSlotMachine->matches |= sSlotMatchFlags[match];
FlashMatchLine(ROW_BOTTOM); FlashMatchLine(MATCH_BOTTOM_ROW);
} }
} }
@@ -2036,7 +2044,7 @@ static void CheckMatch_Diagonals(void)
sSlotMachine->payout += sSlotPayouts[match]; sSlotMachine->payout += sSlotPayouts[match];
sSlotMachine->matches |= sSlotMatchFlags[match]; sSlotMachine->matches |= sSlotMatchFlags[match];
} }
FlashMatchLine(ROW_DIAG_NWSE); FlashMatchLine(MATCH_NWSE_DIAG);
} }
tag1 = GetTagAtRest(LEFT_REEL, 3); tag1 = GetTagAtRest(LEFT_REEL, 3);
tag2 = GetTagAtRest(MIDDLE_REEL, 2); tag2 = GetTagAtRest(MIDDLE_REEL, 2);
@@ -2051,7 +2059,7 @@ static void CheckMatch_Diagonals(void)
sSlotMachine->payout += sSlotPayouts[match]; sSlotMachine->payout += sSlotPayouts[match];
sSlotMachine->matches |= sSlotMatchFlags[match]; sSlotMachine->matches |= sSlotMatchFlags[match];
} }
FlashMatchLine(ROW_DIAG_NESW); FlashMatchLine(MATCH_NESW_DIAG);
} }
} }
@@ -2382,9 +2390,9 @@ static bool8 EitherTagAtPos_Reel1(s16 pos, u8 tag1, u8 tag2)
// of turns. // of turns.
static bool8 AreCherriesOnScreen_Reel1(s16 turns) static bool8 AreCherriesOnScreen_Reel1(s16 turns)
{ {
if (GetTag(LEFT_REEL, 1 - turns) == GFXTAG_CHERRY || if (GetTag(LEFT_REEL, 1 - turns) == GFXTAG_CHERRY
GetTag(LEFT_REEL, 2 - turns) == GFXTAG_CHERRY || || GetTag(LEFT_REEL, 2 - turns) == GFXTAG_CHERRY
GetTag(LEFT_REEL, 3 - turns) == GFXTAG_CHERRY) || GetTag(LEFT_REEL, 3 - turns) == GFXTAG_CHERRY)
return TRUE; return TRUE;
else else
return FALSE; return FALSE;
@@ -2404,7 +2412,7 @@ static bool8 DecideStop_Bias_Reel1_Bet1(u8 tag1, u8 tag2)
{ {
s16 i; s16 i;
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (EitherTagAtPos_Reel1(2 - i, tag1, tag2)) if (EitherTagAtPos_Reel1(2 - i, tag1, tag2))
{ {
@@ -2458,7 +2466,7 @@ static bool8 DecideStop_Bias_Reel1_Bet2or3(u8 tag1, u8 tag2)
} }
// Check the next 4 turns // Check the next 4 turns
for (i = 1; i <= 4; i++) for (i = 1; i <= MAX_EXTRA_TURNS; i++)
{ {
bool8 cherry7BiasCopy = cherry7Bias; // redundant bool8 cherry7BiasCopy = cherry7Bias; // redundant
if (cherry7BiasCopy || !AreCherriesOnScreen_Reel1(i)) if (cherry7BiasCopy || !AreCherriesOnScreen_Reel1(i))
@@ -2498,7 +2506,7 @@ static bool8 DecideStop_Bias_Reel2_Bet1or2(void)
s16 i; s16 i;
s16 reel1BiasRow = sSlotMachine->winnerRows[0]; s16 reel1BiasRow = sSlotMachine->winnerRows[0];
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (GetTag(MIDDLE_REEL, reel1BiasRow - i) == sSlotMachine->biasTag) if (GetTag(MIDDLE_REEL, reel1BiasRow - i) == sSlotMachine->biasTag)
{ {
@@ -2554,7 +2562,7 @@ static bool8 DecideStop_Bias_Reel2_Bet3(void)
{ {
// Try turning this into a diagonal match by lining up the bias tag // Try turning this into a diagonal match by lining up the bias tag
// in the middle row of reel 2 within 4 turns. // in the middle row of reel 2 within 4 turns.
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag) if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag)
{ {
@@ -2573,7 +2581,7 @@ static bool8 DecideStop_Bias_Reel2_Bet3(void)
{ {
// Try to match the bias tag in middle row of reel 2 within 4 turns. // Try to match the bias tag in middle row of reel 2 within 4 turns.
// Adds coverage for the two cases mentioned above. // Adds coverage for the two cases mentioned above.
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag) if (GetTag(MIDDLE_REEL, 2 - i) == sSlotMachine->biasTag)
{ {
@@ -2609,7 +2617,7 @@ static bool8 DecideStop_Bias_Reel3_Bet1or2(u8 biasTag)
s16 i; s16 i;
s16 reel2BiasRow = sSlotMachine->winnerRows[1]; s16 reel2BiasRow = sSlotMachine->winnerRows[1];
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (GetTag(RIGHT_REEL, reel2BiasRow - i) == biasTag) if (GetTag(RIGHT_REEL, reel2BiasRow - i) == biasTag)
{ {
@@ -2638,7 +2646,7 @@ static bool8 DecideStop_Bias_Reel3_Bet3(u8 biasTag)
biasRow = 3; biasRow = 3;
else else
biasRow = 1; biasRow = 1;
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (GetTag(RIGHT_REEL, biasRow - i) == biasTag) if (GetTag(RIGHT_REEL, biasRow - i) == biasTag)
{ {
@@ -2665,16 +2673,16 @@ static void DecideStop_NoBias_Reel1(void)
// If the bias tag is one of the 7's, switch to the opposite color and return // If the bias tag is one of the 7's, switch to the opposite color and return
// true. Otherwise, return false. // true. Otherwise, return false.
static bool8 IfTag7_SwitchColor(u8 *tagPtr) static bool8 IfTag7_SwitchColor(u8 *tag)
{ {
if (*tagPtr == GFXTAG_7_RED) if (*tag == GFXTAG_7_RED)
{ {
*tagPtr = GFXTAG_7_BLUE; *tag = GFXTAG_7_BLUE;
return TRUE; return TRUE;
} }
if (*tagPtr == GFXTAG_7_BLUE) if (*tag == GFXTAG_7_BLUE)
{ {
*tagPtr = GFXTAG_7_RED; *tag = GFXTAG_7_RED;
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
@@ -2714,7 +2722,7 @@ static void DecideStop_NoBias_Reel2_Bet1(void)
if (IfTag7_SwitchColor(&reel1MiddleTag)) if (IfTag7_SwitchColor(&reel1MiddleTag))
{ {
s16 i; s16 i;
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (reel1MiddleTag == GetTag(MIDDLE_REEL, 2 - i)) if (reel1MiddleTag == GetTag(MIDDLE_REEL, 2 - i))
{ {
@@ -2745,7 +2753,7 @@ static void DecideStop_NoBias_Reel2_Bet2(void)
if (IfTag7_SwitchColor(&reel1BiasTag)) if (IfTag7_SwitchColor(&reel1BiasTag))
{ {
s16 i; s16 i;
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (reel1BiasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - i)) if (reel1BiasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - i))
{ {
@@ -2835,7 +2843,7 @@ static void DecideStop_NoBias_Reel2_Bet3(void)
// Check if opposite-color 7 will appear in same row as reel 1 in // Check if opposite-color 7 will appear in same row as reel 1 in
// over the next 4 turns // over the next 4 turns
for (j = 1; j <= 4; j++) for (j = 1; j <= MAX_EXTRA_TURNS; j++)
{ {
if (reel1BiasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - j)) if (reel1BiasTag == GetTag(MIDDLE_REEL, sSlotMachine->winnerRows[0] - j))
{ {
@@ -2904,11 +2912,11 @@ static bool8 MismatchedTags_777(u8 tag1, u8 tag2, u8 tag3)
// Note, this does not account for cherry matches. // Note, this does not account for cherry matches.
static bool8 NeitherMatchNor7Mismatch(u8 tag1, u8 tag2, u8 tag3) static bool8 NeitherMatchNor7Mismatch(u8 tag1, u8 tag2, u8 tag3)
{ {
if ((tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED) || if ((tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED)
(tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) || || (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE)
(tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) || || (tag1 == GFXTAG_7_RED && tag2 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE)
(tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED) || || (tag1 == GFXTAG_7_BLUE && tag2 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED)
(tag1 == tag2 && tag1 == tag3)) || (tag1 == tag2 && tag1 == tag3))
{ {
return FALSE; return FALSE;
} }
@@ -2948,9 +2956,9 @@ static void DecideStop_NoBias_Reel3_Bet1(void)
while (TRUE) while (TRUE)
{ {
u8 tag3; u8 tag3;
if (!((tag1 == (tag3 = GetTag(RIGHT_REEL, 2 - i))) || if (!((tag1 == (tag3 = GetTag(RIGHT_REEL, 2 - i)))
(tag1 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE) || || (tag1 == GFXTAG_7_RED && tag3 == GFXTAG_7_BLUE)
(tag1 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED))) || (tag1 == GFXTAG_7_BLUE && tag3 == GFXTAG_7_RED)))
break; break;
i++; i++;
} }
@@ -2962,7 +2970,7 @@ static void DecideStop_NoBias_Reel3_Bet1(void)
// turns // turns
if (sSlotMachine->machineBias & BIAS_STRAIGHT_7) if (sSlotMachine->machineBias & BIAS_STRAIGHT_7)
{ {
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
if (tag1 == GetTag(RIGHT_REEL, 2 - i)) if (tag1 == GetTag(RIGHT_REEL, 2 - i))
{ {
@@ -3023,7 +3031,7 @@ static void DecideStop_NoBias_Reel3_Bet2(void)
if (MismatchedTags_77(tag1, tag2)) if (MismatchedTags_77(tag1, tag2))
{ {
// Iterate over the next 4 turns // Iterate over the next 4 turns
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
tag3 = GetTag(RIGHT_REEL, sSlotMachine->winnerRows[1] - i); tag3 = GetTag(RIGHT_REEL, sSlotMachine->winnerRows[1] - i);
if (tag1 == tag3) if (tag1 == tag3)
@@ -3124,7 +3132,7 @@ static void DecideStop_NoBias_Reel3_Bet3(void)
row = 1; row = 1;
if (sSlotMachine->winnerRows[0] == 1) if (sSlotMachine->winnerRows[0] == 1)
row = 3; row = 3;
for (i = 0; i <= 4; i++) for (i = 0; i <= MAX_EXTRA_TURNS; i++)
{ {
tag3 = GetTag(RIGHT_REEL, row - (sSlotMachine->reelExtraTurns[2] + i)); tag3 = GetTag(RIGHT_REEL, row - (sSlotMachine->reelExtraTurns[2] + i));
if (tag1 == tag3) if (tag1 == tag3)
@@ -3142,8 +3150,8 @@ static void DecideStop_NoBias_Reel3_Bet3(void)
tag1 = GetTag(LEFT_REEL, 1 - sSlotMachine->reelExtraTurns[0]); tag1 = GetTag(LEFT_REEL, 1 - sSlotMachine->reelExtraTurns[0]);
tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]); tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
tag3 = GetTag(RIGHT_REEL, 3 - sSlotMachine->reelExtraTurns[2]); tag3 = GetTag(RIGHT_REEL, 3 - sSlotMachine->reelExtraTurns[2]);
if (NeitherMatchNor7Mismatch(tag1, tag2, tag3) || if (NeitherMatchNor7Mismatch(tag1, tag2, tag3)
(MismatchedTags_777(tag1, tag2, tag3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7)) || (MismatchedTags_777(tag1, tag2, tag3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7))
break; break;
sSlotMachine->reelExtraTurns[2]++; sSlotMachine->reelExtraTurns[2]++;
} }
@@ -3154,8 +3162,8 @@ static void DecideStop_NoBias_Reel3_Bet3(void)
tag1 = GetTag(LEFT_REEL, 3 - sSlotMachine->reelExtraTurns[0]); tag1 = GetTag(LEFT_REEL, 3 - sSlotMachine->reelExtraTurns[0]);
tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]); tag2 = GetTag(MIDDLE_REEL, 2 - sSlotMachine->reelExtraTurns[1]);
tag3 = GetTag(RIGHT_REEL, 1 - sSlotMachine->reelExtraTurns[2]); tag3 = GetTag(RIGHT_REEL, 1 - sSlotMachine->reelExtraTurns[2]);
if (NeitherMatchNor7Mismatch(tag1, tag2, tag3) || if (NeitherMatchNor7Mismatch(tag1, tag2, tag3)
(MismatchedTags_777(tag1, tag2, tag3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7)) || (MismatchedTags_777(tag1, tag2, tag3) && sSlotMachine->machineBias & BIAS_STRAIGHT_7))
break; break;
sSlotMachine->reelExtraTurns[2]++; sSlotMachine->reelExtraTurns[2]++;
} }
@@ -7697,37 +7705,37 @@ static const u16 sTopRowLit_Pal[] = {RGB(31, 29, 16)};
static const u16 sBottomRowt_Pal[] = {RGB(31, 29, 16)}; static const u16 sBottomRowt_Pal[] = {RGB(31, 29, 16)};
static const u16 sNWSEDiagLit_Pal[] = {RGB(31, 21, 18)}; static const u16 sNWSEDiagLit_Pal[] = {RGB(31, 21, 18)};
static const u16 sNESWDiagLit_Pal[] = {RGB(31, 21, 18)}; static const u16 sNESWDiagLit_Pal[] = {RGB(31, 21, 18)};
static const u16 *const sLitMatchLinePalTable[NUM_MATCH_ROWS] = static const u16 *const sLitMatchLinePalTable[NUM_MATCH_LINES] =
{ {
[ROW_MIDDLE] = sMiddleRowLit_Pal, [MATCH_MIDDLE_ROW] = sMiddleRowLit_Pal,
[ROW_TOP] = sTopRowLit_Pal, [MATCH_TOP_ROW] = sTopRowLit_Pal,
[ROW_BOTTOM] = sBottomRowt_Pal, [MATCH_BOTTOM_ROW] = sBottomRowt_Pal,
[ROW_DIAG_NWSE] = sNWSEDiagLit_Pal, [MATCH_NWSE_DIAG] = sNWSEDiagLit_Pal,
[ROW_DIAG_NESW] = sNESWDiagLit_Pal, [MATCH_NESW_DIAG] = sNESWDiagLit_Pal,
}; };
static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_ROWS] = static const u16 *const sDarkMatchLinePalTable[NUM_MATCH_LINES] =
{ {
[ROW_MIDDLE] = &gSlotMachineMenu_Pal[74], [MATCH_MIDDLE_ROW] = &gSlotMachineMenu_Pal[74],
[ROW_TOP] = &gSlotMachineMenu_Pal[75], [MATCH_TOP_ROW] = &gSlotMachineMenu_Pal[75],
[ROW_BOTTOM] = &gSlotMachineMenu_Pal[76], [MATCH_BOTTOM_ROW] = &gSlotMachineMenu_Pal[76],
[ROW_DIAG_NWSE] = &gSlotMachineMenu_Pal[77], [MATCH_NWSE_DIAG] = &gSlotMachineMenu_Pal[77],
[ROW_DIAG_NESW] = &gSlotMachineMenu_Pal[78], [MATCH_NESW_DIAG] = &gSlotMachineMenu_Pal[78],
}; };
static const u8 sMatchLinePalOffsets[NUM_MATCH_ROWS] = { static const u8 sMatchLinePalOffsets[NUM_MATCH_LINES] = {
[ROW_MIDDLE] = 74, [MATCH_MIDDLE_ROW] = 74,
[ROW_TOP] = 75, [MATCH_TOP_ROW] = 75,
[ROW_BOTTOM] = 76, [MATCH_BOTTOM_ROW] = 76,
[ROW_DIAG_NWSE] = 78, // Diag colors flipped for some reason [MATCH_NWSE_DIAG] = 78, // Diag colors flipped for some reason
[ROW_DIAG_NESW] = 77 // Doesn't matter as both are identical [MATCH_NESW_DIAG] = 77 // Doesn't matter as both are identical
}; };
static const u8 sBetToMatchLineIds[MAX_BET][2] = static const u8 sBetToMatchLineIds[MAX_BET][2] =
{ {
{ROW_MIDDLE, ROW_MIDDLE}, // Bet 1 {MATCH_MIDDLE_ROW, MATCH_MIDDLE_ROW}, // Bet 1
{ROW_TOP, ROW_BOTTOM}, // Bet 2 {MATCH_TOP_ROW, MATCH_BOTTOM_ROW}, // Bet 2
{ROW_DIAG_NWSE, ROW_DIAG_NESW}, // Bet 3 {MATCH_NWSE_DIAG, MATCH_NESW_DIAG}, // Bet 3
}; };
static const u8 sMatchLinesPerBet[MAX_BET] = { 1, 2, 2 }; static const u8 sMatchLinesPerBet[MAX_BET] = { 1, 2, 2 };