script.c (17213B)
1 #include <ultra64.h> 2 #include "sm64.h" 3 #include "behavior_data.h" 4 #include "model_ids.h" 5 #include "seq_ids.h" 6 #include "segment_symbols.h" 7 #include "level_commands.h" 8 9 #include "game/level_update.h" 10 11 #include "levels/scripts.h" 12 13 #include "actors/common1.h" 14 15 #include "make_const_nonconst.h" 16 #include "levels/jrb/header.h" 17 18 static const LevelScript script_func_local_1[] = { 19 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SUNKEN_SHIP, /*pos*/ 2385, 3589, 3727, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvSunkenShipPart, /*acts*/ ACT_1), 20 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SUNKEN_SHIP_BACK, /*pos*/ 2385, 3589, 3727, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvSunkenShipPart, /*acts*/ ACT_1), 21 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_LEFT_HALF_PART, /*pos*/ 5385, -5520, 2428, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvSunkenShipPart2, /*acts*/ ACT_1), 22 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_RIGHT_HALF_PART, /*pos*/ 5385, -5520, 2428, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvSunkenShipPart2, /*acts*/ ACT_1), 23 OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 5385, -5520, 2428, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvInSunkenShip, /*acts*/ ACT_1), 24 OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 5385, -5520, 2428, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvInSunkenShip2, /*acts*/ ACT_1), 25 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_LEFT_HALF_PART, /*pos*/ 4880, 820, 2375, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvShipPart3, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 26 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_BACK_LEFT_PART, /*pos*/ 4880, 820, 2375, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvShipPart3, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 27 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_RIGHT_HALF_PART, /*pos*/ 4880, 820, 2375, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvShipPart3, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 28 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SHIP_BACK_RIGHT_PART, /*pos*/ 4880, 820, 2375, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvShipPart3, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 29 OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 4880, 820, 2375, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvInSunkenShip3, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 30 OBJECT_WITH_ACTS(/*model*/ MODEL_JRB_SLIDING_BOX, /*pos*/ 4668, 1434, 2916, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvJRBSlidingBox, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 31 OBJECT_WITH_ACTS(/*model*/ MODEL_UNAGI, /*pos*/ 6048, -5381, 1154, /*angle*/ 0, 340, 0, /*bhvParam*/ 0, /*bhv*/ bhvUnagi, /*acts*/ ACT_1), 32 OBJECT_WITH_ACTS(/*model*/ MODEL_UNAGI, /*pos*/ 8270, -3130, 1846, /*angle*/ 0, 285, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_2) | BPARAM2(0x01), /*bhv*/ bhvUnagi, /*acts*/ ACT_2), 33 OBJECT_WITH_ACTS(/*model*/ MODEL_UNAGI, /*pos*/ 6048, -5381, 1154, /*angle*/ 0, 340, 0, /*bhvParam*/ BPARAM1(0x02) | BPARAM2(0x02), /*bhv*/ bhvUnagi, /*acts*/ ACT_3 | ACT_4 | ACT_5 | ACT_6), 34 OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 4988, -5221, 2473, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvJetStream, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 35 OBJECT (/*model*/ MODEL_NONE, /*pos*/ -1800, -2812, -2100, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_3), /*bhv*/ bhvTreasureChestsJRB), 36 OBJECT_WITH_ACTS(/*model*/ MODEL_BOBOMB_BUDDY, /*pos*/ -1956, 1331, 6500, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvBobombBuddyOpensCannon, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 37 RETURN(), 38 }; 39 40 static const LevelScript script_func_local_2[] = { 41 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1834, -2556, -7090, /*angle*/ 0, 194, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 42 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -2005, -2556, -3506, /*angle*/ 0, 135, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 43 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1578, -2556, -5554, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 44 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 42, -2556, -6578, /*angle*/ 0, 135, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 45 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -981, -2556, -5298, /*angle*/ 0, 255, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 46 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -6549, 1536, 4343, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 47 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1322, -2556, -3506, /*angle*/ 0, 165, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 48 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 6442, -2556, -6322, /*angle*/ 0, 135, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 49 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 3882, -2556, -5042, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 50 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1497, 1741, 7810, /*angle*/ 0, 14, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 51 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -3978, 1536, -85, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 52 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -5228, 1230, 2106, /*angle*/ 0, 323, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 53 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -7481, 1536, 185, /*angle*/ 0, 149, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 54 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -5749, 1536, -1113, /*angle*/ 0, 255, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 55 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -5332, 1434, 1023, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 56 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -815, -613, 3556, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 57 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -3429, 819, 4948, /*angle*/ 0, 284, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 58 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -1940, 410, 2377, /*angle*/ 0, 194, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 59 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -1798, -716, 4330, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 60 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ -845, 922, 7668, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 61 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 6741, -2886, 3556, /*angle*/ 0, 135, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 62 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 255, -101, 4719, /*angle*/ 0, 45, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 63 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1787, -306, 5133, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 64 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 1079, -613, 2299, /*angle*/ 0, 75, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 65 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 2931, -1697, 980, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 66 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 3036, -4709, 4027, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 67 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 4222, -1125, 7083, /*angle*/ 0, 104, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 68 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 6650, -613, 4941, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 69 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 5764, -4709, 4427, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 70 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 3693, -4709, 856, /*angle*/ 0, 135, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 71 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 7981, 410, 2704, /*angle*/ 0, 165, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 72 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 2917, -3046, 4818, /*angle*/ 0, 241, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 73 OBJECT(/*model*/ MODEL_JRB_ROCK, /*pos*/ 5896, -393, -123, /*angle*/ 0, 315, 0, /*bhvParam*/ 0, /*bhv*/ bhvRockSolid), 74 OBJECT(/*model*/ MODEL_NONE, /*pos*/ 53, 2355, 2724, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM2(41), /*bhv*/ bhvPoleGrabbing), 75 OBJECT(/*model*/ MODEL_NONE, /*pos*/ 659, 2560, 3314, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM2(41), /*bhv*/ bhvPoleGrabbing), 76 OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1087, 2150, 3798, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM2(41), /*bhv*/ bhvPoleGrabbing), 77 OBJECT(/*model*/ MODEL_NONE, /*pos*/ -2535, 1075, 6113, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM2(97), /*bhv*/ bhvPoleGrabbing), 78 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ 2078, -2863, -4696, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 79 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ -1403, -2863, -4696, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 80 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ -1096, -2863, -3262, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 81 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ 337, -2863, -5106, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 82 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ 2078, -2863, -6232, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 83 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR, /*pos*/ 4330, -2863, -5618, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvFallingPillar), 84 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 2078, -2966, -4696, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 85 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ -1403, -2966, -4696, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 86 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ -1096, -2966, -3262, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 87 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 337, -2966, -5106, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 88 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 2078, -2966, -6232, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 89 OBJECT(/*model*/ MODEL_JRB_FALLING_PILLAR_BASE, /*pos*/ 4330, -2966, -5618, /*angle*/ 0, 90, 0, /*bhvParam*/ 0, /*bhv*/ bhvPillarBase), 90 OBJECT(/*model*/ MODEL_JRB_FLOATING_PLATFORM, /*pos*/ -1059, 1025, 7072, /*angle*/ 0, 247, 0, /*bhvParam*/ 0, /*bhv*/ bhvJRBFloatingPlatform), 91 OBJECT(/*model*/ MODEL_NONE, /*pos*/ -4236, 1044, 2136, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvInsideCannon), 92 RETURN(), 93 }; 94 95 static const LevelScript script_func_local_3[] = { 96 OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 4900, 2400, 800, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_4), /*bhv*/ bhvHiddenRedCoinStar, /*acts*/ ALL_ACTS), 97 #if defined(VERSION_JP) || defined(VERSION_SH) 98 OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 1540, 2160, 2130, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_5), /*bhv*/ bhvStar, /*acts*/ ALL_ACTS), 99 #else 100 OBJECT_WITH_ACTS(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 1540, 2160, 2130, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_5) | BPARAM2(EXCLAMATION_BOX_BP_STAR_ACT_1), /*bhv*/ bhvExclamationBox, /*acts*/ ALL_ACTS), 101 #endif 102 OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 5000, -4800, 2500, /*angle*/ 0, 0, 0, /*bhvParam*/ BPARAM1(STAR_INDEX_ACT_6), /*bhv*/ bhvStar, /*acts*/ ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6), 103 RETURN(), 104 }; 105 106 static const LevelScript script_func_local_4[] = { 107 OBJECT(/*model*/ MODEL_NONE, /*pos*/ 400, -350, -2700, /*angle*/ 0, 0, 0, /*bhvParam*/ 0, /*bhv*/ bhvTreasureChestsShip), 108 RETURN(), 109 }; 110 111 static const LevelScript script_func_local_5[] = { 112 RETURN(), 113 }; 114 115 const LevelScript level_jrb_entry[] = { 116 INIT_LEVEL(), 117 LOAD_MIO0 (/*seg*/ 0x07, _jrb_segment_7SegmentRomStart, _jrb_segment_7SegmentRomEnd), 118 LOAD_MIO0 (/*seg*/ 0x0B, _effect_mio0SegmentRomStart, _effect_mio0SegmentRomEnd), 119 LOAD_MIO0_TEXTURE(/*seg*/ 0x09, _water_mio0SegmentRomStart, _water_mio0SegmentRomEnd), 120 LOAD_MIO0 (/*seg*/ 0x0A, _clouds_skybox_mio0SegmentRomStart, _clouds_skybox_mio0SegmentRomEnd), 121 LOAD_MIO0 (/*seg*/ 0x05, _group4_mio0SegmentRomStart, _group4_mio0SegmentRomEnd), 122 LOAD_RAW (/*seg*/ 0x0C, _group4_geoSegmentRomStart, _group4_geoSegmentRomEnd), 123 LOAD_MIO0 (/*seg*/ 0x06, _group13_mio0SegmentRomStart, _group13_mio0SegmentRomEnd), 124 LOAD_RAW (/*seg*/ 0x0D, _group13_geoSegmentRomStart, _group13_geoSegmentRomEnd), 125 LOAD_MIO0 (/*seg*/ 0x08, _common0_mio0SegmentRomStart, _common0_mio0SegmentRomEnd), 126 LOAD_RAW (/*seg*/ 0x0F, _common0_geoSegmentRomStart, _common0_geoSegmentRomEnd), 127 ALLOC_LEVEL_POOL(), 128 MARIO(/*model*/ MODEL_MARIO, /*bhvParam*/ BPARAM4(0x01), /*bhv*/ bhvMario), 129 JUMP_LINK(script_func_global_1), 130 JUMP_LINK(script_func_global_5), 131 JUMP_LINK(script_func_global_14), 132 LOAD_MODEL_FROM_GEO(MODEL_JRB_SHIP_LEFT_HALF_PART, jrb_geo_000978), 133 LOAD_MODEL_FROM_GEO(MODEL_JRB_SHIP_BACK_LEFT_PART, jrb_geo_0009B0), 134 LOAD_MODEL_FROM_GEO(MODEL_JRB_SHIP_RIGHT_HALF_PART, jrb_geo_0009E8), 135 LOAD_MODEL_FROM_GEO(MODEL_JRB_SHIP_BACK_RIGHT_PART, jrb_geo_000A00), 136 LOAD_MODEL_FROM_GEO(MODEL_JRB_SUNKEN_SHIP, jrb_geo_000990), 137 LOAD_MODEL_FROM_GEO(MODEL_JRB_SUNKEN_SHIP_BACK, jrb_geo_0009C8), 138 LOAD_MODEL_FROM_GEO(MODEL_JRB_ROCK, jrb_geo_000930), 139 LOAD_MODEL_FROM_GEO(MODEL_JRB_SLIDING_BOX, jrb_geo_000960), 140 LOAD_MODEL_FROM_GEO(MODEL_JRB_FALLING_PILLAR, jrb_geo_000900), 141 LOAD_MODEL_FROM_GEO(MODEL_JRB_FALLING_PILLAR_BASE, jrb_geo_000918), 142 LOAD_MODEL_FROM_GEO(MODEL_JRB_FLOATING_PLATFORM, jrb_geo_000948), 143 144 AREA(/*index*/ 1, jrb_geo_000A18), 145 OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6750, 2126, 1482, /*angle*/ 0, 90, 0, /*bhvParam*/ BPARAM2(WARP_NODE_0A), /*bhv*/ bhvSpinAirborneWarp), 146 WARP_NODE(/*id*/ WARP_NODE_0A, /*destLevel*/ LEVEL_JRB, /*destArea*/ 1, /*destNode*/ WARP_NODE_0A, /*flags*/ WARP_NO_CHECKPOINT), 147 WARP_NODE(/*id*/ WARP_NODE_WARP_FLOOR, /*destLevel*/ LEVEL_JRB, /*destArea*/ 2, /*destNode*/ WARP_NODE_0A, /*flags*/ WARP_NO_CHECKPOINT), 148 WARP_NODE(/*id*/ WARP_NODE_SUCCESS, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 1, /*destNode*/ WARP_NODE_35, /*flags*/ WARP_NO_CHECKPOINT), 149 WARP_NODE(/*id*/ WARP_NODE_DEATH, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 1, /*destNode*/ WARP_NODE_67, /*flags*/ WARP_NO_CHECKPOINT), 150 WHIRLPOOL(/*unk2*/ 0, /*unk3*/ 3, /*pos*/ 4979, -5222, 2482, /*strength*/ -30), 151 JUMP_LINK(script_func_local_1), 152 JUMP_LINK(script_func_local_2), 153 JUMP_LINK(script_func_local_3), 154 TERRAIN(/*terrainData*/ jrb_seg7_area_1_collision), 155 MACRO_OBJECTS(/*objList*/ jrb_seg7_area_1_macro_objs), 156 SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0003, /*seq*/ SEQ_LEVEL_WATER), 157 TERRAIN_TYPE(/*terrainType*/ TERRAIN_WATER), 158 END_AREA(), 159 160 AREA(/*index*/ 2, jrb_geo_000AFC), 161 OBJECT(/*model*/ MODEL_NONE, /*pos*/ 928, 1050, -1248, /*angle*/ 0, 180, 0, /*bhvParam*/ BPARAM2(WARP_NODE_0A), /*bhv*/ bhvSwimmingWarp), 162 WARP_NODE(/*id*/ WARP_NODE_0A, /*destLevel*/ LEVEL_JRB, /*destArea*/ 2, /*destNode*/ WARP_NODE_0A, /*flags*/ WARP_NO_CHECKPOINT), 163 WARP_NODE(/*id*/ WARP_NODE_SUCCESS, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 1, /*destNode*/ WARP_NODE_35, /*flags*/ WARP_NO_CHECKPOINT), 164 WARP_NODE(/*id*/ WARP_NODE_DEATH, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 1, /*destNode*/ WARP_NODE_67, /*flags*/ WARP_NO_CHECKPOINT), 165 JUMP_LINK(script_func_local_4), 166 JUMP_LINK(script_func_local_5), 167 TERRAIN(/*terrainData*/ jrb_seg7_area_2_collision), 168 MACRO_OBJECTS(/*objList*/ jrb_seg7_area_2_macro_objs), 169 SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0003, /*seq*/ SEQ_LEVEL_WATER), 170 TERRAIN_TYPE(/*terrainType*/ TERRAIN_WATER), 171 END_AREA(), 172 173 FREE_LEVEL_POOL(), 174 MARIO_POS(/*area*/ 1, /*yaw*/ 90, /*pos*/ -6750, 1126, 1482), 175 CALL(/*arg*/ 0, /*func*/ lvl_init_or_update), 176 CALL_LOOP(/*arg*/ 1, /*func*/ lvl_init_or_update), 177 CLEAR_LEVEL(), 178 SLEEP_BEFORE_EXIT(/*frames*/ 1), 179 EXIT(), 180 };