145 lines
6.2 KiB
C
145 lines
6.2 KiB
C
//
|
|
// Sewers (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_MP10_0099, OBJFLAG_00000001, 0, 0, 240)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A3, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A4, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009A, OBJFLAG_00000001, 0, 0, 241)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A5, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A6, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009B, OBJFLAG_00000001, 0, 0, 242)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A7, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A8, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009C, OBJFLAG_00000001, 0, 0, 243)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00A9, OBJFLAG_00000008, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AA, OBJFLAG_00000008, 0, 0, 1000)
|
|
stdobject(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B7, OBJFLAG_00000001 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_INVINCIBLE, 0, 0, 1000)
|
|
stdobject(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B8, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_INVINCIBLE, 0, 0, 1000)
|
|
stdobject(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B9, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_INVINCIBLE, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009D, OBJFLAG_00000001, 0, 0, 244)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AB, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AC, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009E, OBJFLAG_00000001, 0, 0, 245)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AD, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AE, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_009F, OBJFLAG_00000001, 0, 0, 246)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00AF, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B0, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_00A0, OBJFLAG_00000001, 0, 0, 247)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B1, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B2, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_00A1, OBJFLAG_00000001, 0, 0, 248)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B3, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B4, OBJFLAG_00000001, 0, 0, 1000)
|
|
weapon(0x0100, 0x0000, PAD_MP10_00A2, OBJFLAG_00000001, 0, 0, 249)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B5, OBJFLAG_00000001, 0, 0, 1000)
|
|
ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_MP10_00B6, OBJFLAG_00000001, 0, 0, 1000)
|
|
tag(0x00, 1)
|
|
lift(0x0100, MODEL_A51_LIFT_THINWALL, PAD_MP10_006A, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x006a, 0x006b, -1, -1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001c71, 0x0074aaaa, 0x00000000)
|
|
tag(0x01, 1)
|
|
lift(0x0100, MODEL_A51_LIFT_THINWALL, PAD_MP10_006C, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE | OBJFLAG_80000000, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x006c, 0x006d, -1, -1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001c71, 0x0074aaaa, 0x00000000)
|
|
tag(0x02, 1)
|
|
lift(0x0100, MODEL_A51_LIFT_THINWALL, PAD_MP10_006E, OBJFLAG_00000008 | OBJFLAG_00000020 | OBJFLAG_00000040 | OBJFLAG_00000080 | OBJFLAG_ILLUMINATED | OBJFLAG_INVINCIBLE | OBJFLAG_UNCOLLECTABLE | OBJFLAG_00400000 | OBJFLAG_01000000 | OBJFLAG_CANNOT_ACTIVATE | OBJFLAG_80000000, OBJFLAG2_00000100 | OBJFLAG2_00000200 | OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_BULLETPROOF | OBJFLAG2_00200000, 0, 1000, 0x006e, 0x006f, -1, -1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001c71, 0x0074aaaa, 0x00000000)
|
|
endprops
|
|
};
|
|
|
|
s32 intro[] = {
|
|
spawn(PAD_MP10_008C)
|
|
spawn(PAD_MP10_008D)
|
|
spawn(PAD_MP10_008E)
|
|
spawn(PAD_MP10_008F)
|
|
spawn(PAD_MP10_0090)
|
|
spawn(PAD_MP10_0091)
|
|
spawn(PAD_MP10_0092)
|
|
spawn(PAD_MP10_0093)
|
|
spawn(PAD_MP10_0094)
|
|
spawn(PAD_MP10_0095)
|
|
spawn(PAD_MP10_0096)
|
|
spawn(PAD_MP10_0097)
|
|
spawn(PAD_MP10_0098)
|
|
case(0, 0x0070)
|
|
case_respawn(0, 0x0071)
|
|
case_respawn(0, 0x0072)
|
|
case_respawn(0, 0x0073)
|
|
case_respawn(0, 0x0074)
|
|
case_respawn(0, 0x0075)
|
|
case_respawn(0, 0x0076)
|
|
case(1, 0x0077)
|
|
case_respawn(1, 0x0078)
|
|
case_respawn(1, 0x0079)
|
|
case_respawn(1, 0x007a)
|
|
case_respawn(1, 0x007b)
|
|
case_respawn(1, 0x007c)
|
|
case_respawn(1, 0x007d)
|
|
case(2, 0x007e)
|
|
case_respawn(2, 0x007f)
|
|
case_respawn(2, 0x0080)
|
|
case_respawn(2, 0x0081)
|
|
case_respawn(2, 0x0082)
|
|
case_respawn(2, 0x0083)
|
|
case_respawn(2, 0x0084)
|
|
case(3, 0x008b)
|
|
case_respawn(3, 0x0085)
|
|
case_respawn(3, 0x0086)
|
|
case_respawn(3, 0x0087)
|
|
case_respawn(3, 0x0088)
|
|
case_respawn(3, 0x0089)
|
|
case_respawn(3, 0x008a)
|
|
hill(0x005f)
|
|
hill(0x002d)
|
|
hill(0x003a)
|
|
hill(0x002a)
|
|
endintro
|
|
};
|
|
|
|
struct path paths[] = {
|
|
{ NULL, 0, 0 },
|
|
};
|
|
|
|
u8 func1001_start_lifts[] = {
|
|
activate_lift(1, 0x00)
|
|
activate_lift(2, 0x01)
|
|
activate_lift(3, 0x02)
|
|
set_ailist(CHR_SELF, GAILIST_IDLE)
|
|
endlist
|
|
};
|
|
|
|
u8 func1000_1680[] = {
|
|
mp_init_simulants
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_ailist(CHR_SELF, GAILIST_IDLE)
|
|
endlist
|
|
};
|
|
|
|
struct ailist ailists[] = {
|
|
{ func1000_1680, 0x1000 },
|
|
{ func1001_start_lifts, 0x1001 },
|
|
{ NULL, 0 },
|
|
};
|
|
|
|
|
|
|
|
|
|
|