2019-11-03 14:36:27 -05:00
|
|
|
#include <ultra64.h>
|
|
|
|
|
#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/bitfs/header.h"
|
|
|
|
|
|
2023-11-29 09:36:33 +13:00
|
|
|
|
|
|
|
|
static const LevelScript script_bitfs_macro_objects[] = {
|
|
|
|
|
// Macro objects
|
|
|
|
|
OBJECT(/*model*/ MODEL_YELLOW_COIN, /*pos*/ -1990, -2780, -590, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvYellowCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_YELLOW_COIN, /*pos*/ -2860, -2780, -580, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvYellowCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1130, -3000, 400, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_FLYING ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_1UP, /*pos*/ -4320, -2640, -500, /*angle*/ 0, 0, 0, /*behParam*/ (MUSHROOM_BP_REQUIRES_NONE << 16), /*beh*/ bhv1Up),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ 2340, -2764, 580, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
|
|
|
OBJECT(/*model*/ MODEL_AMP, /*pos*/ 6600, -2770, 280, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvCirclingAmp),
|
|
|
|
|
OBJECT(/*model*/ MODEL_HEART, /*pos*/ 3660, -2700, 280, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRecoveryHeart),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 3880, -1140, 260, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upInPoleSpawner),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -1900, 652, 320, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_RING ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ -1720, 1320, -340, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -640, 800, 180, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_NONE ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ -5340, 410, 20, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ -5200, 410, 700, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
|
|
|
OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -7400, 1500, 0, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_1UP_WALKING << 16), /*beh*/ bhvExclamationBox),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6150, 1480, 500, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6150, 2600, 500, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6150, 3080, 500, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvHidden1upTrigger),
|
|
|
|
|
OBJECT(/*model*/ MODEL_1UP, /*pos*/ -6460, 2760, 320, /*angle*/ 0, 0, 0, /*behParam*/ (3 << 16), /*beh*/ bhvHidden1up),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6360, 3760, -840, /*angle*/ 0, 90, 0, /*behParam*/ ((COIN_FORMATION_FLAG_NONE ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_HEART, /*pos*/ -20, 3850, 160, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRecoveryHeart),
|
|
|
|
|
OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 2440, 5520, 140, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_1UP_WALKING << 16), /*beh*/ bhvExclamationBox),
|
|
|
|
|
OBJECT(/*model*/ MODEL_1UP, /*pos*/ 1198, 5478, 103, /*angle*/ 0, 0, 0, /*behParam*/ (MUSHROOM_BP_REQUIRES_BOWSER_2 << 16), /*beh*/ bhv1Up),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -2610, 3600, 0, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_FLYING ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1231, -2168, -1747, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_RING ) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -5705, 800, 0, /*angle*/ 0, 0, 0, /*behParam*/ ((COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_VERTICAL) << 16), /*beh*/ bhvCoinFormation),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 3660, -2764, 300, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvGoombaTripletSpawner),
|
|
|
|
|
OBJECT(/*model*/ MODEL_1UP, /*pos*/ -174, -2840, -138, /*angle*/ 0, 0, 0, /*behParam*/ (MUSHROOM_BP_REQUIRES_BOWSER_2 << 16), /*beh*/ bhv1Up),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 2888, -1375, 310, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 1230, -1900, -1747, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 5800, -2000, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ -1846, 1600, -476, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ -4210, 2615, 280, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BLACK_BOBOMB, /*pos*/ -5361, 3686, 315, /*angle*/ 0, 0, 0, /*behParam*/ (BOBOMB_BP_STYPE_GENERIC << 16), /*beh*/ bhvBobomb),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ -1390, 3575, -420, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 3065, 4610, 92, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_RED_COIN, /*pos*/ 4330, -790, -50, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvRedCoin),
|
|
|
|
|
OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 7220, -1800, 260, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_3 << 16), /*beh*/ bhvExclamationBox),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BOWLING_BALL, /*pos*/ -7280, 3100, -925, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFireSpitter),
|
|
|
|
|
OBJECT(/*model*/ MODEL_AMP, /*pos*/ -2325, 3625, 0, /*angle*/ 0, 0, 0, /*behParam*/ (2 << 16), /*beh*/ bhvCirclingAmp),
|
|
|
|
|
OBJECT(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ -5340, 4000, 100, /*angle*/ 0, 0, 0, /*behParam*/ (EXCLAMATION_BOX_BP_COINS_10 << 16), /*beh*/ bhvExclamationBox),
|
|
|
|
|
// Special objects
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_03, /*pos*/ -5938, -3071, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_04, /*pos*/ -5488, -1535, 41, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_04, /*pos*/ 4342, 1741, 41, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_05, /*pos*/ -1965, -3030, 10, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_06, /*pos*/ -1996, 3277, -19, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_06, /*pos*/ -4914, 0, -19, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_07, /*pos*/ 1843, -3071, -398, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_08, /*pos*/ 4659, -1663, 307, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_09, /*pos*/ 3123, -511, 307, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0A, /*pos*/ 1382, 0, -6, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0B, /*pos*/ 1229, 205, -410, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0B, /*pos*/ -3225, 3482, -825, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0B, /*pos*/ -1381, 3482, -821, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0C, /*pos*/ -1433, 717, -127, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0D, /*pos*/ -741, 589, 307, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0E, /*pos*/ -5017, 205, 310, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0F, /*pos*/ -6297, 3251, 1, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_10, /*pos*/ -4556, 3482, 97, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_11, /*pos*/ 1946, 4506, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_12, /*pos*/ 1946, 4352, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_13, /*pos*/ 6540, 3796, 83, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_14, /*pos*/ 6740, 4224, 74, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_15, /*pos*/ 3123, 3277, -19, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
|
|
|
RETURN(),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const LevelScript script_bitfs_objects_1[] = {
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_BITFS_PLATFORM_ON_TRACK, /*pos*/ -5733, -3071, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x07330000, /*beh*/ bhvPlatformOnTrack),
|
2019-12-01 21:52:53 -05:00
|
|
|
OBJECT(/*model*/ MODEL_BITFS_TILTING_SQUARE_PLATFORM, /*pos*/ -1945, -3225, -715, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsTiltingInvertedPyramid),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_TILTING_SQUARE_PLATFORM, /*pos*/ -2866, -3225, -715, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsTiltingInvertedPyramid),
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_PLATFORMS, /*pos*/ -1381, 3487, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsSinkingPlatforms),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_PLATFORMS, /*pos*/ 1126, -3065, 307, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsSinkingPlatforms),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_PLATFORMS, /*pos*/ -3225, 3487, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsSinkingPlatforms),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_CAGE_PLATFORM, /*pos*/ 6605, -3071, 266, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBitfsSinkingCagePlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_CAGE_PLATFORM, /*pos*/ 1843, 3584, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00010000, /*beh*/ bhvBitfsSinkingCagePlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_CAGE_PLATFORM, /*pos*/ 614, 3584, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00010000, /*beh*/ bhvBitfsSinkingCagePlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SINKING_CAGE_PLATFORM, /*pos*/ 3072, 3584, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00010000, /*beh*/ bhvBitfsSinkingCagePlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_ELEVATOR, /*pos*/ 2867, -1279, 307, /*angle*/ 0, 0, 0, /*behParam*/ 0x029F0000, /*beh*/ bhvActivatedBackAndForthPlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_STRETCHING_PLATFORMS, /*pos*/ -5836, 410, 300, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSquishablePlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SEESAW_PLATFORM, /*pos*/ 4454, -2226, 266, /*angle*/ 0, 0, 0, /*behParam*/ 0x00040000, /*beh*/ bhvSeesawPlatform),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SEESAW_PLATFORM, /*pos*/ 5786, -2380, 266, /*angle*/ 0, 0, 0, /*behParam*/ 0x00040000, /*beh*/ bhvSeesawPlatform),
|
2021-12-30 10:57:51 -06:00
|
|
|
OBJECT(/*model*/ MODEL_BITFS_MOVING_SQUARE_PLATFORM, /*pos*/ -3890, 102, 617, /*angle*/ 0, 90, 0, /*behParam*/ 0x020C0000, /*beh*/ bhvSlidingPlatform2),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_MOVING_SQUARE_PLATFORM, /*pos*/ -3276, 102, 2, /*angle*/ 0, 270, 0, /*behParam*/ 0x020C0000, /*beh*/ bhvSlidingPlatform2),
|
|
|
|
|
OBJECT(/*model*/ MODEL_BITFS_SLIDING_PLATFORM, /*pos*/ 2103, 198, 312, /*angle*/ 0, 0, 0, /*behParam*/ 0x031F0000, /*beh*/ bhvSlidingPlatform2),
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_BITFS_TUMBLING_PLATFORM, /*pos*/ 4979, 4250, 96, /*angle*/ 0, 0, 0, /*behParam*/ 0x00030000, /*beh*/ bhvWfTumblingBridge),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 3890, -2043, 266, /*angle*/ 0, 0, 0, /*behParam*/ 0x00520000, /*beh*/ bhvPoleGrabbing),
|
|
|
|
|
RETURN(),
|
|
|
|
|
};
|
|
|
|
|
|
2023-11-29 09:36:33 +13:00
|
|
|
static const LevelScript script_bitfs_objects_2[] = {
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3226, 3584, -822, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFlamethrower),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -1382, 3584, -822, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFlamethrower),
|
|
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1229, 307, -412, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFlamethrower),
|
|
|
|
|
RETURN(),
|
|
|
|
|
};
|
|
|
|
|
|
2023-11-29 09:36:33 +13:00
|
|
|
static const LevelScript script_bitfs_objects_3[] = {
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1200, 5700, 160, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBowserCourseRedCoinStar),
|
|
|
|
|
RETURN(),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const LevelScript level_bitfs_entry[] = {
|
|
|
|
|
INIT_LEVEL(),
|
2025-01-30 09:58:46 +08:00
|
|
|
#include "levels/bitfs/areas/script_vanilla.inc.c"
|
2019-11-03 14:36:27 -05:00
|
|
|
ALLOC_LEVEL_POOL(),
|
|
|
|
|
MARIO(/*model*/ MODEL_MARIO, /*behParam*/ 0x00000001, /*beh*/ bhvMario),
|
2025-01-30 09:58:46 +08:00
|
|
|
#include "levels/bitfs/areas/script_vanilla_load.inc.c"
|
2019-11-03 14:36:27 -05:00
|
|
|
|
|
|
|
|
AREA(/*index*/ 1, bitfs_geo_0007A0),
|
2020-06-02 12:44:34 -04:00
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -7577, -1764, 0, /*angle*/ 0, 90, 0, /*behParam*/ 0x000A0000, /*beh*/ bhvAirborneWarp),
|
2019-11-03 14:36:27 -05:00
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 6735, 3681, 99, /*angle*/ 0, 0, 0, /*behParam*/ 0x140B0000, /*beh*/ bhvWarp),
|
2020-04-03 14:57:26 -04:00
|
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 5886, 5000, 99, /*angle*/ 0, 90, 0, /*behParam*/ 0x000C0000, /*beh*/ bhvDeathWarp),
|
2019-12-01 21:52:53 -05:00
|
|
|
WARP_NODE(/*id*/ 0x0A, /*destLevel*/ LEVEL_BITFS, /*destArea*/ 0x01, /*destNode*/ 0x0A, /*flags*/ WARP_NO_CHECKPOINT),
|
|
|
|
|
WARP_NODE(/*id*/ 0x0B, /*destLevel*/ LEVEL_BOWSER_2, /*destArea*/ 0x01, /*destNode*/ 0x0A, /*flags*/ WARP_NO_CHECKPOINT),
|
|
|
|
|
WARP_NODE(/*id*/ 0x0C, /*destLevel*/ LEVEL_BITFS, /*destArea*/ 0x01, /*destNode*/ 0x0C, /*flags*/ WARP_NO_CHECKPOINT),
|
|
|
|
|
WARP_NODE(/*id*/ 0xF1, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x03, /*destNode*/ 0x68, /*flags*/ WARP_NO_CHECKPOINT),
|
2023-11-29 09:36:33 +13:00
|
|
|
JUMP_LINK(script_bitfs_objects_1),
|
|
|
|
|
JUMP_LINK(script_bitfs_objects_2),
|
|
|
|
|
JUMP_LINK(script_bitfs_objects_3),
|
2019-11-03 14:36:27 -05:00
|
|
|
TERRAIN(/*terrainData*/ bitfs_seg7_collision_level),
|
2023-11-29 09:36:33 +13:00
|
|
|
JUMP_LINK(script_bitfs_macro_objects),
|
2019-11-03 14:36:27 -05:00
|
|
|
SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0000, /*seq*/ SEQ_LEVEL_KOOPA_ROAD),
|
|
|
|
|
TERRAIN_TYPE(/*terrainType*/ TERRAIN_STONE),
|
|
|
|
|
END_AREA(),
|
|
|
|
|
|
|
|
|
|
FREE_LEVEL_POOL(),
|
|
|
|
|
MARIO_POS(/*area*/ 1, /*yaw*/ 90, /*pos*/ -7577, -2764, 0),
|
|
|
|
|
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(),
|
|
|
|
|
};
|