sm64/shape/Player/hms_mario.c

860 lines
26 KiB
C

/********************************************************************************
Ultra 64 MARIO Brothers
Normal mario hierarchy data module
Copyright 1995 Nintendo co., ltd. All rights reserved
December 16, 1995
********************************************************************************/
extern ulong CtrlMarioAlpha(int code, MapNode *node, void *data);
extern ulong CtrlMarioRenderMode(int code, MapNode *node);
extern Gfx RCP_mario_head1[];
extern Gfx RCP_mario_head2[];
extern Gfx RCP_mario_head3[];
extern Gfx RCP_mario_head4[];
extern Gfx RCP_mario_head5[];
extern Gfx RCP_mario_head6[];
extern Gfx RCP_mario_head7[];
extern Gfx RCP_mario_head8[];
extern Gfx RCP_mario_far_head1[];
extern Gfx RCP_mario_far_head2[];
extern Gfx RCP_mario_far_head3[];
extern Gfx RCP_mario_far_head4[];
extern Gfx RCP_mario_far_head5[];
extern Gfx RCP_mario_far_head6[];
extern Gfx RCP_mario_far_head7[];
extern Gfx RCP_mario_far_head8[];
extern Gfx RCP_mario_nohat1[];
extern Gfx RCP_mario_nohat2[];
extern Gfx RCP_mario_nohat3[];
extern Gfx RCP_mario_nohat4[];
extern Gfx RCP_mario_nohat5[];
extern Gfx RCP_mario_nohat6[];
extern Gfx RCP_mario_nohat7[];
extern Gfx RCP_mario_nohat8[];
extern Gfx RCP_mario_far_nohat1[];
extern Gfx RCP_mario_far_nohat2[];
extern Gfx RCP_mario_far_nohat3[];
extern Gfx RCP_mario_far_nohat4[];
extern Gfx RCP_mario_far_nohat5[];
extern Gfx RCP_mario_far_nohat6[];
extern Gfx RCP_mario_far_nohat7[];
extern Gfx RCP_mario_far_nohat8[];
extern Gfx RCP_swim_hand_l[];
extern Gfx RCP_swim_hand_r[];
extern Gfx RCP_hat_hand_r[];
extern Gfx RCP_hat_hand_wing[];
extern Gfx RCP_mario_vsign_hand[];
extern Gfx RCP_mario_near_body[];
extern Gfx RCP_mario_mid_body[];
extern Gfx RCP_mario_far_body[];
extern Gfx RCP_mario_near0[];
extern Gfx RCP_mario_near1[];
extern Gfx RCP_mario_near2[];
extern Gfx RCP_mario_near3[];
extern Gfx RCP_mario_near4[];
extern Gfx RCP_mario_near5[];
extern Gfx RCP_mario_near6[];
extern Gfx RCP_mario_near7[];
extern Gfx RCP_mario_near8[];
extern Gfx RCP_mario_near9[];
extern Gfx RCP_mario_near10[];
extern Gfx RCP_mario_near11[];
extern Gfx RCP_mario_near14[];
extern Gfx RCP_mario_mid0[];
extern Gfx RCP_mario_mid1[];
extern Gfx RCP_mario_mid2[];
extern Gfx RCP_mario_mid3[];
extern Gfx RCP_mario_mid4[];
extern Gfx RCP_mario_mid5[];
extern Gfx RCP_mario_mid6[];
extern Gfx RCP_mario_mid7[];
extern Gfx RCP_mario_mid8[];
extern Gfx RCP_mario_mid9[];
extern Gfx RCP_mario_mid10[];
extern Gfx RCP_mario_mid11[];
extern Gfx RCP_mario_mid14[];
extern Gfx RCP_mario_far0[];
extern Gfx RCP_mario_far1[];
extern Gfx RCP_mario_far2[];
extern Gfx RCP_mario_far3[];
extern Gfx RCP_mario_far4[];
extern Gfx RCP_mario_far5[];
extern Gfx RCP_mario_far6[];
extern Gfx RCP_mario_far7[];
extern Gfx RCP_mario_far8[];
extern Gfx RCP_mario_far9[];
extern Gfx RCP_mario_far10[];
extern Gfx RCP_mario_far11[];
extern Gfx RCP_mario_far14[];
// ============================================================================================
//
//
// Normal Mario Hierarchy data.
//
//
/********************************************************************************/
/* Title mario hierarchy map data. */
/********************************************************************************/
static Hierarchy RCP_TitleMarioHierarchy[] = {
hmsJoint(RM_SURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_SURF, RCP_mario_near_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_SURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_SURF, RCP_mario_head1)
hmsGfx(RM_SURF, RCP_mario_head2)
hmsGfx(RM_SURF, RCP_mario_head3)
hmsGfx(RM_SURF, RCP_mario_head4)
hmsGfx(RM_SURF, RCP_mario_head5)
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near0, 60, 0, 0) /* m_lhamd1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near3, 60, 0, 0) /* m_rhand1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Mario right hand with Wing-hat hms data [ Opaque ]. */
/********************************************************************************/
static Hierarchy Hms_WingHat_hand_r[] = {
hmsGroup()
hmsBegin()
hmsGfx(RM_SURF, RCP_hat_hand_r)
hmsGfx(RM_SPRITE, RCP_hat_hand_wing)
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Mario right hand with Wing-hat hms data [ Translucent & Transparent ]. */
/********************************************************************************/
static Hierarchy Hms_WingHat_hand_r_xlu[] = {
hmsGroup()
hmsBegin()
hmsGfx(RM_XSURF, RCP_hat_hand_r)
hmsGfx(RM_XSURF, RCP_hat_hand_wing)
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Near mario hierarchy map data [ Opaque ]. */
/********************************************************************************/
static Hierarchy RCP_NearMarioHierarchy[] = {
hmsJoint(RM_SURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_SURF, RCP_mario_near_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_SURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_SURF, RCP_mario_head1)
hmsGfx(RM_SURF, RCP_mario_head2)
hmsGfx(RM_SURF, RCP_mario_head3)
hmsGfx(RM_SURF, RCP_mario_head4)
hmsGfx(RM_SURF, RCP_mario_head5)
hmsGfx(RM_SURF, RCP_mario_head6)
hmsGfx(RM_SURF, RCP_mario_head7)
hmsGfx(RM_SURF, RCP_mario_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near0, 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near3, 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_near6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Near mario hierarchy map data [ Translucent & Transparent ]. */
/********************************************************************************/
static Hierarchy RCP_NearMarioHierarchy_XLU[] = {
hmsJoint(RM_XSURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_XSURF, RCP_mario_near_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_XSURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_XSURF, RCP_mario_head1)
hmsGfx(RM_XSURF, RCP_mario_head2)
hmsGfx(RM_XSURF, RCP_mario_head3)
hmsGfx(RM_XSURF, RCP_mario_head4)
hmsGfx(RM_XSURF, RCP_mario_head5)
hmsGfx(RM_XSURF, RCP_mario_head6)
hmsGfx(RM_XSURF, RCP_mario_head7)
hmsGfx(RM_XSURF, RCP_mario_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near0, 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near3, 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_near6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Middle mario hierarchy map data [ Opaque ]. */
/********************************************************************************/
static Hierarchy RCP_MidMarioHierarchy[] = {
hmsJoint(RM_SURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_SURF, RCP_mario_mid_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_SURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_SURF, RCP_mario_head1)
hmsGfx(RM_SURF, RCP_mario_head2)
hmsGfx(RM_SURF, RCP_mario_head3)
hmsGfx(RM_SURF, RCP_mario_head4)
hmsGfx(RM_SURF, RCP_mario_head5)
hmsGfx(RM_SURF, RCP_mario_head6)
hmsGfx(RM_SURF, RCP_mario_head7)
hmsGfx(RM_SURF, RCP_mario_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid0 , 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid3 , 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_mid6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Middle mario hierarchy map data [ Translucent & Transparent ]. */
/********************************************************************************/
static Hierarchy RCP_MidMarioHierarchy_XLU[] = {
hmsJoint(RM_XSURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_XSURF, RCP_mario_mid_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_XSURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_XSURF, RCP_mario_head1)
hmsGfx(RM_XSURF, RCP_mario_head2)
hmsGfx(RM_XSURF, RCP_mario_head3)
hmsGfx(RM_XSURF, RCP_mario_head4)
hmsGfx(RM_XSURF, RCP_mario_head5)
hmsGfx(RM_XSURF, RCP_mario_head6)
hmsGfx(RM_XSURF, RCP_mario_head7)
hmsGfx(RM_XSURF, RCP_mario_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid0 , 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid3 , 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_mid6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Far mario hierarchy map data [ Opaque ]. */
/********************************************************************************/
static Hierarchy RCP_FarMarioHierarchy[] = {
hmsJoint(RM_SURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_SURF, RCP_mario_far_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_SURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_SURF, RCP_mario_far_head1)
hmsGfx(RM_SURF, RCP_mario_far_head2)
hmsGfx(RM_SURF, RCP_mario_far_head3)
hmsGfx(RM_SURF, RCP_mario_far_head4)
hmsGfx(RM_SURF, RCP_mario_far_head5)
hmsGfx(RM_SURF, RCP_mario_far_head6)
hmsGfx(RM_SURF, RCP_mario_far_head7)
hmsGfx(RM_SURF, RCP_mario_far_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far0 , 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_SURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far3 , 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_SURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_SURF, RCP_mario_far6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Far mario hierarchy map data [ Translucent & Transparent ]. */
/********************************************************************************/
static Hierarchy RCP_FarMarioHierarchy_XLU[] = {
hmsJoint(RM_XSURF, NULL, 0, 0, 0) /* chn14 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far14, 0, 0, 0) /* m_waist1_3 */
hmsBegin()
hmsCProg(0, MarioProc1)
hmsJoint(RM_XSURF, RCP_mario_far_body, 68, 0, 0) /* m_body1 */
hmsBegin()
hmsJoint(RM_XSURF, NULL, 87, 0, 0) /* m_head2 */
hmsBegin()
hmsCProg(0, CtrlMarioHead)
hmsRotate(0, 0, 0) /* for control by program */
hmsBegin()
hmsSelect(0, CtrlMarioEye) /* for the eye animation */
hmsBegin()
hmsGfx(RM_XSURF, RCP_mario_far_head1)
hmsGfx(RM_XSURF, RCP_mario_far_head2)
hmsGfx(RM_XSURF, RCP_mario_far_head3)
hmsGfx(RM_XSURF, RCP_mario_far_head4)
hmsGfx(RM_XSURF, RCP_mario_far_head5)
hmsGfx(RM_XSURF, RCP_mario_far_head6)
hmsGfx(RM_XSURF, RCP_mario_far_head7)
hmsGfx(RM_XSURF, RCP_mario_far_head8)
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 67, -10, 79) /* chn6 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far2, 0, 0, 0) /* m_larmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far1, 65, 0, 0) /* m_larmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far0 , 60, 0, 0) /* m_lhamd1 */
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsJoint(RM_XSURF, RCP_swim_hand_l, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 68, -10, -79) /* chn10 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far5, 0, 0, 0) /* m_rarmA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far4, 65, 0, 0) /* m_rarmB1 */
hmsBegin()
hmsSelect(0, CtrlMarioHand)
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far3 , 60, 0, 0) /* m_rhand1 */
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_swim_hand_r, 60, 0, 0)
hmsBegin()
hmsSucker(0,0,0, 0,CtrlMarioTaking)
hmsEnd()
hmsJoint(RM_XSURF, RCP_mario_vsign_hand, 60, 0, 0)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, 42) /* chn15 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far11, 0, 0, 0) /* m_llegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far10, 89, 0, 0) /* m_llegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far9, 67, 0, 0) /* m_lfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF, NULL, 13, -8, -42) /* chn17 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far8, 0, 0, 0) /* m_rlegA1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far7, 89, 0, 0) /* m_rlegB1 */
hmsBegin()
hmsJoint(RM_XSURF, RCP_mario_far6, 67, 0, 0) /* m_rfoot1 */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsReturn()
};
/********************************************************************************/
/* Mario hierarchy map data. */
/********************************************************************************/
Hierarchy RCP_MarioHierarchy[] = {
hmsShadow(100, 180, 99)
hmsBegin()
hmsScale(0.25f)
hmsBegin()
hmsCProg(0, CtrlMarioAlpha)
hmsSelect(0, CtrlMarioLOD)
hmsBegin()
hmsSelect(0, CtrlMarioRenderMode)
hmsBegin()
hmsCall(RCP_NearMarioHierarchy)
hmsCall(RCP_NearMarioHierarchy_XLU)
hmsEnd()
hmsGroup()
hmsBegin()
hmsLOD(-2048,600)
hmsBegin()
hmsSelect(0, CtrlMarioRenderMode)
hmsBegin()
hmsCall(RCP_NearMarioHierarchy)
hmsCall(RCP_NearMarioHierarchy_XLU)
hmsEnd()
hmsEnd()
hmsLOD(600,1600)
hmsBegin()
hmsSelect(0, CtrlMarioRenderMode)
hmsBegin()
hmsCall(RCP_MidMarioHierarchy)
hmsCall(RCP_MidMarioHierarchy_XLU)
hmsEnd()
hmsEnd()
hmsLOD(1600,32767)
hmsBegin()
hmsSelect(0, CtrlMarioRenderMode)
hmsBegin()
hmsCall(RCP_FarMarioHierarchy)
hmsCall(RCP_FarMarioHierarchy_XLU)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsExit()
};
/********************************************************************************/
/* Mario hierarchy map data for title. */
/********************************************************************************/
Hierarchy RCP_TitleMario[] = {
hmsScale(0.25f)
hmsBegin()
hmsCall(RCP_TitleMarioHierarchy)
hmsEnd()
hmsExit()
};