Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
card_choice.c File Reference

CARDGAME's card choices: a card of a hand, of a pile, a previous card or the target slots, by the player or the computer. More...

Include dependency graph for card_choice.c:

Go to the source code of this file.

Functions

void CARDGAME_setupCardChoice (CardBattle *battle, CardScreen *screen, s32 side, s32 kind)
 Sets up CARDGAME_chooseCard's choice of one of a side's cards: kind 0 among its hand, 1 and 2 among its deck, 3 among its discards.
 
void CARDGAME_setupSideChoice (CardBattle *battle, CardScreen *screen, s32 side)
 CARDGAME_setupCardChoice of side, kind 0.
 
void CARDGAME_moveHandHighlight (CardBattle *battle, CardScreen *screen, s32 delta)
 Moves the highlight along the hand by delta, raising the highlighted card.
 
void CARDGAME_browseHand (CardBattle *battle, CardScreen *screen)
 Moves the highlight along the hand with left and right; cross picks a playable card.
 
static void showPlayedCard (CardBattle *battle, CardScreen *screen)
 Shows the card being played (sprite 15) scaling in on the slot row.
 
static void takePickedCard (CardBattle *battle)
 Takes the picked card (effectStep.choice): one of the player's deck is swapped to its top and the rest shuffled, one of the opponent's draws gives its order.
 
s32 CARDGAME_chooseCard (CardBattle *battle, CardScreen *screen, s32 mode)
 Lets a player pick a card of a row (set up by CARDGAME_setupCardChoice): 2 once one is picked, 1 if the player backed out with triangle (mode 1), else 0.
 
s32 CARDGAME_pickComputerCards (CardBattle *battle, CardScreen *screen)
 The computer marks (effectStep.marked) the cards of its hand it plays: up to six that can be played, but not its kind 5 ones, paying their points; 1.
 
void CARDGAME_pickBestPileCard (CardBattle *battle, CardScreen *screen, s32 lowest)
 Sets effectStep.choice to the effectStep.eligible-marked card of the pile effectStep.vars[4] picks with the highest CardImage.rank, the weakest (the strongest when lowest != 0), or -1.
 
void CARDGAME_pickComputerDeckCard (CardBattle *battle, CardScreen *screen)
 The computer's pick from its deck: the first card flagged (effectStep.eligible) from its top up to drawEnd, or else the last one flagged.
 
void CARDGAME_pickLowestPlayerCard (CardBattle *battle, CardScreen *screen)
 Picks the player's card with the lowest CardImage.rank, the strongest.
 
void CARDGAME_startPileChoice (CardBattle *battle, CardScreen *screen, s32 flags)
 Shows the card being played as sprite 15 and the panels with flags, and starts CARDGAME_stepPileChoice's choice.
 
s32 CARDGAME_stepPileChoice (CardBattle *battle, CardScreen *screen)
 The steps of CARDGAME_startPileChoice: confirming is allowed when the pile the panel flags (effectStep.vars[4]) pick has cards; 1 then, 0 on leaving with triangle, -1 until then.
 
void CARDGAME_startPreviousCardChoice (CardBattle *battle, CardScreen *screen, s32 mode)
 Shows the last card played as sprite 15; with mode 0, or mode 1 and a colour 6 card before it, the card before it can be picked too.
 
s32 CARDGAME_stepPreviousCardChoice (CardBattle *battle, CardScreen *screen)
 The steps of CARDGAME_startPreviousCardChoice: confirming takes the card before the last one played, if it can be taken; 1 then, 0 on leaving with triangle, -1 until then.
 
