/******************************************************************************** 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() };