/*************************************************************************************************** Convert from NINGEN (wing_base) ****************************************************************************************************/ static Vtx vtx_wing_base_0[] = { { -105, 212, 0, 0, 0, 0, 0, 0, 127, 255}, { -105, 0, 0, 0, 0, 2012, 0, 0, 127, 255}, { 0, 0, 0, 0, 990, 2012, 0, 0, 127, 255}, { 0, 212, 0, 0, 990, 0, 0, 0, 127, 255}, }; static Vtx vtx_wing_base_1[] = { { 0, 0, 0, 0, 0, 2012, 0, 0, 127, 255}, { 106, 212, 0, 0, 990, 0, 0, 0, 127, 255}, { 0, 212, 0, 0, 0, 0, 0, 0, 127, 255}, { 106, 0, 0, 0, 990, 2012, 0, 0, 127, 255}, }; static Gfx gfx_wing_base_0[] = { gsSPVertex(&vtx_wing_base_0[0], 4, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 0, 2, 3, 0), gsSPEndDisplayList() }; static Gfx gfx_wing_base_1[] = { gsSPVertex(&vtx_wing_base_1[0], 4, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 0, 3, 1, 0), gsSPEndDisplayList() }; /* -------------------------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------------------------- */ /* ================================================================================ : Moving one wing [ Opaque ]. =================================================================================== */ Gfx RCP_move_wing[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), gsSPClearGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0, 0,0,0, 0,0,0), gsSPTexture(0xffff,0xffff, 0, 0, G_ON), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD), gsSPLight((&light_mario[2].l[0]),1 ), gsSPLight((&light_mario[2].a ),2 ), gs_Tani_LoadTextureImage2(h_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_0), gs_Tani_LoadTextureImage2(h_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_1), gsSPTexture(0xffff,0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsSPEndDisplayList() }; /* ================================================================================ : Moving one wing [ Trans ]. =================================================================================== */ Gfx RCP_move_wing_xlu[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_DECALRGB_TEXELENVA, G_CC_DECALRGB_TEXELENVA), gsSPClearGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0, 0,0,0, 0,0,0), gsSPTexture(0xffff,0xffff, 0, 0, G_ON), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD), gsSPLight((&light_mario[2].l[0]),1 ), gsSPLight((&light_mario[2].a ),2 ), gs_Tani_LoadTextureImage2(h_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_0), gs_Tani_LoadTextureImage2(h_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_1), gsSPTexture(0xffff,0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_MARIO_NORMAL, G_CC_MARIO_NORMAL), gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsSPEndDisplayList() }; /* ================================================================================ : Moving one metal wing [ Opaque ]. =================================================================================== */ Gfx RCP_move_metal_wing[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), gsSPClearGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0, 0,0,0, 0,0,0), gsSPTexture(0xffff,0xffff, 0, 0, G_ON), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD), gsSPLight((&light_mario[2].l[0]),1 ), gsSPLight((&light_mario[2].a ),2 ), gs_Tani_LoadTextureImage2(h_metal_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_0), gs_Tani_LoadTextureImage2(h_metal_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_1), gsSPTexture(0xffff,0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsSPEndDisplayList() }; /* ================================================================================ : Moving one metal wing. =================================================================================== */ Gfx RCP_move_metal_wing_xlu[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), gsSPTexture((0x07c0*2), 0x07c0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetCombineMode(G_CC_DECALRGB_TEXELENVA, G_CC_DECALRGB_TEXELENVA), gsSPClearGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0, 0,0,0, 0,0,0), gsSPTexture(0xffff,0xffff, 0, 0, G_ON), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD), gs_Tani_LoadTextureImage2(h_metal_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_0), gs_Tani_LoadTextureImage2(h_metal_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPDisplayList(gfx_wing_base_1), gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN|G_SHADING_SMOOTH|G_CULL_BACK), gsDPSetCombineMode(G_CC_DECALRGB_ENVA, G_CC_DECALRGB_ENVA), gsDPLoadTextureBlock(mario_env_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP|G_TX_NOMIRROR, G_TX_WRAP|G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), gsSPTexture((0x07c0*2), 0x07c0, 0, G_TX_RENDERTILE, G_ON), gsSPEndDisplayList() };