SSBM Decomp
Loading...
Searching...
No Matches
tydisplay.c File Reference
#include "tydisplay.h"
#include "math.h"
#include "placeholder.h"
#include "platform.h"
#include "stddef.h"
#include "toy.h"
#include "baselib/archive.h"
#include "baselib/cobj.h"
#include "baselib/debug.h"
#include "baselib/dobj.h"
#include "baselib/fog.h"
#include "baselib/gobj.h"
#include "baselib/gobjgxlink.h"
#include "baselib/gobjobject.h"
#include "baselib/gobjplink.h"
#include "baselib/gobjproc.h"
#include "baselib/jobj.h"
#include "baselib/lobj.h"
#include "baselib/memory.h"
#include "baselib/mobj.h"
#include "baselib/random.h"
#include "baselib/tobj.h"
#include "baselib/wobj.h"
#include "db/db.h"
#include "dolphin/gx.h"
#include "dolphin/mtx.h"
#include "dolphin/os.h"
#include "gm/gm_1A45.h"
#include "if/textdraw.h"
#include "if/textlib.h"
#include "if/types.h"
#include "lb/lb_00B0.h"
#include "lb/lb_00CE.h"
#include "lb/lbarchive.h"
#include "lb/lbaudio_ax.h"
#include "lb/lblanguage.h"
#include "lb/lbspdisplay.h"
#include "lb/lbvector.h"
#include "mn/inlines.h"
#include "mn/mnmain.h"
#include "MSL/math.h"
#include "sc/types.h"
#include "ty/types.h"
#include <math_ppc.h>
#include <trigf.h>

Data Structures

struct  TySortElemInt

Functions

static void _tyDisplay_8031830C (TySortElem *, s32, s32)
static void _tyDisplay_80318714 (TySortElem *, s32, s32)
static void _tyDisplay_80318B1C (s32 arg0)
static void _tyDisplay_80318CB4 (s32)
static void _tyDisplay_80319540 (s32)
static void _tyDisplay_80319994 (s32)
static void _tyDisplay_80319EF0 (void)
static void _tyDisplay_8031A4EC (HSD_GObj *)
static void _tyDisplay_8031A94C (HSD_GObj *)
static void _tyDisplay_8031B1FC (void)
static void _tyDisplay_8031B328 (void)
static void _tyDisplay_8031B850 (void)
static void _tyDisplay_8031BA78 (s32, s32, f32)
static s32 _tyDisplay_8031BBF4 (s8)
static HSD_GObj_tyDisplay_8031BC54 (s32)
static void _tyDisplay_8031BF34 (s32 arg0)
static void _tyDisplay_8031C1D0 (void)
 STATIC_ASSERT (sizeof(_tyDisplay_devtext_buf)==0x36)
 STATIC_ASSERT (sizeof(_tyDisplay_804A2DD0)==0x18)
static void order_data_0 (void)
static void order_data_44 (void)
static TySortElemtyDisplay_SortElemAtOffset (TySortElem *base, size_t offset)
static void order_sdata2_0 (void)
static TySortElemInttyDisplay_GetSortElem (size_t offset, TySortElemInt *base)
static f32 _tyDisplay_80318CB4_calc_dist_sq (f32 dz, f32 dx)
static void _tyDisplay_80318CB4_place_toys (TyDspGrid *grid, TyDspConfig *cfg)
static TySortElemtyDisplay_GetGridSortElem (size_t offset, TyDspGrid *grid)
static void _tyDisplay_80319540_sort_and_place (TyDspConfig *cfg, TyDspGrid *grid)
static void _tyDisplay_80319994_sort_pos (TyDspGrid *grid, s32 count, s32 *n2, s32 *pivot)
static TySortElem tyDisplay_GetSortElemValue (TySortElem *elem)
static void order_data_A8 (void)
static void order_data_110 (void)
static void tyDisplay_SetGridSize (TyDspConfig *cfg, TyDspGrid *grid)
void tyDisplay_OnEnter_8031B460 (void *arg0)
void tyDisplay_OnFrame_8031B9A4 (void)
TyDspEntrytyDisplay_8031B9DC (s32 id)
s32 tyDisplay_8031BB34 (s8 idx)
char * tyDisplay_8031BB94 (s8 idx)
static HSD_JObjun_8031BF34_inline (void)
void tyDisplay_8031C2CC (void)
s32 tyDisplay_8031C2EC (void)
s32 tyDisplay_8031C354 (s32 id, s32 buf[], s32 max, s32 kind)
s32 tyDisplay_8031C454 (s32 arg0)
void * un_8031C5E4_inline (HSD_Archive **arg0, u8 arg1, const char *arg2)
HSD_JObjtyDisplay_8031C5E4 (s32 arg0)
void tyDisplay_8031C8B8 (void)

