SSBM Decomp
Loading...
Searching...
No Matches
mndiagram.c File Reference
#include "ft/forward.h"
#include "gm/gm_1A36.h"
#include "mn/types.h"
#include "mndiagram.static.h"
#include "mndiagram2.static.h"
#include "baselib/debug.h"
#include "baselib/gobj.h"
#include "baselib/gobjgxlink.h"
#include "baselib/gobjobject.h"
#include "baselib/gobjplink.h"
#include "baselib/gobjproc.h"
#include "baselib/gobjuserdata.h"
#include "baselib/jobj.h"
#include "baselib/memory.h"
#include "dolphin/types.h"
#include "gm/gm_1601.h"
#include "gm/gmmain_lib.h"
#include "gm/types.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00CE.h"
#include "lb/lbarchive.h"
#include "lb/lbaudio_ax.h"
#include "lb/lbspdisplay.h"
#include "mn/inlines.h"
#include "mn/mndiagram2.h"
#include "mn/mndiagram3.h"
#include "mn/mnmain.h"
#include "mn/mnname.h"

Data Structures

struct  mnDiagram_804A0750_t
 Sorted fighter indices array (25 fighters + padding). More...
struct  mnDiagram_804A076C_t
 Sorted name indices array (120 names). More...
struct  mnDiagram_Assets
 Archive asset pointers struct (for mnDiagram_Init) Cast from &mnDiagram_804A0750 to access asset arrays. More...
struct  mnDiagram_CleanupData
 User data structure for mnDiagram_PopupCleanup callback. More...
struct  mnDiagram_AnimData
 User data structure for mnDiagram_ExitAnimProc callback. More...
struct  mnDiagram_PopupAnimTableHead
 Head label for the contiguous mnDiagram popup animation data run. More...
struct  mnDiagram_AnimTable
 Overlay over &mnDiagram_803EE728 to reach the trailing animation/text-layout data the popup/cursor procs read at fixed offsets. More...
struct  RankEntry
struct  mnDiagram_PopupData
struct  mnDiagram_MainOverlay

Macros

#define MNDIAGRAM_SOURCE
#define GET_DIAGRAM(gobj)
#define GET_DIAGRAM_ANIM_TABLE()

Functions

 STATIC_ASSERT (sizeof(mnDiagram_804A0750_t)==0x1C)
 STATIC_ASSERT (sizeof(mnDiagram_804A076C_t)==0x78)
 STATIC_ASSERT (sizeof(mnDiagram_Assets)==0x118)
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)
 Checks if a distance stat exceeds 1 mile (display cap).
u32 mnDiagram_ConvertDistanceForDisplay (u32 distance)
 Converts internal distance units to display units.
s32 mnDiagram_GetHitPercentage (int is_name_mode, u8 player_index)
s32 mnDiagram_GetPlayPercentage (u8 is_name_mode, u8 player_index)
s32 mnDiagram_GetAveragePlayerCount (int is_name_mode, u8 player_index)
int mnDiagram_GetNameTotalKOs (u8 field_index)
 Gets total KOs scored by a name against all other names.
static int mnDiagram_SumNameFalls (u8 field_index)
 Gets total falls (deaths) of a name against all other names.
int mnDiagram_GetNameTotalFalls (u8 field_index)
int mnDiagram_GetFighterTotalKOs (u8 field_index)
 Gets total KOs scored by a fighter against all other fighters.
static int mnDiagram_SumFighterKOs (u8 field_index)
static int mnDiagram_SumFighterKOsClamped (u8 field_index)
static int mnDiagram_SumFighterFalls (u8 field_index)
 Gets total falls (deaths) of a fighter against all other fighters.
int mnDiagram_GetFighterTotalFalls (u8 field_index)
static int mnDiagram_CountUnlockedFightersInline (void)
 Counts the number of unlocked fighters (inline-expanded form).
void mnDiagram_FormatDecimalNumber (char *buf, u32 val, int decimal_places)
 Formats a number with optional decimal places.
void mnDiagram_FormatTime (char *buf, s32 seconds)
 Formats seconds as MM:SS string.
void mnDiagram_IntToStr (char *buf, u32 val)
 Converts a number to a null-terminated string.
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 int CountTiedFighters (int name, int min_fighter, u32 min_time)
static int CheckAllZeroPlayTime (int name_idx)
int mnDiagram_GetRankedFighterForName (int rank, int name_idx, u32(*func)(int, int))
static int mnDiagram_AllPlayTimesZero (u8 name)
u8 mnDiagram_GetLeastPlayedFighter (u8 name_idx)
void mnDiagram_SortFightersByKOs (void)
static int mnDiagram_SumNameKOs (u8 field_index)
void mnDiagram_SortNamesByKOs (void)
int mnDiagram_CountUnlockedFighters (void)
 Counts the number of unlocked fighters.
void mnDiagram_PopupInputProc (HSD_GObj *gobj)
static u8 mnDiagram_GetVisibleNameFrom (u8 *sorted, int start, int rank)
static u8 mnDiagram_GetVisibleNameFrom2 (u8 *sorted, int start, int rank)
static u8 mnDiagram_GetVisibleFighterFrom (u8 *sorted, 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 u8 mnDiagram_FindNextName (s32 cur)
static u8 mnDiagram_GetVisibleNameCursorFrom (u8 *sorted, int start, int rank)
static u8 mnDiagram_GetVisibleFighterCursorFrom (u8 *sorted, int start, int rank)
static u8 mnDiagram_GetVisibleFighterCursorFrom2 (u8 *sorted, int start, int rank)
static void mnDiagram_SaveCursorToGameRules (Diagram *d)
 Persists the current name/fighter cursor positions and mode into the shared GameRules block on menu exit / page change.
void mnDiagram_InputProc (HSD_GObj *gobj)
 Per-frame input handler for the VS Records "diagram" grid screen.
void mnDiagram_PopupCleanup (void *arg0)
 STATIC_ASSERT (sizeof(mnDiagram_PopupData)==0x4C)
Vec3mnDiagram_PopupAnimProc_Inline (mnDiagram_AnimTable *arg0, int arg1)
void mnDiagram_PopupAnimProc (void *arg0)
void mnDiagram_FormatPopupNumber (char *buf, u32 val)
void mnDiagram_CreatePopupTexts (void *arg0, s32 selkind_or_nametag_slot_id, s32 arg2, s32 use_nametag)
static void order_sdata2 (void)
void mnDiagram_CreatePopup (s32 arg0, s32 arg1, s32 use_nametag)
static void * mnDiagram_GetUserData (HSD_GObj *gobj)
static HSD_JObjmnDiagram_GetJObjChild (HSD_JObj *jobj)
void mnDiagram_ClearGrid (void *arg0)
void mnDiagram_RefreshGrid (HSD_GObj *arg0, int arg1, int arg2)
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)
void mnDiagram_UpdateScrollArrowVisibility (void *gobj, int count)
 Updates scroll arrow visibility based on entry count.
void mnDiagram_OnFrame (HSD_GObj *gobj)
void mnDiagram_DrawCellValue (void *arg0, u8 arg1, u8 arg2, int arg3)
void mnDiagram_DrawGridValues (void *arg0, s32 arg1, s32 arg2, u8 arg3)
static void mnDiagram_TextSetPos (HSD_Text *text, f32 x, f32 y, f32 z)
void mnDiagram_DrawNameHeaders (void *arg0, s32 arg1, s32 arg2)
HSD_JObjmnDiagram_CreateFighterIcon (int idx, int arg1)
void mnDiagram_DrawFighterHeaders (void *arg0, int arg1, int arg2)
static DiagrammnDiagram_GetCurrentDiagramData (void)
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

mnDiagram_804A0750_t mnDiagram_804A0750
 BSS variables - sorted player arrays.
mnDiagram_804A076C_t mnDiagram_804A076C
static mnDiagram_PopupAnimTableHead mnDiagram_803EE728
static u8 mnDiagram_DefaultFighterOrder [0x1C]
static AnimLoopSettings mnDiagram_803EE768 = { 0.0f, 9.0f, -0.1f }
static f32 mnDiagram_PopupExitAnimFrames []
 Trailing animation settings overlaid by mnDiagram_AnimTable.
static s32 mnDiagram_PopupTextColor = 0xFF

Macro Definition Documentation

◆ MNDIAGRAM_SOURCE

#define MNDIAGRAM_SOURCE

◆ GET_DIAGRAM

#define GET_DIAGRAM ( gobj)
Value:
static void * HSD_GObjGetUserData(HSD_GObj *gobj)
Definition gobj.h:144
User data for VS Records diagram screen (mnDiagram).
Definition types.h:528

◆ GET_DIAGRAM_ANIM_TABLE

#define GET_DIAGRAM_ANIM_TABLE ( )
Value:
static mnDiagram_PopupAnimTableHead mnDiagram_803EE728
Definition mndiagram.c:88
Overlay over &mnDiagram_803EE728 to reach the trailing animation/text-layout data the popup/cursor pr...
Definition mndiagram.c:113

Function Documentation

◆ STATIC_ASSERT() [1/4]

STATIC_ASSERT ( sizeof(mnDiagram_804A0750_t) = =0x1C)

◆ STATIC_ASSERT() [2/4]

STATIC_ASSERT ( sizeof(mnDiagram_804A076C_t) = =0x78)

◆ STATIC_ASSERT() [3/4]

STATIC_ASSERT ( sizeof(mnDiagram_Assets) = =0x118)

◆ 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)

Checks if a distance stat exceeds 1 mile (display cap).

Distance stats are stored in internal game units and converted for display by dividing by ~30.5 to get feet. When the distance exceeds these thresholds (~1 mile), the display caps at "1 mi." instead of showing larger values.

Parameters
distanceThe distance value in internal game units.
Returns
true if distance >= 1 mile, false otherwise.

160,934 internal units / 30.5 = ~5,276 ft = 1 mile

100,000 internal units / 30.5 = ~3,278 meters

◆ mnDiagram_ConvertDistanceForDisplay()

u32 mnDiagram_ConvertDistanceForDisplay ( u32 distance)

Converts internal distance units to display units.

For US locale: Returns feet (or miles if >= 1 mile). For other locales: Returns centimeters (or km if >= 1km).

Parameters
distanceDistance in internal game units.
Returns
Distance in display units (feet/cm or miles/km).

◆ mnDiagram_GetHitPercentage()

s32 mnDiagram_GetHitPercentage ( int is_name_mode,
u8 player_index )

◆ mnDiagram_GetPlayPercentage()

s32 mnDiagram_GetPlayPercentage ( u8 is_name_mode,
u8 player_index )

◆ mnDiagram_GetAveragePlayerCount()

s32 mnDiagram_GetAveragePlayerCount ( int is_name_mode,
u8 player_index )

◆ 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.

◆ mnDiagram_SumNameFalls()

int mnDiagram_SumNameFalls ( u8 field_index)
inlinestatic

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_GetNameTotalFalls()

int mnDiagram_GetNameTotalFalls ( u8 field_index)

◆ 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_SumFighterKOs()

int mnDiagram_SumFighterKOs ( u8 field_index)
inlinestatic

◆ mnDiagram_SumFighterKOsClamped()

int mnDiagram_SumFighterKOsClamped ( u8 field_index)
inlinestatic

◆ 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_CountUnlockedFightersInline()

int mnDiagram_CountUnlockedFightersInline ( void )
inlinestatic

Counts the number of unlocked fighters (inline-expanded form).

Returns
Number of unlocked fighters.

◆ mnDiagram_FormatDecimalNumber()

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

Formats a number with optional decimal places.

Parameters
bufOutput buffer for the string.
valThe value to format (treat last decimal_places digits as decimal).
decimal_placesNumber of decimal places (0 = integer only).

◆ mnDiagram_FormatTime()

void mnDiagram_FormatTime ( char * buf,
s32 seconds )

Formats seconds as MM:SS string.

Parameters
bufOutput buffer for the string.
secondsTime in seconds.

◆ mnDiagram_IntToStr()

void mnDiagram_IntToStr ( char * buf,
u32 val )

Converts a number to a null-terminated string.

Parameters
bufOutput buffer for the string.
valThe number to convert.

◆ 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.

◆ CountTiedFighters()

int CountTiedFighters ( int name,
int min_fighter,
u32 min_time )
inlinestatic

◆ CheckAllZeroPlayTime()

int CheckAllZeroPlayTime ( int name_idx)
inlinestatic

◆ mnDiagram_GetRankedFighterForName()

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

◆ mnDiagram_AllPlayTimesZero()

int mnDiagram_AllPlayTimesZero ( u8 name)
inlinestatic

◆ mnDiagram_GetLeastPlayedFighter()

u8 mnDiagram_GetLeastPlayedFighter ( u8 name_idx)

◆ mnDiagram_SortFightersByKOs()

void mnDiagram_SortFightersByKOs ( void )

◆ mnDiagram_SumNameKOs()

int mnDiagram_SumNameKOs ( u8 field_index)
inlinestatic

◆ 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 ( u8 * sorted,
int start,
int rank )
inlinestatic

◆ mnDiagram_GetVisibleNameFrom2()

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

◆ mnDiagram_GetVisibleFighterFrom()

u8 mnDiagram_GetVisibleFighterFrom ( u8 * sorted,
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()

u8 mnDiagram_FindNextName ( s32 cur)
inlinestatic

◆ mnDiagram_GetVisibleNameCursorFrom()

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

◆ mnDiagram_GetVisibleFighterCursorFrom()

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

◆ mnDiagram_GetVisibleFighterCursorFrom2()

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

◆ mnDiagram_SaveCursorToGameRules()

void mnDiagram_SaveCursorToGameRules ( Diagram * d)
inlinestatic

Persists the current name/fighter cursor positions and mode into the shared GameRules block on menu exit / page change.

◆ 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 / empty name slots, and are factored into the mnDiagram_GetVisible*From / mnDiagram_Get{Prev,Next}*Index helpers shared with mndiagram2.

◆ mnDiagram_PopupCleanup()

void mnDiagram_PopupCleanup ( void * arg0)

◆ STATIC_ASSERT() [4/4]

STATIC_ASSERT ( sizeof(mnDiagram_PopupData) = =0x4C)

◆ mnDiagram_PopupAnimProc_Inline()

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

◆ mnDiagram_PopupAnimProc()

void mnDiagram_PopupAnimProc ( void * arg0)

◆ mnDiagram_FormatPopupNumber()

void mnDiagram_FormatPopupNumber ( char * buf,
u32 val )
inline

◆ mnDiagram_CreatePopupTexts()

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

◆ order_sdata2()

void order_sdata2 ( void )
static
Todo
.sdata2 order hack

◆ mnDiagram_CreatePopup()

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

◆ mnDiagram_GetUserData()

void * mnDiagram_GetUserData ( HSD_GObj * gobj)
inlinestatic

◆ mnDiagram_GetJObjChild()

HSD_JObj * mnDiagram_GetJObjChild ( HSD_JObj * jobj)
inlinestatic

◆ mnDiagram_ClearGrid()

void mnDiagram_ClearGrid ( void * arg0)

◆ mnDiagram_RefreshGrid()

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

◆ 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)

◆ mnDiagram_UpdateScrollArrowVisibility()

void mnDiagram_UpdateScrollArrowVisibility ( void * 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.

◆ mnDiagram_OnFrame()

void mnDiagram_OnFrame ( HSD_GObj * gobj)

◆ mnDiagram_DrawCellValue()

void mnDiagram_DrawCellValue ( void * arg0,
u8 arg1,
u8 arg2,
int arg3 )

◆ mnDiagram_DrawGridValues()

void mnDiagram_DrawGridValues ( void * arg0,
s32 arg1,
s32 arg2,
u8 arg3 )

◆ mnDiagram_TextSetPos()

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

◆ mnDiagram_DrawNameHeaders()

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

◆ mnDiagram_CreateFighterIcon()

HSD_JObj * mnDiagram_CreateFighterIcon ( int idx,
int arg1 )

◆ mnDiagram_DrawFighterHeaders()

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

◆ mnDiagram_GetCurrentDiagramData()

Diagram * mnDiagram_GetCurrentDiagramData ( void )
inlinestatic

◆ 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

◆ mnDiagram_804A0750

mnDiagram_804A0750_t mnDiagram_804A0750

BSS variables - sorted player arrays.

◆ mnDiagram_804A076C

mnDiagram_804A076C_t mnDiagram_804A076C

◆ mnDiagram_803EE728

mnDiagram_PopupAnimTableHead mnDiagram_803EE728
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:
= {
8, 1, 6, 0x10, 0x11, 4, 2, 0xD, 0xB, 0,
5, 0xC, 0xE, 0x12, 7, 0xF, 0xA, 9, 3, 0x15,
0x18, 0x13, 0x14, 0x17, 0x16, 0, 0, 0,
}

◆ mnDiagram_803EE768

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

◆ mnDiagram_PopupExitAnimFrames

f32 mnDiagram_PopupExitAnimFrames[]
static
Initial value:
= {
10.0f, 19.0f, -0.1f, 0.0f, 199.0f, 0.0f, 0.0f, 10.0f, -0.1f,
}

Trailing animation settings overlaid by mnDiagram_AnimTable.

◆ mnDiagram_PopupTextColor

s32 mnDiagram_PopupTextColor = 0xFF
static