#include #include "sm64.h" #include "behavior_data.h" #include "model_ids.h" #include "seq_ids.h" #include "segment_symbols.h" #include "level_commands.h" #include "game/level_update.h" #include "levels/scripts.h" #include "actors/common1.h" #include "make_const_nonconst.h" #include "levels/ttc/header.h" static const LevelScript script_ttc_macro_objects[] = { // Macro objects OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -1032, -3291, 1070, /*angle*/ 0, 45, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -1881, 1767, -446, /*angle*/ 0, 90, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -1870, 2068, 362, /*angle*/ 0, 90, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -770, -4361, -423, /*angle*/ 0, 225, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -1314, -3691, 788, /*angle*/ 0, 135, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_CUBE, /*pos*/ -1314, -2892, 1353, /*angle*/ 0, 135, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_CUBE << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_PRISM, /*pos*/ 780, 5767, -1027, /*angle*/ 0, 315, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_ROTATING_PRISM, /*pos*/ 1063, 5562, -744, /*angle*/ 0, 315, 0, /*behParam*/ (TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM << 16), /*beh*/ bhvTTCRotatingSolid), OBJECT(/*model*/ MODEL_TTC_PENDULUM, /*pos*/ -1350, 748, -1208, /*angle*/ 0, 45, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCPendulum), OBJECT(/*model*/ MODEL_TTC_PENDULUM, /*pos*/ -690, 901, -910, /*angle*/ 0, 45, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCPendulum), OBJECT(/*model*/ MODEL_TTC_PENDULUM, /*pos*/ -1389, -3030, -1028, /*angle*/ 0, 45, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCPendulum), OBJECT(/*model*/ MODEL_TTC_PENDULUM, /*pos*/ 937, -3867, -1041, /*angle*/ 0, 45, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCPendulum), OBJECT(/*model*/ MODEL_TTC_LARGE_TREADMILL, /*pos*/ -139, -4408, -1056, /*angle*/ 0, 135, 0, /*behParam*/ (TREADMILL_BP_LARGE << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_SMALL_TREADMILL, /*pos*/ 618, 3656, 148, /*angle*/ 0, 90, 0, /*behParam*/ (TREADMILL_BP_SMALL << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_SMALL_TREADMILL, /*pos*/ 963, 3297, 608, /*angle*/ 0, 270, 0, /*behParam*/ (TREADMILL_BP_SMALL << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_SMALL_TREADMILL, /*pos*/ 1306, 2939, 1069, /*angle*/ 0, 90, 0, /*behParam*/ (TREADMILL_BP_SMALL << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_SMALL_TREADMILL, /*pos*/ -1179, -1453, -792, /*angle*/ 0, 315, 0, /*behParam*/ (TREADMILL_BP_SMALL << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ 174, 1248, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 2 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -1321, 1490, -1563, /*angle*/ 0, 45, 0, /*behParam*/ ( 0 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -1076, 1730, -1808, /*angle*/ 0, 45, 0, /*behParam*/ ( 5 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -1319, 1970, -1564, /*angle*/ 0, 45, 0, /*behParam*/ (10 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -517, 3175, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 0 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -170, 1248, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 1 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -515, 1248, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 0 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -175, -1351, -2039, /*angle*/ 0, 0, 0, /*behParam*/ ( 0 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -515, -2590, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 0 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ 518, 3175, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 3 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ -171, 3175, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 1 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_PUSH_BLOCK, /*pos*/ 174, 3175, 2040, /*angle*/ 0, 180, 0, /*behParam*/ ( 2 << 16), /*beh*/ bhvTTCMovingBar), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ 1490, -2088, -873, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ -708, -1606, -1589, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ 954, -1627, -1448, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ 1215, -1781, -1215, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ 1052, -1934, -769, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_TRIANGLE, /*pos*/ -620, 1229, 1233, /*angle*/ 0, 225, 0, /*behParam*/ (TTC_COG_BP_SHAPE_TRIANGLE << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_ROTATING_TRIANGLE, /*pos*/ 1050, -19, -1037, /*angle*/ 0, 315, 0, /*behParam*/ (TTC_COG_BP_SHAPE_TRIANGLE << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_TTC_PIT_BLOCK, /*pos*/ -1100, -71, -1030, /*angle*/ 0, 315, 0, /*behParam*/ (TTC_PIT_BLOCK_BP_0 << 16), /*beh*/ bhvTTCPitBlock), OBJECT(/*model*/ MODEL_TTC_CLOCK_HAND, /*pos*/ 0, 6011, 0, /*angle*/ 0, 225, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_HAND << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_CLOCK_HAND, /*pos*/ 0, -2487, 0, /*angle*/ 0, 45, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_HAND << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1102, -3619, 1682, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 424, -3312, 1959, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1102, -3004, 1682, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1584, -2697, 1200, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1582, -3619, 1203, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ -762, 4347, 1047, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 424, -3926, 1959, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1102, -4233, 1682, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1102, -4848, 1682, /*angle*/ 0, 135, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 424, -4540, 1959, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ -1037, 4244, 772, /*angle*/ 0, 315, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1828, 3835, -50, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1459, 3835, -357, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SPINNER, /*pos*/ 1091, 3835, -665, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvTTCSpinner), OBJECT(/*model*/ MODEL_TTC_SMALL_GEAR, /*pos*/ 1580, -4854, -825, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_SMALL_GEAR, /*pos*/ -1692, 1022, -1157, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_SMALL_GEAR, /*pos*/ 2098, 7007, 2243, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_LARGE_GEAR, /*pos*/ 1801, -4843, -731, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_LARGE_GEAR, /*pos*/ -1477, 1044, -1088, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_TTC_LARGE_GEAR, /*pos*/ 2268, 7030, 2227, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_2D_ROTATOR_BP_2D_COG << 16), /*beh*/ bhvTTC2DRotator), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 800, -4400, 1900, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 800, -3700, 1900, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 800, -3000, 1900, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 1780, -3300, 1000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 1388, -3300, 1428, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 200, -3000, 2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 200, -3700, 2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 200, -4400, 2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin), OBJECT(/*model*/ MODEL_NONE, /*pos*/ -1080, 90, 1575, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upInPoleSpawner), OBJECT(/*model*/ MODEL_TTC_ELEVATOR_PLATFORM, /*pos*/ -1179, 445, 1413, /*angle*/ 0, 45, 0, /*behParam*/ (6 << 16), /*beh*/ bhvTTCElevator), OBJECT(/*model*/ MODEL_TTC_ELEVATOR_PLATFORM, /*pos*/ -1524, -1454, 1129, /*angle*/ 0, 315, 0, /*behParam*/ (2 << 16), /*beh*/ bhvTTCElevator), OBJECT(/*model*/ MODEL_AMP, /*pos*/ -980, -700, 1450, /*angle*/ 0, 0, 0, /*behParam*/ (1 << 16), /*beh*/ bhvCirclingAmp), OBJECT(/*model*/ MODEL_BLUE_COIN_SWITCH, /*pos*/ -1203, -19, -170, /*angle*/ 0, 45, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBlueCoinSwitch), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ 0, 20, -1400, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ -250, 20, -1700, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ 250, 20, -1700, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ 0, 20, -2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ 500, 20, -2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ -500, 20, -2000, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_HEAVE_HO, /*pos*/ 880, -19, 1160, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHeaveHo), OBJECT(/*model*/ MODEL_BOWLING_BALL, /*pos*/ 800, -2460, 160, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFireSpitter), OBJECT(/*model*/ MODEL_NONE, /*pos*/ -1120, -820, 1320, /*angle*/ 0, 45, 0, /*behParam*/ ((COIN_FORMATION_FLAG_NONE) << 16), /*beh*/ bhvCoinFormation), OBJECT(/*model*/ MODEL_BOWLING_BALL, /*pos*/ -571, 6020, -1414, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFireSpitter), OBJECT(/*model*/ MODEL_HEART, /*pos*/ 620, -5150, 1540, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRecoveryHeart), OBJECT(/*model*/ MODEL_NONE, /*pos*/ -520, 1351, 1919, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger), OBJECT(/*model*/ MODEL_NONE, /*pos*/ -165, 1351, 1919, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger), OBJECT(/*model*/ MODEL_NONE, /*pos*/ 182, 1351, 1919, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger), OBJECT(/*model*/ MODEL_1UP, /*pos*/ 657, 1368, 1879, /*angle*/ 0, 0, 0, /*behParam*/ (3 << 16), /*beh*/ bhvHidden1up), OBJECT(/*model*/ MODEL_AMP, /*pos*/ -700, -2350, -700, /*angle*/ 0, 0, 0, /*behParam*/ (1 << 16), /*beh*/ bhvCirclingAmp), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 1883, 4150, 550, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_1UP_WALKING << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_HEART, /*pos*/ -1333, 350, 1116, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRecoveryHeart), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -1101, 6316, -685, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_1UP_WALKING << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_BLACK_BOBOMB, /*pos*/ 1077, -4822, 638, /*angle*/ 0, 0, 0, /*behParam*/ (BOBOMB_BP_STYPE_GENERIC << 16), /*beh*/ bhvBobomb), OBJECT(/*model*/ MODEL_BLACK_BOBOMB, /*pos*/ 1683, -4822, 189, /*angle*/ 0, 0, 0, /*behParam*/ (BOBOMB_BP_STYPE_GENERIC << 16), /*beh*/ bhvBobomb), OBJECT(/*model*/ MODEL_BLUE_COIN, /*pos*/ 0, 20, -1700, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHiddenBlueCoin), OBJECT(/*model*/ MODEL_TTC_ROTATING_HEXAGON, /*pos*/ -1020, 1229, 537, /*angle*/ 0, 0, 0, /*behParam*/ (TTC_COG_BP_SHAPE_HEXAGON << 16), /*beh*/ bhvTTCCog), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 2350, 5600, 2350, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 0, 4783, 0, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -1140, -3720, -1620, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 840, -2200, 860, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_YELLOW_COIN, /*pos*/ -770, -3800, -440, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvYellowCoin), OBJECT(/*model*/ MODEL_YELLOW_COIN, /*pos*/ -770, -3700, -440, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvYellowCoin), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 280, -4920, 1660, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 1240, 300, 840, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 520, 300, 1500, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -400, 3600, 1880, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -40, 4160, -1280, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -1160, 2920, -840, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -780, 6316, -1020, /*angle*/ 0, 45, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox), OBJECT(/*model*/ MODEL_TTC_LARGE_TREADMILL, /*pos*/ 1313, 6190, 1313, /*angle*/ 0, 45, 0, /*behParam*/ ((TREADMILL_BP_UNKNOWN | TREADMILL_BP_LARGE) << 16), /*beh*/ bhvTTCTreadmill), OBJECT(/*model*/ MODEL_TTC_SMALL_TREADMILL, /*pos*/ 1851, -2488, -98, /*angle*/ 0, 0, 0, /*behParam*/ ((TREADMILL_BP_UNKNOWN | TREADMILL_BP_SMALL) << 16), /*beh*/ bhvTTCTreadmill), RETURN(), }; static const LevelScript script_ttc_objects_1[] = { OBJECT(/*model*/ MODEL_NONE, /*pos*/ -1080, -840, 1573, /*angle*/ 0, 0, 0, /*behParam*/ 0x00560000, /*beh*/ bhvPoleGrabbing), OBJECT(/*model*/ MODEL_THWOMP, /*pos*/ 1919, 6191, 1919, /*angle*/ 0, 225, 0, /*behParam*/ 0x00000000, /*beh*/ bhvThwomp2), RETURN(), }; static const LevelScript script_ttc_objects_2[] = { OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ -1450, -1130, -1050, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS), OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ -1850, 300, -950, /*angle*/ 0, 0, 0, /*behParam*/ 0x01000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS), OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ -1300, -2250, -1300, /*angle*/ 0, 0, 0, /*behParam*/ 0x02000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS), OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 2200, 7300, 2210, /*angle*/ 0, 0, 0, /*behParam*/ 0x03000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS), OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ -1050, 2400, -790, /*angle*/ 0, 0, 0, /*behParam*/ 0x04000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS), OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ 1815, -3200, 800, /*angle*/ 0, 0, 0, /*behParam*/ 0x05000000, /*beh*/ bhvHiddenRedCoinStar, /*acts*/ ALL_ACTS), RETURN(), }; const LevelScript level_ttc_entry[] = { INIT_LEVEL(), #include "levels/ttc/areas/script_vanilla_load.inc.c" ALLOC_LEVEL_POOL(), MARIO(/*model*/ MODEL_MARIO, /*behParam*/ 0x00000001, /*beh*/ bhvMario), #include "levels/ttc/areas/script_vanilla.inc.c" AREA(/*index*/ 1, ttc_geo_0003B8), OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1417, -3822, -548, /*angle*/ 0, 316, 0, /*behParam*/ 0x000A0000, /*beh*/ bhvSpinAirborneWarp), WARP_NODE(/*id*/ 0x0A, /*destLevel*/ LEVEL_TTC, /*destArea*/ 0x01, /*destNode*/ 0x0A, /*flags*/ WARP_NO_CHECKPOINT), WARP_NODE(/*id*/ 0xF0, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x02, /*destNode*/ 0x35, /*flags*/ WARP_NO_CHECKPOINT), WARP_NODE(/*id*/ 0xF1, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x02, /*destNode*/ 0x67, /*flags*/ WARP_NO_CHECKPOINT), JUMP_LINK(script_ttc_objects_1), JUMP_LINK(script_ttc_objects_2), TERRAIN(/*terrainData*/ ttc_seg7_collision_level), JUMP_LINK(script_ttc_macro_objects), SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0001, /*seq*/ SEQ_LEVEL_SLIDE), TERRAIN_TYPE(/*terrainType*/ TERRAIN_STONE), END_AREA(), FREE_LEVEL_POOL(), MARIO_POS(/*area*/ 1, /*yaw*/ 316, /*pos*/ 1417, -4822, -548), CALL(/*arg*/ 0, /*func*/ lvl_init_or_update), CALL_LOOP(/*arg*/ 1, /*func*/ lvl_init_or_update), CLEAR_LEVEL(), SLEEP_BEFORE_EXIT(/*frames*/ 1), EXIT(), };