Variables

static char _tyDisplay_devtext_buf [9 *(3 *2)]
static TyDspArchiveHolder _tyDisplay_804A2DD0
static HSD_Archive_tyDisplay_804A2DE8 [0xB0/sizeof(HSD_Archive *)]
static HSD_JObj ** _tyDisplay_804D6F10
static TyDspGrid_tyDisplay_804D6F14
static TyDspConfig_tyDisplay_804D6F18
static TyDspBgData_tyDisplay_804D6F1C
static s32 _tyDisplay_804D6F20
static DevText_tyDisplay_804D6F24
static s32 _tyDisplay_804D6F28
static HSD_GObj_tyDisplay_804D6F2C
static char _tyDisplay_803FF01C [] = "ToyDspStand_Top_joint"
static u16 _tyDisplay_804D5ABC [] = { 0x15 }
static GXColor const _tyDisplay_color_C8C8C8FF = { 0xC8, 0xC8, 0xC8, 0xFF }
static HSD_WObjDesc _tyDisplay_803FF11C
static HSD_WObjDesc _tyDisplay_803FF130
static HSD_CameraDescPerspective _tyDisplay_803FF144
static TyDspArchNames const _tyDisplay_803B8988
 The three name tables below are emitted back-to-back; tyDisplay_8031C454 and tyDisplay_8031C5E4 address them as a single TyDspNameTables block, matching how the retail code indexes across the adjacent tables from the first one.
static TyDspArchNames const _tyDisplay_803B8A34
static TyDspArchNames const _tyDisplay_803B8AE0
static GXColor const _tyDisplay_804DE024 = { 0xE2, 0xE2, 0xE2, 0xFF }
static GXColor const _tyDisplay_804DE028 = { 0x40, 0x80, 0xD0, 0x60 }

Function Documentation

◆ _tyDisplay_8031830C()

void _tyDisplay_8031830C ( TySortElem * base,
s32 lo,
s32 hi )
static

◆ _tyDisplay_80318714()

void _tyDisplay_80318714 ( TySortElem * base_,
s32 lo,
s32 hi )
static

◆ _tyDisplay_80318B1C()

void _tyDisplay_80318B1C ( s32 arg0)
static

◆ _tyDisplay_80318CB4()

void _tyDisplay_80318CB4 ( s32 arg0)
static

◆ _tyDisplay_80319540()

void _tyDisplay_80319540 ( s32 arg0)
static

◆ _tyDisplay_80319994()

void _tyDisplay_80319994 ( s32 arg0)
static

◆ _tyDisplay_80319EF0()

void _tyDisplay_80319EF0 ( void )
static

◆ _tyDisplay_8031A4EC()

void _tyDisplay_8031A4EC ( HSD_GObj * arg0)
static

◆ _tyDisplay_8031A94C()

void _tyDisplay_8031A94C ( HSD_GObj * arg0)
static

◆ _tyDisplay_8031B1FC()

void _tyDisplay_8031B1FC ( void )
static

◆ _tyDisplay_8031B328()

void _tyDisplay_8031B328 ( void )
static
Todo
.data order hack

◆ _tyDisplay_8031B850()

void _tyDisplay_8031B850 ( void )
static

◆ _tyDisplay_8031BA78()

void _tyDisplay_8031BA78 ( s32 arg0,
s32 arg1,
f32 farg0 )
static

◆ _tyDisplay_8031BBF4()

s32 _tyDisplay_8031BBF4 ( s8 arg0)
static

◆ _tyDisplay_8031BC54()

HSD_GObj * _tyDisplay_8031BC54 ( s32 arg0)
static

◆ _tyDisplay_8031BF34()

void _tyDisplay_8031BF34 ( s32 arg0)
static

◆ _tyDisplay_8031C1D0()

void _tyDisplay_8031C1D0 ( void )
static

◆ STATIC_ASSERT() [1/2]

STATIC_ASSERT ( sizeof(_tyDisplay_devtext_buf) = =0x36)

◆ STATIC_ASSERT() [2/2]

STATIC_ASSERT ( sizeof(_tyDisplay_804A2DD0) = =0x18)

◆ order_data_0()

void order_data_0 ( void )
static
Todo
.data order hack

◆ order_data_44()

void order_data_44 ( void )
static
Todo
.data order hack

◆ tyDisplay_SortElemAtOffset()

TySortElem * tyDisplay_SortElemAtOffset ( TySortElem * base,
size_t offset )
inlinestatic

◆ order_sdata2_0()

void order_sdata2_0 ( void )
static
Todo
.sdata2 order hack

◆ tyDisplay_GetSortElem()

TySortElemInt * tyDisplay_GetSortElem ( size_t offset,
TySortElemInt * base )
inlinestatic

◆ _tyDisplay_80318CB4_calc_dist_sq()

f32 _tyDisplay_80318CB4_calc_dist_sq ( f32 dz,
f32 dx )
inlinestatic

◆ _tyDisplay_80318CB4_place_toys()

void _tyDisplay_80318CB4_place_toys ( TyDspGrid * grid,
TyDspConfig * cfg )
inlinestatic

◆ tyDisplay_GetGridSortElem()

TySortElem * tyDisplay_GetGridSortElem ( size_t offset,
TyDspGrid * grid )
inlinestatic

◆ _tyDisplay_80319540_sort_and_place()

void _tyDisplay_80319540_sort_and_place ( TyDspConfig * cfg,
TyDspGrid * grid )
inlinestatic

◆ _tyDisplay_80319994_sort_pos()

void _tyDisplay_80319994_sort_pos ( TyDspGrid * grid,
s32 count,
s32 * n2,
s32 * pivot )
inlinestatic

◆ tyDisplay_GetSortElemValue()

TySortElem tyDisplay_GetSortElemValue ( TySortElem * elem)
inlinestatic

◆ order_data_A8()

void order_data_A8 ( void )
static
Todo
.data order hack

◆ order_data_110()

void order_data_110 ( void )
static
Todo
.data order hack

◆ tyDisplay_SetGridSize()

void tyDisplay_SetGridSize ( TyDspConfig * cfg,
TyDspGrid * grid )
inlinestatic

◆ tyDisplay_OnEnter_8031B460()

void tyDisplay_OnEnter_8031B460 ( void * arg0)

◆ tyDisplay_OnFrame_8031B9A4()

void tyDisplay_OnFrame_8031B9A4 ( void )

◆ tyDisplay_8031B9DC()

TyDspEntry * tyDisplay_8031B9DC ( s32 id)

◆ tyDisplay_8031BB34()

s32 tyDisplay_8031BB34 ( s8 idx)

◆ tyDisplay_8031BB94()

char * tyDisplay_8031BB94 ( s8 idx)

◆ un_8031BF34_inline()

HSD_JObj * un_8031BF34_inline ( void )
inlinestatic

◆ tyDisplay_8031C2CC()

void tyDisplay_8031C2CC ( void )

◆ tyDisplay_8031C2EC()

s32 tyDisplay_8031C2EC ( void )

◆ tyDisplay_8031C354()

s32 tyDisplay_8031C354 ( s32 id,
s32 buf[],
s32 max,
s32 kind )

◆ tyDisplay_8031C454()

s32 tyDisplay_8031C454 ( s32 arg0)

◆ un_8031C5E4_inline()

void * un_8031C5E4_inline ( HSD_Archive ** arg0,
u8 arg1,
const char * arg2 )
inline

◆ tyDisplay_8031C5E4()

HSD_JObj * tyDisplay_8031C5E4 ( s32 arg0)

◆ tyDisplay_8031C8B8()

void tyDisplay_8031C8B8 ( void )

Variable Documentation

◆ _tyDisplay_devtext_buf

char _tyDisplay_devtext_buf[9 *(3 *2)]
static

◆ _tyDisplay_804A2DD0

TyDspArchiveHolder _tyDisplay_804A2DD0
static

◆ _tyDisplay_804A2DE8

HSD_Archive* _tyDisplay_804A2DE8[0xB0/sizeof(HSD_Archive *)]
static

◆ _tyDisplay_804D6F10

HSD_JObj** _tyDisplay_804D6F10
static

◆ _tyDisplay_804D6F14

TyDspGrid* _tyDisplay_804D6F14
static

◆ _tyDisplay_804D6F18

TyDspConfig* _tyDisplay_804D6F18
static

◆ _tyDisplay_804D6F1C

TyDspBgData* _tyDisplay_804D6F1C
static

◆ _tyDisplay_804D6F20

s32 _tyDisplay_804D6F20
static

◆ _tyDisplay_804D6F24

DevText* _tyDisplay_804D6F24
static

◆ _tyDisplay_804D6F28

s32 _tyDisplay_804D6F28
static

◆ _tyDisplay_804D6F2C

HSD_GObj* _tyDisplay_804D6F2C
static

◆ _tyDisplay_803FF01C

char _tyDisplay_803FF01C[] = "ToyDspStand_Top_joint"
static
Todo
Not de-duplicated in tyDisplay_8031BB34, therefore not a literal?

◆ _tyDisplay_804D5ABC

u16 _tyDisplay_804D5ABC[] = { 0x15 }
static

◆ _tyDisplay_color_C8C8C8FF

GXColor const _tyDisplay_color_C8C8C8FF = { 0xC8, 0xC8, 0xC8, 0xFF }
static

◆ _tyDisplay_803FF11C

HSD_WObjDesc _tyDisplay_803FF11C
static
Initial value:
= {
{ 0.0f, 130.0f, 500.0f },
}
#define NULL
Definition stddef.h:19

◆ _tyDisplay_803FF130

HSD_WObjDesc _tyDisplay_803FF130
static
Initial value:
= {
{ 0.0f, 0.0f, 0.0f },
}

◆ _tyDisplay_803FF144

HSD_CameraDescPerspective _tyDisplay_803FF144
static
Initial value:
= {
0,
{ 0, 640, 0, 480 },
{ 0, 640, 0, 480 },
0.0f,
0.1f,
(float) 0x8000,
30.0f,
913.0f / 750.0f,
}
#define PROJ_PERSPECTIVE
Definition cobj.h:13
static HSD_WObjDesc _tyDisplay_803FF130
Definition tydisplay.c:1632
static HSD_WObjDesc _tyDisplay_803FF11C
Definition tydisplay.c:1627

◆ _tyDisplay_803B8988

