#include <ultra64.h>
#include "sm64.h"
#include "behavior_data.h"
#include "model_ids.h"
#include "seq_ids.h"
#include "dialog_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/castle_inside/header.h"
static const LevelScript script_func_local_1[] = {
WARP_NODE( 0x00, LEVEL_CASTLE_GROUNDS, 0x01, 0x00, WARP_NO_CHECKPOINT),
WARP_NODE( 0x01, LEVEL_CASTLE_GROUNDS, 0x01, 0x01, WARP_NO_CHECKPOINT),
WARP_NODE( 0x02, LEVEL_CASTLE_COURTYARD, 0x01, 0x01, WARP_NO_CHECKPOINT),
OBJECT( MODEL_CASTLE_STAR_DOOR_8_STARS, -2706, 512, -1409, 0, 45, 0, 0x08000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_STAR_DOOR_8_STARS, -2598, 512, -1517, 0, 225, 0, 0x08000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_KEY_DOOR, -1100, 512, -1074, 0, 0, 0, 0x01030000, bhvDoorWarp),
OBJECT( MODEL_CASTLE_KEY_DOOR, -946, 512, -1074, 0, 180, 0, 0x01040000, bhvDoorWarp),
OBJECT( MODEL_CASTLE_KEY_DOOR, -1100, -1074, 922, 0, 0, 0, 0x02050000, bhvDoorWarp),
OBJECT( MODEL_CASTLE_KEY_DOOR, -946, -1074, 922, 0, 180, 0, 0x02060000, bhvDoorWarp),
WARP_NODE( 0x03, LEVEL_CASTLE, 0x02, 0x00, WARP_NO_CHECKPOINT),
WARP_NODE( 0x04, LEVEL_CASTLE, 0x02, 0x01, WARP_NO_CHECKPOINT),
WARP_NODE( 0x05, LEVEL_CASTLE, 0x03, 0x00, WARP_NO_CHECKPOINT),
WARP_NODE( 0x06, LEVEL_CASTLE, 0x03, 0x01, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x00, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x01, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x02, LEVEL_BOB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x03, LEVEL_CCM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x04, LEVEL_CCM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x05, LEVEL_CCM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x06, LEVEL_WF, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x07, LEVEL_WF, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x08, LEVEL_WF, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x09, LEVEL_JRB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x0A, LEVEL_JRB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x0B, LEVEL_JRB, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, 2013, 768, -2014, 0, 0, 0, 0x000A0000, bhvWarp),
WARP_NODE( 0x0A, LEVEL_PSS, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -5513, 512, -4324, 0, 0, 0, 0x300B0000, bhvWarp),
WARP_NODE( 0x0B, LEVEL_BITDW, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, 1963, 819, 1280, 0, 0, 0, 0x050C0000, bhvWarp),
WARP_NODE( 0x0C, LEVEL_SA, 0x01, 0x0A, WARP_NO_CHECKPOINT),
WARP_NODE( 0xF2, LEVEL_TOTWC, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -1024, 512, -650, 0, 0, 0, 0x001E0000, bhvInstantActiveWarp),
OBJECT( MODEL_NONE, -1024, -50, 717, 0, 180, 0, 0x001F0000, bhvInstantActiveWarp),
OBJECT( MODEL_NONE, -1024, 900, 717, 0, 180, 0, 0x00200000, bhvAirborneWarp),
OBJECT( MODEL_NONE, -1024, 900, 717, 0, 180, 0, 0x00210000, bhvAirborneDeathWarp),
OBJECT( MODEL_NONE, -1024, 900, 717, 0, 180, 0, 0x00220000, bhvHardAirKnockBackWarp),
OBJECT( MODEL_NONE, -1024, 900, 717, 0, 180, 0, 0x00230000, bhvDeathWarp),
OBJECT( MODEL_NONE, -5513, 512, -4324, 0, -135, 0, 0x00240000, bhvLaunchStarCollectWarp),
OBJECT( MODEL_NONE, -5513, 512, -4324, 0, -135, 0, 0x00250000, bhvLaunchDeathWarp),
OBJECT( MODEL_NONE, -1024, 900, 717, 0, 0, 0, 0x00260000, bhvAirborneStarCollectWarp),
OBJECT( MODEL_NONE, 2816, 1200, -256, 0, 90, 0, 0x00270000, bhvAirborneStarCollectWarp),
OBJECT( MODEL_NONE, 2816, 1200, -256, 0, 270, 0, 0x00280000, bhvDeathWarp),
WARP_NODE( 0x1E, LEVEL_CASTLE, 0x01, 0x1E, WARP_NO_CHECKPOINT),
WARP_NODE( 0x1F, LEVEL_CASTLE, 0x01, 0x1F, WARP_NO_CHECKPOINT),
WARP_NODE( 0x20, LEVEL_CASTLE, 0x01, 0x20, WARP_NO_CHECKPOINT),
WARP_NODE( 0x21, LEVEL_CASTLE, 0x01, 0x21, WARP_NO_CHECKPOINT),
WARP_NODE( 0x22, LEVEL_CASTLE, 0x01, 0x22, WARP_NO_CHECKPOINT),
WARP_NODE( 0x23, LEVEL_CASTLE, 0x01, 0x23, WARP_NO_CHECKPOINT),
WARP_NODE( 0x24, LEVEL_CASTLE, 0x01, 0x24, WARP_NO_CHECKPOINT),
WARP_NODE( 0x25, LEVEL_CASTLE, 0x01, 0x25, WARP_NO_CHECKPOINT),
WARP_NODE( 0x26, LEVEL_CASTLE, 0x01, 0x26, WARP_NO_CHECKPOINT),
WARP_NODE( 0x27, LEVEL_CASTLE, 0x01, 0x27, WARP_NO_CHECKPOINT),
WARP_NODE( 0x28, LEVEL_CASTLE, 0x01, 0x28, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -5422, 717, -461, 0, 270, 0, 0x00320000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, -2304, 0, -4552, 0, 180, 0, 0x00330000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, 256, 102, -4706, 0, 180, 0, 0x00340000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, 4501, 717, -230, 0, 90, 0, 0x00350000, bhvPaintingStarCollectWarp),
WARP_NODE( 0x32, LEVEL_CASTLE, 0x01, 0x32, WARP_NO_CHECKPOINT),
WARP_NODE( 0x33, LEVEL_CASTLE, 0x01, 0x33, WARP_NO_CHECKPOINT),
WARP_NODE( 0x34, LEVEL_CASTLE, 0x01, 0x34, WARP_NO_CHECKPOINT),
WARP_NODE( 0x35, LEVEL_CASTLE, 0x01, 0x35, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -5422, 717, -461, 0, 270, 0, 0x00640000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, -2304, 0, -4552, 0, 180, 0, 0x00650000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, 256, 102, -4706, 0, 180, 0, 0x00660000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, 4501, 717, -230, 0, 90, 0, 0x00670000, bhvPaintingDeathWarp),
WARP_NODE( 0x64, LEVEL_CASTLE, 0x01, 0x64, WARP_NO_CHECKPOINT),
WARP_NODE( 0x65, LEVEL_CASTLE, 0x01, 0x65, WARP_NO_CHECKPOINT),
WARP_NODE( 0x66, LEVEL_CASTLE, 0x01, 0x66, WARP_NO_CHECKPOINT),
WARP_NODE( 0x67, LEVEL_CASTLE, 0x01, 0x67, WARP_NO_CHECKPOINT),
RETURN(),
};
static const LevelScript script_func_local_2[] = {
OBJECT( MODEL_CASTLE_KEY_DOOR, -1100, 512, 3021, 0, 0, 0, 0x00000000, bhvDoorWarp),
OBJECT( MODEL_CASTLE_KEY_DOOR, -946, 512, 3021, 0, 180, 0, 0x00010000, bhvDoorWarp),
WARP_NODE( 0x00, LEVEL_CASTLE, 0x01, 0x03, WARP_NO_CHECKPOINT),
WARP_NODE( 0x01, LEVEL_CASTLE, 0x01, 0x04, WARP_NO_CHECKPOINT),
OBJECT( MODEL_CASTLE_STAR_DOOR_50_STARS, -281, 2253, 4762, 0, 0, 0, 0x32000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_STAR_DOOR_50_STARS, -127, 2253, 4762, 0, 180, 0, 0x32000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_STAR_DOOR_70_STARS, -281, 3174, 3772, 0, 0, 0, 0x46000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_STAR_DOOR_70_STARS, -127, 3174, 3772, 0, 180, 0, 0x46000000, bhvStarDoor),
PAINTING_WARP_NODE( 0x18, LEVEL_WDW, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x19, LEVEL_WDW, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1A, LEVEL_WDW, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1B, LEVEL_THI, 0x02, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1C, LEVEL_THI, 0x02, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1D, LEVEL_THI, 0x02, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1E, LEVEL_TTM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x1F, LEVEL_TTM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x20, LEVEL_TTM, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x21, LEVEL_TTC, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x22, LEVEL_TTC, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x23, LEVEL_TTC, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x24, LEVEL_SL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x25, LEVEL_SL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x26, LEVEL_SL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x27, LEVEL_THI, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x28, LEVEL_THI, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x29, LEVEL_THI, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x2A, LEVEL_RR, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, 3002, 2816, 5886, 0, 0, 0, 0x0F0A0000, bhvWarp),
WARP_NODE( 0x0A, LEVEL_WMOTR, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -230, 4813, -3352, 0, 0, 0, 0x0F0B0000, bhvWarp),
WARP_NODE( 0x0B, LEVEL_BITS, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -659, 1613, -350, 0, 180, 0, 0x00320000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, -4693, 2157, 1828, 0, 270, 0, 0x00330000, bhvAirborneStarCollectWarp),
OBJECT( MODEL_NONE, -675, 1400, 3870, 0, 0, 0, 0x00340000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, -205, 2918, 7300, 0, 0, 0, 0x00350000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, 3538, 1766, -400, 0, 180, 0, 0x00360000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, -4693, 2157, 1828, 0, 270, 0, 0x00370000, bhvAirborneStarCollectWarp),
OBJECT( MODEL_NONE, 3002, 2816, 5886, 0, 90, 0, 0x00380000, bhvLaunchStarCollectWarp),
OBJECT( MODEL_NONE, -3412, 2816, 5886, 0, 270, 0, 0x003A0000, bhvLaunchStarCollectWarp),
WARP_NODE( 0x32, LEVEL_CASTLE, 0x02, 0x32, WARP_NO_CHECKPOINT),
WARP_NODE( 0x33, LEVEL_CASTLE, 0x02, 0x33, WARP_NO_CHECKPOINT),
WARP_NODE( 0x34, LEVEL_CASTLE, 0x02, 0x34, WARP_NO_CHECKPOINT),
WARP_NODE( 0x35, LEVEL_CASTLE, 0x02, 0x35, WARP_NO_CHECKPOINT),
WARP_NODE( 0x36, LEVEL_CASTLE, 0x02, 0x36, WARP_NO_CHECKPOINT),
WARP_NODE( 0x37, LEVEL_CASTLE, 0x02, 0x37, WARP_NO_CHECKPOINT),
WARP_NODE( 0x38, LEVEL_CASTLE, 0x02, 0x38, WARP_NO_CHECKPOINT),
WARP_NODE( 0x3A, LEVEL_CASTLE, 0x02, 0x3A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -659, 1613, -350, 0, 180, 0, 0x00640000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, -4693, 2157, 1828, 0, 270, 0, 0x00650000, bhvDeathWarp),
OBJECT( MODEL_NONE, -675, 1400, 3870, 0, 0, 0, 0x00660000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, -205, 2918, 7300, 0, 0, 0, 0x00670000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, 3538, 1766, -400, 0, 180, 0, 0x00680000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, -4693, 2157, 1828, 0, 270, 0, 0x00690000, bhvDeathWarp),
OBJECT( MODEL_NONE, -230, 4813, -3352, 0, 180, 0, 0x006B0000, bhvLaunchDeathWarp),
OBJECT( MODEL_NONE, -3412, 2816, 5886, 0, 270, 0, 0x006C0000, bhvLaunchDeathWarp),
OBJECT( MODEL_NONE, 3002, 2816, 5886, 0, 90, 0, 0x006D0000, bhvLaunchDeathWarp),
WARP_NODE( 0x64, LEVEL_CASTLE, 0x02, 0x64, WARP_NO_CHECKPOINT),
WARP_NODE( 0x65, LEVEL_CASTLE, 0x02, 0x65, WARP_NO_CHECKPOINT),
WARP_NODE( 0x66, LEVEL_CASTLE, 0x02, 0x66, WARP_NO_CHECKPOINT),
WARP_NODE( 0x67, LEVEL_CASTLE, 0x02, 0x67, WARP_NO_CHECKPOINT),
WARP_NODE( 0x68, LEVEL_CASTLE, 0x02, 0x68, WARP_NO_CHECKPOINT),
WARP_NODE( 0x69, LEVEL_CASTLE, 0x02, 0x69, WARP_NO_CHECKPOINT),
WARP_NODE( 0x6B, LEVEL_CASTLE, 0x02, 0x6B, WARP_NO_CHECKPOINT),
WARP_NODE( 0x6C, LEVEL_CASTLE, 0x02, 0x6C, WARP_NO_CHECKPOINT),
WARP_NODE( 0x6D, LEVEL_CASTLE, 0x02, 0x6D, WARP_NO_CHECKPOINT),
RETURN(),
};
static const LevelScript script_func_local_3[] = {
OBJECT( MODEL_CASTLE_KEY_DOOR, -1100, -1074, 922, 0, 0, 0, 0x00000000, bhvDoorWarp),
OBJECT( MODEL_CASTLE_KEY_DOOR, -946, -1074, 922, 0, 180, 0, 0x00010000, bhvDoorWarp),
WARP_NODE( 0x00, LEVEL_CASTLE, 0x01, 0x05, WARP_NO_CHECKPOINT),
WARP_NODE( 0x01, LEVEL_CASTLE, 0x01, 0x06, WARP_NO_CHECKPOINT),
WARP_NODE( 0x02, LEVEL_CASTLE_GROUNDS, 0x01, 0x02, WARP_NO_CHECKPOINT),
OBJECT( MODEL_CASTLE_STAR_DOOR_30_STARS, 307, -1074, 2074, 0, 90, 0, 0x1E000000, bhvStarDoor),
OBJECT( MODEL_CASTLE_STAR_DOOR_30_STARS, 307, -1074, 1920, 0, 270, 0, 0x1E000000, bhvStarDoor),
PAINTING_WARP_NODE( 0x0C, LEVEL_LLL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x0D, LEVEL_LLL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x0E, LEVEL_LLL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x0F, LEVEL_SSL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x10, LEVEL_SSL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x11, LEVEL_SSL, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x2A, LEVEL_HMC, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x15, LEVEL_DDD, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x16, LEVEL_DDD, 0x01, 0x0A, WARP_NO_CHECKPOINT),
PAINTING_WARP_NODE( 0x17, LEVEL_DDD, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, 4147, -1280, 1997, 0, 0, 0, 0x0F180000, bhvWarp),
WARP_NODE( 0x18, LEVEL_BITFS, 0x01, 0x0A, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -1382, -819, -4150, 0, 180, 0, 0x00320000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, -2918, -870, -875, 0, 0, 0, 0x00330000, bhvPaintingStarCollectWarp),
OBJECT( MODEL_NONE, 2483, -1688, -2662, 0, 270, 0, 0x00340000, bhvLaunchStarCollectWarp),
OBJECT( MODEL_NONE, 2381, -500, 2011, 0, 90, 0, 0x00350000, bhvAirborneStarCollectWarp),
OBJECT( MODEL_NONE, 4147, -1100, 1997, 0, 90, 0, 0x00360000, bhvLaunchStarCollectWarp),
WARP_NODE( 0x32, LEVEL_CASTLE, 0x03, 0x32, WARP_NO_CHECKPOINT),
WARP_NODE( 0x33, LEVEL_CASTLE, 0x03, 0x33, WARP_NO_CHECKPOINT),
WARP_NODE( 0x34, LEVEL_CASTLE, 0x03, 0x34, WARP_NO_CHECKPOINT),
WARP_NODE( 0x35, LEVEL_CASTLE, 0x03, 0x35, WARP_NO_CHECKPOINT),
WARP_NODE( 0x36, LEVEL_CASTLE, 0x03, 0x36, WARP_NO_CHECKPOINT),
OBJECT( MODEL_NONE, -1382, -819, -4150, 0, 180, 0, 0x00640000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, -2918, -870, -875, 0, 0, 0, 0x00650000, bhvPaintingDeathWarp),
OBJECT( MODEL_NONE, 2483, -1688, -2662, 0, 270, 0, 0x00660000, bhvLaunchDeathWarp),
OBJECT( MODEL_NONE, 2381, -500, 2011, 0, 90, 0, 0x00670000, bhvDeathWarp),
OBJECT( MODEL_NONE, 4147, -1100, 1997, 0, 90, 0, 0x00680000, bhvLaunchDeathWarp),
WARP_NODE( 0x64, LEVEL_CASTLE, 0x03, 0x64, WARP_NO_CHECKPOINT),
WARP_NODE( 0x65, LEVEL_CASTLE, 0x03, 0x65, WARP_NO_CHECKPOINT),
WARP_NODE( 0x66, LEVEL_CASTLE, 0x03, 0x66, WARP_NO_CHECKPOINT),
WARP_NODE( 0x67, LEVEL_CASTLE, 0x03, 0x67, WARP_NO_CHECKPOINT),
WARP_NODE( 0x68, LEVEL_CASTLE, 0x03, 0x68, WARP_NO_CHECKPOINT),
RETURN(),
};
static const LevelScript script_func_local_4[] = {
OBJECT( MODEL_RED_FLAME, -2037, -818, -716, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -1648, -818, -716, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -1648, -818, -101, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -1648, -818, 512, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -2037, -818, -101, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -2969, -921, 420, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -2037, -818, -1330, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -3839, -1023, -1422, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -1929, -818, -3615, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_RED_FLAME, -834, -818, -3615, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_BLUE_FLAME, -3317, -921, 1229, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_BLUE_FLAME, -204, -921, -624, 0, 0, 0, 0x00000000, bhvFlame),
OBJECT( MODEL_BLUE_FLAME, -2876, -921, 1229, 0, 0, 0, 0x00000000, bhvFlame),
RETURN(),
};
const LevelScript level_castle_inside_entry[] = {
INIT_LEVEL(),
LOAD_MIO0( 0x07, _castle_inside_segment_7SegmentRomStart, _castle_inside_segment_7SegmentRomEnd),
LOAD_MIO0_TEXTURE( 0x09, _inside_mio0SegmentRomStart, _inside_mio0SegmentRomEnd),
LOAD_MIO0( 0x06, _group15_mio0SegmentRomStart, _group15_mio0SegmentRomEnd),
LOAD_RAW( 0x0D, _group15_geoSegmentRomStart, _group15_geoSegmentRomEnd),
ALLOC_LEVEL_POOL(),
MARIO( MODEL_MARIO, 0x00000001, bhvMario),
JUMP_LINK(script_func_global_16),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_BOWSER_TRAP, castle_geo_000F18),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_WATER_LEVEL_PILLAR, castle_geo_001940),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_CLOCK_MINUTE_HAND, castle_geo_001530),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_CLOCK_HOUR_HAND, castle_geo_001548),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_CLOCK_PENDULUM, castle_geo_001518),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_CASTLE_DOOR, castle_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_WOODEN_DOOR, wooden_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_METAL_DOOR, metal_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_CASTLE_DOOR_UNUSED, castle_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_WOODEN_DOOR_UNUSED, wooden_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_DOOR_0_STARS, castle_door_0_star_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_DOOR_1_STAR, castle_door_1_star_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_DOOR_3_STARS, castle_door_3_stars_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_KEY_DOOR, key_door_geo),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_STAR_DOOR_30_STARS, castle_geo_000F00),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_STAR_DOOR_8_STARS, castle_geo_000F00),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_STAR_DOOR_50_STARS, castle_geo_000F00),
LOAD_MODEL_FROM_GEO(MODEL_CASTLE_STAR_DOOR_70_STARS, castle_geo_000F00),
AREA( 1, castle_geo_001400),
OBJECT( MODEL_NONE, -5513, 717, -4324, 0, 45, 0, 0x00140000, bhvCastleFloorTrap),
OBJECT( MODEL_NONE, 2477, 307, -2000, 0, 0, 0, 0x00000000, bhvFishGroup),
OBJECT( MODEL_NONE, 2774, 507, -1716, 0, 90, 0, 0x00000000, bhvTankFishGroup),
OBJECT( MODEL_NONE, 3672, 507, -1307, 0, 45, 0, 0x00000000, bhvTankFishGroup),
OBJECT( MODEL_NONE, 3748, 507, 773, 0, -45, 0, 0x00000000, bhvTankFishGroup),
OBJECT( MODEL_NONE, 2778, 507, 1255, 0, -90, 0, 0x00000000, bhvTankFishGroup),
OBJECT( MODEL_BOO_CASTLE, -1000, 50, -3500, 0, 0, 0, 0x00000000, bhvBooInCastle),
OBJECT( MODEL_TOAD, -1671, 0, 1313, 0, 83, 0, DIALOG_133 << 24, bhvToadMessage),
OBJECT( MODEL_TOAD, 1524, 307, 458, 0, 110, 0, DIALOG_134 << 24, bhvToadMessage),
OBJECT( MODEL_TOAD, 596, -306, -2637, 0, 152, 0, DIALOG_135 << 24, bhvToadMessage),
JUMP_LINK(script_func_local_1),
WARP_NODE( 0xF1, LEVEL_CASTLE_GROUNDS, 0x01, 0x03, WARP_NO_CHECKPOINT),
TERRAIN( inside_castle_seg7_area_1_collision),
ROOMS( inside_castle_seg7_area_1_rooms),
MACRO_OBJECTS( inside_castle_seg7_area_1_macro_objs),
SET_BACKGROUND_MUSIC( 0x0001, SEQ_LEVEL_INSIDE_CASTLE),
TERRAIN_TYPE( TERRAIN_STONE),
END_AREA(),
AREA( 2, castle_geo_001858),
OBJECT( MODEL_CASTLE_CLOCK_MINUTE_HAND, -205, 2918, 7222, 0, 180, 0, 0x00000000, bhvClockMinuteHand),
OBJECT( MODEL_CASTLE_CLOCK_HOUR_HAND, -205, 2918, 7222, 0, 180, 0, 0x00000000, bhvClockHourHand),
OBJECT( MODEL_CASTLE_CLOCK_PENDULUM, -205, 2611, 7140, 0, 0, 0, 0x00000000, bhvDecorativePendulum),
OBJECT( MODEL_LAKITU, 4231, 1408, 1601, 0, 0, 0, 0x00000000, bhvCameraLakitu),
OBJECT( MODEL_TOAD, -977, 1203, 2569, 0, 0, 0, DIALOG_076 << 24, bhvToadMessage),
OBJECT( MODEL_TOAD, -1584, 2253, 7157, 0, 136, 0, DIALOG_083 << 24, bhvToadMessage),
OBJECT( MODEL_TOAD, 837, 1203, 3020, 0, 180, 0, DIALOG_137 << 24, bhvToadMessage),
JUMP_LINK(script_func_local_2),
WARP_NODE( 0xF1, LEVEL_CASTLE_GROUNDS, 0x01, 0x03, WARP_NO_CHECKPOINT),
TERRAIN( inside_castle_seg7_area_2_collision),
ROOMS( inside_castle_seg7_area_2_rooms),
MACRO_OBJECTS( inside_castle_seg7_area_2_macro_objs),
INSTANT_WARP( 0, 2, 0, -205, 410),
SET_BACKGROUND_MUSIC( 0x0001, SEQ_LEVEL_INSIDE_CASTLE),
TERRAIN_TYPE( TERRAIN_STONE),
END_AREA(),
AREA( 3, castle_geo_001C10),
OBJECT( MODEL_CASTLE_WATER_LEVEL_PILLAR, 7066, -1178, -819, 0, 0, 0, 0x00000000, bhvWaterLevelPillar),
OBJECT( MODEL_CASTLE_WATER_LEVEL_PILLAR, 7066, -1178, -205, 0, 0, 0, 0x00000000, bhvWaterLevelPillar),
OBJECT( MODEL_NONE, 0, 0, 0, 0, 0, 0, 0x00000000, bhvDddWarp),
OBJECT( MODEL_MIPS, -1509, -1177, -1564, 0, 0, 0, 0x00000000, bhvMips),
OBJECT( MODEL_TOAD, 1787, -1381, -1957, 0, 126, 0, DIALOG_082 << 24, bhvToadMessage),
OBJECT( MODEL_TOAD, -4048, -1381, -1334, 0, 30, 0, DIALOG_136 << 24, bhvToadMessage),
JUMP_LINK(script_func_local_3),
JUMP_LINK(script_func_local_4),
WARP_NODE( 0xF1, LEVEL_CASTLE_GROUNDS, 0x01, 0x03, WARP_NO_CHECKPOINT),
TERRAIN( inside_castle_seg7_area_3_collision),
ROOMS( inside_castle_seg7_area_3_rooms),
MACRO_OBJECTS( inside_castle_seg7_area_3_macro_objs),
SET_BACKGROUND_MUSIC( 0x0001, SEQ_LEVEL_INSIDE_CASTLE),
TERRAIN_TYPE( TERRAIN_STONE),
END_AREA(),
FREE_LEVEL_POOL(),
MARIO_POS( 1, 180, -1023, 0, 1152),
CALL( 0, lvl_init_or_update),
CALL_LOOP( 1, lvl_init_or_update),
CLEAR_LEVEL(),
SLEEP_BEFORE_EXIT( 1),
EXIT(),
};