void CARDGAME_showTargetSlots (CardBattle *battle, CardScreen *screen, s32 owner, s32 target)
 Shows the card being played as sprite 15 and lets the slots out that its target picks (a side of owner's, both, or a card colour) be chosen: effectStep.marked marks them, effectStep.vars[4] is 1 if there are any.
 
s32 CARDGAME_stepTargetSlots (CardBattle *battle, CardScreen *screen)
 The steps of CARDGAME_showTargetSlots: highlights the marked slots (effectStep.marked); confirming needs one (effectStep.vars[4]); 1 then, 0 on leaving with triangle, -1 until then.
 

Detailed Description

CARDGAME's card choices: a card of a hand, of a pile, a previous card or the target slots, by the player or the computer.

Definition in file card_choice.c.

Function Documentation

◆ CARDGAME_setupCardChoice()

void CARDGAME_setupCardChoice ( CardBattle *  battle,
CardScreen *  screen,
s32  side,
s32  kind 
)

Sets up CARDGAME_chooseCard's choice of one of a side's cards: kind 0 among its hand, 1 and 2 among its deck, 3 among its discards.

Definition at line 8 of file card_choice.c.

Referenced by CARDGAME_setupSideChoice(), and startEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_setupSideChoice()

void CARDGAME_setupSideChoice ( CardBattle *  battle,
CardScreen *  screen,
s32  side 
)

CARDGAME_setupCardChoice of side, kind 0.

Definition at line 51 of file card_choice.c.

Referenced by startEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_moveHandHighlight()

void CARDGAME_moveHandHighlight ( CardBattle *  battle,
CardScreen *  screen,
s32  delta 
)

Moves the highlight along the hand by delta, raising the highlighted card.

< SYSTEM06

Definition at line 56 of file card_choice.c.

Referenced by CARDGAME_browseHand().

Here is the caller graph for this function:

◆ CARDGAME_browseHand()

void CARDGAME_browseHand ( CardBattle *  battle,
CardScreen *  screen 
)

Moves the highlight along the hand with left and right; cross picks a playable card.

Definition at line 68 of file card_choice.c.

Referenced by CARDGAME_chooseCard().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ showPlayedCard()

static void showPlayedCard ( CardBattle *  battle,
CardScreen *  screen 
)
inlinestatic

Shows the card being played (sprite 15) scaling in on the slot row.

Definition at line 86 of file card_choice.c.

Referenced by CARDGAME_chooseCard().

Here is the caller graph for this function:

◆ takePickedCard()

static void takePickedCard ( CardBattle *  battle)
inlinestatic

Takes the picked card (effectStep.choice): one of the player's deck is swapped to its top and the rest shuffled, one of the opponent's draws gives its order.

Definition at line 100 of file card_choice.c.

Referenced by CARDGAME_chooseCard().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_chooseCard()

s32 CARDGAME_chooseCard ( CardBattle *  battle,
CardScreen *  screen,
s32  mode 
)

Lets a player pick a card of a row (set up by CARDGAME_setupCardChoice): 2 once one is picked, 1 if the player backed out with triangle (mode 1), else 0.

< SYSTEM07

< SYSTEM01

Definition at line 122 of file card_choice.c.

Referenced by answerHandCardPick(), and CARDGAME_runEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_pickComputerCards()

s32 CARDGAME_pickComputerCards ( CardBattle *  battle,
CardScreen *  screen 
)

The computer marks (effectStep.marked) the cards of its hand it plays: up to six that can be played, but not its kind 5 ones, paying their points; 1.

Definition at line 232 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_pickBestPileCard()

void CARDGAME_pickBestPileCard ( CardBattle *  battle,
CardScreen *  screen,
s32  lowest 
)

Sets effectStep.choice to the effectStep.eligible-marked card of the pile effectStep.vars[4] picks with the highest CardImage.rank, the weakest (the strongest when lowest != 0), or -1.

Definition at line 251 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_pickComputerDeckCard()

void CARDGAME_pickComputerDeckCard ( CardBattle *  battle,
CardScreen *  screen 
)

The computer's pick from its deck: the first card flagged (effectStep.eligible) from its top up to drawEnd, or else the last one flagged.

Definition at line 331 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the caller graph for this function:

◆ CARDGAME_pickLowestPlayerCard()

void CARDGAME_pickLowestPlayerCard ( CardBattle *  battle,
CardScreen *  screen 
)

Picks the player's card with the lowest CardImage.rank, the strongest.

Definition at line 354 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_startPileChoice()

void CARDGAME_startPileChoice ( CardBattle *  battle,
CardScreen *  screen,
s32  flags 
)

Shows the card being played as sprite 15 and the panels with flags, and starts CARDGAME_stepPileChoice's choice.

Definition at line 374 of file card_choice.c.

Referenced by startEffectStep().

Here is the caller graph for this function:

◆ CARDGAME_stepPileChoice()

s32 CARDGAME_stepPileChoice ( CardBattle *  battle,
CardScreen *  screen 
)

The steps of CARDGAME_startPileChoice: confirming is allowed when the pile the panel flags (effectStep.vars[4]) pick has cards; 1 then, 0 on leaving with triangle, -1 until then.

< SYSTEM07

< SYSTEM01

Definition at line 396 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the caller graph for this function:

◆ CARDGAME_startPreviousCardChoice()

void CARDGAME_startPreviousCardChoice ( CardBattle *  battle,
CardScreen *  screen,
s32  mode 
)

Shows the last card played as sprite 15; with mode 0, or mode 1 and a colour 6 card before it, the card before it can be picked too.

Definition at line 462 of file card_choice.c.

Referenced by startEffectStep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CARDGAME_stepPreviousCardChoice()

s32 CARDGAME_stepPreviousCardChoice ( CardBattle *  battle,
CardScreen *  screen 
)

The steps of CARDGAME_startPreviousCardChoice: confirming takes the card before the last one played, if it can be taken; 1 then, 0 on leaving with triangle, -1 until then.

< SYSTEM07

< SYSTEM01

Definition at line 509 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the caller graph for this function:

◆ CARDGAME_showTargetSlots()

void CARDGAME_showTargetSlots ( CardBattle *  battle,
CardScreen *  screen,
s32  owner,
s32  target 
)

Shows the card being played as sprite 15 and lets the slots out that its target picks (a side of owner's, both, or a card colour) be chosen: effectStep.marked marks them, effectStep.vars[4] is 1 if there are any.

Definition at line 553 of file card_choice.c.

Referenced by startEffectStep().

Here is the caller graph for this function:

◆ CARDGAME_stepTargetSlots()

s32 CARDGAME_stepTargetSlots ( CardBattle *  battle,
CardScreen *  screen 
)

The steps of CARDGAME_showTargetSlots: highlights the marked slots (effectStep.marked); confirming needs one (effectStep.vars[4]); 1 then, 0 on leaving with triangle, -1 until then.

< SYSTEM07

< SYSTEM01

Definition at line 645 of file card_choice.c.

Referenced by CARDGAME_runEffectStep().

Here is the caller graph for this function: