mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-18 23:16:37 -04:00
132 lines
5.6 KiB
C
132 lines
5.6 KiB
C
//
|
|
// Warehouse (MP)
|
|
//
|
|
|
|
#include "stagesetup.h"
|
|
|
|
extern s32 intro[];
|
|
extern u32 props[];
|
|
extern struct path paths[];
|
|
extern struct ailist ailists[];
|
|
|
|
struct stagesetup setup = {
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
intro,
|
|
props,
|
|
paths,
|
|
ailists,
|
|
NULL,
|
|
};
|
|
|
|
u32 props[] = {
|
|
weapon(0x0100, 0x0000, PAD_MP4_0167, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION00)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0171, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0172, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_0168, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION01)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0173, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0174, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_0169, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION02)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0175, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0176, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016A, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION03)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0177, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0178, OBJFLAG_FALL, 0, 0, 1000)
|
|
stdobject(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0185, OBJFLAG_FALL | OBJFLAG_XTOPADBOUNDS | OBJFLAG_YTOPADBOUNDS | OBJFLAG_ZTOPADBOUNDS | OBJFLAG_INVINCIBLE, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016B, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION04)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0179, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017A, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016C, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION00)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017B, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017C, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016D, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION01)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017D, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017E, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016E, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION02)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_017F, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0180, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_016F, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION03)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0181, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0182, OBJFLAG_FALL, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP4_0170, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION04)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0183, OBJFLAG_FALL, 0, 0, 1000)
|
|
ammocratemulti(0x00cc, MODEL_MULTI_AMMO_CRATE, PAD_MP4_0184, OBJFLAG_FALL, 0, 0, 1000)
|
|
hover_prop(0x0100, MODEL_A51_CRATE2, PAD_MP4_0186, OBJFLAG_FALL | OBJFLAG_00000100 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_01000000 | OBJFLAG_DEACTIVATED | OBJFLAG_HOVERPROP_20000000, OBJFLAG2_NOFALL | OBJFLAG2_FALLWITHOUTROTATION | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_IMMUNETOEXPLOSIONS, OBJFLAG3_PUSHABLE, 1000, HOVTYPE_CRATE)
|
|
hover_prop(0x0100, MODEL_HOVERCRATE1, PAD_MP4_0187, OBJFLAG_FALL | OBJFLAG_00000100 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_01000000 | OBJFLAG_DEACTIVATED | OBJFLAG_HOVERPROP_20000000, OBJFLAG2_NOFALL | OBJFLAG2_FALLWITHOUTROTATION | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_IMMUNETOEXPLOSIONS, OBJFLAG3_PUSHABLE | OBJFLAG3_GRABBABLE, 1000, HOVTYPE_CRATE)
|
|
hover_prop(0x0100, MODEL_A51_CRATE2, PAD_MP4_0188, OBJFLAG_FALL | OBJFLAG_00000100 | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_01000000 | OBJFLAG_DEACTIVATED | OBJFLAG_HOVERPROP_20000000, OBJFLAG2_NOFALL | OBJFLAG2_FALLWITHOUTROTATION | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_IMMUNETOEXPLOSIONS, OBJFLAG3_PUSHABLE, 1000, HOVTYPE_CRATE)
|
|
endprops
|
|
};
|
|
|
|
s32 intro[] = {
|
|
spawn(PAD_MP4_015B)
|
|
spawn(PAD_MP4_015C)
|
|
spawn(PAD_MP4_015D)
|
|
spawn(PAD_MP4_015E)
|
|
spawn(PAD_MP4_015F)
|
|
spawn(PAD_MP4_0160)
|
|
spawn(PAD_MP4_0161)
|
|
spawn(PAD_MP4_0162)
|
|
spawn(PAD_MP4_0163)
|
|
spawn(PAD_MP4_0164)
|
|
spawn(PAD_MP4_0165)
|
|
spawn(PAD_MP4_0166)
|
|
case(0, PAD_MP4_013F)
|
|
case_respawn(0, PAD_MP4_0140)
|
|
case_respawn(0, PAD_MP4_0141)
|
|
case_respawn(0, PAD_MP4_0142)
|
|
case_respawn(0, PAD_MP4_0143)
|
|
case_respawn(0, PAD_MP4_0144)
|
|
case_respawn(0, PAD_MP4_0145)
|
|
case(1, PAD_MP4_014C)
|
|
case_respawn(1, PAD_MP4_0146)
|
|
case_respawn(1, PAD_MP4_0147)
|
|
case_respawn(1, PAD_MP4_0148)
|
|
case_respawn(1, PAD_MP4_0149)
|
|
case_respawn(1, PAD_MP4_014A)
|
|
case_respawn(1, PAD_MP4_014B)
|
|
case(2, PAD_MP4_0153)
|
|
case_respawn(2, PAD_MP4_014E)
|
|
case_respawn(2, PAD_MP4_014F)
|
|
case_respawn(2, PAD_MP4_0150)
|
|
case_respawn(2, PAD_MP4_0151)
|
|
case_respawn(2, PAD_MP4_0152)
|
|
case_respawn(2, PAD_MP4_014D)
|
|
case(3, PAD_MP4_015A)
|
|
case_respawn(3, PAD_MP4_0154)
|
|
case_respawn(3, PAD_MP4_0155)
|
|
case_respawn(3, PAD_MP4_0156)
|
|
case_respawn(3, PAD_MP4_0157)
|
|
case_respawn(3, PAD_MP4_0158)
|
|
case_respawn(3, PAD_MP4_0159)
|
|
hill(PAD_MP4_011C)
|
|
hill(PAD_MP4_0087)
|
|
hill(PAD_MP4_006A)
|
|
hill(PAD_MP4_00EC)
|
|
endintro
|
|
};
|
|
|
|
struct path paths[] = {
|
|
{ NULL, 0, 0 },
|
|
};
|
|
|
|
u8 func1001_1590[] = {
|
|
set_wind_speed(22)
|
|
set_ailist(CHR_SELF, GAILIST_IDLE)
|
|
endlist
|
|
};
|
|
|
|
u8 func1000_159c[] = {
|
|
mp_init_simulants
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_ailist(CHR_SELF, GAILIST_IDLE)
|
|
endlist
|
|
};
|
|
|
|
struct ailist ailists[] = {
|
|
{ func1000_159c, 0x1000 },
|
|
{ func1001_1590, 0x1001 },
|
|
{ NULL, 0 },
|
|
};
|