From 3f9a24927283d8c3951e97f9f8a810d96d5c1755 Mon Sep 17 00:00:00 2001 From: Reonu Date: Sat, 13 Mar 2021 18:17:22 +0000 Subject: [PATCH] release version --- levels/bob/script.c | 2 +- levels/ccm/area_5/collision.inc.c | 44 ++-- levels/ccm/area_7/collision.inc.c | 178 +++++++++++--- levels/ccm/area_7/geo.inc.c | 1 + levels/ccm/header.inc.h | 15 +- levels/ccm/model.inc.c | 380 +++++++++++++++++++++++++----- levels/ccm/script.c | 2 +- src/game/level_update.c | 1 + src/game/mario_actions_airborne.c | 6 +- src/game/mario_actions_cutscene.c | 35 +++ text/us/dialogs.h | 4 +- 11 files changed, 547 insertions(+), 121 deletions(-) diff --git a/levels/bob/script.c b/levels/bob/script.c index e1fa0ffe..a979846d 100644 --- a/levels/bob/script.c +++ b/levels/bob/script.c @@ -86,7 +86,7 @@ const LevelScript level_bob_entry[] = { WARP_NODE(0x0A, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT), WARP_NODE(0xF0, LEVEL_ENDING, 0x01, 0x00, WARP_NO_CHECKPOINT), WARP_NODE(0xFB, LEVEL_BOB, 0x02, 0x0A, WARP_NO_CHECKPOINT), - OBJECT(MODEL_LUIGINPCBYE, 172, 0, 238, 0, 0, 0, 0x00100000, bhvLuigiNpcBye), + OBJECT(MODEL_LUIGINPCBYE, 172, 0, 238, 0, 180, 0, 0x00100000, bhvLuigiNpcBye), OBJECT(MODEL_NONE, -5, 0, -68, 0, 0, 0, 0x000A0000, bhvInstantActiveWarp), OBJECT(MODEL_WOODEN_SIGNPOST, 15, 0, 99, 0, 180, 0, 0x00040000, bhvMessagePanel), TERRAIN(bob_area_3_collision), diff --git a/levels/ccm/area_5/collision.inc.c b/levels/ccm/area_5/collision.inc.c index f19aa017..307647c4 100644 --- a/levels/ccm/area_5/collision.inc.c +++ b/levels/ccm/area_5/collision.inc.c @@ -1,6 +1,6 @@ const Collision ccm_area_5_collision[] = { COL_INIT(), - COL_VERTEX_INIT(271), + COL_VERTEX_INIT(273), COL_VERTEX(394, 0, 9538), COL_VERTEX(1084, 0, 9538), COL_VERTEX(1084, 345, 8612), @@ -40,7 +40,7 @@ const Collision ccm_area_5_collision[] = { COL_VERTEX(-559, 2312, 7448), COL_VERTEX(-296, 2455, 7448), COL_VERTEX(-296, 2943, 7448), - COL_VERTEX(-559, 2943, 7448), + COL_VERTEX(-559, 5606, 7448), COL_VERTEX(-987, 345, 8612), COL_VERTEX(-296, 345, 8612), COL_VERTEX(-296, 345, 7448), @@ -94,7 +94,7 @@ const Collision ccm_area_5_collision[] = { COL_VERTEX(-400, 2943, 10126), COL_VERTEX(440, 2943, 10126), COL_VERTEX(1049, 2943, 10126), - COL_VERTEX(-559, 2943, 8139), + COL_VERTEX(-559, 5606, 8139), COL_VERTEX(-559, 2312, 8139), COL_VERTEX(-559, 1056, 7448), COL_VERTEX(-559, 1056, 8139), @@ -248,8 +248,8 @@ const Collision ccm_area_5_collision[] = { COL_VERTEX(1049, 7880, 15226), COL_VERTEX(-400, 7880, 15071), COL_VERTEX(-1014, 7880, 15071), - COL_VERTEX(-1092, 2943, 7448), - COL_VERTEX(-1092, 2943, 8139), + COL_VERTEX(-1092, 5606, 7448), + COL_VERTEX(-1092, 5606, 8139), COL_VERTEX(-1096, 6233, 13978), COL_VERTEX(-1096, 6433, 13978), COL_VERTEX(-1096, 6433, 11688), @@ -258,6 +258,8 @@ const Collision ccm_area_5_collision[] = { COL_VERTEX(1005, 6233, 11688), COL_VERTEX(1005, 6433, 13978), COL_VERTEX(1005, 6233, 13978), + COL_VERTEX(-1092, 2914, 8139), + COL_VERTEX(-559, 2914, 8139), COL_VERTEX(-396, 3430, 10098), COL_VERTEX(444, 3430, 10098), COL_VERTEX(-400, 3480, 10951), @@ -272,7 +274,7 @@ const Collision ccm_area_5_collision[] = { COL_VERTEX(440, 5529, 13985), COL_VERTEX(440, 5479, 13985), COL_VERTEX(-400, 5479, 13985), - COL_TRI_INIT(SURFACE_DEFAULT, 435), + COL_TRI_INIT(SURFACE_DEFAULT, 437), COL_TRI(0, 1, 2), COL_TRI(0, 2, 3), COL_TRI(3, 2, 4), @@ -453,14 +455,14 @@ const Collision ccm_area_5_collision[] = { COL_TRI(120, 78, 77), COL_TRI(70, 121, 119), COL_TRI(70, 119, 71), - COL_TRI(76, 39, 120), - COL_TRI(76, 120, 77), + COL_TRI(76, 39, 77), + COL_TRI(39, 120, 77), COL_TRI(9, 8, 72), COL_TRI(9, 72, 73), COL_TRI(121, 75, 78), COL_TRI(121, 78, 119), - COL_TRI(39, 38, 74), - COL_TRI(39, 74, 120), + COL_TRI(39, 38, 120), + COL_TRI(38, 74, 120), COL_TRI(88, 87, 122), COL_TRI(88, 122, 123), COL_TRI(87, 89, 124), @@ -708,22 +710,24 @@ const Collision ccm_area_5_collision[] = { COL_TRI(256, 250, 249), COL_TRI(252, 254, 256), COL_TRI(252, 256, 249), + COL_TRI(93, 248, 257), + COL_TRI(93, 257, 258), COL_TRI_INIT(SURFACE_INSTANT_WARP_1B, 2), COL_TRI(253, 251, 250), COL_TRI(253, 250, 255), COL_TRI_INIT(SURFACE_HANGABLE, 12), - COL_TRI(158, 257, 258), - COL_TRI(158, 258, 165), - COL_TRI(259, 260, 261), - COL_TRI(259, 261, 262), - COL_TRI(260, 259, 263), - COL_TRI(260, 263, 264), - COL_TRI(158, 165, 265), - COL_TRI(158, 265, 266), - COL_TRI(264, 263, 267), - COL_TRI(264, 267, 268), + COL_TRI(158, 259, 260), + COL_TRI(158, 260, 165), + COL_TRI(261, 262, 263), + COL_TRI(261, 263, 264), + COL_TRI(262, 261, 265), + COL_TRI(262, 265, 266), + COL_TRI(158, 165, 267), + COL_TRI(158, 267, 268), COL_TRI(266, 265, 269), COL_TRI(266, 269, 270), + COL_TRI(268, 267, 271), + COL_TRI(268, 271, 272), COL_TRI_STOP(), COL_END() }; diff --git a/levels/ccm/area_7/collision.inc.c b/levels/ccm/area_7/collision.inc.c index 8dbe3141..3f19812f 100644 --- a/levels/ccm/area_7/collision.inc.c +++ b/levels/ccm/area_7/collision.inc.c @@ -1,6 +1,6 @@ const Collision ccm_area_7_collision[] = { COL_INIT(), - COL_VERTEX_INIT(62), + COL_VERTEX_INIT(120), COL_VERTEX(1016, -392, -12548), COL_VERTEX(-1011, -392, -12548), COL_VERTEX(-1011, -21, -7452), @@ -47,6 +47,42 @@ const Collision ccm_area_7_collision[] = { COL_VERTEX(-343, 3811, -3131), COL_VERTEX(-343, 3811, -2757), COL_VERTEX(-343, 3087, -2757), + COL_VERTEX(-3698, -392, -12548), + COL_VERTEX(-1671, -392, -12548), + COL_VERTEX(-1675, -1956, -12548), + COL_VERTEX(-3698, -1956, -12548), + COL_VERTEX(-2962, 546, -4597), + COL_VERTEX(-2962, 1270, -4597), + COL_VERTEX(-2962, 1270, -4971), + COL_VERTEX(-2962, 546, -4971), + COL_VERTEX(-2263, 546, -4971), + COL_VERTEX(-2263, 1270, -4971), + COL_VERTEX(-2263, 1270, -4597), + COL_VERTEX(-2263, 546, -4597), + COL_VERTEX(-3272, 1530, -3801), + COL_VERTEX(-3272, 2254, -3801), + COL_VERTEX(-3272, 2254, -4175), + COL_VERTEX(-3272, 1530, -4175), + COL_VERTEX(-2573, 1530, -4175), + COL_VERTEX(-2573, 2254, -4175), + COL_VERTEX(-2573, 2254, -3801), + COL_VERTEX(-2573, 1530, -3801), + COL_VERTEX(-2562, 2392, -3169), + COL_VERTEX(-2562, 3117, -3169), + COL_VERTEX(-2562, 3117, -3544), + COL_VERTEX(-2562, 2392, -3544), + COL_VERTEX(-1863, 2392, -3544), + COL_VERTEX(-1863, 3117, -3544), + COL_VERTEX(-1863, 3117, -3169), + COL_VERTEX(-1863, 2392, -3169), + COL_VERTEX(-3728, 3087, -2757), + COL_VERTEX(-3728, 3811, -2757), + COL_VERTEX(-3728, 3811, -3131), + COL_VERTEX(-3728, 3087, -3131), + COL_VERTEX(-3029, 3087, -3131), + COL_VERTEX(-3029, 3811, -3131), + COL_VERTEX(-3029, 3811, -2757), + COL_VERTEX(-3029, 3087, -2757), COL_VERTEX(1014, 4251, -3595), COL_VERTEX(1014, 2473, -5062), COL_VERTEX(1014, 5452, -2810), @@ -59,11 +95,33 @@ const Collision ccm_area_7_collision[] = { COL_VERTEX(-1011, 5452, -2810), COL_VERTEX(-1011, 2374, -5062), COL_VERTEX(-1011, 5452, -1436), + COL_VERTEX(-3698, -21, -7452), + COL_VERTEX(-1672, -3, -7452), + COL_VERTEX(-3698, 874, -5062), + COL_VERTEX(-1672, 892, -5062), + COL_VERTEX(-3698, 2651, -3595), + COL_VERTEX(-1672, 2670, -3595), + COL_VERTEX(-3698, 3952, -2810), + COL_VERTEX(-1672, 3970, -2810), + COL_VERTEX(-3698, 3952, -1436), + COL_VERTEX(-1672, 3970, -1436), + COL_VERTEX(-1672, 4251, -3595), + COL_VERTEX(-1672, 2473, -5062), + COL_VERTEX(-1672, 5452, -2810), + COL_VERTEX(-1672, 1578, -7452), + COL_VERTEX(-1672, 5452, -1436), + COL_VERTEX(-1671, 1581, -12548), + COL_VERTEX(-3698, 1500, -12548), + COL_VERTEX(-3698, 1478, -7452), + COL_VERTEX(-3698, 4151, -3595), + COL_VERTEX(-3698, 5452, -2810), + COL_VERTEX(-3698, 2374, -5062), + COL_VERTEX(-3698, 5452, -1436), COL_VERTEX(-1205, -1956, -12548), COL_VERTEX(1205, -1956, -12548), COL_VERTEX(1205, -1956, -13946), COL_VERTEX(-1205, -1956, -13946), - COL_TRI_INIT(SURFACE_NOT_SLIPPERY, 28), + COL_TRI_INIT(SURFACE_NOT_SLIPPERY, 46), COL_TRI(0, 1, 2), COL_TRI(0, 2, 3), COL_TRI(1, 0, 4), @@ -92,27 +150,45 @@ const Collision ccm_area_7_collision[] = { COL_TRI(38, 40, 41), COL_TRI(42, 43, 44), COL_TRI(42, 44, 45), - COL_TRI_INIT(SURFACE_DEFAULT, 38), - COL_TRI(7, 9, 46), - COL_TRI(7, 46, 47), - COL_TRI(9, 11, 48), - COL_TRI(9, 48, 46), - COL_TRI(3, 7, 47), - COL_TRI(3, 47, 49), - COL_TRI(11, 13, 50), - COL_TRI(11, 50, 48), - COL_TRI(0, 3, 49), - COL_TRI(0, 49, 51), - COL_TRI(2, 1, 52), - COL_TRI(2, 52, 53), - COL_TRI(10, 8, 54), - COL_TRI(10, 54, 55), - COL_TRI(6, 2, 53), - COL_TRI(6, 53, 56), - COL_TRI(12, 10, 55), - COL_TRI(12, 55, 57), - COL_TRI(8, 6, 56), - COL_TRI(8, 56, 54), + COL_TRI(46, 47, 48), + COL_TRI(46, 48, 49), + COL_TRI(50, 51, 52), + COL_TRI(50, 52, 53), + COL_TRI(54, 55, 56), + COL_TRI(54, 56, 57), + COL_TRI(58, 59, 60), + COL_TRI(58, 60, 61), + COL_TRI(62, 63, 64), + COL_TRI(62, 64, 65), + COL_TRI(66, 67, 68), + COL_TRI(66, 68, 69), + COL_TRI(70, 71, 72), + COL_TRI(70, 72, 73), + COL_TRI(74, 75, 76), + COL_TRI(74, 76, 77), + COL_TRI(78, 79, 80), + COL_TRI(78, 80, 81), + COL_TRI_INIT(SURFACE_DEFAULT, 86), + COL_TRI(7, 9, 82), + COL_TRI(7, 82, 83), + COL_TRI(9, 11, 84), + COL_TRI(9, 84, 82), + COL_TRI(3, 7, 83), + COL_TRI(3, 83, 85), + COL_TRI(11, 13, 86), + COL_TRI(11, 86, 84), + COL_TRI(0, 3, 85), + COL_TRI(0, 85, 87), + COL_TRI(2, 1, 88), + COL_TRI(2, 88, 89), + COL_TRI(10, 8, 90), + COL_TRI(10, 90, 91), + COL_TRI(6, 2, 89), + COL_TRI(6, 89, 92), + COL_TRI(12, 10, 91), + COL_TRI(12, 91, 93), + COL_TRI(8, 6, 92), + COL_TRI(8, 92, 90), COL_TRI(17, 16, 19), COL_TRI(17, 19, 18), COL_TRI(25, 24, 27), @@ -129,11 +205,59 @@ const Collision ccm_area_7_collision[] = { COL_TRI(41, 43, 42), COL_TRI(43, 40, 39), COL_TRI(43, 39, 44), - COL_TRI(12, 57, 50), - COL_TRI(12, 50, 13), + COL_TRI(12, 93, 86), + COL_TRI(12, 86, 13), + COL_TRI(47, 46, 94), + COL_TRI(47, 94, 95), + COL_TRI(95, 94, 96), + COL_TRI(95, 96, 97), + COL_TRI(97, 96, 98), + COL_TRI(97, 98, 99), + COL_TRI(99, 98, 100), + COL_TRI(99, 100, 101), + COL_TRI(101, 100, 102), + COL_TRI(101, 102, 103), + COL_TRI(97, 99, 104), + COL_TRI(97, 104, 105), + COL_TRI(99, 101, 106), + COL_TRI(99, 106, 104), + COL_TRI(95, 97, 105), + COL_TRI(95, 105, 107), + COL_TRI(101, 103, 108), + COL_TRI(101, 108, 106), + COL_TRI(47, 95, 107), + COL_TRI(47, 107, 109), + COL_TRI(94, 46, 110), + COL_TRI(94, 110, 111), + COL_TRI(100, 98, 112), + COL_TRI(100, 112, 113), + COL_TRI(96, 94, 111), + COL_TRI(96, 111, 114), + COL_TRI(102, 100, 113), + COL_TRI(102, 113, 115), + COL_TRI(98, 96, 114), + COL_TRI(98, 114, 112), + COL_TRI(53, 52, 55), + COL_TRI(53, 55, 54), + COL_TRI(61, 60, 63), + COL_TRI(61, 63, 62), + COL_TRI(55, 52, 51), + COL_TRI(55, 51, 56), + COL_TRI(63, 60, 59), + COL_TRI(63, 59, 64), + COL_TRI(69, 68, 71), + COL_TRI(69, 71, 70), + COL_TRI(71, 68, 67), + COL_TRI(71, 67, 72), + COL_TRI(77, 76, 79), + COL_TRI(77, 79, 78), + COL_TRI(79, 76, 75), + COL_TRI(79, 75, 80), + COL_TRI(102, 115, 108), + COL_TRI(102, 108, 103), COL_TRI_INIT(SURFACE_DEATH_PLANE, 2), - COL_TRI(58, 59, 60), - COL_TRI(58, 60, 61), + COL_TRI(116, 117, 118), + COL_TRI(116, 118, 119), COL_TRI_STOP(), COL_END() }; diff --git a/levels/ccm/area_7/geo.inc.c b/levels/ccm/area_7/geo.inc.c index 4e8f1039..698a1880 100644 --- a/levels/ccm/area_7/geo.inc.c +++ b/levels/ccm/area_7/geo.inc.c @@ -4,6 +4,7 @@ const GeoLayout ccm_area_7_geo[] = { GEO_NODE_START(), GEO_OPEN_NODE(), GEO_TRANSLATE_NODE_WITH_DL(1, 0, 0, -10000, ccm_dl_Plane_008_mesh_layer_1), + GEO_TRANSLATE_NODE_WITH_DL(1, -2686, 0, -10000, ccm_dl_Plane_012_mesh_layer_1), GEO_CLOSE_NODE(), GEO_RETURN(), }; diff --git a/levels/ccm/header.inc.h b/levels/ccm/header.inc.h index 373dd918..2fcf1d6c 100644 --- a/levels/ccm/header.inc.h +++ b/levels/ccm/header.inc.h @@ -48,6 +48,7 @@ extern Lights1 ccm_dl_RockVertex_layer1_area6_lights; extern Lights1 ccm_dl_Slide_layer1_area6_lights; extern Lights1 ccm_dl_RockWarp_layer1_area6_lights; extern Lights1 ccm_dl_Snow_002_layer1_area7_lights; +extern Lights1 ccm_dl_RockVertex_layer1_area7_lights; extern u8 ccm_dl_SUPER_MARIO_64_E8E37186_0_2_all_ci8[]; extern u8 ccm_dl_SUPER_MARIO_64_E8E37186_0_2_all_ci8_pal_rgba16[]; extern u8 ccm_dl_SUPER_MARIO_64_E8E37186_0_2_all_ci8_copy[]; @@ -136,9 +137,9 @@ extern Vtx ccm_dl_Mountains_003_mesh_layer_1_vtx_cull[8]; extern Vtx ccm_dl_Mountains_003_mesh_layer_1_vtx_0[20]; extern Gfx ccm_dl_Mountains_003_mesh_layer_1_tri_0[]; extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_cull[8]; -extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[318]; +extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[306]; extern Gfx ccm_dl_Plane_004_mesh_layer_1_tri_0[]; -extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115]; +extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[151]; extern Gfx ccm_dl_Plane_004_mesh_layer_1_tri_1[]; extern Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_2[4]; extern Gfx ccm_dl_Plane_004_mesh_layer_1_tri_2[]; @@ -184,6 +185,13 @@ extern Vtx ccm_dl_Plane_008_mesh_layer_1_vtx_0[48]; extern Gfx ccm_dl_Plane_008_mesh_layer_1_tri_0[]; extern Vtx ccm_dl_Plane_008_mesh_layer_1_vtx_1[52]; extern Gfx ccm_dl_Plane_008_mesh_layer_1_tri_1[]; +extern Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_cull[8]; +extern Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_0[42]; +extern Gfx ccm_dl_Plane_012_mesh_layer_1_tri_0[]; +extern Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_1[36]; +extern Gfx ccm_dl_Plane_012_mesh_layer_1_tri_1[]; +extern Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_2[24]; +extern Gfx ccm_dl_Plane_012_mesh_layer_1_tri_2[]; extern Gfx mat_ccm_dl_Snow_layer1_area1[]; extern Gfx mat_revert_ccm_dl_Snow_layer1_area1[]; extern Gfx mat_ccm_dl_snowVertexColor[]; @@ -227,6 +235,8 @@ extern Gfx mat_ccm_dl_RockWarp_layer1_area6[]; extern Gfx mat_revert_ccm_dl_RockWarp_layer1_area6[]; extern Gfx mat_ccm_dl_Snow_002_layer1_area7[]; extern Gfx mat_revert_ccm_dl_Snow_002_layer1_area7[]; +extern Gfx mat_ccm_dl_RockVertex_layer1_area7[]; +extern Gfx mat_revert_ccm_dl_RockVertex_layer1_area7[]; extern Gfx ccm_dl_Mountains_mesh_layer_1[]; extern Gfx ccm_dl_Mountains_001_mesh_layer_1[]; extern Gfx ccm_dl_Mountains_002_mesh_layer_1[]; @@ -257,4 +267,5 @@ extern Gfx ccm_dl_Mountain_007_mesh_layer_1[]; extern Gfx ccm_dl_Mountain_008_mesh_layer_1[]; extern Gfx ccm_dl_Plane_007_mesh_layer_1[]; extern Gfx ccm_dl_Plane_008_mesh_layer_1[]; +extern Gfx ccm_dl_Plane_012_mesh_layer_1[]; extern Gfx ccm_dl_material_revert_render_settings[]; diff --git a/levels/ccm/model.inc.c b/levels/ccm/model.inc.c index f36fa10f..de5f769b 100644 --- a/levels/ccm/model.inc.c +++ b/levels/ccm/model.inc.c @@ -86,6 +86,10 @@ Lights1 ccm_dl_Snow_002_layer1_area7_lights = gdSPDefLights1( 0x7F, 0x7F, 0x7F, 0xFE, 0xFE, 0xFE, 0x28, 0x28, 0x28); +Lights1 ccm_dl_RockVertex_layer1_area7_lights = gdSPDefLights1( + 0x7F, 0x7F, 0x7F, + 0xFE, 0xFE, 0xFE, 0x28, 0x28, 0x28); + Gfx ccm_dl_SUPER_MARIO_64_E8E37186_0_2_all_ci8_aligner[] = {gsSPEndDisplayList()}; u8 ccm_dl_SUPER_MARIO_64_E8E37186_0_2_all_ci8[] = { 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, @@ -4341,7 +4345,7 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_cull[8] = { {{{956, 7880, -2344},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, }; -Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[318] = { +Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[306] = { {{{-528, 1101, 1046},0, {808, 6612},{0x26, 0xDA, 0x73, 0xFF}}}, {{{-528, 1101, 892},0, {805, 6780},{0x26, 0xDA, 0x8D, 0xFF}}}, {{{312, 1101, 892},0, {-112, 6761},{0xDA, 0xDA, 0x8D, 0xFF}}}, @@ -4557,7 +4561,7 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[318] = { {{{-1142, 336, 1046},0, {1425, 6707},{0x0, 0xA6, 0x5A, 0xFF}}}, {{{-1142, 336, 892},0, {1424, 6866},{0x0, 0xA6, 0xA6, 0xFF}}}, {{{-424, 2943, 7},0, {704, 7699},{0x0, 0x0, 0x81, 0xFF}}}, - {{{-1115, 2943, 7},0, {1594, 7718},{0x84, 0x0, 0xE4, 0xFF}}}, + {{{-1115, 2943, 7},0, {1594, 7718},{0xFA, 0x0, 0x81, 0xFF}}}, {{{-1115, 4406, 7},0, {1755, 7655},{0x98, 0x45, 0xE9, 0xFF}}}, {{{-424, 4406, 7},0, {734, 7634},{0x0, 0x5A, 0xA6, 0xFF}}}, {{{-687, 4406, 210},0, {1126, 7338},{0xEB, 0x54, 0x5D, 0xFF}}}, @@ -4581,22 +4585,6 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[318] = { {{{956, 0, 2300},0, {741, 1988},{0x5F, 0x53, 0xF, 0xFF}}}, {{{956, -771, 5495},0, {-575, -6538},{0x7F, 0x0, 0x0, 0xFF}}}, {{{956, 0, 5495},0, {1440, -6369},{0x49, 0x49, 0xB7, 0xFF}}}, - {{{-687, 1056, 902},0, {978, 6777},{0x49, 0x49, 0xB7, 0xFF}}}, - {{{-687, 1056, 210},0, {968, 7540},{0x26, 0x26, 0x73, 0xFF}}}, - {{{-1211, 1056, 210},0, {1546, 7552},{0x49, 0x49, 0x49, 0xFF}}}, - {{{-1211, 1056, 902},0, {1549, 6789},{0x49, 0x49, 0xB7, 0xFF}}}, - {{{-1211, 1564, 902},0, {1591, 6736},{0x49, 0xB7, 0xB7, 0xFF}}}, - {{{-1211, 1564, 210},0, {1587, 7529},{0x49, 0xB7, 0x49, 0xFF}}}, - {{{-687, 1564, 210},0, {987, 7516},{0x26, 0xDA, 0x73, 0xFF}}}, - {{{-687, 1564, 902},0, {997, 6724},{0x49, 0xB7, 0xB7, 0xFF}}}, - {{{-687, 1740, 902},0, {1004, 6704},{0x49, 0x49, 0xB7, 0xFF}}}, - {{{-687, 1740, 210},0, {994, 7508},{0x26, 0x26, 0x73, 0xFF}}}, - {{{-1229, 1740, 210},0, {1623, 7521},{0x49, 0x49, 0x49, 0xFF}}}, - {{{-1229, 1740, 902},0, {1626, 6717},{0x49, 0x49, 0xB7, 0xFF}}}, - {{{-1229, 2312, 902},0, {1679, 6650},{0x49, 0xB7, 0xB7, 0xFF}}}, - {{{-1229, 2312, 210},0, {1676, 7491},{0x49, 0xB7, 0x49, 0xFF}}}, - {{{-687, 2312, 210},0, {1017, 7478},{0x26, 0xDA, 0x73, 0xFF}}}, - {{{-687, 2312, 902},0, {1027, 6637},{0x49, 0xB7, 0xB7, 0xFF}}}, {{{-1142, 2943, 3713},0, {1644, 3182},{0xA6, 0x5A, 0x0, 0xFF}}}, {{{-1142, 2717, 3713},0, {1623, 3273},{0xA6, 0xA6, 0x0, 0xFF}}}, {{{-1142, 2717, 4231},0, {1625, 2695},{0xB0, 0xA5, 0x26, 0xFF}}}, @@ -4637,20 +4625,24 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_0[318] = { {{{312, 3430, 3713},0, {-133, 2942},{0x49, 0x49, 0x49, 0xFF}}}, {{{269, 2943, 3713},0, {-55, 3151},{0x0, 0x0, 0x7F, 0xFF}}}, {{{312, 2943, 3713},0, {-107, 3151},{0x5A, 0x0, 0x5A, 0xFF}}}, - {{{-687, 2943, 902},0, {1056, 6555},{0x5A, 0x5A, 0x0, 0xFF}}}, - {{{-687, 2943, 210},0, {1046, 7441},{0x17, 0x28, 0x76, 0xFF}}}, - {{{-1220, 2943, 210},0, {1730, 7455},{0x0, 0x7F, 0x0, 0xFF}}}, - {{{-1220, 2943, 902},0, {1732, 6568},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-687, 5606, 902},0, {1056, 6555},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-687, 5606, 210},0, {1046, 7441},{0x57, 0x5B, 0x14, 0xFF}}}, + {{{-1220, 5606, 210},0, {1730, 7455},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{-1220, 5606, 902},0, {1732, 6568},{0x0, 0x5A, 0x5A, 0xFF}}}, {{{-808, 2943, 3182},0, {1236, 3788},{0xDA, 0x73, 0xDA, 0xFF}}}, {{{-580, 2943, 3182},0, {958, 3783},{0x26, 0x73, 0xDA, 0xFF}}}, {{{-528, 2943, 2889},0, {889, 4126},{0x3E, 0x5C, 0x3E, 0xFF}}}, {{{-808, 3161, 3182},0, {1249, 3708},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-808, 2943, 3182},0, {1236, 3788},{0xDA, 0x73, 0xDA, 0xFF}}}, {{{-808, 3161, 3420},0, {1252, 3427},{0xB7, 0x49, 0x49, 0xFF}}}, + {{{-808, 3161, 3182},0, {1249, 3708},{0xB7, 0x49, 0xB7, 0xFF}}}, {{{-808, 2943, 3420},0, {1238, 3512},{0xDA, 0x73, 0x26, 0xFF}}}, {{{-580, 3161, 3420},0, {970, 3422},{0x49, 0x49, 0x49, 0xFF}}}, {{{-580, 2943, 3420},0, {962, 3507},{0x26, 0x73, 0x26, 0xFF}}}, {{{-1142, 2943, 3713},0, {1644, 3182},{0xA6, 0x5A, 0x0, 0xFF}}}, {{{-528, 2943, 3713},0, {903, 3169},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{-580, 2943, 3182},0, {958, 3783},{0x26, 0x73, 0xDA, 0xFF}}}, + {{{-528, 2943, 2889},0, {889, 4126},{0x3E, 0x5C, 0x3E, 0xFF}}}, {{{-580, 3161, 3182},0, {966, 3703},{0x49, 0x49, 0xB7, 0xFF}}}, {{{-1224, 6233, 6740},0, {2181, -2968},{0xB7, 0xB7, 0x49, 0xFF}}}, {{{-1224, 6433, 6740},0, {2218, -3208},{0xB7, 0x49, 0x49, 0xFF}}}, @@ -4799,18 +4791,18 @@ Gfx ccm_dl_Plane_004_mesh_layer_1_tri_0[] = { gsSP2Triangles(8, 11, 9, 0, 11, 12, 9, 0), gsSP2Triangles(11, 13, 12, 0, 13, 14, 12, 0), gsSP2Triangles(13, 15, 14, 0, 16, 17, 18, 0), - gsSP2Triangles(16, 18, 19, 0, 18, 20, 19, 0), - gsSP2Triangles(18, 21, 20, 0, 22, 20, 21, 0), - gsSP2Triangles(22, 23, 20, 0, 23, 19, 20, 0), - gsSP2Triangles(23, 16, 19, 0, 24, 25, 26, 0), - gsSP2Triangles(24, 26, 27, 0, 26, 28, 27, 0), - gsSP2Triangles(26, 29, 28, 0, 30, 28, 29, 0), - gsSP2Triangles(30, 31, 28, 0, 31, 27, 28, 0), - gsSP1Triangle(31, 24, 27, 0), + gsSP2Triangles(16, 18, 19, 0, 20, 16, 19, 0), + gsSP2Triangles(20, 19, 21, 0, 21, 19, 22, 0), + gsSP2Triangles(23, 20, 21, 0, 24, 25, 26, 0), + gsSP2Triangles(24, 26, 27, 0, 28, 27, 26, 0), + gsSP2Triangles(28, 29, 27, 0, 30, 29, 28, 0), + gsSP2Triangles(30, 31, 29, 0, 29, 31, 24, 0), + gsSP1Triangle(29, 24, 27, 0), gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_0 + 255, 32, 0), gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), - gsSP2Triangles(5, 3, 6, 0, 7, 4, 5, 0), + gsSP2Triangles(4, 3, 2, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), + gsSP2Triangles(5, 7, 0, 0, 5, 0, 3, 0), gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), gsSP2Triangles(12, 11, 10, 0, 12, 13, 11, 0), gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), @@ -4820,32 +4812,24 @@ Gfx ccm_dl_Plane_004_mesh_layer_1_tri_0[] = { gsSP2Triangles(22, 21, 20, 0, 22, 23, 21, 0), gsSP2Triangles(21, 23, 16, 0, 21, 16, 19, 0), gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), - gsSP2Triangles(28, 27, 26, 0, 28, 29, 27, 0), - gsSP2Triangles(30, 29, 28, 0, 30, 31, 29, 0), - gsSP2Triangles(29, 31, 24, 0, 29, 24, 27, 0), - gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_0 + 287, 31, 0), - gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 3, 2, 0, 4, 5, 3, 0), - gsSP2Triangles(6, 5, 4, 0, 6, 7, 5, 0), - gsSP2Triangles(5, 7, 0, 0, 5, 0, 3, 0), - gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), - gsSP2Triangles(12, 13, 14, 0, 13, 12, 15, 0), - gsSP2Triangles(12, 16, 15, 0, 12, 17, 16, 0), - gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), - gsSP2Triangles(19, 17, 20, 0, 19, 20, 21, 0), - gsSP2Triangles(13, 19, 21, 0, 13, 21, 14, 0), - gsSP2Triangles(19, 13, 22, 0, 13, 15, 22, 0), - gsSP2Triangles(22, 15, 16, 0, 22, 16, 18, 0), - gsSP2Triangles(19, 22, 18, 0, 23, 24, 25, 0), - gsSP2Triangles(26, 24, 23, 0, 27, 26, 23, 0), - gsSP2Triangles(23, 25, 27, 0, 27, 25, 28, 0), - gsSP2Triangles(27, 28, 29, 0, 29, 28, 30, 0), - gsSP2Triangles(29, 30, 26, 0, 26, 30, 24, 0), - gsSP1Triangle(27, 29, 26, 0), + gsSP2Triangles(28, 29, 30, 0, 29, 28, 31, 0), + gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_0 + 287, 19, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(3, 4, 1, 0, 3, 5, 4, 0), + gsSP2Triangles(5, 3, 6, 0, 5, 6, 7, 0), + gsSP2Triangles(8, 5, 7, 0, 8, 7, 9, 0), + gsSP2Triangles(5, 8, 10, 0, 8, 2, 10, 0), + gsSP2Triangles(10, 2, 1, 0, 10, 1, 4, 0), + gsSP2Triangles(5, 10, 4, 0, 11, 12, 13, 0), + gsSP2Triangles(14, 12, 11, 0, 15, 14, 11, 0), + gsSP2Triangles(11, 13, 15, 0, 15, 13, 16, 0), + gsSP2Triangles(15, 16, 17, 0, 17, 16, 18, 0), + gsSP2Triangles(17, 18, 14, 0, 14, 18, 12, 0), + gsSP1Triangle(15, 17, 14, 0), gsSPEndDisplayList(), }; -Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115] = { +Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[151] = { {{{-528, 2943, 892},0, {254, -231},{0x0, 0x5A, 0xA6, 0xFF}}}, {{{-1142, 2717, 892},0, {-600, 111},{0x0, 0x0, 0x81, 0xFF}}}, {{{-1142, 2943, 892},0, {-614, -216},{0x0, 0x5A, 0xA6, 0xFF}}}, @@ -4888,10 +4872,10 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115] = { {{{956, 2943, 7},0, {83, 105},{0x72, 0x0, 0xC7, 0xFF}}}, {{{956, -423, 210},0, {-110, 3300},{0x7F, 0x0, 0x0, 0xFF}}}, {{{956, -423, 7},0, {83, 3300},{0x7F, 0x0, 0x0, 0xFF}}}, - {{{-687, 2312, 210},0, {2131, -1137},{0x26, 0xDA, 0x73, 0xFF}}}, - {{{-687, 2943, 210},0, {2115, -3228},{0x17, 0x28, 0x76, 0xFF}}}, - {{{-687, 2943, 902},0, {-166, -3195},{0x5A, 0x5A, 0x0, 0xFF}}}, - {{{-687, 2312, 902},0, {-141, -1109},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-687, 2312, 210},0, {4697, 4626},{0x26, 0xDA, 0x73, 0xFF}}}, + {{{-687, 5606, 210},0, {4697, -2556},{0x57, 0x5B, 0x14, 0xFF}}}, + {{{-687, 5606, 902},0, {3190, -2556},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-687, 2312, 902},0, {3190, 4626},{0x49, 0xB7, 0xB7, 0xFF}}}, {{{-687, 345, 210},0, {2181, 5283},{0x44, 0x53, 0x44, 0xFF}}}, {{{-687, 1056, 210},0, {2163, 2981},{0x26, 0x26, 0x73, 0xFF}}}, {{{-687, 1056, 902},0, {-92, 2995},{0x49, 0x49, 0xB7, 0xFF}}}, @@ -4914,10 +4898,10 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115] = { {{{266, 2943, 210},0, {1788, 388},{0x0, 0x0, 0x7F, 0xFF}}}, {{{266, 4406, 210},0, {1791, -2183},{0x0, 0x5A, 0x5A, 0xFF}}}, {{{-424, 4406, 210},0, {578, -2180},{0x0, 0x5A, 0x5A, 0xFF}}}, - {{{-687, 2943, 210},0, {119, 388},{0x17, 0x28, 0x76, 0xFF}}}, {{{-687, 4406, 210},0, {117, -2178},{0xEB, 0x54, 0x5D, 0xFF}}}, - {{{-1115, 2943, 7},0, {-530, 367},{0x84, 0x0, 0xE4, 0xFF}}}, + {{{-687, 5606, 210},0, {119, 388},{0x57, 0x5B, 0x14, 0xFF}}}, {{{-1115, 4406, 7},0, {-533, -2024},{0x98, 0x45, 0xE9, 0xFF}}}, + {{{-1115, 2943, 7},0, {-530, 367},{0xFA, 0x0, 0x81, 0xFF}}}, {{{-687, 2312, 210},0, {120, 1490},{0x26, 0xDA, 0x73, 0xFF}}}, {{{-424, 2455, 210},0, {578, 1241},{0x0, 0x0, 0x7F, 0xFF}}}, {{{-687, 1740, 210},0, {121, 2486},{0x26, 0x26, 0x73, 0xFF}}}, @@ -4937,10 +4921,42 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115] = { {{{266, 1876, 210},0, {1786, 2254},{0x0, 0x0, 0x7F, 0xFF}}}, {{{266, 2013, 210},0, {1786, 2016},{0x0, 0x0, 0x7F, 0xFF}}}, {{{266, 2455, 210},0, {1787, 1243},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-1211, 1056, 210},0, {-476, -815},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-1211, 1564, 210},0, {-476, 730},{0x49, 0xB7, 0x49, 0xFF}}}, + {{{-1211, 1564, 902},0, {1625, 730},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1211, 1056, 902},0, {1625, -815},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-687, 1056, 902},0, {1972, 13571},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-687, 1056, 210},0, {1953, 15097},{0x26, 0x26, 0x73, 0xFF}}}, + {{{-1211, 1056, 210},0, {3108, 15121},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-1211, 1056, 902},0, {3115, 13594},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-687, 1564, 210},0, {1990, 15049},{0x26, 0xDA, 0x73, 0xFF}}}, + {{{-687, 1564, 902},0, {2009, 13464},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1211, 1564, 902},0, {3197, 13488},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1211, 1564, 210},0, {3191, 15074},{0x49, 0xB7, 0x49, 0xFF}}}, + {{{-687, 1564, 902},0, {2383, 903},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-687, 1056, 902},0, {2383, -788},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-1211, 1056, 902},0, {-701, -788},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-1211, 1564, 902},0, {-701, 903},{0x49, 0xB7, 0xB7, 0xFF}}}, {{{-687, 1564, 210},0, {2150, 1322},{0x26, 0xDA, 0x73, 0xFF}}}, {{{-687, 1740, 210},0, {2146, 745},{0x26, 0x26, 0x73, 0xFF}}}, {{{-687, 1740, 902},0, {-119, 766},{0x49, 0x49, 0xB7, 0xFF}}}, {{{-687, 1564, 902},0, {-112, 1342},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-687, 1740, 902},0, {2023, 13425},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-687, 1740, 210},0, {2003, 15032},{0x26, 0x26, 0x73, 0xFF}}}, + {{{-1229, 1740, 210},0, {3262, 15058},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-1229, 1740, 902},0, {3268, 13450},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-1229, 1740, 210},0, {1261, 730},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-1229, 2312, 210},0, {-476, 730},{0x49, 0xB7, 0x49, 0xFF}}}, + {{{-1229, 2312, 902},0, {-476, 2831},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1229, 1740, 902},0, {1261, 2831},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-687, 2312, 210},0, {2050, 14971},{0x26, 0xDA, 0x73, 0xFF}}}, + {{{-687, 2312, 902},0, {2070, 13290},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1229, 2312, 902},0, {3373, 13316},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-1229, 2312, 210},0, {3369, 14999},{0x49, 0xB7, 0x49, 0xFF}}}, + {{{-687, 2312, 902},0, {-701, 903},{0x49, 0xB7, 0xB7, 0xFF}}}, + {{{-687, 1740, 902},0, {-701, 2804},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-1229, 1740, 902},0, {2486, 2804},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-1229, 2312, 902},0, {2486, 903},{0x49, 0xB7, 0xB7, 0xFF}}}, {{{921, 6247, 7242},0, {-1150, 964},{0x5A, 0x0, 0xA6, 0xFF}}}, {{{312, 6465, 7242},0, {78, 513},{0x0, 0x5A, 0xA6, 0xFF}}}, {{{921, 6465, 7242},0, {-1152, 525},{0x49, 0x49, 0xB7, 0xFF}}}, @@ -4961,6 +4977,10 @@ Vtx ccm_dl_Plane_004_mesh_layer_1_vtx_1[115] = { {{{-528, 6465, 7833},0, {1729, 523},{0x0, 0x5A, 0xA6, 0xFF}}}, {{{-1142, 7880, 7833},0, {2858, -2151},{0xB7, 0x49, 0xB7, 0xFF}}}, {{{-1142, 6465, 7833},0, {2891, 512},{0x8D, 0x26, 0xDA, 0xFF}}}, + {{{-687, 5606, 902},0, {1282, 663},{0x49, 0x49, 0x49, 0xFF}}}, + {{{-1220, 5606, 902},0, {-774, 663},{0x0, 0x5A, 0x5A, 0xFF}}}, + {{{-1220, 2914, 902},0, {-774, 6534},{0x0, 0x0, 0x7F, 0xFF}}}, + {{{-687, 2914, 902},0, {1282, 6534},{0x0, 0x0, 0x7F, 0xFF}}}, }; Gfx ccm_dl_Plane_004_mesh_layer_1_tri_1[] = { @@ -4995,9 +5015,9 @@ Gfx ccm_dl_Plane_004_mesh_layer_1_tri_1[] = { gsSP2Triangles(29, 28, 30, 0, 29, 30, 31, 0), gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_1 + 64, 31, 0), gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), - gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), - gsSP2Triangles(6, 4, 5, 0, 6, 5, 7, 0), - gsSP2Triangles(8, 0, 4, 0, 8, 9, 0, 0), + gsSP2Triangles(0, 3, 4, 0, 5, 0, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 5, 6, 0), + gsSP2Triangles(8, 0, 5, 0, 8, 9, 0, 0), gsSP2Triangles(10, 9, 8, 0, 10, 8, 11, 0), gsSP2Triangles(10, 11, 12, 0, 10, 13, 9, 0), gsSP2Triangles(14, 13, 10, 0, 14, 15, 13, 0), @@ -5010,7 +5030,16 @@ Gfx ccm_dl_Plane_004_mesh_layer_1_tri_1[] = { gsSP2Triangles(13, 25, 26, 0, 13, 26, 9, 0), gsSP2Triangles(9, 26, 1, 0, 9, 1, 0, 0), gsSP2Triangles(27, 28, 29, 0, 27, 29, 30, 0), - gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_1 + 95, 20, 0), + gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_1 + 95, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ccm_dl_Plane_004_mesh_layer_1_vtx_1 + 127, 24, 0), gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), gsSP2Triangles(5, 6, 3, 0, 5, 7, 6, 0), @@ -5020,6 +5049,7 @@ Gfx ccm_dl_Plane_004_mesh_layer_1_tri_1[] = { gsSP2Triangles(12, 13, 14, 0, 12, 15, 13, 0), gsSP2Triangles(15, 16, 13, 0, 15, 17, 16, 0), gsSP2Triangles(17, 18, 16, 0, 17, 19, 18, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), gsSPEndDisplayList(), }; @@ -5999,6 +6029,178 @@ Gfx ccm_dl_Plane_008_mesh_layer_1_tri_1[] = { gsSPEndDisplayList(), }; +Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_cull[8] = { + {{{-1041, -1956, -2548},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{-1041, -1956, 8564},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{-1041, 5452, 8564},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{-1041, 5452, -2548},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{1016, -1956, -2548},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{1016, -1956, 8564},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{1016, 5452, 8564},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, + {{{1016, 5452, -2548},0, {-16, -16},{0x0, 0x0, 0x0, 0x0}}}, +}; + +Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_0[42] = { + {{{1016, -392, -2548},0, {6827, -14344},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, -392, -2548},0, {-5218, -14356},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, -21, 2548},0, {-5230, -2169},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, -3, 2548},0, {6807, -2158},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 874, 4938},0, {-5228, 3933},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 892, 4938},0, {6809, 3944},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 2651, 6405},0, {-5218, 9442},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 2670, 6405},0, {6820, 9454},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 3952, 7190},0, {-5210, 13075},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 3970, 7190},0, {6827, 13087},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 3952, 8564},0, {-5213, 16360},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 3970, 8564},0, {6824, 16372},{0x84, 0x4C, 0x24, 0x84}}}, + {{{1014, 3970, 7190},0, {13865, -940},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 3970, 8564},0, {18141, -961},{0x84, 0x4C, 0x24, 0x84}}}, + {{{1014, 5452, 8564},0, {18428, -3469},{0x84, 0x4C, 0x24, 0x84}}}, + {{{1014, 5452, 7190},0, {14059, -3432},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 2670, 6405},0, {11332, 1038},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 4251, 6405},0, {11468, -1361},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 892, 4938},0, {6885, 3612},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 2473, 4938},0, {6927, 1336},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, -3, 2548},0, {43, 4838},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 1578, 2548},0, {-52, 2635},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1016, -392, -2548},0, {-13970, 5309},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1016, 1581, -2548},0, {-14427, 2628},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, -21, 2548},0, {4449, 4634},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, -392, -2548},0, {17994, 5008},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 1500, -2548},0, {19096, 2662},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 1478, 2548},0, {4601, 2758},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 874, 4938},0, {-2096, 3569},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 2374, 4938},0, {-2298, 1575},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 2651, 6405},0, {-6668, 1203},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 4151, 6405},0, {-7152, -1067},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 3952, 7190},0, {-9520, -738},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 2651, 6405},0, {-6668, 1203},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 4151, 6405},0, {-7152, -1067},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 5452, 7190},0, {-10206, -3248},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 3952, 8564},0, {-13777, -716},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 5452, 8564},0, {-14724, -3224},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 3952, 8564},0, {6040, 2251},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{-1011, 5452, 8564},0, {6037, -753},{0x84, 0x4C, 0x24, 0xFF}}}, + {{{1014, 5452, 8564},0, {-2249, -714},{0x84, 0x4C, 0x24, 0x84}}}, + {{{1014, 3970, 8564},0, {-1935, 2250},{0x84, 0x4C, 0x24, 0x84}}}, +}; + +Gfx ccm_dl_Plane_012_mesh_layer_1_tri_0[] = { + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_0 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(3, 2, 4, 0, 3, 4, 5, 0), + gsSP2Triangles(5, 4, 6, 0, 5, 6, 7, 0), + gsSP2Triangles(7, 6, 8, 0, 7, 8, 9, 0), + gsSP2Triangles(9, 8, 10, 0, 9, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 12, 15, 0, 16, 15, 17, 0), + gsSP2Triangles(18, 16, 17, 0, 18, 17, 19, 0), + gsSP2Triangles(20, 18, 19, 0, 20, 19, 21, 0), + gsSP2Triangles(22, 20, 21, 0, 22, 21, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 24, 27, 0, 28, 27, 29, 0), + gsSP2Triangles(30, 28, 29, 0, 30, 29, 31, 0), + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_0 + 32, 10, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 0, 3, 0, 4, 3, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 8, 9, 0), + gsSPEndDisplayList(), +}; + +Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_1[36] = { + {{{-1011, -392, -2548},0, {-92, -1512},{0x45, 0x49, 0xB2, 0xFF}}}, + {{{1016, -392, -2548},0, {1005, -1429},{0xBB, 0x48, 0xB2, 0xFF}}}, + {{{1011, -1956, -2548},0, {1022, -1692},{0x0, 0x0, 0x81, 0xFF}}}, + {{{-1011, -1956, -2548},0, {-73, -1774},{0x0, 0x0, 0x81, 0xFF}}}, + {{{-275, 546, 5403},0, {368, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-275, 1270, 5403},0, {624, 1008},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{-275, 1270, 5029},0, {624, 752},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-275, 546, 5029},0, {368, 752},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{423, 546, 5029},0, {368, 496},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{423, 1270, 5029},0, {624, 496},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{423, 1270, 5403},0, {624, 240},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{423, 546, 5403},0, {368, 240},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{-586, 1530, 6199},0, {368, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-586, 2254, 6199},0, {624, 1008},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{-586, 2254, 5825},0, {624, 752},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-586, 1530, 5825},0, {368, 752},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{113, 1530, 5825},0, {368, 496},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{113, 2254, 5825},0, {624, 496},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{113, 2254, 6199},0, {624, 240},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{113, 1530, 6199},0, {368, 240},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{124, 2392, 6831},0, {368, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{124, 3117, 6831},0, {624, 1008},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{124, 3117, 6456},0, {624, 752},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{124, 2392, 6456},0, {368, 752},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{823, 2392, 6456},0, {368, 496},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{823, 3117, 6456},0, {624, 496},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{823, 3117, 6831},0, {624, 240},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{823, 2392, 6831},0, {368, 240},{0x7F, 0x0, 0x0, 0xFF}}}, + {{{-1041, 3087, 7243},0, {368, 1008},{0x81, 0x0, 0x0, 0xFF}}}, + {{{-1041, 3811, 7243},0, {624, 1008},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{-1041, 3811, 6869},0, {624, 752},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-1041, 3087, 6869},0, {368, 752},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{-343, 3087, 6869},0, {368, 496},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{-343, 3811, 6869},0, {624, 496},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-343, 3811, 7243},0, {624, 240},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{-343, 3087, 7243},0, {368, 240},{0x7F, 0x0, 0x0, 0xFF}}}, +}; + +Gfx ccm_dl_Plane_012_mesh_layer_1_tri_1[] = { + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_1 + 0, 32, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0), + gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 14, 15, 0), + gsSP2Triangles(16, 17, 18, 0, 16, 18, 19, 0), + gsSP2Triangles(20, 21, 22, 0, 20, 22, 23, 0), + gsSP2Triangles(24, 25, 26, 0, 24, 26, 27, 0), + gsSP2Triangles(28, 29, 30, 0, 28, 30, 31, 0), + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_1 + 32, 4, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +Vtx ccm_dl_Plane_012_mesh_layer_1_vtx_2[24] = { + {{{-275, 546, 5029},0, {3045, 3006},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{423, 1270, 5029},0, {-1297, -1090},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{423, 546, 5029},0, {-909, 3061},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{-275, 1270, 5029},0, {3133, -1131},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-275, 1270, 5403},0, {3000, -1781},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{423, 1270, 5403},0, {-1072, -1746},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{-586, 1530, 5825},0, {3045, 3006},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{113, 2254, 5825},0, {-1297, -1090},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{113, 1530, 5825},0, {-909, 3061},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{-586, 2254, 5825},0, {3133, -1131},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-586, 2254, 6199},0, {3000, -1781},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{113, 2254, 6199},0, {-1072, -1746},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{124, 2392, 6456},0, {3045, 3006},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{823, 3117, 6456},0, {-1297, -1090},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{823, 2392, 6456},0, {-909, 3061},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{124, 3117, 6456},0, {3133, -1131},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{124, 3117, 6831},0, {3000, -1781},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{823, 3117, 6831},0, {-1072, -1746},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{-1041, 3087, 6869},0, {3045, 3006},{0xA6, 0x0, 0xA6, 0xFF}}}, + {{{-343, 3811, 6869},0, {-1297, -1090},{0x49, 0x49, 0xB7, 0xFF}}}, + {{{-343, 3087, 6869},0, {-909, 3061},{0x5A, 0x0, 0xA6, 0xFF}}}, + {{{-1041, 3811, 6869},0, {3133, -1131},{0xB7, 0x49, 0xB7, 0xFF}}}, + {{{-1041, 3811, 7243},0, {3000, -1781},{0xA6, 0x5A, 0x0, 0xFF}}}, + {{{-343, 3811, 7243},0, {-1072, -1746},{0x5A, 0x5A, 0x0, 0xFF}}}, +}; + +Gfx ccm_dl_Plane_012_mesh_layer_1_tri_2[] = { + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_2 + 0, 24, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(1, 3, 4, 0, 1, 4, 5, 0), + gsSP2Triangles(6, 7, 8, 0, 6, 9, 7, 0), + gsSP2Triangles(7, 9, 10, 0, 7, 10, 11, 0), + gsSP2Triangles(12, 13, 14, 0, 12, 15, 13, 0), + gsSP2Triangles(13, 15, 16, 0, 13, 16, 17, 0), + gsSP2Triangles(18, 19, 20, 0, 18, 21, 19, 0), + gsSP2Triangles(19, 21, 22, 0, 19, 22, 23, 0), + gsSPEndDisplayList(), +}; + Gfx mat_ccm_dl_Snow_layer1_area1[] = { gsDPPipeSync(), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), @@ -6686,6 +6888,37 @@ Gfx mat_revert_ccm_dl_Snow_002_layer1_area7[] = { gsSPEndDisplayList(), }; +Gfx mat_ccm_dl_RockVertex_layer1_area7[] = { + gsDPPipeSync(), + gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED), + gsDPSetFogColor(255, 255, 255, 255), + gsSPFogPosition(970, 1000), + gsSPSetGeometryMode(G_FOG), + gsSPClearGeometryMode(G_LIGHTING), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPTileSync(), + gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b, 64, ccm_dl_Mountain_rock_dark_texture_i4), + gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 8, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 7, 0), + gsDPLoadSync(), + gsDPLoadTile(7, 0, 0, 254, 252), + gsDPPipeSync(), + gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_4b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 7, 0), + gsDPSetTileSize(0, 0, 0, 508, 252), + gsSPSetLights1(ccm_dl_RockVertex_layer1_area7_lights), + gsSPEndDisplayList(), +}; + +Gfx mat_revert_ccm_dl_RockVertex_layer1_area7[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_FOG), + gsSPSetGeometryMode(G_LIGHTING), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPEndDisplayList(), +}; + Gfx ccm_dl_Mountains_mesh_layer_1[] = { gsSPClearGeometryMode(G_LIGHTING), gsSPVertex(ccm_dl_Mountains_mesh_layer_1_vtx_cull + 0, 8, 0), @@ -7060,6 +7293,23 @@ Gfx ccm_dl_Plane_008_mesh_layer_1[] = { gsSPEndDisplayList(), }; +Gfx ccm_dl_Plane_012_mesh_layer_1[] = { + gsSPClearGeometryMode(G_LIGHTING), + gsSPVertex(ccm_dl_Plane_012_mesh_layer_1_vtx_cull + 0, 8, 0), + gsSPSetGeometryMode(G_LIGHTING), + gsSPCullDisplayList(0, 7), + gsSPDisplayList(mat_ccm_dl_RockVertex_layer1_area7), + gsSPDisplayList(ccm_dl_Plane_012_mesh_layer_1_tri_0), + gsSPDisplayList(mat_revert_ccm_dl_RockVertex_layer1_area7), + gsSPDisplayList(mat_ccm_dl_Snow_002_layer1_area7), + gsSPDisplayList(ccm_dl_Plane_012_mesh_layer_1_tri_1), + gsSPDisplayList(mat_revert_ccm_dl_Snow_002_layer1_area7), + gsSPDisplayList(mat_ccm_dl_SnowWall_001_layer1_area3), + gsSPDisplayList(ccm_dl_Plane_012_mesh_layer_1_tri_2), + gsSPDisplayList(mat_revert_ccm_dl_SnowWall_001_layer1_area3), + gsSPEndDisplayList(), +}; + Gfx ccm_dl_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), diff --git a/levels/ccm/script.c b/levels/ccm/script.c index ed221338..39e03ead 100644 --- a/levels/ccm/script.c +++ b/levels/ccm/script.c @@ -223,7 +223,7 @@ const LevelScript level_ccm_entry[] = { AREA(7, ccm_area_7), WARP_NODE(0x0A, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT), WARP_NODE(0xF1, LEVEL_CCM, 0x07, 0x0A, WARP_NO_CHECKPOINT), - INSTANT_WARP(0x00, 0x08, 0, 0, 0), + INSTANT_WARP(0x00, 0x07, -2600, 0, 0), WARP_NODE(0xF0, LEVEL_BOB, 0x03, 0x0A, WARP_NO_CHECKPOINT), OBJECT(MODEL_NONE, -21, 3961, -2220, 0, 0, 0, 0x00000000, bhvBigBoulderGenerator), OBJECT(MODEL_NONE, -53, -329, -11680, 0, 0, 0, 0x000A0000, bhvInstantActiveWarp), diff --git a/src/game/level_update.c b/src/game/level_update.c index 88babe09..334f44e1 100644 --- a/src/game/level_update.c +++ b/src/game/level_update.c @@ -593,6 +593,7 @@ void check_instant_warp(void) { } } + s16 music_changed_through_warp(s16 arg) { struct ObjectWarpNode *warpNode = area_get_warp_node(arg); s16 levelNum = warpNode->node.destLevel & 0x7F; diff --git a/src/game/mario_actions_airborne.c b/src/game/mario_actions_airborne.c index 295cd937..87cc12be 100644 --- a/src/game/mario_actions_airborne.c +++ b/src/game/mario_actions_airborne.c @@ -62,7 +62,7 @@ s32 check_fall_damage(struct MarioState *m, u32 hardFallAction) { f32 fallHeight; f32 damageHeight; - fallHeight = m->peakHeight - m->pos[1]; + /*fallHeight = m->peakHeight - m->pos[1]; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wtype-limits" @@ -97,7 +97,7 @@ s32 check_fall_damage(struct MarioState *m, u32 hardFallAction) { } } } - +*/ return FALSE; } @@ -2063,7 +2063,7 @@ s32 mario_execute_airborne_action(struct MarioState *m) { return TRUE; } - play_far_fall_sound(m); + //play_far_fall_sound(m); /* clang-format off */ switch (m->action) { diff --git a/src/game/mario_actions_cutscene.c b/src/game/mario_actions_cutscene.c index b69bcf02..1978dda9 100644 --- a/src/game/mario_actions_cutscene.c +++ b/src/game/mario_actions_cutscene.c @@ -639,6 +639,38 @@ void general_star_dance_handler(struct MarioState *m, s32 isInWater) { } } +void activate_instant_warp(s32 id) { + s16 cameraAngle; + struct Object *obj; + struct InstantWarp *warp = &gCurrentArea->instantWarps[id]; + + if (warp->id != 0) { + gMarioState->pos[0] += warp->displacement[0]; + gMarioState->pos[1] += warp->displacement[1]; + gMarioState->pos[2] += warp->displacement[2]; + + obj = cur_obj_nearest_object_with_behavior(bhvCelebrationStar); + if (obj != NULL) { + obj->oHomeX += warp->displacement[0]; + obj->oHomeY += warp->displacement[1]; + obj->oHomeZ += warp->displacement[2]; + } + + gMarioState->marioObj->oPosX = gMarioState->pos[0]; + gMarioState->marioObj->oPosY = gMarioState->pos[1]; + gMarioState->marioObj->oPosZ = gMarioState->pos[2]; + + cameraAngle = gMarioState->area->camera->yaw; + + change_area(warp->area); + gMarioState->area = gCurrentArea; + + warp_camera(warp->displacement[0], warp->displacement[1], warp->displacement[2]); + + gMarioState->area->camera->yaw = cameraAngle; + } +} + s32 act_star_dance(struct MarioState *m) { m->faceAngle[1] = m->area->camera->yaw; set_mario_animation(m, m->actionState == 2 ? MARIO_ANIM_RETURN_FROM_STAR_DANCE @@ -648,6 +680,9 @@ s32 act_star_dance(struct MarioState *m) { m->marioBodyState->handState = MARIO_HAND_PEACE_SIGN; } if (gCurrAreaIndex == 7) { + if (m->actionTimer == 20){ + activate_instant_warp(0); + } if (m->actionTimer >= 20){ m->marioObj->header.gfx.sharedChild = gLoadedGraphNodes[MODEL_LUIGI]; } diff --git a/text/us/dialogs.h b/text/us/dialogs.h index b4748817..6f32bd1d 100644 --- a/text/us/dialogs.h +++ b/text/us/dialogs.h @@ -85,8 +85,8 @@ out.\n\ \n\ Special thanks to\n\ anonymousmoose,\n\ -wiseguy and cowquack.\n\ -\n\ +Wiseguy, CowQuack\n\ +and MrComit\n\ \n\ Thanks to Sour OG\n\ for porting the betah\n\