TyDspArchNames const _tyDisplay_803B8988
static
Initial value:
= {
{
"ToyDspQues_Top_joint", "ToyDspMycharaCmA_Top_joint",
"ToyDspMycharaCmB_Top_joint", "ToyDspMycharaCmC_Top_joint",
"ToyDspMycharaCmD_Top_joint", "ToyDspMycharaCmE_Top_joint",
"ToyDspMycharaR1A_Top_joint", "ToyDspMycharaR1B_Top_joint",
"ToyDspMycharaR1C_Top_joint", "ToyDspMycharaR1D_Top_joint",
"ToyDspMycharaR1E_Top_joint", "ToyDspMycharaR2A_Top_joint",
"ToyDspMycharaR2B_Top_joint", "ToyDspMycharaR2C_Top_joint",
"ToyDspMycharaR2D_Top_joint", "ToyDspMycharaR2E_Top_joint",
"ToyDspMapA_Top_joint", "ToyDspMapB_Top_joint",
"ToyDspMapC_Top_joint", "ToyDspMapD_Top_joint",
"ToyDspMapE_Top_joint", "ToyDspFgseriesA_Top_joint",
"ToyDspFgseriesB_Top_joint", "ToyDspFgseriesC_Top_joint",
"ToyDspFgseriesD_Top_joint", "ToyDspFgseriesE_Top_joint",
"ToyDspFgetcA_Top_joint", "ToyDspFgetcB_Top_joint",
"ToyDspFgetcC_Top_joint", "ToyDspFgetcD_Top_joint",
"ToyDspFgetcE_Top_joint", "ToyDspPokemonA_Top_joint",
"ToyDspPokemonB_Top_joint", "ToyDspPokemonC_Top_joint",
"ToyDspPokemonD_Top_joint", "ToyDspPokemonE_Top_joint",
"ToyDspItemA_Top_joint", "ToyDspItemB_Top_joint",
"ToyDspItemC_Top_joint", "ToyDspItemD_Top_joint",
"ToyDspItemE_Top_joint", "ToyDspStand_Top_joint",
"ToyDspQues_Top_joint",
},
}

The three name tables below are emitted back-to-back; tyDisplay_8031C454 and tyDisplay_8031C5E4 address them as a single TyDspNameTables block, matching how the retail code indexes across the adjacent tables from the first one.

◆ _tyDisplay_803B8A34

TyDspArchNames const _tyDisplay_803B8A34
static

◆ _tyDisplay_803B8AE0

TyDspArchNames const _tyDisplay_803B8AE0
static
Initial value:
= {
{
"TyQuesD.dat", "TyMycCmA.dat", "TyMycCmB.dat", "TyMycCmC.dat",
"TyMycCmD.dat", "TyMycCmE.dat", "TyMycR1A.dat", "TyMycR1B.dat",
"TyMycR1C.dat", "TyMycR1D.dat", "TyMycR1E.dat", "TyMycR2A.dat",
"TyMycR2B.dat", "TyMycR2C.dat", "TyMycR2D.dat", "TyMycR2E.dat",
"TyMapA.dat", "TyMapB.dat", "TyMapC.dat", "TyMapD.dat",
"TyMapE.dat", "TySeriA.dat", "TySeriB.dat", "TySeriC.dat",
"TySeriD.dat", "TySeriE.dat", "TyEtcA.dat", "TyEtcB.dat",
"TyEtcC.dat", "TyEtcD.dat", "TyEtcE.dat", "TyPokeA.dat",
"TyPokeB.dat", "TyPokeC.dat", "TyPokeD.dat", "TyPokeE.dat",
"TyItemA.dat", "TyItemB.dat", "TyItemC.dat", "TyItemD.dat",
"TyItemE.dat", "TyStandD.dat", "TyQuesD.dat",
},
}

◆ _tyDisplay_804DE024

GXColor const _tyDisplay_804DE024 = { 0xE2, 0xE2, 0xE2, 0xFF }
static

◆ _tyDisplay_804DE028

GXColor const _tyDisplay_804DE028 = { 0x40, 0x80, 0xD0, 0x60 }
static