SSBM Decomp
Loading...
Searching...
No Matches
mndiagram.c File Reference

Data Structures

struct  mnDiagram_Assets
 Matching overlay for the separately declared fighter and name order tables. More...
struct  mnDiagram_PopupData
struct  mnDiagram_PopupAnimTableHead
 Head label for the contiguous mnDiagram popup animation data run. More...
struct  mnDiagram_AnimTable
 Overlay over the contiguous .data run starting at mnDiagram_PopupTextOffsets. More...
struct  RankEntry

Macros

#define GET_DIAGRAM_ANIM_TABLE()

Functions

 ASSERT_SIZE (mnDiagram_Assets, 0x94)
 ASSERT_SIZE (mnDiagram_PopupData, 0x4C)
u8 mnDiagram_GetFighterByIndex (int idx)
 Gets the fighter ID at the given sorted index.
u8 mnDiagram_GetNameByIndex (int idx)
 Gets the name ID at the given sorted index.
bool mnDiagram_IsDistanceOverflow (u32 distance)
 Tests whether a distance is at or above the large-unit threshold.
u32 mnDiagram_ConvertDistanceForDisplay (u32 distance)
 Scales a distance for display with a language-dependent divisor.
s32 mnDiagram_GetHitPercentage (u8 is_name_mode, u8 player_index)
s32 mnDiagram_GetPlayPercentage (u8 is_name_mode, u8 player_index)
s32 mnDiagram_GetAveragePlayerCount (u8 is_name_mode, u8 player_index)
static int getNamePairKOs (u8 name, u8 opponent)
int mnDiagram_GetNameTotalKOs (u8 field_index)
 Gets total KOs scored by a name against all other names.
static int sumNameKOs (u8 field_index, bool falls)
int mnDiagram_GetNameTotalFalls (u8 field_index)
 Gets total falls (deaths) of a name against all other names.
int mnDiagram_GetFighterTotalKOs (u8 field_index)
 Gets total KOs scored by a fighter against all other fighters.
static int mnDiagram_SumFighterFalls (u8 field_index)
 Gets total falls (deaths) of a fighter against all other fighters.
int mnDiagram_GetFighterTotalFalls (u8 field_index)
void mnDiagram_FormatDecimalNumber (char *buf, u32 val, int decimal_places)
 Writes val as NUL-terminated decimal text with its low decimal_places digits after a decimal point.
static void writeIntegerDigits (char *buf, s32 value, int count)
void mnDiagram_FormatTime (char *buf, s32 seconds)
 Writes nonnegative seconds as "M:SS" with unpadded minutes.
void mnDiagram_IntToStr (char *buf, u32 val)
 Writes val as NUL-terminated decimal digits.
u8 mnDiagram_GetPrevNameIndex (s32 idx)
 Gets the previous valid name index.
u8 mnDiagram_GetNextNameIndex (s32 idx)
u8 mnDiagram_GetPrevFighterIndex (s32 idx)
 Gets the previous valid fighter index.
u8 mnDiagram_GetNextFighterIndex (s32 idx)
u32 mnDiagram_GetNamePlayTimeByFighter (int name_idx, SelectableCharacterKind selkind)
 Gets play time for a specific fighter under a name tag.
static bool allPlayTimesZero (s32 name_idx)
int mnDiagram_GetRankedFighterForName (int rank, int name_idx, u32(*func)(int, int))
u8 mnDiagram_GetLeastPlayedFighter (u8 name_idx)
void mnDiagram_SortFightersByKOs (void)
void mnDiagram_SortNamesByKOs (void)
int mnDiagram_CountUnlockedFighters (void)
 Counts the number of unlocked fighters.
void mnDiagram_PopupInputProc (HSD_GObj *gobj)
static u8 mnDiagram_GetVisibleNameFrom (int start, int rank)
static s32 mnDiagram_FindPrevFighter (u8 *sorted, SelectableCharacterKind cur)
static u8 mnDiagram_FindNextFighter (u8 *sorted, SelectableCharacterKind cur)
static s32 mnDiagram_FindPrevName (s32 cur)
static s32 mnDiagram_FindPrevNameWrap (s32 cur)
static s32 mnDiagram_FindPrevFighterWrap (u8 *sorted, s32 cur)
static int mnDiagram_FindNextName (s32 cur)
static u8 mnDiagram_GetVisibleNameCursorFrom (int start, int rank)
static u8 mnDiagram_GetVisibleFighterCursorFrom (u8 *sorted, int start, int rank)
static u8 mnDiagram_GetVisibleFighterColumnForInput (u8 *sorted, int start, int rank, int *index)
static u8 mnDiagram_GetVisibleFighterRowForInput (u8 *sorted, Diagram *data, const u16 *selection, int *index)
static u8 mnDiagram_GetVisibleFighterFromPointer (const u8 *sorted, u8 *p, int start, int rank)
static u8 mnDiagram_GetVisibleFighterCursorFrom2 (int start, int rank)
static Diagram * mnDiagram_GetCurrentDiagramData (void)
static void saveCursorPositions (Diagram *data)
static s32 getHoveredRow (void)
static u8 getHoveredColumn (void)
void mnDiagram_InputProc (HSD_GObj *gobj)
 Per-frame input handler for the VS Records "diagram" grid screen.
static void removeText (HSD_Text *text)
void mnDiagram_PopupCleanup (void *arg0)
static Vec3 * mnDiagram_PopupAnimProc_Inline (mnDiagram_AnimTable *arg0, int arg1)
static void mnDiagram_TextSetPos (HSD_Text *text, f32 x, f32 y, f32 z)
void mnDiagram_PopupAnimProc (HSD_GObj *arg0)
static void mnDiagram_FormatPopupNumber (char *buf, u32 val)
static void setPopupTextPosition (HSD_Text *text, const Vec3 *pos)
void mnDiagram_CreatePopupTexts (HSD_GObj *arg0, s32 selkind_or_nametag_slot_id, s32 arg2, s32 use_nametag)
void mnDiagram_CreatePopup (s32 arg0, s32 arg1, s32 use_nametag)
void mnDiagram_ClearGrid (HSD_GObj *arg0)
static void refreshGrid (HSD_GObj *gobj, int row_start, int col_start, Diagram *data)
void mnDiagram_RefreshGrid (HSD_GObj *arg0, int arg1, int arg2)
static void setArrowVisible (HSD_JObj *arrow, bool visible)
void mnDiagram_UpdateScrollArrows (HSD_GObj *gobj)
 Updates scroll arrow visibility based on cursor position and available entries beyond the visible range.
void mnDiagram_ExitAnimProc (HSD_GObj *gobj)
static void updateScrollArrowVisibility (Diagram *data, int count)
void mnDiagram_UpdateScrollArrowVisibility (HSD_GObj *gobj, int count)
 Updates scroll arrow visibility based on entry count.
static int getEntryCount (Diagram *data)
static int getFighterCount (void)
void mnDiagram_OnFrame (HSD_GObj *gobj)
static void requestIntegerAnimFrame (HSD_JObj *jobj, int frame)
void mnDiagram_DrawCellValue (HSD_GObj *arg0, u8 col, u8 row, int arg3)
static int mnDiagram_GetFighterPairKOs (u8 fighter, u8 opponent)
void mnDiagram_DrawGridValues (HSD_GObj *arg0, s32 row_start, s32 col_start, u8 arg3)
static f32 getColumnReferenceX (Diagram *data)
static f32 getRowReferenceY (Diagram *data)
void mnDiagram_DrawNameHeaders (HSD_GObj *arg0, s32 arg1, s32 arg2)
HSD_JObj * mnDiagram_CreateFighterIcon (int idx, int arg1)
static HSD_JObj * mnDiagram_LoadHeaderIcon (StaticModelDesc *joint_data, int fighter_id, HSD_JObj **child)
static void getVisibleFighter (int start, int rank, int *fighter)
void mnDiagram_DrawFighterHeaders (HSD_GObj *arg0, int arg1, int arg2)
void mnDiagram_CursorProc (HSD_GObj *gobj)
void mnDiagram_CreateCursor (void)
void mnDiagram_CreateScreen (u8 arg0)
void mnDiagram_Init (u8 arg0, u8 arg1)
 Initialize VS Records diagram screen.

Variables

StaticModelDesc MenMainCursorB1_Top
StaticModelDesc MenMainSubB1_Top
StaticModelDesc MenMainNmB_Top
StaticModelDesc MenMainFaceB_Top
StaticModelDesc MenMainConB1_Top
HSD_GObj * mnDiagram_ScreenGObj
StaticModelDesc MenMainCursorB3_Top
StaticModelDesc MenMainConB3_Top
StaticModelDesc MenMainConB2_Top
u8 mnDiagram_FighterDisplayOrder [0x1C]
u8 mnDiagram_NameDisplayOrder [GM_NAMETAG_COUNT]
static mnDiagram_PopupAnimTableHead mnDiagram_PopupTextOffsets
static u8 mnDiagram_DefaultFighterOrder [0x1C]
static AnimLoopSettings mnDiagram_IntroAnim = { 0.0f, 9.0f, -0.1f }
static AnimLoopSettings mnDiagram_PopupExitAnim = { 10.0f, 19.0f, -0.1f }
static AnimLoopSettings mnDiagram_ArrowAnim = { 0.0f, 199.0f, 0.0f }
static AnimLoopSettings mnDiagram_CursorAnim = { 0.0f, 10.0f, -0.1f }
static GXColor mnDiagram_PopupTextColor = { 0, 0, 0, 0xFF }
char mnDiagram_StringTerminator [1] = ""

Macro Definition Documentation

◆ GET_DIAGRAM_ANIM_TABLE

#define GET_DIAGRAM_ANIM_TABLE ( )
Value:
static mnDiagram_PopupAnimTableHead mnDiagram_PopupTextOffsets
Definition mndiagram.c:63
Overlay over the contiguous .data run starting at mnDiagram_PopupTextOffsets.
Definition mndiagram.c:113

Function Documentation

◆ ASSERT_SIZE() [1/2]

ASSERT_SIZE ( mnDiagram_Assets ,
0x94  )

◆ ASSERT_SIZE() [2/2]

ASSERT_SIZE ( mnDiagram_PopupData ,
0x4C  )

◆ mnDiagram_GetFighterByIndex()

u8 mnDiagram_GetFighterByIndex ( int idx)

Gets the fighter ID at the given sorted index.

Parameters
idxIndex into the sorted fighter list
Returns
Fighter ID

◆ mnDiagram_GetNameByIndex()

u8 mnDiagram_GetNameByIndex ( int idx)

Gets the name ID at the given sorted index.

Parameters
idxIndex into the sorted name list
Returns
Name ID

◆ mnDiagram_IsDistanceOverflow()

bool mnDiagram_IsDistanceOverflow ( u32 distance)

Tests whether a distance is at or above the large-unit threshold.

The threshold is 160934 when lbLang_IsSavedLanguageUS is true and 100000 otherwise. Callers use a true result to select SIS entry 0x7F instead of their per-stat unit entry. Despite the name, this is not an arithmetic overflow check.

Parameters
[in]distanceAccumulated distance, before conversion.

◆ mnDiagram_ConvertDistanceForDisplay()

u32 mnDiagram_ConvertDistanceForDisplay ( u32 distance)

Scales a distance for display with a language-dependent divisor.

US: distance/30.4788 (f64, truncated) below 160934, else distance/160934. Otherwise: distance/100 below 100000, else distance/100000. The result is not capped at the threshold: 160933 gives 5280, 160934 gives 1, and 321868 gives 2. The unit is chosen by the caller.

Parameters
[in]distanceAccumulated distance, before conversion.

◆ mnDiagram_GetHitPercentage()

s32 mnDiagram_GetHitPercentage ( u8 is_name_mode,
u8 player_index )

◆ mnDiagram_GetPlayPercentage()

s32 mnDiagram_GetPlayPercentage ( u8 is_name_mode,
u8 player_index )

◆ mnDiagram_GetAveragePlayerCount()

s32 mnDiagram_GetAveragePlayerCount ( u8 is_name_mode,
u8 player_index )

◆ getNamePairKOs()

int getNamePairKOs ( u8 name,
u8 opponent )
inlinestatic

◆ mnDiagram_GetNameTotalKOs()

int mnDiagram_GetNameTotalKOs ( u8 field_index)

Gets total KOs scored by a name against all other names.

Parameters
field_indexIndex of the name tag to query.
Returns
Sum of KOs scored by this name against all existing names.

◆ sumNameKOs()

int sumNameKOs ( u8 field_index,
bool falls )
inlinestatic

◆ mnDiagram_GetNameTotalFalls()

int mnDiagram_GetNameTotalFalls ( u8 field_index)

Gets total falls (deaths) of a name against all other names.

Iterates through all names and sums how many times each name KO'd the target name. This is the column sum of the KO matrix. Accesses vs_kos[field_index] in each name's data.

Parameters
field_indexIndex of the name tag to query.
Returns
Sum of times this name was KO'd by all existing names (capped at 999999).

◆ mnDiagram_GetFighterTotalKOs()

int mnDiagram_GetFighterTotalKOs ( u8 field_index)

Gets total KOs scored by a fighter against all other fighters.

Iterates through all unlocked fighters and sums how many times the target fighter KO'd each one. Fighter data uses a similar matrix layout to name data.

Parameters
field_indexIndex of the fighter to query (0-24).
Returns
Sum of KOs scored by this fighter against all unlocked fighters.

◆ mnDiagram_SumFighterFalls()

int mnDiagram_SumFighterFalls ( u8 field_index)
inlinestatic

Gets total falls (deaths) of a fighter against all other fighters.

Iterates through all unlocked fighters and sums how many times each fighter KO'd the target fighter. This is the column sum of the fighter KO matrix.

Parameters
field_indexIndex of the fighter to query (0-24).
Returns
Sum of times this fighter was KO'd by all unlocked fighters.

◆ mnDiagram_GetFighterTotalFalls()

int mnDiagram_GetFighterTotalFalls ( u8 field_index)

◆ mnDiagram_FormatDecimalNumber()

void mnDiagram_FormatDecimalNumber ( char * buf,
u32 val,
int decimal_places )

Writes val as NUL-terminated decimal text with its low decimal_places digits after a decimal point.

Callers pass 0 or 2. With 2, 5 gives "0.05" and 12345 gives "123.45"; with 0, no decimal point is written. No thousands separators.

Parameters
[out]bufMust hold the whole result and its NUL.
[in]valValue scaled by 10^decimal_places.
[in]decimal_placesDigits after the decimal point.

◆ writeIntegerDigits()

void writeIntegerDigits ( char * buf,
s32 value,
int count )
inlinestatic

◆ mnDiagram_FormatTime()

void mnDiagram_FormatTime ( char * buf,
s32 seconds )

Writes nonnegative seconds as "M:SS" with unpadded minutes.

59 gives "0:59", 60 gives "1:00", and 600000 gives "10000:00"; minutes are neither capped nor split into hours. Callers apply their own limits.

Parameters
[out]bufMust hold the whole result and its NUL.
[in]secondsNonnegative elapsed seconds.

◆ mnDiagram_IntToStr()

void mnDiagram_IntToStr ( char * buf,
u32 val )

Writes val as NUL-terminated decimal digits.

No padding or separators; 0 gives "0". Both callers cap val first. This and mnDiagram_FormatDecimalNumber use the signed mn_GetDigitCount and mn_GetDigitAt, so the full u32 range is not established.

Parameters
[out]bufMust hold the whole result and its NUL.
[in]valValue to format.

◆ mnDiagram_GetPrevNameIndex()

u8 mnDiagram_GetPrevNameIndex ( s32 idx)

Gets the previous valid name index.

Parameters
idxCurrent name index.
Returns
Previous name index with a valid name, or original if none found.

◆ mnDiagram_GetNextNameIndex()

u8 mnDiagram_GetNextNameIndex ( s32 idx)

◆ mnDiagram_GetPrevFighterIndex()

u8 mnDiagram_GetPrevFighterIndex ( s32 idx)

Gets the previous valid fighter index.

Parameters
idxCurrent fighter index.
Returns
Previous fighter index that's unlocked, or original if none found.

◆ mnDiagram_GetNextFighterIndex()

u8 mnDiagram_GetNextFighterIndex ( s32 idx)

◆ mnDiagram_GetNamePlayTimeByFighter()

u32 mnDiagram_GetNamePlayTimeByFighter ( int name_idx,
SelectableCharacterKind selkind )

Gets play time for a specific fighter under a name tag.

Parameters
name_idxName tag index.
fighter_idxFighter index (0-24).
Returns
Play time in seconds for this fighter under this name.

◆ allPlayTimesZero()

bool allPlayTimesZero ( s32 name_idx)
inlinestatic

◆ mnDiagram_GetRankedFighterForName()

int mnDiagram_GetRankedFighterForName ( int rank,
int name_idx,
u32(* func )(int, int) )

◆ mnDiagram_GetLeastPlayedFighter()

u8 mnDiagram_GetLeastPlayedFighter ( u8 name_idx)

◆ mnDiagram_SortFightersByKOs()

void mnDiagram_SortFightersByKOs ( void )

◆ mnDiagram_SortNamesByKOs()

void mnDiagram_SortNamesByKOs ( void )

◆ mnDiagram_CountUnlockedFighters()

int mnDiagram_CountUnlockedFighters ( void )

Counts the number of unlocked fighters.

Returns
Number of unlocked fighters.

◆ mnDiagram_PopupInputProc()

void mnDiagram_PopupInputProc ( HSD_GObj * gobj)

◆ mnDiagram_GetVisibleNameFrom()

u8 mnDiagram_GetVisibleNameFrom ( int start,
int rank )
inlinestatic

◆ mnDiagram_FindPrevFighter()

s32 mnDiagram_FindPrevFighter ( u8 * sorted,
SelectableCharacterKind cur )
inlinestatic

◆ mnDiagram_FindNextFighter()

u8 mnDiagram_FindNextFighter ( u8 * sorted,
SelectableCharacterKind cur )
inlinestatic

◆ mnDiagram_FindPrevName()

s32 mnDiagram_FindPrevName ( s32 cur)
inlinestatic

◆ mnDiagram_FindPrevNameWrap()

s32 mnDiagram_FindPrevNameWrap ( s32 cur)
inlinestatic

◆ mnDiagram_FindPrevFighterWrap()

s32 mnDiagram_FindPrevFighterWrap ( u8 * sorted,
s32 cur )
inlinestatic

◆ mnDiagram_FindNextName()

int mnDiagram_FindNextName ( s32 cur)
inlinestatic

◆ mnDiagram_GetVisibleNameCursorFrom()

u8 mnDiagram_GetVisibleNameCursorFrom ( int start,
int rank )
inlinestatic

◆ mnDiagram_GetVisibleFighterCursorFrom()

u8 mnDiagram_GetVisibleFighterCursorFrom ( u8 * sorted,
int start,
int rank )
inlinestatic

◆ mnDiagram_GetVisibleFighterColumnForInput()

u8 mnDiagram_GetVisibleFighterColumnForInput ( u8 * sorted,
int start,
int rank,
int * index )
inlinestatic

◆ mnDiagram_GetVisibleFighterRowForInput()

u8 mnDiagram_GetVisibleFighterRowForInput ( u8 * sorted,
Diagram * data,
const u16 * selection,
int * index )
inlinestatic

◆ mnDiagram_GetVisibleFighterFromPointer()

u8 mnDiagram_GetVisibleFighterFromPointer ( const u8 * sorted,
u8 * p,
int start,
int rank )
inlinestatic

◆ mnDiagram_GetVisibleFighterCursorFrom2()

u8 mnDiagram_GetVisibleFighterCursorFrom2 ( int start,
int rank )
inlinestatic

◆ mnDiagram_GetCurrentDiagramData()

Diagram * mnDiagram_GetCurrentDiagramData ( void )
inlinestatic

◆ saveCursorPositions()

void saveCursorPositions ( Diagram * data)
inlinestatic

◆ getHoveredRow()

s32 getHoveredRow ( void )
inlinestatic

◆ getHoveredColumn()

u8 getHoveredColumn ( void )
inlinestatic

◆ mnDiagram_InputProc()

void mnDiagram_InputProc ( HSD_GObj * gobj)

Per-frame input handler for the VS Records "diagram" grid screen.

Dispatches the current frame's menu input:

  • A (0x10): open the detail popup (mnDiagram_PopupInputProc) for the highlighted cell, mapping the display cursor (mn_804A04F0.hovered_selection = row<<8 | col) to the underlying name/fighter id via the col-th/row-th visible entry, then enter the detail page (mnDiagram_CreatePopup).
  • B (0x20): save cursor state and back out (mn_80229894).
  • Start/Z (0xC0): save cursor state and advance to page 2 (mnDiagram2_Init) or page 3 (mnDiagram3_Init).
  • L/R (0xC00): toggle between name-tag and fighter axes, clamping the cursor to the valid entry count.
  • D-pad (1/2/4/8): move the cursor within the grid, scrolling the data window by a page when moving past a visible edge.

The visible-entry scans skip locked fighters and empty name slots.

◆ removeText()

void removeText ( HSD_Text * text)
inlinestatic

◆ mnDiagram_PopupCleanup()

void mnDiagram_PopupCleanup ( void * arg0)

◆ mnDiagram_PopupAnimProc_Inline()

Vec3 * mnDiagram_PopupAnimProc_Inline ( mnDiagram_AnimTable * arg0,
int arg1 )
inlinestatic

◆ mnDiagram_TextSetPos()

void mnDiagram_TextSetPos ( HSD_Text * text,
f32 x,
f32 y,
f32 z )
inlinestatic

◆ mnDiagram_PopupAnimProc()

void mnDiagram_PopupAnimProc ( HSD_GObj * arg0)

◆ mnDiagram_FormatPopupNumber()

void mnDiagram_FormatPopupNumber ( char * buf,
u32 val )
inlinestatic

◆ setPopupTextPosition()

void setPopupTextPosition ( HSD_Text * text,
const Vec3 * pos )
inlinestatic

◆ mnDiagram_CreatePopupTexts()

void mnDiagram_CreatePopupTexts ( HSD_GObj * arg0,
s32 selkind_or_nametag_slot_id,
s32 arg2,
s32 use_nametag )

◆ mnDiagram_CreatePopup()

void mnDiagram_CreatePopup ( s32 arg0,
s32 arg1,
s32 use_nametag )

◆ mnDiagram_ClearGrid()

void mnDiagram_ClearGrid ( HSD_GObj * arg0)

◆ refreshGrid()

void refreshGrid ( HSD_GObj * gobj,
int row_start,
int col_start,
Diagram * data )
inlinestatic

◆ mnDiagram_RefreshGrid()

void mnDiagram_RefreshGrid ( HSD_GObj * arg0,
int arg1,
int arg2 )

◆ setArrowVisible()

void setArrowVisible ( HSD_JObj * arrow,
bool visible )
inlinestatic

◆ mnDiagram_UpdateScrollArrows()

void mnDiagram_UpdateScrollArrows ( HSD_GObj * gobj)

Updates scroll arrow visibility based on cursor position and available entries beyond the visible range.

Parameters
[in]gobjThe diagram GObj containing arrow JObjs in user_data.

Checks 4 arrows: right (10 more cols?), left (cursor > 0?), up (cursor row > 0?), down (7 more rows?). Hides arrows when there's nothing to scroll to, shows them when there is.

◆ mnDiagram_ExitAnimProc()

void mnDiagram_ExitAnimProc ( HSD_GObj * gobj)

◆ updateScrollArrowVisibility()

void updateScrollArrowVisibility ( Diagram * data,
int count )
inlinestatic

◆ mnDiagram_UpdateScrollArrowVisibility()

void mnDiagram_UpdateScrollArrowVisibility ( HSD_GObj * gobj,
int count )

Updates scroll arrow visibility based on entry count.

Hides vertical arrows if count <= 7 (fits in visible rows). Hides horizontal arrows if count <= 10 (fits in visible columns).

Parameters
gobjThe diagram GObj containing arrow JObjs in user_data.
countNumber of entries (fighters or names) to display.

◆ getEntryCount()

int getEntryCount ( Diagram * data)
inlinestatic

◆ getFighterCount()

int getFighterCount ( void )
inlinestatic

◆ mnDiagram_OnFrame()

void mnDiagram_OnFrame ( HSD_GObj * gobj)

◆ requestIntegerAnimFrame()

void requestIntegerAnimFrame ( HSD_JObj * jobj,
int frame )
static

◆ mnDiagram_DrawCellValue()

void mnDiagram_DrawCellValue ( HSD_GObj * arg0,
u8 col,
u8 row,
int arg3 )

◆ mnDiagram_GetFighterPairKOs()

int mnDiagram_GetFighterPairKOs ( u8 fighter,
u8 opponent )
inlinestatic

◆ mnDiagram_DrawGridValues()

void mnDiagram_DrawGridValues ( HSD_GObj * arg0,
s32 row_start,
s32 col_start,
u8 arg3 )

◆ getColumnReferenceX()

f32 getColumnReferenceX ( Diagram * data)
inlinestatic

◆ getRowReferenceY()

f32 getRowReferenceY ( Diagram * data)
inlinestatic

◆ mnDiagram_DrawNameHeaders()

void mnDiagram_DrawNameHeaders ( HSD_GObj * arg0,
s32 arg1,
s32 arg2 )

◆ mnDiagram_CreateFighterIcon()

HSD_JObj * mnDiagram_CreateFighterIcon ( int idx,
int arg1 )

◆ mnDiagram_LoadHeaderIcon()

HSD_JObj * mnDiagram_LoadHeaderIcon ( StaticModelDesc * joint_data,
int fighter_id,
HSD_JObj ** child )
inlinestatic

◆ getVisibleFighter()

void getVisibleFighter ( int start,
int rank,
int * fighter )
inlinestatic
Precondition
rank is nonnegative.

◆ mnDiagram_DrawFighterHeaders()

void mnDiagram_DrawFighterHeaders ( HSD_GObj * arg0,
int arg1,
int arg2 )

◆ mnDiagram_CursorProc()

void mnDiagram_CursorProc ( HSD_GObj * gobj)

◆ mnDiagram_CreateCursor()

void mnDiagram_CreateCursor ( void )

◆ mnDiagram_CreateScreen()

void mnDiagram_CreateScreen ( u8 arg0)

◆ mnDiagram_Init()

void mnDiagram_Init ( u8 arg0,
u8 arg1 )

Initialize VS Records diagram screen.

Parameters
arg0If non-zero, load DAT archive symbols
arg1Initial mode (passed to mnDiagram_CreateScreen)

Variable Documentation

◆ MenMainCursorB1_Top

StaticModelDesc MenMainCursorB1_Top

◆ MenMainSubB1_Top

StaticModelDesc MenMainSubB1_Top

◆ MenMainNmB_Top

StaticModelDesc MenMainNmB_Top

◆ MenMainFaceB_Top

StaticModelDesc MenMainFaceB_Top

◆ MenMainConB1_Top

StaticModelDesc MenMainConB1_Top

◆ mnDiagram_ScreenGObj

HSD_GObj* mnDiagram_ScreenGObj

◆ MenMainCursorB3_Top

StaticModelDesc MenMainCursorB3_Top

◆ MenMainConB3_Top

StaticModelDesc MenMainConB3_Top

◆ MenMainConB2_Top

StaticModelDesc MenMainConB2_Top

◆ mnDiagram_FighterDisplayOrder

u8 mnDiagram_FighterDisplayOrder[0x1C]

◆ mnDiagram_NameDisplayOrder

u8 mnDiagram_NameDisplayOrder[GM_NAMETAG_COUNT]

◆ mnDiagram_PopupTextOffsets

mnDiagram_PopupAnimTableHead mnDiagram_PopupTextOffsets
static
Initial value:
= {
{
{ 4.0F, 1.0F, 0.0F },
{ -3.0F, 0.8F, 0.0F },
{ -1.0F, 0.7F, 0.0F },
},
}

◆ mnDiagram_DefaultFighterOrder

u8 mnDiagram_DefaultFighterOrder[0x1C]
static
Initial value:
= {
0,
0,
0,
}
@ SELKIND_MEWTWO
Definition types.h:384
@ SELKIND_MARS
Definition types.h:383
@ SELKIND_LINK
Definition types.h:380
@ SELKIND_CLINK
Definition types.h:394
@ SELKIND_GAMEWATCH
Definition types.h:377
@ SELKIND_YOSHI
Definition types.h:391
@ SELKIND_EMBLEM
Definition types.h:396
@ SELKIND_MARIO
Definition types.h:382
@ SELKIND_SAMUS
Definition types.h:390
@ SELKIND_GANON
Definition types.h:398
@ SELKIND_DONKEY
Definition types.h:375
@ SELKIND_PURIN
Definition types.h:389
@ SELKIND_FALCO
Definition types.h:393
@ SELKIND_NESS
Definition types.h:385
@ SELKIND_FOX
Definition types.h:376
@ SELKIND_POPONANA
Definition types.h:388
@ SELKIND_KOOPA
Definition types.h:379
@ SELKIND_DRMARIO
Definition types.h:395
@ SELKIND_PEACH
Definition types.h:386
@ SELKIND_PICHU
Definition types.h:397
@ SELKIND_LUIGI
Definition types.h:381
@ SELKIND_CAPTAIN
Definition types.h:374
@ SELKIND_KIRBY
Definition types.h:378
@ SELKIND_ZELDA_SEAK
Definition types.h:392
@ SELKIND_PIKACHU
Definition types.h:387

◆ mnDiagram_IntroAnim

AnimLoopSettings mnDiagram_IntroAnim = { 0.0f, 9.0f, -0.1f }
static

◆ mnDiagram_PopupExitAnim

AnimLoopSettings mnDiagram_PopupExitAnim = { 10.0f, 19.0f, -0.1f }
static

◆ mnDiagram_ArrowAnim

AnimLoopSettings mnDiagram_ArrowAnim = { 0.0f, 199.0f, 0.0f }
static

◆ mnDiagram_CursorAnim

AnimLoopSettings mnDiagram_CursorAnim = { 0.0f, 10.0f, -0.1f }
static

◆ mnDiagram_PopupTextColor

GXColor mnDiagram_PopupTextColor = { 0, 0, 0, 0xFF }
static

◆ mnDiagram_StringTerminator

char mnDiagram_StringTerminator[1] = ""