perfect_dark/src/files/setup/mp_setupmp3.c

163 lines
10 KiB
C

//
// Area 52 (MP)
//
#include "stagesetup.h"
s32 intro[];
u32 props[];
struct path paths[];
struct ailist ailists[];
struct stagesetup setup = {
NULL,
NULL,
NULL,
intro,
props,
paths,
ailists,
NULL,
};
u32 props[] = {
weapon(0x0100, 0x0000, PAD_MP3_0028, OBJFLAG_00000001, 0, 0, 240)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0032, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0033, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_0029, OBJFLAG_00000001, 0, 0, 241)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0034, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0035, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002A, OBJFLAG_00000001, 0, 0, 242)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0036, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0037, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002B, OBJFLAG_00000001, 0, 0, 243)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0038, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0039, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002C, OBJFLAG_00000001, 0, 0, 244)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003A, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003B, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002D, OBJFLAG_00000001, 0, 0, 245)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003C, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003D, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002E, OBJFLAG_00000001, 0, 0, 246)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003E, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_003F, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_002F, OBJFLAG_00000001, 0, 0, 247)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0040, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0041, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_0030, OBJFLAG_00000001, 0, 0, 248)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0042, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0043, OBJFLAG_00000001, 0, 0, 1000)
weapon(0x0100, 0x0000, PAD_MP3_0031, OBJFLAG_00000001, 0, 0, 249)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0044, OBJFLAG_00000001, 0, 0, 1000)
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP3_0045, OBJFLAG_00000001, 0, 0, 1000)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_0046, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_0047, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_0048, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_0049, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_004A, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_004B, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_004C, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
tinted_glass(0x0100, MODEL_DD_WINDOW, PAD_MP3_004D, OBJFLAG_00000002 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000100 | OBJFLAG_00000200 | OBJFLAG_PATHBLOCKER | OBJFLAG_AISEETHROUGH | OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x04b007d0)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005A, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x0000021c, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005B, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005C, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x00000168, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005D, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x00000348, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005E, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x00000168, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_005F, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x00000078, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_0060, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000000f0, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_CH_SHUTTER1, PAD_MP3_0061, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000fd70, 0x0000e666, 0x00003333, 0x00014000, 0x00004000, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x0000003c, 0x00000000, 0x00000000, 0x00000a00)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_004F, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_004E, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_0051, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_0050, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_0053, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_0052, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_0055, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_0054, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_0057, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_0056, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
door(0x0100, MODEL_A51_HORIZ_DOOR_BOT, PAD_MP3_0059, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, DOORFLAG_AUTOMATIC, DOORTYPE_VERTICAL, 0x00000000, 0x0000012c, 0x00000000, 0x00000001, 0x00000100)
door(0x0100, MODEL_A51_HORIZ_DOOR_TOP, PAD_MP3_0058, OBJFLAG_DEACTIVATED, 0, 0, 1000, 0x0000f333, 0x0000f333, 0x00320000, 0x00085555, 0x00002aaa, 0, DOORTYPE_VERTICAL, 0x00000000, 0x0fffffff, 0x00000000, 0xffffffff, 0x00000000)
endprops
};
s32 intro[] = {
outfit(OUTFIT_DEFAULT)
spawn(PAD_MP3_001C)
spawn(PAD_MP3_001D)
spawn(PAD_MP3_001E)
spawn(PAD_MP3_001F)
spawn(PAD_MP3_0020)
spawn(PAD_MP3_0021)
spawn(PAD_MP3_0022)
spawn(PAD_MP3_0023)
spawn(PAD_MP3_0024)
spawn(PAD_MP3_0025)
spawn(PAD_MP3_0026)
spawn(PAD_MP3_0027)
case(0, 0x0006)
case_respawn(0, 0x0000)
case_respawn(0, 0x0001)
case_respawn(0, 0x0002)
case_respawn(0, 0x0003)
case_respawn(0, 0x0004)
case_respawn(0, 0x0005)
case(1, 0x000d)
case_respawn(1, 0x0007)
case_respawn(1, 0x0008)
case_respawn(1, 0x0009)
case_respawn(1, 0x000a)
case_respawn(1, 0x000b)
case_respawn(1, 0x000c)
case(2, 0x0013)
case_respawn(2, 0x000e)
case_respawn(2, 0x000f)
case_respawn(2, 0x0010)
case_respawn(2, 0x0011)
case_respawn(2, 0x0012)
case_respawn(2, 0x0014)
case(3, 0x001b)
case_respawn(3, 0x0015)
case_respawn(3, 0x0016)
case_respawn(3, 0x0017)
case_respawn(3, 0x0018)
case_respawn(3, 0x0019)
case_respawn(3, 0x001a)
hill(0x010d)
hill(0x0106)
hill(0x00e4)
hill(0x00da)
hill(0x011c)
endintro
};
struct path paths[] = {
{ NULL, 0, 0 },
};
u8 func1001_27e0[] = {
cmd01b2_mponly(15)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
u8 func1000_27ec[] = {
mp_init_simulants
rebuild_teams
rebuild_squadrons
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
struct ailist ailists[] = {
{ func1000_27ec, 0x1000 },
{ func1001_27e0, 0x1001 },
{ NULL, 0 },
};